JP2004220183A - 情報処理装置および情報処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置および情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2004220183A
JP2004220183A JP2003004681A JP2003004681A JP2004220183A JP 2004220183 A JP2004220183 A JP 2004220183A JP 2003004681 A JP2003004681 A JP 2003004681A JP 2003004681 A JP2003004681 A JP 2003004681A JP 2004220183 A JP2004220183 A JP 2004220183A
Authority
JP
Japan
Prior art keywords
data
node
processing
group
nodes
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
Application number
JP2003004681A
Other languages
English (en)
Inventor
Yasushi Katayama
靖 片山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003004681A priority Critical patent/JP2004220183A/ja
Publication of JP2004220183A publication Critical patent/JP2004220183A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】分散型記憶処理においてグループ管理を適用し、効率的で均衡のとれたデータ格納構成を実現する装置および方法を提供する。
【解決手段】ネットワーク接続された複数のノードに対してデータ記録処理を実行する分散型記憶処理構成において、ノードのグループ分けを行い、グループに対して設置されたグループ管理装置の制御により、管理対象グループのノード数nと、グループ内のノードに格納されたデータ重複数pと、確率密度係数cに基づいて、γ=(c×p)/nにより、データ存在確率密度γを算出し、γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う。グループの出力データ量ΣSnと、グループ入力データ量ΣRnについて、ΣSn=ΣRnとなる制御を実行し、記憶容量に対応するデータ格納が可能となり、破綻のないデータ記憶処理が実現される。
【選択図】 図21

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、ネットワーク等で接続された複数の情報処理装置を適用したデータ処理、特にデータ記録を複数ノードに分散して実行する分散型記憶処理構成において、均衡のとれたデータ格納を可能とするとともに、各ノードあるいは複数のノードからなるグループにおける記憶容量を考慮し、破綻のないデータ記憶処理を可能とする情報処理装置および情報処理方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
近年、インターネット等の通信ネットワークには、様々な情報処理装置、例えばパーソナルコンピュータ(PC)、大型コンピュータ、サーバ、その他の通信機器が接続され、各ネットワーク接続機器間の映像、画像データ、音声データ、あるいは各種プログラム等のコンテンツの転送、あるいは様々な処理データの転送が行なわれている。ネットワークを通じてやりとりされるコンテンツの種類は、テキスト・静止画などから、動画・音声などのマルチメディアコンテンツへと移行が進んでおり、コンテンツの大容量化が著しく進んでいる。
【0003】
あるデータを、ネットワークを介して互いに接続された多数の情報処理端末に分散して記録する大規模ストレージシステムが注目されている。このような分散型ストレージシステムにおいて、データを記録管理するサーバは、マルチキャスト等によって情報処理端末やその他のサーバにデータを送信して、データを情報処理端末や他のサーバに備えられたローカルの記録媒体に記録している。
【0004】
この場合、オンデマンドでデータを取り出せるようにするためには、記録媒体に多量のデータを記録しなければならない。例えば、1本当たり約2ギガバイトのデータ容量になる映画の場合、このような映像データを500本分記録するとすれば、1テラバイト以上の容量が必要となる。
【0005】
また、ストリーミングによってデータを提供する場合の例として、サーバがデータを要求しているクライアントに対してユニキャストでデータを提供する際には、エラーのない伝送を行うために、例えば、TCP/IPの到着済み信号(ACK)のようにデータの再送を要求するプロトコルが用いられる。
【0006】
ところが、この手法は、サーバ側に多大な負担がかかるため、高性能なサーバ1台を用いたとしても、現状では、数百台のクライアントにしかサービスを提供することができない。また、UDP/IPのようなACKを用いないプロトコルを使用したとしても、サービス可能なクライアントの数は、数千台程度である。このように、ストリーミングによってデータを提供しようとすると、サーバ側のコストが増大し、クライアントの数が制限されてしまう。
【0007】
そこで近年では、マルチキャスト技術にFEC(Forward Error Correction)を用いて、データの再送を要求することなく複数のクライアントにデータを送信する方式が提案されている。これは、サーバがマルチキャストでストリームを繰り返し送信し、クライアントは、このストリームから必要な信号を拾い上げ、拾い上げたデータを復号して再生する方式である。
【0008】
この方式を利用して、1本2ギガバイトになる映画の映像データ500本分を10分以内に送信する場合には、約14.7ギガビット/秒の伝送帯域が必要である。さらに、同量の映像データを1分以内に送信する場合には、約147ギガビット/秒の伝送帯域が必要になる。これは、理論値であるが、このような容量及び伝送方式に耐えうるサーバは、非常にコストがかかり、実現したとしても実用的でない。また、複数のホストにデータを分散して記録するという方式もあるが、このシステムを実現しようとすると、巨大なデータを複数のサーバで管理しなければならないため、データ管理やデータ通信のための処理が増大してしまう。
【0009】
また、近年、情報処理装置間の直接通信処理としてのピア・ツー・ピア(P2P:Peer−to−Peer)ネットワーク技術が開発され、利用されている。P2Pネットワークとは、集中的に処理を行なうサーバを設置するのではなく、各ネットワーククライアントが持つ資源としての情報処理装置、例えばPC、携帯端末、PDA、携帯電話、さらに、通信処理可能な機能を持つあるいは通信機器に接続された記憶手段としてのディスク装置、あるいはプリンタ等、様々な機器をお互いにネットワークを介して通信し、各ネットワーククライアントが持つ資源の共有を可能とした構成である。
【0010】
ピア・ツー・ピア(P2P:Peer−to−Peer)ネットワーク技術は、米IBM社が提唱するAPPN(Advanced Peer to Peer Networking)の中で用いられたのが最初とされている。このネットワークを使うことで、従来のようなクライアント−サーバ型ネットワークにおいてコンテンツ配信を行う場合に必要となる巨大な配信サーバを設置する必要がなくなり、各ネットワーククライアントが持つ資源に分散配置されたコンテンツを多くのユーザが利用可能となり、大容量のコンテンツの分散格納および、配信が可能となる。
【0011】
ピア・ツー・ピア(P2P:Peer−to−Peer)ネットワークには、「ピュア(Pure)ピア・ツー・ピア(P2P:Peer−to−Peer)ネットワーク」と「ハイブリッド(Hybrid)ピア・ツー・ピア(P2P:Peer−to−Peer)ネットワーク」の2つのネットワーク形態がある。
【0012】
ピュア(Pure)ピア・ツー・ピア(P2P:Peer−to−Peer)ネットワークとは、システムの各構成要素(ピア:Peer)が等しい機能・役割を持ち、対等なコミュニケーションを行うネットワーク形態である。それを用いた代表的なサービスとしてはグヌーテラ(Gnuterlla)が挙げられる。ハイブリッド(Hybrid)ピア・ツー・ピア(P2P:Peer−to−Peer)ネットワークとは、ピュア(Pure)ピア・ツー・ピア(P2P:Peer−to−Peer)ネットワークに加えて、システムの各構成要素(ピア:Peer)間の相互作用を円滑にするための制御用サーバを用いるネットワーク形態のことである。それを用いた代表的なサービスとしてはナップスター(Napster)が挙げられる。
【0013】
ナップスター(Napster)に代表されるハイブリッドピア・ツー・ピア(Hybrid P2P)方式では、ネットワーク接続された端末がコンテンツを取得しようとする場合には、まず中央のサーバでコンテンツリソースを検索し、端末は、検索情報に基づいて、そのリソースを保有しているノード(他のネットワーク接続端末)にアクセスし、コンテンツの取得を行なう。この方式では、中央サーバにすべてのノードのリソース情報を登録する必要があり、さらに検索が中央サーバに集中するという欠点がある。
【0014】
そこで、リソース検索等の処理を複数の装置に分散させて実行する方式が提案された。この処理分散方式では、処理実行の判断装置をツリー状の関係に配置するなどの方法により管理し、管理情報に基づいてリソース検索等の処理を複数の装置に分散させて実行するものである。しかし、この方式でも、処理を実行する装置が数百万など多数になると、ツリー構成を管理する情報量の増大、複数の処理装置に実行命令を伝達させるための処理命令数の増大、あるいはツリーの一貫性の保障などの問題が発生する。また、複数の処理実行判断装置による判断処理が必要となるため、処理遅延が起こる問題がある。
【0015】
これらの弱点を補うために、すべての命令をすべてのネットワーク接続ノードに送り、各ノードにおいて受信した処理命令を自分が実行するかどうかを判断をさせる方式がある。これが、グヌーテラ(Gnutella)に代表されるピュア・ピア・ツー・ピア(Pure P2P)方式である。この方式は、ハイブリッドピア・ツー・ピア(Hybrid P2P)方式と違って、リソース検索処理を実行する中央サーバを持たない構成であり、各ノード間で直接、検索要求を送受信してリソースの件策を実行して、ヒットした端末にコンテンツ送信等の処理要求を依頼する構成である。
【0016】
このグヌーテラ(Gnutella)に代表されるピュア・ピア・ツー・ピア(Pure P2P)方式においても、検索命令の転送には、ツリー構造やネットワーク構造などのルーティングを使うことによって、すべてのまたはできるだけ多くのノードに対して検索を行わせる構成が有効である。しかし、この方式においても、自ノードで実行しない処理命令の命令転送処理を実行することになり、伝送経路に負担がかかる欠点がある。
【0017】
例えばすべてのネットワーク接続ノードを検索して、処理要求を全ノードに到達させるためには、複雑なルーティング管理が必要となる。一方、ベストエフォート方式のノード検索を実行すると、すべてのノードに命令を伝達することは保証されず、必要なリソースを見つけ出せない場合がある。また、ノード検索のための通信が多発するとネットワークにおける輻輳が発生するという問題もある。
【0018】
従来、このような分散型データ記憶システムでは、ネットワークの負荷軽減のための動的なデータの再配置についてはあまり考慮されてこなかった。これは、ノードの台数が増えるにしたがってデータ格納状況の管理が難しくなるためで、ネットワーク上の位置まで考慮に入れた制御を行うと、データ送受信端末間で転送される制御用パケットの数が増大してネットワークの帯域を浪費してしまい、実データの転送に時間がかかるなど、データ転送遅延の問題が発生するという問題があるからである。
【0019】
データをネットワークのエッジに配信することでデータ管理を容易に行おうとするアルゴリズムは提案されているが、これは限られた数のノードにおけるデータ配信においては、データ管理を容易にするという効果を発揮するが、インターネット等の数千万台からそれ以上のノードの格納データを管理する場合の効果的なアルゴリズムは、これまでに提案されていない。
【0020】
【発明が解決しようとする課題】
本発明は上述の問題点に鑑みてなされたものであり、多数の端末(ノード)の接続されたネットワーク構成、特にデータ記録を複数ノードに分散して実行する分散型記憶処理構成において、均衡のとれたデータ格納を可能とするとともに、各ノードあるいは複数のノードからなるグループにおける記憶容量を考慮し、破綻のないデータ記憶処理を実現するデータ管理を可能とする情報処理装置および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【0021】
例えばコンテンツ記録処理、あるいはコンテンツ再生処理等のデータ処理をネットワーク接続された複数の端末(ノード)に設置された記憶手段を利用して実行する場合に、事前のノード検索等の処理を行なうことなく、所定のルールに基づいてコンテンツ記録要求あるいは再生要求を送信し、これらの要求を受信した端末(ノード)において、自律的に命令を実行するかしないかを判断して命令の選択的な実行を行なう構成とした分散型記憶処理構成において、ノードのグループ分けを行い、グループに対して設置されたグループ管理装置の制御により、適切なデータの再配分を実行することで、破綻のないデータ記憶処理を実現するとともに、データ再生時に再生要求端末の生成する再生要求パケットに設定する返信確率:βを当初の記録確率値:αに基づいて設定しても、再生処理可能なパケットを確実に受信することができ、再生可能性を保証することができる構成を実現する情報処理装置および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【0022】
【課題を解決するための手段】
本発明の第1の側面は、
ネットワーク接続された複数ノードの格納データ管理処理を実行するグループ管理装置としての情報処理装置であり、
管理対象となるグループに含まれるノード数nと、グループ内のノードに格納されたデータ重複数pと、確率密度係数cに基づいて、式、
γ=(c×p)/n
により、データ存在確率密度γを算出する処理を実行するとともに、
前記データ存在確率密度γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う構成を有することを特徴とする情報処理装置にある。
【0023】
さらに、本発明の情報処理装置の一実施態様において、前記グループ管理装置の管理ノードの各々は、処理要求に従った処理を実行するか否かの判定処理に適用可能な記録ルール判断条件記述としての確率値αに基づいて、データ記録処理を実行するノードであり、前記グループ管理装置としての情報処理装置は、前記データ存在確率密度γと、前記確率値αとの乖離が大であるか否かを判定し、乖離が大であるとの判定を条件として、前記データ存在確率密度γと、前記確率値αとの乖離を小とするデータ制御処理として、前記管理対象ノードに対して格納データの入出力または削除処理要求を行う構成を有することを特徴とする。
【0024】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、管理対象各ノードが送り出しているデータの量Snと、ノードが受け取っているデータの量Rnを取得し、グループ全体のノードがグループ外ノードに出力するデータ量ΣSnと、グループ全体のノードがグループ外ノードから入力するデータ量ΣRnについて、ΣSn=ΣRnとなるように前記管理対象ノードに対して格納データの入出力または削除処理要求を行う構成を有することを特徴とする。
【0025】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、外部から管理対象グループのノードに入力する入力パケット数と、管理対象グループのノードから外部に出力する出力パケット数を識別し、入力パケット数が出力パケット数より大である場合には、前記確率密度係数を下げ、入力パケット数が出力パケット数より小である場合には、確率密度係数を上げて、データ存在確率密度γの調整を実行し、調整されたγ値に基づいて、前記管理対象ノードに対して格納データの入出力または削除処理要求を行う構成を有することを特徴とする。
【0026】
さらに、本発明の第2の側面は、
ネットワーク接続された複数ノードの格納データ管理処理を実行する情報処理方法であり、
管理対象となるグループに含まれるノード数nと、グループ内のノードに格納されたデータ重複数pと、確率密度係数cに基づいて、式、
γ=(c×p)/n
により、データ存在確率密度γを算出するデータ存在確率密度算出ステップと、
前記データ存在確率密度γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う処理要求発行ステップと、
を有することを特徴とする情報処理方法にある。
【0027】
さらに、本発明の情報処理方法の一実施態様において、前記グループ管理装置の管理ノードの各々は、処理要求に従った処理を実行するか否かの判定処理に適用可能な記録ルール判断条件記述としての確率値αに基づいて、データ記録処理を実行するノードであり、前記情報処理方法は、さらに、前記データ存在確率密度γと、前記確率値αとの乖離が大であるか否かを判定するステップを有し、前記処理要求発行ステップは、前記乖離が大であるとの判定を条件として、前記データ存在確率密度γと、前記確率値αとの乖離を小とするデータ制御処理として、前記管理対象ノードに対して格納データの入出力または削除処理要求を行うステップであることを特徴とする。
【0028】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、管理対象各ノードが送り出しているデータの量Snと、ノードが受け取っているデータの量Rnを取得し、グループ全体のノードがグループ外ノードに出力するデータ量ΣSnと、グループ全体のノードがグループ外ノードから入力するデータ量ΣRnについて、ΣSn=ΣRnとなるように前記管理対象ノードに対して格納データの入出力または削除処理要求を行うことを特徴とする。
【0029】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、外部から管理対象グループのノードに入力する入力パケット数と、管理対象グループのノードから外部に出力する出力パケット数を識別し、入力パケット数が出力パケット数より大である場合には、前記確率密度係数を下げ、入力パケット数が出力パケット数より小である場合には、確率密度係数を上げて、データ存在確率密度γの調整を実行し、調整されたγ値に基づいて、前記管理対象ノードに対して格納データの入出力または削除処理要求を行うことを特徴とする。
【0030】
さらに、本発明の第3の側面は、
ネットワーク接続された複数ノードの格納データ管理処理を実行するコンピュータ・プログラムであり、
管理対象となるグループに含まれるノード数nと、グループ内のノードに格納されたデータ重複数pと、確率密度係数cに基づいて、式、
γ=(c×p)/n
により、データ存在確率密度γを算出するデータ存在確率密度算出ステップと、
前記データ存在確率密度γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う処理要求発行ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0031】
【作用】
本発明の構成によれば、多数の端末(ノード)の接続されたネットワーク構成、特にデータ記録を複数ノードに分散して実行する分散型記憶処理構成において、均衡のとれたデータ格納が可能となるとともに、各ノードあるいは複数のノードからなるグループにおける記憶容量を考慮し、破綻のないデータ記憶処理が実現される。
【0032】
さらに、本発明の構成によれば、ネットワーク接続された複数のノードに対してデータ記録処理を実行する分散型記憶処理構成において、ノードのグループ分けを行い、グループに対して設置されたグループ管理装置の制御により、管理対象グループのノード数nと、グループ内のノードに格納されたデータ重複数pと、確率密度係数cに基づいて、γ=(c×p)/nにより、データ存在確率密度γを算出し、γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う構成としたので、グループ単位での数値に基づくデータ管理が確実に実行可能となり、均衡のとれた効率的なデータ管理が実現される。
【0033】
さらに、本発明の構成によれば、データ記録または再生要求を受信した端末(ノード)において、自律的に命令を実行するかしないかを判断して命令の選択的な実行を行なう構成とした分散型記憶処理構成において、ノードのグループ分けを行い、グループに対して設置されたグループ管理装置の制御により、適切なデータの再配分を実行することで、破綻のないデータ記憶処理を実現するとともに、データ再生時に再生要求端末の生成する再生要求パケットに設定する返信確率:βを当初の記録確率値:αに基づいて設定しても、再生処理可能なパケットを確実に受信することができ、再生可能性を保証することができる構成を実現することができる。
【0034】
さらに、本発明の構成によれば、管理対象各ノードが送り出しているデータの量Snと、ノードが受け取っているデータの量Rnを取得し、グループ全体のノードがグループ外ノードに出力するデータ量ΣSnと、グループ全体のノードがグループ外ノードから入力するデータ量ΣRnについて、ΣSn=ΣRnとなるように制御する構成としたので、複数のノードからなるグループにおける記憶容量に対応するデータ格納が可能となり、破綻のないデータ記憶処理が実現される。
【0035】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0036】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0037】
【発明の実施の形態】
以下、本発明の情報処理装置および情報処理方法、並びにコンピュータ・プログラムについて、図面を参照して、詳細に説明する。説明は、以下の項目順に行なう。
1.ネットワーク構成
2.ノードとしての情報処理装置構成
3.記録指示装置構成およびデータ記録処理
4.再生指示装置構成およびデータ再生処理
5.データ記録再生処理シーケンス
6.ノードのグループ管理
7.情報処理装置のハード構成
【0038】
[1.ネットワーク構成]
まず、本発明の情報処理装置を適用したデータ処理を実現するネットワーク構成例について図1を参照して説明する。図1は、ネットワークを構成する端末にデータを分散して記録する分散型ストレージシステムの具体例を示す図である。分散型ストレージシステムは、ネットワーク100の通信網に接続されたn個のノード111、112、…、115と、各ノードへのデータの記録を指示制御する記録指示装置101と、各ノードに記録されたデータを読み出す再生指示装置102とを有する。
【0039】
なお、本実施例では、記録指示装置101と、各ノード111〜115と、再生指示装置102とを別の装置として説明するが、これら両装置の機能を有する記録再生指示装置のような装置があってもよい。また、ノードの各々が記録指示装置や再生指示装置としての機能を装備することもできる。この場合、ネットワークを構成する各装置を区別なく使用できる。なお、記録指示装置、再生指示装置、ノードを総称して情報処理装置と呼ぶ。
【0040】
すなわち、図2に示すような、ネットワーク構成を想定可能である。情報処理装置は、他の情報処理装置との通信可能な構成を有し通信ネットワークにより接続される。ネットワークは、基本的には、ルックアップサーバ(Look−upServer)としての制御用サーバを持たないピュア(Pure)ピア・ツー・ピア(P2P:Peer−to−Peer)ネットワークである。
【0041】
図2に示すように、各情報処理装置121〜126がネットワーク110を介して相互に通信を実行し、コンテンツ記録処理やコンテンツ再生処理等の各種のデータ処理を実行する。なお、本発明は、制御用サーバが存在するハイブリッド(Hybrid)ピア・ツー・ピア(P2P:Peer−to−Peer)ネットワークにおいても適用可能であり、特にネットワーク構成を限定して適用可能なものではなく、情報処理装置相互において通信が可能な構成であればよい。
【0042】
図2に示す情報処理装置121〜126のいずれかがコンテンツの記録要求、あるいはコンテンツの再生要求をネットワーク接続された情報処理装置に出力する。コンテンツの記録要求を行なう場合は、例えば所定のルールに基づくマルチキャストアドレスを設定した記録要求処理要求パケットを生成し、パケットにコンテンツをFEC(Forward Error Correction)をかけるとともにインターリーブ処理した分割データとして格納し、他の情報処理装置に対して送信する。これらのパケットを受信した情報処理装置は、データ記録処理を実行するか否かを自律的に判定して、判定に基づくコンテンツ記録処理を行なう。
【0043】
また、コンテンツの再生処理を行なう場合は、情報処理装置121〜126のいずれかがコンテンツ再生要求を他の情報処理装置、例えば所定のルールに基づくマルチキャストアドレスを設定した要求パケットを生成して送信する。これらのパケットを受信した情報処理装置は、データ抽出処理を実行するか否かを自律的に判定して、判定に基づくコンテンツ抽出処理を行ない、要求に従って抽出したデータ、例えばFEC(Forward Error Correction)をかけるとともにインターリーブ処理した分割データをパケットに格納して再生要求情報処理装置に対して送信する。
【0044】
なお、図1、図2においては、ネットワークを構成するルータなどの伝送制御装置を省略してあるが、実際には、ノードを通過するパケットの経路を選択するルータなどの伝送制御装置が設けられている。伝送制御装置は、ノードとは別に設けられていてもよいし、ノードが伝送制御装置としての機能を有していてもよい。
【0045】
[2.ノードとしての情報処理装置構成]
次に、ノードとして機能する情報処理装置の構成について説明する。図3は、ノードとして機能する情報処理装置の構成を示す図である。
【0046】
図3に示すように情報処理装置(ノード)200は、ルール判断処理部201、データ処理部202、パケット処理部203、データ送受信部204を有する。データ送受信部204は、ネットワークを介して接続された他の情報処理装置に対する送信パケットの出力、および他の情報処理装置からの受信パケットの入力処理を実行する。
【0047】
パケット処理部203は、自装置から、ネットワーク接続された他の情報処理装置に対して送信するパケットの生成処理、あるいは他の情報処理装置から受信したパケットの解析処理等を行なう。
【0048】
データ処理部202は、それぞれの情報処理装置に格納されたデータ処理プログラムに従った処理を実行する。例えば、ネットワークに接続された他の記録指示装置あるいは再生指示装置等の情報処理装置からのデータ処理要求に基づくデータ処理、例えばコンテンツ再生要求であれば、指定コンテンツを記憶部205から取り出して、パケット処理部203に出力する処理である。また、コンテンツ記録要求であれば、入力コンテンツを記憶部205に入力格納する処理である。
【0049】
ルール判断処理部201は、本発明の情報処理装置に固有の処理を実行する処理部であり、入力したパケットに記述された[ルール判断条件記述]としての確率値:α、あるいはβをもとに、パケットに基づくデータ処理、例えばデータ記録命令に対応する処理としてのデータ受信および記憶部に対する格納処理、あるいはデータ再生命令に対応する処理としての記憶部からのデータ抽出および送信処理、これらの処理を実行するか否かを判定する処理を実行する。本発明の構成においては、記録命令を実行する確率をαとし、再生命令を実行する確率をβとして設定し、それぞれ記録指示装置、再生指示装置が送信する記録要求または再生要求パケットにこれらの確率値が設定される。
【0050】
例えばコンテンツ記録処理を実行する場合、分散型ストレージシステムを構成するノードの数nが十分に大きく、且つ復号化されたブロックの個数qが十分に大きい場合、全てのノードにパケットが均等に記録され、分散型ストレージシステム全体としてαの確率でデータが記録される。
【0051】
また、コンテンツ再生処理を実行する場合、各ノードのルール判断処理部201では、再生命令を実行するか否かを確率:βに基づいて判断して実行する。このように再生命令では、それぞれのノードで一定の確率でしか命令が実行されないので、パケットの消失が起こる。しかし、複数の分散ノードからトータルで十分な数のパケットが送られてくるように再生命令が実行される確率βを設定しておけば、これを結合して、FEC(Forward Error Collection)に基づくエラーコレクションを実行して、元のデータを再生できる。
【0052】
[3.記録指示装置構成およびデータ記録処理]
次に、記録指示装置およびデータ記録処理について説明する。図4は、記録指示装置250の構成を示す図である。記録指示装置250は、複数のノードに対する記録処理要求対象データ(コンテンツ)を入力するデータ入力部251、例えばFEC(Forward Error Collection)符号化、および符号化データに対するインターリーブ処理等のデータ加工を実行するデータ加工部252、前述の[ルール判断条件記述]としての確率値:αを設定するルール判断条件設定部253、データ加工部252で生成した加工データおよびルール判断条件設定部253で設定したルール判断条件記述を格納し、アドレスを設定したパケットを生成するパケット生成部254、およびネットワークとの接続を行うネットワークインターフェース255を有している。
【0053】
ここで、FEC符号化とは、トルネード符号化方式、リードトルネード符号化方式、ターボ符号方式などの受信側で誤り訂正を行う符号化方式の総称であり、データ加工部252は、データ入力部251から入力されたデータをp個のブロックに分割し、このp個のブロックにFEC符号化を施してq個のブロックに変換する。このp個のブロックからq個のブロックに符号化することを符号化率q/pの符号化といい、この符号化率q/pを変更することによって、この分散型ストレージシステムの記録効率や伝送効率を変更することができる。
【0054】
インターリーブ処理は、符号化されたデータの順番を並び換える処理である。インターリーブすることによってデータを分散させ、パケットの消失によって発生するバーストエラーがランダムエラーになるようにすることができ、その結果、消失データ部をFECに従ったエラーコレクションによって訂正することが可能となる。
【0055】
FECエンコード処理およびインタリーブ処理について、図5を参照して説明する。図5(a)に示すように、入力した元データをp個のブロックに分割する。そして、図5(b)に示すように、符号化率q/pのFEC符号化を施し、p個のブロックに分割したデータをq個の符号化ブロックに変換する。
【0056】
上述したように、FEC符号化とは、トルネード符号化方式、リードトルネード符号化方式、ターボ符号化方式などの受信側で誤り訂正を行う符号化方式の総称であり、FEC符号化を用いて、あるデータを符号化率q/pで符号化した場合、論文RIZZ097(http://www.iet.unipi.it/ ̄luigi/fec.html#fec.ps)に発表されているように、p個以上の符号化されたブロックが残存すれば、幾つかのブロックが消失しても、元のメッセージが復元できるようになっている。
【0057】
FEC符号化を施されたデータは、図5(c)に示すようにインターリーブ処理が実行され。符号化されたデータの順番を並び換え、データを分散させる。インターリーブ処理のなされたデータは、ルール判断条件設定部253に出力され、前述の[ルール判断条件記述]としての確率値:αを設定する。
【0058】
[ルール判断条件記述]としての確率値:αの設定処理は、前述のデータ加工部の処理に関連して設定される。データ加工部は、データをp個のブロック数に分割し、生成したp個のブロックにFEC符号化を施してq個のブロックに変換する符号化率q/pの符号化処理を実行するものとした場合、ルール判断条件設定部253は、データ記録処理要求を受信するノードにおいて記録確率:αでデータを記録させる確率値:αを記録ルール判断条件記述として設定する構成であり、ネットワークに接続された再生指示装置102(図1参照)から指定される返信確率:β、および前記符号化ブロック数:qと、ネットワーク接続ノード数:nによって算出可能な返信ブロック数:q×α×n×βと、ブロック数:pとの関係が、
返信ブロック数:q×α×n×β>ブロック数:p
となるように確率値:αを設定する。この設定により、再生指示装置の再生要求によって各ノードから返信確率:βで返信される返信データからの確実なデータ復元が保証される。
【0059】
パケット生成部254は、データ加工部252で生成した加工データを所定の大きさに分割し、ルール判断条件設定部253で設定したルール判断条件記述を格納し、アドレスを含むヘッダやフッタを付加したパケットを生成して、ネットワークインターフェース255を介して送信する。なお、パケットは送信ノードに応じたアドレス設定、すなわちユニキャスト若しくはマルチキャストを用いて分散型ストレージシステムを構成する各ノードに送信する。
【0060】
図6は、パケット生成部254によって生成されるパケット40の構造を示す図である。パケットは、ヘッダ、記録ルール判断条件記述、ペイロード、フッタから構成される。ペイロードには、FECエンコード処理およびインターリーブ処理がなされた加工データ(加工コンテンツ)が格納される。ヘッダとフッタには、データの種類を示すデータID、CRC(Cyclic Redundancy Check)のチェックサム、パケット送信先ノードの固有識別子としてのGUID(Global Unique ID)、ネットワークアドレスなどの制御情報が記述されている。
【0061】
記録ルール判断条件記述には、後述する各ノードがこのパケットを記録する確率:αが記述されている。パケットを受信したノードのルール判断処理部201(図3参照)は、この記録確率αに基づいてパケットを記録する。
【0062】
分散型ストレージシステムを構成する全てのノードは、この記録確率に基づいてパケットを記録するか否かを決定する。これにより、分散型ストレージシステムを構成するノードに確率αでデータが記録されることになる。この分散型ストレージシステムでは、ノードの数nが十分に大きく、且つ復号されたブロック数qが十分に大きい場合に、各ノードに均等な確率でデータを分散することができる。
【0063】
なお、記録ルール判断条件記述を加工コンテンツを格納したパケットと別のパケットに格納し、加工コンテンツを格納したパケットに記録ルール判断条件記述を格納したパケットのリンク情報を格納し、加工コンテンツを格納したパケットを受信したノードがリンク情報に基づいて対応する記録ルール判断条件記述格納パケットを取得する構成としてもよい。
【0064】
次に、記録指示装置からの記録処理要求パケットの送信に基づいて、パケットを受信したノードが自律的にコンテンツを記録するか否かを判定して処理を実行する記録処理手順について説明する。
【0065】
図7は、記録指示装置101から複数ノード111〜115に対して、データ記録命令としての図6に示すデータ記録処理要求パケットを送信する処理を説明する図である。記録指示装置は、図6で説明したFEC処理およびインターリーブ処理を施した加工データをペイロードとし、さらに、ルール判断条件記述としての確率値:αを設定したパケットを各ノードに対してユニキャストあるいはマルチキャスト送信する。
【0066】
図8を参照して、パケットを受信したノードにおける処理手順を説明する。まず、ステップS101で、データ記録処理要求パケットを待機し、ステップS102でパケットを受信したと判定すると、ステップS103において、乱数生成処理を実行し、ステップS104において、生成した乱数と、データ記録処理要求パケット内に格納された記録ルール判断条件記述:確率αとの比較を行ない、比較結果に基づいて、命令の実行、非実行を判定する。
【0067】
例えば、生成乱数>確率αであれば、パケットのペイロードとして格納された加工データを自己の記憶手段に記録する処理を実行し、生成乱数≦確率αであれば、データ記録処理を実行しない。
【0068】
なお、各ノードにおいて生成される乱数は、分散型ストレージシステムを構成するノードの数nが十分に大きく、且つ復号化されたブロックの個数qが十分に大きい場合、全てのノードにパケットが均等に記録され、分散型ストレージシステム全体としてαの確率でデータが記録されるように発生乱数の範囲が設定される。
【0069】
ステップS104における乱数に基づく比較処理結果として、データ記録処理要求を実行すべきとの判定がなされれば、ステップS105に進み、パケットのペイロードとして格納された加工データの抽出処理を実行して、自装置(ノード)の記憶手段に抽出データを記録する処理を実行する。一方、乱数に基づく比較処理結果として、データ記録処理要求を実行しないとの判定がなされれば、ステップS106に進み、データ記録処理を実行せずに処理を終了する。
【0070】
このように、データ記録処理要求(命令)を受信した情報処理装置は、パケット内に格納された記録ルール判断条件記述と乱数との比較に基づいて自律的に命令の実行、非実行を判定し、判定に従った処理を行なう。
【0071】
次に、図9の処理フローを参照して、データ記録処理要求を受信した情報処理装置側において、ハッシュ値を算出して、ハッシュ値に基づいて自律的にデータ記録処理要求の実行、非実行を判定する処理について説明する。
【0072】
まず、ステップS201で、データ処理要求パケットを待機し、ステップS202でパケットを受信したと判定すると、ステップS203において、受信パケット内の格納データに基づくハッシュ値生成処理を実行し、ステップS204において、生成したハッシュ値に基づいて、命令の実行、非実行を判定する。
【0073】
例えば、情報処理装置は、それぞれ予め設定された閾値としての設定値を記憶部に格納し、生成ハッシュ値>設定値であれば、命令実行、生成ハッシュ値≦設定値であれば、命令を非実行とするなどの設定とする。
【0074】
ハッシュ値の生成対象とするデータ処理要求パケット内に格納されたデータは、図10に示すように、例えばコンテンツデータの識別子(データID)、あるいはデータの一部、例えばデータ先頭から所定(n)ビットのデータをハッシュ対象データとして設定するなどが可能である。ハッシュ値算出は例えばMD5の適用が可能であり、図10に示すようにデータIDのMD5によるハッシュ値、あるいはデータ内容のMD5によるハッシュ値が生成される。
【0075】
ステップS204におけるハッシュ値に基づく判定結果として、データ記録処理要求を実行すべきとの判定がなされれば、ステップS205に進み、パケットのペイロードとして格納された加工データの抽出処理を実行して、自装置(ノード)の記憶手段に抽出データを記録する処理を実行する。一方、ハッシュ値に基づく比較処理結果として、データ記録処理要求を実行しないとの判定がなされれば、ステップS206に進み、データ記録処理を実行せずに処理を終了する。
【0076】
このように、データ記録処理要求(命令)を受信した情報処理装置は、パケット内に格納されたデータのハッシュ値と各ノードの設定値との比較に基づいて自律的に命令の実行、非実行を判定し、判定に従った処理を行なう。
【0077】
[4.再生指示装置構成およびデータ再生処理]
次に、データの再生指示を各ノードに送信し、各ノードから再生対象のデータを受信してデータ再生処理を実行する再生指示装置102(図1参照)について説明する。図11は、再生指示装置270の構成を示す図である。再生指示装置270は、ネットワークを介しての外部とのデータの送受信を行うネットワークインターフェース271、ノードに再生対象データを指定した再生データ送信を要求するパケットを生成するデータ要求パケット生成部272、データ要求パケットに設定する[ルール判断条件記述]としての確率値:βを決定するルール判断条件設定部273を有する。
【0078】
さらに、ネットワークインターフェース271は、各ノードからの再生データ格納パケットを受信し、再生指示装置270のパケット処理部274は、パケットに分割されたデータを結合する処理を実行する。さらに、データ復元処理部275は、受信パケットから抽出したデータのデインターリーブ処理、FECデコード処理を実行し、コンテンツデータの復元を実行する。復元したデータはデータ処理部276に入力され、モニタやスピーカ(図示省略)などの外部機器に出力したり、図示しない記録装置に格納されたりする。
【0079】
データ要求パケット生成部272は、分散型ストレージシステムを構成する各ノードにデータを要求するパケットを送信する。図12は、データを要求するパケットの構成を示す図である。パケットは、ヘッダ、再生ルール判断条件記述部、リクエスト記述部、フッタから構成される。リクエスト記述部には、要求するデータを識別するためのデータIDが記録される。ヘッダとフッタには、CRCのチェックサム、ノードのネットワークアドレスやGUID、データの順序を示すシーケンス番号などの制御情報が記録される。
【0080】
再生ルール判断条件記述部には、ルール判断条件設定部273の決定した返信確率βを設定する。返信確率βは、パケットを受信したノードがデータを返信するか否かの判定を行うための変数である。この変数をもとに、データを返信すると判定するノードもあれば、データを返信しないと判定するノードもあるが、返信確率βは、分散型ストレージシステム全体をマクロ的にみたときの値であり、分散型ストレージシステム全体では、各ノードのデータを返信する確率がβになる。そのため、分散型ストレージシステムにn個のノードが存在する場合に、返信されるパケットの割合は、ノードの個数nと返信確率βを掛け合わせた値n×βとなる。
【0081】
パケット処理部274は、各ノードから返信されたパケットを結合する。図13は、ノードから返信されたパケットのデータ構造を示す図である。図13に示すようにパケットは、ヘッダ、ペイロード、フッタから構成され、ペイロードには各ノードが記憶部から抽出したデータ、すなわち、先に図5を参照して説明したFEC処理およびインターリーブ処理のなされたデータブロックが格納され、ヘッダとフッダには、CRCのチェックサムや受信側のノードのネットワークアドレス、パケットの順序を示すシーケンス番号など、制御情報が格納される。
【0082】
図13に示すパケットを再生指示装置が受信すると、パケット処理部274はパケット解析を実行し、シーケンス番号を読み取り、受信したパケットの順序を入れ替え、ヘッダやフッタなどの制御情報を除去して、シーケンス番号の順にパケットを結合する。
【0083】
データ復元処理部275は、受信データブロックにデインターリーブをかけ、データの並びを整列させ、さらにデインターリーブされたデータにFEC復号を施し、元のデータを復元する。
【0084】
FECおよびデインタリーブ処理に基づくデータ復元処理ついて、図14を参照して説明する。図14(a)に示すように、各ノードからの受信パケットは、ネットワーク上において消失が発生し、受信データブロックと消失データブロックが混在することになる。
【0085】
なお、受信データブロックは、先に図5を参照して説明したように、符号化率q/pのFEC符号化を施し、p個のブロックに分割したデータをq個の符号化ブロックに変換したブロックデータである。
【0086】
再生指示装置における、データ復元処理部275は、まず、受信データブロックにデインターリーブをかけ、データの並びを整列させ、図14(b)に示すデインタリーブ処理データを生成する。デインタリーブ処理データには消失パケット、すなわち消失ブロックに基づくデータ消失部が存在する。しかしデインタリーブ処理により、これらのエラーは、エラー部が大きなデータ領域として存在するバーストエラーではなく、微少データ領域からなるランダムエラーとなる。このような微少データ領域からなるランダムエラーは、FECによるエラーの解消が可能である。
【0087】
データ復元処理部275は、図14(b)に示すデインタリーブ処理データについて、FECによるエラー訂正を実行し、図14(c)に示す復元データを生成する。上述したように、FEC符号化とは、トルネード符号化方式、リードトルネード符号化方式、ターボ符号化方式などの受信側で誤り訂正を行う符号化方式の総称であり、FEC符号化を用いて、あるデータを符号化率q/pで符号化した場合、論文RIZZ097(http://www.iet.unipi.it/ ̄luigi/fec.html#fec.ps)に発表されているように、p個以上の符号化されたブロックが残存すれば、幾つかのブロックが消失しても、元のメッセージが復元できる。
【0088】
データ復元処理部275によって復元されたデータは、データ処理部276に出力される。データ処理部276は、復号されたデータを、図示しない記録部に保存したり、モニタやスピーカなどの出力部に出力インターフェースを介して出力する。
【0089】
本発明に従った分散型ストレージシステムは、記録確率αで各ノードにデータを記録し、各ノードに記録したデータを返信確率βで返信させるシステムであり、図1に示す記録指示装置101から出力される元データは、α×n×βの割合で返信される。例えば、p個のブロックをq個のブロックに符号化すると、q×α×n×β個のブロックが返信される。前述の論文RIZZ097に記載のように、この返信されたブロックの個数が復号前のブロックの個数pよりも多い場合、データは復号可能である。そのため、返信されるブロックの個数がp個より多くなるように、α、β、q/pの値を決定しておくと、目的のデータを復号することができる。
【0090】
すなわち、再生指示装置270におけるルール判断条件設定部273は、ノードに格納された再生対象データが、p個のブロックにFEC符号化を施してq個のブロックに変換した符号化率q/pの符号化処理データであるとき、ネットワークに接続された記録指示装置から指定される記録確率:αと返信確率:βおよびp,q、および前記符号化ブロック数:qと、ネットワーク接続ノード数:nによって算出可能な返信ブロック数:q×α×n×βと、ブロック数:pとの関係が、
返信ブロック数:q×α×n×β>ブロック数:p
となる確率値:βとして設定する。この設定により、再生指示装置の再生要求によって各ノードから返信確率:βで返信される返信データからの確実なデータ復元が保証される。
【0091】
このように、本具体例における分散型ストレージシステムは、
p≧q×α×n×β
を満たすように、符号化率q/p、記録確率α、返信確率βを設定すればよいので、上述の式を満たす範囲で符号化率q/p、記録確率α、返信確率βを変更することにより、データの記録効率や伝送効率を変更させることができる。以下、q/p、α、βの各パラメータの設定例について説明する。
【0092】
例えば、非常に多くの返信要求があるデータに対して、記録確率αの値を大きくし、返信確率βの値を小さくすると、各ノードから送信されるデータが少なくなり、ノードにおけるデータの検索処理やデータの送信処理が簡略化されるようになる。
【0093】
また、記録確率αの値を大きくするかわりに、符号化率q/pの値を大きくして、返信確率βを小さくしても、各ノードにおけるデータの検索処理やデータの送信処理を簡略化することができる。
【0094】
また、符号化率q/pを小さくし、記録確率αを大きくすると、送信するパケットの数を抑えることができる。これは、pが十分大きいときに効果的である。また、記録確率αを小さくし、符号化率q/pを小さくすることで、同一のパケットを複数のノードに記録することを避けることができる。これは、pが十分小さいときに効果がある。
【0095】
また、返信確率βを大きくし、記録確率α又は符号化率q/pを小さくすることにより、分散型ストレージシステム全体に記録される符号化データの容量を小さくすることができる。或いは、データの記録時、出力時又は送信時などに、パケットの消失する確率をaとすると、a×n×α×q×βがpよりも十分大きくなるようにα、β、q/pの値を制御することによって、十分な数のデータが返信される。
【0096】
また、複数のノードから返信されるユニークなパケットの個数を数学的に推定し、記録確率、返信確率、または符号化率を大きくすることで、ユニークなパケットが到着する確率を高くすることができる。
【0097】
次に、再生指示装置からの再生処理要求パケットの送信に基づいて、パケットを受信したノードが自律的にコンテンツを抽出し送信するか否かを判定して処理を実行する再生処理手順について説明する。
【0098】
図15は、再生指示装置102から複数ノード111〜115に対して、データ再生命令としての図12に示すデータ再生処理要求パケットを送信する処理を説明する図である。再生指示装置は、再生指定データの識別子、例えばコンテンツID、GUID等をリクエスト記述として設定し、さらに、ルール判断条件記述としての確率値:βを設定した図12に示すデータ再生処理要求パケットを生成し、パケットを各ノードに対してユニキャストあるいはマルチキャスト配信する。
【0099】
図16は、図12に示すデータ再生処理要求パケットを受信したノードが再生命令に従って、データ再生処理、すなわち自ノードの記憶部からの指定データの読み取り、パケット生成、パケット送信を実行するか、しないかを自律的に判定し、処理実行の判定を行なったノードにおいてのみ再生データを格納したパケット、すなわち図6で説明したFEC処理およびインターリーブ処理を施した加工データをペイロードとしたパケット(図13参照)を生成して、再生指示装置112に対して送信する。
【0100】
図17を参照して、ルール判断条件記述としての確率値:βを設定した図12に示すデータ再生処理要求パケットを受信したノードにおける処理手順を説明する。まず、ステップS301で、データ再生処理要求パケットを待機し、ステップS302でパケットを受信したと判定すると、ステップS303において、乱数生成処理を実行し、ステップS304において、生成した乱数と、データ再生処理要求パケット内に格納された再生ルール判断条件記述:確率βとの比較を行ない、比較結果に基づいて、命令の実行、非実行を判定する。
【0101】
例えば、生成乱数>確率βであれば、自己の記憶手段に格納された指定コンテンツを抽出し、抽出データをペイロードとしたパケット(図13参照)を生成して、再生指示装置に対して送信する処理を実行し、生成乱数≦確率βであれば、データ再生処理を実行しない。
【0102】
ステップS304における乱数に基づく比較処理結果として、データ再生処理要求を実行すべきとの判定がなされれば、ステップS305に進み、自装置(ノード)の記憶手段に格納された加工データの抽出処理を実行して、抽出データをペイロードとしたパケット(図13参照)を生成して、再生指示装置に対して送信する処理を実行する。一方、乱数に基づく比較処理結果として、データ再生処理要求を実行しないとの判定がなされれば、ステップS306に進み、データ再生処理を実行せずに処理を終了する。
【0103】
このように、データ再生処理要求(命令)を受信した情報処理装置は、パケット内に格納された再生ルール判断条件記述と乱数との比較に基づいて自律的に命令の実行、非実行を判定し、判定に従った処理を行なう。
【0104】
次に、図18の処理フローを参照して、データ再生処理要求を受信した情報処理装置側において、ハッシュ値を算出して、ハッシュ値に基づいて自律的にデータ再生処理要求の実行、非実行を判定する処理について説明する。
【0105】
まず、ステップS401で、データ再生処理要求パケットを待機し、ステップS402でパケットを受信したと判定すると、ステップS403において、受信パケット内の格納データに基づくハッシュ値生成処理を実行し、ステップS404において、生成したハッシュ値に基づいて、命令の実行、非実行を判定する。
【0106】
例えば、情報処理装置は、それぞれ予め設定された閾値としての設定値を記憶部に格納し、生成ハッシュ値>設定値であれば、命令実行、生成ハッシュ値≦設定値であれば、命令を非実行とするなどの設定とする。
【0107】
ハッシュ値の生成対象とするデータは、先にデータ記録要求の処理の判定と同様、図10に示す、例えばコンテンツデータの識別子(データID)、あるいはデータの一部、例えばデータ先頭からXビットのデータをハッシュ対象データとして設定するなどが可能である。ハッシュ値算出は例えばMD5の適用が可能であり、図10に示すようにデータIDのMD5によるハッシュ値、あるいはデータ内容のMD5によるハッシュ値が生成される。
【0108】
ステップS404におけるハッシュ値に基づく判定結果として、データ記録処理要求を実行すべきとの判定がなされれば、ステップS405に進み、自装置(ノード)の記憶手段に格納された加工データの抽出処理を実行して、抽出データをペイロードとしたパケット(図13参照)を生成して、再生指示装置に対して送信する処理を実行する。一方、ハッシュ値に基づく比較処理結果として、データ再生処理要求を実行しないとの判定がなされれば、ステップS406に進み、データ再生処理を実行せずに処理を終了する。
【0109】
このように、データ再生処理要求(命令)を受信した情報処理装置は、パケット内に格納されたデータのハッシュ値と各ノードの設定値との比較に基づいて自律的に命令の実行、非実行を判定し、判定に従った処理を行なう。
【0110】
[5.データ記録再生処理シーケンス]
次に、図19を参照して記録指示装置からノードに対するデータ記録処理要求の発行、ノードにおけるデータ記録処理、再生指示装置からノードに対するのデータ再生処理要求の発行、ノードにおけるデータ抽出、パケット送信処理の一連の処理シーケンスについて、まとめて説明する。
【0111】
記録指示装置は、まず、ステップS11において、記録対象データ(コンテンツ)の加工、すなわち、FEC処理、およびインターリーブ処理を実行する。この処理は、先に図5を参照して説明した処理である。
【0112】
次に、記録指示装置は、ステップS12において、データ記録処理要求(命令)パケットの生成処理を実行する。インターリーブ処理のなされたデータがペイロードとして格納されるとともに、ルール判断条件設定部253(図4参照)において決定される[ルール判断条件記述]としての確率値:αを設定したパケットを生成する。
【0113】
次に、記録指示装置は、ステップS13において、送信ノードに応じたアドレス設定、すなわちユニキャスト若しくはマルチキャストを用いて分散型ストレージシステムを構成する各ノードに送信する。
【0114】
記録指示装置からのデータ記録処理要求(命令)パケットを受信したノードの処理は、先に、図8、図9を参照して説明した処理の実行、非実行を自律的に判断して行なわれる処理となる。図19には、2つのノード(ノード1,2)の処理を示してあるが、この他にも多数のノードにおいて、自律的な判断(確率制御)が実行され、データ記録処理を実行するノード、データ記録処理を実行しないノードが存在する。
【0115】
図19に示す2つのノード(ノード1,2)は、ステップS21,S31の確率制御処理、すなわち、図8を参照して説明した生成乱数と、受信パケット(データ記録処理要求パケット)中の記録ルール判断条件記述として設定された確率:αとの比較に基づく、処理実行/非実行の判定処理、あるいは、図9を参照して説明したパケット内データに基づくハッシュ値と、ノードの設定値との比較に基づく、処理実行/非実行の判定処理を実行する。
【0116】
図19に示す2つのノード(ノード1,2)は、ステップS21,S31の確率制御処理の結果として、いずれもデータ記録処理を実行するとの結論が得られ、ステップS22,S32において、データ記録処理を実行する。記録対象データは、記録指示装置から受信したデータ記録処理要求パケットに格納されたFECおよびインタリーブされた加工データである。
【0117】
次に、再生指示装置は、ステップS41において、再生処理要求(命令)パケット(図12参照)を各ノードに対して送信する。再生対象となるコンテンツID等をリクエスト記述として格納し、再生ルール判断条件記述(確率:β)ほ設定したパケットである
【0118】
再生処理要求(命令)パケット(図12参照)を受信した各ノード、すなわち図19に示す2つのノード(ノード1,2)は、ステップS51,S61の確率制御処理、すなわち、図17を参照して説明した生成乱数と、受信パケット(データ再生処理要求パケット)中の再生ルール判断条件記述として設定された確率:βとの比較に基づく、処理実行/非実行の判定処理、あるいは、図18を参照して説明したパケット内データに基づくハッシュ値と、ノードの設定値との比較に基づく、処理実行/非実行の判定処理を実行する。
【0119】
図19に示すノード1は、ステップS51の確率制御処理の結果として、データ再生処理を実行するとの結論が得られ、ステップS52において、再生処理要求(命令)パケットのリクエスト記述に従って、自ノードの記憶部から対応データを取得し、取得データをペイロードとして格納したパケット(図13参照)を生成して、ステップS53において、再生指示装置に対して送信する。
【0120】
一方、図19に示すノード2は、ステップS61の確率制御処理の結果として、データ再生処理を実行しないとの結論が得られ、データ抽出およびパケット生成、送信を実行せずに処理を終了する。
【0121】
なお、図19には、ノード1からのみのデータが再生指示装置に送信されている構成となっているが、図示しないノード3〜nからのデータ格納パケットが再生指示装置に送信され、再生指示装置は、多数のノードから多数のパケットを受信している。
【0122】
再生データを格納したパケットを受信した再生指示装置は、ステップS71において、受信データブロックにデインターリーブをかけ、データの並びを整列させ、さらにデインターリーブされたデータにFEC復号を施し、元のデータを復元する。
【0123】
FECおよびデインタリーブ処理に基づくデータ復元処理ついては、先に図14を参照して説明した通りである。消失パケットが存在しても、デインタリーブ処理により、エラーは、エラー部が大きなデータ領域として存在するバーストエラーではなく、ランダムエラーとなり、FEC復号処理により元のデータが復元される。
【0124】
このように、データ記録あるいは再生処理要求(命令)を受信した情報処理装置は、各処理要求パケットに設定された記録ルール判断条件記述、または再生ルール判断条件記述、あるいはその他のパケット内データに基づいて、自律的に命令の実行、非実行を判定し、判定に従った処理を行なうことが可能となる。
【0125】
以上のように、本発明における分散型ストレージシステムは、システムを構成するノードに記録確率αを記述したパケットを送信することにより、データを分散して記録する。そして、ノードに記録されたデータを返信確率βで返信させることにより、データの取り出しを行う。このように、データを分散して記録すると、一つのサーバにデータ管理の負荷が集中することなく、データを格納することができる。また、一つのデータを複数のノードで共有するため、システム全体で必要となるデータ容量が少なくて済む。
【0126】
また、複数のノードからデータを受信するようにすると、一つのサーバにトラフィックが集中することがなくなり、安定した通信量でデータの送受信が行える。
【0127】
また、α、β、q/pの値を変更することにより、伝送効率や記録するデータ量を変更することができる。さらに、データの記録時、出力時、送信時などにパケットが消失するとき、消失する確率aを考慮して、α、β、q/pのパラメータの値を変更して、パケットが消失しても復号に十分なデータを取り出せるようにすることもできる。
【0128】
また、この分散型ストレージシステムでは、記録確率と返信確率に基づいた演算によってデータの分散記録・読み出しを実行できるため、データの管理が単純であり、カムコーダや携帯電話などの処理能力の少ない家庭用の機器であってもこのシステムに適応できる。また、カムコーダや携帯電話などの処理能力の低い家庭用の機器をノードとして用いることができるようになるため、数百万台規模の分散型ストレージシステムが容易に構築できる。
【0129】
また、上記分散ストレージシステムにおいては、記録指示装置は、記録させるデータと記録確率を同じパケットで送信したが、記録させるデータと記録確率を異なるパケットで送信したり、外部の記録装置に記録し、各情報処理ノードから参照するようにしてもよい。
【0130】
[6.ノードのグループ管理]
次に、ネットワーク上に存在する多数のノードをグループに分割し、グループ単位でグループ内に存在するノードの記録データについての制御を行う構成について説明する。
【0131】
図20は、ネットワーク上に存在する多数のノードをグループ分割した構成例を示している。ネットワーク上に存在するデータ記憶可能なノードは複数のグループ501,502,503・・・に分割される。それぞれのノードグループにはグループ管理装置511,512,513・・が配置される。なお、グループ管理装置は、各ノードとは異なる個別の装置として示してあるが、各グループ内の1つのノードがグループ管理装置として機能する構成としてもよい。
【0132】
グループ管理装置511,512,513の各々は、グループ内のデータの管理を行う。具体的にはグループ管理装置は、データ存在確率密度に基づいてグループ内ノードの格納データについての制御、例えばデータの移動、コピー、削除、他のグループからのデータ取得、他のグループへのデータ出力などの制御を行う。
【0133】
データ存在確率密度とは、個々のデータについてのグループ内ノードに存在する割合を表すものである。データごとに定義され、またグループごとに定義される。データ存在確率密度:γは、確率密度係数をc、グループ内の複数ノードに格納されている特定データの重複数をp、グループ内のノードの数をNとしたとき、
γ=(c×p)/N
として定義される。
【0134】
例えば、記録指令装置のデータ記録命令に基づくデータ記録処理においては、前述したように、データ記録処理を実行するノードは、先に図6を参照して説明したデータ記録処理要求パケットを受信して、パケットに格納された記録ルール判断条件記述として設定された確率値:αに基づいてデータ記録を行う。すなわち、各ノードにおいて記録確率:αでデータが記録される。
【0135】
あるグループに存在するノード数をnとし、確率値:αの設定されたデータ記録要求パケットに基づくデータ記録処理が実行された場合、そのグループ内に存在する同一データのコピーの量の期待値はα×nとなる。確率密度係数c=1として設定すると、グループ内に存在する同一データのコピーの量の期待値:α×nをn台で割って1台あたりにした値、すなわちαに等しい、γ=αとなる。
【0136】
記録指令装置のデータ記録命令に基づくデータ記録処理が実行された当初は、データ記録処理要求パケットに含まれる記録ルール判断条件記述として設定された確率値:αに基づいてデータ記録が行なわれるので、データ存在確率密度:γ=αとなるが、その後、各ノード間におけるデータ移動、あるいはデータ消去などが実行されると、データ存在確率密度:γは、αと異なる値となる。すなわち、γ≠αとなる。
【0137】
データ存在確率密度:γは、グループに存在するノードがそのデータを有するか否かを示す期待値であり、記録指令装置のデータ記録命令に基づくデータ記録処理が実行された当初は、γ=αとなるが、その後、各ノード間におけるデータ移動、あるいはデータ消去などが実行されると、γ≠αとなる。
【0138】
このように、αの値が時間の経過とともに異なってくると、前述した再生処理における設定値、すなわち返信確率:βの値をαに基づいて設定すると問題が発生する。先に説明したように、本発明に従った分散型ストレージシステムは、記録確率αで各ノードにデータを記録し、各ノードに記録したデータを返信確率βで返信させるシステムであり、図1に示す記録指示装置101から出力される元データは、α×n×βの割合で返信される。例えば、p個のブロックをq個のブロックに符号化すると、q×α×n×β個のブロックが返信される。この返信されたブロックの個数が復号前のブロックの個数pよりも多い場合、データは復号可能である。そのため、返信されるブロックの個数がp個より多くなるように、α、β、q/pの値を決定しておくと、目的のデータを復号することができる。
【0139】
ノードに格納された再生対象データが、p個のブロックにFEC符号化を施してq個のブロックに変換した符号化率q/pの符号化処理データであるとき、ネットワークに接続された記録指示装置から指定される記録確率:αと返信確率:βおよびp,q、および符号化ブロック数:qと、ネットワーク接続ノード数:nによって算出可能な返信ブロック数:q×α×n×βと、ブロック数:pとの関係が、
返信ブロック数:q×α×n×β>ブロック数:p
となる確率値:βとして設定される。この設定により、再生指示装置の再生要求によって各ノードから返信確率:βで返信される返信データからの確実なデータ復元が保証される。
【0140】
このように、上述した分散型ストレージシステムは、
p≧q×α×n×β
を満たすように、符号化率q/p、記録確率α、返信確率βを設定することで、再生処理を確実に実行可能としているものである。
【0141】
しかし、上述したように時間の経過とともに各ノードにおいてデータ消去、データ移動が行われると、データ記録当初の確率値:αが維持されず変動してしまうことになる。その結果、再生要求パケットに設定する返信確率:βを当初の記録確率値:αに基づいて設定しても、再生処理可能なパケットを受信することができない場合が起こり得る。このような事態が発生すると再生要求端末において、受信パケットに基づく再生が不可能になってしまう。
【0142】
グループ管理装置は、上述した事態が発生しないよう、各グループ内のデータ存在確率密度:γをαから大きく乖離しないように制御を行う。すなわち、データ存在確率密度γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う。
【0143】
グループ管理装置は、例えば定期的にグループ内のノードのデータ格納状況を調査することで、データ毎に維持すべきデータ存在確率密度:γがαから大きく乖離していないかを判定し、データ存在確率密度:γがαと大きく異なると判定した場合、例えばγとαの差分が予め定めた閾値より大となった場合には管理対象ノードの格納データの制御を実行する。
【0144】
例えば、他ノードあるいは他のグループからのデータ取得処理、他のグループへのデータ出力処理、あるいはノード格納データの削除処理を行うようグループ管理装置は、ノードに命令を出力する。グループ内のノードは、グループ管理装置からの命令に従った処理、すなわち、データの取得格納、または出力、削除処理等を実行する。なお、他のグループからデータを取得する処理に関しては、グループ管理装置がまとめてデータを取得して、各ノードにコピーを転送するという方法によって実行してもよい。
【0145】
このように、グループ管理装置の管理の下に、グループ内のノードがデータを取得したり、データ削除を行うことにより、各グループ内のデータ存在確率密度:γが、データ記録当初の確率値:αから大きく乖離することなく維持されることになり、再生要求パケットに設定する返信確率:βを当初の記録確率値:αに基づいて設定することで、再生処理可能なパケットを確実に受信することができ、再生可能性を保証することができる。
【0146】
グループ間の確率密度の不均衡を是正する方法について述べる。図20に示したように各グループにはそれぞれグループ管理装置が存在し、各グループ管理装置が、グループ内のノードの保有するさまざまなデータについて、データ存在確率密度:γが、データ記録当初の確率値:αに等しくなるように制御を行う。この制御のためには、異なるグループ間におけるデータ移動が伴う。グループ管理装置では、「他のグループへ渡しているデータの量」と、「自グループが他のグループからもらっているデータの量」を計算する。
【0147】
「グループ全体のノードが送り出しているデータの量(合計)」をΣSn、「グループ全体のノードが受け取っているデータの量(合計)」をΣRnとする。もしデータのロスがないとすると、ΣSn=ΣRnが成り立つ。各ノードがSn=Rnを実現するようにデータ入出力を自律的に判断し実行することで、各ノードが持つ記憶容量を考慮したデータ格納が可能となり、入力過多によるメモリ不足等の破綻は発生しない。各グループ間でも、グループから出て行くデータ量と、他のグループから入力するデータ量がデータのロスを含めて均衡させることで全体の記憶容量を考慮したデータの分散配置が維持される。
【0148】
各グループに設置されたグループ管理装置の各々は、各データについてのグループからの出力、グループへの入力を監視して各データについて、データ存在確率密度:γが、データ記録当初の確率値:αから大きく乖離しないように制御を行う。
【0149】
ネットワーク上におけるノードのグループ分けについては、様々な方法が採用可能である。例えば、「各ノード間の距離(通信時間)」をもとに数学的最適化アルゴリズムを実行して、通信時間に基づいてグループを分ける方法が可能である。グループ管理装置が、ネットワークに散在している場合は、グループ管理装置への距離(通信時間)を用いてもよい。使用する数学的アルゴリズムには、ベイジアンネットワークなどが考えられるが、他の手法をとってもよい。また、ノードの構成が動的に大きく変わらない場合は、ネットワークのトポロジなどにより、固定的なグループ分けをしても問題はない。
【0150】
データを記録するノードが複数存在し、ノード間のデータ移動、コピー、削除処理等により、各データについて、データ存在確率密度:γが、データ記録当初の確率値:αから大きく乖離しないようにする制御をグループ管理装置が実行し得る数のノードが存在すれば、グループの設定方法は、どのような方法であってもよい。
【0151】
グループ分割に基づくデータ管理の具体的処理手順について、図21のシーケンス図、および図22〜図24のフローチャートを参照して説明する。
【0152】
図21は、グループ分割に基づくデータ管理処理において、グループ管理装置および各ノードにおいて実行する処理および各種の通知処理、データ転送処理の全体処理手順を示すシーケンス図である。図22は、グループ管理装置の実行する処理手順を示すフローチャートである。図23は、データを入力し格納する処理を行うグループ内のノードの処理手順を示すフローチャートである。図24は、データを出力する処理を行うノードの処理手順を示すフローチャートである。
【0153】
図21に示すシーケンス図の各処理について説明する。図21のシーケンス図は、左からグループAのグループ管理装置、そのグループAに含まれるノードA1、およびノードA2、グループBに含まれるノードB1、グループBのグループ管理装置のそれぞれの処理を示している。なお、図21には、グループAには2つのノード、グループBには1つのノードのみを示しているが、各グループにはこの他に多数のノードが存在し、それらのノードが同様の処理を実行している。
【0154】
ステップS501において、まず、グループAのグループ管理装置は、各ノードの格納しているデータ状況を収集するとともに、パケット入出力情報を収集する。パケット入出力情報とは、各ノードが送り出しているデータの量:Snと、ノードが受け取っているデータの量:Rnである。
【0155】
ステップS502において、他のグループ(グループB)のグループ管理装置から、各データについてのグループ内のデータ存在確率密度:γを取得する。ステップS503において、グループAのグループ管理装置は、自己のグループ内から取得したデータ格納状況データに基づいて確率密度係数:cを算出する。
【0156】
前述したように、データ存在確率密度:γは、確率密度係数をc、グループ内の特定のデータの重複パケットの数をp、グループ内のノードの数をNとしたとき、γ=(c×p)/Nによって示され、各ノードの重複データをカウントすることで確率密度係数cを算出できる。さらに、グループ管理装置は、パケット送受信の統計情報を用いて、内向きのパケットが多いときには確率密度係数を下げ、外向きのパケットが多いときには、確率密度係数を上げることで、確率密度係数の制御を行ってグループ全体におけるデータ入出力制御を実行する。
【0157】
グループ管理装置は、外部から管理対象グループのノードに入力する入力パケット数と、管理対象グループのノードから外部に出力する出力パケット数を識別し、入力パケット数が出力パケット数より大である場合には、確率密度係数を下げ、入力パケット数が出力パケット数より小である場合には、確率密度係数を上げて、データ存在確率密度γの調整を実行し、調整されたγ値に基づいて、管理対象ノードに対して格納データの入出力または削除処理要求を行う。
【0158】
グループAのグループ管理装置は、γ=(c×p)/Nの算出値、すなわちデータ存在確率密度:γが、データ記録当初の確率値:αに比較して小さい値であり、調整が必要であると判定すると、他のグループからのデータ取得処理をグループ内の各ノードに命令する。この場合、グループAのグループ管理装置は、グループ全体のデータ入出力の均衡が保たれるように設定する。すなわち、「グループ全体のノードが送り出しているデータの量(合計):ΣSn」と、「グループ全体のノードが受け取っているデータの量(合計):ΣRn」について、ΣSn=ΣRnとなるように設定する。
【0159】
上記設定の下、グループAのグループ管理装置は、グループ内の各ノードにデータの格納処理として、他のグループに属するノードに対してコピー要求パケットを送信する処理の実行命令を送信する。この実行命令には、コピー処理対象のデータ識別子、およびコピー要求パケット送信先ノードを含むアドレス(マルチキャスト)データが含まれる。
【0160】
コピー命令パケットの送信処理命令を受信した各ノード(ノード1,ノード2)は、受信命令に含まれるコピー処理対象のデータ識別子、およびコピー要求パケット送信先ノードを含むアドレス(マルチキャスト)データに基づいてコピー要求パケットを生成して、ステップS505、S506においてグループBの所属ノードに対して送信する。なお、このコピー要求パケットは、先に図12を参照して説明した再生処理要求パケットと同様のデータ構成を持ち、返信確率、すなわち再生ルール判断条件記述に対応するコピールール判断条件記述を設定した構成を適用可能である。グループAの各ノードは図12を参照して説明した再生処理要求パケットと同様の構成をもつコピー要求パケットを、グループBの所属ノードにマルチキャスト送信する。
【0161】
コピー要求パケットを受信したグループBの所属ノードは、ステップS507の確率制御処理によって、コピー要求に応じた処理を実行するか否かを決定する。これは、先にデータ再生処理の項目において図17を参照して説明した生成乱数と、受信パケット(データ再生処理要求パケット)中の再生ルール判断条件記述として設定された確率:βとの比較に基づく、処理実行/非実行の判定処理、あるいは、図18を参照して説明したパケット内データに基づくハッシュ値と、ノードの設定値との比較に基づく、処理実行/非実行の判定処理と同様の処理として実行するものである。コピー要求パケットには、再生ルール判断条件記述に代わるコピールール判断条件記述として確率:βが設定され、コピー要求パケットを受信したノードは、パケットからコピールール判断条件記述としての確率:βに基づいて自立的に処理の実行/非実行を判定する。
【0162】
図21に示すノードは、ステップS507の確率制御処理の結果として、コピー要求に応じた処理を実行するとの結論を出し、ステップS508において、コピー要求パケットのリクエスト記述に従って、自ノードの記憶部から対応データを取得し、取得データをペイロードとして格納したパケット(図13参照)を生成して、ステップS509において、コピー要求指示ノードに対して送信する。
【0163】
なお、先に説明したように、図21には、グループAには2つのノード、グループBには1つのノードを示しているが、各グループには多数のノードが存在し、それらのノードが同様の処理を実行しているものである。従って、グループBのノード中には、ノードの自立的判断により処理を実行しないノードも存在する。
【0164】
データを格納したパケットを受信したグループAのノード1,2は、ステップS510,S511において、受信データを自己の記憶手段に格納する。この処理により、グループAのあるデータのデータ存在確率密度:γが、データ記録当初の確率値:αよりかなり小さかった場合、すなわちγ≪αであっても、データコピー処理が実行されることで、γ≒αに調整されることになる。
【0165】
上述の処理は、グループに格納される様々なデータ毎に実行され、また各グループ毎に設定されたグループ管理装置の制御によりグループ単位で実行される。従って、各グループにおける各データのデータ存在確率密度:γは、時間が経過した場合であっても、データ記録当初の確率値:αにほぼ等しい値に維持されることになる。その結果、前述した再生処理において、再生要求ノードが、再生要求パケットに設定する返信確率:βを当初の記録確率値:αに基づいて算出して設定することで、再生処理可能なパケットを確実に受信することができ、再生可能性を保証することができる。
【0166】
図21を参照して説明したシーケンス図における各エンティテイの処理手順について、図22乃至図24のフローチャートを参照して説明する。
【0167】
まず、図22を参照してグループ管理装置における処理について説明する。ステップS611において、グループ管理装置は、管理対象のグループ内に所属する各ノードの格納しているデータ状況を収集するとともに、パケット入出力情報を収集する。パケット入出力情報とは、各ノードが送り出しているデータの量:Snと、ノードが受け取っているデータの量:Rnである。
【0168】
ステップS612において、グループ管理装置は、各データについてのグループ内のデータ存在確率密度:γを格納した確率密度統計情報パケットを他のグループのグループ管理装置から受信するのを待機する。ステップS613において、他のグループのグループ管理装置から確率密度統計情報パケットを受信したと判断すると、ステップS614において、グループ管理装置は、自己のグループ内から取得したデータ格納状況データに基づいて確率密度係数:cを算出する。
【0169】
グループ管理装置は、「グループ全体のノードが送り出しているデータの量(合計):ΣSn」と、「グループ全体のノードが受け取っているデータの量(合計):ΣRn」について、ΣSn=ΣRnとなるように制御し、ステップS615において、グループ内の各ノードに対して、データの格納処理、すなわち、他のグループに属するノードにコピー要求パケットを送信する処理の実行命令を送信する。この実行命令には、コピー処理対象のデータ識別子、およびコピー要求パケット送信先ノードを含むアドレス(マルチキャスト)データが含まれる。
【0170】
次に、コピー命令パケットの送信処理命令を受信する各ノードの処理について、図23の処理フローを参照して説明する。ステップS621で、コピー要求発行指示を待機し、ステップS622でコピー要求発行指示受信が確認されると、ステップS623において、ノードは、受信命令に含まれるコピー処理対象のデータ識別子、およびコピー要求パケット送信先ノードを含むアドレス(マルチキャスト)データに基づいてコピー要求パケットを生成して送信する。
【0171】
ステップS624では、コピー要求に対する応答としてのデータコピーパケットを待機し、ステップS625でデータコピーパケット受信が確認されると、ステップS626において受信したデータコピーパケットからデータを取り出して、自己の記憶装置に格納する。
【0172】
次に、図24を参照してデータのコピー要求を受信したノード側の処理について説明する。ノードは、ステップS631においてコピー要求パケットを待機し、ステップS632でコピー要求パケットの受信が確認されると、ステップS633において、乱数生成処理を実行し、ステップS634において、生成した乱数と、コピー要求パケット内に格納されたコピールール判断条件記述:確率βとの比較を行ない、比較結果に基づいて、命令の実行、非実行を判定する。コピールール判断条件記述は、先に説明した再生処理におけるルール判断条件記述:確率βと同様の意味を持つ値である。
【0173】
例えば、生成乱数>確率βであれば、自己の記憶手段に格納された指定コンテンツを抽出し、抽出データをペイロードとしたパケット(図13参照)を生成して、コピー要求ノードに対して送信する処理を実行し、生成乱数≦確率βであれば、データ抽出送信処理を実行しない。
【0174】
ステップS634における乱数に基づく比較処理結果として、データ抽出送信処理を実行すべきとの判定がなされれば、ステップS635に進み、自装置(ノード)の記憶手段に格納されたデータの抽出処理を実行して、抽出データをペイロードとしたパケット(図13参照)を生成して、コピー要求ノードに対して送信する処理を実行する。一方、乱数に基づく比較処理結果として、データ抽出送信処理を実行しないとの判定がなされれば、ステップS636に進み、データ抽出送信処理を実行せずに処理を終了する。
【0175】
図24の処理は、先にデータ再生処理の項目において、図17を参照して説明した生成乱数と、受信パケット(データ再生処理要求パケット)中の再生ルール判断条件記述として設定された確率:βとの比較に基づく、処理実行/非実行の判定処理と同様の処理であるが、図18を参照して説明したパケット内データに基づくハッシュ値と、ノードの設定値との比較に基づく、処理実行/非実行の判定処理と同様の処理を実行してもよい。
【0176】
このように、グループ単位でのデータ管理を実行することで、各グループにおける各データのデータ存在確率密度:γが、データ記録当初の確率値:αに近い値に維持され、その結果、前述した再生処理において、再生要求パケットに設定する返信確率:βを当初の記録確率値:αに基づいて設定しても、再生処理可能なパケットを確実に受信することができ、再生可能性を保証することができる。
【0177】
なお、上述した実施例では、ネットワークに接続された情報処理装置におけるパケット転送処理を実行する構成例を中心として説明したが、本発明は、パケット転送構成を持つ構成に限らず、例えば無線通信装置相互の通信、あるいはPC等の情報処理装置の電子回路を構成するデバイス間通信においても、それぞれ転送データに対して、上述したデータ分散格納処理制御を行うことで、各種のデータについて均衡した分散配置構成を構築することが可能となる。
【0178】
[7.情報処理装置のハード構成]
次に、上述の実施例において説明したノード、グループ管理装置、記録指示装置、再生指示装置を構成する情報処理装置のハード構成例について説明する。
【0179】
図25に、制御手段としてCPU(Central Processing Unit)を備えた情報処理装置例を示す。図25に示す構成について説明する。CPU(Central Processing Unit)901は、各種プログラムを実行するプロセッサである。ROM(Read−Only−Memory)902は、CPU901が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。RAM(Random Access Memory)903は、CPU901の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。
【0180】
HDD904はハードディスクの制御を実行し、ハードディスクに対する各種データ、プログラムの格納処理および読み出し処理を実行する。エンコード/デコード処理部905は、コンテンツ等の送信データのエンコード処理、受信データのデコード処理を前述した処理に従って実行する。
【0181】
バス921はPCI(Peripheral Component Internet/Interface)バス等により構成され、各モジュール、入出力インタフェース922を介した各入出力装置とのデータ転送を可能にしている。
【0182】
入力部911は、例えばキーボード、ポインティングデバイスを含む入力部である。キーボードやマウス等を介して入力部911が操作された場合、あるいは、通信部913からのデータを受信した場合などにCPU901に指令が入力され、ROM(Read Only Memory)902に格納されているプログラムを実行する。出力部912は、例えばCRT、液晶ディスプレイ等であり、各種情報をテキストまたはイメージ等により表示する。
【0183】
通信部913は情報処理装置間の通信、あるいは、その他のエンティテイとの通信処理を実行し、CPU901の制御の下に、各記憶部から供給されたデータ、あるいはCPU901、エンコード/デコード処理部905によって処理されたデータを送信したり、他エンティテイからのデータを受信する処理を実行する。
【0184】
ドライブ914は、フレキシブルディスク、CD−ROM(Compact Disc ReadOnly Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体915の記録再生を実行するドライブであり、各リムーバブル記録媒体915からのプログラムまたはデータ再生、リムーバブル記録媒体915に対するプログラムまたはデータ格納を実行する。
【0185】
各記憶媒体に記録されたプログラムまたはデータを読み出してCPU901において実行または処理を行なう場合は、読み出したプログラム、データは入出力インタフェース922、バス921を介して例えば接続されているRAM903に供給される。
【0186】
なお、明細書中において説明した各処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、又は各種のプログラムをインストールすることで各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、フレキシブルディスクやCD−ROM等のプログラム読み取り可能な記録媒体にプログラムを格納して提供してもよいし、インターネットなどの通信網を介してプログラムをダウンロードしてもよい。
【0187】
具体的には、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0188】
また、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0189】
なお、ノード、記録指示装置、再生指示装置を構成する情報処理装置としては、カムコーダ、パーソナルビデオレコーダーやホームゲートウェイなどが考えられるが、データを記録する記録部と、所定の演算を行う制御部と、データの送受信を行うネットワークインターフェースを有していればその他の構成を備える装置であってもよい。
【0190】
また、記録確率α、返信確率βをパケット中に記録したが、記録確率α、返信確率βを任意の記録装置、若しくはパケットなどに記録し、各ノードがその値を参照するようにしてもよい。また、FEC符号化としてリードトルネード符号化方式を利用した場合には、インターリーブ処理を省略することもできる。
【0191】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0192】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0193】
【発明の効果】
以上、説明してきたように、本発明の構成によれば、多数の端末(ノード)の接続されたネットワーク構成、特にデータ記録を複数ノードに分散して実行する分散型記憶処理構成において、均衡のとれたデータ格納が可能となるとともに、各ノードあるいは複数のノードからなるグループにおける記憶容量を考慮し、破綻のないデータ記憶処理が実現される。
【0194】
さらに、本発明の構成によれば、ネットワーク接続された複数のノードに対してデータ記録処理を実行する分散型記憶処理構成において、ノードのグループ分けを行い、グループに対して設置されたグループ管理装置の制御により、管理対象グループのノード数nと、グループ内のノードに格納されたデータ重複数pと、確率密度係数cに基づいて、γ=(c×p)/nにより、データ存在確率密度γを算出し、γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う構成としたので、グループ単位での数値に基づくデータ管理が確実に実行可能となり、均衡のとれた効率的なデータ管理が実現される。
【0195】
さらに、本発明の構成によれば、データ記録または再生要求を受信した端末(ノード)において、自律的に命令を実行するかしないかを判断して命令の選択的な実行を行なう構成とした分散型記憶処理構成において、ノードのグループ分けを行い、グループに対して設置されたグループ管理装置の制御により、適切なデータの再配分を実行することで、破綻のないデータ記憶処理を実現するとともに、データ再生時に再生要求端末の生成する再生要求パケットに設定する返信確率:βを当初の記録確率値:αに基づいて設定しても、再生処理可能なパケットを確実に受信することができ、再生可能性を保証することができる構成を実現することができる。
【0196】
さらに、本発明の構成によれば、管理対象各ノードが送り出しているデータの量Snと、ノードが受け取っているデータの量Rnを取得し、グループ全体のノードがグループ外ノードに出力するデータ量ΣSnと、グループ全体のノードがグループ外ノードから入力するデータ量ΣRnについて、ΣSn=ΣRnとなるように制御する構成としたので、複数のノードからなるグループにおける記憶容量に対応するデータ格納が可能となり、破綻のないデータ記憶処理が実現される。
【図面の簡単な説明】
【図1】本発明の適用可能な分散型ストレージシステム構成例について説明する図である。
【図2】本発明の適用可能なネットワーク構成例について説明する図である。
【図3】ネットワーク接続される情報処理装置(ノード)の構成について説明する図である。
【図4】記録指示装置の構成について説明する図である。
【図5】記録指示装置において実行するデータのFEC符号化処理およびインタリーブ処理について説明する図である。
【図6】記録指示装置から送信するデータ記録処理要求パケットの構成について説明する図である。
【図7】記録指示装置からノードに対するデータ記録処理要求パケットの送信処理について説明する図である。
【図8】記録指示装置からデータ記録処理要求パケットを受信したノードにおける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。
【図9】記録指示装置からデータ記録処理要求パケットを受信したノードにおける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。
【図10】記録指示装置からデータ記録処理要求パケットを受信したノードにおける自律的な処理実行判定において生成するハッシュ値の例について説明する図である。
【図11】再生指示装置の構成について説明する図である。
【図12】再生指示装置から送信するデータ再生処理要求パケットの構成について説明する図である。
【図13】データ再生処理要求パケットを受信したノードから再生指示装置に対して送信するパケットの構成について説明する図である。
【図14】再生指示装置において実行するデータのデインタリーブ処理およびFEC復号処理について説明する図である。
【図15】再生指示装置からノードに対するデータ再生処理要求パケットの送信処理について説明する図である。
【図16】再生指示装置からデータ再生処理要求パケットを受信したノードからのデータ格納パケットの送信処理について説明する図である。
【図17】再生指示装置からデータ再生処理要求パケットを受信したノードにおける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。
【図18】再生指示装置からデータ再生処理要求パケットを受信したノードにおける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。
【図19】記録指示装置からのデータ記録処理要求、ノードにおけるデータ記録処理、および再生指示装置からのデータ再生処理要求、ノードにおけるデータ抽出送信処理、再生指示装置における再生処理について説明するシーケンス図である。
【図20】ネットワーク上に存在する多数のノードをグループ分割した構成例を示す図である。
【図21】グループ管理装置および各ノードにおいて実行する処理および各種の通知処理、データ転送処理の全体処理手順を示すシーケンス図である。
【図22】グループ管理装置の実行する処理手順を示すフローチャートを示す図である。
【図23】データを入力し格納する処理を行うグループ内のノードの処理手順を示すフローチャートを示す図である。
【図24】データを出力する処理を行うノードの処理手順を示すフローチャートを示す図である。
【図25】本発明の情報処理装置のハードウェア構成例について説明する図である。
【符号の説明】
100 ネットワーク
101 記録指示装置
102 再生指示装置
111〜115 ノード
110 ネットワーク
121〜126 情報処理装置
200 情報処理装置(ノード)
201 ルール判断処理部
202 データ処理部
203 パケット処理部
204 データ送受信部
250 記録指示装置
251 データ入力部
252 データ加工部
253 ルール判断条件設定部
254 パケット生成部
255 ネットワークインタフェース
270 再生指示装置
271 ネットワークインタフェース
272 データ要求パケット生成部
273 ルール判断条件設定部
274 パケット処理部
275 データ復元処理部
276 データ処理部
501,502,503 グループ
511,512,513 グループ管理装置
901 CPU
902 ROM
903 RAM
904 HDD
905 エンコード/デコード処理部
911 入力部
912 出力部
913 通信部
914 ドライブ
915 リムーバブル記憶媒体
921 バス
922 入出力インタフェース

Claims (9)

  1. ネットワーク接続された複数ノードの格納データ管理処理を実行するグループ管理装置としての情報処理装置であり、
    管理対象となるグループに含まれるノード数nと、グループ内のノードに格納されたデータ重複数pと、確率密度係数cに基づいて、式、
    γ=(c×p)/n
    により、データ存在確率密度γを算出する処理を実行するとともに、
    前記データ存在確率密度γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う構成を有することを特徴とする情報処理装置。
  2. 前記グループ管理装置の管理ノードの各々は、処理要求に従った処理を実行するか否かの判定処理に適用可能な記録ルール判断条件記述としての確率値αに基づいて、データ記録処理を実行するノードであり、
    前記グループ管理装置としての情報処理装置は、
    前記データ存在確率密度γと、前記確率値αとの乖離が大であるか否かを判定し、乖離が大であるとの判定を条件として、前記データ存在確率密度γと、前記確率値αとの乖離を小とするデータ制御処理として、前記管理対象ノードに対して格納データの入出力または削除処理要求を行う構成を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、
    管理対象各ノードが送り出しているデータの量Snと、ノードが受け取っているデータの量Rnを取得し、グループ全体のノードがグループ外ノードに出力するデータ量ΣSnと、グループ全体のノードがグループ外ノードから入力するデータ量ΣRnについて、ΣSn=ΣRnとなるように前記管理対象ノードに対して格納データの入出力または削除処理要求を行う構成を有することを特徴とする請求項1に記載の情報処理装置。
  4. 前記情報処理装置は、外部から管理対象グループのノードに入力する入力パケット数と、管理対象グループのノードから外部に出力する出力パケット数を識別し、入力パケット数が出力パケット数より大である場合には、前記確率密度係数を下げ、入力パケット数が出力パケット数より小である場合には、確率密度係数を上げて、データ存在確率密度γの調整を実行し、調整されたγ値に基づいて、前記管理対象ノードに対して格納データの入出力または削除処理要求を行う構成を有することを特徴とする請求項1に記載の情報処理装置。
  5. ネットワーク接続された複数ノードの格納データ管理処理を実行する情報処理方法であり、
    管理対象となるグループに含まれるノード数nと、グループ内のノードに格納されたデータ重複数pと、確率密度係数cに基づいて、式、
    γ=(c×p)/n
    により、データ存在確率密度γを算出するデータ存在確率密度算出ステップと、
    前記データ存在確率密度γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う処理要求発行ステップと、
    を有することを特徴とする情報処理方法。
  6. 前記グループ管理装置の管理ノードの各々は、処理要求に従った処理を実行するか否かの判定処理に適用可能な記録ルール判断条件記述としての確率値αに基づいて、データ記録処理を実行するノードであり、
    前記情報処理方法は、さらに、
    前記データ存在確率密度γと、前記確率値αとの乖離が大であるか否かを判定するステップを有し、
    前記処理要求発行ステップは、
    前記乖離が大であるとの判定を条件として、前記データ存在確率密度γと、前記確率値αとの乖離を小とするデータ制御処理として、前記管理対象ノードに対して格納データの入出力または削除処理要求を行うステップであることを特徴とする請求項5に記載の情報処理方法。
  7. 前記情報処理方法は、さらに、
    管理対象各ノードが送り出しているデータの量Snと、ノードが受け取っているデータの量Rnを取得し、グループ全体のノードがグループ外ノードに出力するデータ量ΣSnと、グループ全体のノードがグループ外ノードから入力するデータ量ΣRnについて、ΣSn=ΣRnとなるように前記管理対象ノードに対して格納データの入出力または削除処理要求を行うことを特徴とする請求項5に記載の情報処理方法。
  8. 前記情報処理方法は、さらに、
    外部から管理対象グループのノードに入力する入力パケット数と、管理対象グループのノードから外部に出力する出力パケット数を識別し、入力パケット数が出力パケット数より大である場合には、前記確率密度係数を下げ、入力パケット数が出力パケット数より小である場合には、確率密度係数を上げて、データ存在確率密度γの調整を実行し、調整されたγ値に基づいて、前記管理対象ノードに対して格納データの入出力または削除処理要求を行うことを特徴とする請求項5に記載の情報処理方法。
  9. ネットワーク接続された複数ノードの格納データ管理処理を実行するコンピュータ・プログラムであり、
    管理対象となるグループに含まれるノード数nと、グループ内のノードに格納されたデータ重複数pと、確率密度係数cに基づいて、式、
    γ=(c×p)/n
    により、データ存在確率密度γを算出するデータ存在確率密度算出ステップと、
    前記データ存在確率密度γの値に応じて、管理対象ノードに対して格納データの入出力または削除処理要求を行う処理要求発行ステップと、
    を有することを特徴とするコンピュータ・プログラム。
JP2003004681A 2003-01-10 2003-01-10 情報処理装置および情報処理方法、並びにコンピュータ・プログラム Pending JP2004220183A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003004681A JP2004220183A (ja) 2003-01-10 2003-01-10 情報処理装置および情報処理方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003004681A JP2004220183A (ja) 2003-01-10 2003-01-10 情報処理装置および情報処理方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2004220183A true JP2004220183A (ja) 2004-08-05

Family

ID=32895595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003004681A Pending JP2004220183A (ja) 2003-01-10 2003-01-10 情報処理装置および情報処理方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP2004220183A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099531A (ja) * 2004-09-30 2006-04-13 Nec Personal Products Co Ltd コンテンツ配信管理サーバ、ユーザ端末装置、コンテンツ配信システム及びそれらの方法並びにプログラム
WO2006103801A1 (ja) * 2005-03-29 2006-10-05 Brother Kogyo Kabushiki Kaisha 情報処理装置、情報処理方法及び情報処理用プログラム
JP2008181387A (ja) * 2007-01-25 2008-08-07 Nec Corp I/oバスシステム及びその管理方法
JP2009217602A (ja) * 2008-03-11 2009-09-24 Nec Commun Syst Ltd ファイル複製要否判定方法、通信装置、コンピュータプログラム及びピアツーピア型通信システム
JP2011508333A (ja) * 2007-12-31 2011-03-10 アルカテル−ルーセント コンテンツを配信するための方法および装置
WO2013005777A1 (ja) * 2011-07-04 2013-01-10 日本電気株式会社 管理装置、分散記憶システム、アクセス先選択方法、データ記憶部設定方法およびプログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099531A (ja) * 2004-09-30 2006-04-13 Nec Personal Products Co Ltd コンテンツ配信管理サーバ、ユーザ端末装置、コンテンツ配信システム及びそれらの方法並びにプログラム
JP4555042B2 (ja) * 2004-09-30 2010-09-29 Necパーソナルプロダクツ株式会社 コンテンツ配信管理サーバ、コンテンツ配信管理方法並びにプログラム
WO2006103801A1 (ja) * 2005-03-29 2006-10-05 Brother Kogyo Kabushiki Kaisha 情報処理装置、情報処理方法及び情報処理用プログラム
JP2008181387A (ja) * 2007-01-25 2008-08-07 Nec Corp I/oバスシステム及びその管理方法
JP2011508333A (ja) * 2007-12-31 2011-03-10 アルカテル−ルーセント コンテンツを配信するための方法および装置
JP2014059878A (ja) * 2007-12-31 2014-04-03 Alcatel-Lucent コンテンツを配信するための方法および装置
JP2009217602A (ja) * 2008-03-11 2009-09-24 Nec Commun Syst Ltd ファイル複製要否判定方法、通信装置、コンピュータプログラム及びピアツーピア型通信システム
WO2013005777A1 (ja) * 2011-07-04 2013-01-10 日本電気株式会社 管理装置、分散記憶システム、アクセス先選択方法、データ記憶部設定方法およびプログラム

Similar Documents

Publication Publication Date Title
JP4172259B2 (ja) 情報処理装置および方法、並びにコンピュータ・プログラム
JP4738900B2 (ja) ピアツーピアコンピュータネットワーク内の効率的な一対多コンテンツ配信
JP4676833B2 (ja) 拡張可能なメディアの分散ストリーミングのシステムおよび方法
US7818445B2 (en) Methods and devices for obtaining a broadcast-like streaming content
KR101432314B1 (ko) 분산형 네트워크에 저장될 파일들을 인코딩하기 위한 컴퓨터 구현 프로세스 및 이를 실행하기 위한 컴퓨터 판독 가능 매체, 피어 투 피어 네트워크의 저장 신뢰도 및 효율성을 향상시키기 위한 시스템, 및 분산형 네트워크에 저장된 인코딩된 파일을 디코딩하기 위한 컴퓨터 구현 프로세스
JP4920220B2 (ja) ピアツーピアネットワークでの受信側主導のシステム及び方法
US8694675B2 (en) Generalized dual-mode data forwarding plane for information-centric network
KR101072966B1 (ko) 파일 데이터 분배 방법, 디바이스, 및 시스템
KR101009326B1 (ko) 정보 처리 장치, 정보 처리 방법, 및 기록 매체
US20100095015A1 (en) Methods and systems for bandwidth amplification using replicated fragments
US20080189429A1 (en) Apparatus and method for peer-to-peer streaming
EP1505508B1 (en) Distributed data recording and retrieval
JP2006074781A (ja) ストリーミングメディアの消去符号化のシステム及び方法
WO2013029569A1 (en) A Generalized Dual-Mode Data Forwarding Plane for Information-Centric Network
JP2010504652A (ja) ビデオネットワークを管理する方法及びシステム
US20130198151A1 (en) Methods for file sharing related to the bit fountain protocol
JPWO2016013139A1 (ja) Delay−Tolerant network(DTN)内でのデータ配送のための装置及び方法
US11178226B2 (en) Integrated erasure coding for data storage and transmission
JP2004220183A (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
JP5814710B2 (ja) ネットワーク符号化に基づくデータ伝送方法および装置
JP2004221756A (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
Ghaeini et al. An adaptive packet loss recovery method for peer-to-peer video streaming over wireless mesh network
CN111149365A (zh) 利用边缘装置进行内容分发的混合技术
JP2009049530A (ja) データ送信装置、データ中継装置及びデータ受信装置