JP2007265314A - Distributed storage system and distributed storage program - Google Patents
Distributed storage system and distributed storage program Download PDFInfo
- Publication number
- JP2007265314A JP2007265314A JP2006092704A JP2006092704A JP2007265314A JP 2007265314 A JP2007265314 A JP 2007265314A JP 2006092704 A JP2006092704 A JP 2006092704A JP 2006092704 A JP2006092704 A JP 2006092704A JP 2007265314 A JP2007265314 A JP 2007265314A
- Authority
- JP
- Japan
- Prior art keywords
- file
- distributed
- encoded
- original file
- disk
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、分散ストレージシステム及び分散ストレージプログラムに関する。 The present invention relates to a distributed storage system and a distributed storage program.
図14に、従来の専用ストレージシステムの代表的な構成であるSAN(Storage Area Network)の構成図を示す。SANは、データを保管する専用ストレージデバイス1401、ファイルサーバ1403、ユーザ端末1405、専用ストレージデバイス1401とファイルサーバ1403とを高速に接続するFC SW(FibreChannel Switch)1402、及びファイルサーバ1403とユーザ端末1405を接続するインターネット1404から構成される。ユーザが、ユーザ端末1405からファイルサーバ1403に対して、ファイルの読出し又は書込み等の依頼を行うと、自動的に専用ストレージデバイス1401に読出し又は書込み等の処理が行なわれる。
FIG. 14 shows a configuration diagram of a SAN (Storage Area Network) which is a typical configuration of a conventional dedicated storage system. The SAN includes a
図15に特開2003−348065号公報に示されるデータ分散保管システムの構成を示す。前記データ分散保管システムは、複数の分散保管サーバ1501、ユーザーパソコン1503、及び複数の分散保管サーバ1501とユーザーパソコン1503とを接続するインターネット1502から構成される。
FIG. 15 shows a configuration of a data distributed storage system disclosed in Japanese Patent Application Laid-Open No. 2003-348065. The data distributed storage system includes a plurality of
次に、図16のフローチャートを用いて、図15のデータ分散保管システムにおけるデータ保管の処理の流れを説明する。ユーザーパソコン1503は、ユーザからデータ保管の依頼を受け付けると、保管対象の元データファイルを暗号化し、誤り訂正符号化し、五つの冗長化ファイルを生成する(ステップS1601)。次に、暗号鍵をシェア鍵に符号化する(ステップS1602)。次に、冗長化ファイルとシェア鍵を五つの分散保管ペアとして、インターネットを介して五つの分散保管サーバへ送信する(ステップS1603)。
Next, the flow of data storage processing in the data distributed storage system of FIG. 15 will be described using the flowchart of FIG. Upon receiving a data storage request from the user, the user
次に、図17のフローチャートを用いて、図15のデータ分散保管システムにおけるデータ再生の処理の流れを説明する。ユーザーパソコン1503は、ユーザからデータ再生の依頼を受け付けると、インターネットを介して分散保管サーバにアクセスして冗長化ファイルとシェア鍵のペアを取得する(ステップS1701)。なお、2個のシェア鍵があれば、暗号鍵を復元でき、3つの冗長化ファイルがあれば、誤り訂正復号により暗号化ファイルを得ることができる。次に、誤り訂正復号により暗号化ファイルを復元する(ステップS1702)。次に、暗号化ファイルを暗号鍵で復号して、元データファイルを得る(ステップS1703)。
従来の専用ストレージシステムの代表的な構成であるSANでは、専用ストレージデバイスが非常に高価であること、専用ストレージデバイスに負荷が集中すること、データが分散されていないため災害時に専用ストレージデバイスが破損した場合、保管したデータを全て紛失する可能性があること、等の問題点があった。 In SAN, which is a typical configuration of a conventional dedicated storage system, the dedicated storage device is very expensive, the load is concentrated on the dedicated storage device, and the data is not distributed, so the dedicated storage device is damaged during a disaster. In such a case, there is a problem that all stored data may be lost.
また、特開2003−348065号公報に示されるデータ分散保管システムでは、ユーザーパソコンが全ての処理を行うため、ユーザーパソコンに負荷が集中すること、分散保管サーバが故障するなどした場合に保管したデータの復元手段がなく、予め想定した個数以上の分散保管サーバが破損した場合には、保管したデータを復号できなくなること等の問題点があった。また、前述のようなデータ分散保管システムでは、ファイル管理をユーザーパソコンにおいて行っており、管理情報の安全性に問題があった。また、複数のユーザーパソコンから分散保管サーバを使用する場合に、あるデータの保管を依頼したユーザーパソコンとは異なるユーザーパソコンから、同じデータの再生を依頼するなどの柔軟性に欠けていた。 Further, in the data distributed storage system disclosed in Japanese Patent Application Laid-Open No. 2003-348065, the data stored when the load is concentrated on the user personal computer or the distributed storage server fails because the user personal computer performs all processing. However, there is a problem that stored data cannot be decrypted when the number of distributed storage servers more than a predetermined number is damaged. Further, in the data distributed storage system as described above, file management is performed on the user personal computer, and there is a problem in the safety of management information. In addition, when using a distributed storage server from a plurality of user computers, there was a lack of flexibility such as requesting the reproduction of the same data from a user computer different from the user computer that requested the storage of certain data.
本発明は、前述のような問題点を解決するためのものであり、消失訂正符号化技術を用いた分散ストレージシステムにおいて、ユーザからファイルの保管依頼及び読込み依頼を受け付けて、実際の保管処理及び読込み処理を行うコンピュータであるスーパーノードにおいて、分散保管の対象となる元ファイル、元ファイルを分割して符号化した符号化ファイル、及び符号化ファイルを保管する分散ディスク等に係る名称、IDなどの管理情報を、保管処理中及び読込み処理中以外は、記憶しないようにして、情報秘匿性の高い分散ストレージシステムを得ること、また、複数の分散ディスクの内、任意の1台が故障又は非正常稼動となった場合に、該当の分散ディスク上に保管されていた符号化ファイル全てを、修理又は交換後の分散ディスク上に復元できるようにして、信頼性・保守性の高い分散ストレージシステムを得ること、などにより、情報隠匿性・信頼性・保守性などの面で、より安全性の高い分散ストレージシステムを得ることが目的である。 The present invention is for solving the above-described problems, and in a distributed storage system using erasure correction coding technology, a file storage request and a read request are received from a user, and an actual storage process and In a super node that is a computer that performs read processing, an original file to be distributed and stored, an encoded file obtained by dividing and encoding the original file, a name, an ID, and the like related to a distributed disk that stores the encoded file, etc. Management information is not stored except during storage processing and reading processing to obtain a distributed storage system with high information confidentiality, and any one of a plurality of distributed disks has failed or is abnormal. In the case of operation, all the encoded files stored on the corresponding distributed disk are all repaired or replaced on the distributed disk. To obtain a distributed storage system with higher security in terms of information concealment, reliability, maintainability, etc. Is the purpose.
本発明に係る分散ストレージシステムは、
複数の分散ディスク及びひとつ又は複数のユーザ端末にネットワークを介して接続され、ファイルの保管依頼及び読込み依頼を受け付けるスーパーノードを有する分散ストレージシステムであり、
前記スーパーノードは、
前記ユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成し、前記符号化ファイル名を、前記元ファイルとの対応を特定するための文字列を含んだ名称とする分割符号化部と、
前記複数の符号化ファイル各々を、異なる複数の分散ディスクに保管依頼する配信部と、
前記複数の符号化ファイルを分散ディスクの保管後、前記元ファイル、前記複数の符号化ファイル、前記元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報を削除するファイル管理部と、
前記ユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、分散ディスクに対して、前記元ファイルから生成された符号化ファイルを保管しているかどうかの確認を行い、前記元ファイルと符号化ファイル名とを比べることにより、保管を確認できた前記分散ディスクから所定の個数の前記符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生部と
を備えた事を特徴とする。
The distributed storage system according to the present invention includes:
A distributed storage system having a super node connected to a plurality of distributed disks and one or a plurality of user terminals via a network and receiving a file storage request and a read request,
The super node is
When receiving the original file to be distributed and the storage request for the original file from the user terminal, a plurality of encoded files obtained by dividing and encoding the original file are generated, and the encoded file names A division encoding unit having a name including a character string for specifying the correspondence with the original file,
A distribution unit that requests storage of each of the plurality of encoded files on a plurality of different distributed disks;
After the plurality of encoded files are stored on a distributed disk, the original file, the plurality of encoded files, information that can specify the original file or the plurality of encoded files, and the plurality of encoded files are stored. A file management unit that deletes information that can identify a plurality of distributed files,
When receiving the original file name and the read request of the original file from the user terminal, it is confirmed whether or not the encoded file generated from the original file is stored in the distributed disk, A reproduction unit that reproduces the original file by obtaining and decoding a predetermined number of the encoded files from the distributed disk whose storage has been confirmed by comparing the file and the encoded file name; It is characterized by that.
前記分散ストレージシステムは、さらに前記スーパーノードとネットワークを介して接続された管理端末を有し、
前記ファイル管理部は、さらに、元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成して、前記管理端末に送信し、送信完了した前記ファイル管理情報を削除し、
前記管理端末は、
前記ファイル管理部から受信した前記ファイル管理情報を保管するファイル管理情報記憶部と、
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶部に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元部と
を備えたことを特徴とする。
The distributed storage system further includes a management terminal connected to the super node via a network,
The file management unit further generates file management information indicating correspondence between the original file, the encoded file, and the distributed disk, transmits the file management information to the management terminal, deletes the file management information that has been transmitted,
The management terminal
A file management information storage unit for storing the file management information received from the file management unit;
Based on the request for restoration of any distributed disk, the encoded file stored in the distributed disk and the original file corresponding to the encoded file are obtained from the file management information stored in the file management information storage unit. Identifying and obtaining other encoded files stored on a distributed disk other than the distributed disk necessary for decoding the original file, decoding the original file from the other encoded files, A distributed disk restoration unit that regenerates the encoded file by dividing and encoding the decoded original file, and requests the storage of the regenerated encoded file in the distributed disk; It is characterized by that.
前記管理端末は、さらに、
複数の分散ディスクに対して正常稼動しているかどうかの確認を行い、正常稼動を確認できなかった分散ディスクについてはアラームを出力し、その後、前記正常稼動を確認できなかった分散ディスクから正常稼動の通知を受信した場合、前記分散ディスク復元部に前記正常稼動を確認できなかった分散ディスクの復元を指示する分散ディスク状態確認部
を備えたことを特徴とする。
The management terminal further includes:
Checks whether multiple distributed disks are operating normally, outputs an alarm for distributed disks that could not be confirmed to operate normally, and then started normal operation from the distributed disks that could not be confirmed to operate normally. When the notification is received, the distributed disk restoration unit includes a distributed disk state confirmation unit that instructs the distributed disk restoration unit to restore the distributed disk whose normal operation could not be confirmed.
前記分散ストレージシステムは、さらに複数の前記スーパーノードと、前記複数のスーパーノードとネットワークを介して接続されたユーザ端末とを有し、
前記ユーザ端末は、
複数の前記スーパーノードから、正常稼動中の任意のひとつのスーパーノードを選択して、ファイルの保管依頼及び読込み依頼を行うこと
を特徴とする。
The distributed storage system further includes a plurality of the super nodes and user terminals connected to the plurality of super nodes via a network,
The user terminal is
One arbitrary super node in normal operation is selected from the plurality of super nodes, and a file storage request and a read request are made.
また、本発明に係る分散ストレージシステムは、
複数の分散ディスク及びひとつ又は複数のユーザ端末にネットワークを介して接続され、ファイルの保管依頼、読込み依頼、及び分散ディスクの復元依頼を受け付けるスーパーノードを有する分散ストレージシステムであり、
前記スーパーノードは、
前記ユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成する分割符号化部と、
前記複数の符号化ファイル各々を、異なる分散ディスクに保管依頼する配信部と、
元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成するファイル管理部と、
前記ファイル管理情報を保管するファイル管理情報記憶部と、
前記ユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、前記ファイル管理情報により、前記元ファイルから生成した符号化ファイルを保管する分散ディスクを特定し、前記分散ディスクに対して、正常稼動の確認を行い、確認できた前記分散ディスクから所定の個数の符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生部と
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶部に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元部と
を備えたことを特徴とする。
Further, the distributed storage system according to the present invention includes:
A distributed storage system having a super node connected to a plurality of distributed disks and one or a plurality of user terminals via a network and receiving a file storage request, a read request, and a distributed disk restoration request,
The super node is
When receiving an original file to be distributed and a storage request for the original file from the user terminal, a division encoding unit that generates a plurality of encoded files obtained by dividing and encoding the original file;
A distribution unit that requests storage of each of the plurality of encoded files on different distributed disks;
A file management unit that generates file management information indicating correspondence between the original file, the encoded file, and the distributed disk;
A file management information storage unit for storing the file management information;
When receiving the original file name and the read request of the original file from the user terminal, the file management information identifies a distributed disk that stores the encoded file generated from the original file, and Then, a normal operation is confirmed, a predetermined number of encoded files are obtained from the confirmed distributed disk, and the playback unit that reproduces the original file and decoding request for any distributed disk are obtained by decoding. Based on the file management information, the encoded file stored in the distributed disk and the original file corresponding to the encoded file are identified from the file management information stored in the file management information storage unit, and the original file is decoded. Identify and capture other encoded files stored on a distributed disk other than the distributed disk Then, the original file is decoded from the other encoded files, the decoded original file is divided and encoded, and the encoded file is regenerated and regenerated on the distributed disk. And a distributed disk restoration unit for requesting storage of the encoded file.
また、本発明に係る分散ストレージプログラムは、
ネットワークを介して接続されたユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成し、前記符号化ファイル名を、前記元ファイルとの対応を特定するための文字列を含んだ名称とする分割符号化処理と、
前記複数の符号化ファイル各々を、ネットワークを介して接続された、異なる複数の分散ディスクに保管依頼する配信処理と、
前記複数の符号化ファイルを分散ディスクの保管後、前記元ファイル、前記複数の符号化ファイル、前記元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報を削除するファイル管理処理と、
ネットワークを介して接続されたユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、分散ディスクに対して、前記元ファイルから生成された符号化ファイルを保管しているかどうかの確認を行い、前記元ファイルと符号化ファイル名とを比べることにより、保管を確認できた前記分散ディスクから所定の個数の前記符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生処理と
をコンピュータに実行させることを特徴とする。
The distributed storage program according to the present invention is
When receiving an original file to be distributed and a storage request for the original file from a user terminal connected via a network, a plurality of encoded files obtained by dividing and encoding the original file are generated. , A division encoding process in which the encoded file name is a name including a character string for specifying correspondence with the original file;
A delivery process for requesting storage of each of the plurality of encoded files to a plurality of different distributed disks connected via a network;
After the plurality of encoded files are stored on a distributed disk, the original file, the plurality of encoded files, information that can specify the original file or the plurality of encoded files, and the plurality of encoded files are stored. File management process to delete information that can identify multiple distributed files,
When an original file name and a request to read the original file are received from a user terminal connected via a network, whether or not the encoded file generated from the original file is stored in a distributed disk Confirming and comparing the original file with the encoded file name, obtains a predetermined number of the encoded files from the distributed disk whose storage has been confirmed, and reproduces the original file by decoding. And a playback process to be executed by a computer.
また、本発明に係る分散ストレージプログラムは、
ネットワークを介して接続されたユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成する分割符号化処理と、
前記複数の符号化ファイル各々を、ネットワークを介して接続された、異なる分散ディスクに保管依頼する配信処理と、
元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成するファイル管理処理と、
前記ファイル管理情報を保管するファイル管理情報記憶処理と、
ネットワークを介して接続されたユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、前記ファイル管理情報により、前記元ファイルから生成した符号化ファイルを保管する分散ディスクを特定し、前記分散ディスクに対して、正常稼動の確認を行い、確認できた前記分散ディスクから所定の個数の符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生処理と
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶処理に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元処理と
をコンピュータに実行させることを特徴とする。
The distributed storage program according to the present invention is
When an original file to be distributed and a storage request for the original file are received from a user terminal connected via a network, a plurality of encoded files obtained by dividing and encoding the original file are generated. Division coding processing,
A delivery process for requesting storage of each of the plurality of encoded files to different distributed disks connected via a network;
A file management process for generating file management information indicating the correspondence between the original file, the encoded file, and the distributed disk;
A file management information storage process for storing the file management information;
When an original file name and a request to read the original file are received from a user terminal connected via a network, a distributed disk that stores an encoded file generated from the original file is specified by the file management information. The normal operation of the distributed disk is confirmed, a predetermined number of encoded files are obtained from the confirmed distributed disk, and decoding is performed to reproduce the original file. Based on the request to restore the distributed disk, the encoded file stored in the distributed disk and the original file corresponding to the encoded file are identified from the file management information stored in the file management information storage process. Stored on a distributed disk other than the distributed disk required to decrypt the original file Identifying and obtaining the encoded file, decoding the original file from the other encoded files, dividing the decoded original file, and encoding to regenerate the encoded file; A distributed disk restoration process for requesting storage of the regenerated encoded file to the distributed disk is executed by a computer.
本発明によれば、より安全性の高い分散ストレージシステムを得ることができる。 According to the present invention, a more secure distributed storage system can be obtained.
実施の形態1.
以下、図1を用いて、本実施の形態における分散ストレージシステム100の構成を説明する。本実施の形態における分散ストレージシステム100は、データを保管する複数の分散ディスク101と、分散ディスク101に保管されたデータのファイル管理情報を扱う管理端末102と、分散保管のための分割、及び符号化を行なう複数のスーパーノード104と、ユーザからのデータ保管の依頼、及びデータ読込みの依頼を受け付ける複数のユーザ端末106と、分散ディスク101、管理端末102、及びスーパーノード104を接続する管理者ネットワーク103と、スーパーノード104、及びユーザ端末106を接続するWAN105(Wide Area Network)とから構成される。ユーザは任意のユーザ端末106から、任意のスーパーノード104を選択して、元ファイルの保管を依頼し、依頼を受け付けたスーパーノード104は元ファイルを分割及び符号化して、分散ディスク101に保管し、元ファイルをどの分散ディスク101に保管したのかに係るファイル管理情報を管理端末102に保管する。また、ユーザは任意のユーザ端末106から、任意のスーパーノード104を選択して、元ファイルの読込みを依頼し、依頼を受け付けたスーパーノード104は分散ディスク101に保管された元ファイルに係るデータを取得して復号し、ユーザ端末106に送信する。また、管理端末102は、前述のように保管されたファイル管理情報により、任意の分散ディスク101のデータを復元する。なお、管理端末102は、管理者ネットワーク103に接続されており、WAN105には接続されていないため、管理者を除く一般のユーザはアクセスできない。管理者ネットワーク103は、ファイアウォールで保護されたLAN(Local Area Network)であることが望ましい。WAN105は、スーパーノード104と広範囲に配置されたユーザ端末106とを接続することを想定しているが、LAN等、狭い範囲で構築されていても構わない。
Embodiment 1 FIG.
Hereinafter, the configuration of the distributed
次に、図2を用いて、本実施の形態における分散ストレージシステム100の詳細な構成を説明する。分散ディスク101は、分割されて符号化されたデータを保管する符号化データ記憶部201を有する。分割されて符号化されたデータについては、図4において後述する。また、分割されて符号化されたデータの名称については、図5において後述する。
Next, a detailed configuration of the distributed
管理端末102は、分散ディスク記憶部1(202)と、ファイル管理情報記憶部203と、分散ディスク状態確認部204と、分散ディスク復元部205とを有する。分散ディスク記憶部1(202)は、複数の分散ディスク101のノード名、及びIPアドレスなどを対応付けて保管する。ファイル管理情報記憶部203は、保管対象である元ファイルを特定するID(元ファイル名)と、元ファイルを分割して符号化した符号化ファイルを特定するID(符号化ファイルNo.)と、保管した分散ディスク101を特定するID(分散ディスクノード名)とを対応付けたファイル管理情報を保管する。分散ディスク状態確認部204は、分散ディスク101が正常稼動しているかどうかの確認、及び復元の指示を行う。分散ディスク復元部205は、ファイル管理情報記憶部203に保管されたファイル管理情報により、任意の分散ディスク101の復元を行う。ファイル管理情報記憶部203に保管されたファイル管理情報については、図6において後述する。
The
スーパーノード104は、分散ディスク記憶部2(206)と、分割符号化部207と、配信部208と、ファイル管理部209と、再生部210とを有する。分散ディスク記憶部2(206)は、複数の分散ディスクのノード名、及びIPアドレスなどを対応付けて保管する。分割符号化部207は、保管対象である元ファイルを分割して符号化して、符号化ファイルを作成する。配信部208は、前述の複数の符号化ファイルを、複数の分散ディスク101に配信する。ファイル管理部209は、保管対象である元ファイルを特定するID(元ファイル名)と、元ファイルを分割して符号化した符号化ファイルを特定するID(符号化ファイルNo.)と、保管した分散ディスク101を特定するID(分散ディスクノード名)とを対応付けたファイル管理情報を作成し、管理端末102に送信する。なお、ファイル管理情報については、図5において後述する。再生部210は、元ファイルの再生の依頼をユーザ端末106から受け付けると、分散ディスク101から、依頼を受け付けた元ファイルに係るデータを、復元に必要な個数だけ取得し、元ファイルの再生を行う。
The
ユーザ端末106は、スーパーノード記憶部211と、保管依頼部212と、読込み依頼部213とを有する。スーパーノード記憶部211は、複数のスーパーノード104のノード名、及びIPアドレスなどを対応付けて保管する。保管依頼部212は、任意のスーパーノード104に対して、元ファイルの保管を依頼する。読込み依頼部213は、任意のスーパーノード104に対して、元ファイルの復元を依頼する。
The
図3は、分散ストレージシステム100のハードウェア資源の一例を示す図である。分散ストレージシステム100を構成する複数の分散ディスク101、管理端末102、複数のスーパーノード104、及び複数のユーザ端末106の各々は、例えば図3に示すようなパーソナルコンピュータにより構成されている。ただし、分散ディスク101については、ストレージ専用のデバイスであってもかまわない。
FIG. 3 is a diagram illustrating an example of hardware resources of the distributed
図3において、分散ストレージシステム100を構成する複数の分散ディスク101、管理端末102、複数のスーパーノード104、及び複数のユーザ端末106の各々は、不図示のシステムユニット、CRT(Cathode Ray Tube)やLCD(液晶ディスプレイ)の表示画面を有する表示装置301、キーボード302(K/B)、マウス303、FDD304(Flexible Disk Drive)、CDD305(コンパクトディスク装置)等のハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニットは、パーソナルコンピュータであり、例えばLAN(ローカルエリアネットワーク)、ゲートウェイを介してWANに接続されている。
In FIG. 3, each of a plurality of distributed
また、分散ストレージシステム100を構成する複数の分散ディスク101、管理端末102、複数のスーパーノード104、及び複数のユーザ端末106の各々は、プログラムを実行するCPU311(Central Processing Unit、中央処理装置、演算装置ともいう)を備えている。CPU311は、バス312を介してROM313(Read Only Memory)、RAM314(Random Access Memory)、通信ボード315、表示装置301、キーボード302、マウス303、FDD304、CDD305、磁気ディスク装置320と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置320の代わりに、光ディスク装置、メモリカードリーダライタ等の記録装置が用いられてもよい。
In addition, each of the plurality of distributed
RAM314は、揮発性メモリの一例である。ROM313、FDD304、CDD305、磁気ディスク装置320の記憶媒体は、不揮発性メモリの一例である。
The
通信ボード315は、LAN、WAN(Wide Area Network)等に接続されている。WANにはゲートウェイを介して接続されていてもよい。
The
磁気ディスク装置320には、オペレーティングシステム321(OS)、ウィンドウシステム322、プログラム群323、ファイル群324が記憶されている。プログラム群323のプログラムは、CPU311、オペレーティングシステム321、ウィンドウシステム322により実行される。プログラム群323には、本実施の形態の説明において「〜部」、「〜手段」、「〜処理」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU311により読み出され実行される。又はファイル群324には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜結果」として説明するデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。
The
また、本実施の形態の説明において説明するブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM314等のメモリ、FDD304のフレキシブルディスク(FD)、CDD305のコンパクトディスク(CD)、磁気ディスク装置320の磁気ディスク、その他光ディスク、ミニディスク(MD)、DVD(Digital Versatile Disk)等の記録媒体に記録される。また、データや信号は、バス312や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In addition, the arrows in the block diagrams and flowcharts described in the description of this embodiment mainly indicate input / output of data and signals. Data and signal values are stored in a memory such as a
また、本実施の形態の説明において「〜部」、「〜手段」、「〜処理」として説明するものは、ROM313に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、ハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。このプログラムはCPU311により読み出され、CPU311により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」、「〜手段」、「〜処理」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」、「〜手段」、「〜処理」の手順をコンピュータに実行させるものである。
In addition, what is described as “˜unit”, “˜means”, and “˜processing” in the description of the present embodiment may be realized by firmware stored in the
図4は、消失訂正符号化技術を利用した、分割符号化部207における分割と符号化の手順と、再生部210における復号化の手順を説明する模式図である。まず、符号化について説明する。分割符号化部207は、保管対象である元ファイル401を100個の情報パケット402に分割し、さらに、100個の情報パケット402を符号化(冗長化)して、150個の符号化ファイル403を生成する。次に、復号化について説明する。再生部210は、前述の150個の符号化ファイル403の内、任意の一定数(例えば105個)の符号化ファイルを集めて復号化すれば、元ファイル401と同じ内容の復号ファイル405を再生できる。
FIG. 4 is a schematic diagram illustrating a division and encoding procedure in the
すなわち、消失訂正符号化技術を利用すると、データの一部が消失しても、元データが再生できるという特長をもつ。なお、消失訂正符号化技術自体については周知であるので、詳細な説明は省略する。また、本実施の形態では、元ファイル401を100個の情報パケット402に分割し、150個の符号化ファイルを作成し、任意の一定数(例えば105個)の符号化ファイル403から復号ファイル405を再生しているが、前述の100個、150個、105個の各数値は、消失訂正符号化技術のアルゴリズムの変更により、変更が可能である。
In other words, the use of the erasure correction coding technique has a feature that the original data can be reproduced even if a part of the data is lost. Since the erasure correction coding technique itself is well known, detailed description thereof is omitted. Further, in the present embodiment, the original file 401 is divided into 100
さらに本実施の形態では、前述のようにして作成した150個の符号化ファイルを、複数の分散ディスク101に分散させて保管するので、任意の一部の分散ディスク101が故障、電源断、メンテナンス、及びネットワーク回線の断線等の要因で正常稼動していなくても、正常稼動している分散ディスク101から任意の一定数の符号化ファイルを取得し、復号化し、元ファイル401と同じ内容の復号ファイル405を再生することができるため、高い信頼性、連続可動性を得ることができる。
Furthermore, in the present embodiment, 150 encoded files created as described above are distributed and stored in a plurality of distributed
次に、図5を用いて、ファイル管理情報、元ファイルの名称、及び符号化ファイルの名称について説明する。図5は、ファイル管理部209において生成するファイル管理情報のデータ例の図である。ファイル管理情報とは、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための符号化ファイルNo.と、符号化ファイルを保管した分散ディスク101を特定するための分散ディスクノード名とを対応付けた情報である。なお、本実施の形態において、元ファイル名はユニークであることを前提としている。また、ひとつの元ファイル名に対応する符号化ファイルNo.は、ユニークである。
Next, the file management information, the name of the original file, and the name of the encoded file will be described with reference to FIG. FIG. 5 is a diagram illustrating a data example of file management information generated by the
また、本実施の形態において、符号化ファイルの名称は、元ファイル名と_(アンダーバー)と符号化ファイルNo.とを結合したものとする。例えば、元ファイル名が「Digitalmovie1」であり、符号化ファイルNo.が「001」であれば、対応する符号化ファイルの名称は「Digitalmovie1_001」である。すなわち、符号化ファイルの名称は、元ファイルの名称を含んでいる。 In the present embodiment, the name of the encoded file includes the original file name, _ (underbar), encoded file No. Are combined. For example, the original file name is “Digitalmovie1”, and the encoded file No. Is “001”, the name of the corresponding encoded file is “Digitalmovie1_001”. That is, the name of the encoded file includes the name of the original file.
次に、図6を用いて、管理端末102のファイル管理情報記憶部203に保管するファイル管理情報について説明する。図5では、ファイル管理部209において生成する、ひとつの元ファイルに係るファイル管理情報について説明したが、図6において説明するファイル管理情報記憶部203に保管するファイル管理情報とは、全ての分散ディスク101に保管している全ての元ファイルに係るファイル管理情報である。図6の例では、元ファイルDigitalmovie1、Digitalmovie2、Digitalpicture1について、元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための符号化ファイルNo.と、符号化ファイルを保管した分散ディスク101を特定するための分散ディスクノード名とを対応付けたファイル管理情報を、ファイル管理部209に保管している。
Next, file management information stored in the file management
次に図7、図8、及び図9のフローチャートを用いて、分散ストレージシステム100におけるデータ保管の処理の流れについて説明する。分散ストレージシステム100におけるデータ保管とは、図4において説明したように、消失訂正符号化技術を利用して、保管対象の元ファイルを分割し符号化した、複数の符号化ファイルを作成して、これらの符号化ファイル各々を、異なる分散ディスク101に保管することである。
Next, the flow of data storage processing in the distributed
図7において、ユーザ端末106の保管依頼部212は、ユーザからデータ保管の依頼を受け付けると、スーパーノード記憶部211から、任意の1台のスーパーノード104を選択する(ステップS701)。なお、ユーザからは複数のスーパーノード104がひとつの仮想スーパーノードに見える。ユーザ端末106の保管依頼部212は、ランダムに任意の1台のスーパーノード104を選択し、該当のスーパーノード104が正常稼動していなければ、正常稼動しているスーパーノード104が選択されるまで、同様にランダムに任意の1台のスーパーノード104を選択する。又は、各スーパーノード104の負荷状況を確認して、負荷の低いスーパーノード104を選択する。又は、その他の方法で任意の1台のスーパーノード104を選択してもよい。次に、ユーザ端末106の保管依頼部212は、選択したスーパーノード104に、保管の対象となる元ファイルと保管指示を送信する(ステップS702)。
In FIG. 7, when the
次に、保管指示を受信したスーパーノード104の分割符号化部207は、受信した元ファイルを100個に分割し、符号化し、150個の符号化ファイルを生成する(ステップS703)。ここで、分割と符号化にあたっては、図4において説明したように、消失訂正符号化技術を利用する。また、図5において説明したように、符号化ファイルの名称は、元ファイルの名称を含んでいる。
Next, the
次に、スーパーノード104の配信部208は、分割符号化部207において生成した150個の符号化ファイルと保管指示を、分散ディスク記憶部2(206)に記憶された300個の分散ディスク101の内、任意の150台の分散ディスク101へ各々送信する(ステップS704)。なお、ステップS704の詳細については、図8において後述する。
Next, the
次に、スーパーノード104のファイル管理部209は、元ファイルと分割・符号化した符号化ファイルとの対応に係る情報を分割符号化部207から取得し、符号化ファイルと保管先の分散ディスク101との対応に係る情報を配信部208から取得し、元ファイルと符号化ファイルと分散ディスク101との対応を表すファイル管理情報を生成して、管理端末102のファイル管理情報記憶部203に送信する(ステップS705)。ここで、ファイル管理情報については、図5において説明した通りである。なお、ステップS705の詳細については、図9において後述する。
Next, the
次に、図8において図7のステップS704の詳細な処理の流れについて説明する。スーパーノード104の配信部208は、全ての分散ディスク101に対して、正常稼動中かどうかの確認要求を行う(ステップS801)。ステップS801における確認要求に対して、正常稼動中の分散ディスク101が応答する(ステップS802)。
Next, the detailed processing flow of step S704 in FIG. 7 will be described with reference to FIG. The
一方、スーパーノード104の配信部208は、一定時間、分散ディスク101からの応答を待機する(ステップS803)。そして、一定時間経過後、応答のあった分散ディスク101から150台を任意に選択する(ステップS804)。スーパーノード104の配信部208は、符号化ファイルを保管可能な程度にディスク容量の空きがある、任意の150台の分散ディスク101をランダムに選択する。又は、各分散ディスク101のディスク容量の空きを確認し、空き容量の大きい分散ディスク101から順に150台選択する。又は、その他の方法で任意の150台の分散ディスク101を選択してもよい。次に、150台の分散ディスク101へ、150個の符号化ファイルを各々送信する(ステップS805)。次に、分散ディスク101の符号化データ記憶部201は、ステップS805において送信された符号化ファイルを受信して、保管する(ステップS806)。なお、ステップS806において正常に保管することができない分散ディスク101があった場合は、別の分散ディスク101に送信して、保管する。
On the other hand, the
次に、図9において図7のステップS705の詳細な処理の流れについて説明する。スーパーノード104のファイル管理部209は、ファイル管理情報を作成する(ステップS901)。ファイル管理情報は、図5において説明したように、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための符号化ファイルNo.と、符号化ファイルを保管した分散ディスク101を特定するための分散ディスクノード名とを対応付けた情報である。なお、元ファイル名と符号化ファイルNo.との対応に係る情報は、分割符号化部207から取得し、符号化ファイルNo.と分散ディスクノード名との対応に係る情報は、配信部208から取得する。次に、スーパーノード104のファイル管理部209は、ファイル管理情報を管理端末102のファイル管理情報記憶部203に送信する(ステップS902)。
Next, the detailed processing flow of step S705 in FIG. 7 will be described with reference to FIG. The
次に、管理端末102のファイル管理情報記憶部203は、受信したファイル管理情報を保管する(ステップS903)。次に、正常受信した旨を、スーパーノード104のファイル管理部209に応答する(ステップS904)。次に、スーパーノード104のファイル管理部209は、ファイル管理情報等(図7、図8、及び図9のフローチャートを用いて説明したデータ保管に係る処理で扱った各種情報であり、ファイル管理情報、元ファイル、符号化ファイル、元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報等)を削除する(ステップS905)。図7、図8、及び図9のフローチャートを用いて説明したデータ保管の処理の流れにおいて、スーパーノード104の分割符号化部207、配信部208、ファイル管理部209は、前述のファイル管理情報等を、一切、不揮発性メモリ(磁気ディスク装置320等)に記憶せず、揮発性メモリ(RAM314等)に一時的に記憶された前述の情報についても、ステップS905において、ファイル管理部209により明示的に削除される。又は、揮発性メモリ(RAM314)に一時的に記憶された前述の情報については、OS321により、プログラム終了時にメモリの開放と共に、自動的に削除されるものであってもよい。又は、スーパーノード104の分割符号化部207、配信部208、ファイル管理部209は、前述のファイル管理情報等の全部又は一部を、不揮発性メモリ(磁気ディスク装置320等)に記憶してもよいが、その場合には、ステップS905において、ファイル管理部209により明示的に削除される。
Next, the file management
次に図10のフローチャートを用いて、分散ストレージシステム100におけるデータ読込みの処理の流れについて説明する。分散ストレージシステム100におけるデータ読込みとは、複数の分散ディスク101に分散保管された符号化ファイルを集めて、図4において説明したように、消失訂正符号化技術を利用して、ひとつの元ファイルを再生することである。
Next, the flow of data read processing in the distributed
図10において、ユーザ端末106の読込み依頼部213は、ユーザからデータ読込みの依頼を受け付けると、スーパーノード記憶部211から、任意の1台のスーパーノード104を選択する(ステップS1001)。なお、ユーザからは複数のスーパーノード104がひとつの仮想スーパーノードに見える。選択するスーパーノード104は、保管時に指定したスーパーノード104である必要はない。ユーザ端末106の読込み依頼部213は、ランダムに任意の1台のスーパーノード104を選択し、該当のスーパーノード104が正常稼動していなければ、正常稼動しているスーパーノード104が選択されるまで、同様にランダムに任意の1台のスーパーノード104を選択する。又は、各スーパーノード104の負荷状況を確認して、負荷の低いスーパーノード104を選択する。又は、その他の方法で任意の1台のスーパーノード104を選択してもよい。次に、ユーザ端末106の読込み依頼部213は、選択したスーパーノード104に、読込みの対象となる元ファイル名と読込み指示を送信する(ステップS1002)。
In FIG. 10, the read
次に、読込み指示を受信したスーパーノード104の再生部210は、分散ディスク記憶部2(206)に記憶された全分散ディスク101に対して、元ファイルから生成した符号化ファイルを保管しているかどうかの確認要求を行う(ステップS1003)。ここで、確認要求と共に、元ファイル名を送信する。
Next, the reproducing
次に、分散ディスク101の符号化データ記憶部201は、ステップS1003で受信した元ファイル名をキーとして検索し、元ファイルから生成した符号化ファイルを保管している場合に、応答を返す(ステップS1004)。なお、図5において説明したように、符号化ファイルの名称は、元ファイルの名称を含んでいる。従って、分散ディスク101の符号化データ記憶部201は、スーパーノード104の再生部210から受信した元ファイル名と符号化ファイル名とを比べて、元ファイル名と_(アンダーバー)と数値とを結合した名称を有する符号化ファイルが存在すれば、元ファイルから生成した符号化ファイルを保管しているとして、応答を返す。
Next, the encoded
なお、ステップS1003において、読込み指示を受信したスーパーノード104の再生部210は、元ファイル名と_(アンダーバー)と所定の数値(本実施の形態では「001」〜「150」)とを結合した名称を作成して、全分散ディスク101に送信し、次に、ステップS1004では、分散ディスク101の符号化データ記憶部201は、ステップS1003で受信した名称の符号化ファイルを検索し、存在すれば、元ファイルから生成した符号化ファイルを保管しているとして、応答を返してもよい。
In step S1003, the
次に、応答を受信したスーパーノード104の再生部210は、応答のあった分散ディスク101から、105個の符号化データを取得する(ステップS1005)。次に、符号化データを復号し、元ファイルと同じ内容の復号ファイルを再生する(ステップS1006)。ここで、復号化にあたっては、図4において説明したように、消失訂正符号化技術を利用する。次に、復号ファイルをユーザ端末106へ送信する(ステップS1007)。次に、ユーザ端末106の読込み依頼部213は、復号ファイルを受信する(ステップS1008)。なお、ユーザ端末106は、表示装置301等を介して、ユーザに復号ファイルの内容を表示してもよい。
Next, the reproducing
また、ステップS1003では、全分散ディスク101に対して符号化ファイルを保管しているかどうかの確認要求を行い、ステップS1004では該当する分散ディスク101が応答し、ステップS1005では、応答のあった分散ディスク101から105個の符号化データを取得しているが、ひとつの全分散ディスク101に対して符号化ファイルを保管しているかどうかの確認要求を行い、応答があれば符号化データを取得することを、105回繰り返すものであってもよい。
In step S1003, a confirmation request is made to determine whether or not the encoded file is stored in all the distributed
次に図11、及び図12のフローチャートを用いて、分散ストレージシステム100における分散ディスク復元の処理の流れについて説明する。分散ストレージシステム100における分散ディスク復元とは、任意の1台の分散ディスク101に保管された符号化ファイル全てを、まとめて復元することである。
Next, the flow of distributed disk restoration processing in the distributed
図11において、管理端末102の分散ディスク状態確認部204から、全分散ディスク101に対して、正常稼動しているかどうかの確認要求を行う(ステップS1101)。なお、確認要求は、予め定められた時間に定期的に行うようになっていてもよい。
In FIG. 11, the distributed disk status confirmation unit 204 of the
次に、確認要求を受信した分散ディスク101は、自身が正常稼動中であれば、応答する(ステップS1102)。次に、管理端末102の分散ディスク状態確認部204は、一定期間、正常稼動の旨の応答がない分散ディスク101に対して、故障と判断し、アラームを上げる(ステップS1103)。次に、人手により、故障中の分散ディスク101の交換、又は修理を行う(ステップS1104)。ただし、この時、IPアドレスは交換、修理前と同じものを引き継ぐ。次に、分散ディスク101は、自身が正常稼動したこと及び復元依頼情報を、そのIPアドレスと共に、管理端末102に通知する(ステップS1105)。次に、管理端末102の分散ディスク復元部205は、故障後正常稼動した分散ディスク101について、自動でデータ復元処理を行う(ステップS1106)。なお、データ復元処理については、図12において後述する。また、データ復元処理を行う前に、ファイル管理情報記憶部203に保管されたファイル管理情報と、故障後正常稼動した分散ディスク101の符号化データ記憶部201に保管する符号化ファイルとを比較することにより、ファイル管理情報には記録されているが、符号化データ記憶部201からは失われた符号化ファイルがあるかどうかを判断し、失われた符号化ファイルがあれば、自動でデータ復元処理を行うようにしてもよい。
Next, the distributed
次に、図12において図11のステップS1106の詳細な処理の流れについて説明する。なお、説明を補足するために、図6のファイル管理情報の例を用いる。管理端末102の分散ディスク復元部205は、分散ディスク記憶部1(202)を参照し、受け付けたIPアドレスが分散ディスクとして登録されていることと、IPアドレスに対応する分散ディスクノード名を検索して、復元依頼を受け付けた分散ディスク101の分散ディスクノード名を認識する(ステップS1201)。ここで、例えば、分散ディスクノード名が「PC005」であったとする。
Next, the detailed processing flow of step S1106 of FIG. 11 will be described with reference to FIG. In order to supplement the description, the example of the file management information in FIG. 6 is used. The distributed
次に、分散ディスク復元部205は、ファイル管理情報記憶部203を参照し、ファイル管理情報から、認識した分散ディスクノード名に対応する元ファイル名と符号化ファイルNo.とを全て検索する(ステップS1202)。例えば、ファイル管理情報記憶部203は図6に示すファイル管理情報を有していた場合、認識した分散ディスクノード名「PC0005」に対応する元ファイル名と符号化ファイルNo.は、二組有り、一組は元ファイル名が「Digitalmovie1」であり、符号化ファイルNo.が「002」である。また、別のもう一組は、元ファイル名が「Digitalpicture1」であり、符号化ファイルNo.が「001」である。すなわち、分散ディスク「PC005」上の符号化ファイルは、「Digitalmovie1_002」と「Digitalpicture1_001」である。
Next, the distributed
次に、分散ディスク復元部205は、検索した元ファイル名ごとに、ステップS1203からステップS1208までの処理を繰り返す。例えば、元ファイル「Digitalmovie1」について、ステップS1203からステップS1209までの処理を行い、次に、元ファイル名「Digitalpicture1」について、ステップS1203からステップS1209までの処理を行う。以下、まず、元ファイル「Digitalmovie1」について、ステップS1203からステップS1209までの処理を行う。
Next, the distributed
分散ディスク復元部205は、符号化ファイルNo.から、前記ファイルを復号するために必要な他の符号化ファイルNo.と、前記他の符号化ファイルNo.に対応する稼動中の分散ディスクノード名とを確定する(ステップS1203)。例えば、本実施の形態では、符号化ファイルは150個存在することになっているので、元ファイル名「Digitalmovie1」を復号するために用いることができる他の符号化ファイルNo.は、「002」を除いたものであり、すなわち「001」と、「003」〜「150」とである。
The distributed
次に、分散ディスク復元部205は、稼動中の分散ディスク101から、復元に必要な符号化ファイルNo.に対応する符号化ファイルを取得する(ステップS1204)。例えば、本実施の形態では、復号化に必要な符号化ファイルは105個となっているので、元ファイル名「Digitalmovie1」と_(アンダーバー)と符号化ファイルNo.を組合わせた符号化ファイル名であり、かつ符号化ファイルNo.は、「001」、または「003」〜「150」であるような符号化ファイル名を有する符号化ファイルを、105個、正常稼動中の分散ディスク101から取得する。すなわち、符号化ファイル「Digitalmovie1_001」、「Digitalmovie1_003」〜「Digitalmovie1_150」の内の105個のファイルを、正常稼動中の分散ディスク101から取得する。
Next, the distributed
次に、分散ディスク復元部205は、取得した符号化ファイルから復号ファイルを再生する(ステップS1205)。例えば、「Digitalmovie1」を再生する。
Next, the distributed
次に、分散ディスク復元部205は、復号ファイルを分割し復号化し、復元すべき符号化ファイルを生成する(ステップS1206)。ここで、分割と符号化にあたっては、ステップS703と同様の手順で行うこととする。例えば、「Digitalmovie1」を分割し符号化することにより、「Digitalmovie1_001」、「Digitalmovie1_002」、・・・「Digitalmovie1_150」を生成し、その中から復元すべき符号化ファイル「Digitalmovie1_002」を残して、他の符号化ファイルは削除する。
Next, the distributed
次に、分散ディスク復元部205は、復元依頼を受け付けた分散ディスク101へ、符号化ファイルを送信する(ステップS1207)。例えば、分散ディスク「PC0005」に「Digitalmovie1_002」を送信する。なお、送信が正常に完了した後に、管理端末102上の符号化ファイル「Digitalmovie1_002」は削除する。
Next, the distributed
次に、分散ディスク復元部205は、ステップS1202で検索した全ての元ファイルについて処理を完了したか確認し、完了していれば、ステップS1106を終了し、完了していなければ、ステップS1203に戻り、ステップS1208までの処理を繰り返す(ステップS1208)。この例では、元ファイル名「Digitalpicture1」についての処理が完了していないので、ステップS1203に戻り、元ファイル名「Digitalpicture1」について、ステップS1203からステップS1208までの処理を行う。
Next, the distributed
そして、次に、元ファイル名「Digitalpicture1」を復号するために用いることができる他の符号化ファイルNo.は、「001」を除いたものであり、「002」〜「150」である(ステップS1203)。次に、元ファイル名「Digitalpicture1」と_(アンダーバー)と符号化ファイルNo.を組合わせた符号化ファイル名であり、かつ符号化ファイルNo.は、「002」〜「150」であるような符号化ファイル名を有する符号化ファイルを、105個、正常稼動中の分散ディスク101から取得する(ステップS1204)。すなわち、符号化ファイル「Digitalpicture1_002」〜「Digitalpicture1_150」の内の105個のファイルを、正常稼動中の分散ディスク101から取得する。次に、「Digitalpicture1」を再生する(ステップS1205)。次に、「Digitalpicture1」を分割し符号化することにより、「Digitalpicture1_001」、「Digitalpicture1_002」、・・・「Digitalpicture1_150」を生成し、その中から復元すべき符号化ファイル「Digitalpicture1_001」を残して、他の符号化ファイルは削除する(ステップS1206)。なお、送信が正常に完了した後に、管理端末102上の符号化ファイル「Digitalpicture1_001」は削除する。次に、分散ディスク「PC0005」に「Digitalpicture1_001」を送信する(ステップS1207)。次に、ステップS1202で検索した全ての元ファイル「Digitalmovie1」と「Digitalpicture1」とについて処理を完了したので、ステップS1106を終了する(ステップS1208)。このようにして、分散ディスク101上には、元々あった符号化ファイル全てが復元される。
Next, another encoded file No. that can be used to decode the original file name “Digitalpicture1” is displayed. Is obtained by removing “001” and is “002” to “150” (step S1203). Next, the original file name “Digitalpicture 1”, _ (underscore), and the encoded file number. Are encoded file names, and the encoded file No. Acquires 105 encoded files having encoded file names such as “002” to “150” from the normally operating distributed disk 101 (step S1204). That is, 105 files of the encoded files “Digitalpicture1_002” to “Digitalpicture1_150” are acquired from the distributed
なお、本実施の形態において、分散ディスク101の特定にIPアドレスを使用し、IPアドレスと分散ディスクノード名との対応付けに、分散ディスク記憶部1(202)と分散ディスク記憶部2(206)とを使用しているが、分散ディスク101の特定には分散ディスクノード名を使用し、IPアドレスと分散ディスクノード名との対応付けには、hostsファイルを利用してもよい。なお、ここでhostsファイルとは、周知の技術であるTCP/IPネットワーク上のIPアドレスとホスト名との対応を記述するテキストファイルである。この場合、分散ディスクノード名は、前述のホスト名と同じ名称を設定することとし、分散ディスク記憶部1(202)及び分散ディスク記憶部2(206)には、分散ディスク101として使用されるパーソナルコンピュータ又はストレージ専用のデバイス等のホスト名が記憶されれば十分である。
In this embodiment, an IP address is used to specify the distributed
そして、図11と図12とを用いて説明した分散ディスク復元の処理の流れにおいて、ステップS1104では、人手により、故障中の分散ディスク101の交換、又は修理を行うが、ただし、この時、分散ディスクノード名(ホスト名)は交換、修理前と同じものを引き継ぐ。又、分散ディスクノード名(ホスト名)に対するIPアドレスが変更されている場合は、合わせて、分散ディスク101、管理端末102、及びスーパーノード104のhostsファイルに保管されている分散ディスクノード名(ホスト名)の該当するIPアドレスを修正する。次に、ステップS1105では、分散ディスク101は、自身が正常稼動したこと及び復元依頼情報を、その分散ディスクノード名(ホスト名)と共に、管理端末102に通知する。また、ステップS1201では、管理端末102の分散ディスク復元部205は、分散ディスク記憶部1(202)を参照し、受け付けた分散ディスクノード名(ホスト名)が分散ディスクとして登録されていることを確認する。
In the distributed disk restoration processing flow described with reference to FIGS. 11 and 12, in step S1104, the failed distributed
なお、本実施の形態において、図11と図12とを用いて説明したように、分散ディスク101の正常稼動と復元依頼とが管理端末102に通知されると(ステップS1105)、分散ディスク復元部205は、通知元の分散ディスク101を復元する(ステップS1106)構成であってもよいが、管理端末102の分散ディスク復元部205が、管理端末102のキーボード302、マウス303などの入力装置を介して、管理者から任意の分散ディスク101の復元依頼を受け付けて、前記の分散ディスク101の復元を行うものであってもよい。後者の場合も、管理者から受け付けた任意の分散ディスク101に対して、図12のステップS1201からステップS1208までの処理を、前述の説明と同様に行う。
In this embodiment, as described with reference to FIGS. 11 and 12, when the
なお、本実施の形態において、管理端末102を有しない構成であってもよい。この場合には、図11、及び図12において説明した分散ディスク復元は行わない。また、図7、図8、及び図9において説明したデータ保管については、図7のステップS705及び図9を行わない。すなわち、ファイル管理情報を作成し、管理端末102に送信する処理を行わない。また、図10において説明したデータ読込みについては、管理端末102は係らない処理であるので、前述の通り動作する。
In the present embodiment, the
なお、本実施の形態において、前述したように、元ファイル名はユニークであることを前提としている。ただし、ユーザ端末106において名称が重複していた元ファイルを登録可能とするために、ユーザ端末106の保管依頼部212において、元ファイル名と他の情報(例えば、ユーザID、端末ID、時刻等)とを組合わせて、新たなユニークな名称に作成して、元ファイル名を前述のユニークな名称に変更して、スーパーノード104に送信するようにしてもよい。又は、スーパーノード104の分割符号化部207において、保管依頼を受けた元ファイル名が、管理端末102のファイル管理情報記憶部203に記憶されているかどうかの確認を行い、既に格納されている場合には、ユーザ端末106の保管依頼部212にエラーを返すようにしてもよい。又は、スーパーノード104の分割符号化部207において、保管依頼を受けた元ファイル名を含む名称を有する符号化ファイルが、分散ディスク101の符号化データ記憶部201に記憶されているかどうかの確認を行い、既に格納されている場合には、ユーザ端末106の保管依頼部212にエラーを返すようにしてもよい。また、ユーザ端末106の読込み依頼部213は、保管依頼部212が元ファイル名の変更を行っている場合には、同様の方法で、読込み依頼を受けた元ファイル名を変更する。
In the present embodiment, as described above, it is assumed that the original file name is unique. However, the original file name and other information (for example, user ID, terminal ID, time, etc.) are stored in the
以上のように、本実施の形態では、ストレージデバイスとして、近年、CPU及びLANの高速化、大容量ディスク化、及び低価格が進んでいるパーソナルコンピュータを利用することにより、従来、大変高価であった専用ストレージシステムと同等な機能と性能とを有する分散ストレージシステム100を安価に構築できる。また、消失訂正符号化技術を利用することにより、1台の分散ディスク101を参照しても、元ファイルを復元することはできず、従来の専用ストレージシステムと同等の情報秘匿性を確保できる。また、スーパーノード104は、元ファイル、元ファイル名、元ファイルNo.、保管先の分散ディスクノード名などの管理情報を記憶しないため、さらに、情報秘匿性を確保できる。
As described above, according to the present embodiment, a storage device has recently been very expensive by using a personal computer, which has recently been increasing in speed and CPU, LAN, and a low price as a storage device. In addition, the distributed
また、本実施の形態では、管理端末102のみがファイル管理情報を保管し、ファイル管理情報を使用して任意の1台の分散ディスク101上の符号化ファイル全ての復元が可能であるため、ファイアウォールや各種認証機能等を用いて管理端末102上のファイル管理情報を安全に管理することができ、また、分散ディスク101を、故障、その他の諸事情による修理・交換することが容易になり、分散ストレージシステム100の信頼性・保守性を向上することができる。従来のデータ分散保管システムにおいても、消失訂正符号化技術を利用しているため、一部の分散保管サーバが故障又は非正常稼動となっていても、一定数の符号化ファイルを集めることができれば、システム全体の動作上何ら問題がない。しかし、故障又は非正常稼動な分散保管サーバが増えすぎると、正常稼動中の分散保管サーバに負荷が集中し全体のパフォーマンスが低下する、総ストレージ容量が低下する、復号が可能となる一定数の符号化ファイルが確保できなくなるといった問題があったが、本実施の形態では、故障又は非正常稼動となった任意の1台の分散ディスク101上の符号化ファイル全てを復元することができるために、信頼性・保守性を向上することができる。
In this embodiment, only the
また、本実施の形態では、複数の分散ディスク101に対して正常稼動しているかどうかの確認を行い、正常稼動を確認できなかった分散ディスク101について、その情報を管理者に通知し、その後正常稼動確認後、直ちに復元を行うことができる。
Also, in this embodiment, it is confirmed whether or not the plurality of distributed
また、本実施の形態では、ユーザが複数のスーパーノード104があることを意識せず、ひとつの仮想スーパーノードとして操作しつつ、実際には複数のスーパーノード104を有して、負荷を分散することができる。また、前述のように、スーパーノード104は、元ファイル、元ファイル名、元ファイルNo.、保管先の分散ディスクノード名などの管理情報を記憶しないため、スーパーノード104の追加・削除などの保守が容易である。
In this embodiment, the user is not aware that there are a plurality of
このように、本実施の形態では、情報隠匿性・信頼性・保守性などの面で、より安全性の高い分散ストレージシステム100を得ることができる。
As described above, in the present embodiment, it is possible to obtain the distributed
実施の形態2.
本実施の形態では、実施の形態1で説明した管理端末102とスーパーノード104を1台のスーパーノード104にまとめた実施例について説明する。
Embodiment 2. FIG.
In the present embodiment, an example in which the
以下、図13を用いて、本実施の形態における分散ストレージシステム100の詳細な構成を説明する。分散ディスク101は、符号化データ記憶部201を有する。スーパーノード104は、1台のみの構成であり、分散ディスク記憶部2(206)と、分割符号化部207と、配信部208と、ファイル管理部209と、再生部210とを有する。さらに、スーパーノード104は、ファイル管理情報記憶部203と、分散ディスク状態確認部204と、分散ディスク復元部205とを有する。ユーザ端末106は、スーパーノード記憶部211と、保管依頼部212と、読込み依頼部213とを有する。なお、実施の形態1における分散ディスク記憶部1(202)は、分散ディスク記憶部2(206)と同じ情報を保管するので、本実施の形態においては不要となる。
Hereinafter, the detailed configuration of the distributed
実施の形態1において、図7から図12までを用いて説明した、データ保管、データ読込み、及び分散ディスク復元の処理の流れは、次の点を除いて実施の形態2においても同様である。本実施の形態では、スーパーノード104は1台のみの構成ため、複数のスーパーノードから任意の1台のスーパーノードを選択する処理は省略する。また、実施の形態1における管理端末102は、本実施の形態ではスーパーノード104と読み替える。また、実施の形態1における分散ディスク記憶部1(202)は、分散ディスク記憶部2(206)と読み替える。
In the first embodiment, the processing flow of data storage, data reading, and distributed disk restoration described with reference to FIGS. 7 to 12 is the same as in the second embodiment except for the following points. In this embodiment, since there is only one
以下、図7、図8、及び図9を用いて、本実施の形態におけるデータ保管処理について説明する。図7において、本実施の形態では、ステップS701は省略する(ステップS701)。次に、ユーザ端末106の保管依頼部212は、スーパーノード104に、保管の対象となる元ファイルと保管指示を送信する(ステップS701)。次に、実施の形態1と同様に、元ファイルの分割し、符号化し、符号化ファイルを作成する(ステップS703)。次に、実施の形態1と同様に、符号化ファイルを分散ディスクに送信する(ステップS704)。次に、スーパーノード104のファイル管理部209は、ファイル管理情報を生成し、スーパーノード104のファイル管理情報記憶部203に送信する(ステップS705)。図8は、前述のステップS704の詳細な動作を説明したものであるが、本実施の形態においても、実施の形態1と同様であり、スーパーノード104の配信部208が稼動中の分散ディスク101から150台を任意に選択して符号化ファイルを送信し、分散ディスク101の符号化データ記憶部201は符号化ファイルを保管する。
Hereinafter, data storage processing according to the present embodiment will be described with reference to FIGS. 7, 8, and 9. In FIG. 7, step S701 is omitted in the present embodiment (step S701). Next, the
図9は、前述のステップS704の詳細な動作を説明したものである。本実施の形態では、実施の形態1と同様に、ファイル管理情報を作成する(ステップS901)。次に、スーパーノード104のファイル管理部209は、ファイル管理情報をスーパーノード104のファイル管理情報記憶部203に送信する(ステップS902)。次に、スーパーノード104のファイル管理情報記憶部203は、受信したファイル管理情報を保管する(ステップS903)。次に、スーパーノード104のファイル管理情報記憶部203は、正常受信した旨を、スーパーノード104のファイル管理部209に応答する(ステップS904)。
FIG. 9 explains the detailed operation of step S704 described above. In the present embodiment, file management information is created as in the first embodiment (step S901). Next, the
次に、図10を用いて、本実施の形態におけるデータ読込み処理について説明する。本実施の形態では、ステップS1001は省略する(ステップS1001)。次にユーザ端末106の読込み依頼部213は、スーパーノード104に、読込みの対象となる元ファイル名と読込み指示を送信する(ステップS1002)。次に、実施の形態1と同様に、読込み指示を受信したスーパーノード104の再生部210は、分散ディスク記憶部2(206)に記憶された全分散ディスク101に対して、元ファイルから生成した符号化ファイルを保管しているかどうかの確認要求を行う(ステップS1003)。
Next, the data reading process in the present embodiment will be described with reference to FIG. In this embodiment, step S1001 is omitted (step S1001). Next, the read
次に、実施の形態1と同様に、分散ディスク101の符号化データ記憶部201は、指定された符号化ファイルを保管している場合に、その応答を返す(ステップS1004)。次に、ステップS1004からステップ1008までは、実施の形態1と同様に、応答を受信したスーパーノード104の再生部210は、応答のあった分散ディスク101から、105個の符号化データを取得する(ステップS1005)。次に、符号化データを復号し、元ファイルと同じ内容の復号ファイルを再生する(ステップS1006)。次に、復号ファイルをユーザ端末106へ送信する(ステップS1007)。次に、ユーザ端末106の読込み依頼部213は、復号ファイルを受信する(ステップS1008)。
Next, as in the first embodiment, the encoded
次に、図11及び図12を用いて、本実施の形態における分散ディスク復元処理について説明する。図11及び図12においても、実施の形態1における管理端末102をスーパーノード104と読み替える点以外の詳細な動作は、実施の形態1と同様である。
Next, the distributed disk restoration process according to the present embodiment will be described with reference to FIGS. 11 and 12, the detailed operation is the same as that of the first embodiment except that the
図11において、まず、スーパーノード104の分散ディスク状態確認部204から、全分散ディスク101に対して、正常稼動しているかどうかの確認要求を行う(ステップS1101)。次に、確認要求を受信した分散ディスク101は、自身が正常稼動中であれば、応答する(ステップS1102)。次に、スーパーノード104の分散ディスク状態確認部204は、一定期間、正常稼動の旨の応答がない分散ディスク101に対して、故障と判断し、アラームを上げる(ステップS1103)。次に、人手により、故障中の分散ディスク101の交換、又は修理を行う(ステップS1104)。次に、分散ディスク101は、自身が正常稼動したこと及び復元依頼を、スーパーノード104に通知する(ステップS1105)。次に、スーパーノード104の分散ディスク復元部205は、故障後正常稼動した分散ディスク101について、自動でデータ復元処理を行う(ステップS1106)。
In FIG. 11, first, the distributed disk status confirmation unit 204 of the
次に、図12において図11のステップS1106の詳細な処理の流れについて説明する。スーパーノード104の分散ディスク復元部205は、分散ディスク記憶部2(206)を参照し、復元依頼を受け付けた分散ディスク101の分散ディスクノード名を認識する。(ステップS1201)次に、分散ディスク復元部205は、ファイル管理情報記憶部203を参照し、ファイル管理情報から、認識した分散ディスクノード名に対応する元ファイル名と符号化ファイルNo.とを全て検索する(ステップS1202)。次に、分散ディスク復元部205は、検索した元ファイル名ごとに、ステップS1203からステップS1208までの処理を繰り返す。
Next, the detailed processing flow of step S1106 of FIG. 11 will be described with reference to FIG. The distributed
分散ディスク復元部205は、符号化ファイルNo.から、前記元ファイルを復号するために必要な他の符号化ファイルNo.と、前記他の符号化ファイルNo.に対応する稼動中の分散ディスクノード名とを確定する(ステップS1203)。次に、分散ディスク復元部205は、稼動中の分散ディスク101から、復元に必要な符号化ファイルNo.に対応する符号化ファイルを取得する(ステップS1204)。次に、分散ディスク復元部205は、取得した符号化ファイルから復号ファイルを再生する(ステップS1205)。
The distributed
次に、分散ディスク復元部205は、復号ファイルを分割し復号化し、復元すべき符号化ファイルを生成する(ステップS1206)。次に、分散ディスク復元部205は、復元依頼を受け付けた分散ディスク101へ、符号化ファイルを送信する(ステップS1207)。次に、分散ディスク復元部205は、ステップS1202で検索した全ての元ファイルについて処理を完了したか確認し、完了していれば、ステップS1106を終了し、完了していなければ、ステップS1203に戻り、ステップS1208までの処理を繰り返す(ステップS1208)。
Next, the distributed
なお、実施の形態1、及び本実施の形態では、図5において説明したように、符号化ファイルの名称は、元ファイル名と_(アンダーバー)と符号化ファイルNo.とを結合したものとする。また、図5と図6において説明したように、ファイル管理情報とは、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための符号化ファイルNo.と、符号化ファイルを保管した分散ディスク101を特定するための分散ディスクノード名とを対応付けた情報である。
In the first embodiment and the present embodiment, as described in FIG. 5, the name of the encoded file includes the original file name, _ (underscore), encoded file No. Are combined. Further, as described in FIGS. 5 and 6, the file management information is used to specify the original file name that is the name of the original file to be stored and the encoded file obtained by dividing and encoding the original file. Encoded file No. And the distributed disk node name for identifying the distributed
そして、このようなデータを前提として、データ保管処理において、図7のステップS703では、符号化ファイルを生成する際に、符号化ファイルの名称は、元ファイル名と_(アンダーバー)と符号化ファイルNo.とを結合したものとする。そして、データ読込み処理において、図10のステップS1003では、再生部210は、全分散ディスク101に対して、元ファイルから生成した符号化ファイルを保管しているかどうかの確認要求を行うが、ここで、確認要求と共に、元ファイル名を送信する。次に、ステップS1004では、符号化データ記憶部201は、ステップS1003で受信した元ファイル名をキーとして検索し、元ファイルから生成した符号化ファイルを保管している場合に、応答を返す。
Based on such data, in the data storage process, in step S703 of FIG. 7, when the encoded file is generated, the name of the encoded file is the original file name, _ (underscore), and the encoded file. No. Are combined. In the data reading process, in step S1003 of FIG. 10, the
ただし、本実施の形態においては、符号化ファイルの名称に前述のような制約を設けず、単に符号化データ記憶部201においてユニークな符号化ファイル名を付してもよい。この場合、図5と図6において説明したファイル管理情報は、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための「符号化ファイル名」と、符号化ファイルを保管した分散ディスク101を特定するための分散ディスクノード名とを対応付けた情報である。
However, in the present embodiment, the encoded file name may be simply given a unique encoded file name in the encoded
そして、前述のようなデータ(符号化ファイル名及びファイル管理情報)を前提として、データ保管処理において、図7のステップS703では、スーパーノード104の分割符号化部207は、受信した元ファイルを100個に分割し、符号化し、150個の符号化ファイルを生成するが、符号化ファイルの名称は、符号化データ記憶部201においてユニークな名称を付す。また、図9のステップS901では、スーパーノード104のファイル管理部209は、ファイル管理情報を作成するが、ファイル管理情報は、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための「符号化ファイル名」と、符号化ファイルを保管した分散ディスク101を特定するための分散ディスクノード名とを対応付けた情報である。なお、元ファイル名と「符号化ファイル名」との対応に係る情報は、分割符号化部207から取得し、「符号化ファイル名」と分散ディスクノード名との対応に係る情報は、配信部208から取得する。
Then, on the premise of the data (encoded file name and file management information) as described above, in step S703 in FIG. 7, in the data storage process, the
そして、前述のようなデータ(符号化ファイル名及びファイル管理情報)を前提として、データ読込み処理において、図10のステップS1003では、ファイル管理情報記憶部203に保管されたファイル管理情報を参照することにより、元ファイル名に対応する符号化ファイル名と、前述の符号化ファイル各々に対応する分散ディスクノード名を認識することが可能であるので、スーパーノード104の再生部210は、ファイル管理情報により、元ファイルから生成した符号化ファイルを保管する分散ディスク101を特定し、該当の分散ディスク101に対して、正常稼動の確認要求を行う。次に、ステップS1004では、符号化データ記憶部201は、正常稼動していれば、応答を返す。
In the data reading process on the premise of the data (encoded file name and file management information) as described above, the file management information stored in the file management
そして、前述のようなデータ(符号化ファイル名及びファイル管理情報)を前提として、データ復元処理において、図12の処理の流れは以下のようになる。スーパーノード104の分散ディスク復元部205は、分散ディスク記憶部2(206)を参照し、復元依頼を受け付けた分散ディスク101の分散ディスクノード名を認識する。(ステップS1201)次に、分散ディスク復元部205は、ファイル管理情報記憶部203を参照し、ファイル管理情報から、認識した分散ディスクノード名に対応する元ファイル名と符号化ファイル名とを全て検索する(ステップS1202)。次に、分散ディスク復元部205は、検索した元ファイル名ごとに、ステップS1203からステップS1208までの処理を繰り返す。
Then, assuming the data (encoded file name and file management information) as described above, the flow of the process in FIG. 12 is as follows in the data restoration process. The distributed
分散ディスク復元部205は、「ステップS1202で検索した符号化ファイル名」から、前記元ファイルを復号するために必要な「他の符号化ファイル名」と、前記「他の符号化ファイル名」に対応する稼動中の分散ディスクノード名とを確定する(ステップS1203)。すなわち、分散ディスク復元部205は、ファイル管理情報記憶部203を参照し、まず、「ステップS1202で検索した符号化ファイル名」に対応する元ファイル名を特定する。次に、ファイル管理情報記憶部203を参照し、特定した元ファイル名各々について、この元ファイルを分割し符号化することにより作成されたものである符号化ファイルの符号化ファイル名を特定する。次に、特定された全ての符号化ファイル名から、「ステップS1202で検索した符号化ファイル名」を省いたものが、前述の「他の符号化ファイル名」である。次に、ファイル管理情報記憶部203を参照し、前記「他の符号化ファイル名」に対応する稼動中の分散ディスクノード名とを確定する。
The distributed
次に、分散ディスク復元部205は、稼動中の分散ディスク101から、復元に必要な「他の符号化ファイル名」を持つ符号化ファイルを取得する(ステップS1204)。次に、分散ディスク復元部205は、取得した符号化ファイルから復号ファイルを再生する(ステップS1205)。
Next, the distributed
次に、分散ディスク復元部205は、復号ファイルを分割し符号化し、復元すべき符号化ファイル(「ステップS1202で検索した符号化ファイル名」を持つ符号化ファイル)を生成する(ステップS1206)。ここで、分割と符号化にあたっては、前述のようなデータ(符号化ファイル名及びファイル管理情報)を前提としたステップS703と同様の手順で行うこととする。復号ファイルを分割し符号化し、150個の符号化ファイルを作成し、この中から、「ステップS1202で検索した符号化ファイル名」を持つ符号化ファイルのみを残して、他を削除する。次に、分散ディスク復元部205は、復元依頼を受け付けた分散ディスク101へ、ステップS1206で作成した符号化ファイルを送信する(ステップS1207)。次に、分散ディスク復元部205は、ステップS1202で検索した全ての元ファイルについて処理を完了したか確認し、完了していれば、ステップS1106を終了し、完了していなければ、ステップS1203に戻り、ステップS1208までの処理を繰り返す(ステップS1208)。
Next, the distributed
以上のように、本実施の形態では、スーパーノードを1台のみ有し、別途管理端末を有さない構成であっても、スーパーノード104がファイル管理情報を保管し、ファイル管理情報を使用して任意の1台の分散ディスク101上の符号化ファイル全ての復元が可能であるため、分散ディスク101を、故障、その他の諸事情による修理・交換することが容易になり、実施の形態1と同様に、分散ストレージシステム100の保守性を向上することができる。
As described above, in this embodiment, even if the configuration has only one super node and no separate management terminal, the
100 分散ストレージシステム、101 分散ディスク、102 管理端末、103 管理者ネットワーク、104 スーパーノード、105 WAN(Wide Area Netowork)、106 ユーザ端末、201 符号化データ記憶部、202 分散ディスク記憶部1、203 ファイル管理情報記憶部、204 分散ディスク状態確認部、205 分散ディスク復元部、206 分散ディスク記憶部2、207 分割符号化部、208 配信部、209 ファイル管理部、210 再生部、211 スーパーノード記憶部、212 保管依頼部、213 読込み依頼部、301 表示装置、302 K/B、303 マウス、304 FDD、305 CDD、311 CPU、312 バス、313 ROM、314 RAM、315 通信ボード、320 磁気ディスク装置、321 OS、322 ウィンドウシステム、323 プログラム群、324 ファイル群。
100 distributed storage system, 101 distributed disk, 102 management terminal, 103 administrator network, 104 super node, 105 WAN (Wide Area Network), 106 user terminal, 201 encoded data storage unit, 202 distributed
Claims (7)
前記スーパーノードは、
前記ユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成し、前記符号化ファイル名を、前記元ファイルとの対応を特定するための文字列を含んだ名称とする分割符号化部と、
前記複数の符号化ファイル各々を、異なる複数の分散ディスクに保管依頼する配信部と、
前記複数の符号化ファイルを分散ディスクの保管後、前記元ファイル、前記複数の符号化ファイル、前記元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報を削除するファイル管理部と、
前記ユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、分散ディスクに対して、前記元ファイルから生成された符号化ファイルを保管しているかどうかの確認を行い、前記元ファイルと符号化ファイル名とを比べることにより、保管を確認できた前記分散ディスクから所定の個数の前記符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生部と
を備えた事を特徴とする分散ストレージシステム。 A distributed storage system having a super node connected to a plurality of distributed disks and one or a plurality of user terminals via a network and receiving a file storage request and a read request,
The super node is
When receiving the original file to be distributed and the storage request for the original file from the user terminal, a plurality of encoded files obtained by dividing and encoding the original file are generated, and the encoded file names A division encoding unit having a name including a character string for specifying the correspondence with the original file,
A distribution unit that requests storage of each of the plurality of encoded files on a plurality of different distributed disks;
After the plurality of encoded files are stored on a distributed disk, the original file, the plurality of encoded files, information that can specify the original file or the plurality of encoded files, and the plurality of encoded files are stored. A file management unit that deletes information that can identify a plurality of distributed files,
When receiving the original file name and the read request of the original file from the user terminal, it is confirmed whether or not the encoded file generated from the original file is stored in the distributed disk, A reproduction unit that reproduces the original file by obtaining and decoding a predetermined number of the encoded files from the distributed disk whose storage has been confirmed by comparing the file and the encoded file name; Distributed storage system characterized by
前記ファイル管理部は、さらに、元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成して、前記管理端末に送信し、送信完了した前記ファイル管理情報を削除し、
前記管理端末は、
前記ファイル管理部から受信した前記ファイル管理情報を保管するファイル管理情報記憶部と、
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶部に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元部と
を備えたことを特徴とする請求項1に記載の分散ストレージシステム。 The distributed storage system further includes a management terminal connected to the super node via a network,
The file management unit further generates file management information indicating correspondence between the original file, the encoded file, and the distributed disk, transmits the file management information to the management terminal, deletes the file management information that has been transmitted,
The management terminal
A file management information storage unit for storing the file management information received from the file management unit;
Based on the request for restoration of any distributed disk, the encoded file stored in the distributed disk and the original file corresponding to the encoded file are obtained from the file management information stored in the file management information storage unit. Identifying and obtaining other encoded files stored on a distributed disk other than the distributed disk necessary for decoding the original file, decoding the original file from the other encoded files, A distributed disk restoration unit that regenerates the encoded file by dividing and encoding the decoded original file, and requests the storage of the regenerated encoded file in the distributed disk; The distributed storage system according to claim 1.
複数の分散ディスクに対して正常稼動しているかどうかの確認を行い、正常稼動を確認できなかった分散ディスクについてはアラームを出力し、その後、前記正常稼動を確認できなかった分散ディスクから正常稼動の通知を受信した場合、前記分散ディスク復元部に前記正常稼動を確認できなかった分散ディスクの復元を指示する分散ディスク状態確認部
を備えた事を特徴とする請求項2に記載の分散ストレージシステム。 The management terminal further includes:
Checks whether multiple distributed disks are operating normally, outputs an alarm for distributed disks that could not be confirmed to operate normally, and then started normal operation from the distributed disks that could not be confirmed to operate normally. 3. The distributed storage system according to claim 2, further comprising a distributed disk state confirmation unit that instructs the distributed disk restoration unit to restore the distributed disk that could not confirm the normal operation when the notification is received.
前記ユーザ端末は、
複数の前記スーパーノードから、正常稼動中の任意のひとつのスーパーノードを選択して、ファイルの保管依頼及び読込み依頼を行うこと
を特徴とする請求項1から3のいずれかに記載の分散ストレージシステム。 The distributed storage system further includes a plurality of the super nodes and user terminals connected to the plurality of super nodes via a network,
The user terminal is
4. The distributed storage system according to claim 1, wherein an arbitrary one super node that is operating normally is selected from the plurality of super nodes, and a file storage request and a read request are made. .
前記スーパーノードは、
前記ユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成する分割符号化部と、
前記複数の符号化ファイル各々を、異なる分散ディスクに保管依頼する配信部と、
元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成するファイル管理部と、
前記ファイル管理情報を保管するファイル管理情報記憶部と、
前記ユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、前記ファイル管理情報により、前記元ファイルから生成した符号化ファイルを保管する分散ディスクを特定し、前記分散ディスクに対して、正常稼動の確認を行い、確認できた前記分散ディスクから所定の個数の符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生部と
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶部に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元部と
を備えたことを特徴とする分散ストレージシステム。 A distributed storage system having a super node connected to a plurality of distributed disks and one or a plurality of user terminals via a network and receiving a file storage request, a read request, and a distributed disk restoration request,
The super node is
When receiving an original file to be distributed and a storage request for the original file from the user terminal, a division encoding unit that generates a plurality of encoded files obtained by dividing and encoding the original file;
A distribution unit that requests storage of each of the plurality of encoded files on different distributed disks;
A file management unit that generates file management information indicating correspondence between the original file, the encoded file, and the distributed disk;
A file management information storage unit for storing the file management information;
When receiving the original file name and the read request of the original file from the user terminal, the file management information identifies a distributed disk that stores the encoded file generated from the original file, and Then, a normal operation is confirmed, a predetermined number of encoded files are obtained from the confirmed distributed disk, and the playback unit that reproduces the original file and decoding request for any distributed disk are obtained by decoding. Based on the file management information, the encoded file stored in the distributed disk and the original file corresponding to the encoded file are identified from the file management information stored in the file management information storage unit, and the original file is decoded. Identify and capture other encoded files stored on a distributed disk other than the distributed disk Then, the original file is decoded from the other encoded files, the decoded original file is divided and encoded, and the encoded file is regenerated and regenerated on the distributed disk. A distributed storage system comprising: a distributed disk restoration unit that requests storage of the encoded file.
前記複数の符号化ファイル各々を、ネットワークを介して接続された、異なる複数の分散ディスクに保管依頼する配信処理と、
前記複数の符号化ファイルを分散ディスクの保管後、前記元ファイル、前記複数の符号化ファイル、前記元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報を削除するファイル管理処理と、
ネットワークを介して接続されたユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、分散ディスクに対して、前記元ファイルから生成された符号化ファイルを保管しているかどうかの確認を行い、前記元ファイルと符号化ファイル名とを比べることにより、保管を確認できた前記分散ディスクから所定の個数の前記符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生処理と
をコンピュータに実行させることを特徴とする分散ストレージプログラム。 When receiving an original file to be distributed and a storage request for the original file from a user terminal connected via a network, a plurality of encoded files obtained by dividing and encoding the original file are generated. , A division encoding process in which the encoded file name is a name including a character string for specifying correspondence with the original file;
A delivery process for requesting storage of each of the plurality of encoded files to a plurality of different distributed disks connected via a network;
After the plurality of encoded files are stored on a distributed disk, the original file, the plurality of encoded files, information that can specify the original file or the plurality of encoded files, and the plurality of encoded files are stored. File management process to delete information that can identify multiple distributed files,
When an original file name and a request to read the original file are received from a user terminal connected via a network, whether or not the encoded file generated from the original file is stored in a distributed disk Confirming and comparing the original file with the encoded file name, obtains a predetermined number of the encoded files from the distributed disk whose storage has been confirmed, and reproduces the original file by decoding. A distributed storage program characterized by causing a computer to execute a reproduction process.
前記複数の符号化ファイル各々を、ネットワークを介して接続された、異なる分散ディスクに保管依頼する配信処理と、
元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成するファイル管理処理と、
前記ファイル管理情報を保管するファイル管理情報記憶処理と、
ネットワークを介して接続されたユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、前記ファイル管理情報により、前記元ファイルから生成した符号化ファイルを保管する分散ディスクを特定し、前記分散ディスクに対して、正常稼動の確認を行い、確認できた前記分散ディスクから所定の個数の符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生処理と
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶処理に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元処理と
をコンピュータに実行させることを特徴とする分散ストレージプログラム。 When an original file to be distributed and a storage request for the original file are received from a user terminal connected via a network, a plurality of encoded files obtained by dividing and encoding the original file are generated. Division coding processing,
A delivery process for requesting storage of each of the plurality of encoded files to different distributed disks connected via a network;
A file management process for generating file management information indicating the correspondence between the original file, the encoded file, and the distributed disk;
A file management information storage process for storing the file management information;
When an original file name and a request to read the original file are received from a user terminal connected via a network, a distributed disk that stores an encoded file generated from the original file is specified by the file management information. The normal operation of the distributed disk is confirmed, a predetermined number of encoded files are obtained from the confirmed distributed disk, and decoding is performed to reproduce the original file. Based on the request to restore the distributed disk, the encoded file stored in the distributed disk and the original file corresponding to the encoded file are identified from the file management information stored in the file management information storage process. Stored on a distributed disk other than the distributed disk required to decrypt the original file Identifying and obtaining the encoded file, decoding the original file from the other encoded files, dividing the decoded original file, and encoding to regenerate the encoded file; A distributed storage program which causes a computer to execute a distributed disk restoration process for requesting storage of the regenerated encoded file in the distributed disk.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006092704A JP2007265314A (en) | 2006-03-30 | 2006-03-30 | Distributed storage system and distributed storage program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006092704A JP2007265314A (en) | 2006-03-30 | 2006-03-30 | Distributed storage system and distributed storage program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007265314A true JP2007265314A (en) | 2007-10-11 |
Family
ID=38638199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006092704A Pending JP2007265314A (en) | 2006-03-30 | 2006-03-30 | Distributed storage system and distributed storage program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007265314A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017519320A (en) * | 2014-06-04 | 2017-07-13 | ピュア ストレージ, インコーポレイテッド | Storage cluster |
-
2006
- 2006-03-30 JP JP2006092704A patent/JP2007265314A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017519320A (en) * | 2014-06-04 | 2017-07-13 | ピュア ストレージ, インコーポレイテッド | Storage cluster |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9116626B2 (en) | Failsafe directory file system in a dispersed storage network | |
US9323603B2 (en) | Storage of sensitive data in a dispersed storage network | |
US9049463B2 (en) | Data distribution utilizing unique read parameters in a dispersed storage system | |
US9063881B2 (en) | Slice retrieval in accordance with an access sequence in a dispersed storage network | |
US9170884B2 (en) | Utilizing cached encoded data slices in a dispersed storage network | |
US9697244B2 (en) | Record addressing information retrieval based on user data descriptors | |
US9009575B2 (en) | Rebuilding a data revision in a dispersed storage network | |
US20170286239A1 (en) | Migrating data slices within a dispersed storage network | |
CN108701197A (en) | The safety slice of efficient secret key encryption | |
US9632722B2 (en) | Balancing storage unit utilization within a dispersed storage network | |
US9606858B2 (en) | Temporarily storing an encoded data slice | |
US9229824B2 (en) | Caching rebuilt encoded data slices in a dispersed storage network | |
JP2007265314A (en) | Distributed storage system and distributed storage program | |
JP2008191898A (en) | Data backup system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090916 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100202 |