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 PDFInfo
- 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
Links
- 238000013500 data storage Methods 0.000 title claims description 80
- 238000000034 method Methods 0.000 title claims description 67
- 238000004590 computer program Methods 0.000 title claims description 6
- 238000003860 storage Methods 0.000 claims description 75
- 230000004044 response Effects 0.000 claims description 60
- 238000012790 confirmation Methods 0.000 claims description 45
- 238000012937 correction Methods 0.000 claims description 32
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000013480 data collection Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 137
- 238000004891 communication Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000010365 information processing Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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においては、電子データの取引に関するデータの秘匿性及び取引の公平性を向上することを目的に、ブロックチェーンの技術を利用して取引データを記憶する電子取引装置が提案されている。この電子取引装置は、電子データの送信側の端末と受信側の端末との間で、この電子データの正当性を検証する。
ブロックチェーンを記憶するコンピュータは、ハッシュ値の算出等の演算処理を実行する必要があるため、高い演算能力が要求される。またブロックチェーンに対して新たなブロックが刻々と連結されていくため、コンピュータにはこれらを十分に記憶できる容量の記憶装置が必要である。 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.
本発明の実施形態に係る特典管理システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。 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
本実施の形態に係るデータ記憶システムでは、記憶対象となるデータは複数に分割され、このシステムに含まれる複数のノード装置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
分割データ1~3を受信したノード装置1b~1dは、受信した分割データ1~3を更に分割する。本例において各ノード装置1b~1dは、受信した分割データ1~3を2つに分割し、再分割された新たな分割データを他のノード装置1へ送信する。例えばノード装置1bはノード装置1e及び1fへ分割データを送信し、ノード装置1cはノード装置1g及び1hへ分割データを送信し、ノード装置1dはノード装置1i及び1jへ分割データを送信する。
The
本例では、最分割された分割データを受信したノード装置1e~1jでは、これ以上の分割を行わないとの判断がなされたものとする。各ノード装置1e~1jは、受信した分割データを自身の記憶部に記憶する。これにより、ノード装置1aにて生成された元データは最終的に6つに分割され、分割された6つのデータは6つのノード装置1e~1jの記憶部に記憶されることとなる。各ノード装置1e~1jが記憶するデータは、それぞれ異なるデータである。元のデータが必要となった場合、ノード装置1aは、6つのノード装置1e~1jから分割されたデータを収集して復元する。なお、データの分割及び復元等の処理の詳細については、後述する。
In this example, it is assumed that the
また本実施の形態においては、データを分割して他のノード装置1へ送信したノード装置1a~1dは、分割したデータ又はその元となるデータを記憶しないものとする。ただし、ノード装置1a~1dが他のノード装置1へ送信したデータを記憶しておいてもよい。これにより、同一のデータが複数のノード装置1にて記憶されることとなり、分割されたデータを記憶したノード装置1の故障等によるデータの欠損に対する耐性を高めることができる。
Further, in this embodiment, it is assumed that the
図2は、本実施の形態に係るノード装置1の構成を示すブロック図である。本実施の形態に係るデータ記憶システムを構成するノード装置1には、例えばパーソナルコンピュータ又はサーバコンピュータ等の高機能な情報処理装置から、センサ装置又はアクチュエータ装置等のいわゆるIOT(Internet of Things)デバイスと呼ばれる低機能な情報処理装置まで、様々な情報処理装置を用いることができる。本実施の形態に係るノード装置1は、データを記憶する機能、他の装置と通信する機能、及び、データ分割に必要な演算を行う機能を備えるものであれば、どのような装置であってもよい。
FIG. 2 is a block diagram showing the configuration of the
本実施の形態に係るノード装置1は、処理部(プロセッサ)11、記憶部(ストレージ)12及び通信部(トランシーバ)13等を備えて構成されている。処理部11は、CPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成されている。処理部11は、記憶部12に記憶されたプログラム12aを読み出して実行することにより、データの分割処理及び復元処理等のデータの記憶に関する種々の処理を行う。
The
記憶部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
本実施の形態においてプログラム12aは、メモリカード又は光ディスク等の記録媒体99に記録された態様で提供され、ノード装置1は記録媒体99からプログラム12aを読み出して記憶部12に記憶する。ただし、プログラム12aは、例えばノード装置1の製造段階において記憶部12に書き込まれてもよい。また例えばプログラム12aは、遠隔のサーバ装置等が配信するものをノード装置1が通信にて取得して記憶部12に記憶してもよい。例えばプログラム12aは、記録媒体99に記録されたものを書込装置が読み出してノード装置1の記憶部12に書き込んでもよい。プログラム12aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体99に記録された態様で提供されてもよい。
In this embodiment, the
暗号鍵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
送信先テーブル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
分割データ記憶部12dは、他のノード装置1から受信した分割データを記憶するための記憶領域である。ただし、記憶部12に分割データを記憶するための専用の領域が設けられる必要はなく、記憶部12の空き領域が分割データ記憶部12dとして利用されればよい。
The divided
通信部13は、インターネット、無線LAN及び携帯電話通信網等を含むネットワークNを介して、他のノード装置1との通信を行う。通信部13は、処理部11から与えられたデータを他のノード装置1へ送信すると共に、他のノード装置1から受信したデータを処理部11へ与える。
The
なお記憶部12は、ノード装置1に接続された外部記憶装置であってよい。またノード装置1は、複数のコンピュータを含んで構成されるマルチコンピュータであってよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。またノード装置1は、上記の構成に限定されず、例えば可搬型の記憶媒体に記憶された情報を読み取る読取部、操作入力を受け付ける入力部、又は、画像を表示する表示部等を含んでもよい。
Note that the
また本実施の形態に係るノード装置1の処理部11には、記憶部12に記憶されたプログラム12aを処理部11が読み出して実行することにより、データ分割処理部11a、データ復元処理部11b及び応答処理部11c等がソフトウェア的な機能部として実現される。なおこれらの機能部は、データの分割、記憶及び復元等の処理に関する機能部であり、これら以外の処理に関する機能部については図示及び説明を省略する。
Furthermore, the
データ分割処理部11aは、自装置にて生成された記憶対象となる元データ、又は、他のノード装置1から受信したデータを分割する処理を行う。データ分割処理部11aは、分割した複数のデータに対して様々な付帯情報を付したものを他のノード装置1へ送信する。
The data
データ復元処理部11bは、複数の他のノード装置1に記憶された分割データを元のデータに復元する処理を行う。データ復元処理部11bは、まずデータ記憶システムに含まれる他のノード装置1に対して問い合わせを行うことにより、分割されたデータがいずれのノード装置1に記憶されているかを調べる。データ復元処理部11bは、分割データを記憶しているノード装置1から分割データを取得して結合することにより、元のデータへの復元を行う。
The data
応答処理部11cは、他のノード装置1から分割データを記憶しているか否かの問い合わせを受信した場合に、この問い合わせに対する応答を送信する処理を行う。応答処理部11cは、問い合わせに係る分割データを記憶部22の分割データ記憶部12dに記憶しているか否かを判定し、分割データを記憶していると判定した場合に、問い合わせ元のノード装置1へ分割データを記憶している旨の応答を送信する。本実施の形態において応答処理部11cは、分割データを記憶していない旨の応答を、問い合わせ元のノード装置1へ送信しない。
When the
<データ分割処理>
図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
またノード装置1は、記憶部12に記憶された暗号鍵12bを用いて、元データに対する暗号化を行う。ノード装置1が行う暗号化のアルゴリズムは、例えば共通鍵を用いるDES(Data Encryption Standard)若しくはAES(Advanced Encryption Standard)、又は、公開鍵を用いるRSA若しくは楕円曲線暗号等の種々のものが採用され得る。なお上述のように、元データ発行者となる可能性がないノード装置1は、暗号化及び復号の処理を行う機能を備えていなくてよい。
Further, the
元データの暗号化を行った後、ノード装置1は、元データを複数のデータに分割する処理を行う。図示の例では、ノード装置1は元データを「データ1」、「データ2」及び「データ3」の3つに分割している。なお本例ではデータを3つに分割しているが、これに限るものではなく、データの分割数は2つ以下又は4つ以上であってよい。ノード装置1によるデータの分割数は、予め定められた固定数であってよく、又は、通信状況等に応じて可変としてもよい。データ分割数を可変とする場合、ノード装置1は、データを分割する前に、データの分割数を決定する処理を行う。データの分割数を固定又は可変のいずれとするかは、データ記憶システムのノード装置1毎に異なっていてよい。
After encrypting the original data, the
データの分割数を可変とした場合の分割数の決定方法の一例を説明する。ただしデータの分割数の決定方法はこれに限るものではなく、どのような方法が採用されてもよい。例えば、本実施の形態においては、データの分割数の最大が例えば「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
データの分割数を固定数とする場合には、分割したデータの送信先に適した他のノード装置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
また図示の例では、ノード装置1は、暗号化した元データを先頭から順に所定サイズに分割し、データ1~3の3つの分割データとしている。この場合にノード装置1は、データの分割数を決定した後、分割対象のデータのサイズを分割数で割り算することで分割後の各データのサイズを決定し、分割対象のデータの先頭から決定したサイズ毎にデータを区切ることで、データを分割する。ただしノード装置1によるデータの分割方法は、どのような方法が採用されてもよい。例えばノード装置1は、分割対象のデータを2つに分割する場合に偶数ビットと奇数ビットとに分割してもよい。
Further, in the illustrated example, the
次いでノード装置1は、分割した複数のデータに対して、これを元のデータに復元するための復元用情報を生成する。復元用情報には、例えば分割データが最初の元データから何回目の分割によって生成されたものであるかを示す情報と、分割データが分割直前のデータのいずれの部分に相当するものであるかを示す情報とが含まれる。図示の例では、分割データが分割直前のデータのいずれの部分に相当するものであるかを分数表記の情報で示している。即ち、データ1の復元用情報=1/3は、分割直前のデータを3分割したものであることを分数表記の分母にて示し、3分割の先頭から1番目の部分に相当するものであること分数表記の分子にて示している。また、図4にて後述するが、分割データが最初の元データから何回目の分割によって生成されたものであるかを、本例では上記の分数表記を連ねることで示す。例えば図3のデータ1が更に2分割された場合、この分割データの復元用情報は1/3、1/2のように表される。
Next, the
ノード装置1は、分割した各データに対して、共通のデータIDと、個別の復元用情報とを例えばヘッダ情報として付与する。更にノード装置1は、このデータID、復元用情報及び分割したデータに対し、これらの誤りを訂正するための誤り訂正符号を付与する処理を行う。ノード装置1による誤り訂正符号の生成方法は、例えばハミング符号、巡回符号又は畳み込み符号等の種々の符号生成方法が採用され得る。誤り訂正符号の生成方法は、既存の技術であるため、詳細な説明を省略する。なお本実施の形態においては、データID、復元用情報及び分割データを誤り訂正の対象とするが、これに限るものではなく、少なくとも分割データが誤り訂正の対象であればよい。
The
ノード装置1は、上述の手順で元データを複数のデータに分割し、各分割データにデータID、復元用情報及び誤り訂正符号を付したものを、それぞれ異なる他のノード装置1へ送信する。データの送信完了後、ノード装置1は、元データ及び分割データ等を自身のレジスタ、メモリ及び記憶部12等から消去してもよい。ノード装置1が送信したデータは複数の他のノード装置1にて受信され、他のノード装置1においてデータの再分割又は記憶が行われる。
The
図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
本実施の形態においては、受信データに含まれる分割データ(受信データからデータ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
再分割を行うことを決定したノード装置1は、受信データに含まれるデータID及び復元用情報を除いた分割データ及び誤り訂正符号の部分を、再分割の対象となる元データとみなす。ノード装置1は、この元データに対し、上述と同様の手順でデータの分割、復元用情報の生成、データID及び復元用情報の付与、並びに、誤り訂正符号の付与を行う。ここでノード装置1は、分割後の各データに対し、受信データに付されていたデータIDと同じデータIDを付与する。またノード装置1は、受信データに付されていた復元用情報に対し、今回の分割に関する情報を追加することによって、新たな復元用情報を生成する。
The
図示の例では、ノード装置1は元データを「データ1-1」及び「データ1-2」の2つに分割している。各分割データに付されるIDは、受信データと同じID=XYZである。各分割データに付される復元用情報は、受信データに付されていた復元用情報=1/3に対し、今回の分割に関する1/2又は2/2の情報が追加されたものとなる。ノード装置1は、データID、新たな復元用情報及び新たな分割データに対する誤りを訂正する誤り訂正符号を生成してこれらに付し、他のノード装置1へそれぞれ送信する。
In the illustrated example, the
このように、分割されたデータはネットワークを伝播して各ノード装置1での再分割が行われ、最終的に分割された複数のデータが分割終了条件を満たすと判定した複数のノード装置1にて記憶される。
In this way, the divided data is propagated through the network and re-divided by each
<データ復元処理>
図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
本実施の形態において、データ記憶システムに含まれる複数のノード装置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
確認要求メッセージを受信したノード装置1は、確認要求メッセージにて指定されたデータIDのデータを記憶しているか否かを判定し、記憶していると判定した場合には、確認要求メッセージの送信元のノード装置1に対して、指定されたデータを記憶している旨を通知する応答メッセージを送信する。応答メッセージには、指定されたデータIDのデータに付された復元用情報と、ネットワークにおける自装置の位置を示すアドレス情報とが含まれる。例えば応答メッセージは、確認要求メッセージに対する応答である旨を示す情報と、上記の復元用情報及びアドレス情報とを含むメッセージである。
The
また、確認要求メッセージを受信したノード装置1は、この確認要求メッセージを更に別のノード装置1へ転送する。これにより、1つのノード装置1からいくつかのノード装置1へ送信された確認要求メッセージは、これを受信したノード装置1にて転送が行われ、データ記憶システムに含まれるより多くのノード装置1へと伝達される。転送の繰り返しにより確認要求メッセージは、分割データを記憶しているノード装置1にて受信される。分割データを記憶しているノード装置1は、確認要求メッセージの受信に応じて、復元用情報及びアドレス情報を含む応答メッセージを送信する。
Further, the
図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
本実施の形態に係るデータ記憶システムでは、分割したデータに対して誤り訂正符号を付与している。このため、元データを分割した複数の分割データのうちのいくつかが欠損し、全ての分割データが揃わない場合であっても、ある程度の分割データが揃えば元データへ復元することができる。確認要求メッセージを送信したノード装置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
どの程度の数の分割データが揃えば元データへの復元が可能であるかは、誤り訂正符号のビット長及びアルゴリズム等に依存する。ノード装置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
データの復元処理を依頼されたデータ復元装置2は、ノード装置1からの復元用情報に基づいて、その時点で所在が判明している分割データを用いて元データの復元が可能であるか否かを判定する。データ復元装置2は、ノード装置1から得た複数の復元用情報を調べ、分割の最終段階で分割されたデータがどの程度揃っているかを調べることによって、この最終段階での分割データを1つ前の段階の分割データに復元できるかを判定する。次いでデータ復元装置2は、1つ前の段階に復元できると判定した分割データに関する復元用情報を調べ、この段階で分割されたデータがどの程度揃っているかを調べることによって、この段階での分割データを1つ前の段階の分割データに復元できるかを判定する。データ復元装置2は、最終段から順に遡って復元の可否を判定し、最終的に元のデータへの復元が可能であるかを判定する。元データへの復元が不可能であると判定した場合、データ復元装置2は、ノード装置1から追加の情報を受信するまで待機する。
The
元データへの復元が可能であると判定した場合、データ復元装置2は、復元用情報と共に与えられたアドレス情報に基づいて、分割データを記憶しているノード装置1に対してこの分割データの送信を要求する。このときにデータ復元装置2は、データIDを指定した分割データの送信要求メッセージをノード装置1へ送信する。この送信要求メッセージは、データ復元装置2から各ノード装置1へ直接的に送信されてもよく、他のノード装置1を介して間接的に送信されてもよい。
If it is determined that restoration to the original data is possible, the
分割データを記憶しているノード装置1は、データ復元装置2から送信要求メッセージを受信し、受信した送信要求メッセージにて指定されたデータIDの分割データを記憶部12の分割データ記憶部12dから読み出し、要求元のデータ復元装置2へ送信する。図6に示す例では、6つのノード装置1e~1jからデータ復元装置2へ分割データが送信されている。この分割データは、各ノード装置1e~1jからデータ復元装置2へ直接的に送信されてもよく、他のノード装置1を介して間接的に送信されてもよい。
The
複数のノード装置1から分割データを受信したデータ復元装置2は、復元用情報に基づいて分割データを元のデータに復元する。データの復元は、上述の復元の可否の判定と同様に、最終段階の分割データからその1つ前の分割データへ順に復元を行っていき、最終的に元の1つのデータへ復元することで行われる。各段階の復元においてデータ復元装置2は、複数の分割データを復元用情報に示された順番で結合し、必要に応じて誤り訂正符号を利用した誤り訂正を行うことで、分割前のデータへ復元する。データ復元装置2は、最終的に復元された1つの元データを、復元を依頼したノード装置1へ送信する。
The
データ復元装置2からノード装置1へ送信される復元された元データは、暗号化された状態の元データである。データ復元装置2から復元された元データを受信したノード装置1は、記憶部12に記憶した暗号鍵12bを用いて元データの復号処理を行う。これによりノード装置1は、暗号化されていない元データを得ることができる。
The restored original data sent from the
図7は、本実施の形態に係るデータ復元装置2の構成を示すブロック図である。本実施の形態に係るデータ復元装置2は、処理部(プロセッサ)21、記憶部(ストレージ)22及び通信部(トランシーバ)23等を備えて構成されている。処理部21は、CPU又はMPU等の演算処理装置を用いて構成されている。処理部21は、記憶部22に記憶されたプログラム22aを読み出して実行することにより、データの復元に関する種々の処理を行う。
FIG. 7 is a block diagram showing the configuration of the
記憶部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
通信部23は、インターネット、無線LAN及び携帯電話通信網等を含むネットワークNを介して、ノード装置1との通信を行う。通信部23は、処理部21から与えられたデータをノード装置1へ送信すると共に、ノード装置1から受信したデータを処理部21へ与える。
The
なお記憶部22は、データ復元装置2に接続された外部記憶装置であってよい。またデータ復元装置2は、複数のコンピュータを含んで構成されるマルチコンピュータであってよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。またデータ復元装置2は、上記の構成に限定されず、例えば可搬型の記憶媒体に記憶された情報を読み取る読取部、操作入力を受け付ける入力部、又は、画像を表示する表示部等を含んでもよい。
Note that the
また本実施の形態に係るデータ復元装置2の処理部21には、記憶部22に記憶されたプログラム22aを処理部21が読み出して実行することにより、データ復元処理部21a等がソフトウェア的な機能部として実現される。データ復元処理部21aは、ノード装置1からの依頼に応じて、複数のノード装置1に分散して記憶された分割データを収集し、収集した複数の分割データを元のデータへ復元する処理を行う。
In addition, the
<フローチャート>
図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
データ分割処理部11aは、ステップS1の検索結果に基づいて、元データの分割数を決定する(ステップS2)。データ分割処理部11aは、元データを一意に識別するデータIDを生成する(ステップS3)。例えばデータ分割処理部11aは、予め自装置に対して定められた装置IDと、その時点の日時情報とを組み合わせることによって、データIDを生成する。データ分割処理部11aは、記憶部12に予め記憶された暗号鍵12bを用いて、元データを暗号化する(ステップS4)。
The data
データ分割処理部11aは、ステップS4にて暗号化された元データを、ステップS2にて決定された分割数となるように分割する(ステップS5)。データ分割処理部11aは、分割した各分割データに対して、復元用情報をそれぞれ生成する(ステップS6)。データ分割処理部11aは、ステップS5にて分割した分割データに対して、ステップS3にて生成した共通のデータIDと、ステップS6にて生成した個別の復元用情報とをそれぞれ付与する(ステップS7)。
The data
データ分割処理部11aは、分割データ、データID及び復元用情報に対し、これらの情報の誤りを訂正する誤り訂正符号をそれぞれ付与する(ステップS8)。データ分割処理部11aは、データID、復元用情報及び誤り訂正符号がそれぞれ付与された複数の分割データを、異なる複数のノード装置1へ送信し(ステップS9)、処理を終了する。
The data
図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
他のノード装置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
分割条件を満たさない場合(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
データ分割処理部11aは、分割データ、データID及び復元用情報に対し、これらの情報の誤りを訂正する誤り訂正符号をそれぞれ付与する(ステップS29)。データ分割処理部11aは、データID、復元用情報及び誤り訂正符号がそれぞれ付与された複数の分割データを、異なる複数のノード装置1へ送信し(ステップS30)、処理を終了する。
The data
図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
データ復元処理部11bは、確認要求メッセージに対する応答メッセージを受信したか否かを判定する(ステップS42)。応答メッセージを受信していない場合(S42:NO)、データ復元処理部11bは、応答メッセージを受信するまで待機する。応答メッセージを受信した場合(S42:YES)、データ復元処理部11bは、受信した応答メッセージに含まれる復元用情報及びノード装置1のアドレス情報を記憶部12に記憶する(ステップS43)。データ復元処理部11bは、これまでの受信した応答メッセージにより所在が判明した分割データのデータ数が予め定められた閾値を超えたか否かを判定する(ステップS44)。データ数が閾値を超えていない場合(S44:NO)、データ復元処理部11bは、ステップS42へ処理を戻し、応答メッセージの受信を継続して行う。
The data
データ数が閾値を超えた場合(S44:YES)、データ復元処理部11bは、これまでに受信して記憶した復元用情報及びアドレス情報を、通信部13にてデータ復元装置2へ送信する(ステップS45)。なお本フローチャートにおいて図示は省略するが、データ復元処理部11bは、ステップS45の情報送信の後で新たな応答メッセージを受信した場合、この応答メッセージに含まれる復元用情報及びアドレス情報を追加でデータ復元装置2へ送信する。
If the number of data exceeds the threshold (S44: YES), the data
データ復元処理部11bは、データ復元装置2から復元された元データを受信したか否かを判定する(ステップS46)。元データを受信していない場合(S46:NO)、データ復元処理部11bは、データ復元装置2から元データを受信するまで待機する。元データを受信した場合(S46:YES)、データ復元処理部11bは、受信した元データに対し、記憶部12に記憶された暗号鍵12bを用いた復号処理を行い(ステップS47)、データ復元処理を終了する。
The data
図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
応答処理部11cは、確認要求メッセージに含まれるデータIDが付された分割データを、記憶部12の分割データ記憶部12dに記憶しているか否かを判定する(ステップS63)。分割データを記憶している場合(S63:YES)、応答処理部11cは、この分割データに係る復元用情報と、自身のアドレス情報とを含む応答メッセージを、確認要求メッセージの送信元のノード装置1へ送信し(ステップS64)、処理を終了する。分割データを記憶していない場合(S63:NO)、応答処理部11cは、応答メッセージを送信せずに、処理を終了する。
The
図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
元データへの復元が可能であると判定した場合(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
<まとめ>
以上の構成の本実施の形態に係るデータ記憶システムでは、ネットワーク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
分割されたデータを受信する受信側のノード装置1は、受信したデータについて予め定められた分割終了条件を満たすか否かを判定し、分割終了条件を満たす場合には受信したデータを記憶部12の分割データ記憶部12dに記憶する。分割終了条件を満たさない場合、ノード装置1は、受信したデータを更に分割すると共に復元用情報を生成し、分割したデータに復元用情報と元のデータと同じデータIDとを付してそれぞれ異なる他のノード装置1へ送信する。
The receiving
これらにより本実施の形態に係るデータ記憶システムでは、データの分割及び送信が繰り返し行われ、分割終了条件を満たすと判定したノード装置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
また本実施の形態に係るデータ記憶システムでは、データ生成元のノード装置1が記憶対象となる元データを暗号化し、暗号化したデータを分割して他のノード装置1へ送信する。分割されたデータを受信するノード装置1は、暗号化済みの分割データに対して更なる暗号化を行わなくてよい。データを暗号化して分割することにより、元データの秘匿性を高めることができる。
Further, in the data storage system according to this embodiment, the
また本実施の形態に係るデータ記憶システムでは、各ノード装置1は分割したデータについてそれぞれ誤り訂正符号を付与して他のノード装置1へ送信する。これにより、分割されたデータを受信したノード装置1は、誤り訂正符号に基づいて送受信の際に生じたデータの誤りを訂正して記憶することができる。また分割されたデータを復元する際には、複数の分割データのいくつかが欠損した場合であっても、誤り訂正符号に基づいて欠損部分を訂正し、元のデータに復元することができる。
Furthermore, in the data storage system according to the present embodiment, each
また本実施の形態に係るデータ記憶システムでは、分割されたデータを復元するノード装置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
また本実施の形態に係るデータ記憶システムでは、データ復元装置2は、分割されたデータを記憶しているノード装置1からの応答メッセージに含まれるアドレス情報に基づいて、分割されたデータを収集し、収集した複数の分割データを復元用情報に基づいて元のデータに復元する。これによりデータ復元装置2は複数のノード装置1に分散して記憶されたデータを取得して復元することができ、元のデータを必要とするノード装置1はデータ復元装置2にて復元されたデータを利用することができる。
Furthermore, in the data storage system according to the present embodiment, the
また本実施の形態に係るデータ記憶システムでは、分割されたデータを記憶しているノード装置1は、確認要求メッセージの受信に応じて、自装置にアクセスするためのアドレス情報と、分割データの復元用情報とを応答メッセージに含めて、確認要求メッセージの送信元のノード装置1へ送信する。これにより、データ復元装置2は、アドレス情報に基づいて分割データを記憶したノード装置1との通信を行い、このノード装置1から分割データを取得することができる。またデータ復元装置2は、復元用情報に基づいて、収集したデータを元のデータに復元することができる。
In addition, in the data storage system according to the present embodiment, the
なお本実施の形態においては、ノード装置1が元データを複数のデータに分割する場合に、元データを均等なサイズに分割する例を示したが、これに限るものではなく、分割された複数のデータはそれぞれデータサイズが異なっていてもよい。例えばノード装置1は、分割したデータの送信先となるノード装置1の性能等に応じて、分割データのサイズを決定することができる。またノード装置1は、元データを複数のデータに分割する場合に、データの一部が重複するように分割を行ってもよい。例えばノード装置1は、元データを2分割する場合、元データの先頭側の2/3のデータと、末尾側の2/3のデータとに分割してもよく、2つの分割データに重複部分が含まれていてもよい。
In this embodiment, when the
また本実施の形態においては、データ生成元のノード装置1がデータの暗号化を行い、これ以降のノード装置1はデータの暗号化を行わないものとしたが、これに限るものではない。分割データを受信したノード装置1は、再分割を行う前にこのデータを暗号化してもよい。ただしこの場合、分割データを元のデータに復元するためには、データ分割の際に複数のノード装置1を経たデータの伝達経路を逆に辿って、データの復元及び復号を順番に行う必要がある。
Further, in this embodiment, the
また本実施の形態においては、分割終了条件が成立すると判定したノード装置1がデータを記憶するものとしたが、これに限るものではない。例えば各ノード装置1は、分割終了条件が成立しないと判定してデータの分割及び送信を行う場合であっても、分割前のデータを記憶しておいてよい。これにより、複数のノード装置1がデータを重複して記憶することができるため、分割データを記憶したノード装置1の故障等が発生した場合であっても、元データの復元の可能性を高めることができる。
Further, in the present embodiment, the
また本実施の形態において図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
また本実施の形態においては、データ生成元のノード装置1が確認要求メッセージを送信する構成であるが、これに限るものではない。確認要求メッセージの送信をデータ復元装置2が行ってもよい。この場合、データ生成元のノード装置1からデータ復元装置2へはデータIDを指定した復元の依頼を行う。またこの場合も、確認要求メッセージを受信したノード装置1は、応答メッセージに復元用情報と分割データとを含めてデータ復元装置2へ送信してよい。
Furthermore, in this embodiment, the configuration is such that the
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。 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
11b Data
12
12b Encryption key 12c Destination table 12d Divided
22
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乃至請求項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.
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)
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 |
-
2019
- 2019-12-26 JP JP2019237430A patent/JP7384028B2/en active Active
Patent Citations (4)
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 |