(57)【要約】【課題】分散ノードを利用したデータ記録再生の効率的実行構成を実現する装置および方法を提供する。【解決手段】ネットワーク接続された複数のノードに対して分散したデータ記録処理、あるいはノードに分散して記録されたデータを集積して再生する際、処理指示装置において、ノードがデータ記録または再生を実行するか否かの判定処理に適用可能な判定用データを設定し、設定した判定用データと記録処理対象データまたは再生データの指示データを格納したデータ処理要求を各ノードに送信し、ノード側が、判定用データに基づいて自律的にデータ処理の実行有無を判定して処理を行なう構成としたので、処理要求を行なう指示装置において、特定のノードを選択するなどの事前処理が不要となり、分散ノードを適用したデータ記録および再生処理が効率的に実行される。【選択図】  図４
2004179876.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続されたノードに対してデータ記録処理要求を送信する記録指示装置としての情報処理装置であり、
前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定部と、
前記ルール判断条件設定部において設定した判定用データを格納するとともに、記録処理対象データを格納したデータ記録処理要求パケットを生成するパケット生成部と、
前記パケット生成部において生成したパケットを送信するネットワークインタフェース部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記ルール判断条件設定部は、
前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な記録ルール判断条件記述としての確率値：αを設定する処理を実行する構成であり、
前記パケット生成部は、
前記記録ルール判断条件記述としての確率値：αを格納したパケットを生成する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、
記録処理対象データのＦＥＣ符号化処理およびインタリーブ処理を実行するデータ加工部を有し、
前記パケット生成部は、
前記データ加工部において加工されたデータをペイロードとして設定したパケットの生成処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記情報処理装置は、
記録処理対象データのＦＥＣ符号化処理を実行するデータ加工部を有し、該データ加工部は、データをｐ個のブロック数に分割し、生成したｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換する符号化率ｑ／ｐの符号化処理を実行する構成であり、
前記ルール判断条件設定部は、
前記データ記録処理要求を受信するノードにおいて記録確率：αでデータを記録させる確率値：αを記録ルール判断条件記述として設定する構成であり、前記ネットワークに接続された再生指示装置から指定される返信確率：β、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、前記ブロック数：ｐとの関係が、
返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐ
となるように前記確率値：αを設定する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
ネットワーク接続されたノードに対してデータ再生処理要求を送信する再生指示装置としての情報処理装置であり、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定部と、
前記ルール判断条件設定部において設定した判定用データを格納するとともに、再生処理対象データの指示データを格納したデータ再生処理要求パケットを生成するパケット生成部と、
前記パケット生成部において生成したパケットを送信するネットワークインタフェース部と、
を有することを特徴とする情報処理装置。
【請求項６】
前記ルール判断条件設定部は、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な再生ルール判断条件記述としての確率値：βを設定する処理を実行する構成であり、
前記パケット生成部は、
前記再生ルール判断条件記述としての確率値：βを格納したパケットを生成する処理を実行する構成であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記情報処理装置は、さらに、
デインタリーブ処理およびＦＥＣ復号処理を実行するデータ復元処理部を有し、
前記データ復元処理部は、前記データ再生処理要求を受信したノードから受信するパケットから抽出される再生対象データについてのデインタリーブ処理およびＦＥＣ復号処理を実行し、データ復元を行なう構成であることを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記ノードに格納された再生対象データは、データをｐ個のブロック数に分割し、ｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換した符号化率ｑ／ｐの符号化処理データであり、
前記ルール判断条件設定部は、
前記データ再生処理要求を受信するノードにおいて返信確率：βでデータを返信させる確率値：βを再生ルール判断条件記述として設定する構成であり、前記ネットワークに接続された記録指示装置から指定される記録確率：α、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、前記ブロック数：ｐとの関係が、
返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐ
となるように前記確率値：βを設定する構成であることを特徴とする請求項５に記載の情報処理装置。
【請求項９】
データ受信部と、
前記データ受信部を介して受信するデータ処理要求に基づくデータ処理を実行するか否かを判定するルール判断処理部と、
前記ルール判断処理部における判定に基づいてデータ処理を実行するデータ処理部とを有し、
前記ルール判断処理部は、
前記データ受信部を介して受信するデータ処理要求に含まれる判定用データに基づいて、処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする情報処理装置。
【請求項１０】
前記判定用データは、データ処理要求に含まれるルール判断条件記述子としての確率値であり、
前記ルール判断処理部は、
前記確率値に応じて処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記判定用データは、データ処理要求に含まれるルール判断条件記述子としての確率値であり、
前記ルール判断処理部は、
乱数生成処理を実行するとともに、生成乱数と前記確率値との比較結果に応じて処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする請求項９に記載の情報処理装置。
【請求項１２】
前記判定用データは、データ処理要求に含まれるデータ処理要求格納データであり、
前記ルール判断処理部は、
前記データ処理要求格納データに基づくハッシュ値算出処理を実行するとともに、算出ハッシュ値と、予め自装置に設定された設定値との比較結果に応じて処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする請求項９に記載の情報処理装置。
【請求項１３】
ネットワーク接続された複数ノードにデータ記録処理要求を送信し、複数ノードに対する分散データ記録処理を実行するデータ記録処理方法であり、
前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定ステップと、
前記ルール判断条件設定ステップにおいて設定した判定用データを格納するとともに、記録処理対象データを格納したデータ記録処理要求パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成したパケットを送信するパケット送信ステップと、
を有することを特徴とするデータ記録処理方法。
【請求項１４】
前記ルール判断条件設定ステップは、
前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な記録ルール判断条件記述としての確率値：αを設定する処理を実行し、
前記パケット生成ステップは、
前記記録ルール判断条件記述としての確率値：αを格納したパケットを生成する処理を実行することを特徴とする請求項１３に記載のデータ記録処理方法。
【請求項１５】
前記データ記録処理方法は、
記録処理対象データのＦＥＣ符号化処理およびインタリーブ処理を実行するデータ加工ステップを有し、
前記パケット生成ステップは、
前記データ加工ステップにおいて加工されたデータをペイロードとして設定したパケットの生成処理を実行することを特徴とする請求項１３に記載のデータ記録処理方法。
【請求項１６】
前記データ記録処理方法は、
記録処理対象データのＦＥＣ符号化処理を実行するデータ加工ステップを有し、該データ加工ステップは、データをｐ個のブロック数に分割し、生成したｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換する符号化率ｑ／ｐの符号化処理を実行し、
前記ルール判断条件設定ステップは、
前記データ記録処理要求を受信するノードにおいて記録確率：αでデータを記録させる確率値：αを記録ルール判断条件記述として設定し、前記ネットワークに接続された再生指示装置から指定される返信確率：β、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、前記ブロック数：ｐとの関係が、
返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐ
となるように前記確率値：αを設定することを特徴とする請求項１３に記載のデータ記録処理方法。
【請求項１７】
ネットワーク接続されたノードに対してデータ再生処理要求を送信し、返信データに基づくデータ再生処理を実行するデータ再生処理方法であり、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定ステップと、
前記ルール判断条件設定ステップにおいて設定した判定用データを格納するとともに、再生処理対象データの指示データを格納したデータ再生処理要求パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成したパケットを送信するパケット送信ステップと、
を有することを特徴とするデータ再生処理方法。
【請求項１８】
前記ルール判断条件設定ステップは、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な再生ルール判断条件記述としての確率値：βを設定する処理を実行し、
前記パケット生成ステップは、
前記再生ルール判断条件記述としての確率値：βを格納したパケットを生成する処理を実行することを特徴とする請求項１７に記載のデータ再生処理方法。
【請求項１９】
前記データ再生処理方法は、さらに、
デインタリーブ処理およびＦＥＣ復号処理を実行するデータ復元処理ステップを有し、
前記データ復元処理ステップは、前記データ再生処理要求を受信したノードから受信するパケットから抽出される再生対象データについてのデインタリーブ処理およびＦＥＣ復号処理を実行し、データ復元を行なうことを特徴とする請求項１７に記載のデータ再生処理方法。
【請求項２０】
前記ノードに格納された再生対象データは、データをｐ個のブロック数に分割し、ｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換した符号化率ｑ／ｐの符号化処理データであり、
前記ルール判断条件設定ステップは、
前記データ再生処理要求を受信するノードにおいて返信確率：βでデータを返信させる確率値：βを再生ルール判断条件記述として設定し、前記ネットワークに接続された記録指示装置から指定される記録確率：α、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、前記ブロック数：ｐとの関係が、
返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐ
となるように前記確率値：βを設定することを特徴とする請求項１７に記載のデータ再生処理方法。
【請求項２１】
データ受信部を介して受信するデータ処理要求を解析し、該データ処理要求を実行するか否かの判定処理を実行するデータ処理方法であり、
データ処理要求に基づくデータ処理を実行するか否かを判定するルール判断処理ステップと、
前記ルール判断処理ステップにおける判定に基づいてデータ処理を実行するデータ処理ステップとを有し、
前記ルール判断処理ステップは、
データ受信部を介して受信するデータ処理要求に含まれる判定用データに基づいて、処理要求に従った処理を実行するか否かの判定処理を実行することを特徴とするデータ処理方法。
【請求項２２】
前記判定用データは、データ処理要求に含まれるルール判断条件記述子としての確率値であり、
前記ルール判断処理ステップは、
前記確率値に応じて処理要求に従った処理を実行するか否かの判定処理を実行することを特徴とする請求項２１に記載のデータ処理方法。
【請求項２３】
前記判定用データは、データ処理要求に含まれるルール判断条件記述子としての確率値であり、
前記ルール判断処理ステップは、
乱数生成処理を実行するとともに、生成乱数と前記確率値との比較結果に応じて処理要求に従った処理を実行するか否かの判定処理を実行することを特徴とする請求項２１に記載のデータ処理方法。
【請求項２４】
前記判定用データは、データ処理要求に含まれるデータ処理要求格納データであり、
前記ルール判断処理ステップは、
前記データ処理要求格納データに基づくハッシュ値算出処理を実行するとともに、算出ハッシュ値と、予め自装置に設定された設定値との比較結果に応じて処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする請求項２１に記載のデータ処理方法。
【請求項２５】
ネットワーク接続された複数ノードにデータ記録処理要求を送信し、複数ノードに対する分散データ記録処理を実行するコンピュータ・プログラムであり、
前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定ステップと、
前記ルール判断条件設定ステップにおいて設定した判定用データを格納するとともに、記録処理対象データを格納したデータ記録処理要求パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成したパケットを送信するパケット送信ステップと、
を有することを特徴とするコンピュータ・プログラム。
【請求項２６】
ネットワーク接続されたノードに対してデータ再生処理要求を送信し、返信データに基づくデータ再生処理を実行するコンピュータ・プログラムであり、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定ステップと、
前記ルール判断条件設定ステップにおいて設定した判定用データを格納するとともに、再生処理対象データの指示データを格納したデータ再生処理要求パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成したパケットを送信するパケット送信ステップと、
を有することを特徴とするコンピュータ・プログラム。
【請求項２７】
データ受信部を介して受信するデータ処理要求を解析し、該データ処理要求を実行するか否かの判定処理を行なうコンピュータ・プログラムであり、
データ処理要求に基づくデータ処理を実行するか否かを判定するルール判断処理ステップと、
前記ルール判断処理ステップにおける判定に基づいてデータ処理を実行するデータ処理ステップとを有し、
前記ルール判断処理ステップは、
データ受信部を介して受信するデータ処理要求に含まれる判定用データに基づいて、処理要求に従った処理を実行するか否かの判定処理を実行することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにコンピュータ・プログラムに関する。さらに詳細には、ネットワーク等で接続された複数の情報処理装置を適用したデータ処理、特にデータ記録再生処理を効率的に実行することを可能とした情報処理装置および方法、並びにコンピュータ・プログラムに関する。
【０００２】
【従来の技術】
近年、インターネット等の通信ネットワークには、様々な情報処理装置、例えばパーソナルコンピュータ（ＰＣ）、大型コンピュータ、サーバ、その他の通信機器が接続され、各ネットワーク接続機器間の映像、画像データ、音声データ、あるいは各種プログラム等のコンテンツの転送、あるいは様々な処理データの転送が行なわれている。ネットワークを通じてやりとりされるコンテンツの種類は、テキスト・静止画などから、動画・音声などのマルチメディアコンテンツへと移行が進んでおり、コンテンツの大容量化が著しく進んでいる。
【０００３】
あるデータを、ネットワークを介して互いに接続された多数の情報処理端末に分散して記録する大規模ストレージシステムが注目されている。このような分散型ストレージシステムにおいて、データを記録管理するサーバは、マルチキャスト等によって情報処理端末やその他のサーバにデータを送信して、データを情報処理端末や他のサーバに備えられたローカルの記録媒体に記録している。
【０００４】
この場合、オンデマンドでデータを取り出せるようにするためには、記録媒体に多量のデータを記録しなければならない。例えば、１本当たり約２ギガバイトのデータ容量になる映画の場合、このような映像データを５００本分記録するとすれば、１テラバイト以上の容量が必要となる。
【０００５】
また、ストリーミングによってデータを提供する場合の例として、サーバがデータを要求しているクライアントに対してユニキャストでデータを提供する際には、エラーのない伝送を行うために、例えば、ＴＣＰ／ＩＰの到着済み信号（ＡＣＫ）のようにデータの再送を要求するプロトコルが用いられる。
【０００６】
ところが、この手法は、サーバ側に多大な負担がかかるため、高性能なサーバ１台を用いたとしても、現状では、数百台のクライアントにしかサービスを提供することができない。また、ＵＤＰ／ＩＰのようなＡＣＫを用いないプロトコルを使用したとしても、サービス可能なクライアントの数は、数千台程度である。このように、ストリーミングによってデータを提供しようとすると、サーバ側のコストが増大し、クライアントの数が制限されてしまう。
【０００７】
そこで近年では、マルチキャスト技術にＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）を用いて、データの再送を要求することなく複数のクライアントにデータを送信する方式が提案されている。これは、サーバがマルチキャストでストリームを繰り返し送信し、クライアントは、このストリームから必要な信号を拾い上げ、拾い上げたデータを復号して再生する方式である。
【０００８】
この方式を利用して、１本２ギガバイトになる映画の映像データ５００本分を１０分以内に送信する場合には、約１４．７ギガビット／秒の伝送帯域が必要である。さらに、同量の映像データを１分以内に送信する場合には、約１４７ギガビット／秒の伝送帯域が必要になる。これは、理論値であるが、このような容量及び伝送方式に耐えうるサーバは、非常にコストがかかり、実現したとしても実用的でない。また、複数のホストにデータを分散して記録するという方式もあるが、このシステムを実現しようとすると、巨大なデータを複数のサーバで管理しなければならないため、データ管理やデータ通信のための処理が増大してしまう。
【０００９】
また、近年、情報処理装置間の直接通信処理としてのピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワーク技術が開発され、利用されている。Ｐ２Ｐネットワークとは、集中的に処理を行なうサーバを設置するのではなく、各ネットワーククライアントが持つ資源としての情報処理装置、例えばＰＣ、携帯端末、ＰＤＡ、携帯電話、さらに、通信処理可能な機能を持つあるいは通信機器に接続された記憶手段としてのディスク装置、あるいはプリンタ等、様々な機器をお互いにネットワークを介して通信し、各ネットワーククライアントが持つ資源の共有を可能とした構成である。
【００１０】
ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワーク技術は、米ＩＢＭ社が提唱するＡＰＰＮ（Ａｄｖａｎｃｅｄ  Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ  Ｎｅｔｗｏｒｋｉｎｇ）の中で用いられたのが最初とされている。このネットワークを使うことで、従来のようなクライアント−サーバ型ネットワークにおいてコンテンツ配信を行う場合に必要となる巨大な配信サーバを設置する必要がなくなり、各ネットワーククライアントが持つ資源に分散配置されたコンテンツを多くのユーザが利用可能となり、大容量のコンテンツの分散格納および、配信が可能となる。
【００１１】
ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークには、「ピュア（Ｐｕｒｅ）ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワーク」と「ハイブリッド（Ｈｙｂｒｉｄ）ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワーク」の２つのネットワーク形態がある。
【００１２】
ピュア（Ｐｕｒｅ）ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークとは、システムの各構成要素（ピア：Ｐｅｅｒ）が等しい機能・役割を持ち、対等なコミュニケーションを行うネットワーク形態である。それを用いた代表的なサービスとしてはグヌーテラ（Ｇｎｕｔｅｒｌｌａ）が挙げられる。ハイブリッド（Ｈｙｂｒｉｄ）ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークとは、ピュア（Ｐｕｒｅ）ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークに加えて、システムの各構成要素（ピア：Ｐｅｅｒ）間の相互作用を円滑にするための制御用サーバを用いるネットワーク形態のことである。それを用いた代表的なサービスとしてはナップスター（Ｎａｐｓｔｅｒ）が挙げられる。
【００１３】
ナップスター（Ｎａｐｓｔｅｒ）に代表されるハイブリッドピア・ツー・ピア（Ｈｙｂｒｉｄ  Ｐ２Ｐ）方式では、ネットワーク接続された端末がコンテンツを取得しようとする場合には、まず中央のサーバでコンテンツリソースを検索し、端末は、検索情報に基づいて、そのリソースを保有しているノード（他のネットワーク接続端末）にアクセスし、コンテンツの取得を行なう。この方式では、中央サーバにすべてのノードのリソース情報を登録する必要があり、さらに検索が中央サーバに集中するという欠点がある。
【００１４】
そこで、リソース検索等の処理を複数の装置に分散させて実行する方式が提案された。この処理分散方式では、処理実行の判断装置をツリー状の関係に配置するなどの方法により管理し、管理情報に基づいてリソース検索等の処理を複数の装置に分散させて実行するものである。しかし、この方式でも、処理を実行する装置が数百万など多数になると、ツリー構成を管理する情報量の増大、複数の処理装置に実行命令を伝達させるための処理命令数の増大、あるいはツリーの一貫性の保障などの問題が発生する。また、複数の処理実行判断装置による判断処理が必要となるため、処理遅延が起こる問題がある。
【００１５】
これらの弱点を補うために、すべての命令をすべてのネットワーク接続ノードに送り、各ノードにおいて受信した処理命令を自分が実行するかどうかを判断をさせる方式がある。これが、グヌーテラ（Ｇｎｕｔｅｌｌａ）に代表されるピュア・ピア・ツー・ピア（Ｐｕｒｅ  Ｐ２Ｐ）方式である。この方式は、ハイブリッドピア・ツー・ピア（Ｈｙｂｒｉｄ  Ｐ２Ｐ）方式と違って、リソース検索処理を実行する中央サーバを持たない構成であり、各ノード間で直接、検索要求を送受信してリソースの件策を実行して、ヒットした端末にコンテンツ送信等の処理要求を依頼する構成である。
【００１６】
このグヌーテラ（Ｇｎｕｔｅｌｌａ）に代表されるピュア・ピア・ツー・ピア（Ｐｕｒｅ  Ｐ２Ｐ）方式においても、検索命令の転送には、ツリー構造やネットワーク構造などのルーティングを使うことによって、すべてのまたはできるだけ多くのノードに対して検索を行わせる構成が有効である。しかし、この方式においても、自ノードで実行しない処理命令の命令転送処理を実行することになり、伝送経路に負担がかかる欠点がある。
【００１７】
例えばすべてのネットワーク接続ノードを検索して、処理要求を全ノードに到達させるためには、複雑なルーティング管理が必要となる。一方、ベストエフォート方式のノード検索を実行すると、すべてのノードに命令を伝達することは保証されず、必要なリソースを見つけ出せない場合がある。また、ノード検索のための通信が多発するとネットワークにおける輻輳が発生するという問題もある。
【００１８】
【発明が解決しようとする課題】
本発明は上述の問題点に鑑みてなされたものであり、複数の端末（ノード）の接続されたネットワーク構成において、例えばコンテンツ記録処理、あるいはコンテンツ再生処理等のデータ処理をネットワーク接続された複数の端末（ノード）に設置された記憶手段を利用して実行する場合に、事前のノード検索等の処理を行なうことなく、所定のルールに基づいてコンテンツ記録要求あるいは再生要求を送信し、これらの要求を受信した端末（ノード）において、自律的に命令を実行するかしないかを判断して命令の選択的な実行を行なう構成とすることで、多数のパケット転送によるネットワークトラフィックの増大を抑えて効率的にデータ処理を実行することを可能とした情報処理装置および方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００１９】
【課題を解決するための手段】
本発明の第１の側面は、
ネットワーク接続されたノードに対してデータ記録処理要求を送信する記録指示装置としての情報処理装置であり、
前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定部と、
前記ルール判断条件設定部において設定した判定用データを格納するとともに、記録処理対象データを格納したデータ記録処理要求パケットを生成するパケット生成部と、
前記パケット生成部において生成したパケットを送信するネットワークインタフェース部と、
を有することを特徴とする情報処理装置にある。
【００２０】
さらに、本発明の情報処理装置の一実施態様において、前記ルール判断条件設定部は、前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な記録ルール判断条件記述としての確率値：αを設定する処理を実行する構成であり、前記パケット生成部は、前記記録ルール判断条件記述としての確率値：αを格納したパケットを生成する処理を実行する構成であることを特徴とする。
【００２１】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、記録処理対象データのＦＥＣ符号化処理およびインタリーブ処理を実行するデータ加工部を有し、前記パケット生成部は、前記データ加工部において加工されたデータをペイロードとして設定したパケットの生成処理を実行する構成であることを特徴とする。
【００２２】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、記録処理対象データのＦＥＣ符号化処理を実行するデータ加工部を有し、該データ加工部は、データをｐ個のブロック数に分割し、生成したｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換する符号化率ｑ／ｐの符号化処理を実行する構成であり、前記ルール判断条件設定部は、前記データ記録処理要求を受信するノードにおいて記録確率：αでデータを記録させる確率値：αを記録ルール判断条件記述として設定する構成であり、前記ネットワークに接続された再生指示装置から指定される返信確率：β、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、前記ブロック数：ｐとの関係が、返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐとなるように前記確率値：αを設定する構成であることを特徴とする。
【００２３】
さらに、本発明の第２の側面は、
ネットワーク接続されたノードに対してデータ再生処理要求を送信する再生指示装置としての情報処理装置であり、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定部と、
前記ルール判断条件設定部において設定した判定用データを格納するとともに、再生処理対象データの指示データを格納したデータ再生処理要求パケットを生成するパケット生成部と、
前記パケット生成部において生成したパケットを送信するネットワークインタフェース部と、
を有することを特徴とする情報処理装置にある。
【００２４】
さらに、本発明の情報処理装置の一実施態様において、前記ルール判断条件設定部は、前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な再生ルール判断条件記述としての確率値：βを設定する処理を実行する構成であり、前記パケット生成部は、前記再生ルール判断条件記述としての確率値：βを格納したパケットを生成する処理を実行する構成であることを特徴とする。
【００２５】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、デインタリーブ処理およびＦＥＣ復号処理を実行するデータ復元処理部を有し、前記データ復元処理部は、前記データ再生処理要求を受信したノードから受信するパケットから抽出される再生対象データについてのデインタリーブ処理およびＦＥＣ復号処理を実行し、データ復元を行なう構成であることを特徴とする。
【００２６】
さらに、本発明の情報処理装置の一実施態様において、前記ノードに格納された再生対象データは、データをｐ個のブロック数に分割し、ｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換した符号化率ｑ／ｐの符号化処理データであり、前記ルール判断条件設定部は、前記データ再生処理要求を受信するノードにおいて返信確率：βでデータを返信させる確率値：βを再生ルール判断条件記述として設定する構成であり、前記ネットワークに接続された記録指示装置から指定される記録確率：α、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、前記ブロック数：ｐとの関係が、返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐとなるように前記確率値：βを設定する構成であることを特徴とする。
【００２７】
さらに、本発明の第３の側面は、
データ受信部と、
前記データ受信部を介して受信するデータ処理要求に基づくデータ処理を実行するか否かを判定するルール判断処理部と、
前記ルール判断処理部における判定に基づいてデータ処理を実行するデータ処理部とを有し、
前記ルール判断処理部は、
前記データ受信部を介して受信するデータ処理要求に含まれる判定用データに基づいて、処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする情報処理装置にある。
【００２８】
さらに、本発明の情報処理装置の一実施態様において、前記判定用データは、データ処理要求に含まれるルール判断条件記述子としての確率値であり、前記ルール判断処理部は、前記確率値に応じて処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする。
【００２９】
さらに、本発明の情報処理装置の一実施態様において、前記判定用データは、データ処理要求に含まれるルール判断条件記述子としての確率値であり、前記ルール判断処理部は、乱数生成処理を実行するとともに、生成乱数と前記確率値との比較結果に応じて処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする。
【００３０】
さらに、本発明の情報処理装置の一実施態様において、前記判定用データは、データ処理要求に含まれるデータ処理要求格納データであり、前記ルール判断処理部は、前記データ処理要求格納データに基づくハッシュ値算出処理を実行するとともに、算出ハッシュ値と、予め自装置に設定された設定値との比較結果に応じて処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする。
【００３１】
さらに、本発明の第４の側面は、
ネットワーク接続された複数ノードにデータ記録処理要求を送信し、複数ノードに対する分散データ記録処理を実行するデータ記録処理方法であり、
前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定ステップと、
前記ルール判断条件設定ステップにおいて設定した判定用データを格納するとともに、記録処理対象データを格納したデータ記録処理要求パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成したパケットを送信するパケット送信ステップと、
を有することを特徴とするデータ記録処理方法にある。
【００３２】
さらに、本発明のデータ記録処理方法の一実施態様において、前記ルール判断条件設定ステップは、前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な記録ルール判断条件記述としての確率値：αを設定する処理を実行し、前記パケット生成ステップは、前記記録ルール判断条件記述としての確率値：αを格納したパケットを生成する処理を実行することを特徴とする。
【００３３】
さらに、本発明のデータ記録処理方法の一実施態様において、前記データ記録処理方法は、記録処理対象データのＦＥＣ符号化処理およびインタリーブ処理を実行するデータ加工ステップを有し、前記パケット生成ステップは、前記データ加工ステップにおいて加工されたデータをペイロードとして設定したパケットの生成処理を実行することを特徴とする。
【００３４】
さらに、本発明のデータ記録処理方法の一実施態様において、前記データ記録処理方法は、記録処理対象データのＦＥＣ符号化処理を実行するデータ加工ステップを有し、該データ加工ステップは、データをｐ個のブロック数に分割し、生成したｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換する符号化率ｑ／ｐの符号化処理を実行し、前記ルール判断条件設定ステップは、前記データ記録処理要求を受信するノードにおいて記録確率：αでデータを記録させる確率値：αを記録ルール判断条件記述として設定し、前記ネットワークに接続された再生指示装置から指定される返信確率：β、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、前記ブロック数：ｐとの関係が、
返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐとなるように前記確率値：αを設定することを特徴とする。
【００３５】
さらに、本発明の第５の側面は、
ネットワーク接続されたノードに対してデータ再生処理要求を送信し、返信データに基づくデータ再生処理を実行するデータ再生処理方法であり、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定ステップと、
前記ルール判断条件設定ステップにおいて設定した判定用データを格納するとともに、再生処理対象データの指示データを格納したデータ再生処理要求パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成したパケットを送信するパケット送信ステップと、
を有することを特徴とするデータ再生処理方法にある。
【００３６】
さらに、本発明のデータ再生処理方法の一実施態様において、前記ルール判断条件設定ステップは、前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な再生ルール判断条件記述としての確率値：βを設定する処理を実行し、前記パケット生成ステップは、前記再生ルール判断条件記述としての確率値：βを格納したパケットを生成する処理を実行することを特徴とする。
【００３７】
さらに、本発明のデータ再生処理方法の一実施態様において、前記データ再生処理方法は、さらに、デインタリーブ処理およびＦＥＣ復号処理を実行するデータ復元処理ステップを有し、前記データ復元処理ステップは、前記データ再生処理要求を受信したノードから受信するパケットから抽出される再生対象データについてのデインタリーブ処理およびＦＥＣ復号処理を実行し、データ復元を行なうことを特徴とする。
【００３８】
さらに、本発明のデータ再生処理方法の一実施態様において、前記ノードに格納された再生対象データは、データをｐ個のブロック数に分割し、ｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換した符号化率ｑ／ｐの符号化処理データであり、前記ルール判断条件設定ステップは、前記データ再生処理要求を受信するノードにおいて返信確率：βでデータを返信させる確率値：βを再生ルール判断条件記述として設定し、前記ネットワークに接続された記録指示装置から指定される記録確率：α、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、前記ブロック数：ｐとの関係が、返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐとなるように前記確率値：βを設定することを特徴とする。
【００３９】
さらに、本発明の第６の側面は、
データ受信部を介して受信するデータ処理要求を解析し、該データ処理要求を実行するか否かの判定処理を実行するデータ処理方法であり、
データ処理要求に基づくデータ処理を実行するか否かを判定するルール判断処理ステップと、
前記ルール判断処理ステップにおける判定に基づいてデータ処理を実行するデータ処理ステップとを有し、
前記ルール判断処理ステップは、
データ受信部を介して受信するデータ処理要求に含まれる判定用データに基づいて、処理要求に従った処理を実行するか否かの判定処理を実行することを特徴とするデータ処理方法にある。
【００４０】
さらに、本発明のデータ処理方法の一実施態様において、前記判定用データは、データ処理要求に含まれるルール判断条件記述子としての確率値であり、前記ルール判断処理ステップは、前記確率値に応じて処理要求に従った処理を実行するか否かの判定処理を実行することを特徴とする。
【００４１】
さらに、本発明のデータ処理方法の一実施態様において、前記判定用データは、データ処理要求に含まれるルール判断条件記述子としての確率値であり、前記ルール判断処理ステップは、乱数生成処理を実行するとともに、生成乱数と前記確率値との比較結果に応じて処理要求に従った処理を実行するか否かの判定処理を実行することを特徴とする。
【００４２】
さらに、本発明のデータ処理方法の一実施態様において、前記判定用データは、データ処理要求に含まれるデータ処理要求格納データであり、前記ルール判断処理ステップは、
前記データ処理要求格納データに基づくハッシュ値算出処理を実行するとともに、算出ハッシュ値と、予め自装置に設定された設定値との比較結果に応じて処理要求に従った処理を実行するか否かの判定処理を実行する構成であることを特徴とする。
【００４３】
さらに、本発明の第７の側面は、
ネットワーク接続された複数ノードにデータ記録処理要求を送信し、複数ノードに対する分散データ記録処理を実行するコンピュータ・プログラムであり、
前記データ記録処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定ステップと、
前記ルール判断条件設定ステップにおいて設定した判定用データを格納するとともに、記録処理対象データを格納したデータ記録処理要求パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成したパケットを送信するパケット送信ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００４４】
さらに、本発明の第８の側面は、
ネットワーク接続されたノードに対してデータ再生処理要求を送信し、返信データに基づくデータ再生処理を実行するコンピュータ・プログラムであり、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理を実行するか否かの判定処理に適用可能な判定用データを設定するルール判断条件設定ステップと、
前記ルール判断条件設定ステップにおいて設定した判定用データを格納するとともに、再生処理対象データの指示データを格納したデータ再生処理要求パケットを生成するパケット生成ステップと、
前記パケット生成ステップにおいて生成したパケットを送信するパケット送信ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００４５】
さらに、本発明の第９の側面は、
データ受信部を介して受信するデータ処理要求を解析し、該データ処理要求を実行するか否かの判定処理を行なうコンピュータ・プログラムであり、
データ処理要求に基づくデータ処理を実行するか否かを判定するルール判断処理ステップと、
前記ルール判断処理ステップにおける判定に基づいてデータ処理を実行するデータ処理ステップとを有し、
前記ルール判断処理ステップは、
データ受信部を介して受信するデータ処理要求に含まれる判定用データに基づいて、処理要求に従った処理を実行するか否かの判定処理を実行することを特徴とするコンピュータ・プログラムにある。
【００４６】
【作用】
本発明の構成によれば、ネットワーク接続された複数のノードに対して分散してデータ記録処理を実行する際、記録指示装置において、ノードがデータ記録を実行するか否かの判定処理に適用可能な判定用データを設定し、設定した判定用データと記録処理対象データを格納したデータ記録処理要求を各ノードに送信し、ノード側が、判定用データに基づいて自律的にデータ記録処理の実行有無を判定して処理を行なう構成としたので、記録要求を行なう記録指示装置において、特定の記録ノードを選択するなどの事前処理が不要となり、分散ノードを適用したデータ記録処理が効率的に実行される。
【００４７】
さらに、本発明の構成によれば、ネットワーク接続されたノードに分散して記録されたデータを集積して再生する際、データ再生処理要求を送信する再生指示装置において、ノードがデータ抽出、送信を実行するか否かの判定処理に適用可能な判定用データを設定し、設定した判定用データと再生対象データの指示データを格納したデータ再生処理要求を各ノードに送信し、ノード側が、判定用データに基づいて自律的にデータ抽出、送信処理の実行有無を判定して処理を行なう構成としたので、再生要求を行なう再生指示装置において、特定の記録ノードを選択するなどの事前処理が不要となり、分散ノードを適用したデータ再生処理が効率的に実行される。
【００４８】
さらに、本発明の構成によれば、ネットワークに接続された情報処理装置が、データ受信部を介して受信するデータ処理要求に含まれる判定用データに基づいて、処理要求に従った処理を実行するか否かの判定処理を実行する構成としたので、処理要求側における処理対象ノード（情報処理装置）の検索が不要となる。
【００４９】
さらに、本発明の構成によれば、各ノードに分散して記録されるデータは、ｐ個のブロック数に分割し、ｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換する符号化率ｑ／ｐの符号化処理を実行したデータとし、各ノードにおける記録確率：αと、再生指示装置の指定する返信確率：βを、返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐとなるように設定する構成としたので、返信データからの確実なデータ復元を保証した構成が可能となる。
【００５０】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００５１】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【００５２】
【発明の実施の形態】
以下、本発明の情報処理装置および方法、並びにコンピュータ・プログラムについて、図面を参照して、詳細に説明する。説明は、以下の項目順に行なう。
１．ネットワーク構成
２．ノードとしての情報処理装置構成
３．記録指示装置構成およびデータ記録処理
４．再生指示装置構成およびデータ再生処理
５．データ記録再生処理シーケンス
６．情報処理装置のハード構成
【００５３】
［１．ネットワーク構成］
まず、本発明の情報処理装置を適用したデータ処理を実現するネットワーク構成例について図１を参照して説明する。図１は、ネットワークを構成する端末にデータを分散して記録する分散型ストレージシステムの具体例を示す図である。分散型ストレージシステムは、ネットワーク１００の通信網に接続されたｎ個のノード１１１、１１２、…、１１５と、各ノードへのデータの記録を指示制御する記録指示装置１０１と、各ノードに記録されたデータを読み出す再生指示装置１０２とを有する。
【００５４】
なお、本実施例では、記録指示装置１０１と、各ノード１１１〜１１５と、再生指示装置１０２とを別の装置として説明するが、これら両装置の機能を有する記録再生指示装置のような装置があってもよい。また、ノードの各々が記録指示装置や再生指示装置としての機能を装備することもできる。この場合、ネットワークを構成する各装置を区別なく使用できる。なお、記録指示装置、再生指示装置、ノードを総称して情報処理装置と呼ぶ。
【００５５】
すなわち、図２に示すような、ネットワーク構成を想定可能である。情報処理装置は、他の情報処理装置との通信可能な構成を有し通信ネットワークにより接続される。ネットワークは、基本的には、ルックアップサーバ（Ｌｏｏｋ−ｕｐＳｅｒｖｅｒ）としての制御用サーバを持たないピュア（Ｐｕｒｅ）ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークである。
【００５６】
図２に示すように、各情報処理装置１２１〜１２６がネットワーク１１０を介して相互に通信を実行し、コンテンツ記録処理やコンテンツ再生処理等の各種のデータ処理を実行する。なお、本発明は、制御用サーバが存在するハイブリッド（Ｈｙｂｒｉｄ）ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークにおいても適用可能であり、特にネットワーク構成を限定して適用可能なものではなく、情報処理装置相互において通信が可能な構成であればよい。
【００５７】
図２に示す情報処理装置１２１〜１２６のいずれかがコンテンツの記録要求、あるいはコンテンツの再生要求をネットワーク接続された情報処理装置に出力する。コンテンツの記録要求を行なう場合は、例えば所定のルールに基づくマルチキャストアドレスを設定した記録要求処理要求パケットを生成し、パケットにコンテンツをＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）をかけるとともにインターリーブ処理した分割データとして格納し、他の情報処理装置に対して送信する。これらのパケットを受信した情報処理装置は、データ記録処理を実行するか否かを自律的に判定して、判定に基づくコンテンツ記録処理を行なう。
【００５８】
また、コンテンツの再生処理を行なう場合は、情報処理装置１２１〜１２６のいずれかがコンテンツ再生要求を他の情報処理装置、例えば所定のルールに基づくマルチキャストアドレスを設定した要求パケットを生成して送信する。これらのパケットを受信した情報処理装置は、データ抽出処理を実行するか否かを自律的に判定して、判定に基づくコンテンツ抽出処理を行ない、要求に従って抽出したデータ、例えばＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）をかけるとともにインターリーブ処理した分割データをパケットに格納して再生要求情報処理装置に対して送信する。
【００５９】
なお、図１、図２においては、ネットワークを構成するルータなどの伝送制御装置を省略してあるが、実際には、ノードを通過するパケットの経路を選択するルータなどの伝送制御装置が設けられている。伝送制御装置は、ノードとは別に設けられていてもよいし、ノードが伝送制御装置としての機能を有していてもよい。
【００６０】
［２．ノードとしての情報処理装置構成］
次に、ノードとして機能する情報処理装置の構成について説明する。図３は、ノードとして機能する情報処理装置の構成を示す図である。
【００６１】
図３に示すように情報処理装置（ノード）２００は、ルール判断処理部２０１、データ処理部２０２、パケット処理部２０３、データ送受信部２０４を有する。データ送受信部２０４は、ネットワークを介して接続された他の情報処理装置に対する送信パケットの出力、および他の情報処理装置からの受信パケットの入力処理を実行する。
【００６２】
パケット処理部２０３は、自装置から、ネットワーク接続された他の情報処理装置に対して送信するパケットの生成処理、あるいは他の情報処理装置から受信したパケットの解析処理等を行なう。
【００６３】
データ処理部２０２は、それぞれの情報処理装置に格納されたデータ処理プログラムに従った処理を実行する。例えば、ネットワークに接続された他の記録指示装置あるいは再生指示装置等の情報処理装置からのデータ処理要求に基づくデータ処理、例えばコンテンツ再生要求であれば、指定コンテンツを記憶部２０５から取り出して、パケット処理部２０３に出力する処理である。また、コンテンツ記録要求であれば、入力コンテンツを記憶部２０５に入力格納する処理である。
【００６４】
ルール判断処理部２０１は、本発明の情報処理装置に固有の処理を実行する処理部であり、入力したパケットに記述された［ルール判断条件記述］としての確率値：α、あるいはβをもとに、パケットに基づくデータ処理、例えばデータ記録命令に対応する処理としてのデータ受信および記憶部に対する格納処理、あるいはデータ再生命令に対応する処理としての記憶部からのデータ抽出および送信処理、これらの処理を実行するか否かを判定する処理を実行する。本発明の構成においては、記録命令を実行する確率をαとし、再生命令を実行する確率をβとして設定し、それぞれ記録指示装置、再生指示装置が送信する記録要求または再生要求パケットにこれらの確率値が設定される。
【００６５】
例えばコンテンツ記録処理を実行する場合、分散型ストレージシステムを構成するノードの数ｎが十分に大きく、且つ復号化されたブロックの個数ｑが十分に大きい場合、全てのノードにパケットが均等に記録され、分散型ストレージシステム全体としてαの確率でデータが記録される。
【００６６】
また、コンテンツ再生処理を実行する場合、各ノードのルール判断処理部２０１では、再生命令を実行するか否かを確率：βに基づいて判断して実行する。このように再生命令では、それぞれのノードで一定の確率でしか命令が実行されないので、パケットの消失が起こる。しかし、複数の分散ノードからトータルで十分な数のパケットが送られてくるように再生命令が実行される確率βを設定しておけば、これを結合して、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｌｌｅｃｔｉｏｎ）に基づくエラーコレクションを実行して、元のデータを再生できる。
【００６７】
［３．記録指示装置構成およびデータ記録処理］
次に、記録指示装置およびデータ記録処理について説明する。図４は、記録指示装置２５０の構成を示す図である。記録指示装置２５０は、複数のノードに対する記録処理要求対象データ（コンテンツ）を入力するデータ入力部２５１、例えばＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｌｌｅｃｔｉｏｎ）符号化、および符号化データに対するインターリーブ処理等のデータ加工を実行するデータ加工部２５２、前述の［ルール判断条件記述］としての確率値：αを設定するルール判断条件設定部２５３、データ加工部２５２で生成した加工データおよびルール判断条件設定部２５３で設定したルール判断条件記述を格納し、アドレスを設定したパケットを生成するパケット生成部２５４、およびネットワークとの接続を行うネットワークインターフェース２５５を有している。
【００６８】
ここで、ＦＥＣ符号化とは、トルネード符号化方式、リードトルネード符号化方式、ターボ符号方式などの受信側で誤り訂正を行う符号化方式の総称であり、データ加工部２５２は、データ入力部２５１から入力されたデータをｐ個のブロックに分割し、このｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換する。このｐ個のブロックからｑ個のブロックに符号化することを符号化率ｑ／ｐの符号化といい、この符号化率ｑ／ｐを変更することによって、この分散型ストレージシステムの記録効率や伝送効率を変更することができる。
【００６９】
インターリーブ処理は、符号化されたデータの順番を並び換える処理である。インターリーブすることによってデータを分散させ、パケットの消失によって発生するバーストエラーがランダムエラーになるようにすることができ、その結果、消失データ部をＦＥＣに従ったエラーコレクションによって訂正することが可能となる。
【００７０】
ＦＥＣエンコード処理およびインタリーブ処理について、図５を参照して説明する。図５（ａ）に示すように、入力した元データをｐ個のブロックに分割する。そして、図５（ｂ）に示すように、符号化率ｑ／ｐのＦＥＣ符号化を施し、ｐ個のブロックに分割したデータをｑ個の符号化ブロックに変換する。
【００７１】
上述したように、ＦＥＣ符号化とは、トルネード符号化方式、リードトルネード符号化方式、ターボ符号化方式などの受信側で誤り訂正を行う符号化方式の総称であり、ＦＥＣ符号化を用いて、あるデータを符号化率ｑ／ｐで符号化した場合、論文ＲＩＺＺ０９７（ｈｔｔｐ：／／ｗｗｗ．ｉｅｔ．ｕｎｉｐｉ．ｉｔ／￣ｌｕｉｇｉ／ｆｅｃ．ｈｔｍｌ＃ｆｅｃ．ｐｓ）に発表されているように、ｐ個以上の符号化されたブロックが残存すれば、幾つかのブロックが消失しても、元のメッセージが復元できるようになっている。
【００７２】
ＦＥＣ符号化を施されたデータは、図５（ｃ）に示すようにインターリーブ処理が実行され。符号化されたデータの順番を並び換え、データを分散させる。インターリーブ処理のなされたデータは、ルール判断条件設定部２５３に出力され、前述の［ルール判断条件記述］としての確率値：αを設定する。
【００７３】
［ルール判断条件記述］としての確率値：αの設定処理は、前述のデータ加工部の処理に関連して設定される。データ加工部は、データをｐ個のブロック数に分割し、生成したｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換する符号化率ｑ／ｐの符号化処理を実行するものとした場合、ルール判断条件設定部２５３は、データ記録処理要求を受信するノードにおいて記録確率：αでデータを記録させる確率値：αを記録ルール判断条件記述として設定する構成であり、ネットワークに接続された再生指示装置１０２（図１参照）から指定される返信確率：β、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、ブロック数：ｐとの関係が、
返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐ
となるように確率値：αを設定する。この設定により、再生指示装置の再生要求によって各ノードから返信確率：βで返信される返信データからの確実なデータ復元が保証される。
【００７４】
パケット生成部２５４は、データ加工部２５２で生成した加工データを所定の大きさに分割し、ルール判断条件設定部２５３で設定したルール判断条件記述を格納し、アドレスを含むヘッダやフッタを付加したパケットを生成して、ネットワークインターフェース２５５を介して送信する。なお、パケットは送信ノードに応じたアドレス設定、すなわちユニキャスト若しくはマルチキャストを用いて分散型ストレージシステムを構成する各ノードに送信する。
【００７５】
図６は、パケット生成部２５４によって生成されるパケット４０の構造を示す図である。パケットは、ヘッダ、記録ルール判断条件記述、ペイロード、フッタから構成される。ペイロードには、ＦＥＣエンコード処理およびインターリーブ処理がなされた加工データ（加工コンテンツ）が格納される。ヘッダとフッタには、データの種類を示すデータＩＤ、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）のチェックサム、パケット送信先ノードの固有識別子としてのＧＵＩＤ（Ｇｌｏｂａｌ  Ｕｎｉｑｕｅ  ＩＤ）、ネットワークアドレスなどの制御情報が記述されている。
【００７６】
記録ルール判断条件記述には、後述する各ノードがこのパケットを記録する確率：αが記述されている。パケットを受信したノードのルール判断処理部２０１（図３参照）は、この記録確率αに基づいてパケットを記録する。
【００７７】
分散型ストレージシステムを構成する全てのノードは、この記録確率に基づいてパケットを記録するか否かを決定する。これにより、分散型ストレージシステムを構成するノードに確率αでデータが記録されることになる。この分散型ストレージシステムでは、ノードの数ｎが十分に大きく、且つ復号されたブロック数ｑが十分に大きい場合に、各ノードに均等な確率でデータを分散することができる。
【００７８】
なお、記録ルール判断条件記述を加工コンテンツを格納したパケットと別のパケットに格納し、加工コンテンツを格納したパケットに記録ルール判断条件記述を格納したパケットのリンク情報を格納し、加工コンテンツを格納したパケットを受信したノードがリンク情報に基づいて対応する記録ルール判断条件記述格納パケットを取得する構成としてもよい。
【００７９】
次に、記録指示装置からの記録処理要求パケットの送信に基づいて、パケットを受信したノードが自律的にコンテンツを記録するか否かを判定して処理を実行する記録処理手順について説明する。
【００８０】
図７は、記録指示装置１０１から複数ノード１１１〜１１５に対して、データ記録命令としての図６に示すデータ記録処理要求パケットを送信する処理を説明する図である。記録指示装置は、図６で説明したＦＥＣ処理およびインターリーブ処理を施した加工データをペイロードとし、さらに、ルール判断条件記述としての確率値：αを設定したパケットを各ノードに対してユニキャストあるいはマルチキャスト送信する。
【００８１】
図８を参照して、パケットを受信したノードにおける処理手順を説明する。まず、ステップＳ１０１で、データ記録処理要求パケットを待機し、ステップＳ１０２でパケットを受信したと判定すると、ステップＳ１０３において、乱数生成処理を実行し、ステップＳ１０４において、生成した乱数と、データ記録処理要求パケット内に格納された記録ルール判断条件記述：確率αとの比較を行ない、比較結果に基づいて、命令の実行、非実行を判定する。
【００８２】
例えば、生成乱数＞確率αであれば、パケットのペイロードとして格納された加工データを自己の記憶手段に記録する処理を実行し、生成乱数≦確率αであれば、データ記録処理を実行しない。
【００８３】
なお、各ノードにおいて生成される乱数は、分散型ストレージシステムを構成するノードの数ｎが十分に大きく、且つ復号化されたブロックの個数ｑが十分に大きい場合、全てのノードにパケットが均等に記録され、分散型ストレージシステム全体としてαの確率でデータが記録されるように発生乱数の範囲が設定される。
【００８４】
ステップＳ１０４における乱数に基づく比較処理結果として、データ記録処理要求を実行すべきとの判定がなされれば、ステップＳ１０５に進み、パケットのペイロードとして格納された加工データの抽出処理を実行して、自装置（ノード）の記憶手段に抽出データを記録する処理を実行する。一方、乱数に基づく比較処理結果として、データ記録処理要求を実行しないとの判定がなされれば、ステップＳ１０６に進み、データ記録処理を実行せずに処理を終了する。
【００８５】
このように、データ記録処理要求（命令）を受信した情報処理装置は、パケット内に格納された記録ルール判断条件記述と乱数との比較に基づいて自律的に命令の実行、非実行を判定し、判定に従った処理を行なう。
【００８６】
次に、図９の処理フローを参照して、データ記録処理要求を受信した情報処理装置側において、ハッシュ値を算出して、ハッシュ値に基づいて自律的にデータ記録処理要求の実行、非実行を判定する処理について説明する。
【００８７】
まず、ステップＳ２０１で、データ処理要求パケットを待機し、ステップＳ２０２でパケットを受信したと判定すると、ステップＳ２０３において、受信パケット内の格納データに基づくハッシュ値生成処理を実行し、ステップＳ２０４において、生成したハッシュ値に基づいて、命令の実行、非実行を判定する。
【００８８】
例えば、情報処理装置は、それぞれ予め設定された閾値としての設定値を記憶部に格納し、生成ハッシュ値＞設定値であれば、命令実行、生成ハッシュ値≦設定値であれば、命令を非実行とするなどの設定とする。
【００８９】
ハッシュ値の生成対象とするデータ処理要求パケット内に格納されたデータは、図１０に示すように、例えばコンテンツデータの識別子（データＩＤ）、あるいはデータの一部、例えばデータ先頭から所定（ｎ）ビットのデータをハッシュ対象データとして設定するなどが可能である。ハッシュ値算出は例えばＭＤ５の適用が可能であり、図１０に示すようにデータＩＤのＭＤ５によるハッシュ値、あるいはデータ内容のＭＤ５によるハッシュ値が生成される。
【００９０】
ステップＳ２０４におけるハッシュ値に基づく判定結果として、データ記録処理要求を実行すべきとの判定がなされれば、ステップＳ２０５に進み、パケットのペイロードとして格納された加工データの抽出処理を実行して、自装置（ノード）の記憶手段に抽出データを記録する処理を実行する。一方、ハッシュ値に基づく比較処理結果として、データ記録処理要求を実行しないとの判定がなされれば、ステップＳ２０６に進み、データ記録処理を実行せずに処理を終了する。
【００９１】
このように、データ記録処理要求（命令）を受信した情報処理装置は、パケット内に格納されたデータのハッシュ値と各ノードの設定値との比較に基づいて自律的に命令の実行、非実行を判定し、判定に従った処理を行なう。
【００９２】
［４．再生指示装置構成およびデータ再生処理］
次に、データの再生指示を各ノードに送信し、各ノードから再生対象のデータを受信してデータ再生処理を実行する再生指示装置１０２（図１参照）について説明する。図１１は、再生指示装置２７０の構成を示す図である。再生指示装置２７０は、ネットワークを介しての外部とのデータの送受信を行うネットワークインターフェース２７１、ノードに再生対象データを指定した再生データ送信を要求するパケットを生成するデータ要求パケット生成部２７２、データ要求パケットに設定する［ルール判断条件記述］としての確率値：βを決定するルール判断条件設定部２７３を有する。
【００９３】
さらに、ネットワークインターフェース２７１は、各ノードからの再生データ格納パケットを受信し、再生指示装置２７０のパケット処理部２７４は、パケットに分割されたデータを結合する処理を実行する。さらに、データ復元処理部２７５は、受信パケットから抽出したデータのデインターリーブ処理、ＦＥＣデコード処理を実行し、コンテンツデータの復元を実行する。復元したデータはデータ処理部２７６に入力され、モニタやスピーカ（図示省略）などの外部機器に出力したり、図示しない記録装置に格納されたりする。
【００９４】
データ要求パケット生成部２７２は、分散型ストレージシステムを構成する各ノードにデータを要求するパケットを送信する。図１２は、データを要求するパケットの構成を示す図である。パケットは、ヘッダ、再生ルール判断条件記述部、リクエスト記述部、フッタから構成される。リクエスト記述部には、要求するデータを識別するためのデータＩＤが記録される。ヘッダとフッタには、ＣＲＣのチェックサム、ノードのネットワークアドレスやＧＵＩＤ、データの順序を示すシーケンス番号などの制御情報が記録される。
【００９５】
再生ルール判断条件記述部には、ルール判断条件設定部２７３の決定した返信確率βを設定する。返信確率βは、パケットを受信したノードがデータを返信するか否かの判定を行うための変数である。この変数をもとに、データを返信すると判定するノードもあれば、データを返信しないと判定するノードもあるが、返信確率βは、分散型ストレージシステム全体をマクロ的にみたときの値であり、分散型ストレージシステム全体では、各ノードのデータを返信する確率がβになる。そのため、分散型ストレージシステムにｎ個のノードが存在する場合に、返信されるパケットの割合は、ノードの個数ｎと返信確率βを掛け合わせた値ｎ×βとなる。
【００９６】
パケット処理部２７４は、各ノードから返信されたパケットを結合する。図１３は、ノードから返信されたパケットのデータ構造を示す図である。図１３に示すようにパケットは、ヘッダ、ペイロード、フッタから構成され、ペイロードには各ノードが記憶部から抽出したデータ、すなわち、先に図５を参照して説明したＦＥＣ処理およびインターリーブ処理のなされたデータブロックが格納され、ヘッダとフッダには、ＣＲＣのチェックサムや受信側のノードのネットワークアドレス、パケットの順序を示すシーケンス番号など、制御情報が格納される。
【００９７】
図１３に示すパケットを再生指示装置が受信すると、パケット処理部２７４はパケット解析を実行し、シーケンス番号を読み取り、受信したパケットの順序を入れ替え、ヘッダやフッタなどの制御情報を除去して、シーケンス番号の順にパケットを結合する。
【００９８】
データ復元処理部２７５は、受信データブロックにデインターリーブをかけ、データの並びを整列させ、さらにデインターリーブされたデータにＦＥＣ復号を施し、元のデータを復元する。
【００９９】
ＦＥＣおよびデインタリーブ処理に基づくデータ復元処理ついて、図１４を参照して説明する。図１４（ａ）に示すように、各ノードからの受信パケットは、ネットワーク上において消失が発生し、受信データブロックと消失データブロックが混在することになる。
【０１００】
なお、受信データブロックは、先に図５を参照して説明したように、符号化率ｑ／ｐのＦＥＣ符号化を施し、ｐ個のブロックに分割したデータをｑ個の符号化ブロックに変換したブロックデータである。
【０１０１】
再生指示装置における、データ復元処理部２７５は、まず、受信データブロックにデインターリーブをかけ、データの並びを整列させ、図１４（ｂ）に示すデインタリーブ処理データを生成する。デインタリーブ処理データには消失パケット、すなわち消失ブロックに基づくデータ消失部が存在する。しかしデインタリーブ処理により、これらのエラーは、エラー部が大きなデータ領域として存在するバーストエラーではなく、微少データ領域からなるランダムエラーとなる。このような微少データ領域からなるランダムエラーは、ＦＥＣによるエラーの解消が可能である。
【０１０２】
データ復元処理部２７５は、図１４（ｂ）に示すデインタリーブ処理データについて、ＦＥＣによるエラー訂正を実行し、図１４（ｃ）に示す復元データを生成する。上述したように、ＦＥＣ符号化とは、トルネード符号化方式、リードトルネード符号化方式、ターボ符号化方式などの受信側で誤り訂正を行う符号化方式の総称であり、ＦＥＣ符号化を用いて、あるデータを符号化率ｑ／ｐで符号化した場合、論文ＲＩＺＺ０９７（ｈｔｔｐ：／／ｗｗｗ．ｉｅｔ．ｕｎｉｐｉ．ｉｔ／￣ｌｕｉｇｉ／ｆｅｃ．ｈｔｍｌ＃ｆｅｃ．ｐｓ）に発表されているように、ｐ個以上の符号化されたブロックが残存すれば、幾つかのブロックが消失しても、元のメッセージが復元できる。
【０１０３】
データ復元処理部２７５によって復元されたデータは、データ処理部２７６に出力される。データ処理部２７６は、復号されたデータを、図示しない記録部に保存したり、モニタやスピーカなどの出力部に出力インターフェースを介して出力する。
【０１０４】
本発明に従った分散型ストレージシステムは、記録確率αで各ノードにデータを記録し、各ノードに記録したデータを返信確率βで返信させるシステムであり、図１に示す記録指示装置１０１から出力される元データは、α×ｎ×βの割合で返信される。例えば、ｐ個のブロックをｑ個のブロックに符号化すると、ｑ×α×ｎ×β個のブロックが返信される。前述の論文ＲＩＺＺ０９７に記載のように、この返信されたブロックの個数が復号前のブロックの個数ｐよりも多い場合、データは復号可能である。そのため、返信されるブロックの個数がｐ個より多くなるように、α、β、ｑ／ｐの値を決定しておくと、目的のデータを復号することができる。
【０１０５】
すなわち、再生指示装置２７０におけるルール判断条件設定部２７３は、ノードに格納された再生対象データが、ｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換した符号化率ｑ／ｐの符号化処理データであるとき、ネットワークに接続された記録指示装置から指定される記録確率：αと返信確率：βおよびｐ，ｑ、および前記符号化ブロック数：ｑと、ネットワーク接続ノード数：ｎによって算出可能な返信ブロック数：ｑ×α×ｎ×βと、ブロック数：ｐとの関係が、
返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐ
となる確率値：βとして設定する。この設定により、再生指示装置の再生要求によって各ノードから返信確率：βで返信される返信データからの確実なデータ復元が保証される。
【０１０６】
このように、本具体例における分散型ストレージシステムは、
ｐ≧ｑ×α×ｎ×β
を満たすように、符号化率ｑ／ｐ、記録確率α、返信確率βを設定すればよいので、上述の式を満たす範囲で符号化率ｑ／ｐ、記録確率α、返信確率βを変更することにより、データの記録効率や伝送効率を変更させることができる。以下、ｑ／ｐ、α、βの各パラメータの設定例について説明する。
【０１０７】
例えば、非常に多くの返信要求があるデータに対して、記録確率αの値を大きくし、返信確率βの値を小さくすると、各ノードから送信されるデータが少なくなり、ノードにおけるデータの検索処理やデータの送信処理が簡略化されるようになる。
【０１０８】
また、記録確率αの値を大きくするかわりに、符号化率ｑ／ｐの値を大きくして、返信確率βを小さくしても、各ノードにおけるデータの検索処理やデータの送信処理を簡略化することができる。
【０１０９】
また、符号化率ｑ／ｐを小さくし、記録確率αを大きくすると、送信するパケットの数を抑えることができる。これは、ｐが十分大きいときに効果的である。また、記録確率αを小さくし、符号化率ｑ／ｐを小さくすることで、同一のパケットを複数のノードに記録することを避けることができる。これは、ｐが十分小さいときに効果がある。
【０１１０】
また、返信確率βを大きくし、記録確率α又は符号化率ｑ／ｐを小さくすることにより、分散型ストレージシステム全体に記録される符号化データの容量を小さくすることができる。或いは、データの記録時、出力時又は送信時などに、パケットの消失する確率をａとすると、ａ×ｎ×α×ｑ×βがｐよりも十分大きくなるようにα、β、ｑ／ｐの値を制御することによって、十分な数のデータが返信される。
【０１１１】
また、複数のノードから返信されるユニークなパケットの個数を数学的に推定し、記録確率、返信確率、または符号化率を大きくすることで、ユニークなパケットが到着する確率を高くすることができる。
【０１１２】
次に、再生指示装置からの再生処理要求パケットの送信に基づいて、パケットを受信したノードが自律的にコンテンツを抽出し送信するか否かを判定して処理を実行する再生処理手順について説明する。
【０１１３】
図１５は、再生指示装置１０２から複数ノード１１１〜１１５に対して、データ再生命令としての図１２に示すデータ再生処理要求パケットを送信する処理を説明する図である。再生指示装置は、再生指定データの識別子、例えばコンテンツＩＤ、ＧＵＩＤ等をリクエスト記述として設定し、さらに、ルール判断条件記述としての確率値：βを設定した図１２に示すデータ再生処理要求パケットを生成し、パケットを各ノードに対してユニキャストあるいはマルチキャスト配信する。
【０１１４】
図１６は、図１２に示すデータ再生処理要求パケットを受信したノードが再生命令に従って、データ再生処理、すなわち自ノードの記憶部からの指定データの読み取り、パケット生成、パケット送信を実行するか、しないかを自律的に判定し、処理実行の判定を行なったノードにおいてのみ再生データを格納したパケット、すなわち図６で説明したＦＥＣ処理およびインターリーブ処理を施した加工データをペイロードとしたパケット（図１３参照）を生成して、再生指示装置１１２に対して送信する。
【０１１５】
図１７を参照して、ルール判断条件記述としての確率値：βを設定した図１２に示すデータ再生処理要求パケットを受信したノードにおける処理手順を説明する。まず、ステップＳ３０１で、データ再生処理要求パケットを待機し、ステップＳ３０２でパケットを受信したと判定すると、ステップＳ３０３において、乱数生成処理を実行し、ステップＳ３０４において、生成した乱数と、データ再生処理要求パケット内に格納された再生ルール判断条件記述：確率βとの比較を行ない、比較結果に基づいて、命令の実行、非実行を判定する。
【０１１６】
例えば、生成乱数＞確率βであれば、自己の記憶手段に格納された指定コンテンツを抽出し、抽出データをペイロードとしたパケット（図１３参照）を生成して、再生指示装置に対して送信する処理を実行し、生成乱数≦確率βであれば、データ再生処理を実行しない。
【０１１７】
ステップＳ３０４における乱数に基づく比較処理結果として、データ再生処理要求を実行すべきとの判定がなされれば、ステップＳ３０５に進み、自装置（ノード）の記憶手段に格納された加工データの抽出処理を実行して、抽出データをペイロードとしたパケット（図１３参照）を生成して、再生指示装置に対して送信する処理を実行する。一方、乱数に基づく比較処理結果として、データ再生処理要求を実行しないとの判定がなされれば、ステップＳ３０６に進み、データ再生処理を実行せずに処理を終了する。
【０１１８】
このように、データ再生処理要求（命令）を受信した情報処理装置は、パケット内に格納された再生ルール判断条件記述と乱数との比較に基づいて自律的に命令の実行、非実行を判定し、判定に従った処理を行なう。
【０１１９】
次に、図１８の処理フローを参照して、データ再生処理要求を受信した情報処理装置側において、ハッシュ値を算出して、ハッシュ値に基づいて自律的にデータ再生処理要求の実行、非実行を判定する処理について説明する。
【０１２０】
まず、ステップＳ４０１で、データ再生処理要求パケットを待機し、ステップＳ４０２でパケットを受信したと判定すると、ステップＳ４０３において、受信パケット内の格納データに基づくハッシュ値生成処理を実行し、ステップＳ４０４において、生成したハッシュ値に基づいて、命令の実行、非実行を判定する。
【０１２１】
例えば、情報処理装置は、それぞれ予め設定された閾値としての設定値を記憶部に格納し、生成ハッシュ値＞設定値であれば、命令実行、生成ハッシュ値≦設定値であれば、命令を非実行とするなどの設定とする。
【０１２２】
ハッシュ値の生成対象とするデータは、先にデータ記録要求の処理の判定と同様、図１０に示す、例えばコンテンツデータの識別子（データＩＤ）、あるいはデータの一部、例えばデータ先頭からＸビットのデータをハッシュ対象データとして設定するなどが可能である。ハッシュ値算出は例えばＭＤ５の適用が可能であり、図１０に示すようにデータＩＤのＭＤ５によるハッシュ値、あるいはデータ内容のＭＤ５によるハッシュ値が生成される。
【０１２３】
ステップＳ４０４におけるハッシュ値に基づく判定結果として、データ記録処理要求を実行すべきとの判定がなされれば、ステップＳ４０５に進み、自装置（ノード）の記憶手段に格納された加工データの抽出処理を実行して、抽出データをペイロードとしたパケット（図１３参照）を生成して、再生指示装置に対して送信する処理を実行する。一方、ハッシュ値に基づく比較処理結果として、データ再生処理要求を実行しないとの判定がなされれば、ステップＳ４０６に進み、データ再生処理を実行せずに処理を終了する。
【０１２４】
このように、データ再生処理要求（命令）を受信した情報処理装置は、パケット内に格納されたデータのハッシュ値と各ノードの設定値との比較に基づいて自律的に命令の実行、非実行を判定し、判定に従った処理を行なう。
【０１２５】
［５．データ記録再生処理シーケンス］
次に、図１９を参照して記録指示装置からノードに対するデータ記録処理要求の発行、ノードにおけるデータ記録処理、再生指示装置からノードに対するのデータ再生処理要求の発行、ノードにおけるデータ抽出、パケット送信処理の一連の処理シーケンスについて、まとめて説明する。
【０１２６】
記録指示装置は、まず、ステップＳ１１において、記録対象データ（コンテンツ）の加工、すなわち、ＦＥＣ処理、およびインターリーブ処理を実行する。この処理は、先に図５を参照して説明した処理である。
【０１２７】
次に、記録指示装置は、ステップＳ１２において、データ記録処理要求（命令）パケットの生成処理を実行する。インターリーブ処理のなされたデータがペイロードとして格納されるとともに、ルール判断条件設定部２５３（図４参照）において決定される［ルール判断条件記述］としての確率値：αを設定したパケットを生成する。
【０１２８】
次に、記録指示装置は、ステップＳ１３において、送信ノードに応じたアドレス設定、すなわちユニキャスト若しくはマルチキャストを用いて分散型ストレージシステムを構成する各ノードに送信する。
【０１２９】
記録指示装置からのデータ記録処理要求（命令）パケットを受信したノードの処理は、先に、図８、図９を参照して説明した処理の実行、非実行を自律的に判断して行なわれる処理となる。図１９には、２つのノード（ノード１，２）の処理を示してあるが、この他にも多数のノードにおいて、自律的な判断（確率制御）が実行され、データ記録処理を実行するノード、データ記録処理を実行しないノードが存在する。
【０１３０】
図１９に示す２つのノード（ノード１，２）は、ステップＳ２１，Ｓ３１の確率制御処理、すなわち、図８を参照して説明した生成乱数と、受信パケット（データ記録処理要求パケット）中の記録ルール判断条件記述として設定された確率：αとの比較に基づく、処理実行／非実行の判定処理、あるいは、図９を参照して説明したパケット内データに基づくハッシュ値と、ノードの設定値との比較に基づく、処理実行／非実行の判定処理を実行する。
【０１３１】
図１９に示す２つのノード（ノード１，２）は、ステップＳ２１，Ｓ３１の確率制御処理の結果として、いずれもデータ記録処理を実行するとの結論が得られ、ステップＳ２２，Ｓ３２において、データ記録処理を実行する。記録対象データは、記録指示装置から受信したデータ記録処理要求パケットに格納されたＦＥＣおよびインタリーブされた加工データである。
【０１３２】
次に、再生指示装置は、ステップＳ４１において、再生処理要求（命令）パケット（図１２参照）を各ノードに対して送信する。再生対象となるコンテンツＩＤ等をリクエスト記述として格納し、再生ルール判断条件記述（確率：β）ほ設定したパケットである
【０１３３】
再生処理要求（命令）パケット（図１２参照）を受信した各ノード、すなわち図１９に示す２つのノード（ノード１，２）は、ステップＳ５１，Ｓ６１の確率制御処理、すなわち、図１７を参照して説明した生成乱数と、受信パケット（データ再生処理要求パケット）中の再生ルール判断条件記述として設定された確率：βとの比較に基づく、処理実行／非実行の判定処理、あるいは、図１８を参照して説明したパケット内データに基づくハッシュ値と、ノードの設定値との比較に基づく、処理実行／非実行の判定処理を実行する。
【０１３４】
図１９に示すノード１は、ステップＳ５１の確率制御処理の結果として、データ再生処理を実行するとの結論が得られ、ステップＳ５２において、再生処理要求（命令）パケットのリクエスト記述に従って、自ノードの記憶部から対応データを取得し、取得データをペイロードとして格納したパケット（図１３参照）を生成して、ステップＳ５３において、再生指示装置に対して送信する。
【０１３５】
一方、図１９に示すノード２は、ステップＳ６１の確率制御処理の結果として、データ再生処理を実行しないとの結論が得られ、データ抽出およびパケット生成、送信を実行せずに処理を終了する。
【０１３６】
なお、図１９には、ノード１からのみのデータが再生指示装置に送信されている構成となっているが、図示しないノード３〜ｎからのデータ格納パケットが再生指示装置に送信され、再生指示装置は、多数のノードから多数のパケットを受信している。
【０１３７】
再生データを格納したパケットを受信した再生指示装置は、ステップＳ７１において、受信データブロックにデインターリーブをかけ、データの並びを整列させ、さらにデインターリーブされたデータにＦＥＣ復号を施し、元のデータを復元する。
【０１３８】
ＦＥＣおよびデインタリーブ処理に基づくデータ復元処理ついては、先に図１４を参照して説明した通りである。消失パケットが存在しても、デインタリーブ処理により、エラーは、エラー部が大きなデータ領域として存在するバーストエラーではなく、ランダムエラーとなり、ＦＥＣ復号処理により元のデータが復元される。
【０１３９】
このように、データ記録あるいは再生処理要求（命令）を受信した情報処理装置は、各処理要求パケットに設定された記録ルール判断条件記述、または再生ルール判断条件記述、あるいはその他のパケット内データに基づいて、自律的に命令の実行、非実行を判定し、判定に従った処理を行なうことが可能となる。
【０１４０】
以上のように、本実施例における分散型ストレージシステムは、システムを構成するノードに記録確率αを記述したパケットを送信することにより、データを分散して記録する。そして、ノードに記録されたデータを返信確率βで返信させることにより、データの取り出しを行う。このように、データを分散して記録すると、一つのサーバにデータ管理の負荷が集中することなく、データを格納することができる。また、一つのデータを複数のノードで共有するため、システム全体で必要となるデータ容量が少なくて済む。
【０１４１】
また、複数のノードからデータを受信するようにすると、一つのサーバにトラフィックが集中することがなくなり、安定した通信量でデータの送受信が行える。
【０１４２】
また、α、β、ｑ／ｐの値を変更することにより、伝送効率や記録するデータ量を変更することができる。さらに、データの記録時、出力時、送信時などにパケットが消失するとき、消失する確率ａを考慮して、α、β、ｑ／ｐのパラメータの値を変更して、パケットが消失しても復号に十分なデータを取り出せるようにすることもできる。
【０１４３】
また、この分散型ストレージシステムでは、記録確率と返信確率に基づいた演算によってデータの分散記録・読み出しを実行できるため、データの管理が単純であり、カムコーダや携帯電話などの処理能力の少ない家庭用の機器であってもこのシステムに適応できる。また、カムコーダや携帯電話などの処理能力の低い家庭用の機器をノードとして用いることができるようになるため、数百万台規模の分散型ストレージシステムが容易に構築できる。
【０１４４】
また、上記分散ストレージシステムにおいては、記録指示装置は、記録させるデータと記録確率を同じパケットで送信したが、記録させるデータと記録確率を異なるパケットで送信したり、外部の記録装置に記録し、各情報処理ノードから参照するようにしてもよい。
【０１４５】
なお、上述した実施例では、ネットワークに接続された情報処理装置におけるパケット転送処理を実行する構成例を中心として説明したが、本発明は、パケット転送構成を持つ構成に限らず、例えば無線通信装置相互の通信、あるいはＰＣ等の情報処理装置の電子回路を構成するデバイス間通信においても、それぞれ転送データに対して、前述した処理ルール判断条件記述に対応するデータを設定することで、処理要求データを受信した無線通信装置、あるいはデバイスにおいて要求処理を実行するか否かの自律的な判断が可能となる。
【０１４６】
［６．情報処理装置のハード構成］
次に、上述の実施例において説明したノード、記録指示装置、再生指示装置を構成する情報処理装置のハード構成例について説明する。
【０１４７】
図２０に、制御手段としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えた情報処理装置例を示す。図２０に示す構成について説明する。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１は、各種プログラムを実行するプロセッサである。ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ−Ｍｅｍｏｒｙ）９０２は、ＣＰＵ９０１が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３は、ＣＰＵ９０１の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。
【０１４８】
ＨＤＤ９０４はハードディスクの制御を実行し、ハードディスクに対する各種データ、プログラムの格納処理および読み出し処理を実行する。エンコード／デコード処理部９０５は、コンテンツ等の送信データのエンコード処理、受信データのデコード処理を前述した処理に従って実行する。
【０１４９】
バス９２１はＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｎｅｔ／Ｉｎｔｅｒｆａｃｅ）バス等により構成され、各モジュール、入出力インタフェース８２２を介した各入出力装置とのデータ転送を可能にしている。
【０１５０】
入力部９１１は、例えばキーボード、ポインティングデバイスを含む入力部である。キーボードやマウス等を介して入力部９１１が操作された場合、あるいは、通信部９１３からのデータを受信した場合などにＣＰＵ９０１に指令が入力され、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２に格納されているプログラムを実行する。出力部９１２は、例えばＣＲＴ、液晶ディスプレイ等であり、各種情報をテキストまたはイメージ等により表示する。
【０１５１】
通信部９１３は情報処理装置間の通信、あるいは、その他のエンティテイとの通信処理を実行し、ＣＰＵ９０１の制御の下に、各記憶部から供給されたデータ、あるいはＣＰＵ９０１、エンコード／デコード処理部９０５によって処理されたデータを送信したり、他エンティテイからのデータを受信する処理を実行する。
【０１５２】
ドライブ９１４は、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  ＲｅａｄＯｎｌｙ  Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体９１５の記録再生を実行するドライブであり、各リムーバブル記録媒体９１５からのプログラムまたはデータ再生、リムーバブル記録媒体９１５に対するプログラムまたはデータ格納を実行する。
【０１５３】
各記憶媒体に記録されたプログラムまたはデータを読み出してＣＰＵ９０１において実行または処理を行なう場合は、読み出したプログラム、データは入出力インタフェース９２２、バス９２１を介して例えば接続されているＲＡＭ９０３に供給される。
【０１５４】
なお、明細書中において説明した各処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、又は各種のプログラムをインストールすることで各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、フレキシブルディスクやＣＤ−ＲＯＭ等のプログラム読み取り可能な記録媒体にプログラムを格納して提供してもよいし、インターネットなどの通信網を介してプログラムをダウンロードしてもよい。
【０１５５】
具体的には、プログラムは記録媒体としてのハードディスクやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１５６】
また、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１５７】
なお、ノード、記録指示装置、再生指示装置を構成する情報処理装置としては、カムコーダ、パーソナルビデオレコーダーやホームゲートウェイなどが考えられるが、データを記録する記録部と、所定の演算を行う制御部と、データの送受信を行うネットワークインターフェースを有していればその他の構成を備える装置であってもよい。
【０１５８】
また、記録確率α、返信確率βをパケット中に記録したが、記録確率α、返信確率βを任意の記録装置、若しくはパケットなどに記録し、各ノードがその値を参照するようにしてもよい。また、ＦＥＣ符号化としてリードトルネード符号化方式を利用した場合には、インターリーブ処理を省略することもできる。
【０１５９】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【０１６０】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１６１】
【発明の効果】
以上、説明してきたように、本発明の構成によれば、ネットワーク接続された複数のノードに対して分散してデータ記録処理を実行する際、記録指示装置において、ノードがデータ記録を実行するか否かの判定処理に適用可能な判定用データを設定し、設定した判定用データと記録処理対象データを格納したデータ記録処理要求を各ノードに送信し、ノード側が、判定用データに基づいて自律的にデータ記録処理の実行有無を判定して処理を行なう構成としたので、記録要求を行なう記録指示装置において、特定の記録ノードを選択するなどの事前処理が不要となり、分散ノードを適用したデータ記録処理が効率的に実行される。
【０１６２】
さらに、本発明の構成によれば、ネットワーク接続されたノードに分散して記録されたデータを集積して再生する際、データ再生処理要求を送信する再生指示装置において、ノードがデータ抽出、送信を実行するか否かの判定処理に適用可能な判定用データを設定し、設定した判定用データと再生対象データの指示データを格納したデータ再生処理要求を各ノードに送信し、ノード側が、判定用データに基づいて自律的にデータ抽出、送信処理の実行有無を判定して処理を行なう構成としたので、再生要求を行なう再生指示装置において、特定の記録ノードを選択するなどの事前処理が不要となり、分散ノードを適用したデータ再生処理が効率的に実行される。
【０１６３】
さらに、本発明の構成によれば、ネットワークに接続された情報処理装置が、データ受信部を介して受信するデータ処理要求に含まれる判定用データに基づいて、処理要求に従った処理を実行するか否かの判定処理を実行する構成としたので、処理要求側における処理対象ノード（情報処理装置）の検索が不要となる。
【０１６４】
さらに、本発明の構成によれば、各ノードに分散して記録されるデータは、ｐ個のブロック数に分割し、ｐ個のブロックにＦＥＣ符号化を施してｑ個のブロックに変換する符号化率ｑ／ｐの符号化処理を実行したデータとし、各ノードにおける記録確率：αと、再生指示装置の指定する返信確率：βを、返信ブロック数：ｑ×α×ｎ×β＞ブロック数：ｐとなるように設定する構成としたので、返信データからの確実なデータ復元を保証した構成が可能となる。
【図面の簡単な説明】
【図１】本発明の適用可能な分散型ストレージシステム構成例について説明する図である。
【図２】本発明の適用可能なネットワーク構成例について説明する図である。
【図３】ネットワーク接続される情報処理装置（ノード）の構成について説明する図である。
【図４】記録指示装置の構成について説明する図である。
【図５】記録指示装置において実行するデータのＦＥＣ符号化処理およびインタリーブ処理について説明する図である。
【図６】記録指示装置から送信するデータ記録処理要求パケットの構成について説明する図である。
【図７】記録指示装置からノードに対するデータ記録処理要求パケットの送信処理について説明する図である。
【図８】記録指示装置からデータ記録処理要求パケットを受信したノードにおける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。
【図９】記録指示装置からデータ記録処理要求パケットを受信したノードにおける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。
【図１０】記録指示装置からデータ記録処理要求パケットを受信したノードにおける自律的な処理実行判定において生成するハッシュ値の例について説明する図である。
【図１１】再生指示装置の構成について説明する図である。
【図１２】再生指示装置から送信するデータ再生処理要求パケットの構成について説明する図である。
【図１３】データ再生処理要求パケットを受信したノードから再生指示装置に対して送信するパケットの構成について説明する図である。
【図１４】再生指示装置において実行するデータのデインタリーブ処理およびＦＥＣ復号処理について説明する図である。
【図１５】再生指示装置からノードに対するデータ再生処理要求パケットの送信処理について説明する図である。
【図１６】再生指示装置からデータ再生処理要求パケットを受信したノードからのデータ格納パケットの送信処理について説明する図である。
【図１７】再生指示装置からデータ再生処理要求パケットを受信したノードにおける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。
【図１８】再生指示装置からデータ再生処理要求パケットを受信したノードにおける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。
【図１９】記録指示装置からのデータ記録処理要求、ノードにおけるデータ記録処理、および再生指示装置からのデータ再生処理要求、ノードにおけるデータ抽出送信処理、再生指示装置における再生処理について説明するシーケンス図である。
【図２０】本発明の情報処理装置のハードウェア構成例について説明する図である。
【符号の説明】
１００  ネットワーク
１０１  記録指示装置
１０２  再生指示装置
１１１〜１１５  ノード
１１０  ネットワーク
１２１〜１２６  情報処理装置
２００  情報処理装置（ノード）
２０１  ルール判断処理部
２０２  データ処理部
２０３  パケット処理部
２０４  データ送受信部
２５０  記録指示装置
２５１  データ入力部
２５２  データ加工部
２５３  ルール判断条件設定部
２５４  パケット生成部
２５５  ネットワークインタフェース
２７０  再生指示装置
２７１  ネットワークインタフェース
２７２  データ要求パケット生成部
２７３  ルール判断条件設定部
２７４  パケット処理部
２７５  データ復元処理部
２７６  データ処理部
９０１  ＣＰＵ
９０２  ＲＯＭ
９０３  ＲＡＭ
９０４  ＨＤＤ
９０５  エンコード／デコード処理部
９１１  入力部
９１２  出力部
９１３  通信部
９１４  ドライブ
９１５  リムーバブル記憶媒体
９２１  バス
９２２  入出力インタフェース
【図１】
2004179876.tif 000003
【図２】
2004179876.tif 000004
【図３】
2004179876.tif 000005
【図４】
2004179876.tif 000006
【図５】
2004179876.tif 000007
【図６】
2004179876.tif 000008
【図７】
2004179876.tif 000009
【図８】
2004179876.tif 000010
【図９】
2004179876.tif 000011
【図１０】
2004179876.tif 000012
【図１１】
2004179876.tif 000013
【図１２】
2004179876.tif 000014
【図１３】
2004179876.tif 000015
【図１４】
2004179876.tif 000016
【図１５】
2004179876.tif 000017
【図１６】
2004179876.tif 000018
【図１７】
2004179876.tif 000019
【図１８】
2004179876.tif 000020
【図１９】
2004179876.tif 000021
【図２０】
2004179876.tif 000022