(57)【要約】【課題】より安全性の高い分散ストレージシステムを得ることを目的とする。【解決手段】スーパーノード１０４は、消失訂正符号化技術を用いて、ファイルを複数の分散ディスク１０１に保管し・再生する。スーパーノード１０４は、複数あるため負荷を分散することが可能であり、管理情報を保管しないため、安全である。管理端末１０２は、管理情報を保管しており、一般のユーザはアクセスできないため安全である。分散ディスクが壊れても、管理端末１０２から、管理情報を用いて復元することができ、安全である。【選択図】図１
2007265314.tif 000002
【特許請求の範囲】
【請求項１】
複数の分散ディスク及びひとつ又は複数のユーザ端末にネットワークを介して接続され、ファイルの保管依頼及び読込み依頼を受け付けるスーパーノードを有する分散ストレージシステムであり、
前記スーパーノードは、
前記ユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成し、前記符号化ファイル名を、前記元ファイルとの対応を特定するための文字列を含んだ名称とする分割符号化部と、
前記複数の符号化ファイル各々を、異なる複数の分散ディスクに保管依頼する配信部と、
前記複数の符号化ファイルを分散ディスクの保管後、前記元ファイル、前記複数の符号化ファイル、前記元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報を削除するファイル管理部と、
前記ユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、分散ディスクに対して、前記元ファイルから生成された符号化ファイルを保管しているかどうかの確認を行い、前記元ファイルと符号化ファイル名とを比べることにより、保管を確認できた前記分散ディスクから所定の個数の前記符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生部と
を備えた事を特徴とする分散ストレージシステム。
【請求項２】
前記分散ストレージシステムは、さらに前記スーパーノードとネットワークを介して接続された管理端末を有し、
前記ファイル管理部は、さらに、元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成して、前記管理端末に送信し、送信完了した前記ファイル管理情報を削除し、
前記管理端末は、
前記ファイル管理部から受信した前記ファイル管理情報を保管するファイル管理情報記憶部と、
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶部に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元部と
を備えたことを特徴とする請求項１に記載の分散ストレージシステム。
【請求項３】
前記管理端末は、さらに、
複数の分散ディスクに対して正常稼動しているかどうかの確認を行い、正常稼動を確認できなかった分散ディスクについてはアラームを出力し、その後、前記正常稼動を確認できなかった分散ディスクから正常稼動の通知を受信した場合、前記分散ディスク復元部に前記正常稼動を確認できなかった分散ディスクの復元を指示する分散ディスク状態確認部
を備えた事を特徴とする請求項２に記載の分散ストレージシステム。
【請求項４】
前記分散ストレージシステムは、さらに複数の前記スーパーノードと、前記複数のスーパーノードとネットワークを介して接続されたユーザ端末とを有し、
前記ユーザ端末は、
複数の前記スーパーノードから、正常稼動中の任意のひとつのスーパーノードを選択して、ファイルの保管依頼及び読込み依頼を行うこと
を特徴とする請求項１から３のいずれかに記載の分散ストレージシステム。
【請求項５】
複数の分散ディスク及びひとつ又は複数のユーザ端末にネットワークを介して接続され、ファイルの保管依頼、読込み依頼、及び分散ディスクの復元依頼を受け付けるスーパーノードを有する分散ストレージシステムであり、
前記スーパーノードは、
前記ユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成する分割符号化部と、
前記複数の符号化ファイル各々を、異なる分散ディスクに保管依頼する配信部と、
元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成するファイル管理部と、
前記ファイル管理情報を保管するファイル管理情報記憶部と、
前記ユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、前記ファイル管理情報により、前記元ファイルから生成した符号化ファイルを保管する分散ディスクを特定し、前記分散ディスクに対して、正常稼動の確認を行い、確認できた前記分散ディスクから所定の個数の符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生部と
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶部に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元部と
を備えたことを特徴とする分散ストレージシステム。
【請求項６】
ネットワークを介して接続されたユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成し、前記符号化ファイル名を、前記元ファイルとの対応を特定するための文字列を含んだ名称とする分割符号化処理と、
前記複数の符号化ファイル各々を、ネットワークを介して接続された、異なる複数の分散ディスクに保管依頼する配信処理と、
前記複数の符号化ファイルを分散ディスクの保管後、前記元ファイル、前記複数の符号化ファイル、前記元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報を削除するファイル管理処理と、
ネットワークを介して接続されたユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、分散ディスクに対して、前記元ファイルから生成された符号化ファイルを保管しているかどうかの確認を行い、前記元ファイルと符号化ファイル名とを比べることにより、保管を確認できた前記分散ディスクから所定の個数の前記符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生処理と
をコンピュータに実行させることを特徴とする分散ストレージプログラム。
【請求項７】
ネットワークを介して接続されたユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成する分割符号化処理と、
前記複数の符号化ファイル各々を、ネットワークを介して接続された、異なる分散ディスクに保管依頼する配信処理と、
元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成するファイル管理処理と、
前記ファイル管理情報を保管するファイル管理情報記憶処理と、
ネットワークを介して接続されたユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、前記ファイル管理情報により、前記元ファイルから生成した符号化ファイルを保管する分散ディスクを特定し、前記分散ディスクに対して、正常稼動の確認を行い、確認できた前記分散ディスクから所定の個数の符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生処理と
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶処理に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元処理と
をコンピュータに実行させることを特徴とする分散ストレージプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散ストレージシステム及び分散ストレージプログラムに関する。
【背景技術】
【０００２】
図１４に、従来の専用ストレージシステムの代表的な構成であるＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の構成図を示す。ＳＡＮは、データを保管する専用ストレージデバイス１４０１、ファイルサーバ１４０３、ユーザ端末１４０５、専用ストレージデバイス１４０１とファイルサーバ１４０３とを高速に接続するＦＣ  ＳＷ（ＦｉｂｒｅＣｈａｎｎｅｌ  Ｓｗｉｔｃｈ）１４０２、及びファイルサーバ１４０３とユーザ端末１４０５を接続するインターネット１４０４から構成される。ユーザが、ユーザ端末１４０５からファイルサーバ１４０３に対して、ファイルの読出し又は書込み等の依頼を行うと、自動的に専用ストレージデバイス１４０１に読出し又は書込み等の処理が行なわれる。
【０００３】
図１５に特開２００３−３４８０６５号公報に示されるデータ分散保管システムの構成を示す。前記データ分散保管システムは、複数の分散保管サーバ１５０１、ユーザーパソコン１５０３、及び複数の分散保管サーバ１５０１とユーザーパソコン１５０３とを接続するインターネット１５０２から構成される。
【０００４】
次に、図１６のフローチャートを用いて、図１５のデータ分散保管システムにおけるデータ保管の処理の流れを説明する。ユーザーパソコン１５０３は、ユーザからデータ保管の依頼を受け付けると、保管対象の元データファイルを暗号化し、誤り訂正符号化し、五つの冗長化ファイルを生成する（ステップＳ１６０１）。次に、暗号鍵をシェア鍵に符号化する（ステップＳ１６０２）。次に、冗長化ファイルとシェア鍵を五つの分散保管ペアとして、インターネットを介して五つの分散保管サーバへ送信する（ステップＳ１６０３）。
【０００５】
次に、図１７のフローチャートを用いて、図１５のデータ分散保管システムにおけるデータ再生の処理の流れを説明する。ユーザーパソコン１５０３は、ユーザからデータ再生の依頼を受け付けると、インターネットを介して分散保管サーバにアクセスして冗長化ファイルとシェア鍵のペアを取得する（ステップＳ１７０１）。なお、２個のシェア鍵があれば、暗号鍵を復元でき、３つの冗長化ファイルがあれば、誤り訂正復号により暗号化ファイルを得ることができる。次に、誤り訂正復号により暗号化ファイルを復元する（ステップＳ１７０２）。次に、暗号化ファイルを暗号鍵で復号して、元データファイルを得る（ステップＳ１７０３）。
【特許文献１】特開２００３−３４８０６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の専用ストレージシステムの代表的な構成であるＳＡＮでは、専用ストレージデバイスが非常に高価であること、専用ストレージデバイスに負荷が集中すること、データが分散されていないため災害時に専用ストレージデバイスが破損した場合、保管したデータを全て紛失する可能性があること、等の問題点があった。
【０００７】
また、特開２００３−３４８０６５号公報に示されるデータ分散保管システムでは、ユーザーパソコンが全ての処理を行うため、ユーザーパソコンに負荷が集中すること、分散保管サーバが故障するなどした場合に保管したデータの復元手段がなく、予め想定した個数以上の分散保管サーバが破損した場合には、保管したデータを復号できなくなること等の問題点があった。また、前述のようなデータ分散保管システムでは、ファイル管理をユーザーパソコンにおいて行っており、管理情報の安全性に問題があった。また、複数のユーザーパソコンから分散保管サーバを使用する場合に、あるデータの保管を依頼したユーザーパソコンとは異なるユーザーパソコンから、同じデータの再生を依頼するなどの柔軟性に欠けていた。
【０００８】
本発明は、前述のような問題点を解決するためのものであり、消失訂正符号化技術を用いた分散ストレージシステムにおいて、ユーザからファイルの保管依頼及び読込み依頼を受け付けて、実際の保管処理及び読込み処理を行うコンピュータであるスーパーノードにおいて、分散保管の対象となる元ファイル、元ファイルを分割して符号化した符号化ファイル、及び符号化ファイルを保管する分散ディスク等に係る名称、ＩＤなどの管理情報を、保管処理中及び読込み処理中以外は、記憶しないようにして、情報秘匿性の高い分散ストレージシステムを得ること、また、複数の分散ディスクの内、任意の１台が故障又は非正常稼動となった場合に、該当の分散ディスク上に保管されていた符号化ファイル全てを、修理又は交換後の分散ディスク上に復元できるようにして、信頼性・保守性の高い分散ストレージシステムを得ること、などにより、情報隠匿性・信頼性・保守性などの面で、より安全性の高い分散ストレージシステムを得ることが目的である。
【課題を解決するための手段】
【０００９】
本発明に係る分散ストレージシステムは、
複数の分散ディスク及びひとつ又は複数のユーザ端末にネットワークを介して接続され、ファイルの保管依頼及び読込み依頼を受け付けるスーパーノードを有する分散ストレージシステムであり、
前記スーパーノードは、
前記ユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成し、前記符号化ファイル名を、前記元ファイルとの対応を特定するための文字列を含んだ名称とする分割符号化部と、
前記複数の符号化ファイル各々を、異なる複数の分散ディスクに保管依頼する配信部と、
前記複数の符号化ファイルを分散ディスクの保管後、前記元ファイル、前記複数の符号化ファイル、前記元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報を削除するファイル管理部と、
前記ユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、分散ディスクに対して、前記元ファイルから生成された符号化ファイルを保管しているかどうかの確認を行い、前記元ファイルと符号化ファイル名とを比べることにより、保管を確認できた前記分散ディスクから所定の個数の前記符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生部と
を備えた事を特徴とする。
【００１０】
前記分散ストレージシステムは、さらに前記スーパーノードとネットワークを介して接続された管理端末を有し、
前記ファイル管理部は、さらに、元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成して、前記管理端末に送信し、送信完了した前記ファイル管理情報を削除し、
前記管理端末は、
前記ファイル管理部から受信した前記ファイル管理情報を保管するファイル管理情報記憶部と、
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶部に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元部と
を備えたことを特徴とする。
【００１１】
前記管理端末は、さらに、
複数の分散ディスクに対して正常稼動しているかどうかの確認を行い、正常稼動を確認できなかった分散ディスクについてはアラームを出力し、その後、前記正常稼動を確認できなかった分散ディスクから正常稼動の通知を受信した場合、前記分散ディスク復元部に前記正常稼動を確認できなかった分散ディスクの復元を指示する分散ディスク状態確認部
を備えたことを特徴とする。
【００１２】
前記分散ストレージシステムは、さらに複数の前記スーパーノードと、前記複数のスーパーノードとネットワークを介して接続されたユーザ端末とを有し、
前記ユーザ端末は、
複数の前記スーパーノードから、正常稼動中の任意のひとつのスーパーノードを選択して、ファイルの保管依頼及び読込み依頼を行うこと
を特徴とする。
【００１３】
また、本発明に係る分散ストレージシステムは、
複数の分散ディスク及びひとつ又は複数のユーザ端末にネットワークを介して接続され、ファイルの保管依頼、読込み依頼、及び分散ディスクの復元依頼を受け付けるスーパーノードを有する分散ストレージシステムであり、
前記スーパーノードは、
前記ユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成する分割符号化部と、
前記複数の符号化ファイル各々を、異なる分散ディスクに保管依頼する配信部と、
元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成するファイル管理部と、
前記ファイル管理情報を保管するファイル管理情報記憶部と、
前記ユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、前記ファイル管理情報により、前記元ファイルから生成した符号化ファイルを保管する分散ディスクを特定し、前記分散ディスクに対して、正常稼動の確認を行い、確認できた前記分散ディスクから所定の個数の符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生部と
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶部に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元部と
を備えたことを特徴とする。
【００１４】
また、本発明に係る分散ストレージプログラムは、
ネットワークを介して接続されたユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成し、前記符号化ファイル名を、前記元ファイルとの対応を特定するための文字列を含んだ名称とする分割符号化処理と、
前記複数の符号化ファイル各々を、ネットワークを介して接続された、異なる複数の分散ディスクに保管依頼する配信処理と、
前記複数の符号化ファイルを分散ディスクの保管後、前記元ファイル、前記複数の符号化ファイル、前記元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報を削除するファイル管理処理と、
ネットワークを介して接続されたユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、分散ディスクに対して、前記元ファイルから生成された符号化ファイルを保管しているかどうかの確認を行い、前記元ファイルと符号化ファイル名とを比べることにより、保管を確認できた前記分散ディスクから所定の個数の前記符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生処理と
をコンピュータに実行させることを特徴とする。
【００１５】
また、本発明に係る分散ストレージプログラムは、
ネットワークを介して接続されたユーザ端末から、分散保管の対象となる元ファイルと、前記元ファイルの保管依頼とを受け付けると、前記元ファイルを分割して符号化した複数の符号化ファイルを生成する分割符号化処理と、
前記複数の符号化ファイル各々を、ネットワークを介して接続された、異なる分散ディスクに保管依頼する配信処理と、
元ファイルと符号化ファイルと分散ディスクとの対応を表すファイル管理情報を生成するファイル管理処理と、
前記ファイル管理情報を保管するファイル管理情報記憶処理と、
ネットワークを介して接続されたユーザ端末から、元ファイル名と、前記元ファイルの読込み依頼とを受け付けると、前記ファイル管理情報により、前記元ファイルから生成した符号化ファイルを保管する分散ディスクを特定し、前記分散ディスクに対して、正常稼動の確認を行い、確認できた前記分散ディスクから所定の個数の符号化ファイルを取得して、復号することにより、前記元ファイルを再生する再生処理と
任意の分散ディスクの復元依頼要求に基づき、前記ファイル管理情報記憶処理に保管された前記ファイル管理情報から、前記分散ディスクに保管された符号化ファイルと、前記符号化ファイルに対応する元ファイルとを特定し、前記元ファイルを復号するために必要な前記分散ディスク以外の分散ディスクに保管されるその他の符号化ファイルを特定して取得し、前記その他の符号化ファイルから前記元ファイルを復号し、復号された前記元ファイルを分割し、符号化することにより、前記符号化ファイルを再生成し、前記分散ディスクに、再生成された前記符号化ファイルを保管依頼する分散ディスク復元処理と
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、より安全性の高い分散ストレージシステムを得ることができる。
【発明を実施するための最良の形態】
【００１７】
実施の形態１．
以下、図１を用いて、本実施の形態における分散ストレージシステム１００の構成を説明する。本実施の形態における分散ストレージシステム１００は、データを保管する複数の分散ディスク１０１と、分散ディスク１０１に保管されたデータのファイル管理情報を扱う管理端末１０２と、分散保管のための分割、及び符号化を行なう複数のスーパーノード１０４と、ユーザからのデータ保管の依頼、及びデータ読込みの依頼を受け付ける複数のユーザ端末１０６と、分散ディスク１０１、管理端末１０２、及びスーパーノード１０４を接続する管理者ネットワーク１０３と、スーパーノード１０４、及びユーザ端末１０６を接続するＷＡＮ１０５（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）とから構成される。ユーザは任意のユーザ端末１０６から、任意のスーパーノード１０４を選択して、元ファイルの保管を依頼し、依頼を受け付けたスーパーノード１０４は元ファイルを分割及び符号化して、分散ディスク１０１に保管し、元ファイルをどの分散ディスク１０１に保管したのかに係るファイル管理情報を管理端末１０２に保管する。また、ユーザは任意のユーザ端末１０６から、任意のスーパーノード１０４を選択して、元ファイルの読込みを依頼し、依頼を受け付けたスーパーノード１０４は分散ディスク１０１に保管された元ファイルに係るデータを取得して復号し、ユーザ端末１０６に送信する。また、管理端末１０２は、前述のように保管されたファイル管理情報により、任意の分散ディスク１０１のデータを復元する。なお、管理端末１０２は、管理者ネットワーク１０３に接続されており、ＷＡＮ１０５には接続されていないため、管理者を除く一般のユーザはアクセスできない。管理者ネットワーク１０３は、ファイアウォールで保護されたＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であることが望ましい。ＷＡＮ１０５は、スーパーノード１０４と広範囲に配置されたユーザ端末１０６とを接続することを想定しているが、ＬＡＮ等、狭い範囲で構築されていても構わない。
【００１８】
次に、図２を用いて、本実施の形態における分散ストレージシステム１００の詳細な構成を説明する。分散ディスク１０１は、分割されて符号化されたデータを保管する符号化データ記憶部２０１を有する。分割されて符号化されたデータについては、図４において後述する。また、分割されて符号化されたデータの名称については、図５において後述する。
【００１９】
管理端末１０２は、分散ディスク記憶部１（２０２）と、ファイル管理情報記憶部２０３と、分散ディスク状態確認部２０４と、分散ディスク復元部２０５とを有する。分散ディスク記憶部１（２０２）は、複数の分散ディスク１０１のノード名、及びＩＰアドレスなどを対応付けて保管する。ファイル管理情報記憶部２０３は、保管対象である元ファイルを特定するＩＤ（元ファイル名）と、元ファイルを分割して符号化した符号化ファイルを特定するＩＤ（符号化ファイルＮｏ．）と、保管した分散ディスク１０１を特定するＩＤ（分散ディスクノード名）とを対応付けたファイル管理情報を保管する。分散ディスク状態確認部２０４は、分散ディスク１０１が正常稼動しているかどうかの確認、及び復元の指示を行う。分散ディスク復元部２０５は、ファイル管理情報記憶部２０３に保管されたファイル管理情報により、任意の分散ディスク１０１の復元を行う。ファイル管理情報記憶部２０３に保管されたファイル管理情報については、図６において後述する。
【００２０】
スーパーノード１０４は、分散ディスク記憶部２（２０６）と、分割符号化部２０７と、配信部２０８と、ファイル管理部２０９と、再生部２１０とを有する。分散ディスク記憶部２（２０６）は、複数の分散ディスクのノード名、及びＩＰアドレスなどを対応付けて保管する。分割符号化部２０７は、保管対象である元ファイルを分割して符号化して、符号化ファイルを作成する。配信部２０８は、前述の複数の符号化ファイルを、複数の分散ディスク１０１に配信する。ファイル管理部２０９は、保管対象である元ファイルを特定するＩＤ（元ファイル名）と、元ファイルを分割して符号化した符号化ファイルを特定するＩＤ（符号化ファイルＮｏ．）と、保管した分散ディスク１０１を特定するＩＤ（分散ディスクノード名）とを対応付けたファイル管理情報を作成し、管理端末１０２に送信する。なお、ファイル管理情報については、図５において後述する。再生部２１０は、元ファイルの再生の依頼をユーザ端末１０６から受け付けると、分散ディスク１０１から、依頼を受け付けた元ファイルに係るデータを、復元に必要な個数だけ取得し、元ファイルの再生を行う。
【００２１】
ユーザ端末１０６は、スーパーノード記憶部２１１と、保管依頼部２１２と、読込み依頼部２１３とを有する。スーパーノード記憶部２１１は、複数のスーパーノード１０４のノード名、及びＩＰアドレスなどを対応付けて保管する。保管依頼部２１２は、任意のスーパーノード１０４に対して、元ファイルの保管を依頼する。読込み依頼部２１３は、任意のスーパーノード１０４に対して、元ファイルの復元を依頼する。
【００２２】
図３は、分散ストレージシステム１００のハードウェア資源の一例を示す図である。分散ストレージシステム１００を構成する複数の分散ディスク１０１、管理端末１０２、複数のスーパーノード１０４、及び複数のユーザ端末１０６の各々は、例えば図３に示すようなパーソナルコンピュータにより構成されている。ただし、分散ディスク１０１については、ストレージ専用のデバイスであってもかまわない。
【００２３】
図３において、分散ストレージシステム１００を構成する複数の分散ディスク１０１、管理端末１０２、複数のスーパーノード１０４、及び複数のユーザ端末１０６の各々は、不図示のシステムユニット、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やＬＣＤ（液晶ディスプレイ）の表示画面を有する表示装置３０１、キーボード３０２（Ｋ／Ｂ）、マウス３０３、ＦＤＤ３０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ３０５（コンパクトディスク装置）等のハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニットは、パーソナルコンピュータであり、例えばＬＡＮ（ローカルエリアネットワーク）、ゲートウェイを介してＷＡＮに接続されている。
【００２４】
また、分散ストレージシステム１００を構成する複数の分散ディスク１０１、管理端末１０２、複数のスーパーノード１０４、及び複数のユーザ端末１０６の各々は、プログラムを実行するＣＰＵ３１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、演算装置ともいう）を備えている。ＣＰＵ３１１は、バス３１２を介してＲＯＭ３１３（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ３１４（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、通信ボード３１５、表示装置３０１、キーボード３０２、マウス３０３、ＦＤＤ３０４、ＣＤＤ３０５、磁気ディスク装置３２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置３２０の代わりに、光ディスク装置、メモリカードリーダライタ等の記録装置が用いられてもよい。
【００２５】
ＲＡＭ３１４は、揮発性メモリの一例である。ＲＯＭ３１３、ＦＤＤ３０４、ＣＤＤ３０５、磁気ディスク装置３２０の記憶媒体は、不揮発性メモリの一例である。
【００２６】
通信ボード３１５は、ＬＡＮ、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等に接続されている。ＷＡＮにはゲートウェイを介して接続されていてもよい。
【００２７】
磁気ディスク装置３２０には、オペレーティングシステム３２１（ＯＳ）、ウィンドウシステム３２２、プログラム群３２３、ファイル群３２４が記憶されている。プログラム群３２３のプログラムは、ＣＰＵ３１１、オペレーティングシステム３２１、ウィンドウシステム３２２により実行される。プログラム群３２３には、本実施の形態の説明において「〜部」、「〜手段」、「〜処理」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ３１１により読み出され実行される。又はファイル群３２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜結果」として説明するデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。
【００２８】
また、本実施の形態の説明において説明するブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ３１４等のメモリ、ＦＤＤ３０４のフレキシブルディスク（ＦＤ）、ＣＤＤ３０５のコンパクトディスク（ＣＤ）、磁気ディスク装置３２０の磁気ディスク、その他光ディスク、ミニディスク（ＭＤ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス３１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００２９】
また、本実施の形態の説明において「〜部」、「〜手段」、「〜処理」として説明するものは、ＲＯＭ３１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、ハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。このプログラムはＣＰＵ３１１により読み出され、ＣＰＵ３１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」、「〜手段」、「〜処理」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」、「〜手段」、「〜処理」の手順をコンピュータに実行させるものである。
【００３０】
図４は、消失訂正符号化技術を利用した、分割符号化部２０７における分割と符号化の手順と、再生部２１０における復号化の手順を説明する模式図である。まず、符号化について説明する。分割符号化部２０７は、保管対象である元ファイル４０１を１００個の情報パケット４０２に分割し、さらに、１００個の情報パケット４０２を符号化（冗長化）して、１５０個の符号化ファイル４０３を生成する。次に、復号化について説明する。再生部２１０は、前述の１５０個の符号化ファイル４０３の内、任意の一定数（例えば１０５個）の符号化ファイルを集めて復号化すれば、元ファイル４０１と同じ内容の復号ファイル４０５を再生できる。
【００３１】
すなわち、消失訂正符号化技術を利用すると、データの一部が消失しても、元データが再生できるという特長をもつ。なお、消失訂正符号化技術自体については周知であるので、詳細な説明は省略する。また、本実施の形態では、元ファイル４０１を１００個の情報パケット４０２に分割し、１５０個の符号化ファイルを作成し、任意の一定数（例えば１０５個）の符号化ファイル４０３から復号ファイル４０５を再生しているが、前述の１００個、１５０個、１０５個の各数値は、消失訂正符号化技術のアルゴリズムの変更により、変更が可能である。
【００３２】
さらに本実施の形態では、前述のようにして作成した１５０個の符号化ファイルを、複数の分散ディスク１０１に分散させて保管するので、任意の一部の分散ディスク１０１が故障、電源断、メンテナンス、及びネットワーク回線の断線等の要因で正常稼動していなくても、正常稼動している分散ディスク１０１から任意の一定数の符号化ファイルを取得し、復号化し、元ファイル４０１と同じ内容の復号ファイル４０５を再生することができるため、高い信頼性、連続可動性を得ることができる。
【００３３】
次に、図５を用いて、ファイル管理情報、元ファイルの名称、及び符号化ファイルの名称について説明する。図５は、ファイル管理部２０９において生成するファイル管理情報のデータ例の図である。ファイル管理情報とは、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための符号化ファイルＮｏ．と、符号化ファイルを保管した分散ディスク１０１を特定するための分散ディスクノード名とを対応付けた情報である。なお、本実施の形態において、元ファイル名はユニークであることを前提としている。また、ひとつの元ファイル名に対応する符号化ファイルＮｏ．は、ユニークである。
【００３４】
また、本実施の形態において、符号化ファイルの名称は、元ファイル名と＿（アンダーバー）と符号化ファイルＮｏ．とを結合したものとする。例えば、元ファイル名が「Ｄｉｇｉｔａｌｍｏｖｉｅ１」であり、符号化ファイルＮｏ．が「００１」であれば、対応する符号化ファイルの名称は「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿００１」である。すなわち、符号化ファイルの名称は、元ファイルの名称を含んでいる。
【００３５】
次に、図６を用いて、管理端末１０２のファイル管理情報記憶部２０３に保管するファイル管理情報について説明する。図５では、ファイル管理部２０９において生成する、ひとつの元ファイルに係るファイル管理情報について説明したが、図６において説明するファイル管理情報記憶部２０３に保管するファイル管理情報とは、全ての分散ディスク１０１に保管している全ての元ファイルに係るファイル管理情報である。図６の例では、元ファイルＤｉｇｉｔａｌｍｏｖｉｅ１、Ｄｉｇｉｔａｌｍｏｖｉｅ２、Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１について、元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための符号化ファイルＮｏ．と、符号化ファイルを保管した分散ディスク１０１を特定するための分散ディスクノード名とを対応付けたファイル管理情報を、ファイル管理部２０９に保管している。
【００３６】
次に図７、図８、及び図９のフローチャートを用いて、分散ストレージシステム１００におけるデータ保管の処理の流れについて説明する。分散ストレージシステム１００におけるデータ保管とは、図４において説明したように、消失訂正符号化技術を利用して、保管対象の元ファイルを分割し符号化した、複数の符号化ファイルを作成して、これらの符号化ファイル各々を、異なる分散ディスク１０１に保管することである。
【００３７】
図７において、ユーザ端末１０６の保管依頼部２１２は、ユーザからデータ保管の依頼を受け付けると、スーパーノード記憶部２１１から、任意の１台のスーパーノード１０４を選択する（ステップＳ７０１）。なお、ユーザからは複数のスーパーノード１０４がひとつの仮想スーパーノードに見える。ユーザ端末１０６の保管依頼部２１２は、ランダムに任意の１台のスーパーノード１０４を選択し、該当のスーパーノード１０４が正常稼動していなければ、正常稼動しているスーパーノード１０４が選択されるまで、同様にランダムに任意の１台のスーパーノード１０４を選択する。又は、各スーパーノード１０４の負荷状況を確認して、負荷の低いスーパーノード１０４を選択する。又は、その他の方法で任意の１台のスーパーノード１０４を選択してもよい。次に、ユーザ端末１０６の保管依頼部２１２は、選択したスーパーノード１０４に、保管の対象となる元ファイルと保管指示を送信する（ステップＳ７０２）。
【００３８】
次に、保管指示を受信したスーパーノード１０４の分割符号化部２０７は、受信した元ファイルを１００個に分割し、符号化し、１５０個の符号化ファイルを生成する（ステップＳ７０３）。ここで、分割と符号化にあたっては、図４において説明したように、消失訂正符号化技術を利用する。また、図５において説明したように、符号化ファイルの名称は、元ファイルの名称を含んでいる。
【００３９】
次に、スーパーノード１０４の配信部２０８は、分割符号化部２０７において生成した１５０個の符号化ファイルと保管指示を、分散ディスク記憶部２（２０６）に記憶された３００個の分散ディスク１０１の内、任意の１５０台の分散ディスク１０１へ各々送信する（ステップＳ７０４）。なお、ステップＳ７０４の詳細については、図８において後述する。
【００４０】
次に、スーパーノード１０４のファイル管理部２０９は、元ファイルと分割・符号化した符号化ファイルとの対応に係る情報を分割符号化部２０７から取得し、符号化ファイルと保管先の分散ディスク１０１との対応に係る情報を配信部２０８から取得し、元ファイルと符号化ファイルと分散ディスク１０１との対応を表すファイル管理情報を生成して、管理端末１０２のファイル管理情報記憶部２０３に送信する（ステップＳ７０５）。ここで、ファイル管理情報については、図５において説明した通りである。なお、ステップＳ７０５の詳細については、図９において後述する。
【００４１】
次に、図８において図７のステップＳ７０４の詳細な処理の流れについて説明する。スーパーノード１０４の配信部２０８は、全ての分散ディスク１０１に対して、正常稼動中かどうかの確認要求を行う（ステップＳ８０１）。ステップＳ８０１における確認要求に対して、正常稼動中の分散ディスク１０１が応答する（ステップＳ８０２）。
【００４２】
一方、スーパーノード１０４の配信部２０８は、一定時間、分散ディスク１０１からの応答を待機する（ステップＳ８０３）。そして、一定時間経過後、応答のあった分散ディスク１０１から１５０台を任意に選択する（ステップＳ８０４）。スーパーノード１０４の配信部２０８は、符号化ファイルを保管可能な程度にディスク容量の空きがある、任意の１５０台の分散ディスク１０１をランダムに選択する。又は、各分散ディスク１０１のディスク容量の空きを確認し、空き容量の大きい分散ディスク１０１から順に１５０台選択する。又は、その他の方法で任意の１５０台の分散ディスク１０１を選択してもよい。次に、１５０台の分散ディスク１０１へ、１５０個の符号化ファイルを各々送信する（ステップＳ８０５）。次に、分散ディスク１０１の符号化データ記憶部２０１は、ステップＳ８０５において送信された符号化ファイルを受信して、保管する（ステップＳ８０６）。なお、ステップＳ８０６において正常に保管することができない分散ディスク１０１があった場合は、別の分散ディスク１０１に送信して、保管する。
【００４３】
次に、図９において図７のステップＳ７０５の詳細な処理の流れについて説明する。スーパーノード１０４のファイル管理部２０９は、ファイル管理情報を作成する（ステップＳ９０１）。ファイル管理情報は、図５において説明したように、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための符号化ファイルＮｏ．と、符号化ファイルを保管した分散ディスク１０１を特定するための分散ディスクノード名とを対応付けた情報である。なお、元ファイル名と符号化ファイルＮｏ．との対応に係る情報は、分割符号化部２０７から取得し、符号化ファイルＮｏ．と分散ディスクノード名との対応に係る情報は、配信部２０８から取得する。次に、スーパーノード１０４のファイル管理部２０９は、ファイル管理情報を管理端末１０２のファイル管理情報記憶部２０３に送信する（ステップＳ９０２）。
【００４４】
次に、管理端末１０２のファイル管理情報記憶部２０３は、受信したファイル管理情報を保管する（ステップＳ９０３）。次に、正常受信した旨を、スーパーノード１０４のファイル管理部２０９に応答する（ステップＳ９０４）。次に、スーパーノード１０４のファイル管理部２０９は、ファイル管理情報等（図７、図８、及び図９のフローチャートを用いて説明したデータ保管に係る処理で扱った各種情報であり、ファイル管理情報、元ファイル、符号化ファイル、元ファイル又は前記複数の符号化ファイルを特定することができる情報、前記複数の符号化ファイルを保管した複数の分散ファイルを特定することができる情報等）を削除する（ステップＳ９０５）。図７、図８、及び図９のフローチャートを用いて説明したデータ保管の処理の流れにおいて、スーパーノード１０４の分割符号化部２０７、配信部２０８、ファイル管理部２０９は、前述のファイル管理情報等を、一切、不揮発性メモリ（磁気ディスク装置３２０等）に記憶せず、揮発性メモリ（ＲＡＭ３１４等）に一時的に記憶された前述の情報についても、ステップＳ９０５において、ファイル管理部２０９により明示的に削除される。又は、揮発性メモリ（ＲＡＭ３１４）に一時的に記憶された前述の情報については、ＯＳ３２１により、プログラム終了時にメモリの開放と共に、自動的に削除されるものであってもよい。又は、スーパーノード１０４の分割符号化部２０７、配信部２０８、ファイル管理部２０９は、前述のファイル管理情報等の全部又は一部を、不揮発性メモリ（磁気ディスク装置３２０等）に記憶してもよいが、その場合には、ステップＳ９０５において、ファイル管理部２０９により明示的に削除される。
【００４５】
次に図１０のフローチャートを用いて、分散ストレージシステム１００におけるデータ読込みの処理の流れについて説明する。分散ストレージシステム１００におけるデータ読込みとは、複数の分散ディスク１０１に分散保管された符号化ファイルを集めて、図４において説明したように、消失訂正符号化技術を利用して、ひとつの元ファイルを再生することである。
【００４６】
図１０において、ユーザ端末１０６の読込み依頼部２１３は、ユーザからデータ読込みの依頼を受け付けると、スーパーノード記憶部２１１から、任意の１台のスーパーノード１０４を選択する（ステップＳ１００１）。なお、ユーザからは複数のスーパーノード１０４がひとつの仮想スーパーノードに見える。選択するスーパーノード１０４は、保管時に指定したスーパーノード１０４である必要はない。ユーザ端末１０６の読込み依頼部２１３は、ランダムに任意の１台のスーパーノード１０４を選択し、該当のスーパーノード１０４が正常稼動していなければ、正常稼動しているスーパーノード１０４が選択されるまで、同様にランダムに任意の１台のスーパーノード１０４を選択する。又は、各スーパーノード１０４の負荷状況を確認して、負荷の低いスーパーノード１０４を選択する。又は、その他の方法で任意の１台のスーパーノード１０４を選択してもよい。次に、ユーザ端末１０６の読込み依頼部２１３は、選択したスーパーノード１０４に、読込みの対象となる元ファイル名と読込み指示を送信する（ステップＳ１００２）。
【００４７】
次に、読込み指示を受信したスーパーノード１０４の再生部２１０は、分散ディスク記憶部２（２０６）に記憶された全分散ディスク１０１に対して、元ファイルから生成した符号化ファイルを保管しているかどうかの確認要求を行う（ステップＳ１００３）。ここで、確認要求と共に、元ファイル名を送信する。
【００４８】
次に、分散ディスク１０１の符号化データ記憶部２０１は、ステップＳ１００３で受信した元ファイル名をキーとして検索し、元ファイルから生成した符号化ファイルを保管している場合に、応答を返す（ステップＳ１００４）。なお、図５において説明したように、符号化ファイルの名称は、元ファイルの名称を含んでいる。従って、分散ディスク１０１の符号化データ記憶部２０１は、スーパーノード１０４の再生部２１０から受信した元ファイル名と符号化ファイル名とを比べて、元ファイル名と＿（アンダーバー）と数値とを結合した名称を有する符号化ファイルが存在すれば、元ファイルから生成した符号化ファイルを保管しているとして、応答を返す。
【００４９】
なお、ステップＳ１００３において、読込み指示を受信したスーパーノード１０４の再生部２１０は、元ファイル名と＿（アンダーバー）と所定の数値（本実施の形態では「００１」〜「１５０」）とを結合した名称を作成して、全分散ディスク１０１に送信し、次に、ステップＳ１００４では、分散ディスク１０１の符号化データ記憶部２０１は、ステップＳ１００３で受信した名称の符号化ファイルを検索し、存在すれば、元ファイルから生成した符号化ファイルを保管しているとして、応答を返してもよい。
【００５０】
次に、応答を受信したスーパーノード１０４の再生部２１０は、応答のあった分散ディスク１０１から、１０５個の符号化データを取得する（ステップＳ１００５）。次に、符号化データを復号し、元ファイルと同じ内容の復号ファイルを再生する（ステップＳ１００６）。ここで、復号化にあたっては、図４において説明したように、消失訂正符号化技術を利用する。次に、復号ファイルをユーザ端末１０６へ送信する（ステップＳ１００７）。次に、ユーザ端末１０６の読込み依頼部２１３は、復号ファイルを受信する（ステップＳ１００８）。なお、ユーザ端末１０６は、表示装置３０１等を介して、ユーザに復号ファイルの内容を表示してもよい。
【００５１】
また、ステップＳ１００３では、全分散ディスク１０１に対して符号化ファイルを保管しているかどうかの確認要求を行い、ステップＳ１００４では該当する分散ディスク１０１が応答し、ステップＳ１００５では、応答のあった分散ディスク１０１から１０５個の符号化データを取得しているが、ひとつの全分散ディスク１０１に対して符号化ファイルを保管しているかどうかの確認要求を行い、応答があれば符号化データを取得することを、１０５回繰り返すものであってもよい。
【００５２】
次に図１１、及び図１２のフローチャートを用いて、分散ストレージシステム１００における分散ディスク復元の処理の流れについて説明する。分散ストレージシステム１００における分散ディスク復元とは、任意の１台の分散ディスク１０１に保管された符号化ファイル全てを、まとめて復元することである。
【００５３】
図１１において、管理端末１０２の分散ディスク状態確認部２０４から、全分散ディスク１０１に対して、正常稼動しているかどうかの確認要求を行う（ステップＳ１１０１）。なお、確認要求は、予め定められた時間に定期的に行うようになっていてもよい。
【００５４】
次に、確認要求を受信した分散ディスク１０１は、自身が正常稼動中であれば、応答する（ステップＳ１１０２）。次に、管理端末１０２の分散ディスク状態確認部２０４は、一定期間、正常稼動の旨の応答がない分散ディスク１０１に対して、故障と判断し、アラームを上げる（ステップＳ１１０３）。次に、人手により、故障中の分散ディスク１０１の交換、又は修理を行う（ステップＳ１１０４）。ただし、この時、ＩＰアドレスは交換、修理前と同じものを引き継ぐ。次に、分散ディスク１０１は、自身が正常稼動したこと及び復元依頼情報を、そのＩＰアドレスと共に、管理端末１０２に通知する（ステップＳ１１０５）。次に、管理端末１０２の分散ディスク復元部２０５は、故障後正常稼動した分散ディスク１０１について、自動でデータ復元処理を行う（ステップＳ１１０６）。なお、データ復元処理については、図１２において後述する。また、データ復元処理を行う前に、ファイル管理情報記憶部２０３に保管されたファイル管理情報と、故障後正常稼動した分散ディスク１０１の符号化データ記憶部２０１に保管する符号化ファイルとを比較することにより、ファイル管理情報には記録されているが、符号化データ記憶部２０１からは失われた符号化ファイルがあるかどうかを判断し、失われた符号化ファイルがあれば、自動でデータ復元処理を行うようにしてもよい。
【００５５】
次に、図１２において図１１のステップＳ１１０６の詳細な処理の流れについて説明する。なお、説明を補足するために、図６のファイル管理情報の例を用いる。管理端末１０２の分散ディスク復元部２０５は、分散ディスク記憶部１（２０２）を参照し、受け付けたＩＰアドレスが分散ディスクとして登録されていることと、ＩＰアドレスに対応する分散ディスクノード名を検索して、復元依頼を受け付けた分散ディスク１０１の分散ディスクノード名を認識する（ステップＳ１２０１）。ここで、例えば、分散ディスクノード名が「ＰＣ００５」であったとする。
【００５６】
次に、分散ディスク復元部２０５は、ファイル管理情報記憶部２０３を参照し、ファイル管理情報から、認識した分散ディスクノード名に対応する元ファイル名と符号化ファイルＮｏ．とを全て検索する（ステップＳ１２０２）。例えば、ファイル管理情報記憶部２０３は図６に示すファイル管理情報を有していた場合、認識した分散ディスクノード名「ＰＣ０００５」に対応する元ファイル名と符号化ファイルＮｏ．は、二組有り、一組は元ファイル名が「Ｄｉｇｉｔａｌｍｏｖｉｅ１」であり、符号化ファイルＮｏ．が「００２」である。また、別のもう一組は、元ファイル名が「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１」であり、符号化ファイルＮｏ．が「００１」である。すなわち、分散ディスク「ＰＣ００５」上の符号化ファイルは、「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿００２」と「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１＿００１」である。
【００５７】
次に、分散ディスク復元部２０５は、検索した元ファイル名ごとに、ステップＳ１２０３からステップＳ１２０８までの処理を繰り返す。例えば、元ファイル「Ｄｉｇｉｔａｌｍｏｖｉｅ１」について、ステップＳ１２０３からステップＳ１２０９までの処理を行い、次に、元ファイル名「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１」について、ステップＳ１２０３からステップＳ１２０９までの処理を行う。以下、まず、元ファイル「Ｄｉｇｉｔａｌｍｏｖｉｅ１」について、ステップＳ１２０３からステップＳ１２０９までの処理を行う。
【００５８】
分散ディスク復元部２０５は、符号化ファイルＮｏ．から、前記ファイルを復号するために必要な他の符号化ファイルＮｏ．と、前記他の符号化ファイルＮｏ．に対応する稼動中の分散ディスクノード名とを確定する（ステップＳ１２０３）。例えば、本実施の形態では、符号化ファイルは１５０個存在することになっているので、元ファイル名「Ｄｉｇｉｔａｌｍｏｖｉｅ１」を復号するために用いることができる他の符号化ファイルＮｏ．は、「００２」を除いたものであり、すなわち「００１」と、「００３」〜「１５０」とである。
【００５９】
次に、分散ディスク復元部２０５は、稼動中の分散ディスク１０１から、復元に必要な符号化ファイルＮｏ．に対応する符号化ファイルを取得する（ステップＳ１２０４）。例えば、本実施の形態では、復号化に必要な符号化ファイルは１０５個となっているので、元ファイル名「Ｄｉｇｉｔａｌｍｏｖｉｅ１」と＿（アンダーバー）と符号化ファイルＮｏ．を組合わせた符号化ファイル名であり、かつ符号化ファイルＮｏ．は、「００１」、または「００３」〜「１５０」であるような符号化ファイル名を有する符号化ファイルを、１０５個、正常稼動中の分散ディスク１０１から取得する。すなわち、符号化ファイル「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿００１」、「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿００３」〜「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿１５０」の内の１０５個のファイルを、正常稼動中の分散ディスク１０１から取得する。
【００６０】
次に、分散ディスク復元部２０５は、取得した符号化ファイルから復号ファイルを再生する（ステップＳ１２０５）。例えば、「Ｄｉｇｉｔａｌｍｏｖｉｅ１」を再生する。
【００６１】
次に、分散ディスク復元部２０５は、復号ファイルを分割し復号化し、復元すべき符号化ファイルを生成する（ステップＳ１２０６）。ここで、分割と符号化にあたっては、ステップＳ７０３と同様の手順で行うこととする。例えば、「Ｄｉｇｉｔａｌｍｏｖｉｅ１」を分割し符号化することにより、「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿００１」、「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿００２」、・・・「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿１５０」を生成し、その中から復元すべき符号化ファイル「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿００２」を残して、他の符号化ファイルは削除する。
【００６２】
次に、分散ディスク復元部２０５は、復元依頼を受け付けた分散ディスク１０１へ、符号化ファイルを送信する（ステップＳ１２０７）。例えば、分散ディスク「ＰＣ０００５」に「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿００２」を送信する。なお、送信が正常に完了した後に、管理端末１０２上の符号化ファイル「Ｄｉｇｉｔａｌｍｏｖｉｅ１＿００２」は削除する。
【００６３】
次に、分散ディスク復元部２０５は、ステップＳ１２０２で検索した全ての元ファイルについて処理を完了したか確認し、完了していれば、ステップＳ１１０６を終了し、完了していなければ、ステップＳ１２０３に戻り、ステップＳ１２０８までの処理を繰り返す（ステップＳ１２０８）。この例では、元ファイル名「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１」についての処理が完了していないので、ステップＳ１２０３に戻り、元ファイル名「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１」について、ステップＳ１２０３からステップＳ１２０８までの処理を行う。
【００６４】
そして、次に、元ファイル名「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１」を復号するために用いることができる他の符号化ファイルＮｏ．は、「００１」を除いたものであり、「００２」〜「１５０」である（ステップＳ１２０３）。次に、元ファイル名「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１」と＿（アンダーバー）と符号化ファイルＮｏ．を組合わせた符号化ファイル名であり、かつ符号化ファイルＮｏ．は、「００２」〜「１５０」であるような符号化ファイル名を有する符号化ファイルを、１０５個、正常稼動中の分散ディスク１０１から取得する（ステップＳ１２０４）。すなわち、符号化ファイル「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１＿００２」〜「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１＿１５０」の内の１０５個のファイルを、正常稼動中の分散ディスク１０１から取得する。次に、「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１」を再生する（ステップＳ１２０５）。次に、「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１」を分割し符号化することにより、「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１＿００１」、「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１＿００２」、・・・「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１＿１５０」を生成し、その中から復元すべき符号化ファイル「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１＿００１」を残して、他の符号化ファイルは削除する（ステップＳ１２０６）。なお、送信が正常に完了した後に、管理端末１０２上の符号化ファイル「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１＿００１」は削除する。次に、分散ディスク「ＰＣ０００５」に「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１＿００１」を送信する（ステップＳ１２０７）。次に、ステップＳ１２０２で検索した全ての元ファイル「Ｄｉｇｉｔａｌｍｏｖｉｅ１」と「Ｄｉｇｉｔａｌｐｉｃｔｕｒｅ１」とについて処理を完了したので、ステップＳ１１０６を終了する（ステップＳ１２０８）。このようにして、分散ディスク１０１上には、元々あった符号化ファイル全てが復元される。
【００６５】
なお、本実施の形態において、分散ディスク１０１の特定にＩＰアドレスを使用し、ＩＰアドレスと分散ディスクノード名との対応付けに、分散ディスク記憶部１（２０２）と分散ディスク記憶部２（２０６）とを使用しているが、分散ディスク１０１の特定には分散ディスクノード名を使用し、ＩＰアドレスと分散ディスクノード名との対応付けには、ｈｏｓｔｓファイルを利用してもよい。なお、ここでｈｏｓｔｓファイルとは、周知の技術であるＴＣＰ／ＩＰネットワーク上のＩＰアドレスとホスト名との対応を記述するテキストファイルである。この場合、分散ディスクノード名は、前述のホスト名と同じ名称を設定することとし、分散ディスク記憶部１（２０２）及び分散ディスク記憶部２（２０６）には、分散ディスク１０１として使用されるパーソナルコンピュータ又はストレージ専用のデバイス等のホスト名が記憶されれば十分である。
【００６６】
そして、図１１と図１２とを用いて説明した分散ディスク復元の処理の流れにおいて、ステップＳ１１０４では、人手により、故障中の分散ディスク１０１の交換、又は修理を行うが、ただし、この時、分散ディスクノード名（ホスト名）は交換、修理前と同じものを引き継ぐ。又、分散ディスクノード名（ホスト名）に対するＩＰアドレスが変更されている場合は、合わせて、分散ディスク１０１、管理端末１０２、及びスーパーノード１０４のｈｏｓｔｓファイルに保管されている分散ディスクノード名（ホスト名）の該当するＩＰアドレスを修正する。次に、ステップＳ１１０５では、分散ディスク１０１は、自身が正常稼動したこと及び復元依頼情報を、その分散ディスクノード名（ホスト名）と共に、管理端末１０２に通知する。また、ステップＳ１２０１では、管理端末１０２の分散ディスク復元部２０５は、分散ディスク記憶部１（２０２）を参照し、受け付けた分散ディスクノード名（ホスト名）が分散ディスクとして登録されていることを確認する。
【００６７】
なお、本実施の形態において、図１１と図１２とを用いて説明したように、分散ディスク１０１の正常稼動と復元依頼とが管理端末１０２に通知されると（ステップＳ１１０５）、分散ディスク復元部２０５は、通知元の分散ディスク１０１を復元する（ステップＳ１１０６）構成であってもよいが、管理端末１０２の分散ディスク復元部２０５が、管理端末１０２のキーボード３０２、マウス３０３などの入力装置を介して、管理者から任意の分散ディスク１０１の復元依頼を受け付けて、前記の分散ディスク１０１の復元を行うものであってもよい。後者の場合も、管理者から受け付けた任意の分散ディスク１０１に対して、図１２のステップＳ１２０１からステップＳ１２０８までの処理を、前述の説明と同様に行う。
【００６８】
なお、本実施の形態において、管理端末１０２を有しない構成であってもよい。この場合には、図１１、及び図１２において説明した分散ディスク復元は行わない。また、図７、図８、及び図９において説明したデータ保管については、図７のステップＳ７０５及び図９を行わない。すなわち、ファイル管理情報を作成し、管理端末１０２に送信する処理を行わない。また、図１０において説明したデータ読込みについては、管理端末１０２は係らない処理であるので、前述の通り動作する。
【００６９】
なお、本実施の形態において、前述したように、元ファイル名はユニークであることを前提としている。ただし、ユーザ端末１０６において名称が重複していた元ファイルを登録可能とするために、ユーザ端末１０６の保管依頼部２１２において、元ファイル名と他の情報（例えば、ユーザＩＤ、端末ＩＤ、時刻等）とを組合わせて、新たなユニークな名称に作成して、元ファイル名を前述のユニークな名称に変更して、スーパーノード１０４に送信するようにしてもよい。又は、スーパーノード１０４の分割符号化部２０７において、保管依頼を受けた元ファイル名が、管理端末１０２のファイル管理情報記憶部２０３に記憶されているかどうかの確認を行い、既に格納されている場合には、ユーザ端末１０６の保管依頼部２１２にエラーを返すようにしてもよい。又は、スーパーノード１０４の分割符号化部２０７において、保管依頼を受けた元ファイル名を含む名称を有する符号化ファイルが、分散ディスク１０１の符号化データ記憶部２０１に記憶されているかどうかの確認を行い、既に格納されている場合には、ユーザ端末１０６の保管依頼部２１２にエラーを返すようにしてもよい。また、ユーザ端末１０６の読込み依頼部２１３は、保管依頼部２１２が元ファイル名の変更を行っている場合には、同様の方法で、読込み依頼を受けた元ファイル名を変更する。
【００７０】
以上のように、本実施の形態では、ストレージデバイスとして、近年、ＣＰＵ及びＬＡＮの高速化、大容量ディスク化、及び低価格が進んでいるパーソナルコンピュータを利用することにより、従来、大変高価であった専用ストレージシステムと同等な機能と性能とを有する分散ストレージシステム１００を安価に構築できる。また、消失訂正符号化技術を利用することにより、１台の分散ディスク１０１を参照しても、元ファイルを復元することはできず、従来の専用ストレージシステムと同等の情報秘匿性を確保できる。また、スーパーノード１０４は、元ファイル、元ファイル名、元ファイルＮｏ．、保管先の分散ディスクノード名などの管理情報を記憶しないため、さらに、情報秘匿性を確保できる。
【００７１】
また、本実施の形態では、管理端末１０２のみがファイル管理情報を保管し、ファイル管理情報を使用して任意の１台の分散ディスク１０１上の符号化ファイル全ての復元が可能であるため、ファイアウォールや各種認証機能等を用いて管理端末１０２上のファイル管理情報を安全に管理することができ、また、分散ディスク１０１を、故障、その他の諸事情による修理・交換することが容易になり、分散ストレージシステム１００の信頼性・保守性を向上することができる。従来のデータ分散保管システムにおいても、消失訂正符号化技術を利用しているため、一部の分散保管サーバが故障又は非正常稼動となっていても、一定数の符号化ファイルを集めることができれば、システム全体の動作上何ら問題がない。しかし、故障又は非正常稼動な分散保管サーバが増えすぎると、正常稼動中の分散保管サーバに負荷が集中し全体のパフォーマンスが低下する、総ストレージ容量が低下する、復号が可能となる一定数の符号化ファイルが確保できなくなるといった問題があったが、本実施の形態では、故障又は非正常稼動となった任意の１台の分散ディスク１０１上の符号化ファイル全てを復元することができるために、信頼性・保守性を向上することができる。
【００７２】
また、本実施の形態では、複数の分散ディスク１０１に対して正常稼動しているかどうかの確認を行い、正常稼動を確認できなかった分散ディスク１０１について、その情報を管理者に通知し、その後正常稼動確認後、直ちに復元を行うことができる。
【００７３】
また、本実施の形態では、ユーザが複数のスーパーノード１０４があることを意識せず、ひとつの仮想スーパーノードとして操作しつつ、実際には複数のスーパーノード１０４を有して、負荷を分散することができる。また、前述のように、スーパーノード１０４は、元ファイル、元ファイル名、元ファイルＮｏ．、保管先の分散ディスクノード名などの管理情報を記憶しないため、スーパーノード１０４の追加・削除などの保守が容易である。
【００７４】
このように、本実施の形態では、情報隠匿性・信頼性・保守性などの面で、より安全性の高い分散ストレージシステム１００を得ることができる。
【００７５】
実施の形態２．
本実施の形態では、実施の形態１で説明した管理端末１０２とスーパーノード１０４を１台のスーパーノード１０４にまとめた実施例について説明する。
【００７６】
以下、図１３を用いて、本実施の形態における分散ストレージシステム１００の詳細な構成を説明する。分散ディスク１０１は、符号化データ記憶部２０１を有する。スーパーノード１０４は、１台のみの構成であり、分散ディスク記憶部２（２０６）と、分割符号化部２０７と、配信部２０８と、ファイル管理部２０９と、再生部２１０とを有する。さらに、スーパーノード１０４は、ファイル管理情報記憶部２０３と、分散ディスク状態確認部２０４と、分散ディスク復元部２０５とを有する。ユーザ端末１０６は、スーパーノード記憶部２１１と、保管依頼部２１２と、読込み依頼部２１３とを有する。なお、実施の形態１における分散ディスク記憶部１（２０２）は、分散ディスク記憶部２（２０６）と同じ情報を保管するので、本実施の形態においては不要となる。
【００７７】
実施の形態１において、図７から図１２までを用いて説明した、データ保管、データ読込み、及び分散ディスク復元の処理の流れは、次の点を除いて実施の形態２においても同様である。本実施の形態では、スーパーノード１０４は１台のみの構成ため、複数のスーパーノードから任意の１台のスーパーノードを選択する処理は省略する。また、実施の形態１における管理端末１０２は、本実施の形態ではスーパーノード１０４と読み替える。また、実施の形態１における分散ディスク記憶部１（２０２）は、分散ディスク記憶部２（２０６）と読み替える。
【００７８】
以下、図７、図８、及び図９を用いて、本実施の形態におけるデータ保管処理について説明する。図７において、本実施の形態では、ステップＳ７０１は省略する（ステップＳ７０１）。次に、ユーザ端末１０６の保管依頼部２１２は、スーパーノード１０４に、保管の対象となる元ファイルと保管指示を送信する（ステップＳ７０１）。次に、実施の形態１と同様に、元ファイルの分割し、符号化し、符号化ファイルを作成する（ステップＳ７０３）。次に、実施の形態１と同様に、符号化ファイルを分散ディスクに送信する（ステップＳ７０４）。次に、スーパーノード１０４のファイル管理部２０９は、ファイル管理情報を生成し、スーパーノード１０４のファイル管理情報記憶部２０３に送信する（ステップＳ７０５）。図８は、前述のステップＳ７０４の詳細な動作を説明したものであるが、本実施の形態においても、実施の形態１と同様であり、スーパーノード１０４の配信部２０８が稼動中の分散ディスク１０１から１５０台を任意に選択して符号化ファイルを送信し、分散ディスク１０１の符号化データ記憶部２０１は符号化ファイルを保管する。
【００７９】
図９は、前述のステップＳ７０４の詳細な動作を説明したものである。本実施の形態では、実施の形態１と同様に、ファイル管理情報を作成する（ステップＳ９０１）。次に、スーパーノード１０４のファイル管理部２０９は、ファイル管理情報をスーパーノード１０４のファイル管理情報記憶部２０３に送信する（ステップＳ９０２）。次に、スーパーノード１０４のファイル管理情報記憶部２０３は、受信したファイル管理情報を保管する（ステップＳ９０３）。次に、スーパーノード１０４のファイル管理情報記憶部２０３は、正常受信した旨を、スーパーノード１０４のファイル管理部２０９に応答する（ステップＳ９０４）。
【００８０】
次に、図１０を用いて、本実施の形態におけるデータ読込み処理について説明する。本実施の形態では、ステップＳ１００１は省略する（ステップＳ１００１）。次にユーザ端末１０６の読込み依頼部２１３は、スーパーノード１０４に、読込みの対象となる元ファイル名と読込み指示を送信する（ステップＳ１００２）。次に、実施の形態１と同様に、読込み指示を受信したスーパーノード１０４の再生部２１０は、分散ディスク記憶部２（２０６）に記憶された全分散ディスク１０１に対して、元ファイルから生成した符号化ファイルを保管しているかどうかの確認要求を行う（ステップＳ１００３）。
【００８１】
次に、実施の形態１と同様に、分散ディスク１０１の符号化データ記憶部２０１は、指定された符号化ファイルを保管している場合に、その応答を返す（ステップＳ１００４）。次に、ステップＳ１００４からステップ１００８までは、実施の形態１と同様に、応答を受信したスーパーノード１０４の再生部２１０は、応答のあった分散ディスク１０１から、１０５個の符号化データを取得する（ステップＳ１００５）。次に、符号化データを復号し、元ファイルと同じ内容の復号ファイルを再生する（ステップＳ１００６）。次に、復号ファイルをユーザ端末１０６へ送信する（ステップＳ１００７）。次に、ユーザ端末１０６の読込み依頼部２１３は、復号ファイルを受信する（ステップＳ１００８）。
【００８２】
次に、図１１及び図１２を用いて、本実施の形態における分散ディスク復元処理について説明する。図１１及び図１２においても、実施の形態１における管理端末１０２をスーパーノード１０４と読み替える点以外の詳細な動作は、実施の形態１と同様である。
【００８３】
図１１において、まず、スーパーノード１０４の分散ディスク状態確認部２０４から、全分散ディスク１０１に対して、正常稼動しているかどうかの確認要求を行う（ステップＳ１１０１）。次に、確認要求を受信した分散ディスク１０１は、自身が正常稼動中であれば、応答する（ステップＳ１１０２）。次に、スーパーノード１０４の分散ディスク状態確認部２０４は、一定期間、正常稼動の旨の応答がない分散ディスク１０１に対して、故障と判断し、アラームを上げる（ステップＳ１１０３）。次に、人手により、故障中の分散ディスク１０１の交換、又は修理を行う（ステップＳ１１０４）。次に、分散ディスク１０１は、自身が正常稼動したこと及び復元依頼を、スーパーノード１０４に通知する（ステップＳ１１０５）。次に、スーパーノード１０４の分散ディスク復元部２０５は、故障後正常稼動した分散ディスク１０１について、自動でデータ復元処理を行う（ステップＳ１１０６）。
【００８４】
次に、図１２において図１１のステップＳ１１０６の詳細な処理の流れについて説明する。スーパーノード１０４の分散ディスク復元部２０５は、分散ディスク記憶部２（２０６）を参照し、復元依頼を受け付けた分散ディスク１０１の分散ディスクノード名を認識する。（ステップＳ１２０１）次に、分散ディスク復元部２０５は、ファイル管理情報記憶部２０３を参照し、ファイル管理情報から、認識した分散ディスクノード名に対応する元ファイル名と符号化ファイルＮｏ．とを全て検索する（ステップＳ１２０２）。次に、分散ディスク復元部２０５は、検索した元ファイル名ごとに、ステップＳ１２０３からステップＳ１２０８までの処理を繰り返す。
【００８５】
分散ディスク復元部２０５は、符号化ファイルＮｏ．から、前記元ファイルを復号するために必要な他の符号化ファイルＮｏ．と、前記他の符号化ファイルＮｏ．に対応する稼動中の分散ディスクノード名とを確定する（ステップＳ１２０３）。次に、分散ディスク復元部２０５は、稼動中の分散ディスク１０１から、復元に必要な符号化ファイルＮｏ．に対応する符号化ファイルを取得する（ステップＳ１２０４）。次に、分散ディスク復元部２０５は、取得した符号化ファイルから復号ファイルを再生する（ステップＳ１２０５）。
【００８６】
次に、分散ディスク復元部２０５は、復号ファイルを分割し復号化し、復元すべき符号化ファイルを生成する（ステップＳ１２０６）。次に、分散ディスク復元部２０５は、復元依頼を受け付けた分散ディスク１０１へ、符号化ファイルを送信する（ステップＳ１２０７）。次に、分散ディスク復元部２０５は、ステップＳ１２０２で検索した全ての元ファイルについて処理を完了したか確認し、完了していれば、ステップＳ１１０６を終了し、完了していなければ、ステップＳ１２０３に戻り、ステップＳ１２０８までの処理を繰り返す（ステップＳ１２０８）。
【００８７】
なお、実施の形態１、及び本実施の形態では、図５において説明したように、符号化ファイルの名称は、元ファイル名と＿（アンダーバー）と符号化ファイルＮｏ．とを結合したものとする。また、図５と図６において説明したように、ファイル管理情報とは、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための符号化ファイルＮｏ．と、符号化ファイルを保管した分散ディスク１０１を特定するための分散ディスクノード名とを対応付けた情報である。
【００８８】
そして、このようなデータを前提として、データ保管処理において、図７のステップＳ７０３では、符号化ファイルを生成する際に、符号化ファイルの名称は、元ファイル名と＿（アンダーバー）と符号化ファイルＮｏ．とを結合したものとする。そして、データ読込み処理において、図１０のステップＳ１００３では、再生部２１０は、全分散ディスク１０１に対して、元ファイルから生成した符号化ファイルを保管しているかどうかの確認要求を行うが、ここで、確認要求と共に、元ファイル名を送信する。次に、ステップＳ１００４では、符号化データ記憶部２０１は、ステップＳ１００３で受信した元ファイル名をキーとして検索し、元ファイルから生成した符号化ファイルを保管している場合に、応答を返す。
【００８９】
ただし、本実施の形態においては、符号化ファイルの名称に前述のような制約を設けず、単に符号化データ記憶部２０１においてユニークな符号化ファイル名を付してもよい。この場合、図５と図６において説明したファイル管理情報は、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための「符号化ファイル名」と、符号化ファイルを保管した分散ディスク１０１を特定するための分散ディスクノード名とを対応付けた情報である。
【００９０】
そして、前述のようなデータ（符号化ファイル名及びファイル管理情報）を前提として、データ保管処理において、図７のステップＳ７０３では、スーパーノード１０４の分割符号化部２０７は、受信した元ファイルを１００個に分割し、符号化し、１５０個の符号化ファイルを生成するが、符号化ファイルの名称は、符号化データ記憶部２０１においてユニークな名称を付す。また、図９のステップＳ９０１では、スーパーノード１０４のファイル管理部２０９は、ファイル管理情報を作成するが、ファイル管理情報は、保管対象である元ファイルの名称である元ファイル名と、元ファイルを分割して符号化した符号化ファイルを特定するための「符号化ファイル名」と、符号化ファイルを保管した分散ディスク１０１を特定するための分散ディスクノード名とを対応付けた情報である。なお、元ファイル名と「符号化ファイル名」との対応に係る情報は、分割符号化部２０７から取得し、「符号化ファイル名」と分散ディスクノード名との対応に係る情報は、配信部２０８から取得する。
【００９１】
そして、前述のようなデータ（符号化ファイル名及びファイル管理情報）を前提として、データ読込み処理において、図１０のステップＳ１００３では、ファイル管理情報記憶部２０３に保管されたファイル管理情報を参照することにより、元ファイル名に対応する符号化ファイル名と、前述の符号化ファイル各々に対応する分散ディスクノード名を認識することが可能であるので、スーパーノード１０４の再生部２１０は、ファイル管理情報により、元ファイルから生成した符号化ファイルを保管する分散ディスク１０１を特定し、該当の分散ディスク１０１に対して、正常稼動の確認要求を行う。次に、ステップＳ１００４では、符号化データ記憶部２０１は、正常稼動していれば、応答を返す。
【００９２】
そして、前述のようなデータ（符号化ファイル名及びファイル管理情報）を前提として、データ復元処理において、図１２の処理の流れは以下のようになる。スーパーノード１０４の分散ディスク復元部２０５は、分散ディスク記憶部２（２０６）を参照し、復元依頼を受け付けた分散ディスク１０１の分散ディスクノード名を認識する。（ステップＳ１２０１）次に、分散ディスク復元部２０５は、ファイル管理情報記憶部２０３を参照し、ファイル管理情報から、認識した分散ディスクノード名に対応する元ファイル名と符号化ファイル名とを全て検索する（ステップＳ１２０２）。次に、分散ディスク復元部２０５は、検索した元ファイル名ごとに、ステップＳ１２０３からステップＳ１２０８までの処理を繰り返す。
【００９３】
分散ディスク復元部２０５は、「ステップＳ１２０２で検索した符号化ファイル名」から、前記元ファイルを復号するために必要な「他の符号化ファイル名」と、前記「他の符号化ファイル名」に対応する稼動中の分散ディスクノード名とを確定する（ステップＳ１２０３）。すなわち、分散ディスク復元部２０５は、ファイル管理情報記憶部２０３を参照し、まず、「ステップＳ１２０２で検索した符号化ファイル名」に対応する元ファイル名を特定する。次に、ファイル管理情報記憶部２０３を参照し、特定した元ファイル名各々について、この元ファイルを分割し符号化することにより作成されたものである符号化ファイルの符号化ファイル名を特定する。次に、特定された全ての符号化ファイル名から、「ステップＳ１２０２で検索した符号化ファイル名」を省いたものが、前述の「他の符号化ファイル名」である。次に、ファイル管理情報記憶部２０３を参照し、前記「他の符号化ファイル名」に対応する稼動中の分散ディスクノード名とを確定する。
【００９４】
次に、分散ディスク復元部２０５は、稼動中の分散ディスク１０１から、復元に必要な「他の符号化ファイル名」を持つ符号化ファイルを取得する（ステップＳ１２０４）。次に、分散ディスク復元部２０５は、取得した符号化ファイルから復号ファイルを再生する（ステップＳ１２０５）。
【００９５】
次に、分散ディスク復元部２０５は、復号ファイルを分割し符号化し、復元すべき符号化ファイル（「ステップＳ１２０２で検索した符号化ファイル名」を持つ符号化ファイル）を生成する（ステップＳ１２０６）。ここで、分割と符号化にあたっては、前述のようなデータ（符号化ファイル名及びファイル管理情報）を前提としたステップＳ７０３と同様の手順で行うこととする。復号ファイルを分割し符号化し、１５０個の符号化ファイルを作成し、この中から、「ステップＳ１２０２で検索した符号化ファイル名」を持つ符号化ファイルのみを残して、他を削除する。次に、分散ディスク復元部２０５は、復元依頼を受け付けた分散ディスク１０１へ、ステップＳ１２０６で作成した符号化ファイルを送信する（ステップＳ１２０７）。次に、分散ディスク復元部２０５は、ステップＳ１２０２で検索した全ての元ファイルについて処理を完了したか確認し、完了していれば、ステップＳ１１０６を終了し、完了していなければ、ステップＳ１２０３に戻り、ステップＳ１２０８までの処理を繰り返す（ステップＳ１２０８）。
【００９６】
以上のように、本実施の形態では、スーパーノードを１台のみ有し、別途管理端末を有さない構成であっても、スーパーノード１０４がファイル管理情報を保管し、ファイル管理情報を使用して任意の１台の分散ディスク１０１上の符号化ファイル全ての復元が可能であるため、分散ディスク１０１を、故障、その他の諸事情による修理・交換することが容易になり、実施の形態１と同様に、分散ストレージシステム１００の保守性を向上することができる。
【図面の簡単な説明】
【００９７】
【図１】この発明の実施の形態１における分散ストレージシステムの構成を示す図である。
【図２】この発明の実施の形態１における分散ストレージシステムの詳細な構成を示すブロック図である。
【図３】この発明の実施の形態１におけるハードウェア資源の一例を示す図である。
【図４】この発明の実施の形態１におけるファイルの符号化と復号化の一例を示す模式図である。
【図５】この発明の実施の形態１における管理情報のデータ例の図である。
【図６】この発明の実施の形態１におけるファイル管理情報記憶部のデータ例の図である。
【図７】この発明の実施の形態１におけるデータ保管に係る分散ストレージシステムの動作の詳細を示すフローチャートである。
【図８】この発明の実施の形態１におけるデータ保管に係る分散ストレージシステムの動作の詳細を示すフローチャートである。
【図９】この発明の実施の形態１におけるデータ保管に係る分散ストレージシステムの動作の詳細を示すフローチャートである。
【図１０】この発明の実施の形態１におけるデータ読込みに係る分散ストレージシステムの動作の詳細を示すフローチャートである。
【図１１】この発明の実施の形態１における分散ディスク復元に係る分散ストレージシステムの動作の詳細を示すフローチャートである。
【図１２】この発明の実施の形態１における分散ディスク復元に係る分散ストレージシステムの動作の詳細を示すフローチャートである。
【図１３】この発明の実施の形態２における分散ストレージシステムの詳細な構成を示すブロック図である。
【図１４】従来の専用ストレージシステムの一例の構成を示す図である。
【図１５】従来のデータ分散保管システムの構成を示す図である。
【図１６】従来のデータ分散保管システムのデータ保管にかかわる動作の詳細を示すフローチャートである。
【図１７】従来のデータ分散保管システムのデータ再生にかかわる動作の詳細を示すフローチャートである。
【符号の説明】
【００９８】
１００  分散ストレージシステム、１０１  分散ディスク、１０２  管理端末、１０３  管理者ネットワーク、１０４  スーパーノード、１０５  ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｏｗｏｒｋ）、１０６  ユーザ端末、２０１  符号化データ記憶部、２０２  分散ディスク記憶部１、２０３  ファイル管理情報記憶部、２０４  分散ディスク状態確認部、２０５  分散ディスク復元部、２０６  分散ディスク記憶部２、２０７  分割符号化部、２０８  配信部、２０９  ファイル管理部、２１０  再生部、２１１  スーパーノード記憶部、２１２  保管依頼部、２１３  読込み依頼部、３０１  表示装置、３０２  Ｋ／Ｂ、３０３  マウス、３０４  ＦＤＤ、３０５  ＣＤＤ、３１１  ＣＰＵ、３１２  バス、３１３  ＲＯＭ、３１４  ＲＡＭ、３１５  通信ボード、３２０  磁気ディスク装置、３２１  ＯＳ、３２２  ウィンドウシステム、３２３  プログラム群、３２４  ファイル群。
【図１】
2007265314.tif 000003
【図２】
2007265314.tif 000004
【図３】
2007265314.tif 000005
【図４】
2007265314.tif 000006
【図５】
2007265314.tif 000007
【図６】
2007265314.tif 000008
【図７】
2007265314.tif 000009
【図８】
2007265314.tif 000010
【図９】
2007265314.tif 000011
【図１０】
2007265314.tif 000012
【図１１】
2007265314.tif 000013
【図１２】
2007265314.tif 000014
【図１３】
2007265314.tif 000015
【図１４】
2007265314.tif 000016
【図１５】
2007265314.tif 000017
【図１６】
2007265314.tif 000018
【図１７】
2007265314.tif 000019