JP7384028B2 - Data storage systems, data storage devices, computer programs and data storage methods - Google Patents

Data storage systems, data storage devices, computer programs and data storage methods Download PDF

Info

Publication number
JP7384028B2
JP7384028B2 JP2019237430A JP2019237430A JP7384028B2 JP 7384028 B2 JP7384028 B2 JP 7384028B2 JP 2019237430 A JP2019237430 A JP 2019237430A JP 2019237430 A JP2019237430 A JP 2019237430A JP 7384028 B2 JP7384028 B2 JP 7384028B2
Authority
JP
Japan
Prior art keywords
data
divided
restoration
unit
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019237430A
Other languages
Japanese (ja)
Other versions
JP2021105680A (en
Inventor
憲朗 伊藤
昌希 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2019237430A priority Critical patent/JP7384028B2/en
Publication of JP2021105680A publication Critical patent/JP2021105680A/en
Application granted granted Critical
Publication of JP7384028B2 publication Critical patent/JP7384028B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ネットワークを介して接続された複数の装置が分散してデータを記憶するデータ記憶システム、データ記憶装置、コンピュータプログラム及びデータ記憶方法に関する。 The present invention relates to a data storage system, a data storage device, a computer program, and a data storage method in which a plurality of devices connected via a network store data in a distributed manner.

近年、コンピュータの性能向上及びネットワークの通信高速化等が進み、ネットワークを介して接続された複数のコンピュータを利用してデータを記憶することにより、データの記憶に関する信頼性及び頑強性等を向上させる様々な技術が研究開発されている。例えば、ブロックチェーンと呼ばれる分散台帳技術では、ブロックと呼ばれるデータの集合体をチェーン状に連結した構造のデータベースを複数のコンピュータが記憶し、ハッシュの技術を用いることでブロックに含まれるデータの改竄を困難化している。 In recent years, computer performance has improved and network communication speeds have increased, and by storing data using multiple computers connected via a network, the reliability and robustness of data storage can be improved. Various technologies are being researched and developed. For example, in a distributed ledger technology called blockchain, multiple computers store a database that is a chain of data collections called blocks, and hash technology is used to prevent tampering with the data contained in the blocks. It's getting more difficult.

特許文献1においては、電子データの取引に関するデータの秘匿性及び取引の公平性を向上することを目的に、ブロックチェーンの技術を利用して取引データを記憶する電子取引装置が提案されている。この電子取引装置は、電子データの送信側の端末と受信側の端末との間で、この電子データの正当性を検証する。 Patent Document 1 proposes an electronic transaction device that stores transaction data using blockchain technology for the purpose of improving data confidentiality and transaction fairness regarding electronic data transactions. This electronic transaction device verifies the validity of electronic data between a terminal on the transmitting side and a terminal on the receiving side of the electronic data.

特開2019-106639号公報JP 2019-106639 Publication

ブロックチェーンを記憶するコンピュータは、ハッシュ値の算出等の演算処理を実行する必要があるため、高い演算能力が要求される。またブロックチェーンに対して新たなブロックが刻々と連結されていくため、コンピュータにはこれらを十分に記憶できる容量の記憶装置が必要である。 Computers that store blockchains need to perform arithmetic processing such as calculating hash values, so they are required to have high computing power. Additionally, since new blocks are added to the blockchain every moment, computers need a storage device with sufficient capacity to store these blocks.

本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、データの分散記憶を比較的に低性能なコンピュータを利用して実現することが期待できるデータ記憶システム、データ記憶装置、コンピュータプログラム及びデータ記憶方法を提供することにある。 The present invention has been made in view of the above circumstances, and its purpose is to provide a data storage system that is expected to realize distributed storage of data using relatively low-performance computers. An object of the present invention is to provide a data storage device, a computer program, and a data storage method.

本発明に係るデータ記憶システムは、ネットワークを介して接続された複数の装置がデータを分散して記憶するデータ記憶システムであって、前記複数の装置に含まれるデータ生成元装置は、記憶対象のデータを識別する識別情報を生成する識別情報生成部と、前記データを複数に分割するデータ分割部と、前記データ分割部が分割した複数のデータを元のデータに復元するための復元用情報を生成する復元用情報生成部と、前記データ分割部が分割した複数のデータに前記識別情報生成部が生成した識別情報及び前記復元用情報生成部が生成した復元用情報を付し、それぞれ異なる他の装置へ送信するデータ送信部とを有し、前記複数の装置に含まれ、分割されたデータを受信する受信側装置は、受信したデータについて分割終了条件を満たすか否かを判定する分割終了条件判定部と、前記分割終了条件判定部が前記分割終了条件を満たすと判定した場合に、前記データを前記識別情報及び前記復元用情報と共に記憶する記憶部と、前記分割終了条件判定部が前記分割終了条件を満たさないと判定した場合に、前記データを複数に分割するデータ分割部と、前記データ分割部が分割した複数のデータを元のデータに復元するための復元用情報を生成する復元用情報生成部と、前記データ分割部が分割した複数のデータに前記識別情報及び前記復元用情報生成部が生成した復元用情報を付し、それぞれ異なる他の装置へ送信するデータ送信部とを有する。 A data storage system according to the present invention is a data storage system in which a plurality of devices connected via a network store data in a distributed manner, and a data generation source device included in the plurality of devices is a data storage system that stores data in a distributed manner. an identification information generation unit that generates identification information that identifies data; a data division unit that divides the data into a plurality of pieces; and a restoration information that restores the plurality of data divided by the data division unit to the original data. A restoration information generation unit generates, and the data division unit adds identification information generated by the identification information generation unit and restoration information generated by the restoration information generation unit to a plurality of data divided by the data division unit, and each of the data is different from the other. A receiving side device that is included in the plurality of devices and that receives the divided data has a data transmitting unit that transmits data to the device, and a receiving device that is included in the plurality of devices and that receives the divided data. a condition determination unit; a storage unit that stores the data together with the identification information and the restoration information when the division termination condition determination unit determines that the division termination condition is satisfied; a data division unit that divides the data into a plurality of pieces when it is determined that the division end condition is not satisfied; and a restoration unit that generates restoration information for restoring the plurality of data divided by the data division unit to the original data. a data transmitting unit that attaches the identification information and the restoration information generated by the restoration information generation unit to the plurality of data divided by the data division unit and transmits them to different other devices. have

また、本発明に係るデータ記憶システムは、前記データ生成元装置が、記憶対象のデータを暗号化する暗号化部を有し、前記データ生成元装置のデータ分割部は、前記暗号化部により暗号化されたデータを分割する。 Further, in the data storage system according to the present invention, the data generating device has an encryption unit that encrypts data to be stored, and the data dividing unit of the data generating device is encrypted by the encryption unit. Split the formatted data.

また、本発明に係るデータ記憶システムは、前記データ生成元装置及び前記受信側装置が、分割した複数のデータについてそれぞれ誤り訂正用情報を生成する誤り訂正用情報生成部を有し、前記データ生成元装置及び前記受信側装置のデータ送信部は、分割した複数のデータにそれぞれ誤り訂正用情報を付して送信する。 Further, in the data storage system according to the present invention, the data generating device and the receiving device each include an error correction information generating unit that generates error correction information for each of the plurality of divided data, and the data generating device The data transmitting units of the source device and the receiving device each attach error correction information to the plurality of divided data and transmit them.

また、本発明に係るデータ記憶システムは、前記データ分割部が、前記データ送信部がデータを送信する送信先の装置の数に応じて、データの分割数を決定する。 Further, in the data storage system according to the present invention, the data division section determines the number of data divisions according to the number of destination devices to which the data transmission section transmits data.

また、本発明に係るデータ記憶システムは、前記データ送信部が、前記データ分割部が分割したデータの数に応じて、当該データの送信先を決定する。 Further, in the data storage system according to the present invention, the data transmission section determines a destination of the data according to the number of data divided by the data division section.

また、本発明に係るデータ記憶システムは、前記分割終了条件が、分割されたデータのサイズが閾値より小さいこと、又は、分割されたデータのサイズが当該データに付される識別情報及び復元用情報のサイズより小さいことである。 Further, in the data storage system according to the present invention, the division end condition is that the size of the divided data is smaller than a threshold value, or the size of the divided data is attached to identification information and restoration information attached to the data. is smaller than the size of

また、本発明に係るデータ記憶システムは、前記受信側装置が、前記識別情報を指定したデータの記憶の有無の確認要求を受信した場合に、前記識別情報に係るデータを記憶しているか否かを判定する記憶判定部と、前記記憶判定部が前記データを記憶していると判定した場合に、前記確認要求の送信元への応答を行う応答部とを有する。 Further, in the data storage system according to the present invention, when the receiving side device receives a confirmation request as to whether or not data specifying the identification information is stored, it is possible to check whether the receiving device stores data related to the identification information. and a response unit that responds to the source of the confirmation request when the storage determination unit determines that the data is stored.

また、本発明に係るデータ記憶システムは、前記複数の装置に含まれるデータ復元装置が、前記受信側装置からの応答に基づいて、分割された前記データを収集するデータ収集部と、前記データ収集部が収集した分割された複数の前記データを元のデータに復元する復元部とを有する。 Further, in the data storage system according to the present invention, a data restoration device included in the plurality of devices includes a data collection unit that collects the divided data based on a response from the receiving device; and a restoration section that restores the plurality of divided data collected by the division into original data.

また、本発明に係るデータ記憶システムは、前記受信側装置の応答部が、自装置へアクセスするためのアクセス用情報と、前記記憶部が記憶した前記復元用情報とを前記確認要求の送信元へ送信し、前記データ復元装置のデータ収集部は、前記アクセス用情報に基づいて前記データを収集し、前記データ復元装置の復元部は、前記復元用情報に基づいてデータを復元する。 Further, in the data storage system according to the present invention, the response unit of the receiving device transmits access information for accessing the own device and the restoration information stored in the storage unit to the sender of the confirmation request. The data collection unit of the data restoration device collects the data based on the access information, and the restoration unit of the data restoration device restores the data based on the restoration information.

また、本発明に係るデータ記憶装置は、ネットワークを介して他の装置との通信を行うデータ記憶装置であって、他の装置から受信したデータについて分割終了条件を満たすか否かを判定する分割終了条件判定部と、前記分割終了条件判定部が前記分割終了条件を満たすと判定した場合に、前記他の装置から受信したデータを、当該データを識別する識別情報及び当該データを元のデータに復元するための復元用情報と共に記憶する記憶部と、前記分割終了条件判定部が前記分割終了条件を満たさないと判定した場合に、前記データを複数に分割するデータ分割部と、前記データ分割部が分割した複数のデータを元のデータに復元するための復元用情報を生成する復元用情報生成部と、前記データ分割部が分割した複数のデータに、前記識別情報及び前記復元用情報生成部が生成した復元用情報を付し、それぞれ異なる他の装置へ送信するデータ送信部とを備える。 Further, the data storage device according to the present invention is a data storage device that communicates with other devices via a network, and which divides data received from the other device to determine whether or not a division end condition is satisfied. When the division termination condition determining unit and the division termination condition determination unit determine that the division termination condition is satisfied, the data received from the other device is converted into the original data using identification information for identifying the data and the data received from the other device. a storage unit that stores the data together with restoration information for restoration; a data division unit that divides the data into a plurality of pieces when the division end condition determination unit determines that the division end condition is not satisfied; and the data division unit a restoration information generation section that generates restoration information for restoring the plurality of data divided into original data; and a restoration information generation section that generates the identification information and the restoration information generation section for the plurality of data divided by the data division section. and a data transmitting unit that attaches restoration information generated by the data transmitter and transmits the data to different other devices.

また、本発明に係るコンピュータプログラムは、ネットワークを介して他の装置との通信を行うコンピュータに、他の装置から受信したデータについて分割終了条件を満たすか否かを判定し、前記分割終了条件を満たすと判定した場合に、前記他の装置から受信したデータを、当該データを識別する識別情報及び当該データを元のデータに復元するための復元用情報と共に記憶し、前記分割終了条件を満たさないと判定した場合に、前記データを複数に分割し、分割した複数のデータを元のデータに復元するための復元用情報を生成し、分割した複数のデータに、前記識別情報及び生成した復元用情報を付し、それぞれ異なる他の装置へ送信する処理を実行させる。 Further, the computer program according to the present invention causes a computer that communicates with another device via a network to determine whether or not a division end condition is satisfied for data received from another device, and sets the division end condition to the computer that communicates with another device via a network. If it is determined that the division termination condition is satisfied, the data received from the other device is stored together with identification information for identifying the data and restoration information for restoring the data to the original data, and the division end condition is not satisfied. If it is determined that the data is the same, the data is divided into multiple pieces of data, restoration information for restoring the divided data to the original data is generated, and the identification information and the generated restoration information are added to the multiple pieces of divided data. The information is attached and a process of transmitting to different other devices is executed.

また、本発明に係るデータ記憶方法は、ネットワークを介して接続された複数の装置にデータを分散して記憶させるデータ記憶方法であって、前記複数の装置に含まれるデータ生成元装置が、記憶対象のデータを識別する識別情報を生成し、前記データを複数に分割し、分割した複数のデータを元のデータに復元するための復元用情報を生成し、分割した複数のデータに生成した識別情報及び復元用情報を付し、それぞれ異なる他の装置へ送信し、前記複数の装置に含まれ、分割されたデータを受信する受信側装置が、受信したデータについて分割終了条件を満たすか否かを判定し、前記分割終了条件を満たすと判定した場合に、前記データを前記識別情報及び前記復元用情報と共に記憶し、前記分割終了条件を満たさないと判定した場合に、前記データを複数に分割し、分割した複数のデータを元のデータに復元するための復元用情報を生成し、分割した複数のデータに前記識別情報及び生成した復元用情報を付し、それぞれ異なる他の装置へ送信する。 Further, the data storage method according to the present invention is a data storage method in which data is distributed and stored in a plurality of devices connected via a network, wherein a data generation source device included in the plurality of devices is a storage device. Generate identification information for identifying target data, divide the data into multiple pieces, generate restoration information for restoring the multiple pieces of divided data to the original data, and generate identification information for the multiple pieces of divided data. Whether the receiving device that attaches information and restoration information and transmits the divided data to different other devices, and that is included in the plurality of devices and receives the divided data, satisfies the division termination condition for the received data. If it is determined that the division termination condition is satisfied, the data is stored together with the identification information and the restoration information, and if it is determined that the division termination condition is not satisfied, the data is divided into multiple pieces. and generates restoration information for restoring the divided plurality of data to the original data, attaches the identification information and the generated restoration information to the divided plurality of data, and transmits each to a different other device. .

本発明においては、ネットワークを介して接続された複数の装置がデータを分散して記憶する。これら複数の装置のうちの少なくとも1つの装置が、記憶対象のデータを生成するデータ生成元の装置となる。データ生成元装置は、記憶対象のデータを複数に分割すると共に、分割したデータを元のデータに復元するための復元用情報を生成する。データ生成元装置は、分割したデータに対して、復元用情報と元のデータを識別する識別情報とを付し、それぞれ異なる他の装置へ送信する。
分割されたデータを受信する受信側装置は、受信したデータについて予め定められた分割終了条件を満たすか否かを判定し、分割終了条件を満たす場合には受信したデータを記憶する。分割終了条件を満たさない場合、受信側装置は、受信したデータを更に分割すると共に復元用情報を生成し、分割したデータに復元用情報及び識別情報を付してそれぞれ異なる他の装置へ送信する。
これにより本発明に係るデータ記憶システムでは、データの分割及び送信が繰り返し行われ、分割終了条件を満たすと判定した装置において、分割されたデータが記憶される。各装置は、データの分割及び送信を行えばよく、高度な処理は要求されない。また1つの装置に記憶されるデータは、元のデータを分割したものであるため、各装置が大容量の記憶部を備える必要はない。
In the present invention, a plurality of devices connected via a network store data in a distributed manner. At least one of the plurality of devices serves as a data generation source device that generates data to be stored. The data generation source device divides the data to be stored into a plurality of pieces, and generates restoration information for restoring the divided data to the original data. The data generating device attaches restoration information and identification information for identifying the original data to the divided data, and transmits the divided data to different devices.
A receiving device that receives the divided data determines whether or not the received data satisfies a predetermined division end condition, and stores the received data if the division end condition is satisfied. If the division termination condition is not met, the receiving device further divides the received data, generates restoration information, attaches the restoration information and identification information to the divided data, and transmits them to different other devices. .
As a result, in the data storage system according to the present invention, data is repeatedly divided and transmitted, and the divided data is stored in a device that has determined that the division end condition is satisfied. Each device only needs to divide and transmit data, and sophisticated processing is not required. Furthermore, since the data stored in one device is obtained by dividing the original data, there is no need for each device to have a large-capacity storage section.

また本発明においては、データ生成元装置が記憶対象となる元のデータを暗号化し、暗号化したデータを分割して他の装置へ送信する。分割されたデータを受信する受信側装置は、暗号化済みの分割データに対して更に暗号化を行わなくてよい。データを暗号化して分割することによって、データの秘匿性を高めることができる。 Further, in the present invention, the data generating device encrypts the original data to be stored, divides the encrypted data, and transmits the divided data to another device. The receiving device that receives the divided data does not need to further encrypt the encrypted divided data. Data confidentiality can be increased by encrypting and dividing data.

また本発明においては、データ生成元装置及び受信側装置は、分割したデータについてそれぞれ誤り訂正用情報を生成し、各データに誤り訂正用情報付して他の装置へ送信する。これにより、分割されたデータを受信した装置は、誤り訂正用情報に基づいて送受信の際に生じたデータの誤りを訂正して記憶することができる。また分割されたデータを復元する際に、複数の分割データのいくつかが欠損した場合であっても、誤り訂正用情報に基づいて欠損部分を訂正し、元のデータに復元することができる。 Further, in the present invention, the data generating device and the receiving device generate error correction information for each of the divided data, attach the error correction information to each data, and transmit the data to another device. Thereby, the device that has received the divided data can correct and store errors in the data that occurred during transmission and reception based on the error correction information. Furthermore, even if some of the plurality of divided data are missing when restoring divided data, the missing parts can be corrected based on the error correction information and the original data can be restored.

また本発明においては、データの送信先の装置の数に応じてデータの分割数を決定する。これにより、データを送信することができる他の装置の数に適したデータの分割を行うことができる。 Further, in the present invention, the number of data divisions is determined depending on the number of devices to which the data is transmitted. This allows data to be divided appropriately depending on the number of other devices that can transmit data.

また本発明においては、例えば予め定められた分割数にデータを分割し、分割したデータの数に応じてデータの送信先となる他の装置を決定する。これにより、データの分割数に適したデータ送信先の決定を行うことができる。 Further, in the present invention, data is divided into, for example, a predetermined number of divisions, and another device to which the data is to be transmitted is determined according to the number of divided data. Thereby, it is possible to determine a data transmission destination suitable for the number of data divisions.

また本発明においては、分割されたデータのサイズが予め定められた閾値より小さいこと、又は、分割されたデータのサイズがこのデータに付される識別情報及び復元用情報のサイズより小さいことを、データの分割を終了してこのデータを記憶することを判断するための分割終了条件とする。これにより、分割データのサイズがある程度小さくなるまで分割が繰り返して行われ、サイズがある程度小さくなったデータが複数の装置で記憶される。 In addition, in the present invention, the size of divided data is smaller than a predetermined threshold, or the size of divided data is smaller than the size of identification information and restoration information attached to this data. This is the division end condition for determining whether to end data division and store this data. As a result, division is repeatedly performed until the size of the divided data is reduced to a certain extent, and the data whose size is reduced to a certain extent is stored in a plurality of devices.

また本発明においては、分割されたデータを復元する装置からネットワークの各装置へ、識別情報を指定したデータの記憶の有無の確認要求が送信される。これを受信した装置は、確認要求で指定された識別情報が付されたデータを自身が記憶しているか否かを判定し、データを記憶している場合には確認要求の送信元の装置へ応答を行う。これにより、データを復元する装置では、各装置からの応答により分割された複数のデータが、ネットワーク中の複数の装置のうちのいずれに記憶されているかを把握することができる。 Further, in the present invention, a request to confirm whether or not data with identification information specified is stored is sent from the device that restores the divided data to each device on the network. The device that receives this determines whether it has stored the data with the identification information specified in the confirmation request, and if it has stored the data, it sends the request to the device that sent the confirmation request. Make a response. Thereby, the device that restores data can grasp which of the multiple devices in the network stores the multiple pieces of divided data based on the responses from each device.

また本発明においては、データを復元する装置は、データを記憶している装置からの応答に基づいて分割されたデータを収集し、収集した複数の分割データを元のデータに復元する。これによりデータを必要とする装置は、複数の装置に分散して記憶されたデータを取得して復元し、利用することができる。 Further, in the present invention, the data restoration device collects the divided data based on a response from the device storing the data, and restores the collected plurality of divided data to the original data. This allows devices that require data to acquire, restore, and utilize data that is distributed and stored in multiple devices.

また本発明においては、分割したデータを記憶した装置は、データを復元する装置からの確認要求に応じて、自装置にアクセスするためのアクセス用情報と、分割したデータの復元用情報とを、確認要求の送信元の装置に応答として送信する。これにより、データを復元する装置は、アクセス用情報に基づいてデータを記憶した装置との通信を行い、この装置から分割されたデータを取得することができる。またデータを復元する装置は、復元用情報に基づいて、収集したデータを元のデータに復元することができる。 Further, in the present invention, the device that has stored the divided data, in response to a confirmation request from the device that restores the data, provides access information for accessing its own device and information for restoring the divided data. Send as a response to the device that sent the confirmation request. Thereby, the device for restoring data can communicate with the device that has stored the data based on the access information and can acquire the divided data from this device. Furthermore, the data restoration device can restore the collected data to the original data based on the restoration information.

本発明による場合は、データの分散記憶を比較的に低性能なコンピュータを利用して実現することが期待できる。 According to the present invention, it is expected that distributed storage of data can be realized using relatively low-performance computers.

本実施の形態に係るデータ記憶システムの一構成例を示す模式図である。1 is a schematic diagram showing a configuration example of a data storage system according to the present embodiment. 本実施の形態に係るノード装置の構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a node device according to the present embodiment. 本実施の形態に係るノード装置が行うデータ分割処理を説明するための模式図である。FIG. 3 is a schematic diagram for explaining data division processing performed by the node device according to the present embodiment. 本実施の形態に係るノード装置が行うデータ再分割処理を説明するための模式図である。FIG. 3 is a schematic diagram for explaining data re-division processing performed by the node device according to the present embodiment. 本実施の形態に係るデータ記憶システムにて行われるデータ復元処理を説明するための模式図である。FIG. 3 is a schematic diagram for explaining data restoration processing performed in the data storage system according to the present embodiment. 本実施の形態に係るデータ記憶システムにて行われるデータ復元処理を説明するための模式図である。FIG. 3 is a schematic diagram for explaining data restoration processing performed in the data storage system according to the present embodiment. 本実施の形態に係るデータ復元装置2の構成を示すブロック図である。1 is a block diagram showing the configuration of a data restoration device 2 according to the present embodiment. FIG. 本実施の形態に係るノード装置が行うデータ分割処理の手順を示すフローチャートである。3 is a flowchart showing the procedure of data division processing performed by the node device according to the present embodiment. 本実施の形態に係るノード装置が行うデータ分割処理の手順を示すフローチャートである。3 is a flowchart showing the procedure of data division processing performed by the node device according to the present embodiment. 本実施の形態に係るノード装置が行うデータ復元処理の手順を示すフローチャートである。3 is a flowchart showing the procedure of data restoration processing performed by the node device according to the present embodiment. 本実施の形態に係るノード装置が行うデータ復元処理の手順を示すフローチャートである。3 is a flowchart showing the procedure of data restoration processing performed by the node device according to the present embodiment. 本実施の形態に係るデータ復元装置が行うデータ復元処理の手順を示すフローチャートである。3 is a flowchart showing the procedure of data restoration processing performed by the data restoration device according to the present embodiment.

本発明の実施形態に係る特典管理システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。 A specific example of a privilege management system according to an embodiment of the present invention will be described below with reference to the drawings. Note that the present invention is not limited to these examples, but is indicated by the scope of the claims, and is intended to include all changes within the meaning and scope equivalent to the scope of the claims.

<システム構成>
図1は、本実施の形態に係るデータ記憶システムの一構成例を示す模式図である。本実施の形態に係るデータ記憶システムでは、複数のノード装置1がピア・ツ―・ピア型のネットワークを構成している。本図においては、ノード装置1を円形のシンボルで示し、ノード装置1の間の通信経路を実線又は破線で示している。また以下において、複数のノード装置1を区別する場合には、ノード装置1a~1jのように異なる符号を付して記載する。
<System configuration>
FIG. 1 is a schematic diagram showing a configuration example of a data storage system according to the present embodiment. In the data storage system according to this embodiment, a plurality of node devices 1 constitute a peer-to-peer type network. In this figure, the node devices 1 are shown by circular symbols, and the communication paths between the node devices 1 are shown by solid lines or broken lines. Further, in the following, when a plurality of node devices 1 are to be distinguished, they will be described with different symbols, such as node devices 1a to 1j.

本実施の形態に係るデータ記憶システムでは、記憶対象となるデータは複数に分割され、このシステムに含まれる複数のノード装置1のうちのいくつかのノード装置1が分割されたデータを個別に記憶する。図1に示す例にて本実施の形態に係るデータ記憶システムが行うデータの記憶方法の概要を簡単に説明する。本例では、データ記憶システムに含まれる複数のノード装置1のうちの1つのノード装置1aが、記憶対象となる元データの発行者(生成元)の装置となる。ノード装置1aは、例えば元データを分割データ1~3の3つに分割する。ノード装置1aは、分割データ1~3の送信先として3つのノード装置1b~1cを選択し、分割データ1をノード装置1bへ送信し、分割データ2をノード装置1cへ送信し、分割データ3をノード装置1dへ送信する。 In the data storage system according to the present embodiment, data to be stored is divided into a plurality of pieces, and some of the node apparatuses 1 of the plurality of node apparatuses 1 included in this system individually store the divided data. do. An overview of the data storage method performed by the data storage system according to the present embodiment will be briefly explained using the example shown in FIG. In this example, one node device 1a among the plurality of node devices 1 included in the data storage system is an issuer (generator) device of the original data to be stored. For example, the node device 1a divides the original data into three pieces of divided data 1 to 3. The node device 1a selects three node devices 1b to 1c as destinations of divided data 1 to 3, transmits divided data 1 to the node device 1b, transmits divided data 2 to the node device 1c, and sends divided data 3 to the node device 1c. is transmitted to the node device 1d.

分割データ1~3を受信したノード装置1b~1dは、受信した分割データ1~3を更に分割する。本例において各ノード装置1b~1dは、受信した分割データ1~3を2つに分割し、再分割された新たな分割データを他のノード装置1へ送信する。例えばノード装置1bはノード装置1e及び1fへ分割データを送信し、ノード装置1cはノード装置1g及び1hへ分割データを送信し、ノード装置1dはノード装置1i及び1jへ分割データを送信する。 The node devices 1b to 1d that have received the divided data 1 to 3 further divide the received divided data 1 to 3. In this example, each of the node devices 1b to 1d divides the received divided data 1 to 3 into two, and transmits the redivided new divided data to the other node devices 1. For example, the node device 1b transmits divided data to the node devices 1e and 1f, the node device 1c transmits divided data to the node devices 1g and 1h, and the node device 1d transmits divided data to the node devices 1i and 1j.

本例では、最分割された分割データを受信したノード装置1e~1jでは、これ以上の分割を行わないとの判断がなされたものとする。各ノード装置1e~1jは、受信した分割データを自身の記憶部に記憶する。これにより、ノード装置1aにて生成された元データは最終的に6つに分割され、分割された6つのデータは6つのノード装置1e~1jの記憶部に記憶されることとなる。各ノード装置1e~1jが記憶するデータは、それぞれ異なるデータである。元のデータが必要となった場合、ノード装置1aは、6つのノード装置1e~1jから分割されたデータを収集して復元する。なお、データの分割及び復元等の処理の詳細については、後述する。 In this example, it is assumed that the node devices 1e to 1j that have received the most divided data have decided not to perform any further division. Each of the node devices 1e to 1j stores the received divided data in its own storage unit. As a result, the original data generated by the node device 1a is finally divided into six pieces, and the six pieces of divided data are stored in the storage units of the six node devices 1e to 1j. The data stored in each of the node devices 1e to 1j is different data. When the original data is needed, the node device 1a collects and restores the data divided from the six node devices 1e to 1j. Note that details of processing such as data division and restoration will be described later.

また本実施の形態においては、データを分割して他のノード装置1へ送信したノード装置1a~1dは、分割したデータ又はその元となるデータを記憶しないものとする。ただし、ノード装置1a~1dが他のノード装置1へ送信したデータを記憶しておいてもよい。これにより、同一のデータが複数のノード装置1にて記憶されることとなり、分割されたデータを記憶したノード装置1の故障等によるデータの欠損に対する耐性を高めることができる。 Further, in this embodiment, it is assumed that the node devices 1a to 1d that have divided data and sent it to other node devices 1 do not store the divided data or the original data thereof. However, data transmitted by the node devices 1a to 1d to other node devices 1 may be stored. As a result, the same data is stored in a plurality of node devices 1, and resistance to data loss due to failure of the node device 1 that stored divided data can be increased.

図2は、本実施の形態に係るノード装置1の構成を示すブロック図である。本実施の形態に係るデータ記憶システムを構成するノード装置1には、例えばパーソナルコンピュータ又はサーバコンピュータ等の高機能な情報処理装置から、センサ装置又はアクチュエータ装置等のいわゆるIOT(Internet of Things)デバイスと呼ばれる低機能な情報処理装置まで、様々な情報処理装置を用いることができる。本実施の形態に係るノード装置1は、データを記憶する機能、他の装置と通信する機能、及び、データ分割に必要な演算を行う機能を備えるものであれば、どのような装置であってもよい。 FIG. 2 is a block diagram showing the configuration of the node device 1 according to this embodiment. The node device 1 constituting the data storage system according to the present embodiment includes, for example, a high-performance information processing device such as a personal computer or a server computer, and a so-called IOT (Internet of Things) device such as a sensor device or an actuator device. A variety of information processing devices can be used, including low-function information processing devices called ``devices''. The node device 1 according to the present embodiment may be any device as long as it has a function of storing data, a function of communicating with other devices, and a function of performing calculations necessary for data division. Good too.

本実施の形態に係るノード装置1は、処理部(プロセッサ)11、記憶部(ストレージ)12及び通信部(トランシーバ)13等を備えて構成されている。処理部11は、CPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成されている。処理部11は、記憶部12に記憶されたプログラム12aを読み出して実行することにより、データの分割処理及び復元処理等のデータの記憶に関する種々の処理を行う。 The node device 1 according to the present embodiment includes a processing section (processor) 11, a storage section (storage) 12, a communication section (transceiver) 13, and the like. The processing unit 11 is configured using an arithmetic processing device such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit). The processing unit 11 reads and executes the program 12a stored in the storage unit 12 to perform various processes related to data storage, such as data division processing and data restoration processing.

記憶部12は、例えばハードディスク等の磁気記憶装置、又は、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等のメモリ素子等を用いて構成されている。記憶部12は、不揮発性であることが好ましいが、SRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)等の揮発性のメモリ素子を用いて構成されてもよい。記憶部12は、処理部11が実行する各種のプログラム、及び、処理部11の処理に必要な各種のデータを記憶する。本実施の形態において記憶部12は、処理部11が実行するプログラム12aと、処理に必要なデータとして暗号鍵12b及び送信先テーブル12cを記憶している。また記憶部12には、分割されたデータを記憶する分割データ記憶部12dが設けられている。 The storage unit 12 is configured using, for example, a magnetic storage device such as a hard disk, or a memory element such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory). The storage unit 12 is preferably non-volatile, but may be configured using a volatile memory element such as SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory). The storage unit 12 stores various programs executed by the processing unit 11 and various data necessary for processing by the processing unit 11. In this embodiment, the storage unit 12 stores a program 12a executed by the processing unit 11, and an encryption key 12b and a destination table 12c as data necessary for processing. The storage unit 12 is also provided with a divided data storage unit 12d that stores divided data.

本実施の形態においてプログラム12aは、メモリカード又は光ディスク等の記録媒体99に記録された態様で提供され、ノード装置1は記録媒体99からプログラム12aを読み出して記憶部12に記憶する。ただし、プログラム12aは、例えばノード装置1の製造段階において記憶部12に書き込まれてもよい。また例えばプログラム12aは、遠隔のサーバ装置等が配信するものをノード装置1が通信にて取得して記憶部12に記憶してもよい。例えばプログラム12aは、記録媒体99に記録されたものを書込装置が読み出してノード装置1の記憶部12に書き込んでもよい。プログラム12aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体99に記録された態様で提供されてもよい。 In this embodiment, the program 12a is provided in a form recorded on a recording medium 99 such as a memory card or an optical disk, and the node device 1 reads the program 12a from the recording medium 99 and stores it in the storage unit 12. However, the program 12a may be written into the storage unit 12, for example, during the manufacturing stage of the node device 1. Further, for example, the program 12a may be distributed by a remote server device or the like, and the node device 1 may acquire it through communication and store it in the storage unit 12. For example, the program 12a may be recorded on the recording medium 99 and read by a writing device and written into the storage unit 12 of the node device 1. The program 12a may be provided in the form of distribution via a network, or may be provided in the form of being recorded on the recording medium 99.

暗号鍵12bは、データの暗号化及び復号に用いられる情報である。本実施の形態に係るノード装置1は、記憶対象となる元のデータを生成する装置(図1において元データ発行者のノード装置1a)として処理を行う場合、分割前の元データに対して暗号鍵12bを用いた暗号化の処理を行い、暗号化された元データを分割する。これ以降において、分割されたデータを受信して再分割を行うノード装置1(図1においてノード装置1b~1d)及び分割されたデータを受信して記憶するノード装置1(図1においてノード装置1e~1j)では暗号化及び復号の処理は行われない。このため、元データ発行者となる可能性のないノード装置1は、記憶部12に暗号鍵12bを記憶していなくてよく、暗号化及び復号の処理を行う機能を備えていなくてよい。 The encryption key 12b is information used to encrypt and decrypt data. When the node device 1 according to the present embodiment performs processing as a device that generates original data to be stored (node device 1a of the original data issuer in FIG. 1), the node device 1 performs encryption on the original data before division. Encryption processing is performed using the key 12b, and the encrypted original data is divided. From this point on, the node devices 1 (node devices 1b to 1d in FIG. 1) that receive divided data and re-divide the data, and the node devices 1 that receive and store divided data (node devices 1e in FIG. 1) ~1j), encryption and decryption processing is not performed. Therefore, the node device 1 that has no possibility of becoming the original data issuer does not need to store the encryption key 12b in the storage unit 12, and does not need to have the function of performing encryption and decryption processing.

送信先テーブル12cは、分割したデータの送信先として選択することができる他のノード装置1に関する情報を記憶したテーブルである。送信先テーブル12cは、例えばノード装置1を識別する装置IDと、このノード装置1へアクセスするためのネットワークのアドレス情報とが対応付けられたテーブルである。ただし送信先テーブル12cには、データ記憶システムを構成する全てのノード装置1についての情報が記憶されている必要はなく、少なくとも1つのノード装置1に関する情報が記憶されていればよい。例えば図1においてノード装置1aは、少なくともノード装置1b~1dに関する情報が送信先テーブル12cに記憶されていればよく、ノード装置1e~1jに関する情報は送信先テーブル12cに記憶されていなくてもよい。 The destination table 12c is a table that stores information regarding other node devices 1 that can be selected as destinations of divided data. The destination table 12c is a table in which, for example, a device ID for identifying the node device 1 is associated with network address information for accessing the node device 1. However, the destination table 12c does not need to store information about all the node devices 1 that make up the data storage system, but only needs to store information about at least one node device 1. For example, in FIG. 1, the node device 1a only needs to store at least information regarding the node devices 1b to 1d in the destination table 12c, and information regarding the node devices 1e to 1j does not need to be stored in the destination table 12c. .

分割データ記憶部12dは、他のノード装置1から受信した分割データを記憶するための記憶領域である。ただし、記憶部12に分割データを記憶するための専用の領域が設けられる必要はなく、記憶部12の空き領域が分割データ記憶部12dとして利用されればよい。 The divided data storage unit 12d is a storage area for storing divided data received from other node devices 1. However, it is not necessary to provide a dedicated area for storing divided data in the storage unit 12, and an empty area of the storage unit 12 may be used as the divided data storage unit 12d.

通信部13は、インターネット、無線LAN及び携帯電話通信網等を含むネットワークNを介して、他のノード装置1との通信を行う。通信部13は、処理部11から与えられたデータを他のノード装置1へ送信すると共に、他のノード装置1から受信したデータを処理部11へ与える。 The communication unit 13 communicates with other node devices 1 via a network N including the Internet, a wireless LAN, a mobile phone communication network, and the like. The communication unit 13 transmits data given from the processing unit 11 to other node devices 1, and also provides data received from other node devices 1 to the processing unit 11.

なお記憶部12は、ノード装置1に接続された外部記憶装置であってよい。またノード装置1は、複数のコンピュータを含んで構成されるマルチコンピュータであってよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。またノード装置1は、上記の構成に限定されず、例えば可搬型の記憶媒体に記憶された情報を読み取る読取部、操作入力を受け付ける入力部、又は、画像を表示する表示部等を含んでもよい。 Note that the storage unit 12 may be an external storage device connected to the node device 1. Further, the node device 1 may be a multicomputer including a plurality of computers, or may be a virtual machine virtually constructed by software. Further, the node device 1 is not limited to the above configuration, and may include, for example, a reading unit that reads information stored in a portable storage medium, an input unit that accepts operation input, a display unit that displays an image, etc. .

また本実施の形態に係るノード装置1の処理部11には、記憶部12に記憶されたプログラム12aを処理部11が読み出して実行することにより、データ分割処理部11a、データ復元処理部11b及び応答処理部11c等がソフトウェア的な機能部として実現される。なおこれらの機能部は、データの分割、記憶及び復元等の処理に関する機能部であり、これら以外の処理に関する機能部については図示及び説明を省略する。 Furthermore, the processing unit 11 of the node device 1 according to the present embodiment has a data division processing unit 11a, a data restoration processing unit 11b, and a program 12a stored in the storage unit 12. The response processing unit 11c and the like are realized as software-like functional units. Note that these functional units are functional units related to processes such as data division, storage, and restoration, and illustrations and explanations of functional units related to processes other than these will be omitted.

データ分割処理部11aは、自装置にて生成された記憶対象となる元データ、又は、他のノード装置1から受信したデータを分割する処理を行う。データ分割処理部11aは、分割した複数のデータに対して様々な付帯情報を付したものを他のノード装置1へ送信する。 The data division processing unit 11a performs a process of dividing original data to be stored that is generated by the own device or data received from another node device 1. The data division processing unit 11a transmits a plurality of divided data with various additional information attached thereto to other node devices 1.

データ復元処理部11bは、複数の他のノード装置1に記憶された分割データを元のデータに復元する処理を行う。データ復元処理部11bは、まずデータ記憶システムに含まれる他のノード装置1に対して問い合わせを行うことにより、分割されたデータがいずれのノード装置1に記憶されているかを調べる。データ復元処理部11bは、分割データを記憶しているノード装置1から分割データを取得して結合することにより、元のデータへの復元を行う。 The data restoration processing unit 11b performs a process of restoring divided data stored in a plurality of other node devices 1 to original data. The data restoration processing unit 11b first inquires of the other node devices 1 included in the data storage system to find out which node device 1 stores the divided data. The data restoration processing unit 11b performs restoration to the original data by acquiring and combining the divided data from the node device 1 that stores the divided data.

応答処理部11cは、他のノード装置1から分割データを記憶しているか否かの問い合わせを受信した場合に、この問い合わせに対する応答を送信する処理を行う。応答処理部11cは、問い合わせに係る分割データを記憶部22の分割データ記憶部12dに記憶しているか否かを判定し、分割データを記憶していると判定した場合に、問い合わせ元のノード装置1へ分割データを記憶している旨の応答を送信する。本実施の形態において応答処理部11cは、分割データを記憶していない旨の応答を、問い合わせ元のノード装置1へ送信しない。 When the response processing unit 11c receives an inquiry from another node device 1 as to whether divided data is stored, the response processing unit 11c performs a process of transmitting a response to this inquiry. The response processing unit 11c determines whether the divided data related to the inquiry is stored in the divided data storage unit 12d of the storage unit 22, and if it is determined that the divided data is stored, the response processing unit 11c A response to the effect that the divided data is stored is sent to No. 1. In the present embodiment, the response processing unit 11c does not transmit a response indicating that the divided data is not stored to the node device 1 that is the inquiry source.

<データ分割処理>
図3は、本実施の形態に係るノード装置1が行うデータ分割処理を説明するための模式図である。図3に示す処理は、元データ発行者のノード装置1(図1においてノード装置1a)が行う処理である。元データ発行者のノード装置1は、本実施の形態に係るデータ記憶システムにおいて記憶する元データに対し、このデータをシステム中で一意に識別するためのデータIDを生成する処理を行う。ノード装置1は、例えば自装置に対して予め定められた装置IDと、その時点における日時情報とを組み合わせることによってデータIDを生成する。装置IDは、例えば記憶部12に予め記憶されている。また例えばノード装置1は、クロック信号生成回路が生成したクロック信号に基づいて時間及び年月日等を計測する機能を備え、この機能を利用しての日時情報を取得する。本例では、データIDとして「XYZ」のIDが生成されたものとして図示している。
<Data division processing>
FIG. 3 is a schematic diagram for explaining data division processing performed by the node device 1 according to the present embodiment. The process shown in FIG. 3 is a process performed by the node device 1 (node device 1a in FIG. 1) of the original data issuer. The node device 1 of the original data issuer performs processing for generating a data ID for uniquely identifying the data in the system, for the original data stored in the data storage system according to the present embodiment. The node device 1 generates a data ID by combining, for example, a device ID predetermined for the node device itself and date and time information at that time. The device ID is stored in the storage unit 12 in advance, for example. Further, for example, the node device 1 has a function of measuring time, year, month, day, etc. based on the clock signal generated by the clock signal generation circuit, and acquires date and time information using this function. In this example, an ID of "XYZ" is generated as the data ID.

またノード装置1は、記憶部12に記憶された暗号鍵12bを用いて、元データに対する暗号化を行う。ノード装置1が行う暗号化のアルゴリズムは、例えば共通鍵を用いるDES(Data Encryption Standard)若しくはAES(Advanced Encryption Standard)、又は、公開鍵を用いるRSA若しくは楕円曲線暗号等の種々のものが採用され得る。なお上述のように、元データ発行者となる可能性がないノード装置1は、暗号化及び復号の処理を行う機能を備えていなくてよい。 Further, the node device 1 uses the encryption key 12b stored in the storage unit 12 to encrypt the original data. As the encryption algorithm performed by the node device 1, various algorithms such as DES (Data Encryption Standard) or AES (Advanced Encryption Standard) using a common key, or RSA or elliptic curve cryptography using a public key can be adopted. . Note that, as described above, the node device 1 that has no possibility of becoming the original data issuer does not need to have the function of performing encryption and decryption processing.

元データの暗号化を行った後、ノード装置1は、元データを複数のデータに分割する処理を行う。図示の例では、ノード装置1は元データを「データ1」、「データ2」及び「データ3」の3つに分割している。なお本例ではデータを3つに分割しているが、これに限るものではなく、データの分割数は2つ以下又は4つ以上であってよい。ノード装置1によるデータの分割数は、予め定められた固定数であってよく、又は、通信状況等に応じて可変としてもよい。データ分割数を可変とする場合、ノード装置1は、データを分割する前に、データの分割数を決定する処理を行う。データの分割数を固定又は可変のいずれとするかは、データ記憶システムのノード装置1毎に異なっていてよい。 After encrypting the original data, the node device 1 performs a process of dividing the original data into a plurality of pieces of data. In the illustrated example, the node device 1 divides the original data into three parts: "data 1", "data 2", and "data 3". Although the data is divided into three parts in this example, the present invention is not limited to this, and the number of data divisions may be two or less or four or more. The number of divisions of data by the node device 1 may be a predetermined fixed number, or may be variable depending on the communication status and the like. When the number of data divisions is made variable, the node device 1 performs processing to determine the number of data divisions before dividing the data. Whether the number of data divisions is fixed or variable may be different for each node device 1 of the data storage system.

データの分割数を可変とした場合の分割数の決定方法の一例を説明する。ただしデータの分割数の決定方法はこれに限るものではなく、どのような方法が採用されてもよい。例えば、本実施の形態においては、データの分割数の最大が例えば「5」と予め設定されている。ノード装置1は、送信先テーブル12cに登録された他のノード装置1との間で定期的に情報交換を行い、他のノード装置1の記憶部12の空き容量、及び、他のノード装置1との間の通信速度等を調査する。この調査結果に基づいてノード装置1は、分割したデータの送信先として適した他のノード装置1がいずれであるかを判断する。ノード装置1は、分割データの送信先に適した他のノード装置1の数が上記の分割数の最大値「5」以上である場合、データの分割数を「5」と決定する。分割データの送信先に適した他のノード装置1の数が最大値「5」に満たない場合、ノード装置1は、送信先に適したと判断された他のノード装置1の数をデータの分割数と決定する。ただし、分割数の最大値が設定されなくてもよい。 An example of a method for determining the number of divisions when the number of divisions of data is made variable will be described. However, the method for determining the number of data divisions is not limited to this, and any method may be adopted. For example, in this embodiment, the maximum number of data divisions is preset to, for example, "5". The node device 1 periodically exchanges information with other node devices 1 registered in the destination table 12c, and updates the free space of the storage unit 12 of the other node device 1 and the other node device 1. Investigate the communication speed etc. between Based on this investigation result, the node device 1 determines which other node device 1 is suitable as the destination of the divided data. The node device 1 determines the number of data divisions to be "5" when the number of other node devices 1 suitable for transmission destinations of the divided data is greater than or equal to the maximum value of the number of divisions "5". If the number of other node devices 1 suitable for the transmission destination of the divided data is less than the maximum value "5", the node device 1 divides the data by the number of other node devices 1 determined to be suitable for the transmission destination. Decide on the number. However, the maximum value of the number of divisions does not have to be set.

データの分割数を固定数とする場合には、分割したデータの送信先に適した他のノード装置1の数がこの分割数に満たない可能性がある。このような場合、ノード装置1は、2つ以上の分割データを1つのノード装置1へ送信してもよく、又は、データの分割数を低減してもよい。また、データの分割数を固定数とするのではなく、分割後のデータのサイズを固定とし、分割後のデータが固定サイズとなるようにノード装置1が分割数を決定してもよい。なお本実施の形態においては、データの分割数に「1」を含み得る。即ちノード装置1は、データを分割せずに他のノード装置1へデータを送信してもよい。 When the number of data divisions is a fixed number, there is a possibility that the number of other node devices 1 suitable for transmission destinations of the divided data is less than this number of divisions. In such a case, the node device 1 may transmit two or more pieces of divided data to one node device 1, or may reduce the number of divided data. Further, instead of setting the number of data divisions to be a fixed number, the size of the data after division may be fixed, and the node device 1 may determine the number of divisions so that the data after division has a fixed size. Note that in this embodiment, the number of data divisions may include "1". That is, the node device 1 may transmit data to another node device 1 without dividing the data.

また図示の例では、ノード装置1は、暗号化した元データを先頭から順に所定サイズに分割し、データ1~3の3つの分割データとしている。この場合にノード装置1は、データの分割数を決定した後、分割対象のデータのサイズを分割数で割り算することで分割後の各データのサイズを決定し、分割対象のデータの先頭から決定したサイズ毎にデータを区切ることで、データを分割する。ただしノード装置1によるデータの分割方法は、どのような方法が採用されてもよい。例えばノード装置1は、分割対象のデータを2つに分割する場合に偶数ビットと奇数ビットとに分割してもよい。 Further, in the illustrated example, the node device 1 divides the encrypted original data into pieces of predetermined size in order from the beginning, and creates three pieces of divided data, data 1 to 3. In this case, after determining the number of data divisions, the node device 1 determines the size of each piece of data after division by dividing the size of the data to be divided by the number of divisions, and starts from the beginning of the data to be divided. Divide the data by dividing the data by size. However, any method may be adopted for the data division method by the node device 1. For example, when dividing data to be divided into two, the node device 1 may divide the data into even bits and odd bits.

次いでノード装置1は、分割した複数のデータに対して、これを元のデータに復元するための復元用情報を生成する。復元用情報には、例えば分割データが最初の元データから何回目の分割によって生成されたものであるかを示す情報と、分割データが分割直前のデータのいずれの部分に相当するものであるかを示す情報とが含まれる。図示の例では、分割データが分割直前のデータのいずれの部分に相当するものであるかを分数表記の情報で示している。即ち、データ1の復元用情報=1/3は、分割直前のデータを3分割したものであることを分数表記の分母にて示し、3分割の先頭から1番目の部分に相当するものであること分数表記の分子にて示している。また、図4にて後述するが、分割データが最初の元データから何回目の分割によって生成されたものであるかを、本例では上記の分数表記を連ねることで示す。例えば図3のデータ1が更に2分割された場合、この分割データの復元用情報は1/3、1/2のように表される。 Next, the node device 1 generates restoration information for restoring the divided data to the original data. The restoration information includes, for example, information indicating how many times the divided data was generated from the original original data, and which part of the data immediately before division the divided data corresponds to. information indicating. In the illustrated example, information expressed as a fraction indicates which part of the data immediately before the division the divided data corresponds to. In other words, the restoration information for data 1 = 1/3 indicates that the data immediately before division is divided into three parts using the denominator in fractional notation, and corresponds to the first part from the beginning of the three divisions. The numerator is expressed as a fraction. In addition, as will be described later with reference to FIG. 4, in this example, the number of times the divided data is generated from the first original data is indicated by the above-mentioned fraction notation. For example, when the data 1 in FIG. 3 is further divided into two, the restoration information of the divided data is expressed as 1/3 and 1/2.

ノード装置1は、分割した各データに対して、共通のデータIDと、個別の復元用情報とを例えばヘッダ情報として付与する。更にノード装置1は、このデータID、復元用情報及び分割したデータに対し、これらの誤りを訂正するための誤り訂正符号を付与する処理を行う。ノード装置1による誤り訂正符号の生成方法は、例えばハミング符号、巡回符号又は畳み込み符号等の種々の符号生成方法が採用され得る。誤り訂正符号の生成方法は、既存の技術であるため、詳細な説明を省略する。なお本実施の形態においては、データID、復元用情報及び分割データを誤り訂正の対象とするが、これに限るものではなく、少なくとも分割データが誤り訂正の対象であればよい。 The node device 1 assigns a common data ID and individual restoration information to each piece of divided data, for example, as header information. Further, the node device 1 performs a process of adding an error correction code for correcting these errors to the data ID, restoration information, and divided data. As a method for generating an error correction code by the node device 1, various code generation methods such as a Hamming code, a cyclic code, or a convolutional code may be adopted. Since the error correction code generation method is an existing technology, detailed explanation will be omitted. Note that in this embodiment, the data ID, the restoration information, and the divided data are subject to error correction, but the present invention is not limited to this, and it is sufficient that at least the divided data is subject to error correction.

ノード装置1は、上述の手順で元データを複数のデータに分割し、各分割データにデータID、復元用情報及び誤り訂正符号を付したものを、それぞれ異なる他のノード装置1へ送信する。データの送信完了後、ノード装置1は、元データ及び分割データ等を自身のレジスタ、メモリ及び記憶部12等から消去してもよい。ノード装置1が送信したデータは複数の他のノード装置1にて受信され、他のノード装置1においてデータの再分割又は記憶が行われる。 The node device 1 divides the original data into a plurality of pieces of data according to the above-described procedure, and sends each piece of divided data with a data ID, restoration information, and error correction code to different other node devices 1. After the data transmission is completed, the node device 1 may erase the original data, divided data, etc. from its own register, memory, storage unit 12, etc. The data transmitted by the node device 1 is received by a plurality of other node devices 1, and the data is re-divided or stored in the other node devices 1.

図4は、本実施の形態に係るノード装置1が行うデータ再分割処理を説明するための模式図である。図4に示す処理は、分割されたデータを受信したノード装置1(図1においてノード装置1b~1d)が行う処理である。また図4に示す受信データは、図3においてデータ1として分割されたデータである。他のノード装置1にて分割されたデータを受信したノード装置1は、まず、このデータを再分割するか、又は、記憶するかを決定する。本実施の形態においては、ノード装置1には、データの分割を終了する分割終了条件が予め定められ記憶部12に記憶されている。ノード装置1は、受信したデータについてこの分割終了条件を満たすか否かを判定することにより、分割を終了してデータを記憶するか、又は、更に分割を行うかを決定する。 FIG. 4 is a schematic diagram for explaining data re-division processing performed by the node device 1 according to the present embodiment. The process shown in FIG. 4 is a process performed by the node device 1 (node devices 1b to 1d in FIG. 1) that has received the divided data. Further, the received data shown in FIG. 4 is the data divided as data 1 in FIG. The node device 1 that has received the data divided by another node device 1 first determines whether to re-divide or store the data. In the present embodiment, in the node device 1, division termination conditions for terminating data division are determined in advance and stored in the storage unit 12. The node device 1 determines whether to end the division and store the data or to perform further division by determining whether the division end condition is satisfied for the received data.

本実施の形態においては、受信データに含まれる分割データ(受信データからデータID、復元用情報及び誤り訂正符号を除いたもの)のデータサイズが予め定められた閾値より小さいことを分割終了条件とする。ノード装置1は、分割データのデータサイズが閾値より小さく、分割終了条件を満たすと判定した場合、受信データを記憶部12の分割データ記憶部12dに記憶する。ノード装置1は、分割データのデータサイズが閾値以上であり、分割終了条件を満たさないと判定した場合、受信データに対して更なる分割を行う。図4に示す例は、受信データに対して更なる分割を行う場合である。 In this embodiment, the division termination condition is that the data size of the divided data (received data excluding data ID, restoration information, and error correction code) included in received data is smaller than a predetermined threshold. do. If the node device 1 determines that the data size of the divided data is smaller than the threshold and satisfies the division end condition, it stores the received data in the divided data storage section 12d of the storage section 12. If the node device 1 determines that the data size of the divided data is equal to or larger than the threshold and the division end condition is not satisfied, the node device 1 further divides the received data. The example shown in FIG. 4 is a case where the received data is further divided.

再分割を行うことを決定したノード装置1は、受信データに含まれるデータID及び復元用情報を除いた分割データ及び誤り訂正符号の部分を、再分割の対象となる元データとみなす。ノード装置1は、この元データに対し、上述と同様の手順でデータの分割、復元用情報の生成、データID及び復元用情報の付与、並びに、誤り訂正符号の付与を行う。ここでノード装置1は、分割後の各データに対し、受信データに付されていたデータIDと同じデータIDを付与する。またノード装置1は、受信データに付されていた復元用情報に対し、今回の分割に関する情報を追加することによって、新たな復元用情報を生成する。 The node device 1 that has decided to perform re-segmentation regards the divided data excluding the data ID and restoration information included in the received data and the error correction code portion as the original data to be re-segmented. The node device 1 divides the data, generates restoration information, adds a data ID and restoration information, and adds an error correction code to this original data using the same procedure as described above. Here, the node device 1 assigns the same data ID as the data ID assigned to the received data to each piece of divided data. Further, the node device 1 generates new restoration information by adding information regarding the current division to the restoration information attached to the received data.

図示の例では、ノード装置1は元データを「データ1-1」及び「データ1-2」の2つに分割している。各分割データに付されるIDは、受信データと同じID=XYZである。各分割データに付される復元用情報は、受信データに付されていた復元用情報=1/3に対し、今回の分割に関する1/2又は2/2の情報が追加されたものとなる。ノード装置1は、データID、新たな復元用情報及び新たな分割データに対する誤りを訂正する誤り訂正符号を生成してこれらに付し、他のノード装置1へそれぞれ送信する。 In the illustrated example, the node device 1 divides the original data into two parts, "data 1-1" and "data 1-2." The ID assigned to each divided data is the same ID=XYZ as the received data. The restoration information attached to each divided data is such that 1/2 or 2/2 information regarding the current division is added to the restoration information = 1/3 attached to the received data. The node device 1 generates and attaches error correction codes to the data ID, new restoration information, and new divided data, and transmits them to other node devices 1, respectively.

このように、分割されたデータはネットワークを伝播して各ノード装置1での再分割が行われ、最終的に分割された複数のデータが分割終了条件を満たすと判定した複数のノード装置1にて記憶される。 In this way, the divided data is propagated through the network and re-divided by each node device 1, and finally the divided data is distributed to the plurality of node devices 1 that have been determined to satisfy the division end condition. is memorized.

<データ復元処理>
図5及び図6は、本実施の形態に係るデータ記憶システムにて行われるデータ復元処理を説明するための模式図である。本実施の形態に係るデータ記憶システムでは、元データ発行者のノード装置1aと、データ記憶システムのノード装置1とは別のデータ復元装置2との協働により、分割されたデータの復元処理が行われる。ただしデータの復元処理は、元データ発行者のノード装置1aが単独で行ってもよい。本実施の形態に係るデータ復元装置2は、例えばサーバコンピュータ等の情報処理装置を用いて構成される。データ復元装置2は、ノード装置1よりも高性能なコンピュータであることが好ましいが、これに限るものではない。
<Data restoration process>
5 and 6 are schematic diagrams for explaining data restoration processing performed in the data storage system according to this embodiment. In the data storage system according to the present embodiment, the restoration process of divided data is carried out through cooperation between the node device 1a of the original data issuer and the data restoration device 2, which is different from the node device 1 of the data storage system. It will be done. However, the data restoration process may be performed solely by the node device 1a of the original data issuer. The data restoration device 2 according to the present embodiment is configured using, for example, an information processing device such as a server computer. The data restoration device 2 is preferably a computer with higher performance than the node device 1, but is not limited to this.

本実施の形態において、データ記憶システムに含まれる複数のノード装置1に分割して記憶されたデータを読み出すための処理は、このデータの生成元であるノード装置1(1a)から開始される。ノード装置1aは、必要なデータに対して付したデータIDを指定した確認要求メッセージを他のノード装置1へ送信する。例えば確認要求メッセージは、指定されたデータIDが付されたデータを記憶している場合に応答を送信することを指示するコマンドと、対象のデータを指定するデータIDとの情報を含むメッセージである。本例では、ノード装置1aは、自身と通信を行うことができる3つのノード装置1b~1dへ確認要求メッセージを送信する。 In this embodiment, a process for reading data that is divided and stored in a plurality of node devices 1 included in the data storage system is started from the node device 1 (1a) that is the generation source of this data. The node device 1a transmits a confirmation request message specifying the data ID assigned to the required data to the other node device 1. For example, the confirmation request message is a message that includes information such as a command instructing to send a response when data with a specified data ID is stored, and a data ID specifying the target data. . In this example, the node device 1a sends a confirmation request message to three node devices 1b to 1d with which it can communicate.

確認要求メッセージを受信したノード装置1は、確認要求メッセージにて指定されたデータIDのデータを記憶しているか否かを判定し、記憶していると判定した場合には、確認要求メッセージの送信元のノード装置1に対して、指定されたデータを記憶している旨を通知する応答メッセージを送信する。応答メッセージには、指定されたデータIDのデータに付された復元用情報と、ネットワークにおける自装置の位置を示すアドレス情報とが含まれる。例えば応答メッセージは、確認要求メッセージに対する応答である旨を示す情報と、上記の復元用情報及びアドレス情報とを含むメッセージである。 The node device 1 that has received the confirmation request message determines whether or not it stores the data with the data ID specified in the confirmation request message, and if it determines that it has stored the data, it transmits the confirmation request message. A response message is sent to the original node device 1 notifying that the specified data is stored. The response message includes restoration information attached to the data with the designated data ID and address information indicating the location of the device itself in the network. For example, the response message is a message that includes information indicating that it is a response to the confirmation request message, and the above-mentioned restoration information and address information.

また、確認要求メッセージを受信したノード装置1は、この確認要求メッセージを更に別のノード装置1へ転送する。これにより、1つのノード装置1からいくつかのノード装置1へ送信された確認要求メッセージは、これを受信したノード装置1にて転送が行われ、データ記憶システムに含まれるより多くのノード装置1へと伝達される。転送の繰り返しにより確認要求メッセージは、分割データを記憶しているノード装置1にて受信される。分割データを記憶しているノード装置1は、確認要求メッセージの受信に応じて、復元用情報及びアドレス情報を含む応答メッセージを送信する。 Further, the node device 1 that has received the confirmation request message further transfers this confirmation request message to another node device 1. As a result, a confirmation request message sent from one node device 1 to several node devices 1 is forwarded by the node device 1 that received it, and more node devices 1 included in the data storage system are forwarded. transmitted to. By repeating the transfer, the confirmation request message is received by the node device 1 that stores the divided data. In response to receiving the confirmation request message, the node device 1 storing the divided data transmits a response message including restoration information and address information.

図5に示す例では、6つのノード装置1e~1jが分割データを記憶しており、これらの各ノード装置1e~1jから確認要求メッセージの送信元であるノード装置1aへ応答メッセージが送信されている。これにより、確認要求メッセージの送信元のノード装置1a、即ち元データ発行者のノード装置1aは、元データの分割データに関する復元用情報と、分割データを記憶しているノード装置1e~1jのアドレス情報とを収集することができる。なお、応答メッセージは、送信元であるノード装置1e~1jから送信先であるノード装置1aへ直接的に送信されてもよく、ノード装置1e~1jからノード装置1aへ他のノード装置1b~1dを介して送信されてもよい。 In the example shown in FIG. 5, six node devices 1e to 1j store divided data, and each of these node devices 1e to 1j sends a response message to the node device 1a, which is the source of the confirmation request message. There is. As a result, the node device 1a that is the sender of the confirmation request message, that is, the node device 1a of the original data issuer, receives restoration information regarding the divided data of the original data and the addresses of the node devices 1e to 1j that store the divided data. Information can be collected. Note that the response message may be directly transmitted from the source node devices 1e to 1j to the destination node device 1a, or from the node devices 1e to 1j to the other node devices 1b to 1d. may be sent via.

本実施の形態に係るデータ記憶システムでは、分割したデータに対して誤り訂正符号を付与している。このため、元データを分割した複数の分割データのうちのいくつかが欠損し、全ての分割データが揃わない場合であっても、ある程度の分割データが揃えば元データへ復元することができる。確認要求メッセージを送信したノード装置1は、分割データを記憶している他のノード装置1からの応答メッセージを受信し、データの復元が可能な数の分割データに関する復元用情報及びアドレス情報が収集できた時点で、データ復元装置2へ収集した復元用情報及びアドレス情報を送信し、これらの情報を用いたデータの復元処理を依頼する。 In the data storage system according to this embodiment, an error correction code is assigned to the divided data. Therefore, even if some of the plurality of divided data obtained by dividing the original data are missing and all the divided data are not collected, the original data can be restored as long as a certain amount of divided data is collected. The node device 1 that sent the confirmation request message receives a response message from another node device 1 that stores the divided data, and collects restoration information and address information regarding the number of divided data that can be restored. Once completed, the collected restoration information and address information are transmitted to the data restoration device 2, and a data restoration process using these information is requested.

どの程度の数の分割データが揃えば元データへの復元が可能であるかは、誤り訂正符号のビット長及びアルゴリズム等に依存する。ノード装置1は、予め定められた所定数(例えば全数の85%等)の分割データについて復元用情報及びアドレス情報が収集できた時点で、データの復元処理をデータ復元装置2に依頼する。ただしこの時点で収集できた情報では復元ができない場合もあるため、ノード装置1は、これ以後に追加で収集できた情報について、追加情報としてデータ復元装置2へ送信してよい。 How many pieces of divided data are needed to restore the original data depends on the bit length of the error correction code, algorithm, etc. When the node device 1 is able to collect restoration information and address information for a predetermined number (for example, 85% of the total) of divided data, it requests the data restoration device 2 to perform data restoration processing. However, since the information collected at this point may not be able to be restored, the node device 1 may transmit information that can be additionally collected after this point to the data restoration device 2 as additional information.

データの復元処理を依頼されたデータ復元装置2は、ノード装置1からの復元用情報に基づいて、その時点で所在が判明している分割データを用いて元データの復元が可能であるか否かを判定する。データ復元装置2は、ノード装置1から得た複数の復元用情報を調べ、分割の最終段階で分割されたデータがどの程度揃っているかを調べることによって、この最終段階での分割データを1つ前の段階の分割データに復元できるかを判定する。次いでデータ復元装置2は、1つ前の段階に復元できると判定した分割データに関する復元用情報を調べ、この段階で分割されたデータがどの程度揃っているかを調べることによって、この段階での分割データを1つ前の段階の分割データに復元できるかを判定する。データ復元装置2は、最終段から順に遡って復元の可否を判定し、最終的に元のデータへの復元が可能であるかを判定する。元データへの復元が不可能であると判定した場合、データ復元装置2は、ノード装置1から追加の情報を受信するまで待機する。 The data restoration device 2 that has been requested to perform data restoration processing determines whether the original data can be restored using the divided data whose location is known at that time, based on the restoration information from the node device 1. Determine whether The data restoration device 2 examines the plural pieces of restoration information obtained from the node device 1, and checks how much of the data divided at the final stage of division is complete, thereby reducing the divided data at this final stage into one piece. Determine whether the divided data at the previous stage can be restored. Next, the data restoration device 2 examines the restoration information regarding the divided data that has been determined to be able to be restored to the previous stage, and checks how much of the data that was divided at this stage is complete. It is determined whether the data can be restored to the divided data of the previous stage. The data restoration device 2 sequentially determines whether restoration is possible starting from the final stage, and finally determines whether restoration to the original data is possible. If it is determined that restoration to the original data is not possible, the data restoration device 2 waits until it receives additional information from the node device 1.

元データへの復元が可能であると判定した場合、データ復元装置2は、復元用情報と共に与えられたアドレス情報に基づいて、分割データを記憶しているノード装置1に対してこの分割データの送信を要求する。このときにデータ復元装置2は、データIDを指定した分割データの送信要求メッセージをノード装置1へ送信する。この送信要求メッセージは、データ復元装置2から各ノード装置1へ直接的に送信されてもよく、他のノード装置1を介して間接的に送信されてもよい。 If it is determined that restoration to the original data is possible, the data restoration device 2 sends the divided data to the node device 1 storing the divided data based on the address information given together with the restoration information. Request transmission. At this time, the data restoration device 2 transmits a divided data transmission request message specifying the data ID to the node device 1. This transmission request message may be directly transmitted from the data restoration device 2 to each node device 1, or may be transmitted indirectly via another node device 1.

分割データを記憶しているノード装置1は、データ復元装置2から送信要求メッセージを受信し、受信した送信要求メッセージにて指定されたデータIDの分割データを記憶部12の分割データ記憶部12dから読み出し、要求元のデータ復元装置2へ送信する。図6に示す例では、6つのノード装置1e~1jからデータ復元装置2へ分割データが送信されている。この分割データは、各ノード装置1e~1jからデータ復元装置2へ直接的に送信されてもよく、他のノード装置1を介して間接的に送信されてもよい。 The node device 1 storing the divided data receives the transmission request message from the data restoration device 2, and stores the divided data of the data ID specified in the received transmission request message from the divided data storage section 12d of the storage section 12. The data is read and transmitted to the requesting data restoration device 2. In the example shown in FIG. 6, divided data is transmitted to the data restoration device 2 from six node devices 1e to 1j. This divided data may be directly transmitted from each node device 1e to 1j to the data restoration device 2, or may be transmitted indirectly via another node device 1.

複数のノード装置1から分割データを受信したデータ復元装置2は、復元用情報に基づいて分割データを元のデータに復元する。データの復元は、上述の復元の可否の判定と同様に、最終段階の分割データからその1つ前の分割データへ順に復元を行っていき、最終的に元の1つのデータへ復元することで行われる。各段階の復元においてデータ復元装置2は、複数の分割データを復元用情報に示された順番で結合し、必要に応じて誤り訂正符号を利用した誤り訂正を行うことで、分割前のデータへ復元する。データ復元装置2は、最終的に復元された1つの元データを、復元を依頼したノード装置1へ送信する。 The data restoration device 2 that has received the divided data from the plurality of node devices 1 restores the divided data to the original data based on the restoration information. Data restoration is performed by sequentially restoring from the final stage divided data to the previous divided data, and finally restoring to the original single data, in the same way as determining whether restoration is possible as described above. It will be done. In each stage of restoration, the data restoration device 2 combines a plurality of pieces of divided data in the order indicated in the restoration information, and performs error correction using an error correction code as necessary to restore the data before division. Restore. The data restoration device 2 finally transmits the restored piece of original data to the node device 1 that requested the restoration.

データ復元装置2からノード装置1へ送信される復元された元データは、暗号化された状態の元データである。データ復元装置2から復元された元データを受信したノード装置1は、記憶部12に記憶した暗号鍵12bを用いて元データの復号処理を行う。これによりノード装置1は、暗号化されていない元データを得ることができる。 The restored original data sent from the data restoration device 2 to the node device 1 is the original data in an encrypted state. The node device 1 that has received the restored original data from the data restoration device 2 uses the encryption key 12b stored in the storage unit 12 to decrypt the original data. This allows the node device 1 to obtain unencrypted original data.

図7は、本実施の形態に係るデータ復元装置2の構成を示すブロック図である。本実施の形態に係るデータ復元装置2は、処理部(プロセッサ)21、記憶部(ストレージ)22及び通信部(トランシーバ)23等を備えて構成されている。処理部21は、CPU又はMPU等の演算処理装置を用いて構成されている。処理部21は、記憶部22に記憶されたプログラム22aを読み出して実行することにより、データの復元に関する種々の処理を行う。 FIG. 7 is a block diagram showing the configuration of the data restoration device 2 according to this embodiment. The data restoration device 2 according to the present embodiment includes a processing section (processor) 21, a storage section (storage) 22, a communication section (transceiver) 23, and the like. The processing unit 21 is configured using an arithmetic processing device such as a CPU or an MPU. The processing unit 21 reads and executes a program 22a stored in the storage unit 22 to perform various processes related to data restoration.

記憶部22は、例えばハードディスク等の磁気記憶装置を用いて構成されている。記憶部22は、処理部21が実行する各種のプログラム、及び、処理部21の処理に必要な各種のデータを記憶する。本実施の形態において記憶部22は、処理部21が実行するプログラム22aを記憶している。本実施の形態においてプログラム22aは、メモリカード又は光ディスク等の記録媒体98に記録された態様で提供され、データ復元装置2は記録媒体98からプログラム22aを読み出して記憶部22に記憶する。ただし、プログラム22aは、例えばデータ復元装置2の製造段階において記憶部22に書き込まれてもよい。また例えばプログラム22aは、遠隔のサーバ装置等が配信するものをデータ復元装置2が通信にて取得して記憶部22に記憶してもよい。例えばプログラム22aは、記録媒体98に記録されたものを書込装置が読み出してデータ復元装置2の記憶部22に書き込んでもよい。プログラム22aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体98に記録された態様で提供されてもよい。 The storage unit 22 is configured using, for example, a magnetic storage device such as a hard disk. The storage unit 22 stores various programs executed by the processing unit 21 and various data necessary for processing by the processing unit 21. In this embodiment, the storage unit 22 stores a program 22a executed by the processing unit 21. In this embodiment, the program 22a is provided in a form recorded on a recording medium 98 such as a memory card or an optical disk, and the data restoration device 2 reads the program 22a from the recording medium 98 and stores it in the storage unit 22. However, the program 22a may be written into the storage unit 22, for example, during the manufacturing stage of the data restoration device 2. Further, for example, the program 22a may be distributed by a remote server device or the like, and the data restoration device 2 may acquire it through communication and store it in the storage unit 22. For example, the program 22a may be recorded on the recording medium 98 and read by a writing device and written into the storage unit 22 of the data restoration device 2. The program 22a may be provided in the form of distribution via a network, or may be provided in the form of being recorded on the recording medium 98.

通信部23は、インターネット、無線LAN及び携帯電話通信網等を含むネットワークNを介して、ノード装置1との通信を行う。通信部23は、処理部21から与えられたデータをノード装置1へ送信すると共に、ノード装置1から受信したデータを処理部21へ与える。 The communication unit 23 communicates with the node device 1 via a network N including the Internet, a wireless LAN, a mobile phone communication network, and the like. The communication unit 23 transmits data provided from the processing unit 21 to the node device 1 and also provides data received from the node device 1 to the processing unit 21.

なお記憶部22は、データ復元装置2に接続された外部記憶装置であってよい。またデータ復元装置2は、複数のコンピュータを含んで構成されるマルチコンピュータであってよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。またデータ復元装置2は、上記の構成に限定されず、例えば可搬型の記憶媒体に記憶された情報を読み取る読取部、操作入力を受け付ける入力部、又は、画像を表示する表示部等を含んでもよい。 Note that the storage unit 22 may be an external storage device connected to the data restoration device 2. Further, the data restoration device 2 may be a multi-computer including a plurality of computers, or may be a virtual machine virtually constructed by software. Furthermore, the data restoration device 2 is not limited to the above configuration, and may include, for example, a reading unit that reads information stored in a portable storage medium, an input unit that accepts operation input, a display unit that displays images, etc. good.

また本実施の形態に係るデータ復元装置2の処理部21には、記憶部22に記憶されたプログラム22aを処理部21が読み出して実行することにより、データ復元処理部21a等がソフトウェア的な機能部として実現される。データ復元処理部21aは、ノード装置1からの依頼に応じて、複数のノード装置1に分散して記憶された分割データを収集し、収集した複数の分割データを元のデータへ復元する処理を行う。 In addition, the processing unit 21 of the data restoration device 2 according to the present embodiment has a software-like function such as the data restoration processing unit 21a by the processing unit 21 reading out and executing the program 22a stored in the storage unit 22. realized as a division. In response to a request from the node device 1, the data restoration processing unit 21a collects divided data stored in a distributed manner in a plurality of node devices 1, and performs a process of restoring the collected plurality of divided data to the original data. conduct.

<フローチャート>
図8は、本実施の形態に係るノード装置1が行うデータ分割処理の手順を示すフローチャートである。なお本図に示す処理は、元データ発行者のノード装置1が行う処理である。本実施の形態に係るノード装置1の処理部11のデータ分割処理部11aは、分割したデータの送信先として適した他のノード装置1の検索を行う(ステップS1)。このときにデータ分割処理部11aは、記憶部12に記憶された送信先テーブル12cに登録された他のノード装置1との間で通信を行って、他のノード装置1の空き容量及び他のノード装置1との通信速度等の情報を収集し、例えば予め定められた所定容量以上の空き容量を有し且つ予め定められた所定速度以上の通信を行うことができるノード装置1を、分割データの送信先に適したノード装置1とする。
<Flowchart>
FIG. 8 is a flowchart showing the procedure of data division processing performed by the node device 1 according to the present embodiment. Note that the process shown in this figure is a process performed by the node device 1 of the original data issuer. The data division processing unit 11a of the processing unit 11 of the node device 1 according to the present embodiment searches for another node device 1 suitable as a destination of the divided data (step S1). At this time, the data division processing unit 11a communicates with other node devices 1 registered in the destination table 12c stored in the storage unit 12, and determines the free capacity of the other node devices 1 and other nodes. Information such as the communication speed with the node device 1 is collected, and the node device 1 that has a free capacity equal to or higher than a predetermined capacity and is capable of communicating at a predetermined speed or higher is divided data. It is assumed that the node device 1 is suitable for the transmission destination.

データ分割処理部11aは、ステップS1の検索結果に基づいて、元データの分割数を決定する(ステップS2)。データ分割処理部11aは、元データを一意に識別するデータIDを生成する(ステップS3)。例えばデータ分割処理部11aは、予め自装置に対して定められた装置IDと、その時点の日時情報とを組み合わせることによって、データIDを生成する。データ分割処理部11aは、記憶部12に予め記憶された暗号鍵12bを用いて、元データを暗号化する(ステップS4)。 The data division processing unit 11a determines the number of divisions of the original data based on the search result in step S1 (step S2). The data division processing unit 11a generates a data ID that uniquely identifies the original data (step S3). For example, the data division processing unit 11a generates a data ID by combining a device ID predetermined for its own device and date and time information at that time. The data division processing unit 11a encrypts the original data using the encryption key 12b stored in advance in the storage unit 12 (step S4).

データ分割処理部11aは、ステップS4にて暗号化された元データを、ステップS2にて決定された分割数となるように分割する(ステップS5)。データ分割処理部11aは、分割した各分割データに対して、復元用情報をそれぞれ生成する(ステップS6)。データ分割処理部11aは、ステップS5にて分割した分割データに対して、ステップS3にて生成した共通のデータIDと、ステップS6にて生成した個別の復元用情報とをそれぞれ付与する(ステップS7)。 The data division processing unit 11a divides the original data encrypted in step S4 into the number of divisions determined in step S2 (step S5). The data division processing unit 11a generates restoration information for each divided data (step S6). The data division processing unit 11a assigns the common data ID generated in step S3 and the individual restoration information generated in step S6 to the divided data divided in step S5 (step S7 ).

データ分割処理部11aは、分割データ、データID及び復元用情報に対し、これらの情報の誤りを訂正する誤り訂正符号をそれぞれ付与する(ステップS8)。データ分割処理部11aは、データID、復元用情報及び誤り訂正符号がそれぞれ付与された複数の分割データを、異なる複数のノード装置1へ送信し(ステップS9)、処理を終了する。 The data division processing unit 11a assigns error correction codes for correcting errors in the divided data, data ID, and restoration information, respectively (step S8). The data division processing unit 11a transmits a plurality of divided data to which a data ID, restoration information, and an error correction code are respectively added to a plurality of different node devices 1 (step S9), and ends the process.

図9は、本実施の形態に係るノード装置1が行うデータ分割処理の手順を示すフローチャートである。なお本図に示す処理は、他のノード装置1が分割して送信したデータを受信したノード装置1が行う処理である。本実施の形態に係るノード装置1の処理部11のデータ分割処理部11aは、通信部13にて他のノード装置1からの分割データを受信したか否かを判定する(ステップS21)。分割データを受信していない場合(S21:NO)、データ分割処理部11aは、他のノード装置1からの分割データを受信するまで待機する。 FIG. 9 is a flowchart showing the procedure of data division processing performed by the node device 1 according to the present embodiment. Note that the process shown in this figure is a process performed by the node device 1 that has received data divided and transmitted by another node device 1. The data division processing unit 11a of the processing unit 11 of the node device 1 according to the present embodiment determines whether divided data has been received from another node device 1 through the communication unit 13 (step S21). If divided data has not been received (S21: NO), the data division processing unit 11a waits until it receives divided data from another node device 1.

他のノード装置1から分割データを受信した場合(S21:YES)、データ分割処理部11aは、受信した分割データが分割終了条件を満たすか否かを判定する(ステップS22)。データ分割処理部11aは、例えば受信した分割データのサイズが所定の閾値より小さいことを分割終了条件として判定を行うことができる。分割終了条件を満たす場合(S22:YES)、データ分割処理部11aは、受信したデータを記憶部12の分割データ記憶部12dに記憶して(ステップS23)、処理を終了する。 If divided data is received from another node device 1 (S21: YES), the data division processing unit 11a determines whether the received divided data satisfies the division end condition (Step S22). The data division processing unit 11a can make a determination, for example, using the fact that the size of the received divided data is smaller than a predetermined threshold as a division end condition. If the division end condition is satisfied (S22: YES), the data division processing section 11a stores the received data in the divided data storage section 12d of the storage section 12 (step S23), and ends the process.

分割条件を満たさない場合(S22:NO)、データ分割処理部11aは、分割データの送信先として適した他のノード装置1の検索を行う(ステップS24)。データ分割処理部11aは、ステップS24の検索結果に基づいて、元データの分割数を決定する(ステップS25)。データ分割処理部11aは、他のノード装置1から受信した分割データを、ステップS25にて決定された分割数となるように分割する(ステップS26)。データ分割処理部11aは、分割した各分割データに対して、復元用情報をそれぞれ生成する(ステップS27)。データ分割処理部11aは、ステップS26にて分割した分割データに対して、他のノード装置1から受信した分割データに付与されていたデータIDと、ステップS27にて生成した個別の復元用情報とをそれぞれ付与する(ステップS28)。 If the division condition is not satisfied (S22: NO), the data division processing unit 11a searches for another node device 1 suitable as a transmission destination of the divided data (Step S24). The data division processing unit 11a determines the number of divisions of the original data based on the search result in step S24 (step S25). The data division processing unit 11a divides the divided data received from another node device 1 into the number of divisions determined in step S25 (step S26). The data division processing unit 11a generates restoration information for each divided data (step S27). The data division processing unit 11a updates the divided data divided in step S26 with the data ID assigned to the divided data received from another node device 1 and the individual restoration information generated in step S27. (Step S28).

データ分割処理部11aは、分割データ、データID及び復元用情報に対し、これらの情報の誤りを訂正する誤り訂正符号をそれぞれ付与する(ステップS29)。データ分割処理部11aは、データID、復元用情報及び誤り訂正符号がそれぞれ付与された複数の分割データを、異なる複数のノード装置1へ送信し(ステップS30)、処理を終了する。 The data division processing unit 11a assigns error correction codes for correcting errors in the divided data, data ID, and restoration information, respectively (step S29). The data division processing unit 11a transmits a plurality of divided data to which a data ID, restoration information, and error correction code have been respectively added to a plurality of different node devices 1 (step S30), and ends the process.

図10は、本実施の形態に係るノード装置1が行うデータ復元処理の手順を示すフローチャートである。なお本図に示す処理は、元データ発行者のノード装置1が行う処理である。本実施の形態に係るノード装置1の処理部11のデータ復元処理部11bは、復元対象のデータを分割した分割データを記憶しているか否かを確認するための確認要求メッセージを、通信部13にて他のノード装置1へ送信する(ステップS41)。確認要求メッセージには、復元対象のデータに対して付されたデータIDの情報が含まれている。データ復元処理部11bは、記憶部12の送信先テーブル12cに送信先として記憶された一又は複数のノード装置1に対して確認要求メッセージを送信する。 FIG. 10 is a flowchart showing the procedure of data restoration processing performed by the node device 1 according to the present embodiment. Note that the process shown in this figure is a process performed by the node device 1 of the original data issuer. The data restoration processing unit 11b of the processing unit 11 of the node device 1 according to the present embodiment sends a confirmation request message to the communication unit 13 for checking whether divided data obtained by dividing the data to be restored is stored. and transmits it to other node devices 1 (step S41). The confirmation request message includes information on the data ID assigned to the data to be restored. The data restoration processing unit 11b transmits a confirmation request message to one or more node devices 1 stored as destinations in the destination table 12c of the storage unit 12.

データ復元処理部11bは、確認要求メッセージに対する応答メッセージを受信したか否かを判定する(ステップS42)。応答メッセージを受信していない場合(S42:NO)、データ復元処理部11bは、応答メッセージを受信するまで待機する。応答メッセージを受信した場合(S42:YES)、データ復元処理部11bは、受信した応答メッセージに含まれる復元用情報及びノード装置1のアドレス情報を記憶部12に記憶する(ステップS43)。データ復元処理部11bは、これまでの受信した応答メッセージにより所在が判明した分割データのデータ数が予め定められた閾値を超えたか否かを判定する(ステップS44)。データ数が閾値を超えていない場合(S44:NO)、データ復元処理部11bは、ステップS42へ処理を戻し、応答メッセージの受信を継続して行う。 The data restoration processing unit 11b determines whether or not a response message to the confirmation request message has been received (step S42). If the response message has not been received (S42: NO), the data restoration processing unit 11b waits until it receives the response message. When the response message is received (S42: YES), the data restoration processing unit 11b stores the restoration information and the address information of the node device 1 included in the received response message in the storage unit 12 (Step S43). The data restoration processing unit 11b determines whether the number of pieces of divided data whose location has been determined by the response messages received so far exceeds a predetermined threshold (step S44). If the number of data does not exceed the threshold (S44: NO), the data restoration processing unit 11b returns the process to step S42 and continues to receive response messages.

データ数が閾値を超えた場合(S44:YES)、データ復元処理部11bは、これまでに受信して記憶した復元用情報及びアドレス情報を、通信部13にてデータ復元装置2へ送信する(ステップS45)。なお本フローチャートにおいて図示は省略するが、データ復元処理部11bは、ステップS45の情報送信の後で新たな応答メッセージを受信した場合、この応答メッセージに含まれる復元用情報及びアドレス情報を追加でデータ復元装置2へ送信する。 If the number of data exceeds the threshold (S44: YES), the data restoration processing unit 11b transmits the restoration information and address information received and stored so far to the data restoration device 2 through the communication unit 13 ( Step S45). Although not shown in this flowchart, when the data restoration processing unit 11b receives a new response message after transmitting the information in step S45, the data restoration processing unit 11b additionally stores the restoration information and address information included in this response message as data. Send it to the restoration device 2.

データ復元処理部11bは、データ復元装置2から復元された元データを受信したか否かを判定する(ステップS46)。元データを受信していない場合(S46:NO)、データ復元処理部11bは、データ復元装置2から元データを受信するまで待機する。元データを受信した場合(S46:YES)、データ復元処理部11bは、受信した元データに対し、記憶部12に記憶された暗号鍵12bを用いた復号処理を行い(ステップS47)、データ復元処理を終了する。 The data restoration processing unit 11b determines whether or not the restored original data has been received from the data restoration device 2 (step S46). If the original data has not been received (S46: NO), the data restoration processing unit 11b waits until the original data is received from the data restoration device 2. When the original data is received (S46: YES), the data restoration processing unit 11b performs a decryption process on the received original data using the encryption key 12b stored in the storage unit 12 (step S47), and restores the data. Finish the process.

図11は、本実施の形態に係るノード装置1が行うデータ復元処理の手順を示すフローチャートである。なお本図に示す処理は、元データ発行者のノード装置1以外のノード装置1が行う処理である。本実施の形態に係るノード装置1の処理部11の応答処理部11cは、元データ発行者のノード装置1が送信した確認要求メッセージを受信したか否かを判定する(ステップS61)。確認要求メッセージを受信していない場合(S61:NO)、応答処理部11cは、確認要求メッセージを受信するまで待機する。確認要求メッセージを受信した場合(S61:YES)、応答処理部11cは、受信した確認要求メッセージを他のノード装置1へ送信(転送)する(ステップS62)。このときに応答処理部11cは、記憶部12の送信先テーブル12cに送信先として記憶された一又は複数のノード装置1に対して確認要求メッセージを転送する。 FIG. 11 is a flowchart showing the procedure of data restoration processing performed by the node device 1 according to the present embodiment. Note that the process shown in this figure is a process performed by a node device 1 other than the node device 1 of the original data issuer. The response processing unit 11c of the processing unit 11 of the node device 1 according to the present embodiment determines whether the confirmation request message sent by the node device 1 of the original data issuer has been received (step S61). If the confirmation request message has not been received (S61: NO), the response processing unit 11c waits until it receives the confirmation request message. If the confirmation request message is received (S61: YES), the response processing unit 11c transmits (transfers) the received confirmation request message to another node device 1 (step S62). At this time, the response processing unit 11c transfers the confirmation request message to one or more node devices 1 stored as destinations in the destination table 12c of the storage unit 12.

応答処理部11cは、確認要求メッセージに含まれるデータIDが付された分割データを、記憶部12の分割データ記憶部12dに記憶しているか否かを判定する(ステップS63)。分割データを記憶している場合(S63:YES)、応答処理部11cは、この分割データに係る復元用情報と、自身のアドレス情報とを含む応答メッセージを、確認要求メッセージの送信元のノード装置1へ送信し(ステップS64)、処理を終了する。分割データを記憶していない場合(S63:NO)、応答処理部11cは、応答メッセージを送信せずに、処理を終了する。 The response processing unit 11c determines whether the divided data to which the data ID included in the confirmation request message is attached is stored in the divided data storage unit 12d of the storage unit 12 (step S63). If the divided data is stored (S63: YES), the response processing unit 11c sends a response message including restoration information related to the divided data and its own address information to the node device that is the source of the confirmation request message. 1 (step S64), and the process ends. If the divided data is not stored (S63: NO), the response processing unit 11c ends the process without transmitting the response message.

図12は、本実施の形態に係るデータ復元装置2が行うデータ復元処理の手順を示すフローチャートである。データ復元装置2の処理部21のデータ復元処理部21aは、ノード装置1が送信する復元対象のデータに関する復元用情報及びアドレス情報を受信したか否かを判定する(ステップS71)。復元用情報及びアドレス情報を受信していない場合(S71:NO)、データ復元処理部21aは、これらの情報をノード装置1から受信するまで待機する。復元用情報及びアドレス情報を受信した場合(S71:YES)、データ復元処理部21aは、受信した復元用情報及びアドレス情報に基づいて、分割データから元データへの復元が可能であるか否かを判定する(ステップS72)。復元が可能でないと判定した場合(S72:NO)、データ復元処理部21aは、ステップS71へ処理を戻し、ノード装置1から追加の復元用情報及びアドレス情報を受信するまで待機する。 FIG. 12 is a flowchart showing the procedure of data restoration processing performed by the data restoration device 2 according to the present embodiment. The data restoration processing unit 21a of the processing unit 21 of the data restoration device 2 determines whether or not the restoration information and address information regarding the data to be restored transmitted from the node device 1 have been received (step S71). If the restoration information and address information have not been received (S71: NO), the data restoration processing unit 21a waits until it receives these information from the node device 1. When the restoration information and address information are received (S71: YES), the data restoration processing unit 21a determines whether it is possible to restore the divided data to the original data based on the received restoration information and address information. is determined (step S72). If it is determined that restoration is not possible (S72: NO), the data restoration processing unit 21a returns the process to step S71 and waits until additional restoration information and address information are received from the node device 1.

元データへの復元が可能であると判定した場合(S72:YES)、データ復元処理部21aは、これまでの受信したアドレス情報に基づいて、ノード装置1が記憶している分割データを収集する処理を行う(ステップS73)。このときにデータ復元処理部21aは、与えられたアドレス情報に従ってノード装置1に分割データの送信を要求し、この要求に応じてノード装置1から送信される分割データを受信することで、分割データを収集する。データ復元処理部21aは、復元用情報に基づいて、収集した分割データを元のデータに復元する(ステップS74)。データ復元処理部21aは、復元した元のデータを、このデータの元データ発行者に相当するノード装置1へ送信し(ステップS75)、処理を終了する。 If it is determined that restoration to the original data is possible (S72: YES), the data restoration processing unit 21a collects the divided data stored in the node device 1 based on the address information received so far. Processing is performed (step S73). At this time, the data restoration processing unit 21a requests the node device 1 to transmit the divided data according to the given address information, and receives the divided data transmitted from the node device 1 in response to this request. Collect. The data restoration processing unit 21a restores the collected divided data to the original data based on the restoration information (step S74). The data restoration processing unit 21a transmits the restored original data to the node device 1 corresponding to the original data issuer of this data (step S75), and ends the process.

<まとめ>
以上の構成の本実施の形態に係るデータ記憶システムでは、ネットワークNを介して接続された複数のノード装置1がデータを分散して記憶する。これら複数のノード装置1のうちの少なくとも1つのノード装置1が、記憶対象のデータを生成するデータ生成元装置となる。データ生成元のノード装置1は、記憶対象のデータを複数に分割すると共に、分割したデータを元のデータに復元するための復元用情報を生成する。ノード装置1は、分割したデータに対して復元用情報と元のデータを識別するデータIDとを付し、複数の分割データをそれぞれ異なる他のノード装置1へ送信する。
<Summary>
In the data storage system according to this embodiment having the above configuration, the plurality of node devices 1 connected via the network N store data in a distributed manner. At least one node device 1 among these plurality of node devices 1 becomes a data generation source device that generates data to be stored. The data generation source node device 1 divides the data to be stored into a plurality of pieces, and generates restoration information for restoring the divided data to the original data. The node device 1 attaches restoration information and a data ID for identifying the original data to the divided data, and transmits the plurality of divided data to different other node devices 1, respectively.

分割されたデータを受信する受信側のノード装置1は、受信したデータについて予め定められた分割終了条件を満たすか否かを判定し、分割終了条件を満たす場合には受信したデータを記憶部12の分割データ記憶部12dに記憶する。分割終了条件を満たさない場合、ノード装置1は、受信したデータを更に分割すると共に復元用情報を生成し、分割したデータに復元用情報と元のデータと同じデータIDとを付してそれぞれ異なる他のノード装置1へ送信する。 The receiving side node device 1 that receives the divided data determines whether or not the received data satisfies a predetermined division end condition, and if the division end condition is satisfied, the received data is stored in the storage unit 12. The data is stored in the divided data storage section 12d. If the division termination condition is not satisfied, the node device 1 further divides the received data, generates restoration information, and attaches the restoration information and the same data ID as the original data to the divided data to create different data. Send to other node devices 1.

これらにより本実施の形態に係るデータ記憶システムでは、データの分割及び送信が繰り返し行われ、分割終了条件を満たすと判定したノード装置1において、分割されたデータが記憶される。各ノード装置1は、データの分割及び送信を行えばよく、高度な処理は要求されない。また1つのノード装置1に記憶されたデータは、元のデータを分割したものであるため、各ノード装置1が大容量の記憶部12を備える必要はない。 As a result, in the data storage system according to the present embodiment, division and transmission of data are repeatedly performed, and the divided data is stored in the node device 1 that has determined that the division end condition is satisfied. Each node device 1 only needs to divide and transmit data, and sophisticated processing is not required. Furthermore, since the data stored in one node device 1 is obtained by dividing the original data, there is no need for each node device 1 to include a large-capacity storage unit 12.

また本実施の形態に係るデータ記憶システムでは、データ生成元のノード装置1が記憶対象となる元データを暗号化し、暗号化したデータを分割して他のノード装置1へ送信する。分割されたデータを受信するノード装置1は、暗号化済みの分割データに対して更なる暗号化を行わなくてよい。データを暗号化して分割することにより、元データの秘匿性を高めることができる。 Further, in the data storage system according to this embodiment, the node device 1 that is the data generation source encrypts the original data to be stored, divides the encrypted data, and transmits the divided data to other node devices 1. The node device 1 that receives the divided data does not need to further encrypt the encrypted divided data. By encrypting and dividing data, the confidentiality of the original data can be increased.

また本実施の形態に係るデータ記憶システムでは、各ノード装置1は分割したデータについてそれぞれ誤り訂正符号を付与して他のノード装置1へ送信する。これにより、分割されたデータを受信したノード装置1は、誤り訂正符号に基づいて送受信の際に生じたデータの誤りを訂正して記憶することができる。また分割されたデータを復元する際には、複数の分割データのいくつかが欠損した場合であっても、誤り訂正符号に基づいて欠損部分を訂正し、元のデータに復元することができる。 Furthermore, in the data storage system according to the present embodiment, each node device 1 assigns an error correction code to each divided data and transmits it to other node devices 1. Thereby, the node device 1 that has received the divided data can correct and store errors in the data that occurred during transmission and reception based on the error correction code. Furthermore, when restoring divided data, even if some of the plurality of divided data are missing, the missing parts can be corrected based on the error correction code and the original data can be restored.

また本実施の形態に係るデータ記憶システムでは、分割されたデータを復元するノード装置1から他のノード装置1へ、データIDを指定した分割データの記憶の有無の確認要求メッセージが送信される。確認要求メッセージを受信したノード装置1は、確認要求メッセージにて指定されたデータIDが付された分割データを自身の記憶部12に記憶しているか否かを判定し、分割データを記憶している場合には応答メッセージを送信する。これによりデータを復元しようとするノード装置1では、各ノード装置1からの応答メッセージにより、分割された複数のデータがネットワーク中のいずれのノード装置1に記憶されているかを把握することができる。 Further, in the data storage system according to the present embodiment, a message requesting confirmation as to whether or not divided data specifying the data ID is stored is transmitted from the node device 1 that restores the divided data to another node device 1. The node device 1 that has received the confirmation request message determines whether or not the divided data to which the data ID specified in the confirmation request message is attached is stored in its own storage unit 12, and stores the divided data. If so, send a response message. Thereby, the node device 1 attempting to restore data can grasp which node device 1 in the network stores the plurality of divided data, based on the response message from each node device 1.

また本実施の形態に係るデータ記憶システムでは、データ復元装置2は、分割されたデータを記憶しているノード装置1からの応答メッセージに含まれるアドレス情報に基づいて、分割されたデータを収集し、収集した複数の分割データを復元用情報に基づいて元のデータに復元する。これによりデータ復元装置2は複数のノード装置1に分散して記憶されたデータを取得して復元することができ、元のデータを必要とするノード装置1はデータ復元装置2にて復元されたデータを利用することができる。 Furthermore, in the data storage system according to the present embodiment, the data restoration device 2 collects the divided data based on the address information included in the response message from the node device 1 that stores the divided data. , restore the collected plurality of divided data to the original data based on the restoration information. As a result, the data restoration device 2 can acquire and restore data distributed and stored in multiple node devices 1, and the node device 1 that requires the original data can be restored by the data restoration device 2. Data can be used.

また本実施の形態に係るデータ記憶システムでは、分割されたデータを記憶しているノード装置1は、確認要求メッセージの受信に応じて、自装置にアクセスするためのアドレス情報と、分割データの復元用情報とを応答メッセージに含めて、確認要求メッセージの送信元のノード装置1へ送信する。これにより、データ復元装置2は、アドレス情報に基づいて分割データを記憶したノード装置1との通信を行い、このノード装置1から分割データを取得することができる。またデータ復元装置2は、復元用情報に基づいて、収集したデータを元のデータに復元することができる。 In addition, in the data storage system according to the present embodiment, the node device 1 storing the divided data receives the address information for accessing its own device and the restoration of the divided data in response to receiving the confirmation request message. information is included in the response message, and the response message is sent to the node device 1 that is the source of the confirmation request message. Thereby, the data restoration device 2 can communicate with the node device 1 that has stored the divided data based on the address information, and can acquire the divided data from this node device 1. Furthermore, the data restoration device 2 can restore the collected data to the original data based on the restoration information.

なお本実施の形態においては、ノード装置1が元データを複数のデータに分割する場合に、元データを均等なサイズに分割する例を示したが、これに限るものではなく、分割された複数のデータはそれぞれデータサイズが異なっていてもよい。例えばノード装置1は、分割したデータの送信先となるノード装置1の性能等に応じて、分割データのサイズを決定することができる。またノード装置1は、元データを複数のデータに分割する場合に、データの一部が重複するように分割を行ってもよい。例えばノード装置1は、元データを2分割する場合、元データの先頭側の2/3のデータと、末尾側の2/3のデータとに分割してもよく、2つの分割データに重複部分が含まれていてもよい。 In this embodiment, when the node device 1 divides the original data into a plurality of pieces of data, an example is shown in which the original data is divided into pieces of equal size. However, the present invention is not limited to this. The data may have different data sizes. For example, the node device 1 can determine the size of divided data depending on the performance of the node device 1 to which the divided data is to be transmitted. Further, when dividing the original data into a plurality of pieces of data, the node device 1 may perform the division so that some of the data overlaps. For example, when dividing the original data into two, the node device 1 may divide the original data into two-thirds of the data at the beginning and two-thirds of the data at the end, and the overlapping portion is divided into two parts of the divided data. may be included.

また本実施の形態においては、データ生成元のノード装置1がデータの暗号化を行い、これ以降のノード装置1はデータの暗号化を行わないものとしたが、これに限るものではない。分割データを受信したノード装置1は、再分割を行う前にこのデータを暗号化してもよい。ただしこの場合、分割データを元のデータに復元するためには、データ分割の際に複数のノード装置1を経たデータの伝達経路を逆に辿って、データの復元及び復号を順番に行う必要がある。 Further, in this embodiment, the node device 1 that is the data generation source encrypts the data, and the subsequent node devices 1 do not encrypt the data, but the present invention is not limited to this. The node device 1 that has received the divided data may encrypt this data before re-dividing it. However, in this case, in order to restore the divided data to the original data, it is necessary to reverse the transmission path of the data that passed through the plurality of node devices 1 during data division and restore and decode the data in order. be.

また本実施の形態においては、分割終了条件が成立すると判定したノード装置1がデータを記憶するものとしたが、これに限るものではない。例えば各ノード装置1は、分割終了条件が成立しないと判定してデータの分割及び送信を行う場合であっても、分割前のデータを記憶しておいてよい。これにより、複数のノード装置1がデータを重複して記憶することができるため、分割データを記憶したノード装置1の故障等が発生した場合であっても、元データの復元の可能性を高めることができる。 Further, in the present embodiment, the node device 1 that has determined that the division end condition is satisfied stores the data, but the present invention is not limited to this. For example, each node device 1 may store the data before division even if it determines that the division end condition is not satisfied and divides and transmits the data. This allows multiple node devices 1 to store data redundantly, increasing the possibility of restoring the original data even if a failure occurs in the node device 1 that stored divided data. be able to.

また本実施の形態において図3及び図4等に示した復元用情報は一例であり、これに限るものではない。復元用情報は、分割された複数のデータが復元できる情報であれば、どのような情報であってもよい。 Further, in this embodiment, the restoration information shown in FIGS. 3, 4, etc. is an example, and the information is not limited to this. The restoration information may be any information as long as it can restore a plurality of divided data.

また本実施の形態に係るデータ記憶システムは、データ生成元のノード装置1がデータ復元装置2にデータの復元を依頼し、データ復元装置2がデータの復元を行う構成であるが、これに限るものではない。データの復元は、データ生成元のノード装置1が行ってもよい。この場合、確認要求メッセージを受信したノード装置1は、応答メッセージに復元用情報と分割データとを含めて送信してもよい。 Further, the data storage system according to the present embodiment has a configuration in which the data generating node device 1 requests the data restoration device 2 to restore data, and the data restoration device 2 restores the data, but the configuration is not limited to this. It's not a thing. Data restoration may be performed by the node device 1 that is the data generation source. In this case, the node device 1 that has received the confirmation request message may include the restoration information and the divided data in the response message and send it.

また本実施の形態においては、データ生成元のノード装置1が確認要求メッセージを送信する構成であるが、これに限るものではない。確認要求メッセージの送信をデータ復元装置2が行ってもよい。この場合、データ生成元のノード装置1からデータ復元装置2へはデータIDを指定した復元の依頼を行う。またこの場合も、確認要求メッセージを受信したノード装置1は、応答メッセージに復元用情報と分割データとを含めてデータ復元装置2へ送信してよい。 Furthermore, in this embodiment, the configuration is such that the node device 1 as the data generation source transmits the confirmation request message, but the configuration is not limited to this. The data restoration device 2 may send the confirmation request message. In this case, the data generation source node device 1 requests the data restoration device 2 for restoration specifying the data ID. Also in this case, the node device 1 that has received the confirmation request message may include the restoration information and the divided data in a response message and transmit it to the data restoration device 2.

今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed herein are illustrative in all respects and should not be considered restrictive. The scope of the present invention is indicated by the claims rather than the above-mentioned meaning, and is intended to include meanings equivalent to the claims and all changes within the scope.

1 ノード装置(装置、データ記憶装置)
1a ノード装置(データ生成元装置)
1b~1j ノード装置(受信側装置)
2 データ復元装置
11 処理部
11a データ分割処理部(識別情報生成部、データ分割部、復元用情報生成部、データ送信部、分割終了条件判定部、暗号化部、訂正用情報生成部)
11b データ復元処理部
11c 応答処理部(記憶判定部、応答部)
12 記憶部
12a プログラム(コンピュータプログラム)
12b 暗号鍵
12c 送信先テーブル
12d 分割データ記憶部
13 通信部
21 処理部
21a データ復元処理部(データ収集部、復元部)
22 記憶部
22a プログラム
23 通信部
N ネットワーク
1 Node device (device, data storage device)
1a Node device (data generation source device)
1b to 1j Node device (receiving side device)
2 Data restoration device 11 Processing unit 11a Data division processing unit (identification information generation unit, data division unit, restoration information generation unit, data transmission unit, division end condition determination unit, encryption unit, correction information generation unit)
11b Data restoration processing unit 11c Response processing unit (memory determination unit, response unit)
12 Storage unit 12a Program (computer program)
12b Encryption key 12c Destination table 12d Divided data storage unit 13 Communication unit 21 Processing unit 21a Data restoration processing unit (data collection unit, restoration unit)
22 Storage unit 22a Program 23 Communication unit N Network

Claims (12)

ネットワークを介して接続された複数の装置がデータを分散して記憶するデータ記憶システムであって、
前記複数の装置に含まれるデータ生成元装置は、
記憶対象のデータを識別する識別情報を生成する識別情報生成部と、
前記データを複数に分割するデータ分割部と、
前記データ分割部が分割した複数のデータを元のデータに復元するための復元用情報を生成する復元用情報生成部と、
前記データ分割部が分割した複数のデータに前記識別情報生成部が生成した識別情報及び前記復元用情報生成部が生成した復元用情報を付し、それぞれ異なる他の装置へ送信するデータ送信部と
を有し、
前記複数の装置に含まれ、分割されたデータを受信する受信側装置は、
受信したデータについて分割終了条件を満たすか否かを判定する分割終了条件判定部と、
前記分割終了条件判定部が前記分割終了条件を満たすと判定した場合に、前記データを前記識別情報及び前記復元用情報と共に記憶する記憶部と、
前記分割終了条件判定部が前記分割終了条件を満たさないと判定した場合に、前記データを複数に分割するデータ分割部と、
前記データ分割部が分割した複数のデータを元のデータに復元するための復元用情報を
生成する復元用情報生成部と、
前記データ分割部が分割した複数のデータに前記識別情報及び前記復元用情報生成部が生成した復元用情報を付し、それぞれ異なる他の装置へ送信するデータ送信部と
を有する、データ記憶システム。
A data storage system in which multiple devices connected via a network store data in a distributed manner,
The data generating device included in the plurality of devices is:
an identification information generation unit that generates identification information for identifying data to be stored;
a data division unit that divides the data into a plurality of parts;
a restoration information generation unit that generates restoration information for restoring the plurality of data divided by the data division unit to the original data;
a data transmitting unit that attaches identification information generated by the identification information generating unit and restoration information generated by the restoring information generating unit to the plurality of data divided by the data dividing unit, and transmits the data to different other devices; has
A receiving device included in the plurality of devices and receiving the divided data,
a division end condition determination unit that determines whether the received data satisfies the division end condition;
a storage unit that stores the data together with the identification information and the restoration information when the division termination condition determining unit determines that the division termination condition is satisfied;
a data division unit that divides the data into a plurality of pieces when the division termination condition determination unit determines that the division termination condition is not satisfied;
a restoration information generation unit that generates restoration information for restoring the plurality of data divided by the data division unit to the original data;
A data storage system, comprising: a data transmission unit that attaches the identification information and the restoration information generated by the restoration information generation unit to the plurality of data divided by the data division unit, and transmits the data to different other devices.
前記データ生成元装置は、記憶対象のデータを暗号化する暗号化部を有し、
前記データ生成元装置のデータ分割部は、前記暗号化部により暗号化されたデータを分割する、
請求項1に記載のデータ記憶システム。
The data generation source device includes an encryption unit that encrypts data to be stored,
The data division unit of the data generation source device divides the data encrypted by the encryption unit.
A data storage system according to claim 1.
前記データ生成元装置及び前記受信側装置は、分割した複数のデータについてそれぞれ誤り訂正用情報を生成する誤り訂正用情報生成部を有し、
前記データ生成元装置及び前記受信側装置のデータ送信部は、分割した複数のデータにそれぞれ誤り訂正用情報を付して送信する、
請求項1又は請求項2に記載のデータ記憶システム。
The data generation source device and the receiving device each include an error correction information generation unit that generates error correction information for each of the plurality of divided data,
The data transmitting units of the data generating device and the receiving device transmit error correction information to each of the plurality of divided data.
A data storage system according to claim 1 or claim 2.
前記データ分割部は、前記データ送信部がデータを送信する送信先の装置の数に応じて、データの分割数を決定する、請求項1乃至請求項3のいずれか1つに記載のデータ記憶システム。 The data storage according to any one of claims 1 to 3, wherein the data dividing unit determines the number of data divisions according to the number of destination devices to which the data transmitting unit transmits data. system. 前記データ送信部は、前記データ分割部が分割したデータの数に応じて、当該データの送信先を決定する、請求項1乃至請求項3のいずれか1つに記載のデータ記憶システム。 4. The data storage system according to claim 1, wherein the data transmitter determines a destination of the data according to the number of pieces of data divided by the data divider. 前記分割終了条件は、分割されたデータのサイズが閾値より小さいこと、又は、分割されたデータのサイズが当該データに付される識別情報及び復元用情報のサイズより小さいことである、請求項1乃至請求項5のいずれか1つに記載のデータ記憶システム。 Claim 1, wherein the division end condition is that the size of the divided data is smaller than a threshold value, or that the size of the divided data is smaller than the size of identification information and restoration information attached to the data. A data storage system according to any one of claims 5 to 6. 前記受信側装置は、
前記識別情報を指定したデータの記憶の有無の確認要求を受信した場合に、前記識別情報に係るデータを記憶しているか否かを判定する記憶判定部と、
前記記憶判定部が前記データを記憶していると判定した場合に、前記確認要求の送信元への応答を行う応答部と
を有する、請求項1乃至請求項6のいずれか1つに記載のデータ記憶システム。
The receiving device includes:
a storage determination unit that determines whether or not data related to the identification information is stored when receiving a request to confirm whether or not data specifying the identification information is stored;
and a response unit that responds to the transmission source of the confirmation request when the storage determination unit determines that the data is stored. Data storage system.
前記複数の装置に含まれるデータ復元装置は、
前記受信側装置からの応答に基づいて、分割された前記データを収集するデータ収集部と、
前記データ収集部が収集した分割された複数の前記データを元のデータに復元する復元部と
を有する、請求項7に記載のデータ記憶システム。
The data restoration device included in the plurality of devices is
a data collection unit that collects the divided data based on a response from the receiving device;
8. The data storage system according to claim 7, further comprising: a restoration section that restores the plurality of divided data collected by the data collection section to original data.
前記受信側装置の応答部は、自装置へアクセスするためのアクセス用情報と、前記記憶部が記憶した前記復元用情報とを前記確認要求の送信元へ送信し、
前記データ復元装置のデータ収集部は、前記アクセス用情報に基づいて前記データを収集し、
前記データ復元装置の復元部は、前記復元用情報に基づいてデータを復元する、
請求項8に記載のデータ記憶システム。
The response unit of the receiving device transmits access information for accessing the own device and the restoration information stored in the storage unit to the source of the confirmation request,
The data collection unit of the data restoration device collects the data based on the access information,
The restoration unit of the data restoration device restores data based on the restoration information.
9. A data storage system according to claim 8.
ネットワークを介して他の装置との通信を行うデータ記憶装置であって、
記憶対象のデータを識別する識別情報を生成する識別情報生成部と、
前記データを複数に分割する第1のデータ分割部と、
前記第1のデータ分割部が分割した複数のデータを元のデータに復元するための復元用情報を生成する第1の復元用情報生成部と、
前記第1のデータ分割部が分割した複数のデータに前記識別情報生成部が生成した識別情報及び前記第1の復元用情報生成部が生成した復元用情報を付し、それぞれ異なる他の装置へ送信する第1のデータ送信部と、
他の装置から受信したデータについて分割終了条件を満たすか否かを判定する分割終了条件判定部と、
前記分割終了条件判定部が前記分割終了条件を満たすと判定した場合に、前記他の装置から受信したデータを、当該データを識別する識別情報及び当該データを元のデータに復元するための復元用情報と共に記憶する記憶部と、
前記分割終了条件判定部が前記分割終了条件を満たさないと判定した場合に、前記データを複数に分割する第2のデータ分割部と、
前記第2のデータ分割部が分割した複数のデータを元のデータに復元するための復元用情報を生成する第2の復元用情報生成部と、
前記第2のデータ分割部が分割した複数のデータに、前記識別情報及び前記第2の復元用情報生成部が生成した復元用情報を付し、それぞれ異なる他の装置へ送信する第2のデータ送信部と
を備えるデータ記憶装置。
A data storage device that communicates with other devices via a network,
an identification information generation unit that generates identification information for identifying data to be stored;
a first data division unit that divides the data into a plurality of parts;
a first restoration information generation unit that generates restoration information for restoring the plurality of data divided by the first data division unit to the original data;
The identification information generated by the identification information generation unit and the restoration information generated by the first restoration information generation unit are attached to the plurality of data divided by the first data division unit, and the data are transmitted to different other devices. a first data transmitter that transmits;
a division end condition determination unit that determines whether the division end condition is satisfied for data received from another device;
When the division end condition determining unit determines that the division end condition is satisfied, the data received from the other device is provided with identification information for identifying the data and restoration information for restoring the data to the original data. a storage unit that stores information together with the information;
a second data division unit that divides the data into a plurality of pieces when the division termination condition determination unit determines that the division termination condition is not satisfied;
a second restoration information generation unit that generates restoration information for restoring the plurality of data divided by the second data division unit to the original data;
Second data that is attached with the identification information and restoration information generated by the second restoration information generation unit to the plurality of data divided by the second data division unit, and transmitted to different other devices. A data storage device comprising a transmitter and a transmitter.
ネットワークを介して他の装置との通信を行うコンピュータに、
記憶対象のデータを識別する識別情報を生成し、
前記データを複数に分割し、
分割した複数のデータを元のデータに復元するための復元用情報を生成し、
分割した複数のデータに生成した識別情報及び復元用情報を付し、それぞれ異なる他の装置へ送信し、
他の装置から受信したデータについて分割終了条件を満たすか否かを判定し、
前記分割終了条件を満たすと判定した場合に、前記他の装置から受信したデータを、当該データを識別する識別情報及び当該データを元のデータに復元するための復元用情報と共に記憶し、
前記分割終了条件を満たさないと判定した場合に、前記データを複数に分割し、
分割した複数のデータを元のデータに復元するための復元用情報を生成し、
分割した複数のデータに、前記識別情報及び生成した復元用情報を付し、それぞれ異なる他の装置へ送信する
処理を実行させるコンピュータプログラム。
A computer that communicates with other devices via a network,
Generate identification information that identifies data to be stored,
Divide the data into multiple parts,
Generates restoration information to restore multiple pieces of divided data to the original data,
Attach generated identification information and restoration information to multiple pieces of divided data, and send each to different other devices,
Determine whether the data received from another device satisfies the division end condition,
If it is determined that the division end condition is met, storing the data received from the other device together with identification information for identifying the data and restoration information for restoring the data to the original data;
If it is determined that the division end condition is not satisfied, divide the data into multiple parts,
Generates restoration information to restore multiple pieces of divided data to the original data,
A computer program that executes a process of attaching the identification information and generated restoration information to a plurality of divided pieces of data and transmitting the pieces of data to different devices.
ネットワークを介して接続された複数の装置にデータを分散して記憶させるデータ記憶方法であって、
前記複数の装置に含まれるデータ生成元装置が、記憶対象のデータを識別する識別情報を生成し、前記データを複数に分割し、分割した複数のデータを元のデータに復元するための復元用情報を生成し、分割した複数のデータに生成した識別情報及び復元用情報を付し、それぞれ異なる他の装置へ送信し、
前記複数の装置に含まれ、分割されたデータを受信する受信側装置が、受信したデータについて分割終了条件を満たすか否かを判定し、前記分割終了条件を満たすと判定した場合に、前記データを前記識別情報及び前記復元用情報と共に記憶し、前記分割終了条件を満たさないと判定した場合に、前記データを複数に分割し、分割した複数のデータを元のデータに復元するための復元用情報を生成し、分割した複数のデータに前記識別情報及び生成した復元用情報を付し、それぞれ異なる他の装置へ送信する、
データ記憶方法。
A data storage method in which data is distributed and stored in multiple devices connected via a network,
A data generating device included in the plurality of devices generates identification information for identifying data to be stored, divides the data into a plurality of pieces, and restores the divided pieces of data to the original data. Generate information, attach generated identification information and restoration information to multiple pieces of divided data, and send each to different other devices,
A receiving device included in the plurality of devices that receives the divided data determines whether or not the received data satisfies the division termination condition, and if it determines that the division termination condition is satisfied, the reception side device receives the divided data. is stored together with the identification information and the restoration information, and when it is determined that the division end condition is not satisfied, the data is divided into a plurality of parts, and the data is restored to restore the divided data to the original data. generating information, attaching the identification information and the generated restoration information to a plurality of divided data, and transmitting each to a different other device;
Data storage method.
JP2019237430A 2019-12-26 2019-12-26 Data storage systems, data storage devices, computer programs and data storage methods Active JP7384028B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019237430A JP7384028B2 (en) 2019-12-26 2019-12-26 Data storage systems, data storage devices, computer programs and data storage methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019237430A JP7384028B2 (en) 2019-12-26 2019-12-26 Data storage systems, data storage devices, computer programs and data storage methods

Publications (2)

Publication Number Publication Date
JP2021105680A JP2021105680A (en) 2021-07-26
JP7384028B2 true JP7384028B2 (en) 2023-11-21

Family

ID=76919664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019237430A Active JP7384028B2 (en) 2019-12-26 2019-12-26 Data storage systems, data storage devices, computer programs and data storage methods

Country Status (1)

Country Link
JP (1) JP7384028B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007073003A (en) 2005-09-09 2007-03-22 Canon Inc Data integrity device and method and program recording medium thereof
JP2008098894A (en) 2006-10-11 2008-04-24 Kddi Corp System, method and program for managing information
JP2010092337A (en) 2008-10-09 2010-04-22 Tokyo Denki Univ Security level control network system
US20180157424A1 (en) 2015-06-26 2018-06-07 Intel Corporation Method and apparatus for dynamically allocating storage resources to compute nodes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007073003A (en) 2005-09-09 2007-03-22 Canon Inc Data integrity device and method and program recording medium thereof
JP2008098894A (en) 2006-10-11 2008-04-24 Kddi Corp System, method and program for managing information
JP2010092337A (en) 2008-10-09 2010-04-22 Tokyo Denki Univ Security level control network system
US20180157424A1 (en) 2015-06-26 2018-06-07 Intel Corporation Method and apparatus for dynamically allocating storage resources to compute nodes

Also Published As

Publication number Publication date
JP2021105680A (en) 2021-07-26

Similar Documents

Publication Publication Date Title
CN109756582B (en) Information recording method, device, node and storage medium in block chain network
JP7044881B2 (en) Distributed storage methods and equipment, computer equipment and storage media
US9336139B2 (en) Selecting a memory for storage of an encoded data slice in a dispersed storage network
US8914669B2 (en) Secure rebuilding of an encoded data slice in a dispersed storage network
US9088407B2 (en) Distributed storage network and method for storing and retrieving encryption keys
CN110460439A (en) Information transferring method, device, client, server-side and storage medium
US20140026017A1 (en) Memory selection for slice storage in a dispersed storage network
US20090063861A1 (en) Information security transmission system
US8958435B2 (en) Information management method and information processing device
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
JP6023853B1 (en) Authentication device, authentication system, authentication method, and program
JP4216914B2 (en) Network system
CN113556333A (en) Computer network data secure transmission method and device
JP7384028B2 (en) Data storage systems, data storage devices, computer programs and data storage methods
US9928370B2 (en) Communication device, communication method, computer program product, and communication system
WO2023226478A1 (en) Method and apparatus used for data transmission, router and internet of things device
Jung et al. PCS: a parity-based personal data recovery service in cloud
EP4095731A1 (en) Method and system of rescinding access to blockchain data
JP2015097345A (en) Information processing system, control program of information processing device, and control method of information processing system
US8572383B2 (en) Key exchange device, key exchange processing system, key exchange method, and program
JP2019061408A (en) Information processing apparatus and information processing program
JP6394995B2 (en) Image forming apparatus
JP7008120B1 (en) Information storage system, information processing device, and information storage method
CN113377420B (en) Inter-system data docking method, device, equipment and storage medium
JP7282717B2 (en) Application key management system, application key management device, application key management method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231010

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231023

R150 Certificate of patent or registration of utility model

Ref document number: 7384028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150