Communication method, inspection method, and data sharing system

The proposed communication and inspection methods address data loss and malware detection inefficiencies by using dummy file names for data verification and character code checks for malware detection, respectively, ensuring data integrity and security.

JP2025079733APending Publication Date: 2025-05-22HITACHI IND EQUIP SYST CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023192593
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-10
Publication Date
2025-05-22

AI Technical Summary

Technical Problem

Existing communication methods fail to detect data loss during transmission to a data sharing device, and traditional inspection methods are inefficient in detecting malware due to insufficient memory and long processing times.

Method used

A communication method where data is stored in a shared memory with a dummy file name, sent back to the source for verification, and then renamed to its original file name only if the data content has not changed, ensuring data integrity. Additionally, an inspection method that checks data for malware by determining if it was created using a predetermined character code, simplifying the detection process.

Benefits of technology

This approach enables effective detection of data loss during transmission and simplifies malware detection, ensuring data integrity and security while maintaining efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025079733000001_ABST
    Figure 2025079733000001_ABST
Patent Text Reader

Abstract

To provide a communication method for detecting data loss even when data is lost at the time of transmitting the generated data to a data sharing device, and an inspection method for detecting malware in a simpler method.SOLUTION: A communication method in a data sharing system is executed by a data sharing device 1 including a first environment 10 that receives data from a data generating apparatus 101 that is a data transmission source, a shared memory 31 that stores the data received by the first environment 10, and a second environment 20 that operates independently of the first environment 10, checks the safety of the data stored in the shared memory 31, and then transmits it to the outside. When storing the data in the shared memory 31, the first environment 10 stores the data with a dummy file name, sends the stored data back to the transmission source, and changes the dummy file name to an original file name when the transmission source has confirmed that contents of the data have not changed.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a communication method, an inspection method, and a data sharing system, and more particularly to a communication method that can be suitably used when transmitting generated data to a data storage device that stores the data. [Background technology]

[0002] For example, devices and equipment operating at manufacturing sites often use PCs (Personal Computers) to generate data. However, because the update cycles for these devices and equipment are relatively long, updates to the operating systems (OS) of the PCs connected to them are generally not performed frequently. As a result, from a security standpoint, these PCs are usually not able to connect to information networks, which creates the problem of not being able to easily use the data they generate. To solve this problem, a data sharing device is sometimes used in which a PC is connected to an information network, and the generated data is inspected before being passed on to a higher-level server, allowing the generated data to be utilized while maintaining security.

[0003] Patent Document 1 discloses a data sharing device including a first environment having a first communication port, a second environment having a second communication port and operating independently of the first environment, and a shared memory accessible from both the first and second environments. The first environment includes a data receiving unit that stores data received via the first communication port in the shared memory. The second environment includes a dedicated memory accessible only from within the second environment, a data acquiring unit that writes the data stored in the shared memory to the dedicated memory, an inspecting unit that checks the safety of the data stored in the dedicated memory, and a data transmitting unit that transmits the data stored in the dedicated memory to the outside via the second communication port. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2023-91541 A Summary of the Invention [Problem to be solved by the invention]

[0005] When the data generating device such as the PC transmits the generated data to the data sharing device, the data is transmitted by, for example, FTP (File Transfer Protocol). In this case, however, file loss may occur due to factors such as a lack of memory in the data sharing device, etc. However, even in this case, the transmission is treated as successful, so there is a problem that data may be sent from the data sharing device to a higher-level server or the like with the data still missing. Furthermore, when virus checking software is used to inspect data to detect malware, for example, the required memory is likely to be insufficient and the inspection takes a long time. The present invention aims to provide a communication method capable of detecting data loss even when the data is lost when the data is transmitted to a data sharing device, and also aims to provide an inspection method capable of detecting malware in a simpler manner. [Means for solving the problem]

[0006] In order to solve the above problems, the present invention provides a communication method executed by a data sharing device that includes a first environment that receives data from a data transmission source, a shared memory that stores the data received by the first environment, and a second environment that operates independently of the first environment and checks the safety of the data stored in the shared memory before transmitting it to the outside, in which the first environment stores the data in the shared memory with a dummy file name when storing the data, sends the stored data back to the transmission source, and when it is confirmed that the content of the data has not changed at the transmission source, changes the dummy file name to the original file name.In this case, a communication method can be provided that can detect even if data is lost when generating data and transmitting it to the data sharing device.

[0007] Here, the second environment can use the timing when the first environment completes the process of changing the dummy file name to the original file name to start the process of checking the safety of the data stored in the shared memory. In this case, the next process can be performed after ensuring that there is no data loss. In addition, the second environment can transmit the data stored in the shared memory to the outside while maintaining the directory structure of the file in which the data received by the first environment is stored. In this case, the convenience of the user who uses the data is improved. Furthermore, the second environment can transmit data stored in the shared memory to the outside using the timing when the first environment completes the process of changing the dummy file name to the original file name. In this case, the data can be transmitted to the outside while ensuring that there is no data loss. Furthermore, the second environment can delete the data stored in the shared memory after completing the transmission of the data stored in the shared memory to the outside. In this case, the second environment can further receive the next data. In the second environment, the authority to rewrite the shared memory other than deleting it can be restricted. In this case, security can be ensured. Also, the data sender can instruct the first environment when to store the data in the shared memory and to change the dummy file name to the original file name. In this case, the processing can be performed more easily by using batch processing, etc. Furthermore, the data sender can store the next data in the shared memory using the timing when the data stored in the shared memory is deleted by the second environment, or based on a predetermined interval. In this case, the capacity of the shared memory can be reduced.

[0008] In order to solve the above problems, the present invention provides a communication method executed by a data sender when sending data to a destination, which changes the file name given to the data from the original file name to a dummy file name, sends the data with the dummy file name to the destination, compares the content of the data sent back from the data sender with the data before sending, and if the content of the data has not changed, instructs a process to change the file name of the data stored in the destination and given the dummy file name to the original file name.In this case, a communication method can be provided that can detect the loss of data even when the generated data is sent to a data sharing device.

[0009] By comparing the data returned from the data destination with the data before transmission, it is possible to detect data loss that occurs when transmitting data from the sender to the destination via FTP (File Transfer Protocol). In this case, even if data loss occurs when transmitting data via FTP, this can be detected.

[0010] Furthermore, in order to solve the above problems, the present invention provides an inspection method executed by a data sharing device including a first environment that receives data from a data transmission source, a shared memory that stores the data received by the first environment, and a second environment that operates independently of the first environment and checks the safety of the data stored in the shared memory before transmitting it to the outside, the inspection method determining whether the data is created in a predetermined character code in the second environment to inspect whether the data contains malware. In this case, it is possible to provide an inspection method that can detect malware in a simpler manner.

[0011] Here, the second environment can determine whether the data is garbled, and if so, output a notice to that effect, so that the garbled data can be eliminated. The character code can be any one of ASCII, UTF-8, and Shift_JIS. In this case, when detecting the character code, the one more suitable for the detection target can be applied.

[0012] Further, in order to solve the above problems, the present invention provides a data sharing system that includes a data generating device that generates data, and a data sharing device that inspects the data generated by the data generating device and transmits the data to a data storage device that stores the data, the data sharing device including a first environment having a first communication port that receives data from a data transmission source, a second environment having a second communication port and operating independently of the first environment, and a shared memory accessible from both the first environment and the second environment, the first environment including a data receiving unit that stores data received via the first communication port in the shared memory, the second environment including a data transmitting unit that transmits the data stored in the shared memory to the outside via the second communication port, and an inspection unit that checks the safety of the data stored in the shared memory, the first environment storing the data in the shared memory under a dummy file name when storing the data in the shared memory, sending the stored data back to the transmission source, and changing the dummy file name to the original file name when it is confirmed that the contents of the data have not changed at the transmission source. In this case, a data sharing system that can detect even if data is lost when the generated data is transmitted to the data sharing device can be provided. Effect of the Invention

[0013] According to the present invention, it is possible to provide a communication method capable of detecting data loss even when the data is lost when the data is transmitted to the data sharing device, and also to provide an inspection method capable of detecting malware in a simpler manner. [Brief description of the drawings]

[0014] [Figure 1] 1 is a diagram illustrating an example of a configuration of a data sharing system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a functional configuration diagram of a data sharing device. [Diagram 3] FIG. 2 is a configuration diagram of a data sharing device. [Figure 4] FIG. 1 is a diagram illustrating the operation of a data sharing system. [Diagram 5] 10 is a flowchart illustrating a communication method used between a data generating device and a data sharing device. [Figure 6] 13A and 13B are flowcharts illustrating the process performed by the data sharing device when performing an inspection (scan). [Figure 7] 13 is a table showing a process for performing a file check (data inspection). [Figure 8] 13(a) to 13(c) are diagrams showing the transition of the directory structure of a folder in which data is stored. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0016] <Explanation of Overall Configuration of Data Sharing System 100> FIG. 1 is a diagram showing an example of the configuration of a data sharing system 100 according to the present embodiment. The data sharing system 100 shown in the figure includes data generating devices 101a, 101b, and 101c that generate data, a data sharing device 1 that inspects the data generated by the data generating devices 101a, 101b, and 101c and transmits it to a data storage device 102, and a data storage device 102 that stores the data, all connected via a network 40. The data generating devices 101a, 101b, and 101c are connected to devices and equipment operating at, for example, a manufacturing site and are used to collect data from these devices. The data generating devices 101a, 101b, and 101c are computer devices, for example, PCs. However, the data generating devices 101a, 101b, and 101c are not limited to this, and may be mobile computers, smartphones, tablets, and the like. Although three data generating devices 101a, 101b, and 101c are illustrated here, the number of the data generating devices 101a, 101b, and 101c may be any number greater than or equal to one. In the following description, when the data generating devices 101a, 101b, and 101c are not to be distinguished from one another, they may be simply referred to as "data generating devices 101."

[0017] The data storage device 102 is a server computer that manages the entire data sharing system 100. The data storage device 102 collects and stores data generated by the data generating device 101 for use in managing devices and equipment operating at manufacturing sites and the like. Although only one data storage device 102 is shown in the figure, the functions of the data storage device 102 may be realized by a plurality of server computers. Also, the data storage device 102 may be a virtual server device.

[0018] The network 40 is divided into a field network 40a and an information network 40b with the data sharing device 1 as the boundary. The on-site network 40a is, for example, a network provided at a manufacturing site, and is a communication means used for information communication between the data generating device 101 and the data sharing device 1. The on-site network 40a is, for example, a network used only in a specific area such as a manufacturing site, and here, is not connected to devices other than the data generating device 101 and the data sharing device 1. The on-site network 40a is, for example, a LAN (Local Area Network). The information network 40b is a communication means used for information communication between the data sharing device 1 and the data storage device 102. The illustrated information network 40b is a network that connects to the data sharing device 1 and the data storage device 102, but can also connect to other external devices. The information network 40b is, for example, a LAN, a WAN (Wide Area Network), or the Internet. The communication lines used in the network 40 of this embodiment may be wired or wireless, or may be a combination of both. In addition, the network 40 may be composed of multiple networks by using relay devices such as gateway devices and routers.

[0019] <Description of Functional Configuration of Data Sharing Device 1> Fig. 2 is a functional configuration diagram of the data sharing device 1. The data sharing device 1 stores data generated by a data generating device 101 at the top of the figure in a data storage device 102 at the bottom of the figure. In Fig. 2, the curved dashed line that runs from the data generating device 101 to the data storage device 102 via the data sharing device 1 represents the data path. Note that hereinafter, the data sharing device 1 and the data storage device 102 are collectively referred to as a "communication system."

[0020] The data generating device 101 is, for example, a relatively old computing device with a generally fixed configuration, and security measures are not perfect. As described in the section on problems to be solved by the invention, even new devices can be considered to have insufficient security measures if the latest update programs cannot be installed. The data generating device 101 is operated without being connected to, for example, an intranet (intranet) of an organization having a communication path connected to the Internet, the Internet, or the like, and software updates (patches) are not applied. The data generating device 101 can also be said to be a device that assists or substitutes for work performed by humans in various industries, and in this case, the data generating device 101 can be called an "industrial device." The data storage device 102 is a computing device, such as a server, that is connected to an intranet or the Internet and can use various software. The data storage device 102 generally has a large capacity data storage area. This may be separated as a storage device.

[0021] The data sharing device 1 comprises a first environment 10, a second environment 20, and a shared memory 31. The shared memory may be interpreted as a shared folder as an image of a storage device. The first environment 10 comprises an inside port 11 and a data receiving unit 12. The second environment 20 comprises a data acquiring unit 22, a dedicated memory 23, an inspecting unit 24, a data transmitting unit 25, and an outside port 26. In the following, the inside port 11 is also referred to as the "first communication port," and the outside port 26 is also referred to as the "second communication port."

[0022] The first environment 10 and the second environment 20 operate independently. There is no communication between the first environment 10 and the second environment 20, and there is no data storage area accessible to both of them other than the shared memory 31. The shared memory 31 is a storage area accessible only to the data receiving unit 12 of the first environment 10 and the data acquiring unit 22 of the second environment 20. However, the shared memory 31 at least permits the data receiving unit 12 to write and permits the data acquiring unit 22 to read. In other words, the shared memory 31 does not have to permit the data receiving unit 12 to read data, and does not have to permit the data acquiring unit 22 to write. In reality, the second environment 20 has limited authority to rewrite the shared memory 31 other than to delete it.

[0023] The inner port 11 and the outer port 26 are communication ports, and correspond to, for example, IEEE802.3. The inner port 11 has a communication path capable of communicating with the data generating device 101. The outer port 26 has a communication path capable of communicating with the data storage device 102. Note that the names of the inner port 11 and the outer port 26 are for convenience, and merely indicate that the two are physically different communication ports. For example, the inner port 11 may be connected to a wide area network such as the Internet, and the outer port 26 may be connected to a small-scale network such as a local network within a premises.

[0024] The data receiving unit 12 receives data transmitted from the data generating device 101 and writes it to the shared memory 31. The data acquiring unit 22 monitors the shared memory 31, and when new data is written to the shared memory 31, copies the data to the dedicated memory 23.

[0025] The inspection unit 24 inspects the data that the data acquisition unit 22 has written to the dedicated memory 23. The inspection unit 24 detects malware, for example, at regular time intervals. The data inspection performed by the inspection unit 24 can also be called a "security check."

[0026] The data transmission unit 25 transmits data that has been inspected by the inspection unit 24 to the data storage device 102 via the external port 26 .

[0027] Various means can be used for transmitting and receiving data between the data receiving unit 12 and the data generating device 101. However, it is preferable not to add new software to the data generating device 101. This is mainly due to the following two reasons. The first reason is that it may be necessary to perform advance verification at great cost before introducing new software to ensure that the new software does not adversely affect the operation of other programs in the data generating device 101. The second reason is that the environment for software development in the data generating device 101 has already been lost and does not exist, and development itself may not be possible. As a method for doing this without adding new software, for example, any of the following can be adopted.

[0028] The first method is a method that utilizes FTP (File Transfer Protocol). In this case, the data receiving unit 12 is an FTP server, and the data generating device 101 is an FTP client. When the data receiving unit 12 receives an FTP connection from the data generating device 101, it sets an area of ​​the shared memory 31 that the first environment 10 has mounted in advance as an initial directory, and causes writing to be performed in that directory. In this case, the data generating device 101 may transfer files using a batch file that has been created in advance, or the operator may transfer files manually.

[0029] In this case, the data receiving unit 12 operates as an FTP server, and it is sufficient that the first environment 10 is set to be able to write to the area of ​​the shared memory 31 previously mounted. Since the FTP client function is often installed as standard even in relatively old OSs (operating systems), it can be realized without adding new software to the data generating device 101.

[0030] The second method is a method of combining a file server function and a file copy function. The file server function is NFS (Network File System) or SMB (Server Message Block), with the data receiving unit 12 being the server and the data generating device 101 being the client. The data receiving unit 12 sets the area of ​​the shared memory 31 previously mounted by the first environment 10 to be sharable. The data generating device 101 mounts the area of ​​the shared memory 31 provided by the data receiving unit 12, and copies data to the mounted area by the file copy function.

[0031] The file copy function can utilize commands such as "cp", "rsync", and "robocopy". Since the file server function and the file copy function are often installed as standard even in relatively old OSs, they can be realized without adding new software to the data generation device 101.

[0032] Various means can be used for transmitting and receiving data between the data transmission unit 25 and the data storage device 102. For example, the above-mentioned FTP may be used, with the data storage device 102 acting as an FTP server and the data transmission unit 25 acting as an FTP client, to transfer data from the data transmission unit 25 to the data storage device 102. Also, instead of FTP, SFTP (SSH File Transfer Protocol) or SCP (Secure Copy Protocol) may be used.

[0033] The data sharing device 1 shown in Figure 2 can also be said to comprise a first environment 10 that receives data from a data generating device 101 that is the source of the data, a shared memory 31 that stores the data received by the first environment 10, and a second environment 20 that operates independently of the first environment 10 and checks the safety of the data stored in the shared memory 31 before transmitting it to the outside.

[0034] <Device configuration of data sharing device 1> Fig. 3 is a configuration diagram of the data sharing device 1. The upper part of Fig. 3 shows the hardware configuration, and the lower part of Fig. 3 shows the software configuration. The data sharing device 1 includes a CPU 41, a storage device 42, a RAM 43, an inside port 11, and an outside port 26. The CPU 41 is a central processing unit, and realizes various functions by expanding into the RAM 43 and executing a program stored in the storage device 42, which is a non-volatile storage device, for example, a flash memory.

[0035] In this embodiment, the container technology is used as shown in the lower part of Fig. 3. That is, a host OS 51 runs on hardware 50, and a container control unit 52 runs on top of that. The container control unit 52 manages the container in which the first environment 10 runs, the container in which the second environment 20 runs, and the shared memory 31. Note that each of the first environment 10 and the second environment 20 also includes middleware for running in the container environment, but this is omitted for convenience of drawing.

[0036] The first software group included in the first environment 10 is software including a data receiving unit 12. The second software group included in the second environment 20 is software including a data acquiring unit 22, an inspecting unit 24, and a data transmitting unit 25. The storage device 42 stores software for implementing the host OS 51 and the container control unit 52, a container for implementing the first environment 10, and a container for implementing the second environment 20. A part of the RAM 43 is used as the shared memory 31 and the dedicated memory 23 for the second environment 20. The host OS 51 may be a real-time OS that performs real-time processing, i.e., that guarantees a response within a predetermined time, or it may not be a real-time OS.

[0037] <Description of the operation of the data sharing system 100> FIG. 4 is a diagram illustrating the operation of the data sharing system 100. First, a communication method used between the data generating device 101 and the data sharing device 1 will be described. FIG. 5 is a flowchart illustrating a communication method used between the data generating device 101 and the data sharing device 1. As shown in FIG. This communication method will be specifically described below with reference to Figures 4 and 5. Note that this corresponds to the process performed by the first environment 10 in Figure 2.

[0038] When the data generating device 101 transmits data to the data sharing device 1, first the data generating device 101 changes the file name of the file in which the data is stored from the original file name to a dummy file name. Here, it is assumed that the original file name is "DataFile.csv" and the dummy file name is "Dummy.txt". Then, the data generating device 101 transmits the data to the data sharing device 1 under the dummy file name. In this case, the data generating device 101 FTP transmits the transmission file to the data sharing device 1 with the name "Dummy.txt" (S101).

[0039] The data sharing device 1 receives the data with the dummy file name. In this case, the data sharing device 1 receives the file with the file name "Dummy.txt" via FTP (S102). Then, the data sharing device 1 stores the data with the dummy file name. In this case, the data sharing device 1 stores the received file in a shared directory (FTP receiving folder). This corresponds to the operation of the data receiving unit 12 accepting data transmission from the data generating device 101 and writing it in the shared memory 31. Note that in this case, it can also be said that the data generating device 101, which is the data transmission source, instructs the timing at which the first environment 10 stores data in the shared memory 31.

[0040] Next, the data generating device 101 transmits a Get command to the data sharing device 1, and issues an instruction to send back the file received from the data generating device 101. Receiving this, the data sharing device 1 sends the received file back to the data generating device 101 as is. In this case, the file with the file name "Dummy.txt" is sent back to the data generating device 101 as is via FTP communication. The data generating device 101 receives this file and compares the contents of the returned data with the data before transmission. That is, the data of the transmission file "DataFile.csv" is compared with the contents of the data of "Dummy.txt" received via FTP (S103).

[0041] Then, if the comparison result shows that there is no change and the contents are the same (OK in S104), the data generating device 101 transmits an instruction to the data sharing device 1 to change (RENAME) the file name from the dummy file name to the original file name. Specifically, a command to change (RENAME) the file name is transmitted. As a result, the data sharing device 1 changes the file name given to the stored data from the dummy file name to the original file name. In this case, the data sharing device 1 renames (RENAME) the dummy file name "Dummy.txt" to "DataFile.csv", which is the name of the original transmission file (S105). Note that in this case, it can also be said that the data generating device 101, which is the data transmission source, instructs the process of changing the dummy file name to the original file name.

[0042] On the other hand, if the comparison result indicates that the contents are different (NG in S104), the data generating device 101 performs error processing (S106).

[0043] The communication method described above, from the perspective of the data sharing device 1, can also be said to be a communication method executed by the data sharing device 1, in which, when the first environment 10 stores data in the shared memory 31, it stores the data with a dummy file name, sends the stored data back to the data generating device 101 which is the sender, and when the data generating device 101 confirms that the contents of the data have not changed, it changes the dummy file name to the original file name.

[0044] Furthermore, the communication method described above can also be said to be a communication method executed by data generating device 101, which is the source of data, when transmitting data to data sharing device 1, which is the destination, in which the file name given to the data is changed from the original file name to a dummy file name, the data given the dummy file name is transmitted to data sharing device 1, the content of the data sent back from data sharing device 1 is compared with the data before transmission, and, if the content of the data has not changed, a process is instructed to change the file name of the data stored in data sharing device 1 and given the dummy file name to the original file name.

[0045] When such a communication method is adopted, even if data is lost when the data generating device 101 transmits data to the data sharing device 1, this can be detected. In other words, even if a file is lost due to a factor such as a memory shortage in the data sharing device 1 when the data generating device 101 transmits data to the data sharing device 1 by FTP, this can be detected and processing such as retransmission can be performed. As a result, when the data generating device 101 transmits data to the data sharing device 1, normal data can be transmitted, and further normal data can be stored in the data storage device 102.

[0046] 5, the process of changing the original file name to a dummy file name (S101), the instruction for the data generating device 101 to transmit a Get command to the data sharing device 1 and send back the file received from the data generating device 101 (S103), and the instruction to change (RENAME) the file name from the dummy file name to the original file name (S105) are performed by the data generating device 101. This can be performed, for example, by batch processing operated by the data generating device 101. However, this is not limited to this, and other processing methods may also be used.

[0047] Furthermore, the above-mentioned processes that have been mainly performed by the data generating device 101 or the data sharing device 1 may be performed by the other device. That is, the processes that have been performed by the data generating device 101 may be performed by the data sharing device 1, and the processes that have been performed by the data sharing device 1 may be performed by the data generating device 101. For example, in S101 to S102, the data generating device 101 performs the process of changing the original file name to a dummy file name, but the data generating device 101 may transmit a file with the original file name to the data sharing device 1, and the data sharing device 1 may perform the process of changing the original file name to a dummy file name. Furthermore, in S103, the data generating device 101 transmits a Get command, but the data sharing device 1 may perform processing to transmit back the received file as is, even if it does not receive a Get command from the data generating device 101. Furthermore, in S105, the data generating device 101 sent a command to change (RENAME) the file name, but the data generating device 101 may simply notify the data sharing device 1 that the contents were the same, and the data sharing device 1, upon receiving this, may perform a process of changing (RENAME) the dummy file name to the original file name.

[0048] After the above-mentioned RENAME event, as shown in FIG. 4, the data sharing device 1 moves the data stored in the shared directory (FTP reception folder) to the scan folder and performs an inspection (scan) to check whether malware is included or not. This process is specifically performed as follows. This corresponds to the process performed by the second environment 20 in FIG. 2. FIGS. 6(a) to (b) are flowcharts for explaining the processes performed when the data sharing device 1 performs an inspection (scan). Among these, FIG. 6(a) is a flowchart for explaining the process of creating a scan list as a list of files in which the data to be scanned is stored. The data sharing device 1 monitors the above-mentioned RENAME event (S201). As a result, if there is an event (Yes in S202), the data sharing device 1 adds the file targeted by the RENAME event to the scan list (S202). On the other hand, if there is no event (No in S202), the process returns to S201. By the above process, the files in which the data to be inspected (scanned) is stored are added to the scan list. In this case, it can also be said that, using the timing when the process of changing the dummy file name to the original file name shown in FIG. 5 is completed, the process of confirming the data security for the data stored in the shared memory 31 is started.

[0049] FIG. 6(b) is a flowchart for explaining the process of scanning the data according to the scan list. The data sharing device 1 monitors the scan list (S301). Next, the data sharing device 1 determines whether there is a file in the scan list (S302). As a result, if there is a file (Yes in S302), the data sharing device 1 moves the file to the scan folder (S303). On the other hand, if there is no file (No in S302), the process returns to S301.

[0050] After S303, the data sharing device 1 checks the file extension (S304), which allows a simple inspection to be performed as to whether or not the data is created in a predetermined character code. As a result, if the file is to be checked (target in S305), that is, if the file extension is a predetermined one, the data sharing device 1 performs a file check (data inspection) (S306). The contents of the file check will be described later. On the other hand, if the file is not to be checked (not to be checked in S305), that is, if the file extension is not one of the predetermined extensions, the process returns to S301.

[0051] After S306, if the file check result is OK (OK in S307), the data sharing device 1 moves the file from the scan folder to the upload folder (S308). On the other hand, if a problem occurs as a result of the file check (NG in S307), the data sharing apparatus 1 isolates the file (S309) and returns to S301.

[0052] As shown in Fig. 4, the data sharing device 1 uploads the file moved to the upload folder to the data storage device 102. The data storage device 102 receives this file and stores the data. At this time, the second environment 20 of the data sharing device 1 may transmit the data stored in the shared memory 31 to the external data storage device 102 by utilizing the timing at which the process of changing the dummy file name to the original file name shown in Fig. 5 is completed.

[0053] After completing transmission of the data stored in the shared memory 31 to the external data storage device 102, the second environment 20 of the data sharing device 1 deletes the data stored in the shared memory 31. The data generating device 101, which is the data transmission source, may send a file containing the next data to be stored in the shared memory 31, using the timing when the data stored in the shared memory 31 is deleted by the second environment 20, or based on a predetermined interval.

[0054] Next, the process of the data sharing apparatus 1 performing a file check (data inspection) in S306 in FIG. 6(b) will be described in detail. FIG. 7 is a table showing the process of performing a file check (data inspection). Specifically, file checking (data inspection) involves checking whether the data contains malware. At this time, in this embodiment, a character code check is performed as shown in Fig. 7 as a normalization check method. For example, when the OS running on the data sharing device 1 is Linux (registered trademark), the normalization check method uses the "iconv" command to check whether the data in the file is configured in any one of the character codes ASCII, UTF-8, or Shift_JIS. On the other hand, Fig. 7 illustrates a virus check method as a conventional check method. This uses virus check software to check whether the data in the file contains a virus pattern.

[0055] When comparing the two, the following can be said: First, the normalization check method requires less memory capacity than the virus check method. Also, the normalization check method has a much shorter startup time than the virus check method. Furthermore, the virus check method requires software maintenance and hardware maintenance, but the normalization check method does not.

[0056] The data generated by the data generating device 101 is data output from devices or equipment operating at a manufacturing site or the like, and is described in text data and does not include binary code. On the other hand, it is difficult to describe malware in text data, and it is described in binary code. Therefore, in this embodiment, when the data includes a code other than a predetermined character code, the data generating device 101 determines that the data includes malware. This has the advantages of requiring only a small amount of memory when performing a file check (data inspection), extremely short startup time, and no software or hardware maintenance.

[0057] The inspection method described above corresponds to the processing performed by the inspection unit 24 of the second environment 20. Therefore, the inspection method described above can also be said to be an inspection method executed by the data sharing device 1, in which the inspection unit 24 of the second environment 20 determines whether the data is created using a predetermined character code, thereby inspecting whether the data includes malware.

[0058] At this time, the inspection unit 24 of the second environment 20 may determine whether the data is garbled or not, and if so, output a notice to that effect. This notice may be sent to the data generating device 101, for example, and processing such as retransmitting the data from the data generating device 101 may be performed.

[0059] Furthermore, the data sharing device 1 transmits the data stored in the shared memory 31 to the external data storage device 102 while maintaining the directory structure of the file in which the received data is stored.

[0060] 8(a) to 8(c) are diagrams showing the transition of the directory structure of a folder in which data is stored. 8(a) shows a directory structure of folders and files in which data generated by the data generating device 101 is stored. In this example, files with the extension "txt" store data generated by the data generating device 101. A directory structure is formed in which a folder indicated by "ProductData" is at the top level. Fig. 8(b) shows the directory structure after these folders and files are copied using the Windows (registered trademark) "xcopy" command. In this case, a directory structure is formed with the folder indicated by "TESTDATA" at the top, but the directory structure is the same as that in Fig. 8(a). The file in which the data is stored is then sent as is by FTP to the data sharing device 1, and is then sent as is to the data storage device 102. Fig. 8(c) shows the directory structure of folders and files in which data is stored in the data storage device 102. In this case, a directory structure is formed in which the folder indicated by "TESTDATA" is at the top, but the directory structure is the same as that in Figs. 8(a) and (b). In this way, data storage device 102 can distinguish which data generating device 101 generated the data, improving the usability for users who utilize this data.

[0061] The processing method performed by the data sharing device 1 has been described above, but the data sharing device 1 also has characteristics as a device. That is, the data sharing device 1 comprises a first environment 10 having an inner port 11 which is a first communication port that receives data from a data sender, a second environment 20 having an outer port 26 which is a second communication port and operates independently of the first environment 10, and a shared memory 31 which is accessible from both the first environment 10 and the second environment 20, the first environment 10 comprising a data receiving unit 12 which stores data received via the inner port 11 in the shared memory 31, the second environment 20 comprising a data sending unit 25 which transmits data stored in the shared memory 31 to the outside via the outer port 26 which is the second communication port, and an inspection unit 24 which verifies the safety of the data stored in the shared memory 31, and the first environment 10 can also be considered as storing the data in the shared memory 31 under a dummy file name when storing the data in the shared memory 31, sending the stored data back to the sender, and when it is confirmed that the contents of the data have not changed at the sender, changing the dummy file name to the original file name.

[0062] Furthermore, the data sharing device 1 described above comprises a first environment 10 having an inner port 11, which is a first communication port that receives data from a data sender, a second environment 20 having an outer port 26, which is a second communication port, and operating independently of the first environment 10, and a shared memory 31 that is accessible from both the first environment 10 and the second environment 20, where the first environment 10 comprises a data receiving unit 12 that stores data received via the inner port 11 in the shared memory 31, and the second environment 20 comprises a data transmitting unit 25 that transmits data stored in the shared memory 31 to the outside via the outer port 26, which is the second communication port, and an inspection unit 24 that checks the safety of the data stored in the shared memory 31, and the inspection unit 24 can also be considered to inspect whether the data contains malware by determining whether the data is created using a predetermined character code.

[0063] Data generating device 101 also has characteristics as a device. That is, data generating device 101 can be considered as a data generating device including a change unit that changes the file name given to generated data from the original file name to a dummy file name, a transmission unit that transmits data given the dummy file name to a destination, a comparison unit that compares the contents of data sent back from the destination of the data with the data before transmission, and an instruction unit that instructs processing to change the file name of data stored in the destination and given the dummy file name to the original file name when the contents of the data have not changed.

[0064] Furthermore, the above-described processes performed by the data sharing device 1 are realized by the cooperation of software and hardware resources. That is, a processor such as the CPU 41 in a computer provided in the data sharing device 1 loads software (programs) for realizing each of the above-described functions into a memory such as the RAM 43 and executes the software (programs) to realize each of the above-described functions.

[0065] Therefore, the processing performed by the data sharing device 1 can also be considered to be a program executed by the data sharing device 1, which provides the computer with the following functions: when the first environment 10 stores data in the shared memory 31, storing the data with a dummy file name; sending the stored data back to the data generating device 101 which is the sender; and changing the dummy file name to the original file name when the data generating device 101 confirms that the contents of the data have not changed. In addition, the processing performed by the data sharing device 1 can also be considered to be a program executed by the data sharing device 1, which realizes the function of inspecting whether or not the data contains malware by determining whether or not the data has been created using a predetermined character code in the inspection unit 24 of the second environment 20.

[0066] Furthermore, the processing performed by the data generating device 101 is also realized by the cooperation of software and hardware resources. Therefore, the processing performed by the data generating device 101 can also be considered to be a program executed by the data generating device 101, which is the source of data, when transmitting data to the data sharing device 1, which is the destination, and which realizes the following functions: changing the file name given to the data from the original file name to a dummy file name; transmitting the data given the dummy file name to the data sharing device 1; comparing the content of the data sent back from the data sharing device 1 with the data before transmission; and, when the content of the data has not changed, instructing processing to change the file name of the data stored in the data sharing device 1 and given a dummy file name to the original file name.

[0067] The program for implementing the present embodiment can be provided not only by communication means but also by being stored in a recording medium such as a CD-ROM.

[0068] Although the present embodiment has been described above, the technical scope of the present invention is not limited to the scope described in the above embodiment. It is clear from the claims that various modifications and improvements to the above embodiment are also included in the technical scope of the present invention. [Explanation of symbols]

[0069] 1...data sharing device, 10...first environment, 11...inner port, 12...data receiving unit, 20...second environment, 22...data acquisition unit, 23...dedicated memory, 24...inspection unit, 25...data transmission unit, 26...outer port, 31...shared memory, 100...data sharing system, 101, 101a, 101b, 10c...data generating device, 102...data storage device

Claims

1. A communication method executed by a data sharing device including a first environment that receives data from a data transmission source, a shared memory that stores the data received by the first environment, and a second environment that operates independently of the first environment and checks the safety of the data stored in the shared memory before transmitting the data to an outside source, the method comprising: the first environment stores the data in the shared memory under a dummy file name, sends the stored data back to the sender, and when it is confirmed that the contents of the data have not changed at the sender, changes the dummy file name to the original file name; Communication methods.

2. The communication method described in claim 1, wherein the second environment starts a process of verifying the safety of data stored in the shared memory by utilizing the timing when the first environment completes the process of changing the dummy file name to the original file name.

3. 2. The communication method according to claim 1, wherein the second environment transmits the data stored in the shared memory to an external device while maintaining a directory structure of a file in which the data received by the first environment is stored.

4. The communication method according to claim 1 , wherein the second environment transmits data stored in the shared memory to the outside by taking advantage of the timing when the first environment completes the process of changing the dummy file name to the original file name.

5. 2. The communication method according to claim 1, wherein the second environment deletes the data stored in the shared memory after completing transmission of the data stored in the shared memory to an external device.

6. The communication method according to claim 1 , wherein the second environment has a limited right to rewrite the shared memory other than to delete the shared memory.

7. 2. The communication method according to claim 1, wherein a sender of the data instructs the timing at which the first environment stores the data in the shared memory and the process of changing a dummy file name to an original file name.

8. The communication method according to claim 1 , wherein the data sender stores the next data in the shared memory by utilizing the timing when the data stored in the shared memory is deleted by the second environment or based on a predetermined interval.

9. A communication method executed by a data sender when sending data to a destination, comprising the steps of: Change the file name given to the data from the original file name to a dummy file name, Send data with a dummy file name to the destination, The data returned from the data destination is compared with the data before it was sent, When the contents of the data have not changed, instruct the process of changing the file name of the data stored in the destination and given a dummy file name to the original file name. Communication methods.

10. The communication method according to claim 9, further comprising: detecting data loss that occurs when transmitting data from a sender to a destination using FTP (File Transfer Protocol) by comparing the contents of data returned from the destination with the data before transmission.

11. A testing method executed by a data sharing device including a first environment that receives data from a data transmission source, a shared memory that stores the data received by the first environment, and a second environment that operates independently of the first environment and checks the safety of the data stored in the shared memory and transmits the data to an outside source, the method comprising: In the second environment, checking whether the data includes malware by determining whether the data is created using a predetermined character code. Testing method.

12. 12. The inspection method according to claim 11, wherein the second environment determines whether or not the data is garbled, and if so, outputs a notice to that effect.

13. 12. The inspection method according to claim 11, wherein the character code is any one of ASCII, UTF-8, and Shift_JIS.

14. A data generating device for generating data; a data sharing device that checks the data generated by the data generating device and transmits the data to a data storage device that stores the data; Equipped with The data sharing device includes: a first environment having a first communication port for receiving data from a data source; a second environment having a second communication port and operating independently of the first environment; a shared memory accessible from both the first environment and the second environment; The first environment is a data receiving unit that stores data received via the first communication port in the shared memory; The second environment is a data transmission unit that transmits the data stored in the shared memory to an outside via the second communication port; a verification unit for verifying the safety of data stored in the shared memory; Equipped with the first environment stores the data in the shared memory under a dummy file name, sends the stored data back to the source, and when it is confirmed that the content of the data has not changed at the source, changes the dummy file name to the original file name; Data sharing system.

Citation Information

Patent Citations

  • Ftp (File transfer protocol) terminal, file transfer method using ftp and program thereof

    JP2003177987A

  • Control method of multi-operating system, program making computer execute same method, and control device of multi-operating system

    JP2004252776A

  • Information transfer device, information transfer method and information transfer program

    JP2019145050A

  • Data sharing device, communication system, and communication method

    JP2023091541A