DATA MANAGEMENT SYSTEM, DATA MANAGEMENT SERVER, DATA MANAGEMENT METHOD, DATA MANAGEMENT PROGRAM, AND RECORDING MEDIUM
The data management system addresses security risks by managing reacquisition conditions and encrypting data, preventing unauthorized access and use in manufacturing environments.
Patent Information
- Application Number
- JP2023505539
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-12
- Filing Date
- 2022-03-07
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2042-03-07
AI Technical Summary
Existing data management systems in manufacturing environments face security risks as encrypted processing data can be decrypted and accessed by all users, potentially revealing sensitive information about manufacturing capacity and sales, posing a risk of unauthorized data use.
Implement a data management system with a control unit and database that manages reacquisition conditions, allowing only permitted users to access data files by adding reacquisition permission information and encrypting data before transmission.
Prevents unauthorized access and use of provided data by specifying reacquisition conditions, ensuring data security without altering existing database program codes.
Smart Images

Figure 0007609969000001 
Figure 0007609969000002 
Figure 0007609969000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a data management system, a data management server, a data management method, a data management program, and a recording medium. [Background technology]
[0002] In the field of manufacturing equipment, various companies have recently been developing server application software (hereinafter simply referred to as "applications" or "apps") with various functions and purposes for manufacturing sites, such as "visualization," "quality improvement," "maintenance and protection," and "developer tool software / converters." For example, when a developer such as a system integrator develops an application for a manufacturing site based on processing data associated with the operation of edge devices such as machine tools, industrial machinery, and industrial robots at the manufacturing site, the developer needs to obtain the processing data associated with the operation of the edge devices that is required for the application, send the processing data to a database in the developer's development environment, and perform the work of developing the application (see, for example, Patent Document 1). More specifically, examples of the processing data of edge devices include data indicating the operating state of the edge devices, data indicating the production status, data indicating the quality status of the product, and data indicating events (history) such as the operating status. These processing data are preliminarily converted into a data model (i.e., standardized), and the standardized processing data (hereinafter also referred to as "virtual device data") is stored in a predetermined database corresponding to the standardized data model, allowing an application to access the processing data via a predetermined API (hereinafter also referred to as "access API"). The processing data of the edge devices provided from the manufacturing site is stored in a database in the development environment corresponding to the standardized data model.
[0003] An example of a form of providing processing data associated with the operation of edge devices, which is provided from a providing server to a receiving server, is shown below. Here, the providing server is installed in a manufacturing site environment, and the receiving server is installed in a development environment. The processing data associated with the operation of the edge device, which is stored in a database included in the providing server, is output as virtual device data by a database operation tool, encrypted and exported to the outside. The encrypted virtual device data is provided to a receiving server, which imports the encrypted virtual device data, decrypts it, and then stores it in the database included in the receiving server by the database operation tool. This allows developers to access the processed data via the access API to carry out app development work. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2020-021214 A Summary of the Invention [Problem to be solved by the invention]
[0005] Here, even if a provider of processing data associated with the operation of edge devices encrypts the processing data and provides it to a developer of the application, the processing data is stored in a decrypted state in the database in the development environment. In this case, the processing data can be obtained (downloaded) in a decrypted state from the database by all users (all developers including the recipient of the data) who can log in to the development environment via a database operation tool, which may cause a risk that the data provided by the provider may be used secondary by any developer, and may cause a potential security risk. In this case, for example, by analyzing machine information, it is possible to know the manufacturing capacity of each machine. Also, by knowing the manufacturing capacity of each machine, it is possible to know how many products a factory has manufactured. Furthermore, there is a risk that by knowing the manufacturing capacity of a factory, the sales of a company operating the factory may be known.
[0006] For this reason, when providing data to an external party, a function is required that allows the data provider to control in advance the data so that even if the data is stored in the destination database, any user at the destination cannot obtain (download) the data via a database operation tool, thereby preventing any user at the destination from obtaining (downloading) the data. The present invention aims to provide a secure data management system, data management server, data management method, data management program, and recording medium that, when providing data to an external party, can prevent the provided data from being leaked to the outside by having the data provider specify in advance that even if the data is stored in the destination database, the data cannot be obtained (downloaded) by any user at the destination via a database operation tool. [Means for solving the problem]
[0007] (1) One aspect of a data management server of the present invention is a data management server comprising a control unit and a database, and comprising: a re-acquisition condition management unit that records and manages re-acquisition condition information that associates information related to a data file stored in the database with re-acquisition possibility information regarding whether the data file can be acquired; a data transmission unit that registers the re-acquisition condition information of the data file in the re-acquisition condition management unit based on the re-acquisition possibility information added to a data file provided from outside the data management server, and transmits the provided data file to the database; and a data acquisition unit that, upon receiving a request to acquire a data file stored in the database, acquires the data file from the database only if acquisition of the data file is permitted based on the re-acquisition condition information managed by the re-acquisition condition management unit.
[0008] (2) One aspect of the data management method of the present invention is a data management method for storing a data file provided from outside in an internal database, the method comprising: a re-acquisition condition management step of recording and managing re-acquisition condition information that associates information related to the data file stored in the database with re-acquisition possibility information regarding whether the data file can be acquired; a data transmission step of registering re-acquisition condition information for the data file based on the re-acquisition possibility information added to the data file provided from outside and transmitting the provided data file to the database; and a data acquisition step of, upon receiving a request to acquire a data file stored in the database, acquiring the data file from the database only if acquisition of the data file is permitted based on the managed re-acquisition condition information.
[0009] (3) One aspect of the data management program of the present invention is a data management program for storing a data file provided from outside in an internal database, which causes a computer having a control unit and a database to execute the following steps: a re-acquisition condition management step of recording and managing re-acquisition condition information that associates information related to the data file stored in the database with re-acquisition possibility information regarding whether the data file can be acquired; a data transmission step of registering re-acquisition condition information for the data file based on the re-acquisition possibility information added to the data file provided from outside and transmitting the provided data file to the database; and a data acquisition step of, upon receiving a request to acquire a data file stored in the database, acquiring the data file from the database only if acquisition of the data file is permitted based on the managed re-acquisition condition information.
[0010] (4) One aspect of the data management system of the present invention is a data management system including a receiving server as the data management server described in (1) and a providing server that creates a data file to be provided to the receiving server from outside, wherein the providing server includes a control unit and a database, and the control unit includes a data acquisition unit that acquires the data file stored in the database, a re-acquisition condition creation unit that adds re-acquisition information to the data file specifying whether the data file can be acquired, and a data output unit that outputs to the outside the data file to which the re-acquisition information has been added by the re-acquisition condition creation unit as a provided data file to be provided to the receiving server. Effect of the Invention
[0011] According to the present invention, when data is provided to an external party, even if the data is stored in the destination database, the data provider can specify in advance that the data cannot be obtained (downloaded) by any user at the destination via a database operation tool, thereby preventing the provided data from being leaked to the outside. This makes it possible to provide a secure data management system, data management server, data management method, data management program, and recording medium. [Brief description of the drawings]
[0012] [Figure 1] 1 is a schematic diagram showing a basic configuration of a data management system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a functional block diagram of a provider server according to the present embodiment. [Diagram 3] 3 is a schematic diagram of a provider application program executed on a provider server in this embodiment. FIG. [Figure 4] FIG. 2 is a functional block diagram of a receiving server serving as a data management server in this embodiment. [Diagram 5] FIG. 2 is a schematic diagram of a receiving application program executed on a receiving server in this embodiment. [Figure 6] 5 is a diagram showing an example of data use condition information in the present embodiment. FIG. [Figure 7] 13 is a flowchart showing a process of creating data to be provided to an external party from its own database in a providing server in this embodiment. [Figure 8] 10 is a flowchart showing the process in which a receiving server in this embodiment receives a data file from an external source and stores it in a database. [Figure 9] 10 is a flowchart showing a data acquisition process in a receiving server in the present embodiment. [Figure 10] 1 is a schematic diagram showing an example of a form in which data provided from a providing server to a receiving server via a cloud in this embodiment; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] An example of the configuration of a data management system 1000 according to this embodiment will be described. Here, as data, processing data associated with the operation of edge devices such as machine tools, industrial equipment, and industrial robots at a manufacturing site will be exemplified. In addition, as an external entity that creates and provides data, a server (also referred to as a "providing server") that accesses processing data of manufacturing devices (edge devices) including CNC machine tools, industrial equipment, and industrial robots installed at a manufacturing site such as a factory and performs predetermined information processing related to the application will be exemplified. In addition, as a server (also referred to as a "receiving server") of the present invention, for example, a server installed in a development environment, where a developer develops an application based on data provided from the providing server will be exemplified. However, the data, server, etc. of the present invention are not limited to these. The present invention can be applied to any data and any server.
[0014] Fig. 1 is a schematic diagram showing a basic configuration of a data management system 1000 in this embodiment. As shown in Fig. 1, the data management system 1000 includes a providing server 100 and a receiving server 400 as a data management server. The providing server 100 and the receiving server 400 may be connected via a network N1. The network may be, for example, the Internet, a VPN (Virtual Private Network), a public telephone network, or the like. There are no particular limitations on the specific communication method in the network, whether it is a wired connection or a wireless connection, and the like.
[0015] In this embodiment, the providing server 100 is exemplified as a server that executes an application, accesses processing data of manufacturing devices (edge devices) including CNC machine tools, industrial devices, industrial robots, etc., installed at a manufacturing site such as a factory, and performs predetermined information processing related to the application. Here, the processing data refers to virtual device data such as data indicating the operation state of the edge device, data indicating the production status, data indicating the quality status of the product, and data indicating the operation status. The data provider extracts, for example, the processing data (virtual device data) of the edge device from the database 160 of the providing server 100 and provides it to the developer. In this way, the developer can store the processing data (virtual device data) in the database 460 (for example, a debug database) of the receiving server 400 as a development environment, for example, and use the processing data (virtual device data) to develop an application. Any application can be executed in the receiving server 400. At this time, among the virtual device data provided from the providing server 100 and stored in the database 460, data that is set as unobtainable by the data provider is configured so that any user at the providing destination cannot obtain (download) the data via a database operation tool even if the data is stored in the providing destination database.
[0016] Next, the function of each device in the data management system 1000 will be described. <Providing Server 100> Fig. 2 is a functional block diagram showing functions of the providing server 100. As shown in Fig. 2, the providing server 100 includes a control unit 110, a storage unit 120, a communication unit 130, and a database 160. The database 160 is constructed in an internal or external storage device managed by the providing server 100. Before describing the control unit 110, a brief description will be given of the storage unit 120, the communication unit 130, and the database 160.
[0017] The memory unit 120 stores programs and the like executed by the control unit 110, and also has a memory area (referred to as the "data storage unit") for temporarily storing data acquired from the database 160 by the data acquisition unit 111, as described below.
[0018] The communication unit 130 is a communication control device that transmits and receives data to and from external devices (eg, edge devices, client terminals, and the receiving server 400) via a network.
[0019] In this embodiment, as described above, the database 160 is exemplified by one that stores data (virtual device data) generated based on a standardized data model of data processed by edge devices. Specifically, in the database 160 exemplified in this embodiment, a data structure for storing virtual device data generated based on a standardized data model is prepared in advance. One element of such a data structure is called an instance, and its identifier is called an instance ID. Each piece of data stored in an instance is also called a moment. Specifically, data at one time stamp is called a moment. Moreover, the database 160 exemplified in this embodiment is configured so that, in order to store one piece of virtual device data in an instance, the instance ID is specified and data is sent (specifically, sent by POST) so that the data is stored in the instance identified by the instance ID. In this way, by sending data to the instance ID as the destination, the data is recorded in the instance. The database 160 exemplified in this embodiment may be provided with a database operation tool and an access API, which will be described later. However, the present invention is not limited to virtual device data and a database system that stores virtual device data. The present invention can be applied to any data and any database system that stores the data. Specifically, the terms "instance," "moment," "data sending unit," and "sending data to a database" in the database 160 exemplified in this embodiment correspond to "data file such as a table," "one record data," "data registration unit," and "storing data in a database" in a normal database, respectively, and therefore, by reinterpreting them as above, the present invention can be applied to any data and any database that stores the data.
[0020] The control unit 110 is, for example, a CPU, and controls the providing server 100 by executing various programs stored in the storage unit 120. Fig. 3 is a schematic diagram of a providing application program (also called a "provided data creation program") executed by the providing server 100. Hereinafter, "application" will also be called "app." For example, the control unit 110 executes a program for data acquisition (hereinafter also referred to as "data acquisition processing") for acquiring virtual device data to be provided to the receiving server 400 from the database 160, and temporarily stores the acquired virtual device data in the storage unit 120. The control unit 110 executes a program for data output (hereinafter also referred to as "data output processing") for adding reacquisition availability information ("reacquisition availability information adding function") that specifies whether or not the provided data stored in the receiving server 400 can be acquired (i.e., whether or not the provided data can be acquired by any user (including the user who is the provision destination) in the receiving server 400) and outputting (hereinafter also referred to as "export") to the outside. Note that the programs for the provided data creation processing (particularly the program for data acquisition and the program for data output) may be programs included in management software (hereinafter also referred to as "database operation tool") prepared in the database 160. By executing the provided data creation program, the control unit 110 is formed with the following functional configurations, as shown in FIG. 2: a data acquisition unit 111, a re-acquisition condition creation unit 112, a data output unit 113, and an encryption processing unit 115.
[0021] First, the data acquisition unit 111 will be described. The data acquisition unit 111 acquires provided data from the database 160 in response to a data acquisition instruction input from a user (e.g., a data provider) via, for example, a terminal (not shown) communicably connected to the providing server 100. The acquired data may be stored in the data storage unit of the storage unit 120. Here, the instruction information included in the data acquisition instruction may include a data file name (e.g., an instance ID) and a target range of data to be provided among data included in the data file (e.g., identification information of the first data and identification information of the last data in the range to be provided). In addition, the number of data to be acquired may be specified. In addition, if the range to be provided is not specified, the data acquisition unit 111 may acquire all data included in the data file and create the first and last identification information of the data included in the data file as default. In the case where the provided data is virtual device data, a timestamp given to each data may be applied as identification information specifying the target range. The data acquisition instruction may include reacquisition availability information that specifies whether the developer at the data provision destination (i.e., the receiving server 400) can acquire the data. This allows the user (data provider, etc.) to input information required when providing the data at the same time, improving input efficiency. In this case, the data acquisition unit 111 may provide the reacquisition availability information to the reacquisition condition creation unit 112, which will be described later. The reacquisition information may include a predetermined data target range for which acquisition is permitted (or not permitted) (for example, a predetermined timestamp range in the case of virtual device data) in addition to whether acquisition is permitted. When acquisition is permitted for data to be provided to the receiving server 400, the reacquisition information may be set to null (hereinafter also referred to as "empty"). Furthermore, the range of data to be provided to the receiving server 400 may be divided into several partial ranges, and whether or not the data can be acquired may be specified for each partial range. Basically, it is preferable to provide the data to the receiving server with reacquisition information added. In this case, the reacquisition information must be added with information indicating whether acquisition is OK or NG (Not Acceptable). However, data created and provided by a server other than the providing server 100 described in this embodiment does not have reacquisition information added, so in that case, it is recognized as "acquisition allowed" by default.
[0022] Next, the reacquisition condition creating unit 112 will be described. The reacquisition condition creating unit 112 adds reacquisition availability information that specifies whether or not data within a target range can be acquired, in correspondence with the target range of the data file extracted from the database by the data acquiring unit 111 and stored in the data storage unit of the memory unit 120, for example. The reacquisition condition creating unit 112 may be included in the data output unit 113, which will be described later. Note that the user can input to the reacquisition condition creating unit 112 via a client terminal or the like (not shown), in correspondence with the target range of the data file stored in the data storage unit. If reacquisition permission information is not specified, the reacquisition condition creating unit 112 creates the reacquisition permission information as null, which indicates permission to acquire. In this way, the data provided from the providing server 100 to the outside has reacquisition permission information including null information added thereto.
[0023] Finally, the data output unit 113 will be described. The data output unit 113 outputs the data file to which the re-acquisition availability information has been added by the re-acquisition condition creating unit 112 to the outside as a data file to be provided to the receiving server 400 (hereinafter also referred to as a "provided data file"). When outputting the data to the outside, the data output unit 113 may encrypt the provided data file using key data of a public key system or a common key of a common key system in order to ensure the security of the data. Specifically, the control unit 110 may include an encryption processing unit 115. In this case, for example, by informing the providing side in advance of the public key of the receiving side, the encryption processing unit 115 may perform encryption by applying the public key. Alternatively, the encryption processing unit 115 may generate a common key, apply the public key to the generated common key to encrypt, and generate an encrypted common key and provided data encrypted by applying the common key. The provided data file outputted to the outside by the data output unit 113 may be transmitted to the receiving server 400 via the communication unit 130. Alternatively, the provided data file may be stored in a storage medium and mailed or handed over. As will be described later, the providing server 100 may upload the provided data file to a cloud, and the receiving server 400 may download the provided data file from the cloud. Above, we have explained the functions of the providing server 100. Next, we will explain the functions of the receiving server 400.
[0024] <Receiving server> Fig. 4 is a functional block diagram showing functions of the receiving server 400. As shown in Fig. 4, the receiving server 400 includes a control unit 410, a storage unit 420, a communication unit 430, and a database 460. The database 460 is constructed in an internal or external storage device managed by the receiving server 400. The storage unit 420 and the communication unit 430 are equivalent to those of the providing server 100, and a description thereof will be omitted. The receiving server 400 may be realized as a virtual server on a cloud known to those skilled in the art. The database 460 may also have the same functions as the database 160 of the providing server 100. Therefore, as described above, the receiving server 400 may also have a database operation tool and an access API related to the database 460 prepared in advance. To store virtual device data in a specific instance of the database 460, an instance ID is designated and data is transmitted so that the data is stored in the instance identified by the instance ID. In this way, the data is recorded in the instance by transmitting the data with the instance ID as the transmission destination.
[0025] The control unit 410 is, for example, a CPU, and performs overall control of the receiving server 400 by executing various programs stored in the storage unit 420. Fig. 5 is a schematic diagram of a receiving application program executed by the receiving server 400. Hereinafter, "application" is also referred to as "app". For example, the control unit 410 executes a program for performing application execution (hereinafter, referred to as “application execution processing”) for executing a receiving side application stored in the storage unit 420. In addition, the control unit 410 executes a program for performing re-acquisition condition management (hereinafter referred to as "re-acquisition condition management processing"), which records and manages (registers) re-acquisition condition information that associates information related to data files stored in the database 460 with re-acquisition feasibility information regarding whether or not the data files can be acquired. In addition, when the control unit 410 receives an acquisition request for data stored in the database 460 from any user (including the user to which the data is to be provided) on the receiving server 400, the control unit 410 executes a program for data acquisition (hereinafter referred to as "data acquisition processing"), which checks whether acquisition of the data is specified as not possible based on a comparison between the requested data and the re-acquisition condition information, and acquires the data from the database 460 if acquisition is permitted. The control unit 410 also imports a provided data file provided by the providing server 100 and temporarily stores it in the memory unit 420, and if the imported provided data file is encrypted, it decrypts it and executes a program for data input (hereinafter referred to as "data input processing" or "import processing") to provide the decrypted provided data file for the data transmission processing described below. Furthermore, the control unit 410 executes a program for registering reacquisition condition information that associates information related to the data file with the reacquisition information of the data file based on reacquisition information added to the data file provided from the outside, which specifies whether the data file can be acquired, and for transmitting the data by specifying an instance ID (hereinafter referred to as "data transmission process") to store the provided data file in the database 460. As described above, the database 460 illustrated in this embodiment is configured such that, in order to store data in an instance, the instance ID is specified and the data is transmitted (specifically, transmitted by POST) so that the data is stored in the instance identified by the instance ID. That is, in this embodiment, "data transmission that transmits the data by specifying an instance ID" is synonymous with recording or storing the data in the instance. In addition, the program for the re-acquisition condition information management process, the program for the data acquisition process, and the program for the data transmission process may be software included in management software (database operation tool) prepared in advance in the data management system. In this way, by executing the program for application execution processing, the program for import processing, the program for data transmission processing, the program for re-acquisition condition information management processing, and the program for data acquisition processing, the control unit 410 is formed with the following functional configurations, as shown in FIG. 4: application execution unit 411, data import unit 412, data transmission unit 413, re-acquisition condition management unit 414, and data acquisition unit 415.
[0026] The application execution unit 411 executes an application stored in an application storage unit (not shown) of the storage unit 420 on the receiving server 400 in response to a start request from, for example, a user or an arbitrary operating system.
[0027] The data import unit 412 imports the provided data file provided by the providing server 100 into the receiving server 400. Specifically, the provided data file may be stored in a data storage unit of the memory unit 420. In order to ensure data security, if the provided data file is encrypted using key data of the public key system or a common key of the common key system as described above, the encrypted provided data file must be decrypted. For this reason, the control unit 410 may be provided with a decryption processing unit 416. Specifically, for example, when the provided data file is encrypted using the public key of the receiving side, the decryption processing unit 416 can decrypt using the private key of the receiving side. Also, when the provided data file is encrypted using a common key generated on the providing side, the decryption processing unit 416 can decrypt the common key encrypted using the public key using the private key of the receiving side, and decrypt the encrypted provided data using the decrypted common key. In this way, the data import unit 412 can output the provided data decrypted by the decryption processing unit 416 to the data transmission unit 413. Next, before describing the data transmission unit 413, the reacquisition condition management unit 414 will be described.
[0028] In the reacquisition condition management unit 414, as described later, information related to the data file transmitted to the database 460 by the data transmission unit 413 is recorded and managed. Here, the information related to the data file includes, for example, an instance ID as a data file name, and reacquisition condition information in which identification information of the first data indicating the target range of the unacquirable data among the data transmitted to the instance and a range from the first timestamp to the last timestamp in the time series data as identification information of the last data correspond to each other. FIG. 6 shows an example of the reacquisition condition information. Note that, when the reacquisition condition management unit 414 adds "unacquisitionable" only to a partial range of data included in the provided data file and does not add "unacquisitionable" to the remaining range, reacquisition condition information that sets the partial range as the target range of the unacquisitionable data is recorded and managed. The remaining range (acquisitionable range) is associated with empty (null). As described above, when null is added as the reacquisition availability information, all of the data files may be registered as reacquisition available.
[0029] Specifically, in the re-acquisition condition management unit 414, when newly input re-acquisition condition information has the same data file name (same instance ID) as re-acquisition condition information already recorded and managed by the re-acquisition condition management unit 414, the data transmission unit 413 records and manages (updates) the newly input re-acquisition condition information so as to overwrite the re-acquisition condition information already recorded and managed by the re-acquisition condition management unit 414. As a result, for example, when the target range of unacquisitionable data in the newly input re-acquisition condition information is empty (null) (i.e., acquisition is permitted), when the data file name (same instance ID) is the same and the data file name (instance ID) included in the re-acquisition condition information already recorded and managed is the same, and the target range of unacquisitionable data partially overlaps, the data in the overlapping range is updated to be acquireable.
[0030] The re-acquisition condition management unit 414 can update the re-acquisition condition information managed by itself periodically or in response to a request from a user to keep it up to date. Specifically, the re-acquisition condition management unit 414 can compare the re-acquisition condition information with the data recorded in the database 460 periodically or in response to a request from a user, and delete the re-acquisition condition information if there is no data corresponding to the re-acquisition condition information in the database 460. In addition, if the range of data actually included in the data file corresponding to the re-acquisition condition information is smaller than the target range managed by the re-acquisition condition, the target range managed by the re-acquisition condition can be reduced to the range of data included in the data file.
[0031] Next, the data transmission unit 413 will be described. The data transmission unit 413 creates reacquisition condition information that associates information related to the data file with the reacquisition information of the data file based on the reacquisition possibility information added to the data file provided by the data import unit 412, and registers the information in the reacquisition condition management unit 414. As described above, when null is added as the reacquisition possibility information, the entire data file may be registered as being reacquisition possible. Also, as described above, when "unacquirable" is added only to a partial range of data included in the provided data file and the remaining range is empty (null), the data transmission unit 413 may create re-acquisition condition information that sets the partial range as the target range of the unacquirable data and register it in the re-acquisition condition management unit 414. Note that the process by which the data transmission unit 413 updates the re-acquisition condition information registered in the re-acquisition condition management unit 414 based on the newly created re-acquisition condition information has been explained in relation to the re-acquisition condition management unit 414, so will not be repeated here. The data transmission unit 413 registers re-acquisition condition information related to a data file provided from outside in the re-acquisition condition management unit 414, and then transmits the data file to the database 460. In this way, since an acquisition request for a data file (instance) stored in the database 460 is made to the database 460 via the data acquisition unit 415 (described later), a developer cannot easily acquire the data of the data file. This allows the data provider to prevent the data from being acquired by an unintended developer.
[0032] Finally, the data acquisition unit 415 will be described. When the data acquisition unit 415 receives a request to acquire a data file stored in the database 460, the data acquisition unit 415 acquires the data file from the database 460 only if acquisition of the data file is permitted based on the re-acquisition condition information managed by the re-acquisition condition management unit 414. Specifically, when the data acquisition unit 415 receives a request to acquire a data file (instance) stored in the database 460 from any user (including the user who is the provision destination) on the receiving server 400, the data acquisition unit 415 compares the data of the requested data file (instance) with the re-acquisition condition information of the re-acquisition condition management unit 414. If the data matches even one piece of data with the re-acquisition condition information, the data acquisition unit 415 does not acquire the data of the requested data file (instance). On the other hand, if the data does not match the re-acquisition condition information, the data acquisition unit 415 stores the data of the requested data file in the data storage unit of the memory unit 420. In addition, when the data of the requested data file (instance) matches the re-acquisition condition information, the data acquisition unit 415 may output (respond) an error message to any user (including the user to whom the data is to be provided) on the receiving server 400 that made the acquisition request, indicating that acquisition of the data is not permitted. The functions of the receiving server 400 have been described above.
[0033] In this way, in the data management system 1000, when the providing server 100 provides, for example, processing data associated with the operation of an edge device to a development environment (for example, the receiving server 400) provided by a developer, the data provider can specify in advance whether or not the data can be acquired, so that even if the provided data is transmitted (i.e., stored) in a decrypted state to a database in the development environment, any user at the destination cannot acquire (download) the processing data via a database operation tool. This allows the data provider to prevent the virtual device data provided to the development environment from being illegally acquired and used. Furthermore, in each application, the above-mentioned problem can be solved without any changes to the program code related to the use of the database.
[0034] The functional blocks included in the providing server 100 and the receiving server 400 have been described above. Each server included in the above data management system 1000 can be realized by hardware, software, or a combination of these. Here, being realized by software means being realized by a computer reading and executing a program (application). For example, the providing server 100 and the receiving server 400 can be realized by incorporating a program (application) for implementing this embodiment into a general server or a virtual server on the cloud.
[0035] Next, the processing flow by the providing server 100 in the data management system 1000, the processing flow until the receiving server 400 stores the data in the database 460, and the data acquisition processing flow in the receiving server 400 will be described with reference to Figures 7 to 9. 7 is a diagram showing an outline of the process flow in which the providing server 100 provides the data acquired from its own database 160 to the receiving server 400. Note that the provided data is encrypted using key data of a public key system.
[0036] In step S1, the data acquisition unit 111 acquires data to be provided from the database 160 in response to an instruction from a data provider.
[0037] In step S2, the re-acquisition condition creation unit 112 creates re-acquisition information based on the range of acquired data and whether the data can be acquired by the receiving server 400, as instructed by the data provider, and adds the re-acquisition information to the data acquired in step S1.
[0038] In step S3, the data output unit 113 encrypts the data file to which the reacquisition information has been added in step S2 using public key key data (the recipient's public key), and outputs the encrypted provided data file to the outside. Thereafter, the provided data file outputted to the outside is provided to the receiving server 400 in a preset manner.
[0039] FIG. 8 is a diagram showing an outline of the flow of processing from when the receiving server 400 receives a provided data file from the providing server 100 until when the data file is stored in the database 460 of the receiving server 400 .
[0040] In step S11, the data import unit 412 stores the provided data file provided by the providing server 100 in the data storage unit.
[0041] In step S 12 , the data import unit 412 decrypts the data using public key system key data (the private key of the recipient) and outputs the decrypted data to the data transmission unit 413 .
[0042] In step S13, the data transmission unit 413 determines whether or not reacquisition information other than empty (null) has been added to the data file output from the data import unit 412. If reacquisition information other than empty (null) has been added (Yes), the process proceeds to step S14. If reacquisition information other than empty (null) has not been added (No), the process proceeds to step S15.
[0043] In step S14, data transmission unit 413 creates re-acquisition condition information based on the re-acquisition availability information, and registers it in re-acquisition condition management unit 414. After that, the process proceeds to step S16.
[0044] In step S15, the data transmission unit 413 registers the re-acquisition condition information to be null in the re-acquisition condition management unit 414. Then, the process proceeds to step S16.
[0045] In step S 16 , the data transmission unit 413 transmits the provided data to the database 460 .
[0046] FIG. 9 is a diagram showing an outline of the flow of data acquisition processing in the receiving server 400. As shown in FIG.
[0047] In step S21, the data acquisition unit 415 receives a request to acquire data stored in the database 460 from any user of the receiving server 400 (including the user to which the data is to be provided).
[0048] In step S22, the data acquisition unit 415 compares the data of the requested data file (instance) with the re-acquisition condition information of the re-acquisition condition management unit 414, and determines whether or not the data can be acquired. If acquisition is not possible, the process proceeds to step S24. If acquisition is not impossible, that is, if acquisition is permitted, the process proceeds to step S23.
[0049] In step S23, the data acquisition unit 415 acquires the requested data from the database 460 and stores it in the data storage unit, after which the process proceeds to step S21.
[0050] In step S24, the data acquisition unit 415 outputs (responses) an error message to any user (including the user who is the provision destination) of the receiving server 400 who made the acquisition request, to the effect that acquisition of the data is not permitted. Then, the process proceeds to step S21.
[0051] As described above, by applying the data management system 1000 of the present invention, a provider who provides data to an external party can specify in advance whether or not the data can be acquired at the destination server, thereby preventing any user at the destination server from acquiring (downloading) the data via a database operation tool, thereby preventing the provided data from being leaked to the outside. In this way, the data provider can control the acquisition of data by any user (including the user to whom the data is provided) at the receiving server 400, and can prevent the provided data from being leaked to the outside. In addition, the risk of the provided data being used secondary can be reduced. On the other hand, at the receiving side that receives the data, for example, in the receiving side server 400 serving as a development environment, it becomes possible to obtain only data that is set as null in the re-acquisition condition information, i.e., data that is set as available for acquisition, thereby automatically improving security without making any changes to the program code related to the operation of the server and the use of the database in each application.
[0052] The above-described embodiment is a preferred embodiment of the present invention, but the scope of the present invention is not limited to the above-described embodiment, and the present invention can be implemented in various modified forms without departing from the gist of the present invention.
[0053] (Variation 1) In the above embodiment, the provided data file is directly exchanged between the providing server 100 and the receiving server 400, whether through a communication unit or by storing the file in a storage medium and mailing or handing it over, but the present invention is not limited to this. The provided data may be exchanged via a pre-configured cloud. An example of uploading and downloading of provided data via the cloud will be described. Fig. 10 is a schematic diagram showing an example of a form in which the providing server 100 uploads provided data to the cloud, and the receiving server 400 downloads the provided data from the cloud, thereby providing the provided data from the providing server 100 to the receiving server 400 via the cloud. Here, a public key system is adopted as the encryption system, and an example of encryption using a public key or a private key will be described. First, a data management virtual server is provided in the cloud to manage data transfer between the providing server 100 and the receiving server 400. Here, the providing server 100 acquires public key 2 of the data management virtual server and registers public key 2 in the providing server 100. Also, it is assumed that the receiving server 400 generates public key 1 of the receiving server 400 in advance and registers it in the data management virtual server on the cloud. In this way, the providing server 100 (data output unit 113) encrypts the provided data to be provided to the receiving server 400 using the data management virtual server public key 2, and uploads the encrypted data to the data management virtual server. Then, the data management virtual server decrypts the encrypted data using its own private key 2 (which pairs with the public key 2). Thereafter, the data management virtual server encrypts the decrypted provided data using the public key 1 of the receiving server 400, and downloads the encrypted data to the receiving server 400. In this way, the receiving server 400 (data import unit 412) can decrypt the data using its own private key 1 (which pairs with the public key 1). As described above, when uploading provided data from the providing server 100 to the data management virtual server, the data may be encrypted using a common key generated by the providing server 100. In this case, the providing server 100 uses the public key 2 to add the encrypted common key to the data management virtual server and uploads the data. Similarly, when the receiving server 400 downloads the provided data from the data management virtual server, the data management virtual server may encrypt the data using a common key generated by the data management virtual server. In this case, the data management virtual server uses the public key 1 to cause the receiving server 400 to download the encrypted common key. As described above, the providing server 100 can provide data to the receiving server 400 via a preset cloud.
[0054] (Variation 2) In the above embodiment, the providing server 100 and the receiving server 400 are described as separate servers, but one server may function as the providing server 100 that provides data created in that server to another server, and also function as the receiving server 400 that receives data created in the other server from the other server. That is, one server may be configured to have both the functions of the providing server 100 and the functions of the receiving server 400.
[0055] (Variation 3) The present invention is not limited to virtual device data and a database system that stores the virtual device data. As described above, the present invention can be applied to any data and any database system that stores the data. Specifically, the terms "instance", "moment", "data transmission unit", and "transmitting data to a database" in the database 160 exemplified in this embodiment correspond to "data file such as a table", "one record data", "data registration unit", and "storing data in a database" in a normal database system, respectively, and therefore, by reinterpreting them as described above, the present invention can be applied to any data and any database system that stores the data.
[0056] Programs, including applications used in the present invention, can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (random access memories)). Programs may also be supplied to a computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer readable media can supply the programs to a computer via wired communication paths such as electric wires and optical fibers, or wireless communication paths.
[0057] In consideration of the above, the present invention can take various forms including the following configurations.
[0058] (1) The receiving server 400 as the server of the present disclosure is a data management server equipped with a control unit 410 and a database 460, and is equipped with a re-acquisition condition management unit 414 that records and manages re-acquisition condition information that corresponds information related to the data file stored in the database 460 with re-acquisition possibility information regarding whether the data file can be acquired, a data transmission unit 413 that registers the re-acquisition condition information of the data file in the re-acquisition condition management unit 414 based on the re-acquisition possibility information added to the data file provided from outside the receiving server 400 and transmits the provided data file to the database 460, and a data acquisition unit 415 that, upon receiving a request to acquire a data file stored in the database 460, acquires the data file from the database 460 only if acquisition of the data file is permitted based on the re-acquisition condition information managed by the re-acquisition condition management unit 414. This makes it possible to prevent the provided data from being leaked to the outside by the data provider specifying in advance when providing data to an external party that the data cannot be acquired by any user (including the user to whom the data is provided) on the receiving server 400. This makes it possible to prevent the risk of the provided data being used secondary by any developer.
[0059] (2) In the receiving server 400 as the server described in (1), the re-acquisition condition information may include at least identification information of the data file designated as unacquirable and range information of the data stored in the data file. In this way, the data provider can specify whether acquisition of the provided data is permitted or not depending on the range of the data, and can finely control whether or not data can be acquired as necessary.
[0060] (3) In the receiving server 400 as described in (2), the data stored in the data file corresponds to at least one of data indicating the operating status of the edge device, data indicating the production status of the edge device, data indicating the quality status of the product of the edge device, data indicating the operating status of the edge device, and data indicating an event of the edge device, and the range information of the data may include a period related to the timestamp when the data was generated. By doing so, it is possible to eliminate the risk of processing data generated by the operation of edge devices at manufacturing sites being used for unintended applications, for example, by analyzing machine information, leading to misuse (for example, predictions of the manufacturing capacity of each machine, the manufacturing capacity of the factory, and the sales of the company operating the factory).
[0061] (4) In the receiving server 400 as a server described in any one of (1) to (3), the re-acquisition condition management unit 414 may check the data files stored in the database 460 at a predetermined timing, and if the data files are not present, delete the re-acquisition condition information of the data files. By doing so, the receiving server 400 can update the re-acquisition condition information to the latest state according to the data files stored in the database 460 .
[0062] (5) In the receiving server 400 as a server described in any one of (1) to (3), the re-acquisition condition management unit 414 may be configured to update the re-acquisition condition information of the data file when at least a portion of the range information of the data stored in the data file transmitted by the data transmission unit 413 overlaps with the range information of the data stored in the database 460. By doing so, the receiving server 400 can update the re-acquisition condition information to the latest state according to the data files stored in the database 460 .
[0063] (6) The receiving server 400 as a server described in any one of (1) to (5) may be equipped with a communication unit 430, and a data file provided from outside the receiving server 400 and imported into the receiving server 400 may be received via the communication unit 430. By doing so, for example, the complexity of manual operation can be avoided.
[0064] (7) The data management method disclosed herein is a data management method for storing data files provided from outside in an internal database 460, and executes, by a computer having a control unit 410 and a database 460, a re-acquisition condition management step of recording and managing re-acquisition condition information that associates information related to the data files stored in the database 460 with re-acquisition possibility information regarding whether the data files can be acquired; a data transmission step of registering re-acquisition condition information for the data files based on the re-acquisition possibility information added to the data files provided from outside and transmitting the provided data files to the database 460; and a data acquisition step of, upon receiving a request to acquire a data file stored in the database 460, acquiring the data file from the database 460 only if acquisition of the data file is permitted based on the managed re-acquisition condition information. In this way, the data management method can achieve the same effect as (1).
[0065] (8) The data management program of the present disclosure is a data management program for storing a data file provided from outside in an internal database 460, and causes a computer having a control unit 410 and database 460 to execute a re-acquisition condition management step of recording and managing re-acquisition condition information that associates information related to the data file stored in database 460 with re-acquisition possibility information regarding whether the data file can be acquired, a data transmission step of registering re-acquisition condition information for the data file based on the re-acquisition possibility information added to the data file provided from outside and transmitting the provided data file to database 460, and a data acquisition step of, upon receiving a request to acquire a data file stored in database 460, acquiring the data file from database 460 only if acquisition of the data file is permitted based on the managed re-acquisition condition information. In doing so, the data management program can achieve the same effect as (1).
[0066] (9) A computer-readable recording medium of the present disclosure records the data management program described in (8). In this way, the computer-readable recording medium can achieve the same effect as (1).
[0067] (10) The data management system 1000 of the present disclosure is a data management system 1000 including a receiving server 400 as described in (1) and a providing server 100 as a server that creates a data file to be provided to the receiving server 400 from outside, wherein the providing server 100 includes a control unit 110 and a database 160. The control unit 110 includes a data acquisition unit 111 that acquires a data file stored in the database 160, a re-acquisition condition creation unit 112 that adds re-acquisition information to the data file specifying whether the data file can be acquired, and a data output unit 113 that outputs the data file to which the re-acquisition information has been added by the re-acquisition condition creation unit 112 to the outside as a provided data file to be provided to the receiving server 400. In doing so, the data management system can achieve the same effect as (1). [Explanation of symbols]
[0068] 1000 Data Management System 100 Provider Server 110 Control section 111 Data Acquisition Section 112 Reacquisition Condition Creation Department 113 Data output section 120 Storage section 130 Communications Department 160 Databases 400 Receiving Server 410 Control section 411 Application Execution Unit 412 Data Import Department 413 Data Transmission Unit 414 Reacquisition Conditions Management Department 420 Storage section 430 Communications Department 460 Database
Claims
1. A control unit; A data management server comprising: a reacquisition condition management unit that records and manages reacquisition condition information that associates information related to the data file stored in the database with reacquisition availability information related to whether or not the data file can be acquired; a data transmission unit that registers reacquisition condition information of the data file in the reacquisition condition management unit based on the reacquisition possibility information added to the data file provided from outside the data management server, and transmits the provided data file to the database; a data acquisition unit that, upon receiving a request to acquire a data file stored in the database, acquires the data file from the database only when acquisition of the data file is permitted based on the re-acquisition condition information managed by the re-acquisition condition management unit; Equipped with The re-acquisition condition management unit checks the data file stored in the database at a predetermined timing, and if the data file does not exist, deletes the re-acquisition condition information of the data file.
2. A control unit; A data management server comprising: a reacquisition condition management unit that records and manages reacquisition condition information that associates information related to the data file stored in the database with reacquisition availability information related to whether or not the data file can be acquired; a data transmission unit that registers reacquisition condition information of the data file in the reacquisition condition management unit based on the reacquisition possibility information added to the data file provided from outside the data management server, and transmits the provided data file to the database; a data acquisition unit that, upon receiving a request to acquire a data file stored in the database, acquires the data file from the database only when acquisition of the data file is permitted based on the re-acquisition condition information managed by the re-acquisition condition management unit; Equipped with The re-acquisition condition management unit updates the re-acquisition condition information of the data file when at least a portion of the range information of the data stored in the data file transmitted by the data transmission unit overlaps with the range information of the data stored in the database.
3. 3. The data management server according to claim 1, wherein the reacquisition condition information includes at least identification information of a data file designated as unacquisitionable, and range information of data stored in the data file.
4. 4. The data management server of claim 3, wherein the data stored in the data file corresponds to at least one of data indicating the operating status of an edge device, data indicating the production status of an edge device, data indicating the quality status of a product of an edge device, data indicating the operating status of an edge device, and data indicating an event of an edge device, and the range information of the data includes a period related to a timestamp when the data was generated.
5. The data management server includes a communication unit, The data management server according to claim 1 , wherein a data file provided from outside the data management server and imported into the data management server is received via the communication unit.
6. A data management method for storing an externally provided data file in an internal database, comprising: A computer including a control unit and a database, a reacquisition condition management step of recording and managing reacquisition condition information in which information related to the data file stored in the database is associated with reacquisition availability information regarding whether or not the data file can be acquired; a data transmission step of registering reacquisition condition information of the data file based on the reacquisition possibility information added to the data file provided from the outside, and transmitting the provided data file to the database; a re-acquisition condition information deleting step of checking the data file stored in the database at a predetermined timing, and deleting the re-acquisition condition information of the data file if the data file is not present; a data acquisition step of, when receiving a request to acquire a data file stored in the database, acquiring the data file from the database only when acquisition of the data file is permitted based on the reacquisition condition information managed by the data acquisition step; A data management method that performs the above.
7. A data management method for storing an externally provided data file in an internal database, comprising: A computer including a control unit and a database, a reacquisition condition management step of recording and managing reacquisition condition information in which information related to the data file stored in the database is associated with reacquisition availability information regarding whether or not the data file can be acquired; a data transmission step of registering reacquisition condition information of the data file based on the reacquisition possibility information added to the data file provided from the outside, and transmitting the provided data file to the database; a reacquisition condition information update step of updating reacquisition condition information of the data file when at least a part of range information of the data stored in the data file transmitted in the data transmission step overlaps with range information of the data stored in the database; a data acquisition step of, when receiving a request to acquire a data file stored in the database, acquiring the data file from the database only when acquisition of the data file is permitted based on the reacquisition condition information managed by the data acquisition step; A data management method that performs the above.
8. A data management program for storing an externally provided data file in an internal database, A computer including a control unit and a database, a reacquisition condition management step of recording and managing reacquisition condition information in which information related to the data file stored in the database is associated with reacquisition availability information regarding whether or not the data file can be acquired; a data transmission step of registering reacquisition condition information of the data file based on the reacquisition possibility information added to the data file provided from the outside, and transmitting the provided data file to the database; a re-acquisition condition information deleting step of checking the data file stored in the database at a predetermined timing, and deleting the re-acquisition condition information of the data file if the data file is not present; a data acquisition step of, when receiving a request to acquire a data file stored in the database, acquiring the data file from the database only when acquisition of the data file is permitted based on the reacquisition condition information managed by the data acquisition step; A data management program for executing the above.
9. A data management program for storing an externally provided data file in an internal database, A computer including a control unit and a database, a reacquisition condition management step of recording and managing reacquisition condition information in which information related to the data file stored in the database is associated with reacquisition availability information regarding whether or not the data file can be acquired; a data transmission step of registering reacquisition condition information of the data file based on the reacquisition possibility information added to the data file provided from the outside, and transmitting the provided data file to the database; a reacquisition condition information update step of updating reacquisition condition information of the data file when at least a part of range information of the data stored in the data file transmitted in the data transmission step overlaps with range information of the data stored in the database; a data acquisition step of, when receiving a request to acquire a data file stored in the database, acquiring the data file from the database only when acquisition of the data file is permitted based on the reacquisition condition information managed by the data acquisition step; A data management program for executing the above.
10. 10. A computer-readable recording medium having the data management program according to claim 8 or 9 recorded thereon.
11. A receiving server as the data management server according to claim 1 or 2; A data management system including a providing server that creates a data file to be provided to the receiving server from an external source, The providing server, A control unit; A database; The control unit is a data acquisition unit that acquires a data file stored in the database; a reacquisition condition creating unit that adds reacquisition possibility information that specifies whether or not the data file can be acquired to the data file; a data output unit that outputs the data file to which the re-acquisition information has been added by the re-acquisition condition creating unit to an external device as a provided data file to be provided to the receiving server, Data management system.
Citation Information
Patent Citations
Document managment system
JP2007149067A
Data management device, data management method, and data management program
JP2020021214A
Information provision device, information provision method, and information provision program
WO2019234887A1