Information processing device, information processing method, and program

The information processing system addresses data management variations across institutions by aligning formats and ensuring confidentiality, enhancing remote data utilization and analysis accuracy.

JP2024179551APending Publication Date: 2024-12-26NS SOLUTIONS CORPORATION
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023098484
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-15
Publication Date
2024-12-26

AI Technical Summary

Technical Problem

In situations where data is managed differently across multiple institutions, existing technologies face challenges in achieving consistent and effective data utilization due to variations in data management methods, leading to potential data leakage, format inconsistencies, and inaccurate analysis results.

Method used

An information processing system that includes a receiving unit for requests, an updating mechanism to add processing units based on request content, and an execution unit to manage workflows, allowing for data format alignment, confidentiality processing, and result inspection to ensure consistent data utilization across institutions.

Benefits of technology

The system enables more suitable remote data utilization by aligning data formats, ensuring data confidentiality, and improving analysis accuracy, even when data management methods vary among providers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024179551000001_ABST
    Figure 2024179551000001_ABST
Patent Text Reader

Abstract

To achieve remote utilization of data in a more suitable mode even under a situation in which there is variations in a method for managing the data in a plurality of provision sources.SOLUTION: An information processing device includes reception means for receiving a request related to execution of a series of processing regulated so as to sequentially execute one or more first processing units through a network, update means for updating the series of processing by adding a second processing unit corresponding to contents of the request at timing corresponding to the contents of the request received during the series of processing, and processing means for executing the series of processing updated by the update means.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an information processing device, an information processing method, and a program. [Background technology]

[0002] With the development of network technology, it has become possible to use data managed by an information processing device (e.g., a server) installed in a remote location by accessing the information processing device via a network such as the Internet. Particularly in recent years, the utilization of large-scale data has been attracting attention, and for example, technology is being considered that enables data managed by various institutions scattered in remote locations to be used for various analyses by remotely accessing the servers of the institutions. One example of such technology is a technology called PHT (Personal Health Train). In PHT, a virtualized container called a send train from a requester travels around information processing devices called stations under the management of each institution, executes a previously set workflow at each station, and stores the results and brings them back to the requester. This mechanism allows, for example, a user (e.g., an analyst) who is the recipient of the data to obtain the results of execution of a desired process on data managed at each institution via a network. Furthermore, Patent Document 1 discloses an example of a technology called streaming computing as an example of a technology relating to the utilization of large-scale data via a network. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2022-013649 A Summary of the Invention [Problem to be solved by the invention]

[0004] On the other hand, in situations where analysis or other processing is performed on data managed by multiple different institutions (data providers), such as in cases where the PHT is applied, there are often variations in the data management methods used by each institution. In such a situation where there are variations in the data management methods used by each data provider, it may be difficult to achieve the intended results when utilizing the data.

[0005] In view of the above problems, the present invention aims to realize remote utilization of data in a more suitable manner even in a situation where there are variations in the data management methods used by each of multiple data providers. [Means for solving the problem]

[0006] The information processing device of the present invention comprises a receiving means for receiving a request for executing a series of processes in which one or more first processing units are arranged and specified to be executed sequentially via a network, an update means for updating the series of processes by adding a second processing unit corresponding to the content of the request at a timing corresponding to the content of the received request during the series of processes, and a processing means for executing the series of processes updated by the update means. Effect of the Invention

[0007] According to the present invention, even in a situation where there are variations in the data management methods used by each of a plurality of data providers, it is possible to realize remote utilization of the data in a more suitable manner. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 illustrates an example of a system configuration of an information processing system. [Diagram 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of an information processing device. [Diagram 3] FIG. 1 is a diagram for explaining an overview of a PHT. [Figure 4]FIG. 1 is a diagram illustrating an example of a schematic configuration of an information processing system. [Diagram 5] FIG. 13 is a diagram illustrating an example of a process related to updating a workflow. [Figure 6] FIG. 13 is a diagram showing an overview of an example of a workflow update result. [Figure 7] FIG. 2 is a sequence diagram showing an example of processing of the information processing system. [Figure 8] FIG. 11 is a diagram illustrating an example of settings related to workflow execution. [Figure 9A] 11 is a flowchart showing an example of processing of an information processing system. [Figure 9B] 11 is a flowchart showing an example of processing of an information processing system. [Figure 9C] 11 is a flowchart showing an example of processing of an information processing system. [Figure 9D] 11 is a flowchart showing an example of processing of an information processing system. [Figure 10] FIG. 2 is a sequence diagram showing an example of processing of the information processing system. [Figure 11] FIG. 13 is a diagram for explaining an example of a process in which multiple institutions cooperate with each other. [Figure 12] FIG. 13 is a diagram for explaining an example of a process in which multiple institutions cooperate with each other. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In this specification and the drawings, components having substantially the same functional configurations are denoted by the same reference numerals, and redundant description will be omitted. In this disclosure, a workflow refers to a series of one or more processes arranged and defined to be executed sequentially in a predetermined order. In this disclosure, each process constituting a workflow may be referred to as a processing unit in order to explicitly distinguish it from a series of processes equivalent to a workflow.

[0010] <System configuration> With reference to FIG. 1, an example of a system configuration of an information processing system according to an embodiment of the present disclosure will be described. The information processing system 1 according to this embodiment is a system for implementing various processes, such as remote analysis, for data managed by a plurality of institutions (e.g., medical institutions). The information processing system 1 includes one or more information processing devices 100 under the management of an institution that is a data provider (a requestee of a process such as analysis), and a terminal device 200 under the management of the data provider (a requester of a process such as analysis). In the example shown in FIG. 1, information processing devices 100a to 100c are shown as the one or more information processing devices 100. Each of the one or more information processing devices 100 (e.g., the information processing devices 100a to 100c) and the terminal device 200 are connected to each other via a network N1 so as to be able to transmit and receive information to and from each other.

[0011] The type of the network N1 connecting the devices constituting the information processing system 1 is not particularly limited. As a specific example, the network N1 may be configured by a LAN (Local Area Network), the Internet, a dedicated line, or a WAN (Wide Area Network). The network N1 may be configured by a wired network or a wireless network. The network N1 may include a plurality of networks, and some of the networks may include a network of a different type from the other networks. The physical configuration of the network N1 is not particularly limited as long as the communication between the devices is logically established. As a specific example, the communication between the devices may be relayed by other communication devices or the like. In addition, a series of devices constituting the information processing system 1 may not necessarily be connected to a common network. In other words, as long as it is possible to establish communication between the devices that transmit and receive information and data, the networks to which some devices are directly connected may be different from those to which other devices are directly connected.

[0012] The information processing device 100 is a schematic representation of an information processing device under the management of an institution that provides data as described above, and is realized by an information processing device having a communication function such as a server. The information processing device 100 receives a request for execution of a workflow from a terminal device 200 described later, and controls the execution of the workflow targeting data managed by the information processing device 100 according to the content of the request. In addition, the information processing device 100 according to this embodiment updates the workflow by adding various processing units to the target workflow for protecting information included in the target data and controlling the format of the data according to the content of the received request. The processing by the information processing device 100 will be described in detail later.

[0013] The terminal device 200 is a schematic representation of an information processing device under the management of a user who requests a process such as analysis, in other words, a user who is a recipient of data managed by the information processing device 100, and is realized by an information processing device having a communication function such as a PC (Personal Computer) or a server. The terminal device 200 receives designations such as conditions of the process to be executed and conditions of data or information to be processed from the user who requests a process such as analysis, generates a workflow, and transmits a request for execution of the workflow to the information processing device 100. In this embodiment, in order to make the characteristics of the information processing system 1 easier to understand, the description will be given focusing on a case where a technology called PHT (Personal Health Train) is applied. The outline of PHT will be described separately below.

[0014] <Hardware configuration> With reference to FIG. 2, an example of a hardware configuration of an information processing device 900 applicable as a device constituting an information processing system according to an embodiment of the present disclosure (for example, the information processing devices 100 and 200 shown in FIG. 1, etc.) will be described. As shown in FIG. 2, the information processing device 900 according to this embodiment includes a CPU (Central Processing Unit) 910, a ROM (Read Only Memory) 920, and a RAM (Random Access Memory) 930. The information processing device 900 also includes an auxiliary storage device 940 and a network I / F 970. The information processing device 900 may also include at least one of an output device 950 and an input device 960. The CPU 910, the ROM 920, the RAM 930, the auxiliary storage device 940, the output device 950, the input device 960, and the network I / F 970 are connected to each other via a bus 980.

[0015] The CPU 910 is a central processing unit that controls various operations of the information processing device 900. For example, the CPU 910 may control the operation of the entire information processing device 900. The ROM 920 stores a control program, a boot program, and the like that can be executed by the CPU 910. The RAM 930 is the main storage memory of the CPU 910, and is used as a work area or a temporary storage area for expanding various programs.

[0016] The auxiliary storage device 940 stores various data and various programs. The auxiliary storage device 940 is realized by a storage device capable of temporarily or persistently storing various data, such as a non-volatile memory represented by an HDD (Hard Disk Drive) or an SSD (Solid State Drive).

[0017] The output device 950 is a device that outputs various types of information and is used to present various types of information to the user. For example, the output device 950 can be realized by a display device such as a display. In this case, the output device 950 presents information to the user by displaying various types of display information. As another example, the output device 950 may be realized by an acoustic output device that outputs sounds such as voices and electronic sounds. In this case, the output device 950 presents information to the user by outputting sounds such as voices and electronic sounds. Also, the device applied as the output device 950 may be appropriately changed according to the medium used to present information to the user.

[0018] The input device 960 is used to receive various instructions from the user. In this embodiment, the input device 960 includes input devices such as a mouse, a keyboard, and a touch panel. As another example, the input device 960 may include a sound collection device such as a microphone, and may collect the voice spoken by the user. In this case, by performing various analysis processes such as acoustic analysis and natural language processing on the collected voice, the content indicated by this voice is recognized as an instruction from the user. Also, the device applied as the input device 960 may be appropriately changed according to the method of recognizing instructions from the user. Also, multiple types of devices may be applied as the input device 960.

[0019] The network I / F 970 is used for communication with an external device via a network. Note that the device applied as the network I / F 970 may be appropriately changed according to the type of communication path and the applied communication method.

[0020] The CPU 910 expands the program stored in the ROM 920 or the auxiliary storage device 940 into the RAM 930 and executes this program, thereby realizing the functional configuration of the information processing device described later with reference to FIG. 4, and the processing of the information processing device described later with reference to FIGS. 7, 9A to 9D, and 10.

[0021] <Overview and Technical Issues of PHT> The technology called PHT will be outlined below with reference to Figure 3. PHT is a technology under consideration for the purpose of utilizing various data (e.g., clinical data, etc.) managed by multiple medical institutions, and in particular for the purpose of realizing the execution of various processes, such as remote analysis, on this data.

[0022] Specifically, in the PHT, actual data to be processed such as analyzed, and computational resources for executing the processing are managed in an information processing device 100 (also called a station) that is a data provider such as a medical institution. A user equivalent to a data user such as a research institute staff member sets an algorithm or a query for the processing to be executed in a virtualized container called a train via a terminal device 200. As a result, a workflow to be executed is set in a train 390. Then, the train 390 is sent from the terminal device 200 to the station (information processing device 100). Train 390 sequentially visits each of a series of stations (e.g., information processing devices 100a to 100c), executes the workflow (in other words, an algorithm or a query) set as described above at each station, and retains the processing results of the workflow at that station (e.g., analysis results or a learning model). In this manner, train 390 executes the workflow at each station while visiting the series of stations, collects the execution results of the workflow, and then returns to terminal device 200, which is the source of the transmission. With the above-described mechanism, users, equivalent to data users, can obtain the results of desired processing performed on data managed by each institution via the network. The PHT exemplified above can be realized by using a platform for a container-type virtual environment such as Docker (registered trademark).

[0023] On the other hand, in situations where processing is carried out using data managed by multiple institutions (data providers), such as cases where the PHT is applied, it is not rare that there is variation in the data management methods (e.g., data protection concepts, data formats, etc.) between the institutions. Such variation in data management methods between data provider institutions can lead to problems in which the intended results are not obtained when using the data.

[0024] As a specific example, a situation may be assumed in which the data to be utilized includes information that is set as confidential, such as personal information. In a situation in which such data is utilized, the data may be subjected to processing (confidentiality processing) to protect the information to be confidential, such as anonymization or pseudonymization. On the other hand, a situation may be assumed in which the response regarding the handling of such information differs from institution to institution. In such a situation, for example, if some institutions do not take sufficient measures when handling information, there is a possibility that confidential information included in the data to be utilized may be leaked from the recipient of the data.

[0025] As another example, even if the data manages the same type of information, it is possible to imagine a situation in which the data format differs depending on the institution, or the code indicating the same object differs. In such a situation, for example, some institutions may not be able to obtain information required for processing such as analysis, or information indicating the same object may be recognized as something different, making it difficult to obtain results with the expected accuracy.

[0026] In consideration of this situation, this disclosure proposes a mechanism that enables remote utilization of data provided by multiple sources in a more suitable manner, even in a situation where the data management methods vary depending on the data provider.

[0027] <Function Overview> An overview of the functions of the information processing system 1 according to an embodiment of the present disclosure will be described below together with an example of a schematic configuration of the information processing system 1. For convenience, in this embodiment, various explanations will be given focusing on a case where processing such as analysis is performed on data managed by information processing devices 100 managed by multiple organizations that are data providers, based on a remote request from a terminal device 200 managed by a user who is the recipient of the data. Also, for convenience, in this embodiment, it is assumed that the above-mentioned PHT is applied to realize processing such as remote data analysis.

[0028] For example, Fig. 4 is a diagram showing an example of a schematic configuration of the information processing system 1 according to this embodiment. In the example shown in Fig. 4, a data analyst (data user) in a research and development environment uses a terminal device 200 to perform processing such as analysis using data managed by an information processing device 100 under the management of a medical institution that is a data provider.

[0029] The terminal device 200 includes a control unit 300 that performs various controls related to the definition of the processes (e.g., analysis processes) to be executed by each information processing device 100. The control unit 300 can be realized, for example, by a platform for a container-type virtual environment such as the above-mentioned Docker. The data source 190 is a schematic representation of components for managing data on the medical institution side, and can be realized, for example, by a database or the like. The control unit 300 receives instructions from a data analyst for executing a series of processes (workflow) related to analysis, etc., and generates a container 310 that stores data (e.g., applications, libraries, etc.) related to the definition of an execution environment for executing the series of processes on each information processing device 100. This container 310 corresponds to a train in the PHT. The control unit 300 generates a container registry 330 for holding the generated container 310, and stores the container 310 in the container registry 330. By using this container registry 330, an external device (e.g., the information processing device 100) can access the container 310 via the container registry 330, and therefore, for example, the container 310 can be shared within the system. The control unit 300 generates setting information (hereinafter also referred to as analysis processing setting 320) that specifies a series of processes such as analysis according to instructions from a data analyst, i.e., a series of processes to be executed by each information processing device 100, in association with the generated container 310. The analysis processing setting 320 includes, for example, information on a series of processing units to be executed as a workflow, the order in which the series of processing units are executed, the container 310 related to the execution of the workflow, and the like. For example, when Docker is applied as a platform for a container-type virtual environment, a Directed Acyclic Graph (DAG) corresponds to an example of the analysis processing setting 320. Then, the control unit 300 sequentially transmits the generated analysis process setting 320 to each of the series of information processing devices 100 that hold data to be processed such as analysis. In this manner, a request is made to each of the series of information processing devices 100 to execute a series of processes (workflow) targeted at data managed by the information processing device 100.

[0030] The information processing device 100 includes a setting analysis unit 110, an analysis process control unit 120, and an analysis process execution unit 130.

[0031] The setting analysis unit 110 receives a request for executing a series of processes (workflow) for data managed by the information processing device 100, transmitted from the terminal device 200 via the network, and recognizes various settings related to the series of processes to be executed by analyzing the contents of the request. Specifically, the setting analysis unit 110 receives the analysis process setting 320 transmitted from the terminal device 200, and analyzes the contents of the analysis process setting 320. As a result, the setting analysis unit 110 recognizes information regarding the contents of the workflow to be executed (for example, the contents of a series of processing units, the execution order of the series of processing units, etc.) and the execution environment (container 310) of the workflow.

[0032] Based on the analysis results of the contents of the request (analysis process setting 320) by the setting analysis unit 110, the analysis process control unit 120 updates the series of processes (workflow) specified as the target for execution by adding a processing unit corresponding to the contents of the request at a timing corresponding to the contents of the request.

[0033] For example, FIG. 5 is a diagram showing an overview of an example of processing related to updating a workflow to be executed by the analysis processing control unit 120. The workflow to be executed, which is specified by the analysis processing setting 320, is specified so that processing units such as pre-processing, main processing, and post-processing are executed in a predetermined order. The main processing corresponds to substantial processing (processing unit) targeted at data managed by the information processing device 100, and may correspond to processing such as data analysis, machine learning, and data integration. The pre-processing corresponds to processing (processing unit) executed in advance when the main processing is executed, and may correspond to processing such as data collection, data conversion, and cleansing. The post-processing corresponds to processing (processing unit) additionally executed after the main processing is executed, and may correspond to processing such as data storage, data conversion, and data transfer. The analysis processing control unit 120 updates a workflow defined as shown in Fig. 5 by adding new processing units as pre-processing or post-processing of the main processing, according to the content of a request for execution of the workflow. For example, when data managed by the information processing device 100 includes information to be concealed, such as personal information, the analysis processing control unit 120 may add a processing unit related to concealment of information, such as anonymization or pseudonymization, to the information as pre-processing of the main processing (e.g., analysis processing, etc.) for the data. As another example, the analysis processing control unit 120 may add a processing unit for performing various inspections and verifications on the results of the main processing (e.g., analysis processing, etc.) as post-processing of the main processing. Each processing unit predefined in a series of processes (workflow) specified as an execution target corresponds to an example of a first processing unit, and the processing unit to be added corresponds to an example of a second processing unit.

[0034] Moreover, Fig. 6 is a diagram outlining an example of a result of updating a workflow by the analysis processing control unit 120. Fig. 6(a) shows an example of a workflow before updating by the analysis processing control unit 120. In the example shown in Fig. 6(a), the workflow is configured so that each processing unit shown as processing 1, processing 2, and processing 3 are executed sequentially in this order. In contrast, Fig. 6(b) and Fig. 6(c) show an example of a result of updating the workflow exemplified in Fig. 6(a) by adding a processing unit by the analysis processing control unit 120. Specifically, in the example shown in Fig. 6(b), a processing unit is added at a timing (processing order) prior to the timing at which process 2 is executed, for performing conversion processing such as format conversion on data that is the subject of process 2. By applying such control, even in a situation where the formats of data to be managed differ from institution to institution, it becomes possible to apply a common process (e.g., analysis process) after aligning the formats. In the example shown in Fig. 6(c), a processing unit for performing various inspection processes on the results of processes 1, 2, and 3 is added to the timing (processing order) after these processes are executed. By applying such control, it becomes possible to apply a process such as, for example, checking whether it is OK for the results of a process on data managed by each institution to be transferred to an external institution that requested the process, and then stopping the transfer if necessary.

[0035] Whether or not the analysis processing control unit 120 adds pre-processing or post-processing to the workflow may be determined in response to an instruction from the terminal device 200 (e.g., information specified in the analysis processing setting 320) based on an instruction from a data analyst. In this case, a flag indicating the addition of pre-processing or post-processing to the workflow may be set in the analysis processing setting 320, or information explicitly indicating the contents of the processing unit to be added to the workflow may be set. As another example, the information processing device 100 (analysis processing control unit 120) may determine whether to add pre-processing or post-processing to the workflow depending on the contents of the analysis processing setting 320 (e.g., the contents and settings of the workflow to be executed, etc.). An example of a workflow update method will be described in detail later.

[0036] The analysis process execution unit 130 executes the workflow updated by the analysis process control unit 120. As a specific example, the analysis process execution unit 130 extracts data to be processed by the workflow from the data source 190, and executes the workflow using the data as input. At this time, the analysis process execution unit 130 may access a container registry 330 generated in the terminal device 200, and execute the workflow using the container 310 (in other words, the analysis process) held in the container registry 330. The target workflow may be executed as a so-called pipeline process. Specifically, data extracted from the data source 190 is input to a processing unit located at the beginning of the workflow, and the execution result of that processing unit is input to a processing unit located next. In this manner, a series of processing units constituting the workflow are executed sequentially. Then, when the execution of the workflow is completed, the analysis processing execution unit 130 transmits the execution result of the workflow to the terminal device 200 that requested the execution of the workflow. As a specific example, when the analysis processing execution unit 130 determines that it is OK to return data corresponding to the execution result of the workflow (for example, the result of the analysis processing) to the terminal device 200, the analysis processing execution unit 130 may record the data in the container registry 330 generated in the terminal device 200.

[0037] Next, an example of a workflow update method by the analysis processing control unit 120 will be described below with a specific example. For example, the analysis processing control unit 120 may add a processing unit related to the control of access rights to data referenced in the execution of a workflow, depending on whether the entity to which the data belongs is a requester or a requestee of the execution of the workflow. Note that the requester of the execution of the workflow here corresponds to the terminal device 200 side (the data analyst side that is the managing entity of the terminal device 200), i.e., the recipient of the data managed by the information processing device 100. Also, the recipient of the request of the execution of the workflow corresponds to the information processing device 100 side (the data provider side that is the managing entity of the information processing device 100), i.e., the provider of the data managed by the information processing device 100. As a specific example, when the target data belongs to the request destination, the analysis processing control unit 120 may add a processing unit related to control of access rights to the data at a timing prior to the processing unit (e.g., this processing) that targets the data. As a more specific example, when the access rights for executing processing on the target data are not set, the analysis processing control unit 120 may add a processing unit that changes the access rights, thereby enabling the execution of processing on the data. As another example, when the target data (e.g., the result of this processing) belongs to the requester, the analysis processing control unit 120 may add a processing unit related to the control of access rights to the data at a timing later than the processing unit (e.g., this processing) that targets the data. As a more specific example, the analysis processing control unit 120 may determine whether the result of processing on the data managed by the information processing device 100 is safe (e.g., whether there is no problem in transferring it to the outside), and if it is determined to be safe, may set the access rights for the processing result so that it can be transferred to the outside (e.g., the requester).

[0038] Furthermore, the analysis processing control unit 120 may add a processing unit for processing the information at a timing prior to the execution timing of a processing unit (e.g., this processing) for the data, depending on the type of at least a part of the information included in the data to be processed by the workflow. As a specific example, when the data to be processed by the workflow includes information to be concealed, such as personal information, the analysis processing control unit 120 may add a processing unit for performing a process related to the concealment of the information, such as anonymization or pseudonymization, as a pre-processing of the processing unit for the data. By applying such control, for example, it becomes possible to prevent the occurrence of a situation in which personal information, etc. included in the data is leaked when the analysis result of the data is provided to the data analyst.

[0039] In addition, a situation may be assumed in which the format of the data differs depending on the institution that provides the data. For example, when the format of the data to be the subject of the workflow is different from a predetermined format, the analysis processing control unit 120 may add a processing unit for converting the format of the data to a predetermined format at a timing prior to the execution timing of a processing unit for the data. As a specific example, the analysis processing control unit 120 may add a processing unit for converting the format of the data to a standard format conforming to a predetermined rule as a pre-processing of a processing unit for the data to be the subject of the workflow. By applying such control, for example, in a situation in which a workflow (e.g., analysis processing, etc.) for data managed by each of a plurality of institutions is executed, it is also possible to execute a process for comparing data managed by different institutions.

[0040] Furthermore, when at least a part of the information included in the target data is indicated by a code for identifying the target rather than a name indicating the target, a situation may be assumed in which the type of code applied differs depending on the institution providing the data. As a specific example, a medical institution may use standardized codes such as HOT numbers (e.g., HOT7, HOT9, HOT11, HOT13, etc.) as information indicating medical drugs, or a code assigned independently by the medical institution. Furthermore, the standardized code may not be limited to HOT numbers, and may include other codes for identifying drugs or codes for identifying drugs as products, such as JAN codes. For this reason, for example, when the type of code for identifying a target, which is used in at least a part of information included in the data to be the subject of the workflow, is different from the type of a predetermined code, the analysis processing control unit 120 may add a processing unit for converting the target code into the predetermined code at a timing prior to the execution timing of a processing unit with the data as the target. By applying such control, for example, in a situation where a workflow (e.g., analysis processing, etc.) is executed with data managed by each of a plurality of institutions as the target, it is possible to execute processing, etc. with data managed by different institutions as the comparison target.

[0041] In addition, a series of target data may contain corrupted data or inaccurate data, and in such a case, the accuracy of the results of processing (e.g., analysis processing) of the series of data may be reduced. In such a situation, for example, the target data may be subjected to a so-called cleansing process, such as repairing corrupted data or deleting inaccurate data including missing values, before the desired processing is performed. Therefore, for example, the analysis processing control unit 120 may add a processing unit for performing a cleansing process on the data to be processed by the workflow, prior to the execution timing of the processing unit for the data, depending on the state of the data to be processed by the workflow. As a specific example, the analysis processing control unit 120 may add a processing unit for performing a cleansing process as exemplified above, when the data to be processed by the workflow includes corrupted or inaccurate data, or when the ratio of corrupted or inaccurate data exceeds a threshold value.

[0042] Furthermore, the analysis processing control unit 120 may add a processing unit for inspection of the execution result of a processing unit (e.g., this process) targeting the data in accordance with the type of at least some of the information contained in the data to be processed by the workflow, at a timing later than the execution timing of the processing unit targeting the data. As a specific example, when the data to be processed by the workflow includes information to be concealed such as personal information, the analysis processing control unit 120 may add a processing unit for inspecting whether the execution result of the workflow includes information to be concealed. By applying such control, for example, even if the pseudonymization or anonymization of the information to be concealed included in the data to be processed by the workflow is insufficient, it is possible to prevent the information from being leaked to the outside.

[0043] The above-mentioned configuration is merely an example, and the configuration is not limited as long as the terminal device 200 can remotely execute a process (workflow) for data under the management of each of the information processing devices 100. For example, an example of the configuration has been described above with a focus on the case where PHT is applied, but other technologies related to the utilization of data managed by each institution may also be applied. In addition, the platform for realizing these technologies may be changed as appropriate, and at least a part of the configuration may be changed as appropriate to match the specifications of the applied platform (for example, another platform that allows the use of virtualized containers).

[0044] <Processing> An example of the process of the information processing system 1 according to the present embodiment will be described with reference to FIG. 7 and FIG. 8. FIG. 7 is a sequence diagram showing an example of the process of the information processing system 1 according to the present embodiment. FIG. 8 is a diagram showing an example of the settings related to the execution of the workflow. In the example shown in FIG. 7 and FIG. 8, in order to make the characteristics easier to understand, an example will be described in which a data destination DC1 (DC: Data Consumer), which is a requester, requests an analysis process for data managed by each of data providers DP1 and DP2 (DP: Data Provider). Also, DAG1 is assumed to represent the analysis process setting transmitted from the terminal device 200 of DC1 to the information processing device 100 of DP1. Also, DAG2 is assumed to represent the analysis process setting transmitted from the terminal device 200 of DC1 to the information processing device 100 of DP2.

[0045] The processing of S111 to S114 shown in FIG. 7 shows an example of a processing sequence relating to the execution of an analysis process from the data destination DC1 to the data source DP1, targeting data managed by the data source DP1. As shown in FIG. 8, the analysis process setting DAG1 corresponding to the data provider DP1 is specified to execute a workflow consisting of a pre-processing PP1, a main process DA1, and a post-processing RR1. In addition, the information processing device 100 of the data provider DP1 manages data A, B, and C. Data A includes A1, A2, and A3 as information items to be provided (hereinafter also referred to as providing items). Data B includes B1, B2, and B3 as providing items. Data C includes C1, C2, and C3 as providing items. It is assumed that information corresponding to the providing items A2, B2, and C2 is set as information to be kept secret (for example, personal information).

[0046] Specifically, in S111, the terminal device 200 of the data destination DC1 generates an analysis process setting DAG1 of a workflow to be executed by the information processing device 100 of the data destination DC1 in response to an instruction from a user of the data destination DC1. Then, the terminal device 200 transmits the generated analysis process setting DAG1 to the information processing device 100 of the data destination DC1.

[0047] In S112, the information processing device 100 of the data source DP1 adds processing units corresponding to pre-processing and post-processing to the workflow to be executed based on the analysis processing setting DAG1 received from the terminal device 200 of the data destination DC1. As a specific example, in order to protect the information to be concealed corresponding to each of the provision items A2, B2, and C2, the information processing device 100 may add processing units for performing pseudonymization or anonymization on the information as pre-processing of the main processing for the information. In this manner, the workflow to be executed is updated. In S113, the information processing device 100 of the data providing source DP1 executes a workflow corresponding to the analysis processing setting DAG1 updated in S112. As a specific example, the information processing device 100 may execute a target workflow based on the container 310 corresponding to the analysis processing setting DAG1 held in the container registry 330 managed by the terminal device 200, for example. Then, in S114, when the information processing device 100 of the data source DP1 completes the execution of the target workflow, it notifies the terminal device 200 of the data destination DC1 of the end of the workflow. In addition, the execution result of the workflow is recorded in the container registry 330 managed by the terminal device 200.

[0048] The processes of S115 to S118 shown in FIG. 7 show an example of a process sequence relating to the execution of an analysis process from the data destination DC1 to the data source DP2, targeting data managed by the data source DP2. 8, the analysis process setting DAG2 corresponding to the data provider DP2 is specified to execute a workflow consisting of a pre-processing PP2, a main process DA2, and a post-processing RR2. The information processing device 100 of the data provider DP2 manages data D, E, and F. Data D includes D1, D2, and D3 as providing items. Data E includes E1, E2, and E3 as providing items. Data F includes F1, F2, and F3 as providing items. It is assumed that information corresponding to the providing items D2, E2, and F2 is set as information to be kept secret (e.g., personal information).

[0049] Specifically, in S115, the terminal device 200 of the data destination DC1 generates an analysis process setting DAG2 of a workflow to be executed by the information processing device 100 of the data destination DC2 in response to an instruction from a user of the data destination DC1. Then, the terminal device 200 transmits the generated analysis process setting DAG2 to the information processing device 100 of the data destination DC2.

[0050] In S116, the information processing device 100 of the data source DP2 adds processing units corresponding to pre-processing and post-processing to the workflow to be executed based on the analysis processing setting DAG2 received from the terminal device 200 of the data destination DC1. As a specific example, in order to protect the information to be concealed corresponding to each of the provision items D2, E2, and F2, the information processing device 100 may add processing units for performing pseudonymization or anonymization on the information as pre-processing of the main processing for the information. In this manner, the workflow to be executed is updated. In S117, the information processing device 100 of the data providing source DP2 executes a workflow corresponding to the analysis processing setting DAG2 updated in S116. As a specific example, the information processing device 100 may execute a target workflow based on the container 310 corresponding to the analysis processing setting DAG2 held in the container registry 330 managed by the terminal device 200, for example. Then, in S118, when the information processing device 100 of the data source DP2 completes the execution of the target workflow, it notifies the terminal device 200 of the data destination DC1 of the end of the workflow. In addition, the execution result of the workflow is recorded in the container registry 330 managed by the terminal device 200.

[0051] By applying the above-mentioned control, for example, it is possible to realize a control in which a train sent from the terminal device 200 of the data destination DC1 sequentially circulates through the information processing devices 100 (stations) of the data providers DP1 and DP2 to execute a workflow. Also, as shown in processes S112 and 116, in the information processing devices 100 of the data providers DP1 and DP2, processing units corresponding to pre-processing and post-processing of this process are added to the target workflow. By applying such control, for example, even in a situation where the data management methods of the data providers DP1 and DP2 are different (a situation where there is variation in the data management methods), it is possible to realize remote utilization of the data in a more suitable manner.

[0052] <Example> An example of the information processing system 1 according to this embodiment will be described with reference to Fig. 9A to Fig. 9D. Fig. 9A to Fig. 9D are flowcharts showing an example of processing by the information processing device 100 on the side of the data provider DP1 in the information processing system 1 according to this embodiment. In this example, an instruction as to whether or not to add pre-processing or post-processing to the workflow is given in the terminal device 200 on the side of the data recipient DC1, and the decision of the processing unit to be added based on the instruction is made by the information processing device 100 on the side of the data provider DP1.

[0053] In S201, the information processing device 100 of the data provider DP1 receives the analysis process setting DAG1 transmitted from the terminal device 200 of the data provider DD1. In S202, the information processing apparatus 100 determines whether or not there is a designation relating to the addition of a pre-processing PP1 to the main process DA1 in the analysis process setting DAG1 received in S201. If the information processing apparatus 100 determines in S202 that there is no specification regarding the addition of a pre-processing PP1 to the analysis processing setting DAG1, the information processing apparatus 100 advances the process to S203. On the other hand, if the information processing apparatus 100 determines in S202 that there is a designation relating to the addition of a pre-processing PP1 to the analysis processing setting DAG1, the information processing apparatus 100 advances the process to S206.

[0054] In S203, the information processing device 100 sequentially extracts information corresponding to the provision items to be processed by the workflow from a series of data managed by itself based on the analysis processing setting DAG1, and adds a process to the workflow that generates input data for this processing in the workflow. In S204, when conditions based on a contract between a data provider and a data recipient are set in advance, the information processing device 100 adds a processing unit that performs predetermined data processing (e.g., pseudonym processing, anonymization processing, etc.) on the input data based on the conditions as a pre-processing of the main processing targeting the input data in the workflow. Note that the presence or absence of a contract between a data provider and a data recipient can be determined, for example, from setting information stored in a predetermined storage area, execution results of a predetermined authentication process, etc. In S205, the information processing device 100 adds a processing unit related to the setting of the usage authority for executing the process (e.g., analysis process) defined in the workflow to the input data generated in S203 as a pre-processing of the main process for the input data in the workflow. After that, the information processing device 100 advances the process to S250 in FIG. 9D.

[0055] In S206, the information processing apparatus 100 determines whether the analysis process setting DAG1 includes an additional request for preprocessing to convert the data format of the data to be processed by the workflow into a standard data format. If the information processing device 100 determines in S206 that the analysis processing setting DAG1 includes an additional request for preprocessing to convert the data format of the data to be processed by the workflow into a standard data format, the information processing device 100 proceeds to S207. On the other hand, if the information processing device 100 determines in S206 that the analysis processing setting DAG1 does not include an additional request for preprocessing to convert the data format of the data to be processed by the workflow into a standard data format, the information processing device 100 proceeds to S210 in Figure 9B.

[0056] In S207, the information processing apparatus 100 determines whether or not the standard data format specified as the conversion destination for the analysis process setting DAG1 is usable. If the information processing apparatus 100 determines in S207 that the standard data format specified as the conversion destination for the analysis process setting DAG1 is usable, the information processing apparatus 100 advances the process to S209 in FIG. 9B. On the other hand, if the information processing device 100 determines in S207 that the standard data format specified as the conversion destination for the analysis processing setting DAG1 is not available, the process proceeds to S208. In this case, the information processing device 100 determines in S208 that an error has occurred, executes the process at the time of error occurrence, and ends the series of processes shown in Figs. 9A to 9D.

[0057] Next, reference is made to FIG. 9B. In S209, the information processing device 100 adds a processing unit for converting the data format of the data to be processed in the workflow into a standard data format as a pre-processing of the main processing for the data in the workflow.

[0058] In S210, the information processing device 100 determines whether or not a range of items to be used among a series of provision items of data to be subjected to preprocessing is specified for the analysis process setting DAG1. If the information processing device 100 determines in S210 that the analysis process setting DAG1 specifies a range of items to be used among a series of provision items of the target data, the information processing device 100 advances the process to S211. On the other hand, if the information processing device 100 determines in S210 that the range of items to be used among the series of provision items of the target data has not been specified, the information processing device 100 advances the process to S214.

[0059] In S211, the information processing device 100 judges whether or not a contract for use of the target data has been established between the data provider and the data recipient. The existence of a contract between the data provider and the data recipient can be judged, for example, based on setting information stored in a predetermined storage area, the execution result of a predetermined authentication process, or the like. If the information processing device 100 determines in S211 that a contract regarding the use of the target data has been established between the data provider and the data recipient, the information processing device 100 advances the process to S213. On the other hand, if the information processing device 100 determines in S211 that a contract for use of the target data has not been established between the data provider and the data recipient, the process proceeds to S212. In this case, the information processing device 100 determines in S212 that an error has occurred, executes the process at the time of error occurrence, and ends the series of processes shown in Figs. 9A to 9D. In S213, the information processing device 100 sequentially extracts information corresponding to the provision items within the range specified in the analysis process setting DAG1 from a series of data managed by itself, and adds a process for generating input data for the main process in the workflow as a pre-processing of the main process targeting the input data in the workflow. After that, the information processing device 100 proceeds to S215.

[0060] In S214, the information processing device 100 sequentially extracts information corresponding to each of a series of provision items to be processed in the workflow from a series of data managed by itself, and adds a process of generating input data for the workflow as a pre-processing of the main process for the input data in the workflow. After that, the information processing device 100 advances the process to S217 in FIG. 9C.

[0061] In S215, the information processing device 100 determines whether or not there is a designation regarding the order of a series of items of the input data (the input data generated in S213) to be used in the preprocessing for the analysis process setting DAG1. If the information processing device 100 determines in S215 that the analysis process setting DAG1 includes a specification regarding the order of a series of items of input data to be used in preprocessing, the information processing device 100 advances the process to S216. On the other hand, if the information processing device 100 determines in S215 that there is no designation regarding the order of a series of items of input data used in preprocessing in the analysis process setting DAG1, the information processing device 100 advances the process to S217 in FIG. 9C. In S216, the information processing device 100 adds a processing unit that converts the order of a series of items of input data used in preprocessing into the order specified in the analysis processing setting DAG1 as a preprocessing of the main processing targeting the input data in the workflow. Then, the information processing device 100 proceeds to S217 in FIG. 9C.

[0062] Next, reference is made to FIG. 9C. In S217, the information processing device 100 determines whether or not there is a request for code conversion for identifying targets set as information corresponding to at least a part of the provision items in the data as preprocessing for the analysis process setting DAG1. If the information processing device 100 determines in S217 that there is a request for code conversion to identify an object to be set as information corresponding to at least some of the provision items in the data as preprocessing for the analysis processing setting DAG1, it proceeds to S218. On the other hand, if the information processing device 100 determines in S217 that there is no request for code conversion to identify an object to be set as information corresponding to at least some of the provision items in the data as preprocessing for the analysis processing setting DAG1, it proceeds to S221.

[0063] In S218, the information processing device 100 determines whether or not the code specified as the conversion destination in the analysis process setting DAG1 is usable (that is, whether or not conversion to the specified code is possible). If the information processing device 100 determines that the code specified as the conversion destination in the analysis process setting DAG1 is usable, the information processing device 100 advances the process to S220. On the other hand, if the information processing device 100 determines that the code specified as the conversion destination in the analysis processing setting DAG1 is not available, the process proceeds to S219. In this case, in S219, the information processing device 100 determines that an error has occurred, executes the process at the time of error occurrence, and ends the series of processes shown in Figs. 9A to 9D. In S220, the information processing device 100 adds a processing unit for converting a code set as information corresponding to a target provision item into a code specified as a conversion destination in the analysis processing setting DAG1 as a pre-processing for the target data in the workflow. This makes it possible to convert a unique code used to identify a target in a target institution into a standard code. Then, the information processing device 100 proceeds to S221.

[0064] In S221, the information processing apparatus 100 determines whether or not there is a request for cleansing processing on target data as preprocessing for the analysis processing setting DAG1. If the information processing apparatus 100 determines in S221 that there is a request for cleansing processing on target data as preprocessing for the analysis processing setting DAG1, the information processing apparatus 100 advances the process to S222. On the other hand, if the information processing apparatus 100 determines in S221 that there is no request for cleansing processing on the target data as preprocessing for the analysis processing setting DAG1, the information processing apparatus 100 advances the process to S223. In S222, the information processing apparatus 100 adds a processing unit for performing cleansing processing on the target data as pre-processing of the main processing on the target data.

[0065] In S223, the information processing apparatus 100 determines whether or not there is a request for kana conversion for information included in data to be processed by the workflow as preprocessing for the analysis process setting DAG1. If the information processing apparatus 100 determines in S223 that there is a request for kana conversion for information included in data to be processed by the workflow as preprocessing for the analysis process setting DAG1, the information processing apparatus 100 advances the process to S224. On the other hand, if the information processing apparatus 100 determines in S223 that there is a request for kana conversion on information included in data to be processed by the workflow as preprocessing for the analysis process setting DAG1, the information processing apparatus 100 advances the process to S226 in FIG. 9D.

[0066] In S224, the information processing device 100 determines whether or not a contract regarding the use of pseudonym processing for the target data has been established between the data provider and the data recipient. The existence of a contract between the data provider and the data recipient can be determined, for example, from setting information stored in a specified storage area, the execution result of a specified authentication process, or the like. When it is determined in S224 that a contract regarding the use of pseudonym processing for the target data has been established between the data provider and the data recipient, the information processing device 100 advances the process to S225 in FIG. 9D. On the other hand, if the information processing device 100 determines in S224 that a contract regarding the use of pseudonym processing for the target data has not been established between the data provider and the data recipient, the process proceeds to S249. In this case, in S249, the information processing device 100 determines that an error has occurred, executes the process at the time of error occurrence, and ends the series of processes shown in Figures 9A to 9D.

[0067] Next, refer to FIG. 9D. In S225, information processing device 100 adds a processing unit for performing kana processing on information included in data to be processed in the workflow, as pre-processing of the main processing for the data in the workflow. In S226, information processing device 100 adds a processing unit for performing anonymity processing on information included in data to be processed in the workflow, as pre-processing of the main processing for the data in the workflow. In S227, information processing apparatus 100 adds a processing unit for adding usage authority for executing a workflow to data that is the processing target of the workflow, as pre-processing of the main processing of the workflow that targets the data.

[0068] In S228, the information processing device 100 judges whether or not a contract has been established between the data provider and the data recipient regarding the implementation of an inspection on the analysis result of the data to be processed in the workflow. Note that the existence of a contract between the data provider and the data recipient can be judged, for example, from setting information stored in a predetermined storage area, execution results of a predetermined authentication process, etc. If the information processing device 100 determines in S228 that a contract has been established between the data provider and the data recipient regarding the implementation of an inspection on the analysis result of the data to be processed in the workflow, the information processing device 100 advances the process to S229. On the other hand, if the information processing device 100 determines in S228 that no contract has been established between the data source and destination regarding the implementation of an inspection on the analysis results of the data to be processed in the workflow, it proceeds to S250.

[0069] In S229, the information processing device 100 adds a processing unit for inspecting the analysis result of the data to be processed in the workflow as a post-processing of the main processing for the data. At this time, the information processing device 100 may add the processing unit between the main processing and a post-processing set in advance for the main processing. In S230, if the execution result of the processing unit related to the test added to the workflow in S229 is OK, the information processing device 100 adds a processing unit for setting authority to allow the return of the analysis results to the data destination for the target analysis results as post-processing of the processing unit related to the test in the workflow.

[0070] In S250, the information processing device 100 executes a workflow based on the analysis processing setting DAG1 newly created by the series of processes described above, i.e., a workflow to which various processing units have been added, and transmits the results to the terminal device 200 to which the data is to be provided. In this manner, the series of processes shown in FIGS. 9A to 9D are sequentially executed in each of the information processing devices 100 (stations) that are data sources to be circulated by the train.

[0071] Above, specific examples of the information processing system 1 according to this embodiment have been described with reference to FIGS. 9A to 9D.

[0072] <Modification> A modified example of an information processing system according to an embodiment of the present disclosure will be described with reference to Figs. 10 to 12. In the above-described embodiment and examples, an example of a case where a workflow is executed independently and individually at each of a plurality of institutions (stations) that are data providers has been described. On the other hand, a case where a workflow is executed in cooperation with a plurality of institutions, such as a case where another institution executes a separate process (e.g., an analysis process, an inspection process, etc.) based on the results of an analysis process executed at some institutions, can also be assumed. Thus, in this modified example, an example of a case where a single workflow is executed by a plurality of institutions (stations) in cooperation with each other will be described.

[0073] First, an example of the process flow of the information processing system 1 according to this modification will be described with reference to Fig. 10. In the example shown in Fig. 10, data providers DP1 and DP2 cooperate to execute one workflow based on a request from a data recipient DC1, which is the request source. The collaboration setting shown in FIG. 10 corresponds to setting information for data providers DP1 and DP2 to operate in collaboration, and is shared between the data providers DP1 and DP2. As a specific example, the collaboration setting may be realized as a file or registry that each of the data providers DP1 and DP2 can refer to. As another example, each of the data providers DP1 and DP2 may individually hold a similar collaboration setting, thereby realizing a pseudo sharing of the collaboration setting. In the collaboration setting, various information may be set regarding, for example, the target and order of collaboration, the content of the collaboration (for example, data standardization or collaboration between multiple institutions, etc.), data to be the target of collaboration among multiple institutions, etc.

[0074] In S311, the terminal device 200 of the data destination DC1 generates an analysis process setting DAG1 of a workflow to be executed in response to an instruction from a user of the data destination DC1. Here, the terminal device 200 generates an analysis process setting DAG1 of a workflow to be executed by the information processing device 100 of the data source DP1 in cooperation with the information processing device 100 of the data source DP2. Then, the terminal device 200 transmits the generated analysis process setting DAG1 to the information processing device 100 of the data destination DC1. In addition, the terminal device 200 generates a collaboration setting including setting information for the data sources DP1 and DP2 to execute the workflow in cooperation with each other, and shares the collaboration setting between the data sources DP1 and DP2. As a specific example, the terminal device 200 may hold the generated collaboration setting in a registry that can be referred to by each of the data sources DP1 and DP2, and notify each of the data sources DP1 and DP2 of information for accessing the registry.

[0075] In S312, when the information processing device 100 of the data provider DP1 receives the analysis processing setting DAG from the terminal device 200 of the data destination DC1, it reads out the collaboration setting based on the notification from the terminal device 200. The information processing device 100 of the data provider DP1 specifies settings and processing related to collaboration with the information processing device 100 of another data provider (here, the data provider DP2) based on the result of reading out the collaboration setting. As a specific example, the information processing device 100 of the data provider DP1 may specify the data provider DP2 that will be the next subject related to the execution of the workflow after it executes the workflow based on the collaboration setting. Also, the information processing device 100 of the data provider DP1 may specify processing contents (for example, processing units to be added to the workflow) for operating in collaboration with the information processing device 100 of the other data provider DP2 for the workflow to be executed based on the collaboration setting.

[0076] In S313, the information processing device 100 of the data source DP1 adds processing units corresponding to pre-processing and post-processing to the workflow to be executed, based on the analysis processing setting DAG1 received from the terminal device 200 of the data destination DC1. At this time, the information processing device 100 of the data source DP1 may add processing units to the workflow for operating in cooperation with the information processing device 100 of the other data source DP2, based on the result of reading the cooperation setting in S312. In this manner, the workflow to be executed is updated. In S314, the information processing device 100 of the data providing source DP1 executes a workflow corresponding to the analysis processing setting DAG1 updated in S313. As a specific example, the information processing device 100 may execute a target workflow based on the container 310 corresponding to the analysis processing setting DAG1 held in the container registry 330 managed by the terminal device 200, for example. Then, in S315, when the information processing device 100 of the data source DP1 completes the execution of the target workflow, it notifies the terminal device 200 of the data destination DC1 of the end of the workflow. The execution result of the workflow is recorded in the container registry 330 managed by the terminal device 200. At this time, the information processing device 100 of the data source DP1 may also record data for the information processing devices 100 of other data sources DP2 to operate in cooperation thereafter in the container registry 330 managed by the terminal device 200.

[0077] Next, in S316, the terminal device 200 of the data destination DC1 generates an analysis process setting DAG2 of a workflow to be executed by the information processing device 100 of the data destination DC2. Here, it is assumed that the terminal device 200 generates an analysis process setting DAG2 of a workflow to be executed by the information processing device 100 of the data source DP2 in cooperation with the information processing device 100 of the data source DP1. Then, the terminal device 200 transmits the generated analysis process setting DAG2 to the information processing device 100 of the data destination DC2.

[0078] In S317, when the information processing device 100 of the data provider DP2 receives the analysis processing setting DAG2 from the terminal device 200 of the data provider DC1, it reads out the collaboration setting based on the notification from the terminal device 200. The information processing device 100 of the data provider DP2 specifies settings and processing related to collaboration with the information processing device 100 of another data provider (here, the data provider DP1) based on the result of reading out the collaboration setting. This makes it possible for the information processing device 100 of the data provider DP2 to recognize that it will execute a workflow defined by the analysis processing setting DAG2 based on, for example, the execution result of the workflow by the information processing device 100 of the data provider DP1. In addition, the information processing device 100 of the data provider DP2 may specify processing contents (for example, processing units to be added to a workflow) for operating in collaboration with the information processing device 100 of the other data provider DP1 for the workflow to be executed based on the collaboration setting.

[0079] In S318, the information processing device 100 of the data source DP2 adds processing units corresponding to pre-processing and post-processing to the workflow to be executed, based on the analysis processing setting DAG2 received from the terminal device 200 of the data destination DC1. At this time, the information processing device 100 of the data source DP2 may add processing units to the workflow for operating in cooperation with the information processing device 100 of the other data source DP1, based on the result of reading the cooperation setting in S317. In this manner, the workflow to be executed is updated. In S319, the information processing device 100 of the data providing source DP2 executes a workflow corresponding to the analysis processing setting DAG2 updated in S318. As a specific example, the information processing device 100 may execute a target workflow based on the container 310 corresponding to the analysis processing setting DAG2 held in the container registry 330 managed by the terminal device 200, for example. Then, in S320, when the information processing device 100 of the data source DP2 completes the execution of the target workflow, it notifies the terminal device 200 of the data destination DC1 of the end of the workflow. In addition, the execution result of the workflow is recorded in the container registry 330 managed by the terminal device 200.

[0080] An example of the process flow of the information processing system 1 according to this modification has been described above with reference to FIG.

[0081] Next, as an embodiment of the information processing system 1 according to this modification, a specific example in which a plurality of data providers cooperate to execute one workflow will be described. First, an example of a case where the provision items of data to be provided are standardized between data providers DP1 and DP2 will be described with reference to Fig. 11. For example, Fig. 11(a) shows an example of the structure of data managed by each of the data providers DP1 and DP2. In the example shown in Fig. 11(a), it can be seen that some of the provision items included in the data managed by the data providers DP1 and DP2 are different. Under such a configuration, for example, by extracting a provision item that is commonly included in the data managed by each of the data providers DP1 and DP2, the data to be provided may be shared between the data providers DP1 and DP2. For example, Fig. 11(b) shows an example of the data structure of the shared data to be provided.

[0082] As a specific example, when the information to be provided corresponds to a patient ID and medicines that are commonly contained in the data of each of the data providers DP1 and DP2, for example, the patient ID and medicines can be specified as the range of information to be provided that is to be used in the collaborative setting. Furthermore, the information processing device 100 of the data provider DP1 may add, based on the above-mentioned collaboration setting, to a workflow corresponding to the analysis processing setting DAG1, a processing unit that extracts information corresponding to a patient ID and drug provision items from data managed by the data provider DP1 and generates data to be provided, as a pre-processing of this processing (e.g., analysis processing for the data). Similarly, the information processing device 100 of the data provider DP2 may add, based on the above-mentioned collaboration setting, to a workflow corresponding to the analysis processing setting DAG2, a processing unit that extracts information corresponding to a patient ID and drug provision items from data managed by the data provider DP2 and generates data to be provided, as a pre-processing of this processing.

[0083] Furthermore, when generating data to be provided, the order of the items to be provided constituting the data to be provided may be standardized. In this case, the order of the items to be provided defined in the data to be provided may be set in the collaboration setting. Furthermore, the information processing devices 100 of the data providers DP1 and DP2 may add a processing unit related to control of the order of the items to be provided to the workflow to be executed as a pre-processing of this process (e.g., analysis processing for the data) in accordance with the collaboration setting.

[0084] Next, an example of a case where a code set as information corresponding to at least some of the provision items in the data to be provided is shared between data providers DP1 and DP2 will be described with reference to Fig. 12. For example, Fig. 12(a) shows an example of the structure of data managed by each of the data providers DP1 and DP2. In the example shown in Fig. 12(a), information for identifying medicines is set independently in each of the data providers DP1 and DP2. Under such a configuration, for example, a process may be applied in which information set in a provision item corresponding to a medicine in data managed by each of the data providers DP1 and DP2 is converted into a HOT number (e.g., HOT9) which is a standard code indicating a medicine. For example, Fig. 12(b) shows an example of the data structure of data after information set in a provision item corresponding to a medicine is converted into a HOT number which is a standard code indicating a medicine.

[0085] In this case, for example, the collaborative setting may be specified to convert information set in a provision item corresponding to a drug into a HOT number, which is a standard code indicating a drug. Furthermore, the information processing device 100 of the data provider DP1 may add, based on the above-mentioned collaboration setting, to a workflow corresponding to the analysis processing setting DAG1, a processing unit for converting information set in a provision item corresponding to a medicine in data managed by the data provider DP1 into a HOT number as a pre-processing of this process (e.g., analysis processing for the data). Similarly, the information processing device 100 of the data provider DP2 may add, based on the above-mentioned collaboration setting, to a workflow corresponding to the analysis processing setting DAG2, a processing unit for converting information set in a provision item corresponding to a medicine in data managed by the data provider DP2 into a HOT number as a pre-processing of this process (e.g., analysis processing for the data).

[0086] Note that the above is merely an example, and if the control is to be applied to each of multiple institutions (stations) that are the subject of collaboration, it is possible to apply a common control to the information processing device 100 of each of the multiple institutions by using the collaboration setting. As a specific example, it is also possible to realize control such as adding cleansing processing, or adding pseudonym processing or anonymization processing, as described in the above embodiment.

[0087] As another example, a case may be assumed in which data output during execution of a workflow in the information processing device 100 of the data provider DP1 (execution results of some processing units in the workflow) is used for processing in the information processing device 100 of the other data provider DP2. In such a case, for example, the information processing device 100 of the data provider DP1 may add to the workflow a processing unit that holds the data in an area that can be referenced by the information processing device 100 of the data provider DP2 as post-processing of the processing unit (main processing) that outputs the data referenced by the information processing device 100 of the data provider DP2.

[0088] As a specific example, the information processing device 100 of the data source DP1 recognizes that the information processing device 100 of the data source DP2 will use the data output in conjunction with the execution of its own processing, by referring to the collaboration setting, as in the above-mentioned embodiment. Then, the information processing device 100 of the data provider DP1 adds a processing unit to the workflow corresponding to the analysis processing setting DAG1, as post-processing of the main processing that outputs the target data (e.g., the result of the analysis processing), for storing the data in an area that can be referenced by the information processing device 100 of the data provider DP2 (e.g., a container registry, etc.). As a more specific example, the information processing device 100 of the data provider DP1 adds a processing unit to generate a container that can be referenced by the information processing device 100 of the data provider DP2, as the post-processing, and specifies an instruction to store the processing result in the container and an arrangement path of the container as parameters for the post-processing. In this manner, the workflow to be executed is updated. The information processing device 100 of the data source DP1 executes the updated workflow. As a result, the processing unit added to the workflow is executed to generate a new container, and the target data (e.g., the result of the analysis process) is stored in the container. The generated container is then stored in the container registry 330 managed by the terminal device 200 of the data destination DC1. In addition, information for accessing the newly generated container may be shared between the information processing device 100 of the data provider DP1 and the information processing device 100 of the data provider DP2, for example, by using collaborative settings.

[0089] Next, the information processing device 100 of the data provider DP2 recognizes that the data output as a result of the processing executed by the information processing device 100 of the data provider DP1 will be used in the processing executed by itself by referring to the collaboration setting in the same manner as in the above-mentioned embodiment. Also, the information processing device 100 of the data provider DP2 reads out the container in which the target data is stored, i.e., the container generated by the information processing device 100 of the data provider DP1, by referring to the collaboration setting etc. Then, the information processing device 100 of the data provider DP2 applies the data stored in the read container (the result of the processing executed by the information processing device 100 of the data provider DP1) when executing the workflow corresponding to the analysis processing setting DAG2.

[0090] By applying the above-described control, it becomes possible to realize control such as applying the results of processing performed by some institutions (stations) to processing performed by other institutions (stations).

[0091] <Conclusion> As described above, the information processing device 100 according to the present embodiment receives, via a network, a request for execution of a series of processes (e.g., a workflow) in which one or more first processing units are arranged and defined to be executed sequentially. Furthermore, the information processing device 100 updates the series of processes by adding a second processing unit according to the content of the request received during the series of processes at a timing according to the content of the request. Then, the information processing device 100 executes the updated series of processes. With this configuration, even in a situation where there are variations in the data management methods used by each of multiple data providers, it is possible to realize remote utilization of the data in a more suitable manner.

[0092] It should be noted that the above-described embodiment is merely an example and does not necessarily limit the configuration or processing of the present invention. Various modifications and changes may be made without departing from the technical spirit of the present invention.

[0093] In addition, the following configurations also fall within the technical scope of the present disclosure. (1) An information processing device comprising: a receiving means for receiving, via a network, a request for executing a series of processes defined by arranging one or more first processing units to be executed sequentially; an update means for updating the series of processes by adding a second processing unit corresponding to the content of the request at a timing corresponding to the content of the received request during the series of processes; and a processing means for executing the series of processes updated by the update means. (2) The information processing device described in (1), wherein the update means identifies the timing during the series of processes and the second processing unit to be added to the series of processes depending on whether the data to be processed belongs to the request destination or the request source of the request. (3) The information processing device described in (2), wherein the update means adds the second processing unit for processing at least a portion of the data during the series of processes at a timing prior to the execution timing of the first processing unit for the data, when the data to be processed by the series of processes belongs to the request destination. (4) The information processing device described in (2), wherein the update means adds the second processing unit relating to an inspection targeting a result of execution of the first processing unit at a timing later than the execution timing of the first processing unit targeting the data during the series of processes when the data to be processed belongs to the requester. (5) An information processing device according to any one of (1) to (4), wherein the update means adds the second processing unit for processing at least a portion of the information contained in the data to be processed at a timing prior to the execution timing of the first processing unit for the data, depending on the type of at least a portion of the information contained in the data to be processed. (6) The information processing device described in (5), wherein the update means adds the second processing unit for performing processing related to the confidentiality of the information included in the data at a timing prior to the execution timing of the first processing unit for the data when at least some of the information included in the data to be subjected to the series of processes is a type of information set to be concealed. (7) An information processing device according to any one of (1) to (6), wherein the update means adds the second processing unit for converting the format of the data to be processed at a timing prior to the execution timing of the first processing unit for the data, depending on the format of the data to be processed. (8) The information processing device described in (7), wherein the update means adds the second processing unit for converting the format of the data to the specified format at a timing prior to the execution timing of the first processing unit for the data when the format of the data to be processed is different from a specified format. (9) An information processing device according to any one of (1) to (8), wherein the update means adds the second processing unit for converting a code used to identify a target, which is used in at least some of the information contained in the data that is the subject of the series of processes, at a timing prior to the execution timing of the first processing unit that targets the data. (10) The information processing device according to any one of (1) to (9), wherein the update means adds the second processing unit for performing a cleansing process on the data at a timing prior to the execution timing of the first processing unit for the data, depending on the state of the data that is the subject of the series of processes. (11) An information processing device according to any one of (1) to (10), wherein the update means adds the second processing unit relating to an inspection targeting a result of execution of the first processing unit at a timing later than the execution timing of the first processing unit targeting the data, depending on the type of at least some of the information contained in the data to be subjected to the series of processes. (12) The information processing device according to any one of (1) to (11), wherein the update means adds the second processing unit for changing the access authority set for the data that is the subject of the series of processes at a timing prior to the execution timing of the first processing unit that targets the data. (13) The information processing device according to any one of (1) to (12), wherein the update means adds the second processing unit for changing the access authority set for the data that is the subject of the series of processes at a timing later than the execution timing of the first processing unit that targets the data, depending on a result of the execution of the first processing unit. (14) An information processing device according to any one of (1) to (13), wherein the update means adds the second processing unit, which stores the execution result of the first processing unit in an area accessible by the other information processing device at a timing later than the execution timing of the first processing unit, when the execution result of the first processing unit of at least a part of the series of processes is used for processing by the other information processing device. (15) An information processing method executed by a computer, comprising: a receiving step of receiving, via a network, a request for executing a series of processes that are specified by arranging one or more first processing units to be executed sequentially; an update step of updating the series of processes by adding a second processing unit corresponding to the content of the request at a timing corresponding to the content of the received request during the series of processes; and a processing step of executing the series of processes updated in the update step. (16) A program causing a computer to execute the following steps: a receiving step of receiving, via a network, a request for executing a series of processes in which one or more first processing units are arranged to be executed sequentially; an updating step of updating the series of processes by adding a second processing unit corresponding to the content of the request at a timing corresponding to the content of the received request during the series of processes; and a processing step of executing the series of processes updated in the updating step. [Explanation of symbols]

[0094] 1. Information Processing Systems 100 Information processing device 110 Setting analysis section 120 Analysis processing control section 130 Analysis Processing Execution Unit 190 Data Sources 200 Terminal Equipment 300 Control section 310 Container 320 Analysis Processing Settings 330 Container Registry

Claims

1. a receiving means for receiving, via a network, a request for execution of a series of processes defined by arranging one or more first processing units so as to be executed sequentially; an update means for updating the series of processes by adding a second processing unit corresponding to the content of the request received during the series of processes at a timing corresponding to the content of the request; a processing means for executing the series of processes updated by the update means; An information processing device comprising:

2. 2. The information processing device according to claim 1, wherein the update means determines the timing during the series of processes and the second processing unit to be added to the series of processes depending on whether the data to be processed belongs to the request destination or the request source of the request.

3. 3. The information processing device according to claim 2, wherein the update means, when the data to be processed by the series of processes belongs to the request destination, adds the second processing unit for processing at least a portion of the data at a timing prior to the execution timing of the first processing unit for the data during the series of processes.

4. 3. The information processing device according to claim 2, wherein the update means adds, when the data to be processed by the series of processes belongs to the requester, the second processing unit relating to an inspection targeting a result of execution of the first processing unit at a timing later than the execution timing of the first processing unit targeting the data during the series of processes.

5. 2. The information processing device according to claim 1, wherein the update means adds the second processing unit for processing at least a portion of the information contained in the data to be processed at a timing prior to the execution timing of the first processing unit for the data, depending on the type of at least a portion of the information contained in the data to be processed.

6. 6. The information processing device of claim 5, wherein the update means adds the second processing unit for performing processing related to the confidentiality of the information included in the data at a timing prior to the execution timing of the first processing unit for the data when at least a portion of the information included in the data to be subjected to the series of processes is a type of information set to be confidential.

7. 2. The information processing device according to claim 1, wherein the update means adds the second processing unit for converting the format of the data to be processed at a timing prior to the execution timing of the first processing unit for the data, depending on the format of the data to be processed.

8. 8. The information processing device according to claim 7, wherein the update means, when the format of the data to be processed by the series of processes is different from a predetermined format, adds the second processing unit for converting the format of the data to the predetermined format at a timing prior to the execution timing of the first processing unit for the data.

9. 2. The information processing device according to claim 1, wherein the update means adds the second processing unit for converting a code used to identify a target, which is used in at least a portion of the information contained in the data that is the subject of the series of processes, at a timing prior to the execution timing of the first processing unit that targets the data.

10. 2. The information processing device according to claim 1, wherein the update means adds the second processing unit for performing a cleansing process on the data at a timing prior to the execution timing of the first processing unit for the data, depending on a state of the data to be the target of the series of processes.

11. 2. The information processing device according to claim 1, wherein the update means adds the second processing unit relating to an inspection targeting a result of execution of the first processing unit at a timing later than the execution timing of the first processing unit targeting the data, depending on the type of at least a portion of the information contained in the data to be subjected to the series of processes.

12. 2. The information processing device according to claim 1, wherein the update means adds the second processing unit for changing the access authority set for the data that is the subject of the series of processes at a timing prior to the execution timing of the first processing unit that targets the data.

13. 2. The information processing device according to claim 1, wherein the update means adds the second processing unit for changing the access authority set for the data that is the subject of the series of processes at a timing later than the execution timing of the first processing unit that targets the data, depending on a result of execution of the first processing unit.

14. The information processing device according to claim 1, wherein the update means adds the second processing unit, which stores the execution result of the first processing unit in an area accessible to the other information processing device at a timing later than the execution timing of the first processing unit, when the execution result of the first processing unit of at least a part of the series of processes is used for processing by the other information processing device.

15. 1. A computer-implemented information processing method, comprising: a receiving step of receiving, via a network, a request for execution of a series of processes defined by arranging one or more first processing units so as to be executed sequentially; an updating step of updating the series of processes by adding a second processing unit corresponding to the content of the request received during the series of processes at a timing corresponding to the content of the request; a processing step of executing the series of processes updated in the updating step; An information processing method comprising:

16. On the computer, a receiving step of receiving, via a network, a request for execution of a series of processes defined by arranging one or more first processing units so as to be executed sequentially; an updating step of updating the series of processes by adding a second processing unit corresponding to the content of the request received during the series of processes at a timing corresponding to the content of the request; a processing step of executing the series of processes updated in the updating step; A program to execute.

Citation Information

Patent Citations

  • Streaming computing method and device based on DAG interaction

    JP2022013649A