Data management systems, data management methods, and data management programs
The data management system addresses inefficiencies in integrating new applications by using APIs to generate and process data at the smallest unit level, ensuring efficient data management across databases.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-01-08
- Publication Date
- 2026-03-13
AI Technical Summary
Existing data management systems face inefficiencies when adding new applications, as they often result in duplicate data management across databases, making it difficult to manage data effectively.
A data management system that includes first and second applications interacting with respective databases, generating and processing data via application programming interfaces (APIs) to efficiently integrate and manage data, utilizing data processing units to transmit and generate data at the smallest unit level.
Enables efficient data management by allowing seamless integration and processing of data across applications without complex API integration, optimizing data utilization and management.
Smart Images

Figure 0007829820000001 
Figure 0007829820000002 
Figure 0007829820000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a data management system, a data management method, and a data management program for managing data.
Background Art
[0002] In recent years, with the development of technologies that improve system development efficiency and facilitate system expansion by enabling databases and multiple applications to communicate via an API (Application Programming Interface),
[0003] The application cooperation system described in Patent Document 1 cooperates via a cooperation API that is centrally managed in an integrated database without directly cooperating between the cooperating applications. This cooperation API records a log of which application the cooperation API is being used in, and uses this log to confirm the cooperation relationship between applications.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] However, in the technology described in Patent Document 1, when adding a new application to an existing application to extend an application linkage system and linking the old and new applications via API, the added application also ends up with a database similar to the existing database. As a result, the technology described in Patent Document 1 has the problem that the same or similar data is managed in both the old and new databases, making it difficult to manage the data efficiently.
[0006] This disclosure is made in view of the above and aims to provide a data management system that can efficiently manage data. [Means for solving the problem]
[0007] To solve the aforementioned problems and achieve the objectives, the data management system disclosed herein includes a first application that interacts with a first database that stores first data, and a first application that is installed in the first application and reads the first data. Then, generate the first generated data from the first data. The data management system of this disclosure also includes a second application that interacts with a second database that stores second data different from the first data, and a second application that is installed in the second application and reads the second data and the second data From the second generated data Generate, Second generation data The system includes a second data processing unit that transmits the first data to the first data processing unit. The first data and the second data are transmitted to the first data processing unit installed in the first application and the second data processing unit installed in the second application. It is not generated from This is the smallest unit of data. When the first application and the second application communicate via an application programming interface, the first application generates a third generation of data from the second generation data generated by the second data processing unit.
[0008] Furthermore, in order to solve the aforementioned problems and achieve the objectives, the data management system disclosed herein includes a first application that interacts with a first database that stores first data, and a first application that is installed in the first application and reads the first data. Then, generate the first generated data from the first data.The data management system of this disclosure also includes 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. The first data and the second data are stored in the first data processing unit installed in the first application. It is not generated from This is the smallest unit of data. When the first application and the second application communicate via an application programming interface, the first application generates second generated data from the second data sent from the second data processing unit.
[0009] Furthermore, in order to solve the aforementioned 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 second applications 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 disclosed herein includes a first linkage step in which a first application links with a first database that stores first data, and a first data processing unit installed in the first application reads the first data. Then, generate the first generated data from the first data. The data management method of the Disclosure also includes a second integration step in which a second application 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 reads the second data and processes the second data From the second generated data Generate, Second generation data The process includes a second data processing step of transmitting the first data to a first data processing unit. The first data and the second data are transmitted to a first data processing unit installed in a first application and a second data processing unit installed in a second application. It is not generated from This is the smallest unit of data. When the first application and the second application communicate via an application programming interface, the first application generates a third generation of data from the second generation data generated by the second data processing unit.
[0011] Furthermore, in order to solve the above-mentioned problems and achieve the objectives, the data management method disclosed herein includes a first linkage step in which a first application links with a first database that stores first data, and a first data processing unit installed in the first application reads the first data. Then, generate the first generated data from the first data. The data management method of the Disclosure also includes a second linking step in which a second application links with a second database storing second data different from 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. The first data and the second data are stored in the first data processing unit installed in the first application. It is not generated from This is the smallest unit of data. When the first application and the second application communicate via an application programming interface, the first application generates second generated data from the second data sent from the second data processing unit.
[0012] Furthermore, in order to solve the aforementioned problems and achieve the objectives, the data management program of this disclosure includes a first linking step that links a first database storing first data with a first application, and a step that reads the first data. Then, generate the first generated data from the first data. The first data processing step is performed by a computer. The data management program of this disclosure also includes a second linking step which links a second database which stores second data different from the first data with a second application, and reads the second data and the second data From the second generated data Generate, Second generation data The computer is made to perform a second data processing step of sending the first data and the second data. The first data and the second data undergo data processing on the first data by the first application and data processing on the second data by the second application. It may not be possible to generate it This is the smallest unit of data. When the first application and the second application communicate through an application programming interface, the first application generates the third generated data from the second generated data generated in the second data processing step.
[0013] Furthermore, in order to solve the aforementioned problems and achieve the objectives, the data management program of this disclosure includes a first linking step that links a first database storing first data with a first application, and a step that reads the first data. Then, generate the first generated data from the first data. Cause a computer to execute a data processing step. Further, the data management program of the present disclosure causes a computer to execute a second cooperation step of cooperating a second database storing second data different from the first data with a second application, and a transmission step of reading out the second data and transmitting the second data. The first data and the second data are data processing on the first data by the first application It may not be possible to generate it The smallest unit of data. When the first application and the second application communicate through an application programming interface, the first application generates second generated data from the second data sent in the transmission step.
Advantages of the Invention
[0014] The data management system according to the present disclosure has an effect of being able to efficiently manage data.
Brief Description of the Drawings
[0015] [Figure 1] A diagram showing the configuration of a data collection management system including the data management system according to the embodiment [Figure 2] A diagram showing the configuration of an application terminal included in the data management system according to the embodiment [Figure 3] A diagram for explaining API cooperation executed by the data management system according to the embodiment [Figure 4] A diagram showing the configuration of a data processing device included in the data management system according to the embodiment [Figure 5] A diagram showing another configuration of an application terminal included in the data management system according to the embodiment [Figure 6] A diagram showing the configuration of a data collection management system when the data management system according to the embodiment includes the application terminal shown in FIG. 5 [Figure 7] A flowchart showing the processing procedure when the data management system according to the embodiment executes data processing via API cooperation [Figure 8]Diagram illustrating the first API integration performed by the comparative example's data management system. [Figure 9] A diagram illustrating the second API integration performed by the comparative example's data management system. [Figure 10] This diagram illustrates the applications that can be integrated with the data management system according to the embodiment, and the applications for which API integration with existing applications is recommended. [Figure 11] This figure 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] This figure 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. [Figure 13] This figure 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] This figure 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. [Figure 15] A flowchart illustrating the processing steps for adding an application to which API integration is recommended for an already installed application, according to the data management system of the embodiment. [Figure 16] A diagram illustrating the process by which the data management system according to the embodiment extends the application and database. [Figure 17] This figure shows an example of the data structure stored in the work completion DB of the data management system according to the embodiment. [Figure 18] This figure shows an example of the data structure stored in the troubleshooting database of the data management system according to the embodiment. [Figure 19] This figure shows an example of the configuration of a processing circuit when the processing circuit of the application terminal according to the embodiment is implemented using a processor and memory. [Figure 20]This figure shows an example of the configuration of a processing circuit when the processing circuit of the application terminal according to the embodiment is implemented with dedicated hardware. [Modes for carrying out the invention]
[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 shows 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 comprises 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 the 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 may include, but are not limited to, a PLC (Programmable Logic Controller), a mobile terminal, or a personal computer. 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 to both groups.
[0021] The data management system 101 manages the data collected by the data collection device group 110A and 110B by linking multiple applications via API. The data management system 101 includes data processing devices 120A and 120B, cloud servers 130A and 130B, servers 140A and 140B, and application terminals 1A and 1B.
[0022] If application terminal 1A is the first application terminal, then application terminal 1B is the second application terminal. Conversely, 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 document will primarily describe data processing device 120A. Similarly, since cloud servers 130A and 130B have similar functions and perform similar processing, this document will primarily describe cloud server 130A. Furthermore, since servers 140A and 140B have similar functions and perform similar processing, this document will primarily 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 database group 160A having one or more databases (DBs, Databases), and stores the data acquired from the data collection device group 110A in the database 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 are associated with the data for those DB items. 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, a user may add DB items, or the data processing device 120A may add DB items. For the database included in DB group 160B, a 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 database 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 database 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 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 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 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 server 140B.
[0031] Application terminal 1A performs various data processing, such as analysis, using the data stored in the database group 160A of the data processing device 120A. Similarly, application terminal 1B performs various data processing using the data stored in the database 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 are connected via an API. This API connection 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 connection when application 10B is added.
[0035] Furthermore, the API communication between application 10A and application 10B may be performed by applications 10A and 10B according to 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 communicating with application 10B via API, without having to perform complex API integration with database group 160B.
[0038] Similarly, when application 10B uses data stored in database group 160A, it retrieves and uses generated data produced by application 10A by applying a specific calculation formula. This allows application 10B to use data stored in database group 160A by communicating with application 10A via API, without having to perform complex API integration 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 have 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 can be linked with other application terminals via API.
[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 API 5A and data processing units 14A and 15A. API 5A is an interface that connects applications other than application 10A, such as application 10B. Application 10A performs data exchange with application 10B, for example, by performing API communication with application 10B. In other words, in the data management system 101, applications 10A and 10B are connected by API communication, and data exchange takes place between applications 10A and 10B.
[0045] By linking applications 10A and 10B via API, application 10A retrieves data from database group 160B, which application 10B is linked to, from application 10B. Similarly, application 10B retrieves data from database group 160A, which application 10A is linked to, from application 10A.
[0046] The data processing unit 14A reads data from the DB group 160A and performs data processing, which is a calculation process, using the read data. The data processing performed by data processing units 14A, 15A, and the data processing units 14B, 15B (described later) is a process that derives calculated data by performing calculations on the data. This data processing includes data generation processing, which is a process that generates data; data processing processing, which is a process that modifies data; and data calculation processing, which is a process that calculates data.
[0047] The process of generating data is the process of generating desired data from data that is not currently stored. In this embodiment, the desired data is generated from prime number-like data, which will be described later. The process of calculating data is, for example, a statistical process such as calculating the average value of the data.
[0048] Data processing is a pre-processing step for data generation or processing, and involves transforming data before processing into data used for data generation or processing. Note that data processing may also involve processing data after data generation or processing has been performed. The data processing unit 14A comprises one or more DB item calculation formulas 12A and performs data processing such as data analysis using the DB item calculation formulas 12A.
[0049] DB group 160A stores data that can be processed by the DB item calculation formula 12A of the data processing unit 14A. The data stored in DB group 160A is raw data that cannot be calculated by DB item calculation formulas 12A and 13A.
[0050] The data processing unit 14A is a function that has been included in application 10A from the beginning, while the data processing unit 15A is a function that was added to application 10A after it was put into operation.
[0051] The data processing unit 15A, by communicating with application 10B via API, retrieves generated data read and generated by application 10B from the database group 160B from the data processing unit 14B, which is the data processing unit of application 10B.
[0052] The data processing unit 15A performs data processing using the generated data obtained from the data processing unit 14B of the application 10B. The data processing unit 15A is equipped with one or more DB item calculation formulas 13A, and performs data processing such as data analysis using the DB item calculation formulas 13A.
[0053] 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 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 integrating multiple applications, such as applications 10A and 10B, via API.
[0055] As explained in Figure 2, application 10A includes API 5A and data processing units 14A and 15A. Similarly, application 10B 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 to each other. 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, DB16a is the first database, and DB16b is the second database. 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, DB16b is the first DB, and DB16a 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 database is the first data, and the data managed by the second database 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 DB16b each store data for multiple types of database items. Examples of database items include work start time, work completion time, current, and voltage.
[0063] DB16a manages and stores prime numbers as database items among the data required by application 10A. The database items that DB16a stores are prime numbers, which are the minimum data elements required for data processing in application 10A.
[0064] The database items stored in DB16a are the smallest units of raw data that cannot be generated by data processing in the data processing unit 14A, and are prime number database items. In other words, the database items stored in DB16a are the smallest units of data that cannot be obtained by data processing. Prime number database items are the calculation units of calculation elements in the data processing unit 14A that cannot be obtained by data processing in the data processing unit 14A. For example, prime number database items are the variable items of calculation formulas when the calculation formulas of other data processing units, such as the data processing unit 14B related to the data processing unit 14A, are optimized. Therefore, the prime number database items stored in DB16a are changed according to the calculation formulas used by the data processing unit. Also, the prime number database 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; rather, 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 voltage, the DB 16a stores the current as a prime number DB item. This allows the data processing unit 14A to calculate voltage based on the current and the fixed value of 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] The percentage of data stored in DB16a that cannot be obtained by data processing by 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 current, voltage, and time as DB items, and the data processing unit 14A calculates the amount of energy using 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 obtained from the sensor themselves.
[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 required 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 extend DB16a. Functionality is added to application 10A, for example, when it is upgraded 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] Extended DB17a 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 Extended DB17a are not included in the DB items of the data managed by DB16a, 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 interact 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] The data corresponding to the DB items in the extended DB 17a is collected by the data collection device group 110A. The data processing device 120A stores the data acquired from the data collection device group 110A into the DB items of the extended DB 17a.
[0078] Similarly, DB16b manages and stores prime numbers among the data required by application 10B as database items. The database items that DB16b stores are the minimum data elements required, i.e., prime numbers, assuming data processing in application 10B.
[0079] The database items stored in DB16b are the smallest units of raw data that cannot be generated by data processing in the data processing unit 14B, and are prime number-like database items. In other words, the database 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, 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] Extended DB17b 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 extended DB17b are not included in the DB items of the data managed by DB16b, 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 interact 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] The data corresponding to the database items in the extended DB 17b is collected by the data collection device group 110B. The data processing device 120B stores the data acquired from the data collection device group 110B into the database items of 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 interacts with application 10A via API. In this case, when the data processing device 120B recognizes that application 10B is interacting 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 extended DB 17a is the third database; if application 10B is the first application, then extended DB 17b is the third database. The data managed by the third database is the fourth data.
[0088] Application 10A retrieves database item data from DB 16a, generates desired data using the database item calculation formula 12A of the 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 the DB item calculation formula 12B of the 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 DB 16b via API connection between applications 10A and 10B is a database connection. Similarly, the connection between application 10B and DB 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 obtains the generated data calculated by the data processing unit 14B using the DB item calculation formula 12B, so it can obtain the same generated data as when the data processing units 15A and 14B share the DB item calculation formula 12B.
[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 linking is possible through API linking alone. In other words, linking between application 10A and DB 16b, and between application 10B and DB 16a, is possible through API linking between applications 10A and 10B. As a result, the data management system 101 can easily realize the construction of systems that utilize 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 performing DB linkage with DB 16a and without having the DB item calculation formula 12A.
[0097] Similarly, the data processing unit 15A can use generated data calculated from the data in DB16b via the API without performing DB linkage with DB16b and without having a DB item calculation formula 12B.
[0098] Thus, in the data management system 101, application 10A connects to DB 16a, which consists of DB items that are the minimum necessary management items, and application 10B connects 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 connect via API. In addition, the data processing unit 14B of application 10B and the data processing unit 15A of application 10A connect via API.
[0099] The data processing unit 14A calculates specific generated data using data managed in DB16a, and the data processing unit 15B utilizes the data in DB16a linked to the data processing unit 14A by communicating with the data processing unit 14A via API.
[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 communicating with the data processing unit 14B via API. As a result, the data management system 101 can use data from databases that are not linked to the application via API communication.
[0101] Thus, in the data management system 101, when application 10A retrieves data from DB 16b, which is linked to application 10B, it retrieves 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 data processing and the DB are integrated and linked.
[0102] Similarly, in the data management system 101, when application 10B retrieves data from DB 16a, which is linked to application 10A, it retrieves 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 integration between applications 10A and 10B enables integration between application 10A and extended DB 17b, and between application 10B and extended DB 17a. In other words, application 10A can retrieve data from extended DB 17b without configuring a database link between application 10A and extended DB 17b. Similarly, application 10B can retrieve data from extended DB 17a without configuring a database link between application 10B and extended DB 17a.
[0104] Thus, if one application is using an API to connect with another application, it can also connect with the database that the other application is using via the API.
[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 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 database group 160A and a master management unit 161A. Figure 4 shows a case where the database group 160A includes a work completion database 71 and a troubleshooting database 72. The work completion database 71 is a database that stores information such as the work start time (time when the work began) and the work completion time (time when the work was completed). The troubleshooting database 72 is a database that stores information such as the trouble occurrence time (time when a trouble occurred).
[0110] The master management unit 161A manages the database group 160A. For example, the master management unit 161A manages the database items included in the database item calculation formulas 12A and 13A for the database 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 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 DBs 16a and 16b of application terminals 1A and 1B. However, the DBs 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] Application terminal 1C comprises application 10A, terminal control unit 16A, and data processing unit 120C. In other words, application terminal 1C includes the data processing unit 120C in addition to the components of application terminal 1A. Data processing unit 120C has the same functions as data processing unit 120A. The DB group 160A of data processing unit 120C is located in storage (not shown) or the like provided by 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 is shown as application terminal 1D. The data collection management system 200 includes a data management system 102 and data collection device groups 110A and 110B. The data collection management system 200 is a system in which the data management system 102 manages the data collected by the data collection 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. Thus, in the data management system 102, the data processing device 120C, which has a database group 160A, is located within the application terminal 1C, and the application 10A reads data from the database group 160A within 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. Thus, in the data management system 102, the data processing device 120D, which has a database group 160B, is located inside the application terminal 1D, and the application 10B reads data from the database group 160B inside 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 processing performed by 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 the 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 that will 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 the 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 be 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 with the API. The source application sets the data processing unit to be integrated with the 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 with the API.
[0135] The data processing unit set as the data processing unit for API integration is the data processing unit of the integration target application that generates data for DB items used in DB item calculation formulas that cannot be obtained from the DB that the integrating application is integrated with. Here, application 10A sets application 10B's data processing unit 14B 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 executing API integration via the API.
[0136] The source application receives instructions from the newly added function to use the generated data generated by the linked application (step S40). Here, application 10A receives instructions 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 directly from the DB with which it is 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 comparative examples 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. This section describes the case where Application 7A and DB 75a, which is directly linked to Application 7A, are existing applications and databases, and Application 7B is added, allowing Applications 7A and 7B to communicate via API.
[0143] If application 7A directly connects to DB75a via a database link, and applications 7A and 7B connect via API, then when application 7B wants to use DB75a, application 7B needs to connect to each database item in DB75a via API.
[0144] DB75a, which is already linked with Application 7A, manages data using DB items that are specific to Application 7A. Therefore, even if Application 7B and Application 7A are linked via API, API linkage between Application 7B and DB75a, which is linked to Application 7A, will be difficult. Furthermore, if there is a DB75b that will later be linked to Application 7B, this DB75b will manage data using DB items specific to Application 7B. Therefore, inter-DB linkage between DB75b, which is linked to Application 7B, and DB75a, which is linked to Application 7A, will also be difficult.
[0145] For Application 7B to integrate with DB75a via API, it is necessary to convert the data in DB75a into data managed with DB fields corresponding to Application 7B, and then manage the converted data in a separate DB75b that is different from DB75a. In other words, the converted data must be managed with DB fields corresponding to Application 7B. Thus, in the first data management system of the comparative example, DB75a, where data is managed with DB fields corresponding to Application 7A, and DB75b, where data is managed with DB fields corresponding to Application 7B, are required. In other words, when the first data management system of the comparative example is extended by API integration between Applications 7A and 7B, DB75a will be dependent on Application 7A, and DB75b will be dependent on Application 7B.
[0146] In this case, the same or similar data would be managed in each DB75a and 75b, resulting in inefficient data management. In other words, duplicate data would be managed between different DB75a and 75b, preventing efficient utilization of DB75a and 75b. Furthermore, database linkage between application 7A and DB75b, and between application 7B and DB75a, 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. This section describes 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 connects to DB85a via a database link, and applications 8A and 8B connect via API, then when application 8B wants to use DB85a, application 8B needs to connect to each database item in DB85a via API.
[0150] For example, if application 8A is linked to multiple database items in DB85a, 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 DB85a, 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 DB85a. In other words, when linking application 8B with DB85a, API communication needs to be performed each time for each DB item or for each DB85a.
[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 set up a DB in which the 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 integration of applications 8A and 8B requires the integration of application 8B with DB85a, it is not possible to systematically implement the API integration of applications 8A and 8B and the API integration of application 8B with DB85a. 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 DB16b and provides the generated data to the data processing unit 15A, so that the API integration of applications 10A and 10B and the API integration of application 10A with DB16b 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, which is connected to application 10A, via API linkage. Similarly, application 10A can obtain data from database 16b, which is connected to application 10B, via API linkage. As a result, in the data management system 101 of this embodiment, API linkage between applications of N (where N is a natural number) : M (where M is a natural number) is 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. Note that in the following explanation, 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 integrate with each other via API. Specifically, the API integration configuration in Figure 10 indicates 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 is possible as shown in Figure 10. The data management system 103 is a system that allows multiple applications to integrate, 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 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 unit 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, which includes multiple databases such as database group 160A and 160B, and an application group 5X, which includes 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 database group 160X stores production equipment data, data on production equipment anomaly detection in production equipment (not shown), and other similar data. Applications within the application group 5X and databases within the database 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 database groups 160A and 160B, application 10A corresponding to database group 160A, and application 10B corresponding to database group 160B.
[0162] The data management system 103 has, for example, a product design domain, which is the domain for designing products; a production equipment domain, which is the domain for designing production equipment to produce the designed products; and an equipment manufacturer domain, which is the domain 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 domain via API integration.
[0163] This section describes a case where the data management system 103 can be applied to seven applications, and these seven applications collect data from a data processing unit 120X common to all seven applications and perform data processing. Note that this description assumes 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 facilities planning application 34, a facilities construction application 35, a facilities design application 36, and a facilities 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, and design application 32 has API 42. Large-scale planning application 33 has API 43, equipment planning application 34 has API 44, and 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 connects with APIs 42-44, and API 42 connects with API 44. It also shows the case where API 43 connects with API 44, API 44 connects with APIs 45 and 46, and API 46 connects with API 47. The data management system 103 enables the sending and receiving of generated data via APIs between applications that are connected 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 integration (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 integration, 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 memory unit 50 and generated data such as product plans obtained from the product planning application 31 via API integration. 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 generated data such as data in the storage unit 50 and equipment plans obtained from the equipment planning application 34 via API linkage.
[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 integration, 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 RBAC functionality 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 according to instructions from the administrator of the data management system 103.
[0178] Thus, in the data management system 103, although the database 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 database, security for the data in the database could not be ensured. Therefore, the data processing device 120X is provided with an RBAC unit 51.
[0179] The integration confirmation unit 52 checks which applications are API-linked to which other applications based on the API integration portion between applications. The integration confirmation unit 52 checks which applications are API-linked to each other 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 connection portion between applications and restricts access to the DB based on the API connection confirmed by the connection confirmation unit 52. The role setting unit 53 may set roles for multiple DBs connected to an application simultaneously by setting roles in the API connection portion, or it may set roles for only some of the multiple DBs. By setting roles in the API connection portion, the role setting unit 53 makes it easy to monitor the entire storage unit 50 and makes it easy to effectively utilize the DB.
[0181] The role monitoring unit 54 monitors 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 integration confirmation unit 52 confirms the API integration, and the role setting unit 53 sets roles for the API integration 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 initially, a data management system 103 is 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 to connect to the equipment planning application 34 via API to the application terminal 1X of the equipment planning application 34, and the recommended applications then connect to the equipment planning application 34 via API. 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 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 database items of the database 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 database items between the databases of API-integrable applications. The recommendation unit 55 determines which applications to recommend from among the applications stored in the data processing unit 120X.
[0190] The recommended applications may be predetermined by the data processing unit 120X, or they may be set by the administrator of the data processing unit 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 database fields used by the installed application and the types of database fields 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 database fields used by the installed application and the database fields used by the candidate application. Hereinafter, this number of matches will be referred to as the number of matching fields. The recommendation unit 55 calculates the degree of relevance based on the number of matching fields 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 recommended application to be one that has a high degree of relevance to the DB items used by the already installed application. In other words, the recommendation unit 55 determines that the application with a larger number of matching items with the already installed application is an application with a higher degree of relevance to the already installed application.
[0194] The recommendation section 55 calculates the degree of relevance between applications based, for example, on database item information that indicates which database items each application uses. Database 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 with for each application stored in the storage unit 50. The recommendation unit 55 pre-stores the applications to which API integration is recommended within 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 database items of existing applications. Therefore, the recommendation unit 55 notifies the recommendation notification terminal of applications whose degree of relevance to the database items linked to the data managed within the database 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 descending order of 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 unit 120X sends the new application specified by the recommendation notification terminal to a new application terminal 1X prepared by the user. The role setting unit 53 of the data processing unit 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 an already installed application automatically performs API integration, it will perform API integration in order from the most relevant application among the recommended additional candidate applications. Then, the master management unit 161A of the data processing unit 120X will add 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 database.
[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 obtain generated data generated by other applications when each application is linked with other applications via API. For example, if the equipment planning application 34 generates generated data by performing data processing using data obtained from the DB contained in the storage unit 50, applications linked to the equipment planning application 34 via API can obtain this generated data. If the product planning application 31 is linked to the equipment planning application 34 via API, the product planning application 31 can obtain the generated data generated by the equipment planning application 34.
[0206] In the case of data management system 101, data management system 101 may review DB16a and 16b and add extended DB17a and 17b in response to API integration. For example, data management system 101 may add DB items, which are management items, to improve the efficiency of data management, and store the added DB items in extended DB17a and 17b. In this way, 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 DB17a 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, the first example of DB Item Information, and DB Item Information 82, 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 Figure 11 (DB Item Information 81) and Figure 12 (DB Item Information 82), 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, if 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. 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, DB item d1 may be assigned a first weighting coefficient, and DB item d2 may be assigned a second weighting coefficient.
[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. Additionally, 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] The recommendation unit 55, when using DB item information 81, 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 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] The recommendation unit 55, when using DB item information 82, 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 DB items in application A4 is "6.0", which is the highest 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-A4 are candidate applications 10B, then application terminal 1X using application A1 will display information about applications A2-A4 in order of their degree of relevance to the database items in DB16a.
[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 production equipment. When product planning application 31 is applied and it is linked to equipment planning application 34 via API, the data processing device 120X adds any missing database items. 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 any missing database entries to the storage unit 50. In other words, the data processing device 120X adds any missing database entries to the database linked to the product planning application 31 as an extended database. This expands the database while the newly added application and database are linked.
[0222] The data processing device 120X adds an extended database if the database linked to the product planning application 31 does not contain the prime number data required for API integration with the equipment planning application 34. For example, the data processing device 120X determines that there is a shortage of database data 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 determining which application to recommend, the recommendation unit 55 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 application. The recommendation unit 55 calculates the degree of relevance based on the difference between the total number of items in the already installed application 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 with a total number of items that 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, the third example of DB Item Information, and DB Item Information 84, 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. Similarly, 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] The recommendation unit 55, when using DB item information 83, 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 application terminal 1X using application A1.
[0233] The recommendation unit 55, when using DB item information 84, calculates the degree of relevance between applications by comparing the total number of weighted 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, the recommended notification terminal.
[0235] Figure 15 is a flowchart showing the processing steps for the data management system according to the embodiment to add an application for which API integration is recommended to an already installed application. Here, we will explain the processing steps of the process executed by the data management system 103.
[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 pre-built 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 applications on the application terminal that is directly linked to the pre-built DB. Hereinafter, the applications on the application terminal that is directly linked to the pre-built DB may be referred to as existing applications.
[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 constructed 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. In other words, 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] Application 61 is installed in the data management system 103. The data processing device 120X determines which DB 62 is linked to application 61 based on the API connection configuration.
[0245] The recommendation unit 55 of the data processing device 120X determines a recommended application based on the application 61, the API integration 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 determines that application 61X is the recommended application, and application 61X is added to the data management system 103. The data processing device 120X connects application 61 and application 61X via API.
[0247] The data processing unit 120X determines any missing database items in application 61X during API communication between application 61 and application 61X. The data processing unit 120X adds an extended database 62X to store the missing database items in application 61X. In this way, the data processing unit 120X extends database 62 according to the adoption of the recommended application 61X, thereby creating a user-friendly database 62 that aligns with the expansion of application 61.
[0248] In the data management system 103, the process of adding application 61X to application 61 and DB 62, and the process of adding extended DB 62X are repeated. Similarly, data management systems 101 and 102 also efficiently expand applications and databases using the same process as the data management system equipped with 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 it from DB16b, assuming that the trouble time is not prime number data and is not stored in DB16b. The trouble time, which is the time from when a trouble occurs in the production equipment 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. Work completion DB 71 and 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 problems in production equipment. In Troubleshooting DB72, the production line name, the model name of the product being produced, the name of the problem on the production line, and the time the problem occurred are associated with each other. Among the data in Troubleshooting DB72, the time the problem occurred is a DB item.
[0255] For example, when calculating the trouble time of a troubled TA on production line L1, the data processing unit 14B reads the trouble occurrence time for the troubled 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 troubled 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 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 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 manner 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 obtaining 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] Traditionally, the edge-side PLC device calculated the cycle time from the start to the completion of a task 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 cycle time, which is the time difference between the completion time of one task and the completion time of the next task. Specifically, the data processing unit 14B reads the completion time of one task and the completion time of the next task from the task completion DB 71 and calculates the cycle time based on the time difference between the completion times. Based on the cycle time calculated for each task 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, assuming that the setup time is not stored in DB16b as prime number data. Setup is the process of changing production equipment in order to process the workpiece under appropriate conditions when changing the type of workpiece. 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 change.
[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, the data processing unit 14B will explain the data of the DB items in the extended DB added when executing data processing. For example, assume that the facility planning application 34 constructs an image of the production line using the data in the troubleshooting DB 72. Also, assume that the product planning application 31 is added to the application terminal 1A as an application with a high degree of relevance to the facility planning application 34. In this case, the facility planning application 34 and the product planning application 31 perform API linkage.
[0267] When planning the product image, the product planning application 31 constructs the product image by referring to the working hours and trouble situation during product manufacturing in the conventional products in order to create a product image with good production efficiency. The product image is information regarding the design of the product, the manufacturing process of the product, or the appearance of the product, etc.
[0268] In this case, the product planning application 31 constructs the product image by using the image of the production line constructed by the facility planning application 34 and the data in the troubleshooting DB 72.
[0269] Based on the data in the troubleshooting DB 72, the product planning application 31 extracts the production line that generates more troubles than other production lines, and the production line for which the time from the occurrence of troubles to recovery is longer than that of other production lines.
[0270] The image of the production line that generates more troubles and the image of the production line for which the time from the occurrence of troubles to recovery is longer correspond to the product image with poor production efficiency.
[0271] Product images with poor production efficiency may reduce production efficiency because of their poor compatibility with production equipment. 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 DB, and the product planning application 31 refers to the product images with poor production efficiency.
[0272] In this way, in the data management system 101, information such as product drawings and dimensions is required for the product planning application 31 to grasp the product images of conventional products. Therefore, the data management system 101 adds an extended DB for storing information such as product drawings and dimensions. [[ID=,5]]
[0273] Then, based on the data in the extended DB, the product planning application 31 extracts, as product images with poor production efficiency, images of production lines that cause more troubles than those of other production lines and images of production lines where the time from the occurrence of troubles to recovery is longer than that of other production lines. Thereby, the product planning application 31 can create product images with good production efficiency while referring to product images with poor production efficiency.
[0274] Note that the data processing unit 14B may directly send the data read from the DB 16b to the data processing unit 15A. Similarly, the data processing unit 14A may directly send the data read from the DB 16a to the data processing unit 15B.
[0275] Also, the data processing unit 14B may calculate generated data from the data read from the DB 16b and send 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 directly use the received generated data without performing data processing on it, or may further perform data processing on the received generated data.
[0276] [[ID=,19]] Similarly, the data processing unit 14A may calculate generated data from the data read from DB 16a and send 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, then the data managed by DB16a is the first data, the data managed by DB16b 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 DB16b is the first data, the data managed by DB16a 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. In the case where 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. In other words, 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 includes, for example, 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 disks, flexible disks, optical disks, compact disks, minidiscs, or DVDs (Digital Versatile Discs).
[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 DB16b 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. [Explanation of symbols]
[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 first application that interacts with a first database that stores the first data, A first data processing unit is installed in the first application and reads the first data and generates first generated data from the first data, A second application that interacts with a second database that stores second data different from the first data, A second data processing unit, which is installed in the second application, reads the second data, generates second generated data from the second data, and transmits the second generated data to the first data processing unit, Equipped with, The first data and the second data are the smallest units of data that are not generated by the first data processing unit installed in the first application and the second data processing unit installed in the second application. When the first application and the second application communicate via an application programming interface, the first application generates a third generation data from the second generation data generated by the second data processing unit. A data management system characterized by the following features.
2. The first application is installed on the first application terminal, The second application is installed on the second application terminal, The first data processing unit generates the first generated data by processing the first data managed in the first database, The second data processing unit generates the second generated data by processing the second data managed in the second database. The data management system according to feature 1.
3. The first application further comprises a third data processing unit that works in conjunction with the second data processing unit to generate the third generated data by data processing using the second generated data. The data management system according to feature 1.
4. The first database is located within the first application terminal. The data management system according to feature 2.
5. The first database described above is configured to allow the addition of management items for the data being managed. The data management system according to feature 2.
6. The first data processing unit generates the first generated data by applying the first data to the first calculation formula. The data management system according to feature 2.
7. The second data processing unit generates the second generated data by applying the second data to the second calculation formula. The third data processing unit generates the third generated data by applying the second generated data to the third calculation formula. The data management system according to feature 3.
8. A third database, which manages a fourth data unit—the smallest unit that cannot be generated by data processing—is added to the first database. 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. The data management system according to feature 7.
9. 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. The data management system according to feature 8.
10. The first application, when there are multiple candidates for adding the second application, displays information about the candidates for adding the second application in order of their relevance to the first data. The data management system according to feature 1.
11. The first application, when there are multiple candidates for adding the second application, executes the application programming interface integration in order of its degree of relevance to the first data. The data management system according to feature 1.
12. The system further includes a role-based access control unit that performs role-based access restrictions on the first and second databases. A data management system according to any one of claims 1 to 11.
13. The role-based access control unit sets the role for the role-based access control for the application programming interface linkage portion between the first application and the second application. The data management system according to feature 12.
14. A first application that interacts with a first database that stores the first data, A first data processing unit is installed in the first application and reads the first data and generates first generated data from the first data, A second application that interacts with a second database that stores second data different from the first data, A second data processing unit, which is installed in the second application, reads the second data and transmits the second data to the first data processing unit, Equipped with, The first data and the second data are the smallest units of data that are not generated by the first data processing unit installed in the first application. When the first application and the second application communicate via an application programming interface, the first application generates second generated data from the second data transmitted from the second data processing unit. A data management system characterized by the following features.
15. A storage unit that stores a first database and multiple second databases, A first application terminal equipped with a first application that interacts with the first database, A recommendation unit that notifies the first application terminal of a second application that can be linked with the second database and that can be linked with the first application via an application programming interface, Equipped with, A data management system characterized by the following features.
16. The first database manages the first data, which is the smallest unit that cannot be generated by data processing. The first application includes a first data processing unit that generates first generated data by processing the first data managed in the first database, The second database manages the smallest unit of second data that cannot be generated by data processing, The second application includes a second data processing unit that generates second generated data by processing the second data managed in the second database, When the first application and the second application communicate through the application programming interface, the first application generates the third generated data by processing the second generated data. The data management system according to feature 15.
17. A first application interacts with a first database that stores first data in a first interaction step, A first data processing unit installed in the first application performs a first data processing step of reading the first data and generating first generated data from the first data, A second integration step in which the second application interacts with a second database that stores second data different from the first data, A second data processing step in which a second data processing unit installed in the second application reads the second data, generates second generated data from the second data, and transmits the second generated data to the first data processing unit, Includes, The first data and the second data are the smallest units of data that are not generated by the first data processing unit installed in the first application and the second data processing unit installed in the second application. When the first application and the second application communicate via an application programming interface, the first application generates a third generation data from the second generation data generated by the second data processing unit. A data management method characterized by the following features.
18. A first application interacts with a first database that stores first data in a first interaction step, A data processing step in which a first data processing unit installed in the first application reads the first data and generates first generated data from the first data, A second integration step in which the second application interacts with a second database that stores second data different from the first data, 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, Includes, The first data and the second data are the smallest units of data that are not generated by the first data processing unit installed in the first application. When the first application and the second application communicate via an application programming interface, the first application generates second generated data from the second data transmitted from the second data processing unit. A data management method characterized by the following features.
19. A first linking step that links a first database that stores first data with a first application, A first data processing step of reading the first data and generating first generated data from the first data, A second linking step involves linking a second database that stores second data different from the first data with a second application, A second data processing step includes reading the second data, generating second generated data from the second data, and transmitting the second generated data, Have the computer run it, The first data and the second data are the smallest units of data that cannot be generated by data processing of the first data by the first application and data processing of the second data by the second application. When the first application and the second application communicate through an application programming interface, the first application generates a third generated data from the second generated data generated in the second data processing step. A data management program characterized by the following features.
20. A first linking step that links a first database that stores first data with a first application, A data processing step of reading the first data and generating first generated data from the first data, A second linking step involves linking a second database that stores second data different from the first data with a second application, A transmission step of reading the second data and transmitting the second data, Have the computer run it, The first data and the second data are the smallest units of data that cannot be generated by data processing of the first data by the first application, When the first application and the second application communicate via an application programming interface, the first application generates second generated data from the second data transmitted in the transmission step. A data management program characterized by the following features.
Citation Information
Patent Citations
System and control method for distributed shaped memory
JP1999296487A
Questionnaire system, questionnaire method, program and recording medium
JP2002297862A
Methods for deploying services from a service registry, service registries, and computer programs.
JP2013541069A
Secret calculation system, secret calculation device, secret calculation method, and program
WO2023002525A1
Integrated system
JP2006277403A