Data management system, data management method, and data management program

The data management system addresses inefficiencies in integrating new applications by facilitating seamless data processing and management across databases through API linkages, ensuring efficient and optimized data integration.

WO2026150486A1PCT designated stage Publication Date: 2026-07-16MITSUBISHI ELECTRIC CORP

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2025-01-08
Publication Date
2026-07-16

AI Technical Summary

Technical Problem

Existing systems face inefficiencies in managing data when adding new applications, leading to duplicate data management across databases and suboptimal integration of API linkages.

Method used

A data management system that includes first and second applications interacting with respective databases, processing units, and a storage unit, enabling efficient data management through API linkages and recommendations for additional applications via an application programming interface.

Benefits of technology

Enables efficient data management by allowing seamless integration and data processing across applications without requiring complex database linkages, minimizing redundant data storage, and optimizing system expansion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025000260_16072026_PF_FP_ABST
    Figure JP2025000260_16072026_PF_FP_ABST
Patent Text Reader

Abstract

This data management system comprises: an application (10A) that cooperates with a DB (16a) for storing first data; a data processing unit (14A) that is embedded in the application (10A) and reads the first data; an application (10B) that cooperates with a DB (16b) for storing second data different from the first data; and a data processing unit (14B) that is embedded in the application (10B), reads the second data, generates third data by performing data processing on the second data, and transmits the third data to the data processing unit (14A).
Need to check novelty before this filing date? Find Prior Art

Description

Data management system, data management method, and data management program

[0001] The present disclosure relates to a data management system, a data management method, and a data management program for managing data.

[0002] In recent years, with databases and multiple applications performing API linkage via an API (Application Programming Interface), the development of technologies for improving system development efficiency and facilitating system expansion has been underway.

[0003] The application linkage system described in Patent Document 1 links via a linkage API centrally managed in an integrated database without directly linking between the linked applications. This linkage API records logs of which applications the linkage API is being used in, and uses these logs to confirm the linkage relationships of the applications.

[0004] Japanese Patent Application Laid-Open No. 2006-277403

[0005] However, in the technology of Patent Document 1 above, when adding a new application to an existing application to expand the application linkage system and performing API linkage between the new and old applications, a database similar to the existing database also hangs from the added application. Therefore, in the technology of Patent Document 1 above, there is a problem that the same or similar data is managed in the new and old databases, and the data cannot be efficiently managed.

[0006] The present disclosure has been made in view of the above, and an object thereof is to obtain a data management system capable of efficiently managing data.

[0007] To solve the aforementioned problems and achieve the objectives, the data management system of this disclosure comprises a first application that interacts with a first database that stores first data, and a first data processing unit installed in the first application that reads the first data. Furthermore, the data management system of this disclosure comprises a second application that interacts with a second database that stores second data different from the first data, and a second data processing unit installed in the second application that reads the second data, generates third data through data processing of the second data, and transmits the third data to the first data processing unit.

[0008] Furthermore, in order to solve the above-mentioned problems and achieve the objectives, the data management system of this disclosure comprises a first application that cooperates with a first database that stores first data, and a first data processing unit installed in the first application that reads the first data. The data management system of this disclosure also comprises a second application that cooperates with a second database that stores second data different from the first data, and a second data processing unit installed in the second application that reads the second data and transmits the second data to the first data processing unit.

[0009] Furthermore, in order to solve the above-mentioned problems and achieve the objectives, the data management system disclosed herein comprises a storage unit that stores a first database and a plurality of second databases, a first application terminal equipped with a first application that works in conjunction with the first database, and a recommendation unit that notifies the first application terminal of a second application that can work in conjunction with the second database and that can be linked with the first application via an application programming interface.

[0010] Furthermore, in order to solve the above-mentioned problems and achieve the objectives, the data management method of the present disclosure includes a first cooperation step in which a first application cooperates with a first database that stores first data, and a first data processing step in which a first data processing unit installed in the first application reads the first data. The data management method of the present disclosure also includes a second cooperation step in which a second application cooperates with a second database that stores second data different from the first data, and a second data processing step in which a second data processing unit installed in the second application reads the second data, generates third data by processing the second data, and transmits the third data to the first data processing unit.

[0011] Furthermore, in order to solve the above-mentioned problems and achieve the objectives, the data management method of the present disclosure includes a first linking step in which a first application links with a first database that stores first data, and a data processing step in which a first data processing unit installed in the first application reads the first data. The data management method of the present disclosure also includes a second linking step in which a second application links with a second database that stores second data different from the first data, and a transmission step in which a second data processing unit installed in the second application reads the second data and transmits the second data to the first data processing unit.

[0012] Furthermore, in order to solve the above-mentioned problems and achieve the objectives, the data management program of this disclosure causes a computer to perform a first linkage step of linking with a first database that stores first data, and a first data processing step of reading the first data. In addition, the data management program of this disclosure causes a computer to perform a second linkage step of linking with a second database that stores second data different from the first data, and a second data processing step of reading the second data, generating third data by processing the second data, and transmitting the third data.

[0013] Furthermore, in order to solve the aforementioned problems and achieve the objectives, the data management program of this disclosure causes a computer to perform a first linking step of linking with a first database that stores first data, and a data processing step of reading the first data. In addition, the data management program of this disclosure causes a computer to perform a second linking step of linking with a second database that stores second data different from the first data, and a transmission step of reading the second data and transmitting the second data.

[0014] The data management system described in this disclosure has the effect of enabling efficient data management.

[0015] Figure showing the configuration of a data collection management system equipped with a data management system according to an embodiment Figure showing the configuration of an application terminal equipped with a data management system according to an embodiment Figure for explaining API linkage performed by a data management system according to an embodiment Figure showing the configuration of a data processing device equipped with a data management system according to an embodiment Figure showing an alternative configuration of an application terminal equipped with a data management system according to an embodiment Figure showing the configuration of a data collection management system when the data management system according to an embodiment is equipped with the application terminal shown in Figure 5 Figure Flowchart showing the processing procedure when the data management system according to an embodiment performs data processing via API linkage Figure for explaining the first API linkage performed by the data management system of the comparative example Figure for explaining the second API linkage performed by the data management system of the comparative example Figure for explaining applications that can be linked in the data management system according to an embodiment and applications for which API linkage is recommended for installed applications Figure showing a first configuration example of DB item information used by the data management system according to an embodiment when calculating the relevance of applications Figure showing a second configuration example of DB item information used by the data management system according to an embodiment when calculating the relevance of applications Figure showing a third configuration example of DB item information used by the data management system according to an embodiment when calculating the relevance of applications Figure showing a fourth configuration example of DB item information used by the data management system according to an embodiment when calculating the relevance of applicationsA flowchart illustrating the processing procedure for adding an application recommended for API integration to an already installed application; a diagram illustrating the process of extending the application and DB of a data management system according to an embodiment; a diagram showing an example of the data structure stored in the work completion DB of a data management system according to an embodiment; a diagram showing an example of the data structure stored in the troubleshooting DB of a data management system according to an embodiment; a diagram showing an example of the processing circuit configuration when the processing circuit of an application terminal according to an embodiment is implemented with a processor and memory; a diagram showing an example of the processing circuit configuration when the processing circuit of an application terminal according to an embodiment is implemented with dedicated hardware.

[0016] The data management system, data management method, and data management program according to embodiments of this disclosure will be described in detail below with reference to the drawings.

[0017] Embodiment. Figure 1 is a diagram showing the configuration of a data collection management system equipped with a data management system according to an embodiment. The data collection management system 100 is a system that collects and manages data.

[0018] The data collection management system 100 includes a data management system 101 and data collection device groups 110A and 110B. In the data collection management system 100, the data management system 101 manages the data collected by the data collection device groups 110A and 110B.

[0019] The data acquisition devices 110A and 110B collect data from production equipment (not shown) on the production line. Production equipment includes machine tools, sensors, etc. The data collected by the data acquisition devices 110A and 110B includes, for example, the operating status of the production equipment and the production status of products. The data acquisition devices 110A and 110B may collect data from common production equipment, or they may each collect data from different production equipment.

[0020] The data acquisition device groups 110A and 110B are, for example, PLCs (Programmable Logic Controllers), mobile terminals, personal computers, etc., but are not limited to these. Data acquisition device group 110A may consist of a single data acquisition device. Similarly, data acquisition device group 110B may consist of a single data acquisition device. Furthermore, at least some of the data acquisition devices included in data acquisition device groups 110A and 110B may be common data acquisition devices for both groups.

[0021] The data management system 101 manages the data collected by the data collection device group 110A, 110B by linking multiple applications via API. The data management system 101 includes data processing devices 120A, 120B, cloud servers 130A, 130B, servers 140A, 140B, and application terminals 1A, 1B.

[0022] If application terminal 1A is the first application terminal, then application terminal 1B is the second application terminal. On the other hand, if application terminal 1B is the first application terminal, then application terminal 1A is the second application terminal.

[0023] Furthermore, the data management system 101 may use a single data processing device that has the functions of both data processing device 120A and data processing device 120B. Also, the data management system 101 may use a single cloud server that has the functions of both cloud server 130A and cloud server 130B. Also, the data management system 101 may use a single server that has the functions of both server 140A and server 140B.

[0024] Since data processing devices 120A and 120B have similar functions and perform similar processing, this section will mainly describe data processing device 120A. Similarly, since cloud servers 130A and 130B have similar functions and perform similar processing, this section will mainly describe cloud server 130A. Furthermore, since servers 140A and 140B have similar functions and perform similar processing, this section will mainly describe server 140A.

[0025] The data processing device 120A acquires the data collected by the data collection device group 110A from the data collection device group 110A. The data processing device 120A is equipped with a DB group 160A which has one or more databases (DBs, Databases), and stores the data acquired from the data collection device group 110A in the DB group 160A.

[0026] The databases included in DB groups 160A and 160B are databases that store data for DB items, which are management items. In this embodiment, the data for DB items is the data to be managed and is stored in DB groups 160A and 160B. DB items are the names of items such as current and voltage that belong to the DB items. In DB groups 160A and 160B, DB items and the data for DB items are associated. The data for DB items may be data values ​​such as current values ​​and voltage values, or it may be text data indicating the pass / fail status of a test. The databases included in DB groups 160A and 160B are configured to allow the addition of DB items, which are management items. For the database included in DB group 160A, the user may add DB items, or the data processing device 120A may add DB items. For the database included in DB group 160B, the user may add DB items, or the data processing device 120B may add DB items.

[0027] The data processing device 120A transmits data stored in the DB group 160A to the application terminal 1A via the server 140A in response to a request from the application terminal 1A. The data processing device 120A also transfers data stored in the DB group 160A to the cloud server 130A at a specific interval, for example, every 5 seconds.

[0028] The cloud server 130A stores the data transferred from the data processing device 120A. In response to a request from the application terminal 1A, the cloud server 130A outputs the stored data to the application terminal 1A via the server 140A.

[0029] Server 140A relays communication between the data processing device 120A and the application terminal 1A, and communication between the cloud server 130A and the application terminal 1A. Note that the data management system 101 may not have a server 140A if the data processing device 120A and the cloud server 130A can communicate directly with the application terminal 1A.

[0030] Furthermore, the data management system 101 does not necessarily have cloud servers 130A and 130B. The following describes the case where the data management system 101 does not have cloud servers 130A and 130B. The following also describes the case where the data processing device 120A can communicate directly with the application terminal 1A and the data management system 101 does not have a server 140A. The following also describes the case where the data processing device 120B can communicate directly with the application terminal 1B and the data management system 101 does not have a server 140B.

[0031] Application terminal 1A performs various data processing, such as analysis, using the data stored in the DB group 160A of the data processing device 120A. Similarly, application terminal 1B performs various data processing using the data stored in the DB group 160B of the data processing device 120B. Application terminals 1A and 1B are, for example, mobile terminals and personal computers, but are not limited to these.

[0032] Application terminal 1A is a management terminal that manages the operating status of production equipment or the production status of products. Application terminal 1A is equipped with an application program, application 10A, and executes application 10A.

[0033] Similarly, application terminal 1B is a management terminal that manages the operating status of production equipment or the production status of products. Application terminal 1B is equipped with application 10B and executes application 10B.

[0034] Applications 10A and 10B communicate via API. This API communication is performed automatically by both applications. For example, if application 10A is already installed and application 10B is added, applications 10A and 10B will automatically perform the API communication when application 10B is added.

[0035] Furthermore, the API communication between application 10A and application 10B may be performed by applications 10A and 10B in accordance with user instructions. Alternatively, the API communication between application 10A and application 10B may be performed by data processing device 120A or data processing device 120B.

[0036] Application 10A generates data to be used for data processing in Application 10A by applying a specific calculation formula to the data stored in DB group 160A. Similarly, Application 10B generates data to be used for data processing in Application 10B by applying a specific calculation formula to the data stored in DB group 160B.

[0037] When application 10A uses data stored in database group 160B, it retrieves and uses generated data, which is data generated by application 10B by applying a specific calculation formula. This allows application 10A to use data stored in database group 160B by API communication with application 10B without having to perform complex API communication with database group 160B.

[0038] Similarly, when application 10B uses data stored in database group 160A, it retrieves and uses generated data generated by application 10A by applying a specific calculation formula. This allows application 10B to use data stored in database group 160A by API communication with application 10A without having to perform complex API communication with database group 160A.

[0039] Application terminals 1A and 1B may display or output the analysis results obtained by running applications 10A and 10B and analyzing the data, or they may display or output the results obtained by running applications 10A and 10B, allowing users of application terminals 1A and 1B to determine the operating status of production equipment, the production status of products, etc.

[0040] The data management system 101 may also be equipped with three or more application terminals. In this case, the third and subsequent application terminals acquire data via a data collection device and a data processing device, similar to application terminals 1A and 1B. Furthermore, application terminals added to the data management system 101 are capable of API communication with other application terminals.

[0041] Furthermore, applications 10A and 10B may be installed on separate application terminals or on the same application terminal. For example, both applications 10A and 10B may be installed on application terminal 1A or on application terminal 1B.

[0042] Here, we will describe the configurations of application terminals 1A and 1B. Since application terminals 1A and 1B have the same configuration, we will describe the configuration of application terminal 1A here.

[0043] Figure 2 shows the configuration of an application terminal included in the data management system according to the embodiment. The application terminal 1A includes an application 10A and a terminal control unit 16A.

[0044] Application 10A has an API 5A and data processing units 14A and 15A. The API 5A is an interface that connects applications, such as application 10B other than application 10A, with other applications. Application 10A performs data linkage with application 10B by performing API linkage with application 10B, for example. That is, in data management system 101, applications 10A and 10B are connected by API linkage, and data linkage is performed between applications 10A and 10B.

[0045] When application 10A and application 10B perform API linkage, application 10A acquires the data of DB group 160B with which application 10B is performing data linkage from application 10B. Similarly, application 10B acquires the data of DB group 160A with which application 10A is performing data linkage from application 10A.

[0046] The data processing unit 14A reads data from the DB group 160A and executes data processing, which is a calculation process using the read data. The data processing executed by the data processing units 14A and 15A and the data processing units 14B and 15B described later is a process of deriving the data after calculation by calculating the data. This data processing includes data generation processing, which is a process of generating data, data processing, which is a process of processing data, data calculation processing, which is a process of calculating data, and the like.

[0047] The process of generating data is a process of generating desired data from data that is not stored. In the embodiment, desired data is generated from prime number-like data described later. The process of calculating data is, for example, a statistical process such as calculating the average value of data.

[0048] The process of processing data is a pre - process such as before the process of generating or processing data, which is a process of processing the data before data processing into data used for data generation or processing. Note that the process of processing data may also be a process of processing data after data generation or processing has been performed. The data processing unit 14A includes one or more DB item calculation formulas 12A, and executes data processing such as data analysis using the DB item calculation formula 12A.

[0049] The DB group 160A stores data on which data processing can be executed by the DB item calculation formula 12A of the data processing unit 14A. The data stored in the DB group 160A is raw material data that cannot be obtained by calculation according to the DB item calculation formulas 12A and 13A. <​​​​​​​​​The terminal control unit 16A controls the operation of the application terminal 1A. For example, the terminal control unit 16A controls the application 10A to cause the application 10A to collect data from the DB group 160A and to perform data processing on the collected data. The terminal control unit 16A also controls the application 10A to cause the application 10A to collect generated data generated by the application terminal 1B and to perform data processing on the collected data.

[0054] Figure 3 is a diagram illustrating the API integration performed by the data management system according to the embodiment. Note that components in Figure 3 that achieve the same functionality as the application terminal 1A shown in Figure 2 are denoted by the same reference numerals, and redundant explanations are omitted. Figure 3 conceptually shows a data integration system constructed by API integration of multiple applications such as applications 10A and 10B.

[0055] As explained in Figure 2, application 10A includes API 5A and data processing units 14A and 15A. Application 10B also includes API 5B and data processing units 14B and 15B. Data processing unit 14B comprises one or more DB item calculation formulas 12B, and data processing unit 15B comprises one or more DB item calculation formulas 13B.

[0056] The data processing unit 14B is a function that has been included in application 10B from the beginning, while the data processing unit 15B is a function that was added to application 10B after the application 10B began operation.

[0057] Applications 10A and 10B communicate via API 5A of application 10A and API 5B of application 10B. The data processing unit 14A of application 10A is connected to DB 16a, and the data processing unit 14A and DB 16a are directly linked via DB. The data processing unit 14A reads data from DB 16a.

[0058] Furthermore, the data processing unit 14B of application 10B and DB 16b are connected, and the data processing unit 14B and DB 16b are directly linked via DB. The data processing unit 14B reads data from DB 16b.

[0059] If application 10A is the first application, then application 10B is the second application. In this case, DB 16a is the first DB, and DB 16b is the second DB. Also, data processing unit 14A is the first data processing unit, data processing unit 14B is the second data processing unit, and data processing unit 15A is the third data processing unit. Furthermore, DB item calculation formula 12A is the first calculation formula, DB item calculation formula 12B is the second calculation formula, and DB item calculation formula 13A is the third calculation formula.

[0060] On the other hand, if application 10B is the first application, then application 10A is the second application. In this case, DB 16b is the first DB, and DB 16a is the second DB. Also, data processing unit 14B is the first data processing unit, data processing unit 14A is the second data processing unit, and data processing unit 15B is the third data processing unit. Furthermore, DB item calculation formula 12B is the first calculation formula, DB item calculation formula 12A is the second calculation formula, and DB item calculation formula 13B is the third calculation formula.

[0061] Furthermore, the data managed by the first DB is the first data, and the data managed by the second DB is the second data. The data generated by the first data processing unit through data processing of the first data is the first generated data. The data generated by the second data processing unit through data processing of the second data is the second generated data. The data generated by the third data processing unit through data processing of the second generated data is the third generated data.

[0062] DB16a is a database included in DB group 160A, and DB16b is a database included in DB group 160B. DB16a and 16b each store data for multiple types of DB items. Examples of DB items include work start time, work completion time, current, and voltage.

[0063] DB16a manages and stores prime number data, which is among the data required by application 10A, as DB items. The DB items that DB16a stores are prime number data, which are the minimum data elements required, assuming data processing in application 10A.

[0064] The DB items stored in DB16a are the smallest units of raw data that cannot be generated by data processing performed by the data processing unit 14A, and are prime number DB items. In other words, the DB items stored in DB16a are the smallest units of data that cannot be obtained by data processing. A prime number DB item is a unit of calculation of the calculation elements in the data processing unit 14A that cannot be obtained by data processing performed by the data processing unit 14A. For example, a prime number DB item is a variable item in a calculation formula when the calculation formula of another data processing unit, such as the data processing unit 14B related to the data processing unit 14A, is optimized. Therefore, the prime number DB items stored in DB16a are changed according to the calculation formula used by the data processing unit. Also, the prime number DB items stored in DB16a are changed when a data processing unit is added.

[0065] In other words, in this embodiment, there are no absolute prime number database items; they are determined relatively in relation to the data acquisition environment and the calculation formulas used by other data processing units. Therefore, the smallest unit of data that cannot be obtained through data processing changes depending on the data that can be easily obtained from the current production equipment and the calculations performed by other data processing units.

[0066] For example, when the data processing unit 14A calculates the voltage, the DB 16a stores the current as a prime number DB item. This allows the data processing unit 14A to calculate the voltage based on the current and the fixed value of the resistance.

[0067] Furthermore, when the resistance changes, if the data processing unit 14A calculates the resistance, the DB 16a stores the current and voltage as prime number DB items. This allows the data processing unit 14A to calculate the resistance based on the current and voltage.

[0068] Data that cannot be obtained by data processing by the data processing unit 14A includes, for example, data collected by output from devices such as sensors, or data collected by users inputting data into mobile terminals, etc.

[0069] Of the data stored in DB16a, the proportion of data that cannot be obtained by data processing by the data processing unit 14A is preferably 50% or more, more preferably 70% or more, even more preferably 90% or more, and particularly preferably 100%.

[0070] For example, DB16a stores DB items such as current, voltage, and time, and the data processing unit 14A calculates the amount of energy using the current, voltage, and time. In this way, DB16a does not store the amount of energy that can be calculated, but stores the current, voltage, and time, which cannot be calculated, as prime number data. The data of the DB items that DB16a stores is, for example, the data values ​​themselves acquired from the sensor.

[0071] In application 10A, the data processing unit 14A calculates the amount of energy from current, voltage, and time using the DB item calculation formula 12A. In other words, the DB items stored in DB 16a correspond to the arguments of the DB item calculation formula 12A, which is a function used by the data processing unit 14A.

[0072] Furthermore, if additional DB items become necessary for DB16a due to the addition of a data processing unit, which is a functional addition in application 10A, the data processing unit 120A will expand DB16a. Functionality is added to application 10A, for example, when it is updated to a newer version.

[0073] Figure 3 shows the case where the initial data processing unit is data processing unit 14A, and then data processing unit 120A adds data processing unit 15A. It also shows the case where data processing unit 120A adds an extended DB 17a to the original DB 16a by adding data processing unit 15A. In other words, Figure 3 shows the case where data processing unit 14A and DB 16a are expanded by adding data processing unit 15A and extended DB 17a. Extended DB 17a may be added to DB 16a as part of DB 16a, or it may be added as a separate DB from DB 16a.

[0074] The extended DB 17a stores data that is missing from the generated data generated by application 10B when application 10A performs data processing using the generated data generated by application 10B. In other words, the DB items of the data managed by the extended DB 17a are not included in the DB items of the data managed by DB 16a, and are DB items used when the data processing unit 15A generates the generated data.

[0075] The data processing device 120A has pre-configured database items that need to be added to application 10A when application 10A communicates with application 10B via API. When application 10A communicates with application 10B via API, the data processing device 120A adds the extended database 17a according to the database items that need to be added due to the API communication with application 10B.

[0076] For example, when applications 10A and 10B communicate via API, application 10A retrieves generated data from application 10B. The extended DB 17a stores any missing database items that application 10A needs to generate data using the generated data retrieved from application 10B.

[0077] Data corresponding to the DB items in the extended DB 17a is collected by the data acquisition device group 110A. The data processing device 120A stores the data acquired from the data acquisition device group 110A into the DB items of the extended DB 17a.

[0078] Similarly, DB16b manages and stores prime number data among the data required by application 10B as DB items. The DB items that DB16b stores are the minimum data elements required, i.e., prime number data, assuming data processing in application 10B.

[0079] The DB items stored in DB16b are the smallest units of raw data from which the desired data cannot be generated even if data processing is performed by the data processing unit 14B, and are prime number-like DB items. In other words, the DB items stored in DB16b are the smallest units of data that cannot be obtained through data processing.

[0080] Furthermore, if additional DB items become necessary for DB16b due to the addition of a data processing unit, which is a functional addition in application 10B, the data processing unit 120B will extend DB16b. Figure 3 shows the case where the initial data processing unit is data processing unit 14B, and then data processing unit 120B adds data processing unit 15B. It also shows the case where, after data processing unit 120B adds data processing unit 15B, an extended DB17b is added to the original DB16b. In other words, Figure 3 shows the case where data processing unit 14B and DB16b are extended by the addition of data processing unit 15B and extended DB17b. Extended DB17b may be added to DB16b as part of DB16b, or it may be added as a separate DB from DB16b.

[0081] The extended DB 17b stores data that is missing from the generated data generated by application 10A when application 10B performs data processing using the generated data generated by application 10A. In other words, the DB items of the data managed by the extended DB 17b are not included in the DB items of the data managed by DB 16b, and are DB items used when the data processing unit 15B generates the generated data.

[0082] Furthermore, the data processing device 120A does not need to have pre-configured database items that need to be added to application 10A when application 10A communicates with application 10B via API. In this case, when the data processing device 120A recognizes that application 10A is communicating with application 10B via API, it configures the database items that need to be added to application 10A based on the information of applications 10A and 10B.

[0083] The data processing device 120B has pre-configured database items that need to be added to application 10B when application 10B communicates with application 10A via API. When application 10B communicates with application 10A via API, the data processing device 120B adds the extended database 17b according to the database items that need to be added due to the API communication with application 10A.

[0084] For example, when applications 10A and 10B communicate via API, application 10B retrieves generated data from application 10A. The extended DB 17b stores any missing database items that application 10B needs to generate data using the generated data retrieved from application 10A.

[0085] Data corresponding to DB items in the extended DB 17b is collected by the data acquisition device group 110B. The data processing device 120B stores the data acquired from the data acquisition device group 110B into DB items in the extended DB 17b.

[0086] Furthermore, the data processing device 120B does not need to have pre-configured database items that need to be added to application 10B when application 10B communicates with application 10A via API. In this case, when the data processing device 120B recognizes that application 10B is communicating with application 10A via API, it configures the database items that need to be added to application 10B based on the information of applications 10A and 10B.

[0087] If application 10A is the first application, then extension DB 17a is the third DB; if application 10B is the first application, then extension DB 17b is the third DB. The data managed by the third DB is the fourth data.

[0088] Application 10A retrieves DB item data from DB 16a, generates desired data using DB item calculation formula 12A of data processing unit 14A, and uses the generated desired data to realize the desired function.

[0089] Similarly, application 10B retrieves DB item data from DB 16b, generates desired data using DB item calculation formula 12B of data processing unit 14B, and uses the generated desired data to realize the desired function.

[0090] When applications 10A and 10B communicate via APIs 5A and 5B, the data processing unit of one application communicates with the data processing unit of the other application that is necessary for data processing. In other words, since the data processing unit is already linked to the database items of the DB, for example, by the data processing units of the two applications communicating with each other, one application can communicate with the data items of the other's DB via the API.

[0091] For example, the data processing unit 14B calculates generated data by applying the DB item calculation formula 12B to the data obtained from DB 16b. In this case, if the data processing unit 15A wants to use the data from DB 16b, the data processing unit 15A obtains the generated data from the data processing unit 14B via API linkage. As a result, the data processing unit 15A can obtain generated data generated from the data of DB 16b without having to calculate it itself using the DB item calculation formula 12B, that is, without having the DB item calculation formula 12B. Furthermore, the data processing unit 15A can obtain generated data generated from the data of DB 16b without storing the data of DB 16b in DB 16a. Also, the data processing unit 15A can obtain generated data generated from the data of DB 16b without setting up DB linkage between application 10A and DB 16b.

[0092] In this embodiment, the connection between an application and a database that can be directly accessed by an application newly linked to this application via API is referred to as a database connection. That is, the connection between application 10A and database 16b via API connection between applications 10A and 10B is a database connection. Similarly, the connection between application 10B and database 16a via API connection between applications 10A and 10B is also a database connection.

[0093] Similarly, the data processing unit 14A calculates generated data by applying the DB item calculation formula 12A to the data obtained from DB 16a. In this case, if the data processing unit 15B wants to use the data from DB 16a, the data processing unit 15B obtains the generated data from the data processing unit 14A via API linkage. As a result, the data processing unit 15B can obtain generated data generated from the data of DB 16a without having to calculate it itself using the DB item calculation formula 12A, that is, without having the DB item calculation formula 12A. Furthermore, the data processing unit 15B can obtain generated data generated from the data of DB 16a without storing the data of DB 16a in DB 16b. Also, the data processing unit 15B can obtain generated data generated from the data of DB 16a without setting up DB linkage between application 10B and DB 16a.

[0094] In this way, the data processing unit 15A acquires the generated data calculated by the data processing unit 14B using the DB item calculation formula 12B, so it can acquire generated data similar to the case where the DB item calculation formula 12B is shared between the data processing units 15A and 14B.

[0095] As described above, the data management system 101 operates to share the calculation results of calculations using DB item calculation formulas 12A and 12B via API, so DB linkage is possible through API linkage alone. In other words, linkage between application 10A and DB 16b, and linkage between application 10B and DB 16a are possible through API linkage between applications 10A and 10B. As a result, the data management system 101 can easily realize the construction of a system that utilizes APIs.

[0096] For example, the data processing unit 14A calculates energy consumption from current, voltage, and time using the DB item calculation formula 12A. The data processing unit 15B obtains energy consumption data from the data processing unit 14A via the API and calculates the average energy consumption from the data consumption using the DB item calculation formula 13B. As a result, the data processing unit 15B can use generated data calculated from the data in DB 16a via the API without DB linking with DB 16a or having the DB item calculation formula 12A.

[0097] Similarly, the data processing unit 15A can use generated data calculated from the data in DB 16b via the API without DB linking with DB 16b or without including DB item calculation formula 12B.

[0098] Thus, in the data management system 101, application 10A is linked to DB 16a, which consists of DB items that are the minimum necessary management items, and application 10B is linked to DB 16b, which consists of DB items that are the minimum necessary. Furthermore, the data processing unit 14A of application 10A and the data processing unit 15B of application 10B are linked via API. In addition, the data processing unit 14B of application 10B and the data processing unit 15A of application 10A are linked via API.

[0099] The data processing unit 14A calculates specific generated data using the data managed in DB 16a, and the data processing unit 15B utilizes the data in DB 16a linked to the data processing unit 14A by API communication with the data processing unit 14A.

[0100] Similarly, the data processing unit 14B calculates specific generated data using the data managed in DB 16b, and the data processing unit 15A uses the data in DB 16b linked to the data processing unit 14B by API communication with the data processing unit 14B. As a result, the data management system 101 can use data from databases that are not linked to the application through API communication.

[0101] Thus, in the data management system 101, when application 10A acquires data from DB 16b which is linked to application 10B, it acquires data that has been processed or calculated by the data processing unit 14B of application 10B. In other words, the data processing linkage between application 10A and application 10B is equivalent to the linkage between application 10A and DB 16b, and the data processing and DB are integrated and linked.

[0102] Similarly, in the data management system 101, when application 10B acquires data from DB 16a, which is linked to application 10A, it acquires data that has been processed or calculated by the data processing unit 14A of application 10A. In other words, the data processing linkage between application 10B and application 10A is equivalent to the linkage between application 10B and DB 16a, and the data processing and DB are integrated and linked.

[0103] Furthermore, API linkage between applications 10A and 10B enables linkage between application 10A and the extended DB 17b, and between application 10B and the extended DB 17a. In other words, application 10A can retrieve data from the extended DB 17b without configuring a database linkage between application 10A and the extended DB 17b. Similarly, application 10B can retrieve data from the extended DB 17a without configuring a database linkage between application 10B and the extended DB 17a.

[0104] Thus, if one application is using API integration with another application, it can also integrate with the database that the other application is using via API integration.

[0105] Furthermore, the data management system 101 minimizes the number of database items to a prime number and generates necessary numerical data using database item calculation formulas 12A, 13A, 12B, and 13B. This eliminates the need to create a database with unnecessarily large storage capacity, allowing for efficient use of the database. Note that database item calculation formulas may be added to the data processing units 14A, 14B, 15A, and 15B as add-ons after the fact.

[0106] The data processing unit 15A generates data by applying the generated data generated by the data processing unit 14B and the data items stored in the extended DB 17a to the DB item calculation formula 13A. The data processing unit 15B generates data by applying the generated data generated by the data processing unit 14A and the data items stored in the extended DB 17b to the DB item calculation formula 13B.

[0107] Furthermore, the data processing unit 14A may use data items stored in the extended DB 17a. Also, the data processing unit 14B may use data items stored in the extended DB 17b.

[0108] Figure 4 shows the configuration of the data processing device included in the data management system according to the embodiment. Since the data processing devices 120A and 120B have similar configurations, the configuration of data processing device 120A will be described here.

[0109] The data processing device 120A comprises a DB group 160A and a master management unit 161A. Figure 4 shows a case where the DB group 160A includes a work completion DB 71 and a troubleshooting DB 72. The work completion DB 71 is a DB that stores the work start time (time when the work began) and the work completion time (time when the work was completed). The troubleshooting DB 72 is a DB that stores the trouble occurrence time (time when a trouble occurred).

[0110] The master management unit 161A manages the DB group 160A. For example, the master management unit 161A manages the DB items included in the DB item calculation formulas 12A and 13A for the DB group 160A.

[0111] Furthermore, when a DB item calculation formula is added to the data processing units 14A and 15A, the master management unit 161A adds DB items to be managed within the DB group 160A based on the DB items included in the added DB item calculation formula. In other words, the master management unit 161A adds the DB items included in the added DB item calculation formula to the data processing units 14A and 15A to the management targets.

[0112] Furthermore, when the master management unit 161A receives a request from application 10A for data of a DB item that will be used as an argument, it reads the data of the DB item corresponding to the request from the DB and sends it to application 10A.

[0113] Furthermore, the master management unit 161A adds the extended DB 17a to the DB group 160A according to instructions from the user via manual operation. The master management unit 161A also adds the extended DB 17a to the completed work DB 71 or the troubleshooting DB 72 according to instructions from the user.

[0114] In Figure 3, we have described a configuration in which applications 10A and 10B individually interact with external databases 16a and 16b of application terminals 1A and 1B. However, the databases may also be located within application terminals 1A and 1B.

[0115] Figure 5 shows an alternative configuration of the application terminal provided by the data management system according to the embodiment. Note that components in Figure 5 that achieve the same function as application terminal 1A shown in Figure 2 are denoted by the same reference numerals, and redundant explanations are omitted.

[0116] The application terminal 1C comprises an application 10A, a terminal control unit 16A, and a data processing unit 120C. In other words, the application terminal 1C includes the data processing unit 120C in addition to the components of the application terminal 1A. The data processing unit 120C has the same functions as the data processing unit 120A. The DB group 160A of the data processing unit 120C is located in the storage (not shown) of the application terminal 1C.

[0117] In other words, application terminal 1C is equipped with a database group 160A that manages data using datasheets. In application terminal 1C, datasheets are stored in storage, and application 10A performs data processing using data read from the datasheets.

[0118] In this example, the configuration of application terminal 1C is shown as an application terminal where the data processing device 120C is located within application terminal 1A; however, the data processing device may also be located within application terminal 1B.

[0119] Figure 6 shows the configuration of a data collection management system when the data management system according to the embodiment is equipped with the application terminal shown in Figure 5. Note that components in Figure 6 that achieve the same function as the data collection management system 100 shown in Figure 1 are denoted by the same reference numerals, and redundant explanations are omitted.

[0120] In Figure 6, an application terminal in which a data processing device is located within the application terminal 1B is shown as application terminal 1D. The data acquisition management system 200 includes a data management system 102 and data acquisition device groups 110A and 110B. The data acquisition management system 200 is a system in which the data management system 102 manages the data collected by the data acquisition device groups 110A and 110B.

[0121] The data management system 102 includes data transfer devices 125C and 125D, and application terminals 1C and 1D. Application terminal 1C includes an application 10A, a terminal control unit 16A (not shown in Figure 6), and a data processing device 120C.

[0122] The application terminal 1D includes an application 10B, a terminal control unit 16B (not shown in Figure 6), and a data processing device 120D. The data processing device 120D has the same functions as the data processing device 120C.

[0123] The data transfer device 125C transmits the data collected by the data acquisition device group 110A to the application terminal 1C for storage in the application terminal 1C. Thus, in the data management system 102, the data processing device 120C, which has a DB group 160A, is located inside the application terminal 1C, and the application 10A reads data from the DB group 160A inside the application terminal 1C.

[0124] The data transfer device 125D transmits the data collected by the data acquisition device group 110B to the application terminal 1D for storage in the application terminal 1D. Thus, in the data management system 102, the data processing device 120D, which has a database group 160B, is located within the application terminal 1D, and the application 10B reads data from the database group 160B within the application terminal 1D.

[0125] The data management system 102 also performs API integration in the same way as the data management system 101.

[0126] Figure 7 is a flowchart showing the processing procedure when the data management system according to the embodiment performs data processing via API integration. Here, the processing procedure of the data management system 101 will be described.

[0127] Hereinafter, the application that initiates the connection will be referred to as the "source application," and the application that receives the connection will be referred to as the "destination application." The source application is an application that performs new data processing due to the addition of functionality. The destination application is an application that requests generated data from the source application in order for the source application to perform new data processing. In other words, the source application is the primary application that requests generated data in order to perform new data processing, and the destination application is the secondary application that requests generated data. Here, we will explain the case where application terminal 1A is the source application and application terminal 1B is the destination application.

[0128] When application terminal 1A receives an instruction from its user to establish an API connection as a source application, it requests data processing device 120A to become the source application.

[0129] The data processing device 120A sets the source application (step S10). Specifically, when the data processing device 120A receives a request to be the source application, it sets the application 10A that sent the request as the source application. In other words, the data processing device 120A sets application 10A as the primary application.

[0130] The data processing device 120A notifies application 10A that it has made a setting in the source application. As a result, application 10A becomes ready to configure API integration.

[0131] When application terminal 1B receives an instruction from its user to establish API integration as a linked application, it requests data processing device 120B to become a linked application.

[0132] The data processing device 120B configures the linked application (step S20). Specifically, when the data processing device 120B receives a request to become a linked application, it configures the application 10B that sent the request as the linked application. In other words, the data processing device 120B configures application 10B as a subordinate application. The data processing device 120B notifies application 10B that it has been configured as a linked application. As a result, application 10B becomes ready to configure API integration.

[0133] The source application configures the data processing unit of the destination application to communicate with the source application via API (step S30). The source application configures the data processing unit of the destination application via API.

[0134] The source application sets the data processing unit that generates newly required data due to the addition of functions, etc., as the data processing unit to be integrated via API. The source application sets the data processing unit to be integrated via API based on the DB item calculation formula of the newly added data processing unit due to the addition of functions, etc. The source application can check the DB item calculation formula of the data processing unit of the destination application, and after checking this DB item calculation formula, selects and sets the data processing unit to be integrated via API.

[0135] The data processing unit set as the data processing unit for API integration is the data processing unit of the linked application that generates data for DB items used in DB item calculation formulas that cannot be obtained from the DB that the linking application is linked to. Here, application 10A sets the data processing unit 14B of application 10B as the data processing unit for API integration. As a result, application 10A can use the generated data generated by data processing unit 14B. In other words, application 10A becomes capable of performing API integration via the API.

[0136] The source application receives an instruction from the newly added function to use the generated data generated by the linked application (step S40). Here, application 10A receives an instruction from the newly added data processing unit 15A to use the generated data generated by the data processing unit 14B of application 10B.

[0137] The data processing unit of the linked application retrieves the data for the DB item (step S50). In other words, the data processing unit of the linked application retrieves the data for the DB item from the DB with which it is directly linked. Here, the data processing unit 14B of application 10B retrieves the data for the DB item from DB 16b.

[0138] The data processing unit of the linked application performs data processing based on the acquired data (step S60). Here, the data processing unit 14B of application 10B performs data processing based on the DB item data acquired from DB 16b and generates generated data.

[0139] The linked application sends the generated data after data processing to the linked application (step S70). Here, application 10B sends the generated data generated by the data processing unit 14B to application 10A. As a result, the linked application receives and acquires the generated data from the linked application.

[0140] The source application performs data processing using the generated data obtained from the destination application (step S80). Here, the data processing unit 15A of application 10A performs data processing using the generated data obtained from the data processing unit 14B of application 10B. As a result, application 10A generates new generated data using the generated data generated by application 10B.

[0141] Figure 8 illustrates the first API integration performed by the comparative example's data management system. Here, we will explain the case where the comparative example's applications 7A and 7B integrate via API with the comparative example's first data management system.

[0142] Application 7A has API 70A, and Application 7B has API 70B. Applications 7A and 7B can communicate via API 70A and 70B. Here, we will describe the case where Application 7A and DB 75a, which is directly linked to Application 7A, are existing applications and a database, and Application 7B is added, allowing Applications 7A and 7B to communicate via API.

[0143] If application 7A directly links to DB 75a, and applications 7A and 7B are linked via API, then when application 7B wants to use DB 75a, application 7B needs to link to each DB item of DB 75a via API.

[0144] DB 75a, which is already linked with application 7A, manages data using DB items that are management items specific to application 7A. Therefore, even if application 7B and application 7A are linked via API, API linkage between application 7B and DB 75a, which is linked to application 7A, will be difficult. Furthermore, if there is a DB 75b that will later be linked to application 7B, this DB 75b will manage data using DB items specific to application 7B. Therefore, inter-DB linkage between DB 75b, which is linked to application 7B, and DB 75a, which is linked to application 7A, will also be difficult.

[0145] For Application 7B to API-link with DB 75a, it is necessary to convert the data in DB 75a into data managed with DB items corresponding to Application 7B, and then manage the converted data in a separate DB 75b that is different from DB 75a. In other words, the converted data must be managed with DB items corresponding to Application 7B. Thus, in the first data management system of the comparative example, DB 75a, where data is managed with DB items corresponding to Application 7A, and DB 75b, where data is managed with DB items corresponding to Application 7B, are required. In other words, when the first data management system of the comparative example is extended by API linking between Applications 7A and 7B, DB 75a will be dependent on Application 7A, and DB 75b will be dependent on Application 7B.

[0146] In this case, the same or similar data would be managed in each DB 75a and 75b, resulting in inefficient data management. In other words, duplicate data would be managed between different DBs 75a and 75b, preventing efficient utilization of DBs 75a and 75b. Furthermore, DB linkage between application 7A and DB 75b, and between application 7B and DB 75a, would be cumbersome.

[0147] Figure 9 illustrates the second API integration performed by the comparative example's data management system. Here, we will explain the case where the comparative example's applications 8A and 8B integrate via API with the comparative example's second data management system.

[0148] Application 8A has API 80A, and application 8B has API 80B. Applications 8A and 8B can communicate via API 80A and 80B. Here, we will describe the case where application 8A and DB 85a, which is directly linked to application 8A, are existing applications and a database, and application 8B is added, allowing applications 8A and 8B to communicate via API.

[0149] If application 8A directly links to DB 85a, and applications 8A and 8B are linked via API, then when application 8B wants to use DB 85a, application 8B needs to link to each DB item of DB 85a via API.

[0150] For example, if application 8A is linked to multiple database items in DB 85a, there is a one-to-one relationship between application 8A and one database item. Therefore, there is a one-to-N relationship between application 8A and N (where N is a natural number) database items. Consequently, if we want to link application 8B with database items in DB 85a, we will need to link application 8B to each database item individually, requiring a total of N linking processes.

[0151] Thus, when applications 8A and 8B communicate via API, the added application 8B needs to be linked to the existing DB 85a. In other words, when linking application 8B with DB 85a, API communication needs to be performed for each DB item or for each DB 85a entry.

[0152] Thus, the first data management system in the comparative example cannot manage data efficiently. On the other hand, in the data management system 101 of this embodiment, the data processing unit 14B calculates generated data using the data in DB 16b, and the data processing unit 15A performs data analysis and other operations using the generated data calculated by the data processing unit 14B. As a result, when application 10A uses the data in DB 16b, it is not necessary to provide a DB in which data is managed with DB items corresponding to application 10A, so the data management system 101 can manage data efficiently.

[0153] Furthermore, in the second data management system of the comparative example, although the API linkage between applications 8A and 8B requires the linkage between application 8B and DB 85a, it is not possible to systematically implement the API linkage between applications 8A and 8B and the API linkage between application 8B and DB 85a. On the other hand, in the data management system 101 of this embodiment, the data processing unit 14B calculates generated data using the data in DB 16b and provides the generated data to the data processing unit 15A, so that the API linkage between applications 10A and 10B and the API linkage between application 10A and DB 16b can be systematically implemented.

[0154] In other words, in the data management system 101 of this embodiment, when applications 10A and 10B are linked via API, one application can obtain data from the database connected to the other application via API linkage. Specifically, application 10B can obtain data from database 16a connected to application 10A via API linkage. Similarly, application 10A can obtain data from database 16b connected to application 10B via API linkage. As a result, in the data management system 101 of this embodiment, N (where N is a natural number) : M (where M is a natural number) API linkages between applications become possible.

[0155] Figure 10 is a diagram illustrating applications that can be linked in the data management system according to the embodiment, and applications for which API linkage is recommended for already installed applications. Figure 10 conceptually shows the data management system 103 when the data management system 103 is constructed by linking multiple applications that can access the data processing device 120X, which includes a DB, via API. The applications shown in Figure 10 are also a list of applications in the product lineup that can construct the data management system 103. In the following description, when it is not necessary to distinguish between application terminals 1A to 1D, application terminals 1A to 1D may be referred to as application terminal 1X.

[0156] The API integration configuration in Figure 10 shows which applications can be integrated via API. Specifically, the API integration configuration in Figure 10 shows that, for example, applications initially introduced, such as the equipment planning application 34, can be added to the applications shown in Figure 10, and that API integration shown in Figure 10 is possible. The data management system 103 is a system that allows multiple applications to be integrated, and Figure 10 shows the data management system 103 after its construction is complete.

[0157] The data processing device 120X is a device that has the same functions as the data processing devices 120A and 120B. Here, we will describe the case where the data management system 103 has one data processing device 120X, but the data management system 103 may have multiple data processing devices, like the data management systems 101 and 102. For example, the data management system 103 may have data processing devices 120A and 120B instead of data processing device 120X, or it may have data processing devices 120C and 120D.

[0158] The data processing device 120X stores multiple databases and multiple applications, and builds the data management system 103 by linking the applications connected to the databases via APIs.

[0159] The data processing device 120X comprises a storage unit 50, an RBAC (Role Based Access Control) unit 51, and a recommendation unit 55. The RBAC unit 51 includes a linkage confirmation unit 52, a role setting unit 53, and a role monitoring unit 54.

[0160] The storage unit 50 stores a database group 160X containing multiple databases such as database groups 160A and 160B, and an application group 5X containing multiple applications such as applications 10A and 10B. Note that the application group 5X may be stored by a device other than the data processing device 120X, such as a cloud server.

[0161] Each database within the DB group 160X stores production equipment data, data on production equipment anomaly detection in production equipment (not shown), and so on. Applications within the application group 5X and databases within the DB group 160X are connectable. That is, the storage unit 50 stores multiple pairs of connectable applications and databases. For example, in the data management system 101, the data processing devices 120X are data processing devices 120A and 120B. The storage unit 50 also stores DB groups 160A and 160B, application 10A corresponding to DB group 160A, and application 10B corresponding to DB group 160B.

[0162] The data management system 103 has, for example, a product design area for designing products, a production equipment area for designing production equipment to produce the designed products, and an equipment manufacturer area for designing production equipment to implement the designed production equipment on the production line. The data management system 103 is configured so that necessary applications can be added to each area via API integration.

[0163] This section describes a case where the data management system 103 can be used for seven applications, and these seven applications collect data from a data processing device 120X common to all seven applications and perform data processing. Note that this section describes a case where the data management system 103 does not have a server or cloud server; however, the data management system 103 may, like the data management system 101, include a server and cloud server.

[0164] The seven applications to which the data management system 103 can be applied can each be installed on a different application terminal 1X. However, any one of the seven applications may be installed on the same application terminal 1X.

[0165] The data management system 103 can be used for seven applications: a product planning application 31, a design application 32, a large-scale planning application 33, a facility planning application 34, a facility construction application 35, a facility design application 36, and a facility line-in application 37.

[0166] The product planning application 31 and the design application 32 are installed on the application terminal 1X used for product design. The large-scale planning application 33, the equipment planning application 34, and the equipment construction application 35 are installed on the application terminal 1X located within the production equipment. The equipment design application 36 and the equipment line-in application 37 are installed on the application terminal 1X of the equipment manufacturer.

[0167] Product planning application 31 has API 41, design application 32 has API 42. Large-scale planning application 33 has API 43, equipment planning application 34 has API 44, equipment construction application 35 has API 45. Equipment design application 36 has API 46, and equipment line-in application 37 has API 47.

[0168] Figure 10 shows the case where API 41 communicates via APIs 42 to 44, and API 42 communicates via API 44. It also shows the case where API 43 communicates via API 44, API 44 communicates via APIs 45 and 46, and API 46 communicates via API 47. The data management system 103 enables the sending and receiving of generated data via APIs between applications that are communicating via APIs.

[0169] The product planning application 31 is an application for product planning. Based on data stored in the memory unit 50 and generated data such as product design data obtained from the design application 32 via API linkage (described later), the product planning application 31 generates product plans, including product images.

[0170] The design application 32 generates product design data, which is the design data for the product, based on data in the memory unit 50, generated data such as product plans obtained from the product planning application 31 via API linkage, and information for manufacturing the product. Information for manufacturing the product is, for example, BOM (Bill of Materials) data 21. Product design data is, for example, CAD (Computer-Aided Design) data 22.

[0171] The large-scale planning application 33 generates a large-scale plan, which is a rough plan of the production facilities, based on data in the storage unit 50 and generated data such as product plans obtained from the product planning application 31 via API linkage. The large-scale plan generated by the large-scale planning application 33 includes a future concept for the production facilities.

[0172] The equipment planning application 34 generates an equipment plan, which is data for planning a production line including production equipment, based on data in the storage unit 50, generated data such as product design data obtained from the design application 32 via API linkage, and generated data such as the large-scale plan obtained from the large-scale planning application 33 via API linkage. The equipment plan generated by the equipment planning application 34 includes a line image, which is an image of the production line. In other words, the equipment planning application 34 can also construct an image of the production line as an equipment plan. The image of the production line is, for example, a layout diagram of the production equipment on the production line.

[0173] The equipment construction application 35 generates line construction information, which is information for constructing a production line in which production equipment is arranged, based on data in the storage unit 50, generated data such as equipment plans obtained from the equipment planning application 34 via API linkage, and other such data.

[0174] The equipment design application 36 generates production equipment design data, which is design data for production equipment to be implemented on the production line, based on data in the storage unit 50, generated data such as equipment plans obtained from the equipment planning application 34 via API linkage, and other data.

[0175] The equipment line-in application 37 generates production equipment operation information, which is information for placing and operating production equipment on a production line, based on generated data such as data in the storage unit 50 and production equipment design data obtained from the equipment design application 36 via API linkage.

[0176] Furthermore, the applications applicable to the data management system 103 are not limited to the seven applications mentioned above; any application may be used.

[0177] The RBAC unit 51 has an RBAC function to ensure security for the data in the DB contained in the storage unit 50. The RBAC unit 51 controls which data in the DB contained in the storage unit 50 can be accessed by the application or user of the application terminal 1X in the data management system 103. The RBAC unit 51 controls access from the application terminal 1X or user by assigning roles to each application terminal 1X or user and granting permissions to each role. For example, the RBAC unit 51 controls access from the application terminal 1X or user in accordance with instructions from the administrator of the data management system 103.

[0178] Thus, in the data management system 103, although the DB is expanded within the storage unit 50 as the application expands, if all application terminals 1X or users were to be able to access the DB, security for the data in the DB could not be ensured. Therefore, the RBAC unit 51 is provided in the data processing device 120X.

[0179] The linkage confirmation unit 52 confirms which applications are linked via API based on the API linkage portion between applications. The linkage confirmation unit 52 confirms which applications are linked via API based on APIs such as API 5A and 5B of the application terminal 1X.

[0180] The role setting unit 53 sets roles in the API linkage portion between applications based on the API linkage confirmed by the linkage confirmation unit 52, thereby restricting access to the DB. The role setting unit 53 may set roles for multiple DBs connected to an application simultaneously by setting roles in the API linkage portion, or it may set roles for only some of the multiple DBs. By setting roles in the API linkage portion, the role setting unit 53 makes it easy to monitor the entire contents of the storage unit 50, and enables easy and effective utilization of the DB.

[0181] The role monitoring unit 54 monitors the roles based on the role settings made by the role setting unit 53. The role monitoring unit 54 changes the role settings as needed.

[0182] In the data processing device 120X, when accessed from each application terminal 1X within the data management system 103, the linkage confirmation unit 52 confirms the API linkage, and the role setting unit 53 sets a role for the API linkage portion between applications.

[0183] For example, when role settings are made on a departmental or individual basis within the same company or legal entity, the authorized person within the legal entity inputs instructions for role setting into the RBAC unit 51. The RBAC unit 51 sets roles for users of the application or application terminal 1X according to the instructions input by the authorized person within the legal entity.

[0184] Furthermore, when role settings are made on a company- or legal entity basis, the service provider of the data management system 103 inputs instructions for role setting into the RBAC unit 51. The RBAC unit 51 sets roles for users of the application or application terminal 1X according to the instructions input by the service provider.

[0185] Here, we assume that a data management system 103 is initially constructed, which includes an equipment planning application 34 and a data processing device 120X containing a database corresponding to the equipment planning application 34. Subsequently, the recommendation unit 55 repeatedly recommends applications that it recommends for API integration with the equipment planning application 34 to the application terminal 1X of the equipment planning application 34, and the recommended applications then perform API integration with the equipment planning application 34. This constructs the data management system 103 as shown in Figure 10.

[0186] When a data management system 103 as shown in Figure 10 is constructed, the recommendation unit 55 notifies existing applications that have already been installed of the next application that it recommends installing. Assume that in the data management system 103, the equipment planning application 34 and the data processing device 120X are linked, and other applications are not linked to the data processing device 120X. In this case, the recommendation unit 55 notifies the application terminal 1X, which is equipped with the existing equipment planning application 34, of the next application that it recommends installing.

[0187] The recommendation unit 55 may also send the next recommended application to a user terminal other than the application terminal 1X that has the existing application installed. The following describes the case where the recommendation unit 55 sends the next recommended application to the application terminal 1X that has the existing application installed. Hereinafter, the application terminal 1X that receives notifications of the next recommended application may be referred to as the recommendation notification terminal.

[0188] If one of two API-compatible applications is installed on a user's system, but the other application is not, then the other application is a recommended candidate for the other application. In other words, any application that can API-integrate with an already installed application is a candidate for application that is recommended for API integration with the already installed application.

[0189] The recommendation unit 55 determines which applications have a high degree of relevance to the DB items of the DB linked to the already installed applications as the next applications to be recommended for installation. In other words, the recommendation unit 55 determines which applications are recommended for API integration from among the recommended candidate applications based on the degree of relevance of DB items between the DBs of API-compatible applications. The recommendation unit 55 determines which applications to recommend from among the applications stored in the data processing device 120X.

[0190] The recommended applications may be predetermined by the data processing device 120X, or they may be set by the administrator of the data processing device 120X. Furthermore, the recommendation unit 55 may designate all recommendable applications as the recommended applications.

[0191] The recommendation unit 55 determines which application to recommend based on the types of DB items used by the installed application and the types of DB items available to the candidate application. Specifically, when determining which application to recommend, the recommendation unit 55 calculates, for example, the number of matches between the DB items used by the installed application and the DB items used by the candidate application. Hereinafter, this number of matches will be referred to as the number of matching items. The recommendation unit 55 calculates the degree of relevance based on the number of matching items for the installed application. Note that the degree of relevance between applications may be calculated by an external device other than the data processing device 120X.

[0192] The recommendation unit 55 calculates the relevance of recommended candidate applications such that applications with a larger number of matching items to already installed applications have a higher relevance.

[0193] The recommendation unit 55 determines the application to recommend based on its high degree of relevance to the DB items used by the already installed application. In other words, the recommendation unit 55 determines that an application is more highly related to the already installed application if it has a larger number of matching items with the already installed application among the candidate applications for recommendation.

[0194] The recommendation unit 55 calculates the degree of relevance between applications based on DB item information, for example, which DB items each application uses. DB item information will be described later.

[0195] In this way, the recommendation unit 55 determines which applications to recommend based on the DB item information and the applications the user has already installed. That is, the recommendation unit 55 extracts candidate applications based on the applications the user has already installed. Then, based on the DB item information, the recommendation unit 55 determines the top n (where n is a natural number) applications from the candidate applications that have a high degree of relevance to the applications the user has already installed as the applications to recommend.

[0196] The recommendation unit 55 determines which applications to recommend API integration for from among the applications stored in the storage unit 50. The recommendation unit 55 pre-stores the applications to be recommended for API integration in the data processing device 120X.

[0197] The recommendation unit 55 may also determine which of the candidate applications to recommend is one whose relevance to an application already installed by the user is higher than a specific value. Furthermore, the administrator of the data processing unit 120X may configure the data processing unit 120X to recognize applications for which API integration is recommended.

[0198] The recommendation unit 55 notifies the recommendation notification terminal of the content of the recommended application. The recommendation unit 55 may also notify the recommendation notification terminal of relevance information, which is information indicating the degree of relevance between the recommended candidate application and the applications already installed by the user.

[0199] The recommended notification device displays the content and relevance information of recommended applications on a display device (not shown). When displaying relevance information on a display device, the recommended notification device displays the application information in order of relevance, from highest to lowest. Application information includes, for example, the application name and application content.

[0200] The applications recommended by the recommendation unit 55 are those with a high degree of relevance to the DB items of existing applications. Therefore, the recommendation unit 55 notifies the recommendation notification terminal of applications whose degree of relevance to DB items linked to data managed within the DB is higher than a specific rank or value. If there are multiple candidates for additional applications, i.e., candidates recommended by the recommendation unit 55, the recommendation notification terminal can visualize the application information in order of relevance by displaying the application information in order of decreasing relevance.

[0201] The recommendation notification terminal selects a desired application from the notified applications, i.e., recommended applications, according to the user's instructions. The recommendation notification terminal transmits information identifying the selected application to the data processing device 120X. The data processing device 120X provides the user of the recommendation notification terminal with the application specified by the recommendation notification terminal and the database necessary to install this application.

[0202] The data processing device 120X sends the new application specified by the recommendation notification terminal to the new application terminal 1X prepared by the user. The role setting unit 53 of the data processing device 120X also grants the new application terminal 1X, which sent the new application, access to the database necessary for installing this new application. This enables API integration between existing applications and the application specified by the recommendation notification terminal. In this way, various applications are added to the data management system 103 through API integration.

[0203] Furthermore, when automatically performing API integration for already installed applications, the API integration is performed in order from the most relevant applications among the recommended additional candidate applications. Then, the master management unit 161A of the data processing device 120X adds the expanded DB to the DB group 160X in the storage unit 50 as needed. As a result, the data management system 103, including the installed applications, can build a refined DB.

[0204] In this embodiment, the database (DB) included in the storage unit 50 stores prime number data so that applications can calculate the desired data. Therefore, in the data management system 103, a database built for an already installed application, such as the equipment planning application 34, can be reused by other applications as well.

[0205] Furthermore, applications other than the equipment planning application 34 can use the generated data that the equipment planning application 34 generates from DB items in the DB. That is, since each application is equipped with a data processing unit such as data processing units 14A, 14B, 15A, and 15B, the data management system 103 can acquire generated data generated by other applications when each application is API-linked with other applications. For example, if the equipment planning application 34 generates generated data by performing data processing using data acquired from the DB contained in the storage unit 50, applications API-linked to the equipment planning application 34 will be able to acquire this generated data. If the product planning application 31 API-links to the equipment planning application 34, the product planning application 31 will be able to acquire the generated data generated by the equipment planning application 34.

[0206] In the case of the data management system 101, the data management system 101 may revise DBs 16a and 16b in response to API integration and add extended DBs 17a and 17b. For example, the data management system 101 may add DB items, which are management items, in order to improve the efficiency of data management, and store the added DB items in extended DBs 17a and 17b. In this way, the data management system 101 can build up applications by repeatedly performing the process of executing API integration in order of the degree of relevance of applications and the process of adding extended DBs such as extended DBs 17a and 17b.

[0207] Figure 11 shows a first example of the configuration of DB item information used by the data management system according to the embodiment when calculating the relevance of applications. Figure 12 shows a second example of the configuration of DB item information used by the data management system according to the embodiment when calculating the relevance of applications. Here, we will explain the case where application A1 is an already installed application and applications A2 to A4 are recommended candidate applications.

[0208] DB Item Information 81, which is the first example of DB Item Information, and DB Item Information 82, which is the second example of DB Item Information, contain information on the types and number of DB items used by each application.

[0209] The recommendation unit 55 creates DB item information 81 or DB item information 82, and calculates the degree of relevance between applications based on DB item information 81 or DB item information 82.

[0210] In the DB item information 81 in Figure 11 and the DB item information 82 in Figure 12, the number of times applications A1 to A4 use DB items d1 to d7 is shown. For example, application A1 uses DB item d1 once. Note that in DB item information 81 and 82, where the number of DB items is not listed, it indicates that the DB item is not used. For example, application A2 does not use DB item d3 at all.

[0211] DB item information 81 contains information on the number of matching items for applications A2 to A4 relative to application A1. DB item information 82 contains information on the number of matching items for applications A2 to A4 relative to application A1, a weighting coefficient to be multiplied by each matching item count, and information on the weighted match count obtained by multiplying the matching item count by the weighting coefficient for each application A2 to A4. The weighting coefficient is set based on the frequency of use of applications A2 to A4 or information related to the company's management, etc. For example, the weighting coefficient for applications that are considered beneficial to the user is set to be higher than the weighting coefficient for applications that are considered unbeneficial. The weighting coefficient may be set in DB item information 82 in advance, or it may be set by the user in DB item information 82.

[0212] Note that weighting coefficients may be set for each DB item. For example, a first weighting coefficient may be set for DB item d1, and a second weighting coefficient may be set for DB item d2.

[0213] The number of matching items for each application A2 to A4 is calculated, for example, by the recommendation unit 55 and stored in the DB item information 81 and 82. In addition, the weighted number of matching DB items for each application A2 to A4 is calculated by the recommendation unit 55 and stored in the DB item information 82.

[0214] When using DB item information 81, the recommendation unit 55 calculates the degree of relevance between applications by comparing the number of matching items for each application A2 to A4. For example, the recommendation unit 55 determines that the application with the largest number of matching items among applications A2 to A4 is the application with the highest degree of relevance to application A1.

[0215] In the case of DB item information 81 in Figure 11, the number of matching items for application A3 is "4", which is the largest number among the number of matching items for applications A2 to A4. Therefore, the recommendation unit 55 sends a notification recommending application A3 to the recommendation notification terminal, which is application terminal 1X using application A1.

[0216] When using DB item information 82, the recommendation unit 55 calculates the degree of relevance between applications by comparing the number of weighted matches of DB items for each application A2 to A4. For example, the recommendation unit 55 determines that the application with the largest number of weighted matches among applications A2 to A4 is the application with the highest degree of relevance to application A1.

[0217] In the case of DB item information 82 in Figure 12, the weighted match count for the DB items of application A4 is "6.0", which is the largest weighted match count. Therefore, the recommendation unit 55 sends a notification to the recommendation notification terminal (application terminal 1X using application A1) recommending application A4.

[0218] For example, if application A1 is an existing application 10A, and applications A2 to A4 are candidate applications 10B, then application terminal 1X using application A1 will display information about applications A2 to A4 in order of their degree of relevance to the DB items in DB 16a.

[0219] For example, in Figure 10, the application of product planning application 31 is recommended as an application for planning products that can be produced by the production equipment. When product planning application 31 is applied and linked with equipment planning application 34 via API, the data processing device 120X adds missing database items to the database. In this way, the application and the database expand in cooperation with each other.

[0220] The recommendation unit 55 uses DB item information 83 or DB item information 84 to select the product planning application 31 as an application for planning products that can be produced by the production equipment. The recommendation unit 55 then notifies the recommendation notification terminal that the selected product planning application 31 is recommended as an application for planning products.

[0221] When the product planning application 31 and the equipment planning application 34 are linked via API, the data processing device 120X adds the missing database items to the storage unit 50. In other words, the data processing device 120X adds the missing database items from the API linkage to the database linked to the product planning application 31 as an extended database. As a result, the database is expanded while the newly added application and the database are linked.

[0222] The data processing device 120X adds an expansion database if the database linked to the product planning application 31 does not contain the prime number data required for API linkage with the equipment planning application 34. For example, the data processing device 120X determines that the database is insufficient if a database item calculation formula is pre-configured in the data processing unit of the application terminal 1X equipped with the product planning application 31, and the database items used in the database item calculation formula are not stored in the database linked to the product planning application 31.

[0223] Furthermore, when the recommendation unit 55 determines which application to recommend, it may, for example, calculate the total number of DB items used by each application. Hereinafter, the total number of DB items used by an application will be referred to as the total number of items. The recommendation unit 55 calculates the degree of relevance based on the total number of items for the already installed applications. The recommendation unit 55 calculates the degree of relevance based on the difference between the total number of items in the already installed applications and the total number of items in the recommended application.

[0224] The recommendation unit 55 calculates the relevance such that the smaller the difference between the total number of items in the installed application and the total number of items in the recommended application, the higher the relevance.

[0225] As a result, the recommendation unit 55 determines that among the recommended candidate applications, those whose total number of items is close to the total number of items in the already installed applications are applications that are highly related to the already installed applications.

[0226] Figure 13 shows a third example of the configuration of DB item information used by the data management system according to the embodiment when calculating the relevance of applications. Figure 14 shows a fourth example of the configuration of DB item information used by the data management system according to the embodiment when calculating the relevance of applications.

[0227] DB item information 83, which is the third example of DB item information, and DB item information 84, which is the fourth example of DB item information, contain information on the types and number of DB items used by each application.

[0228] The recommendation unit 55 creates DB item information 83 or DB item information 84, and calculates the degree of relevance between applications based on DB item information 83 or DB item information 84.

[0229] DB item information 83 contains information on the total number of items for each application A1 to A4. DB item information 84 contains information on the total number of items for each application A1 to A4, a weighting coefficient applied to each total number of items, and information on the weighted total number obtained by multiplying the total number of items by the weighting coefficient for each application A1 to A4.

[0230] The total number of items for each application A1 to A4 is calculated, for example, by the recommendation unit 55 and stored in the DB item information 83 and 84. Furthermore, the weighted total number of DB items for each application A1 to A4 is calculated by the recommendation unit 55 and stored in the DB item information 84.

[0231] When using DB item information 83, the recommendation unit 55 calculates the degree of relevance between applications by comparing the total number of items for each application A1 to A4. For example, if the installed application is application A1, the recommendation unit 55 determines that the application with the total number of items closest to "7" for application A1 is the application with the highest degree of relevance to application A1.

[0232] In the case of DB item information 83 in Figure 13, the total number of items in application A2 is "4", which is the closest to the total number of items in application A1, "7". Therefore, the recommendation unit 55 sends a notification recommending application A2 to the recommendation notification terminal, which is the application terminal 1X using application A1.

[0233] When using DB item information 84, the recommendation unit 55 calculates the degree of relevance between applications by comparing the total weighted number of DB items for each application A1 to A4. For example, if the installed application is application A1, the recommendation unit 55 determines that the application with the total weighted number closest to "7" for application A1 is the application with the highest degree of relevance to application A1.

[0234] In the case of DB item information 84 in Figure 14, the total weighted number of DB items for application A3 is "5.4", which is the closest to the total weighted number of application A1, "7". Therefore, the recommendation unit 55 sends a notification recommending application A3 to application terminal 1X, which is using application A1, which is the recommended notification terminal.

[0235] Figure 15 is a flowchart showing the processing steps for adding an application for which API integration is recommended to an already installed application in the data management system according to the embodiment. Here, the processing steps for the process executed by the data management system 103 will be described.

[0236] The data processing device 120X checks the database items of the database already built in the data management system 103 (step S110). The data processing device 120X extracts applications from which the checked database items have a high degree of relevance to the applications that can be installed in the data management system 103 but have not yet been installed (step S120). In other words, the data processing device 120X extracts applications from which the degree of relevance between the database items of the built database and the database items of the applications that have not yet been installed is higher than a specific value.

[0237] The data processing device 120X notifies the user of applications whose relevance is higher than a specific value (step S130). That is, the data processing device 120X notifies the recommendation notification terminal owned by the user of the application terminal that is directly linked to the constructed DB of applications whose relevance is higher than a specific value. The applications that the data processing device 120X notifies the recommendation notification terminal of are applications that recommend API integration to the application terminal that is directly linked to the constructed DB. Hereinafter, the application terminal that is directly linked to the constructed DB may be referred to as an existing application.

[0238] The recommendation notification terminal displays recommended applications on a display device or similar. This allows the user to select one of the recommended applications. The recommendation notification terminal then notifies the data processing device 120X of the application selected by the user.

[0239] The data processing device 120X retrieves the application selected by the user and adds it to the data management system 103 (step S140). Hereinafter, the application added to the data management system 103 may be referred to as the added application. The data processing device 120X connects the added application selected by the user to the pre-built database via API integration (step S150).

[0240] The data processing device 120X adds any missing databases to the existing database as extension databases (step S160). For example, if an existing application obtains generated data from an additional application via API integration, the data processing device 120X adds any missing databases to the existing database as extension databases. That is, if the existing application is the source application and the additional application is the destination application, the extension database is added to the database that the existing application directly integrates with.

[0241] Furthermore, when an additional application obtains generated data from an existing application via API integration, the data processing device 120X adds any missing databases as extension databases to the database that the additional application is directly linked to. In other words, when the additional application is the source application and the existing application is the destination application, the extension database is added to the database that the additional application is directly linked to. The data processing device 120X repeats the processing in steps S110 to S160.

[0242] Thus, when the source application obtains generated data from the destination application via API integration, the data processing device 120X adds any missing databases as extension databases to the database that the source application is directly linked to.

[0243] Figure 16 is a diagram illustrating the process by which a data management system according to an embodiment expands applications and databases. Here, we will describe the process by which a data management system 103 equipped with a data processing device 120X (not shown) efficiently expands applications and databases.

[0244] The data management system 103 has application 61 installed. The data processing device 120X determines which DB 62 is linked to application 61 based on the API linkage configuration.

[0245] The recommendation unit 55 of the data processing device 120X determines a recommended application based on the application 61, the API linkage configuration, and the DB item information. The recommendation unit 55 proposes to the application terminal 1X equipped with the application 61 that it add the determined application.

[0246] Figure 16 shows the case where the recommendation unit 55 has selected application 61X as the recommended application, and application 61X has been added to the data management system 103. The data processing device 120X connects application 61 and application 61X via API.

[0247] The data processing device 120X determines which database items are missing from application 61X in the API communication between application 61 and application 61X. The data processing device 120X adds an extended database 62X to store the missing database items from application 61X. In this way, the data processing device 120X can build a user-friendly database 62 in accordance with the expansion of application 61 by extending the database 62 according to the adoption of the recommended application 61X.

[0248] In the data management system 103, the process of adding application 61X to application 61 and DB 62, and the process of adding the extended DB 62X are repeated. Similarly, data management systems 101 and 102 also efficiently expand applications and DBs using the same process as the data management system equipped with the data processing device 120X.

[0249] Next, we will explain an example of data processing in the data processing unit 14B. Note that in the data processing unit 14A, although the DB items used for data processing are different, the same data processing is performed as in the data processing unit 14B. Below, we will explain the data processing examples in the data processing unit 14B in the order of data processing method M1, data processing method M2, and data processing method M3.

[0250] <Data Processing Method M1> The first data processing method, data processing method M1, is a data processing method in which the data processing unit 14B calculates the trouble time without directly obtaining the trouble time, which is the time from when a trouble occurs in the production equipment until the work is completed, from DB16b, assuming that the trouble time is not stored in DB16b as prime number data. The trouble time, from when a trouble occurs until the work is completed, is the period during which the trouble occurred.

[0251] When the data processing unit 14B performs data processing according to the data processing method M1, it extracts data from one or more databases within DB 16b and performs data processing using the extracted data. Here, we will describe the case in which the data processing unit 14B performs data processing using the data in the databases shown in Figures 17 and 18 below.

[0252] Figure 17 shows an example of the data structure stored in the work completion DB of the data management system according to the embodiment. Figure 18 shows an example of the data structure stored in the troubleshooting DB of the data management system according to the embodiment. The work completion DB 71 and the troubleshooting DB 72 are DBs included in DB 16b.

[0253] The Work Completion DB71 is a database that stores data on the start time and completion time of work performed on production equipment. In the Work Completion DB71, the production line name, the model name of the product produced on the production line, the start time of the work performed on that production equipment, and the completion time of the work are associated with each other. When the same model of product is produced on the same production line, the work is performed consecutively. Therefore, when the same model of product is produced on the same production line, the work start time is left blank for all but one product. Among the data in the Work Completion DB71, the work start time and work completion time are DB items.

[0254] Troubleshooting DB72 is a database that stores data on the time of occurrence of troubles in production equipment. In Troubleshooting DB72, the production line name, the model name of the product being produced, the name of the trouble on the production line, and the time the trouble occurred are associated with each other. Among the data in Troubleshooting DB72, the time the trouble occurred is a DB item.

[0255] For example, when calculating the trouble time of a trouble TA on production line L1, the data processing unit 14B reads the trouble occurrence time for the trouble TA on production line L1 stored in the troubleshooting DB 72. Furthermore, the data processing unit 14B reads the work completion time for production line L1 stored in the work completion DB 71. In this case, the data processing unit 14B reads the closest work completion time after the trouble occurrence time of the trouble TA.

[0256] Normally, when a problem occurs, the process to resolve the problem is executed after the work being performed is completed. Therefore, the time from when the problem occurs until the work is completed is called the problem time.

[0257] The data processing unit 14B calculates the trouble time from the difference between the time the trouble occurred and the time the work was completed. Thus, the data processing unit 14B calculates the trouble time using the data from the DB items of the work completion DB 71 and the troubleshooting DB 72. In this way, the data processing unit 14B obtains the necessary data through calculation by utilizing the data from each DB item of multiple DBs. The data processing unit 14B also calculates the trouble time for production line L2 in the same way as for production line L1.

[0258] <Data Processing Method M2> The second data processing method, data processing method M2, is a data processing method in which the data processing unit 14B calculates the cycle time without directly acquiring the cycle time, which is the time from the start to the completion of work in the production equipment, assuming that the cycle time is not prime number data and is not stored in DB16b.

[0259] Conventionally, the PLC-side device on the edge side calculated the cycle time from the start to the completion of the work using a timer and stored the cycle time data. In other words, conventionally, data acquisition devices such as data acquisition device groups 110A and 110B calculated the cycle time and stored the cycle time data. In this case, a program to calculate the cycle time was required for all units, i.e., the data acquisition devices, resulting in a large number of steps.

[0260] Therefore, in this embodiment, the data processing unit 14B uses the data collected by the data acquisition device group 110B to calculate the time difference, which is the time from one work completion time to the next work completion time, as the cycle time. Specifically, the data processing unit 14B reads the work completion time and the next work completion time from the work completion DB 71 and calculates the cycle time based on the time difference between the work completion times. Based on the cycle time calculated for each work within the specified period, the data processing unit 14B displays the mode within the specified period as the cycle time on a display device or the like.

[0261] <Data Processing Method M3> The third data processing method, data processing method M3, is a data processing method in which the data processing unit 14B calculates the setup time without directly obtaining the setup time, which is the time required for setup changes, assuming that the setup time is not stored in DB16b as prime number data. Setup changes are processes in which production equipment is changed in order to process under appropriate conditions when changing the type of workpiece, etc. Changes to production equipment include changing the tools used by the production equipment and adjusting manufacturing parameters.

[0262] Traditionally, the edge-side equipment calculated the setup time, from the start time to the completion time of the setup change, using a timer, and stored the setup time data. In this case, every unit, i.e., every data acquisition device, needed a program to calculate the setup time, resulting in a large number of steps.

[0263] Therefore, in this embodiment, the data processing unit 14B uses the data collected by the data acquisition device group 110B to calculate the changeover time as the difference between the work completion time before the model name indicating the model of the product being manufactured changes and the work start time after the model has changed.

[0264] Specifically, the data processing unit 14B selects the machine model in which a model change will occur from the work completion DB 71. For example, the data processing unit 14B selects a change from machine model Ma to machine model Mb. When a change from machine model Ma to machine model Mb occurs, a setup change is performed. Therefore, the data processing unit 14B reads the work completion time immediately before the model change occurs and the work start time immediately after the model change occurs. Subsequently, the data processing unit 14B calculates the time difference between the read work completion time and work start time as the setup change time.

[0265] The data processing unit 15A performs various data processing operations using the generated data, such as trouble time, cycle time, and setup changeover time, calculated by the data processing unit 14B.

[0266] Here, we will explain the data of DB items in the extended DB that are added when the data processing unit 14B performs data processing. For example, suppose the equipment planning application 34 constructs an image of the production line using data in the troubleshooting DB 72. Also, suppose the product planning application 31 is added to the application terminal 1A as an application with a high degree of relevance to the equipment planning application 34. In this case, the equipment planning application 34 and the product planning application 31 will communicate via API.

[0267] The product planning application 31, when planning a product image, constructs the product image by referring to the working time and trouble situations during the manufacturing of conventional products in order to create a product image that is efficient for production. The product image is information related to the product design, product manufacturing process, or product appearance.

[0268] In this case, the product planning application 31 constructs a product image using the production line image created by the equipment planning application 34 and the data in the troubleshooting DB 72.

[0269] The product planning application 31 extracts production lines that experience more problems than other production lines, and production lines that take longer to recover from problems than other production lines, based on data in the troubleshooting DB 72.

[0270] The image of a production line that experiences many problems, and the image of a production line that takes a long time to recover from problems, corresponds to the image of a product with poor production efficiency.

[0271] Product images with poor production efficiency may be due to incompatibility with production equipment, thus reducing production efficiency. Therefore, the product planning application 31 creates product images with good production efficiency while referring to product images with poor production efficiency. Here, information on product images with poor production efficiency is stored in the extended database, and the product planning application 31 refers to these product images.

[0272] Thus, in the data management system 101, the product planning application 31 needs information such as product drawings and dimensions in order to grasp the product image of conventional products. Therefore, the data management system 101 adds an extended database for storing information such as product drawings and dimensions.

[0273] The product planning application 31 then extracts images of production lines that experience more problems than other production lines, and images of production lines that take longer to recover from problems than other production lines, based on the data in the extended database, as images of products with poor production efficiency. This allows the product planning application 31 to create images of products with good production efficiency by referring to images of products with poor production efficiency.

[0274] The data processing unit 14B may also transmit the data read from DB 16b directly to the data processing unit 15A. Similarly, the data processing unit 14A may transmit the data read from DB 16a directly to the data processing unit 15B.

[0275] Furthermore, the data processing unit 14B may calculate generated data from the data read from DB 16b and transmit it to the data processing unit 15A, and the data processing unit 15A may use the generated data received from the data processing unit 14B. In this case, the data processing unit 15A may use the received generated data as is without performing any further data processing, or it may perform further data processing on the received generated data.

[0276] Similarly, the data processing unit 14A may calculate generated data from the data read from DB 16a and transmit it to the data processing unit 15B, and the data processing unit 15B may use the generated data received from the data processing unit 14A. In this case, the data processing unit 15B may use the received generated data as is without performing any further data processing on it, or it may perform further data processing on the received generated data.

[0277] If application 10A is the first application, the data managed by DB 16a is the first data, the data managed by DB 16b is the second data, and the data generated by data processing unit 14B is the third data.

[0278] Furthermore, if application 10B is the first application, the data managed by DB 16b is the first data, the data managed by DB 16a is the second data, and the data generated by data processing unit 14A is the third data.

[0279] Next, the hardware configuration of application terminals 1A to 1D and data processing devices 120A, 120B, and 120X will be described. Application terminals 1A to 1D and data processing devices 120A, 120B, and 120X are implemented by processing circuits. The processing circuits may be a processor and memory that execute programs stored in memory, or they may be dedicated hardware. When application terminals 1A to 1D and data processing devices 120A, 120B, and 120X are implemented by processing circuits, each processing circuit has a similar hardware configuration, so here we will describe the hardware configuration of application terminal 1A.

[0280] Figure 19 is a diagram showing an example of the configuration of a processing circuit when the processing circuit of an application terminal according to the embodiment is realized with a processor and memory. The processing circuit 90 shown in Figure 19 comprises a processor 91 and memory 92. When the processing circuit 90 is composed of a processor 91 and memory 92, each function of the processing circuit 90 is realized by software, firmware, or a combination of software and firmware. The software or firmware is written as an application 10A, which is a data management program, and is stored in memory 92. In the processing circuit 90, each function is realized by the processor 91 reading and executing the data management program stored in memory 92. That is, the processing circuit 90 includes memory 92 for storing the data management program, which will ultimately be executed by the processing of the application terminal 1A. This data management program can also be said to be a program that causes the application terminal 1A to execute each function realized by the processing circuit 90. This data management program may be provided on a computer-readable recording medium on which the data management program is recorded, or it may be provided by other means such as a communication medium.

[0281] The data management program may also include a terminal control program for executing the functions of the terminal control unit 16A. Furthermore, the data management program and the terminal control program may be separate programs.

[0282] Furthermore, the data management programs for application terminals 1C and 1D may include a master management program for executing the functions of the master management unit 161A. Alternatively, the data management program and the master management program may be separate programs.

[0283] The data management program described above can also be described as a program that causes application terminal 1A to execute the processes in steps S30, S40, and S80 of Figure 7. Furthermore, the data management program can also be described as a program that causes application terminal 1B to execute the processes in steps S50 to S70 of Figure 7. Here, the processor 91 is, for example, a CPU (Central Processing Unit), processing unit, arithmetic unit, microprocessor, microcomputer, or DSP (Digital Signal Processor). The memory 92 can be, for example, a non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Registered Trademark) (Electrically EPROM), magnetic disk, flexible disk, optical disk, compact disk, minidisc, or DVD (Digital Versatile Disc).

[0284] Figure 20 shows an example of the configuration of a processing circuit when the processing circuit of an application terminal according to the embodiment is implemented with dedicated hardware. The processing circuit 93 shown in Figure 20 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The processing circuit 93 may be partially implemented with dedicated hardware and partially implemented with software or firmware. In this way, the processing circuit 93 can realize each of the above functions with dedicated hardware, software, firmware, or a combination thereof.

[0285] In this embodiment, when application 10A interacts with application 10B via API, it interacts with data processing unit 14B, which calculates generated data using the smallest unit of data managed in DB 16b that cannot be obtained through data processing, and calculates generated data using data processing generated by data processing unit 14B. As a result, data management system 101 can manage data efficiently. Similarly, data management systems 102 and 103 can also manage data efficiently, just like data management system 101.

[0286] Furthermore, the data management system 103 determines which applications are recommended for API integration with existing applications based on DB item information and applications already installed by the user, and notifies the recommendation notification terminal. This allows the data management system 103 to notify the user of applications that can manage data efficiently. As a result, users can easily build systems that utilize APIs.

[0287] The configurations shown in the above embodiments are merely examples, and can be combined with other known technologies. It is also possible to omit or modify parts of the configuration without departing from the gist of the invention.

[0288] 1A-1D, 1X Application terminals, 5X Application group, 7A, 7B, 8A, 8B, 10A, 10B, 61, 61X, A1-A4 Applications, 12A, 12B, 13A, 13B DB item calculation formulas, 14A, 14B, 15A, 15B Data processing unit, 16a, 16b DB, 16A, 16B Terminal control unit, 17a, 17b, 62X Extended DB, 21 BOM data, 22 CAD data, 31 Product planning application, 32 Design application, 33 Large-scale planning application, 34 Equipment planning application, 35 Equipment construction application, 36 Equipment design application, 37 Equipment line-in application, 50 Storage unit, 51 RBAC unit, 52 Linkage confirmation unit, 53 Role setting unit, 54 Role monitoring unit, 55 Recommendation unit, 71 Work completion DB, 72 Troubleshooting DB, 81, 82 DB item information, 90, 93 Processing circuit, 91 Processor, 92 Memory, 100, 200 Data acquisition management system, 101-103 Data management system, 110A, 110B Data acquisition device group, 120A-120D, 120X Data processing device, 125C, 125D Data transfer device, 130A, 130B Cloud server, 140A, 140B Server, 160A, 160B, 160X DB group, 161A Master management unit, L1, L2 Production line, Ma, Mb Model, d1-d7 DB item.

Claims

1. A data management system comprising: a first application that interacts with a first database that stores first data; a first data processing unit installed in the first application that reads the first data; a second application that interacts with a second database that stores second data different from the first data; and a second data processing unit installed in the second application that reads the second data, generates third data by processing the second data, and transmits the third data to the first data processing unit.

2. The data management system according to claim 1, characterized in that the first application is installed on a first application terminal, the second application is installed on a second application terminal, the first data and the second data are the smallest units of data that cannot be obtained by data processing by the first data processing unit installed in the first application and the second data processing unit installed in the second application, the first data processing unit generates first generated data by data processing on the first data managed in the first database, the second data processing unit generates second generated data, which is the third data, by data processing on the second data managed in the second database, and when the first application and the second application cooperate via an application programming interface, the first application generates third generated data by data processing on the second generated data generated by the second data processing unit.

3. The data management system according to claim 2, wherein the first application further comprises a third data processing unit that cooperates with the second data processing unit to generate the third generated data by data processing using the second generated data.

4. The data management system according to claim 2 or 3, characterized in that the first database is located within the first application terminal.

5. The data management system according to any one of claims 2 to 4, characterized in that the first database is configured to allow the addition of management items for the data to be managed.

6. The data management system according to any one of claims 2 to 5, characterized in that the first data processing unit generates the first generated data by applying the first data to a first calculation formula.

7. The data management system according to claim 3, characterized in that the second data processing unit generates the second generated data by applying the second data to the second calculation formula, and the third data processing unit generates the third generated data by applying the second generated data to the third calculation formula.

8. The data management system according to claim 7, characterized in that a third database for managing a fourth data, the smallest unit that cannot be obtained through data processing, is added to the first database, and the third data processing unit generates the third generated data by applying the second generated data and the fourth data to the third calculation formula.

9. The data management system according to claim 8, characterized in that the data items of the fourth data managed by the third database are not included in the data items of the first data, but are data items used to generate the third generated data.

10. The data management system according to any one of claims 1 to 9, characterized in that, when there are multiple candidates for adding the second application, the first application displays information on the candidates for adding the second application in order of their degree of relevance to the first data.

11. The data management system according to any one of claims 1 to 10, characterized in that, when there are multiple candidates for adding the second application, the first application performs application programming interface linkage in order of the degree of relevance to the first data.

12. The data management system according to any one of claims 1 to 11, further comprising a role-based access control unit that performs restrictions on access to the first database and the second database by role-based access control.

13. The data management system according to claim 12, characterized in that the role-based access control unit sets roles for the role-based access control for the application programming interface linkage portion between the first application and the second application.

14. A data management system comprising: a first application that interacts with a first database that stores first data; a first data processing unit installed in the first application that reads the first data; a second application that interacts with a second database that stores second data different from the first data; and a second data processing unit installed in the second application that reads the second data and transmits the second data to the first data processing unit.

15. A data management system comprising: a storage unit that stores a first database and a plurality of second databases; a first application terminal equipped with a first application that interacts with the first database; and a recommendation unit that notifies the first application terminal of a second application that can interact with the second database and that is capable of interacting with the first application via an application programming interface.

16. The data management system according to claim 15, characterized in that the first database manages first data, which is the smallest unit that cannot be obtained by data processing; the first application has a first data processing unit that generates first generated data by data processing on the first data managed in the first database; the second database manages second data, which is the smallest unit that cannot be obtained by data processing; the second application has a second data processing unit that generates second generated data by data processing on the second data managed in the second database; and when the first application and the second application cooperate using the application programming interface, the first application generates third generated data by data processing on the second generated data.

17. A data management method characterized by comprising: a first linkage step in which a first application links with a first database that stores first data; a first data processing step in which a first data processing unit installed in the first application reads the first data; a second linkage step in which a second application links with a second database that stores second data different from the first data; and a second data processing step in which a second data processing unit installed in the second application reads the second data, generates third data by data processing the second data, and transmits the third data to the first data processing unit.

18. A data management method characterized by comprising: a first linkage step in which a first application links with a first database that stores first data; a data processing step in which a first data processing unit installed in the first application reads the first data; a second linkage step in which a second application links with a second database that stores second data different from the first data; and a transmission step in which a second data processing unit installed in the second application reads the second data and transmits the second data to the first data processing unit.

19. A data management program characterized by causing a computer to execute: a first linkage step of linking with a first database that stores first data; a first data processing step of reading the first data; a second linkage step of linking with a second database that stores second data different from the first data; and a second data processing step of reading the second data, generating third data by data processing the second data, and transmitting the third data.

20. A data management program characterized by causing a computer to perform the following steps: a first linkage step of linking with a first database that stores first data; a data processing step of reading the first data; a second linkage step of linking with a second database that stores second data different from the first data; and a transmission step of reading the second data and transmitting the second data.