(57)【要約】【課題】コンテンツデータの投入を迅速に行うことができる情報通信システム、情報処理装置、提供装置及びそのプログラムを提供すること。【解決手段】コンテンツデータを提供する提供装置２は、コンテンツデータの投入要求が情報処理装置１により許可されないとき、コンテンツデータをノード装置２間で送受信可能にする加工を行うことができる他の提供装置２によりコンテンツデータを送信する。【選択図】図３
2011055138.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンテンツデータを分散して記憶した複数のノード装置を有し、前記複数のノード装置間で前記コンテンツデータを送受信する情報通信システムであって、
ネットワークを介して、コンテンツデータを提供する提供装置から、コンテンツデータを取得する取得手段と、
前記取得手段により取得されたコンテンツデータを前記複数のノード装置間で送受信可能に加工する加工手段と、
前記加工手段による加工を含むコンテンツデータ投入処理の負荷を検出する負荷検出手段と、
前記ネットワークを介して前記提供装置から、コンテンツデータの投入要求を受け付けたとき、前記負荷検出手段により検出された負荷の大きさが所定閾値以下であるか否かを判定する判定手段と、
前記判定手段により前記負荷の大きさが所定閾値以下であると判定されたとき、前記投入要求を受け付けたコンテンツデータの投入を許可し、前記判定手段により前記負荷の大きさが所定閾値以下であると判定されなかったとき、前記投入要求を受け付けたコンテンツデータの投入を許可しない許可手段と、を有する情報処理装置と、
前記提供装置と、を備え、
前記提供装置は、
前記情報処理装置にコンテンツデータの投入要求を行う要求手段と、
前記許可手段によりコンテンツデータの投入が許可されたとき、コンテンツデータを前記情報処理装置へ送信する送信手段と、
前記許可手段によりコンテンツデータの投入が許可されないとき、前記複数のノード装置間で前記コンテンツデータを送受信可能に加工できる他の提供装置の情報を取得する取得手段と、を有し、
前記送信手段は、前記取得手段により前記他の提供装置の情報が取得されたとき、当該他の提供装置へ前記コンテンツデータを送信することを特徴とする情報通信システム。
【請求項２】
前記情報処理装置の判定手段は、前記コンテンツデータ投入処理が実行されているときに、前記投入要求を受け付けたとき、前記投入処理の負荷の大きさが前記所定閾値以下ではないと判定することを特徴とする請求項１に記載の情報通信システム。
【請求項３】
前記情報処理装置は、前記投入要求を行うことができる提供装置の認証情報を記憶する認証情報記憶手段を備え、
前記提供装置の要求手段が行う前記投入要求には、前記認証情報を含み、
前記情報処理装置は、前記許可手段によりコンテンツデータの投入が許可されない提供装置から取得した認証情報が前記認証情報記憶手段に記憶している認証情報と一致すれば、前記他の提供装置の情報を前記投入が許可されない提供装置へ送信する送信手段を備えた
ことを特徴とする請求項１又は２に記載の情報通信システム。
【請求項４】
前記提供装置は、前記複数のノード装置のうち一部のノード装置によって構成され、
前記コンテンツデータを前記複数のノード装置間で送受信可能に加工する加工手段と、
前記加工手段によって加工した前記コンテンツデータを記憶するコンテンツ記憶手段と、
前記コンテンツ記憶手段に前記加工手段によって加工した前記コンテンツデータを記憶していることを、他の前記ノード装置へ通知する通知手段と、を備え、
前記送信手段は、他の前記ノード装置から前記コンテンツデータの送信要求があったとき、前記コンテンツ記憶手段に記憶したコンテンツデータを、前記送信要求を行った他のノード装置へ送信することを特徴とする請求項１〜３のいずれか１項に記載の情報通信システム。
【請求項５】
前記コンテンツデータの加工は、前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する処理であることを特徴とする請求項１〜４のいずれか１項に記載の情報通信システム。
【請求項６】
ネットワークを介して、コンテンツデータを提供する提供装置から、コンテンツデータを取得する取得手段と、
前記取得手段により取得されたコンテンツデータを前記複数のノード装置間で送受信可能に加工する加工手段と、
前記加工手段による加工を含むコンテンツデータ投入処理の負荷を検出する負荷検出手段と、
前記ネットワークを介して前記提供装置から、コンテンツデータの投入要求を受け付けたとき、前記負荷検出手段により検出された負荷の大きさが所定閾値以下であるか否かを判定する判定手段と、
前記判定手段により前記負荷の大きさが所定閾値以下であると判定されたとき、前記投入要求を受け付けたコンテンツデータの投入を許可し、前記判定手段により前記負荷の大きさが所定閾値以下であると判定されなかったとき、前記投入要求を受け付けたコンテンツデータの投入を許可しない許可手段と、を備える情報処理装置。
【請求項７】
複数のコンテンツデータを分散して記憶した複数のノード装置間で前記コンテンツデータを送受信する情報通信システムに投入するコンテンツデータを提供する提供装置において、
コンテンツデータを前記複数のノード装置間で送受信可能に加工する情報処理装置に対してコンテンツデータの投入要求を行う要求手段と、
前記情報処理装置によりコンテンツデータの投入が許可されたとき、コンテンツデータを前記情報処理装置へ送信する送信手段と、
前記情報処理装置によりコンテンツデータの投入が許可されないとき、前記複数のノード装置間で前記コンテンツデータを送受信可能に加工できる他の提供装置の情報を取得する取得手段と、を有し、
前記送信手段は、前記取得手段により前記他の提供装置の情報が取得されたとき、当該他の提供装置へ前記コンテンツデータを送信することを特徴とする提供装置。
【請求項８】
コンテンツデータを複数のノード装置間で送受信可能に加工する情報処理装置に対して、コンテンツデータの投入要求を行うステップと、
前記コンテンツデータの投入要求に対して前記情報処理装置によりコンテンツデータの投入が許可されたとき、コンテンツデータを前記情報処理装置へ送信するステップと、
前記情報処理装置によりコンテンツデータの投入が許可されないとき、前記複数のノード装置間で前記コンテンツデータを送受信可能に加工できる他の提供装置の情報を取得するステップと、
前記他の提供装置の情報が取得されたとき、当該他の提供装置へ前記コンテンツデータを送信するステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンテンツデータを分散して記憶した複数のノード装置を有し、これらのノード装置間でコンテンツデータを送受信する情報通信システム、情報処理装置、提供装置及びそのプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークを介して、端末装置などのノード装置へ、音楽、映画、トーク番組などのコンテンツのデータを配信するコンテンツ配信サービスが人気となっている。以下、コンテンツのデータを「コンテンツデータ」と呼ぶ。
【０００３】
コンテンツデータの配信形態として、クライアント−サーバ方式が主流形態である。しかし、クライアント−サーバ方式では、アクセスが集中するとサーバやネットワーク回線が負荷に耐えられなくなるという問題がある。そこで、クライアント−サーバ方式に代わる新しい配信形態として、特許文献１に記載されているようなＰ２Ｐ（Peer to Peer）を用いた配信方式が注目されている。
【０００４】
この種の配信方式では、複数のノード装置がネットワークを介して接続される。そして、ノード装置間で双方向での通信が可能なオーバーレイネットワークが構築される。各ノード装置内のストレージ（記憶手段）に、それぞれ様々なコンテンツデータを分散して記憶させておく。これにより、複数のノード装置のストレージ群からなる巨大なストレージが仮想的に構築される。これにより、各ノード装置は、ノード装置間での通信により所望のコンテンツデータを、コンテンツデータを保持している他のノード装置から取得することができる。
【０００５】
この情報通信システムにおいて、サービス管理者側のチェックを行うことなく、コンテンツデータをオーバーレイネットワークに投入してノード装置間で送受信させることは、セキュリティ上の観点から好ましくない。
【０００６】
そこで、従来の情報通信システムでは、コンテンツデータの投入を、サービス管理者側の情報処理装置を介して行うようにしている。具体的には、情報処理装置は、複数のノード装置間で送受信可能に、コンテンツデータを加工する。そして、情報処理装置は、コンテンツデータをノード装置で取得可能な状態する。これにより、そのコンテンツデータがノード装置で取得され、複数のノード装置間での通信により送受信可能となる。この方法ではコンテンツデータの提供者は必ず情報処理装置にコンテンツデータをアップロードしなければならならないことから、高いセキュリティを確保することできる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−３３５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来のコンテンツデータの投入方法では、必ず情報処理装置にコンテンツデータをアップロードする処理が必要となる。このとき、情報処理装置にアップロードするコンテンツデータが大容量のデータである場合や、コンテンツデータのアップロードが複数の提供者から行われることがある。このような場合、情報処理装置においてコンテンツデータを投入する処理の負荷が大きくなる。そのため、コンテンツデータの投入が終了するまでに長時間かかってしまい、コンテンツデータの投入を迅速に行うことができない恐れがある。また、コンテンツデータの投入時期が決まっているような場合に、同時期に投入しなければならないコンテンツデータが多いと、その投入時期までにコンテンツデータを投入できない恐れもある。
【０００９】
本発明は、上述したような課題に鑑みてなされたものであり、コンテンツデータの投入を迅速に行うことができる情報通信システム、情報処理装置、提供装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、請求項１に係る発明は、複数のコンテンツデータを分散して記憶した複数のノード装置を有し、前記複数のノード装置間で前記コンテンツデータを送受信する情報通信システムであって、ネットワークを介して、コンテンツデータを提供する提供装置から、コンテンツデータを取得する取得手段と、前記取得手段により取得されたコンテンツデータを前記複数のノード装置間で送受信可能に加工する加工手段と、前記加工手段による加工を含むコンテンツデータ投入処理の負荷を検出する負荷検出手段と、前記ネットワークを介して前記提供装置から、コンテンツデータの投入要求を受け付けたとき、前記負荷検出手段により検出された負荷の大きさが所定閾値以下であるか否かを判定する判定手段と、前記判定手段により前記負荷の大きさが所定閾値以下であると判定されたとき、前記投入要求を受け付けたコンテンツデータの投入を許可し、前記判定手段により前記負荷の大きさが所定閾値以下であると判定されなかったとき、前記投入要求を受け付けたコンテンツデータの投入を許可しない許可手段と、を有する情報処理装置と、前記提供装置と、を備え、前記提供装置は、前記情報処理装置にコンテンツデータの投入要求を行う要求手段と、前記許可手段によりコンテンツデータの投入が許可されたとき、コンテンツデータを前記情報処理装置へ送信する送信手段と、前記許可手段によりコンテンツデータの投入が許可されないとき、前記複数のノード装置間で前記コンテンツデータを送受信可能に加工できる他の提供装置の情報を取得する取得手段と、を有し、前記取得手段により前記他の提供装置の情報が取得されたとき、前記送信手段は、前記取得手段により情報が取得された前記他の提供装置へ前記コンテンツデータを送信することを特徴とする情報通信システムとした。
【００１１】
また、請求項２に係る発明は、請求項１に記載の情報通信システムにおいて、前記情報処理装置の判定手段は、前記コンテンツデータ投入処理が実行されているときに、前記投入要求を受け付けたとき、前記投入処理の負荷の大きさが前記所定閾値以下ではないと判定して前記コンテンツデータの投入を許可しないことを特徴とする。
【００１２】
また、請求項３に係る発明は、請求項１又は２に記載の情報通信システムにおいて、前記情報処理装置は、前記投入要求を行うことができる提供装置の認証情報を記憶する認証情報記憶手段を備え、前記提供装置の要求手段が行う前記投入要求には、前記認証情報を含み、前記情報処理装置は、前記許可手段によりコンテンツデータの投入が許可されない提供装置から取得した認証情報が前記認証情報記憶手段に記憶している認証情報と一致すれば、前記他の提供装置の情報を前記投入が許可されない提供装置へ送信する送信手段を備えたことを特徴とする。
【００１３】
また、請求項４に係る発明は、請求項１〜３のいずれか１項に記載の情報通信システムにおいて、前記提供装置は、前記複数のノード装置のうち一部のノード装置によって構成され、前記コンテンツデータを前記複数のノード装置間で送受信可能に加工する加工手段と、前記加工手段によって加工した前記コンテンツデータを記憶するコンテンツ記憶手段と、前記コンテンツ記憶手段に前記加工手段によって加工した前記コンテンツデータを記憶していることを、他の前記ノード装置へ通知する通知手段と、を備え、前記送信手段は、他の前記ノード装置から前記コンテンツデータの送信要求があったとき、前記コンテンツ記憶手段に記憶したコンテンツデータを、前記送信要求を行った他のノード装置へ送信することを特徴とする。
【００１４】
また、請求項５に係る発明は、請求項１〜４のいずれか１項に記載の情報通信システムにおいて、前記コンテンツデータの加工は、前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する処理であることを特徴とする。
【００１５】
また、請求項６に係る発明は、ネットワークを介して、コンテンツデータを提供する提供装置から、コンテンツデータを取得する取得手段と、前記取得手段により取得されたコンテンツデータを前記複数のノード装置間で送受信可能に加工する加工手段と、前記加工手段による加工を含むコンテンツデータ投入処理の負荷を検出する負荷検出手段と、前記ネットワークを介して前記提供装置から、コンテンツデータの投入要求を受け付けたとき、前記負荷検出手段により検出された負荷の大きさが所定閾値以下であるか否かを判定する判定手段と、前記判定手段により前記負荷の大きさが所定閾値以下であると判定されたとき、前記投入要求を受け付けたコンテンツデータの投入を許可し、前記判定手段により前記負荷の大きさが所定閾値以下であると判定されなかったとき、前記投入要求を受け付けたコンテンツデータの投入を許可しない許可手段と、を備える情報処理装置とした。
【００１６】
また、請求項７に係る発明は、複数のコンテンツデータを分散して記憶した複数のノード装置間で前記コンテンツデータを送受信する情報通信システムに投入するコンテンツデータを提供する提供装置において、コンテンツデータを前記複数のノード装置間で送受信可能に加工する情報処理装置に対してコンテンツデータの投入要求を行う要求手段と、前記情報処理装置によりコンテンツデータの投入が許可されたとき、コンテンツデータを前記情報処理装置へ送信する送信手段と、前記情報処理装置によりコンテンツデータの投入が許可されないとき、前記複数のノード装置間で前記コンテンツデータを送受信可能に加工できる他の提供装置の情報を取得する取得手段と、を有し、前記送信手段は、前記取得手段により前記他の提供装置の情報が取得されたとき、当該他の提供装置へ前記コンテンツデータを送信することを特徴とする提供装置とした。
【００１７】
また、請求項８に係る発明は、コンテンツデータを複数のノード装置間で送受信可能に加工する情報処理装置に対して、コンテンツデータの投入要求を行うステップと、前記コンテンツデータの投入要求に対して前記情報処理装置によりコンテンツデータの投入が許可されたとき、コンテンツデータを前記情報処理装置へ送信するステップと、前記情報処理装置によりコンテンツデータの投入が許可されないとき、前記複数のノード装置間で前記コンテンツデータを送受信可能に加工できる他の提供装置の情報を取得するステップと、前記他の提供装置の情報が取得されたとき、当該他の提供装置へ前記コンテンツデータを送信するステップと、をコンピュータに実行させるためのプログラムとした。
【発明の効果】
【００１８】
本発明によれば、コンテンツデータを提供する提供装置は、コンテンツデータの投入要求が情報処理装置により許可されないときでも、コンテンツデータをノード装置間で送受信可能にする加工を行うことができる他の提供装置によりコンテンツデータを投入することができる。そのため、従来の情報通信システムに比べ、コンテンツデータの投入を迅速に行うことができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係る情報通信システムの情報処理装置及び複数のノード装置の接続態様の一例を示す図である。
【図２】コンテンツデータの投入処理の説明図である。
【図３】コンテンツデータの投入処理の説明図である。
【図４】情報処理装置の構成を示す図である。
【図５】情報処理装置のメイン処理を示すフローチャートである。
【図６】情報処理装置の投入要求処理を示すフローチャートである。
【図７】情報処理装置の投入許可要求処理を示すフローチャートである。
【図８】情報処理装置の認証処理を示すフローチャートである。
【図９】ノード装置の構成を示す図である。
【図１０】ノード装置のメイン処理を示すフローチャートである。
【図１１】ノード装置の投入許可要求処理を示すフローチャートである。
【図１２】ノード装置のコンテンツ加工処理を示すフローチャートである。
【図１３】他の実施形態におけるコンテンツデータの投入処理の説明図である。
【発明を実施するための形態】
【００２０】
［１．情報通信システムＳの構成等］
まず始めに、図１を参照して、本発明の一実施形態に係る情報通信システムの概要について説明する。図１は、本実施形態に係る情報通信システムの情報処理装置及び複数のノード装置の接続態様の一例を示す図である。
【００２１】
図１の下部枠５１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Ｓervice Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者の装置５、ＦＴＴＨ（Fiber To The Home）回線事業者の装置６、及び通信回線７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。通信回線７として、例えば、電話回線や光ケーブル等がある。
【００２２】
情報通信システムＳは、コンテンツデータを配信するためのシステムである。図１の上部枠５０内に示すように、情報処理装置１と、ネットワーク８を介して相互に接続された複数のノード装置２ａ，２ｂ，２ｃ，２ｄ，・・・とを備えて、情報通信システムＳは構成される。これらの装置には、各装置を示す情報としての固有の製造番号及びネットワークアドレスが割り当てられている。固有の製造番号とは、例えば、ＭＡＣアドレスである。なお、製造番号及びネットワークアドレスは、複数の装置間で重複しないものである。ネットワーク８がインターネットの場合、ネットワークアドレスは、ＩＰ（Internet Protocol）アドレスなどである。また、以下の説明において、ノード装置２ａ，２ｂ，２ｃ，２ｄ，・・のうちいずれかのノード装置又は全てのノード装置を示す場合には、便宜上、ノード装置２という場合がある。また、コンテンツデータは、例えば、映画データ（ビデオデータ）、音楽データ、文書データなどである。
【００２３】
本実施形態の情報通信システムＳにおいては、図１の上部枠５０内に示すような、オーバーレイネットワーク９が構築される。つまり、このオーバーレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味している。オーバーレイネットワーク９は、複数のノード装置２ａ，２ｂ，２ｃ，２ｄ，・・・から形成される、所謂Ｐ２Ｐネットワークである。各ノード装置２には固有の識別情報がそれぞれ割り当てられている。この識別情報は、例えば、ノード装置２のＭＡＣアドレス又はネットワークアドレスを所定のハッシュ関数でハッシュ化して生成される。以下、この識別情報を「ノードＩＤ」と呼ぶ。ノードＩＤは、例えば、１６桁の４進数で表現される。
【００２４】
情報通信システムＳでは、情報処理装置１からノード装置２にコンテンツデータが投入され、その後、ノード装置２間でコンテンツデータが送信される。なお、以下においては、投入されるコンテンツデータを「投入コンテンツデータ」とも呼ぶ。
【００２５】
情報処理装置１は、コンテンツデータをノード装置２へ投入するとき、この投入コンテンツデータのコンテンツＩＤを生成する。さらに、情報処理装置１は、投入コンテンツデータの名称などと関連づけて、これらの情報を含むメタ情報ファイルを生成する。投入コンテンツデータの名称を以下、「コンテンツ名」と呼ぶ。また、情報処理装置１は、コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する。また、情報処理装置１は、これらの分割コンテンツデータをそれぞれ所定のハッシュ関数でハッシュ化してハッシュ値を求め、さらに、複数の分割コンテンツデータそれぞれの固有の識別情報であるキャッシュＩＤを生成する。情報処理装置１は、生成した複数のキャッシュＩＤを、それぞれ対応する分割コンテンツデータのヘッダ情報に追加する。また、情報処理装置１は、各分割コンテンツデータのキャッシュＩＤとそのハッシュ値とを関連づけてメタ情報ファイルに追加する。さらに、情報処理装置１は、投入コンテンツデータのコンテンツＩＤと各分割コンテンツデータのキャッシュＩＤとを含むコンテンツ構成情報を生成する。
【００２６】
情報処理装置１は、メタ情報ファイルに署名を入れてカタログ情報に追加する。さらに情報処理装置１は、各ノード装置２へカタログ情報を送信して配布する。これにより、各ノード装置２は、新たな投入コンテンツデータがあることを把握することができる。
【００２７】
投入コンテンツデータを取得しようとするノード装置２は、コンテンツＩＤに基づき、投入コンテンツデータのコンテンツ構成情報を記憶しているノード装置２を検索する。このようにコンテンツ構成情報を記憶しているノード装置２を以下、「第１ホルダノード」と呼ぶ。なお、このように投入コンテンツデータのコンテンツ構成情報を取得しようとするノード装置２を「第１リクエスタ」ともいう。また、本実施形態では、コンテンツＩＤと所定の関係を有するノードＩＤのノード装置２がそのコンテンツＩＤに対応する投入コンテンツデータのコンテンツ構成情報を記憶する第１ホルダノードのネットワークアドレスを記憶しているノード装置２とする。以下、このように第１ホルダノードのネットワークアドレスを記憶しているノード装置２を「第１ルートノード」と呼ぶ。なお、コンテンツＩＤと所定の関係を有するノードＩＤのノード装置２を、例えば、コンテンツＩＤに最も近いノードＩＤのノード装置２とすることができる。コンテンツＩＤに最も近いノードＩＤとは、例えば、その値がコンテンツＩＤを超えず、コンテンツＩＤと上位桁がより多く一致するノードＩＤである。
【００２８】
いずれのノード装置２も情報処理装置１から投入コンテンツデータのコンテンツ構成情報を取得していないとき、第１ホルダノードは存在しない。そのため、第１ルートノードも第１ホルダノードのネットワークアドレスを記憶していない。従って、投入コンテンツデータのコンテンツ構成情報を最初に検索したノード装置２は、他のノード装置２からコンテンツ構成情報を取得できない。このとき、コンテンツ構成情報を最初に検索したノード装置２は、情報処理装置１へコンテンツ構成情報の送信要求を行う。この送信要求は、投入コンテンツデータのコンテンツＩＤに基づいて行われる。
【００２９】
情報処理装置１は、第１リクエスタであるノード装置２から、コンテンツ構成情報の送信要求があると、要求に応じたコンテンツ構成情報を、第１リクエスタであるノード装置２へ送信する。第１リクエスタであるノード装置２は、コンテンツ構成情報を取得すると、第１ホルダノードとして、第１ルートノードに対して登録メッセージを送信する。この登録メッセージは、コンテンツＩＤとネットワークアドレスとを含む情報である。上記登録メッセージに含まれるコンテンツＩＤは、取得したコンテンツ構成情報に対応する投入コンテンツデータのコンテンツＩＤである。上記登録メッセージに含まれるネットワークアドレスは、第１ホルダノードであるノード装置２のネットワークアドレスである。これにより、第１ルートノードは、第１ホルダノードのネットワークアドレスを取得することができる。以後、第１ルートノードは、第１リクエスタから要求があると第１ホルダノードのネットワークアドレスを第１リクエスタへ送信する。従って、情報処理装置１からノード装置２がコンテンツ構成情報を取得した後は、ノード装置２同士でコンテンツ構成情報の送受信が行われる。但し、この場合であっても、第１リクエスタが第１ホルダノードからコンテンツ構成情報を取得できないようなときには、第１リクエスタが情報処理装置１へこのコンテンツ構成情報の送信要求を行う。
【００３０】
さらに、ノード装置２は、コンテンツ構成情報を取得すると、このコンテンツ構成情報に含まれる複数のキャッシュＩＤのうち最初の分割コンテンツデータのキャッシュＩＤを読み出す。そして、このノード装置２は、読み出したキャッシュＩＤに基づき、最初の分割コンテンツデータを記憶しているノード装置２を検索する。以下、このように投入コンテンツデータの分割コンテンツデータを取得しようとするノード装置２を、「第２リクエスタ」と呼ぶ。また、最初の分割コンテンツデータを記憶しているノード装置２を、「第２ホルダノード」と呼ぶ。なお、本実施形態では、キャッシュＩＤと所定の関係を有するノードＩＤのノード装置２がそのキャッシュＩＤの分割コンテンツデータを記憶する第２ホルダノードのネットワークアドレスを記憶しているノード装置２とする。このように第２ホルダノードのネットワークアドレスを記憶しているノード装置２を以下、「第２ルートノード」と呼ぶ。なお、キャッシュＩＤと所定の関係を有するノードＩＤのノード装置２を、例えば、キャッシュＩＤに最も近いノードＩＤのノード装置２とすることができる。キャッシュＩＤに最も近いノードＩＤとは、例えば、その値がキャッシュＩＤを超えず、キャッシュＩＤと上位桁がより多く一致するノードＩＤである。
【００３１】
いずれのノード装置２も情報処理装置１から最初の分割コンテンツデータを取得していないときには、最初の分割コンテンツデータを記憶する第２ホルダノードは存在していない。そのため、最初の分割コンテンツデータの第２ルートノードも第２ホルダノードのネットワークアドレスを記憶していない。従って、最初の分割コンテンツデータを最初に検索した第２リクエスタであるノード装置２は、他のノード装置２から最初の分割コンテンツデータを取得できない。このとき、第２リクエスタは、情報処理装置１へ最初の分割コンテンツデータの送信要求を行う。
【００３２】
情報処理装置１は、第２リクエスタであるノード装置２から、最初の分割コンテンツデータの送信要求があると、要求された最初の分割コンテンツデータを、第２リクエスタへ送信する。第２リクエスタであるノード装置２は、投入コンテンツデータの最初の分割コンテンツデータを取得すると、第２ホルダノードとして、第２ルートノードに対して登録メッセージを送信する。この登録メッセージは、最初の分割コンテンツデータのキャッシュＩＤと第２リクエスタであるノード装置２のネットワークアドレスを含む情報である。これにより、最初の分割コンテンツデータの第２ルートノードは、第２ホルダノードのネットワークアドレスを取得することができる。以後、第２ルートノードは、第２リクエスタから要求があると第２ホルダノードのネットワークアドレスを第２リクエスタへ送信する。従って、情報処理装置１からノード装置２が最初の分割コンテンツデータを取得した後は、ノード装置２同士で最初の分割コンテンツデータの送受信が行われる。但し、この場合であっても、第２リクエスタが第２ホルダノードから最初の分割コンテンツデータを取得できないようなときには、第２リクエスタが情報処理装置１へこの最初の分割コンテンツデータの送信要求を行う。
【００３３】
第２リクエスタであるノード装置２は、最初の分割コンテンツデータを取得すると、この分割コンテンツデータを情報処理装置１と同じハッシュ関数でハッシュ化する。そして、ノード装置２は、このように演算したハッシュ値と、カタログ情報に含まれる最初の分割コンテンツデータのキャッシュＩＤに対応するハッシュ値とが一致するか否かを確認する。ハッシュ値が一致すると、最初の分割コンテンツデータを正常に受信したと判定して、登録メッセージを送信する。一方、ハッシュ値が一致しないとき、最初の分割コンテンツデータが正常に受信できていないと判定して、再度最初の分割コンテンツデータを記憶する第２ホルダノードを検索する。
【００３４】
最初の分割コンテンツデータ以降の次のセグメントの分割コンテンツデータも同様に、キャッシュＩＤに基づいてノード装置２により情報処理装置１から取得される。ノード装置２で取得された分割コンテンツデータは、その後、ノード装置２同士で送受信される。また、最初の分割コンテンツデータ以降の次のセグメントの分割コンテンツデータのハッシュ値も同様に、各ノード装置２においてカタログ情報から取得して分割コンテンツデータが正常に受信できたか否かが判断される。
【００３５】
［２．ノード装置２によるコンテンツデータの投入］
情報処理装置１が投入するコンテンツデータは、任意のノード装置２から情報処理装置１へ送信される。すなわち、ノード装置２は、コンテンツデータの提供装置として、情報処理装置１へコンテンツデータの投入要求を行い、情報処理装置１は投入要求が行われたコンテンツデータの投入処理を上述のように行う。これにより、投入コンテンツデータはノード装置２間で送受信可能な状態となる。
【００３６】
さらに、本実施形態の情報通信システムＳでは、コンテンツデータの投入処理を情報処理装置１のみならず、予め認定されたノード装置２でも行うことができるようにしている。以下、このように予め認定されたノード装置２を「認定ノード装置２」とも呼ぶ。
【００３７】
ノード装置２は、コンテンツデータを投入しようとするとき、まず、情報処理装置１に対して、コンテンツデータの投入要求を行う。
【００３８】
情報処理装置１は、ノード装置２からコンテンツデータの投入要求を受け付けたとき、上述したようにＰ２Ｐネットワークにコンテンツデータを投入する。しかし、情報処理装置１の稼働状況が所定以上あるとき、情報処理装置１は、ノード装置２に対してコンテンツデータの投入許可要求を行うように要求する。
【００３９】
情報処理装置１の稼働状況とは、情報処理装置１のＣＰＵの稼働率である。具体的には、情報処理装置１の稼働状況は、コンテンツデータの投入処理に伴って稼働するＣＰＵの負荷状態を意味する。情報処理装置１は、コンテンツデータの投入要求を受け付けたとき、ＣＰＵの負荷の大きさが所定閾値以下であれば、投入要求を受け付けたコンテンツデータの投入を許可する。その後、情報処理装置１は、ノード装置２からのコンテンツデータのアップロードを受け付ける。一方、情報処理装置１は、ＣＰＵの負荷の大きさが所定閾値を超えているとき、投入要求を受け付けたコンテンツデータの投入を許可しない。例えば、情報処理装置１は、すでにコンテンツ投入処理をしているときに、投入要求を受け付けたとき、投入処理の負荷の大きさが所定閾値を超えていると判定する。このとき、情報処理装置１は、ノード装置２に対してコンテンツデータの投入許可要求を行うように要求する。なお、情報処理装置１は、所定数のコンテンツデータに対するコンテンツ投入処理をしているときに、投入要求を受け付けたとき、投入処理の負荷の大きさが所定閾値を超えていると判定することもできる。また、情報処理装置１は、ＣＰＵの負荷状態が、例えば７０％を超えているときに、投入要求を受け付けたとき、投入処理の負荷の大きさが所定閾値を超えていると判定することもできる。
【００４０】
ノード装置２は、コンテンツデータの投入許可要求を行うように要求されると、コンテンツ情報と、認証情報とを情報処理装置１へ送信する。上記コンテンツ情報は、投入したいコンテンツデータのコンテンツ情報である。上記認証情報は、認定されているノード装置２であることを証明する認証情報である。
【００４１】
ここで、コンテンツ情報には、コンテンツ名と、コンテンツデータのファイルサイズと、コンテンツデータのハッシュ値とが含まれる。また、認証情報には、ノード装置２の証明書情報、ＭＡＣアドレス及びネットワークアドレスが含まれる。
【００４２】
情報処理装置１は、ノード装置２からコンテンツ情報と認証情報とを受信すると、認証情報をチェックする。情報処理装置１は認定ノード装置２の認証情報を記憶手段に記憶している。そして、情報処理装置１は、記憶手段に記憶されている認証情報の中に、ノード装置２から受信した認証情報があるか否かを確認する。記憶手段に記憶されている認証情報の中に受信した認証情報と一致するものがあると、情報処理装置１は、ノード装置２が認定ノード装置２であると判定する。そして、情報処理装置１は、ノード装置２が認定ノード装置２であるとき、ノード装置２によるコンテンツデータの投入を許可する。
【００４３】
ノード装置２は、情報処理装置１から当該ノード装置２によるコンテンツデータの投入が許可されたとき、当該ノード装置２がコンテンツデータの投入機能があるか否かを判定する。コンテンツデータの投入機能がない場合、ノード装置２は、情報処理装置１に対して投入機能があるノード装置２を問い合わせる。情報処理装置１は、投入機能があるノード装置２の情報を有しており、ノード装置２からの問い合わせに対して、投入機能があるノード装置２のネットワークアドレスを送信する。ノード装置２は、投入機能があるノード装置２のネットワークアドレスを受信すると、この投入機能があるノード装置２に対して、コンテンツデータを送信する。
【００４４】
投入機能があるノード装置２は、このように他のノード装置２が送信したコンテンツデータを受信すると、コンテンツ投入処理を行って、Ｐ２Ｐネットワークへコンテンツデータを投入する。また、情報処理装置１からノード装置によるコンテンツデータの投入が許可されたノード装置２において、コンテンツ投入機能がある場合も同様に、コンテンツデータの投入処理を行って、Ｐ２Ｐネットワークへコンテンツデータを投入する。
【００４５】
ここで、コンテンツデータの投入処理について具体的に説明する。コンテンツデータの投入処理は、情報処理装置１と認定ノード装置２とが協働して行う。そして、コンテンツデータの投入処理が完了するまで、情報処理装置１と認定ノード装置２とは１つのセッションを維持する。なお、コンテンツデータの投入要求を行った認定ノード装置２に投入機能があり、かつ、コンテンツデータの投入が許可されたときには、コンテンツデータの投入要求の時点から情報処理装置１と認定ノード装置２とは１つのセッションを維持する。
【００４６】
図２に示すように、コンテンツデータの投入処理を行うノード装置２は、投入コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する。さらに、ノード装置２は、これらの分割コンテンツデータをそれぞれ所定のハッシュ関数でハッシュ化してハッシュ値を求める。ノード装置２は、このように求めたハッシュ値を情報処理装置１へ送信する。
【００４７】
投入コンテンツデータの分割コンテンツデータのハッシュ値を受信した情報処理装置１は、各ハッシュ値に対する固有の識別情報を生成する。以下、この識別情報を「キャッシュＩＤ」と呼ぶ。情報処理装置１は、予め投入コンテンツデータのコンテンツＩＤを含むメタ情報ファイルを生成している。情報処理装置１は、各分割コンテンツデータに対応するキャッシュＩＤとハッシュ値とを関連づけてメタ情報ファイルに追加する。また、情報処理装置１は、各分割コンテンツデータのキャッシュＩＤをコンテンツデータの投入処理を行っているノード装置２へ送信する。ノード装置２は、キャッシュＩＤを受信すると、このキャッシュＩＤを、それぞれ対応する分割コンテンツデータのヘッダ情報に追加する。ノード装置２は、すべての分割コンテンツデータのヘッダ情報にキャッシュＩＤを追加すると、投入準備完了メッセージを情報処理装置１へ送信する。
【００４８】
図３に示すように、情報処理装置１は、ノード装置２から投入準備完了メッセージを受信すると、投入コンテンツデータのコンテンツＩＤをコンテンツデータの投入処理を行ったノード装置２へ送信する。また、情報処理装置１は、投入コンテンツデータのコンテンツＩＤとメタ情報ファイルをカタログ情報に追加して、各ノード装置２へ送信して配布する。さらに、情報処理装置１は、コンテンツＩＤと各分割コンテンツデータのキャッシュＩＤとを含むコンテンツ構成情報を生成する。
【００４９】
ノード装置２は、投入コンテンツデータのコンテンツＩＤを受信すると、このコンテンツＩＤを含む登録メッセージをネットワーク８へ送信する。これにより、コンテンツ投入処理が終了する。
【００５０】
以上のように、本実施形態に係るノード装置２では、情報処理装置１による処理負荷が大きいときであっても、コンテンツデータを投入することができる。これにより、コンテンツデータの投入を迅速に行うことができる。以下、情報処理装置１及びノード装置２の具体的構成及び動作の一例について説明する。
【００５１】
［３．情報処理装置１の具体的構成及び動作の説明］
まず、情報処理装置１の具体的構成及び動作の一例について説明する。
【００５２】
（情報処理装置１の構成について）
まず、情報処理装置１の具体的構成について説明する。図４は、本実施形態の情報通信システムＳに係る情報処理装置１の構成を示す図である。
【００５３】
情報処理装置１は、一般のサーバコンピュータを適用可能である。図４に示すように、情報処理装置１は、制御部１１と、記憶部１２と、通信部１３と、操作部１４とを備えている。制御部１１と、記憶部１２と、通信部１３と、操作部１４とは、システムバス１５を介して相互に接続されている。制御部１１は、情報処理装置１全体を制御する。記憶部１２は、各種情報を記憶する記憶領域を有する書き換え可能な記憶装置である。通信部１３は、ノード装置２と通信するための通信インターインターフェイスである。操作部１４は、各種設定入力を行うための操作部である。
【００５４】
制御部１１は、ＣＰＵ（Central Processing Unit）、内部メモリなどから構成される。この内部メモリには、ノード装置２との間でのコンテンツデータやその他のメッセージを送受信するための情報処理プログラムが格納されている。ＣＰＵは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、取得手段と、加工手段、負荷検出手段、判定手段、許可手段、送信手段等として機能する。なお、この情報処理プログラムは、例えば、ネットワーク８に接続された他のサーバから、通信部１３を介して、制御部１１の内部メモリにダウンロードされるようにしてもよい。また、この情報処理プログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部１１の内部メモリに読み込まれるようにしてもよい。
【００５５】
記憶部１２は、コンテンツデータをノード装置２からＰ２Ｐネットワークへ投入することができるノード装置２の認証情報や投入機能を有するノード装置２のネットワークアドレスなどを記憶する。
【００５６】
（情報処理装置１の具体的動作について）
以上のように構成された情報処理装置１の動作を図面を参照して具体的に説明する。なお、以下の各処理は、情報処理装置１の制御部１１が上述した各手段等として機能することによって実行されるものである。
【００５７】
情報処理装置１においてメイン電源スイッチ（図示せず）がＯＮされたときやリセットスイッチ（図示せず）が操作されたとき、情報処理装置としての処理を開始する。このとき、制御部１１のＣＰＵは、内部メモリに記憶した情報処理プログラムを実行状態として、制御部１１としての機能を動作状態する。
【００５８】
まず、制御部１１は、図５に示すように、通信部１３を介してノード装置２からコンテンツデータの投入要求を受け付けたか否かを判定する（ステップＳ１０）。コンテンツデータの投入要求を受け付けたと判定すると（ステップＳ１０：ＹＥＳ）、制御部１１は、投入要求処理を実行する（ステップＳ１１）。この投入要求処理は、図６に示すステップＳ２０〜Ｓ２５の処理であり、後で詳述する。
【００５９】
ステップＳ１１の処理が終了したとき、又は、コンテンツデータの投入要求を受け付けていないと判定したとき（ステップＳ１０：ＮＯ）、制御部１１は、通信部１３を介してノード装置２からコンテンツデータの投入許可要求を受け付けたか否かを判定する（ステップＳ１２）。
【００６０】
コンテンツデータの投入許可要求を受け付けたと判定すると（ステップＳ１２：ＹＥＳ）、制御部１１は、投入許可要求処理を実行する（ステップＳ１３）。この投入許可要求処理は、図７に示すステップＳ３０〜Ｓ４４の処理であり、後で詳述する。コンテンツデータの投入許可要求には、認証情報とコンテンツ情報とが含まれており、制御部１１は、この認証情報とコンテンツ情報を記憶部１２に記憶する。
【００６１】
ステップＳ１３の処理が終了したとき、又は、コンテンツデータの投入許可要求を受け付けていないと判定したとき（ステップＳ１２：ＮＯ）、制御部１１は、ノード装置２から、通信部１３を介して投入機能があるノード装置の問い合わせを受け付けたか否かを判定する（ステップＳ１４）。
【００６２】
投入機能があるノード装置の問い合わせを受け付けたと判定すると（ステップＳ１４：ＹＥＳ）、制御部１１は、各ノード装置２に対して、投入機能があるか否かの情報の送信を通信部１３を介して要求する。ノード装置２は、投入機能があるときには、情報処理装置１に対してその旨の通知を行う。これにより、制御部１１は、投入機能があるノード装置２のネットワークアドレスを通信部１３を介して取得する。制御部１１は、取得したネットワークアドレスの情報を問い合わせ元のノード装置２へ通信部１３を介して送信する（ステップＳ１５）。なお、予め投入機能を持つノード装置のネットワークアドレスの情報を記憶部１２に記憶するようにしてもよい。この場合、制御部１１は、投入機能があるノード装置の問い合わせを受けたと判定すると、投入機能があるノード装置のネットワークアドレスの情報を記憶部１２から読み出し、このネットワークアドレスの情報を問い合わせ元のノード装置２へ通信部１３を介して送信することになる。投入機能があるノード装置の問い合わせは、後述するように、情報処理装置１によりコンテンツデータの投入が許可されないノード装置２から行われるものである。このように、制御部１１は、情報処理装置１によりコンテンツデータの投入が許可されないノード装置２から取得した認証情報が記憶部１２に記憶した認証情報と一致するか否かを判定する。制御部１１は、認証情報が一致するとき、このノード装置２へ投入機能を有するノード装置２の情報を通信部１３を介して送信する送信手段として機能する。
【００６３】
ステップＳ１５の処理が終了したとき、又は、投入機能があるノード装置の問い合わせを受け付けていないと判定したとき（ステップＳ１４：ＮＯ）、制御部１１は、メイン処理の終了指示を検出したか否かを判定する（ステップＳ１６）。例えば、情報処理装置１の電源がＯＦＦ状態へ移行したとき、制御部１１は、終了指示を検知する。制御部１１は、終了指示を検知したと判定すると（ステップＳ１６：Ｙｅｓ）、メイン処理を終了し、一方、終了指示を検知していないと判定すると（ステップＳ１６：Ｎｏ）、ステップＳ１０からの処理を繰り返す。
【００６４】
本実施形態では、投入機能を持たせるノード装置２を、情報通信システムＳを構成する複数のノード装置２のうち予め認証された一部のノード装置２としている。これは、情報通信システムＳを構成するノード装置２の全てに投入機能を持たせると、コンテンツデータを不正に投入するノード装置２がでてくる可能性が高くなるためである。このように、投入機能を持たせるノード装置２は、情報通信システムＳを構成する複数のノード装置２のうち予め認証された一部のノード装置２に限定することにより、不正にコンテンツデータを投入することを防止している。
【００６５】
次に、図５に示すステップＳ１１で実行される投入要求処理について図６のフローチャートを参照して具体的に説明する。
【００６６】
図６に示すように、投入要求処理を開始すると、制御部１１は、稼働情報を取得する（ステップＳ２０）。稼働情報とは、情報処理装置１の稼働状況の情報であり、コンテンツデータの投入処理を行うために稼働するＣＰＵにかかる負荷状態の情報である。ここでは、コンテンツデータの投入処理により生じるＣＰＵの稼働率を稼働情報としているが、コンテンツデータの投入処理状態に応じた情報であればよい。また、稼働情報は、コンツデータの投入処理により生じるもの以外を含めたＣＰＵの稼働率としてもよい。また、ＣＰＵの稼働率ではなく、通信部１３とネットワーク８との間の通信帯域に対する使用帯域の割合を、稼働情報としてもよい。
【００６７】
次に、制御部１１は、稼働情報が予め設定した上限値（閾値）を超えているか否かを判定する（ステップＳ２１）。このように、制御部１１は、ネットワークを介してノード装置２から、コンテンツデータの投入要求を受け付けたとき、コンテンツデータ投入処理の負荷の大きさが所定閾値以下であるか否かを判定する判定手段として機能する。なお、本実施形態では、判定手段は、コンテンツデータ投入処理が実行されているときに、投入要求を受け付けたとき、投入処理の負荷の大きさが所定閾値以下ではないと判定する。
【００６８】
ステップＳ２１の処理において、稼働情報が予め設定した上限値を超えていると判定すると（ステップＳ２１：ＹＥＳ）、制御部１１は、投入要求を行ったノード装置２に対して、通信部１３を介し、コンテンツデータの投入許可要求を行うように要求して（ステップＳ２２）、投入要求処理を終了する。
【００６９】
一方、稼働情報が予め設定した上限値以下であると判定すると（ステップＳ２１：ＮＯ）、制御部１１は、投入要求を行ったノード装置２へ通信部１３を介してコンテンツデータのアップロード要求を行う（ステップＳ２３）。その後、制御部１１は、このアップロード要求に対して、ノード装置２から送信されるコンテンツデータ及びコンテンツ情報を通信部１３を介して取得し、記憶部１２に記憶して保存する（ステップＳ２４）。制御部１１は、取得したコンテンツデータを所定のハッシュ関数でハッシュ化して求めたコンテンツデータのハッシュ値とコンテンツ情報に含まれるハッシュ値とが一致するか否かを判定する。ハッシュ値が一致するとき、制御部１１は、コンテンツデータを記憶部１２に記憶して保存する。一方、ハッシュ値が一致しないと判定すると、制御部１１は、ノード装置２に対して再度コンテンツデータをアップロードするように要求する。なお、このとき、制御部１１は、ノード装置２アップロードを要求せずに、アップロードエラーをノード装置２へ通信部１３を介して送信するようにしてもよい。このように、制御部１１は、通信部１３を介して、コンテンツデータを提供するノード装置２から、コンテンツデータを取得する取得手段として機能する。
【００７０】
ステップＳ２４の処理が終了すると、制御部１１は、記憶部１２に記憶したコンテンツデータの投入処理を行う（ステップＳ２５）。コンテンツデータの投入処理は、次のように行われる。なお、この処理を終了すると、制御部１１は、投入要求処理を終了する。
【００７１】
まず、制御部１１は、ノード装置２から取得した投入コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する。次に、制御部１１は、各分割コンテンツデータのキャッシュＩＤを生成する。制御部１１は、この生成した複数のキャッシュＩＤを、それぞれ対応する分割コンテンツデータのヘッダ情報に追加する。このように制御部１１は、取得したコンテンツデータを複数のノード装置２間で送受信可能に加工する加工手段として機能する。また、制御部１１は、これらの分割コンテンツデータをそれぞれ所定のハッシュ関数でハッシュ化してハッシュ値を求める。さらに、制御部１１は、投入コンテンツデータのコンテンツ名を含むメタ情報ファイルを生成し、その後、各分割コンテンツデータのキャッシュＩＤとそのハッシュ値とを関連づけたメタ情報ファイルに追加する。そして、このメタ情報ファイルに署名を入れてカタログ情報に追加する。そして、制御部１１は、投入コンテンツデータのカタログ情報に各ノード装置２へ通信部１３を介して送信して配布する。また、制御部１１は、投入コンテンツデータのコンテンツＩＤと各分割コンテンツデータのキャッシュＩＤとを含むコンテンツ構成情報を生成する。
【００７２】
ステップＳ２１において、稼働情報が予め設定した上限値を超えていると判定すると（ステップＳ２１：ＹＥＳ）、制御部１１は、投入要求を行ったノード装置２に対して、コンテンツデータの投入許可要求を行うように通信部１３を介して要求する（ステップＳ２２）。この処理を終了すると、制御部１１は、投入要求処理を終了する。このように、制御部１１は、コンテンツデータ投入処理の負荷の大きさが所定閾値以下であると判定されたとき、投入要求を受け付けたコンテンツデータの投入を許可する許可手段として機能する。一方、コンテンツデータ投入処理の負荷の大きさが所定閾値以下であると判定されなかったとき、制御部１１は、投入要求を受け付けたコンテンツデータの投入を許可しない許可手段として機能する。
【００７３】
なお、本実施形態では、制御部１１は、コンテンツ投入処理が実行されているときに、投入要求を受け付けたとき、投入処理の負荷の大きさが所定閾値以下ではないと判定することとしているが、これに限られず、ＣＰＵなどの性能に応じて適宜設定される。
【００７４】
次に、図５に示すステップＳ１３で実行される投入許可要求処理について図７のフローチャートを参照して具体的に説明する。
【００７５】
図７に示すように、投入許可要求処理を開始すると、制御部１１は、認証処理を開始する（ステップＳ３０）。この認証処理は、図８に示すステップＳ５０〜Ｓ５３の処理であり、後で詳述する。
【００７６】
次に、制御部１１は、ステップＳ３０で行った認証処理において、認証が成功したか否かを判定する（ステップＳ３１）。この処理において、制御部１１は、内部メモリに認証失敗のフラグがたっているときには、認証成功していないと判定する。認証が成功したと判定すると（ステップＳ３１：ＹＥＳ）、制御部１１は、投入コンテンツデータのコンテンツＩＤを生成して記憶部１２に記憶する。また、制御部１１は、投入コンテンツデータのコンテンツＩＤを含むメタ情報ファイルを作成する（ステップＳ３２）。次に、制御部１１は、投入許可要求を行ったノード装置２に対して、通信部１３を介して投入許可メッセージを送信して、投入許可要求を行ったノード装置２に投入許可を通知する（ステップＳ３３）。以下、投入許可要求を行ったノード装置２を「要求ノード装置２」と呼ぶ。
【００７７】
その後、制御部１１は、投入コンテンツデータにおける分割コンテンツデータのハッシュ値を要求ノード装置２から受信したか否かを判定する（ステップＳ３４）。この処理において、ハッシュ値を受信したと判定すると（ステップＳ３４：ＹＥＳ）、制御部１１は、受信したハッシュ値を記憶部１２に記憶し、このハッシュ値固有の識別情報であるキャッシュＩＤを生成する（ステップＳ３５）。さらに、制御部１１は、受信したハッシュ値と生成したキャッシュＩＤとを関連づけてメタ情報ファイルへ追加して、記憶部１２に記憶する（ステップＳ３６）。その後、制御部１１は、生成したキャッシュＩＤを要求ノード装置２へ通信部１３を介して送信する（ステップＳ３７）。
【００７８】
ステップＳ３７の処理が終了したとき、又は、ステップＳ３４においてハッシュ値を受信しなかったと判定したとき（ステップＳ３１：ＮＯ）、制御部１１は、投入準備完了の通知があったか否か、すなわち要求ノード装置２から投入準備完了メッセージを通信部１３を介して受信したか否かを判定する（ステップＳ３８）。この処理において、投入準備完了の通知があったと判定すると（ステップＳ３８：ＹＥＳ）、制御部１１は、記憶部１２に記憶しているメタ情報ファイルを読み出して、署名を入れてカタログ情報に追加する（ステップＳ３９）。カタログ情報は、Ｐ２Ｐネットワークに投入されてノード装置２間で送受信可能となったコンテンツデータの情報であり、記憶部１２に記憶されている。署名を入れてメタ情報ファイルをカタログ情報に追加すると、制御部１１は、このカタログ情報を各ノード装置２へ通信部１３を介して送信する（ステップＳ４０）。そして、制御部１１は、要求ノード装置２に投入完了メッセージを通信部１３を介して送信して、要求ノード装置２に投入完了を通知し（ステップＳ４１）、投入許可要求処理を終了する。
【００７９】
ステップＳ３８において、投入準備完了の通知がないと判定すると（ステップＳ３８：ＮＯ）、制御部１１は、セッションタイムアウトになったか否かを判定する（ステップＳ４２）。この処理において、制御部１１は、要求ノード装置２との間での情報のやりとりが行われない時間が予め設定された時間になったとき、セッションタイムアウトになったと判定する。
【００８０】
セッションタイムアウトになったと判定すると（ステップＳ４２：ＹＥＳ）、制御部１１は、要求ノード装置２に投入失敗メッセージを通信部１３を介して送信し、要求ノード装置２に投入失敗を通知し（ステップＳ４３）、投入許可要求処理を終了する。また、同様に、ステップＳ３１において、認証が成功しなかったと判定したとき（ステップＳ３１：ＮＯ）、制御部１１は、要求ノード装置２に投入失敗メッセージを通信部１３を介して送信し、要求ノード装置２に投入失敗を通知し（ステップＳ４４）、投入許可要求処理を終了する。
【００８１】
次に、図７に示すステップＳ３０で実行される認証処理について図８のフローチャートを参照して具体的に説明する。
【００８２】
図８に示すように、認証処理を開始すると、制御部１１は、要求ノード装置２に投入権限があるか否かを判定する（ステップＳ５０）。記憶部１２には、認定されたノード装置のノードＩＤが記憶されており、制御部１１は、要求ノード装置２から送信されるノードＩＤの情報が記憶部１２に記憶されているノードＩＤの一つと一致するとき、要求ノード装置２に投入権限があると判定する。なお、投入権限があるか否かは、ノードＩＤの他、特別に割り当てられたコードやその他のＩＤを用いるようにすることもできる。
【００８３】
この処理において、要求ノード装置２に投入権限があると判定すると（ステップＳ５０：ＹＥＳ）、制御部１１は、要求ノード装置２から送信されたコンテンツ情報に含まれる証明書が正しいか否かを判定する（ステップＳ５１）。記憶部１２には、各認定ノード装置２のノードＩＤに関連づけて証明書が記憶されており、要求ノード装置２から送信される証明書が、記憶部１２に記憶した認定ノード装置２の証明書と一致するとき、要求ノード装置２から送信された証明書が正しいと判定する。
【００８４】
要求ノード装置２から送信された証明書が正しいと判定すると（ステップＳ５１：ＹＥＳ）、制御部１１は、要求ノード装置２のＭＡＣアドレスが登録情報と一致するか否かを判定する（ステップＳ５２）。記憶部１２には、各認定ノード装置２のノードＩＤに関連づけてＭＡＣアドレスが記憶されており、制御部１１は、要求ノード装置２から送信されるＭＡＣアドレスが、記憶部１２に記憶した認定ノード装置２のＭＡＣアドレスと一致するとき、登録情報と一致すると判定する。
【００８５】
ステップＳ５２において、要求ノード装置２のＭＡＣアドレスが登録情報と一致すると判定すると（ステップＳ５２：ＹＥＳ）、制御部１１は、要求ノード装置２のネットワークアドレスが登録情報と一致するか否かを判定する（ステップＳ５３）。記憶部１２には、各認定ノード装置のノードＩＤに関連づけてネットワークアドレスが記憶されており、制御部１１は、要求ノード装置２から送信されるネットワークアドレスが、記憶部１２に記憶している認定ノード装置のネットワークアドレスと一致するとき、登録情報と一致すると判定する。
【００８６】
ステップＳ５３において、要求ノード装置２から送信されたネットワークアドレスが正しいと判定すると（ステップＳ５３：ＹＥＳ）、制御部１１のＣＰＵは、内部メモリに認証成功のフラグを立てて、認証処理を終了する。
【００８７】
また、要求ノード装置２に投入権限がない（ステップＳ５０：ＮＯ）か、証明書がただしくない（ステップＳ５１：ＮＯ）か、ＭＡＣアドレスやネットワークアドレスが登録情報と一致しないか（ステップＳ５２：ＮＯ，ステップＳ５３：ＮＯ）か、いずれかの場合、制御部１１のＣＰＵは、内部メモリに認証失敗のフラグを立てて、認証処理を終了する。
【００８８】
なお、上述においては、証明書が正しく、ＭＡＣアドレス及びネットワークアドレスが登録情報と一致したときに、認証成功のフラグを立てることしたが、これは一例に過ぎない。例えば、証明書、ＭＡＣアドレス及びネットワークアドレスの全てについてではなく、いずれか１つ又は２つのみにより認証成功か認証失敗かを判断してもよい。
【００８９】
［４．ノード装置２の具体的構成及び動作の説明］
以下、図面を参照して、上述したノード装置２の具体的構成及び動作の一例について説明する。
【００９０】
（ノード装置２の構成について）
ノード装置２は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図９に示すように、制御部２１、記憶部２２、通信部２３、操作部２４を備えている。なお、制御部２１、記憶部２２、通信部２３、操作部２４は、システムバス２５を介して相互に接続されている。なお、図示しないが通信部２３を介して取得したコンテンツデータを再生する再生部も備えている。
【００９１】
制御部２１は、ＣＰＵ（Central Processing Unit）、内部メモリから構成される。この内部メモリには、情報処理プログラムが格納されており、ＣＰＵは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、要求手段、送信手段、取得手段、加工手段、通知手段等として機能する。また、制御部２１は、情報処理装置１や他のノード装置２から取得した複数の分割コンテンツデータを合成して、分割されたコンテンツデータを復元する復元手段としても機能する。なお、この情報処理プログラムは、例えば、ネットワーク８に接続されたサーバ（例えば、情報処理装置１）から、通信部２３を介して、制御部２１の内部メモリにダウンロードされるようにしてもよい。また、例えば、この情報処理プログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部２１の内部メモリに読み込まれるようにしてもよい。
【００９２】
記憶部２２は、情報処理装置１やノード装置２から取得した分割コンテンツデータや復元したコンテンツデータを記憶するコンテンツ記憶領域、コンテンツＩＤやキャッシュＩＤとコンテンツホルダのネットワークアドレスとを関連づけたインデックステーブルを記憶するテーブル記憶領域などを有している。
【００９３】
（ノード装置２の動作について）
以上のように構成されたノード装置２の動作を図面を参照して具体的に説明する。なお、理解を容易にするため、本実施形態の特徴的部分であるコンテンツデータの投入処理を主として説明し、その他の処理は一部省略している。また、以下の各処理は、ノード装置２の制御部２１が上述した各手段等として機能することによって実行されるものである。
【００９４】
ノード装置２においてメイン電源スイッチ（図示せず）がＯＮされたときやリセットスイッチ（図示せず）が操作されたとき、制御部２１のＣＰＵは内部メモリに記憶した情報処理プログラムを実行状態として、制御部２１としての機能を動作状態にして、処理を開始する。
【００９５】
処理を開始すると、図１０に示すように、制御部２１は、コンテンツデータの投入指示があったか否かを判定する（ステップＳ６０）。この処理において、制御部２１は、操作部２４への操作により、所定のコンテンツデータの投入指示操作があったときに、コンテンツデータの投入指示があったと判定する。
【００９６】
ステップＳ６０においてコンテンツデータの投入指示があったと判定すると（ステップＳ６０：ＹＥＳ）、制御部２１は、情報処理装置１に対して通信部２３を介してコンテンツデータの投入要求を行う（ステップＳ６１）。このように、制御部２１は、通信部２３を介して情報処理装置にコンテンツデータの投入要求を行う要求手段として機能する。
【００９７】
その後、制御部２１は、情報処理装置１から通信部２３を介してコンテンツデータのアップロード要求があったか否かを判定する（ステップＳ６２）。この処理において、アップロード要求があったと判定すると（ステップＳ６２：ＹＥＳ）、制御部２１は、記憶部２２から投入指示のあったコンテンツデータを読み出し、読み出したコンテンツデータを通信部２３を介して情報処理装置１へ送信する（ステップＳ６３）。このように、制御部２１は、前記許可手段によりコンテンツデータの投入が許可されたとき、通信部２３を介してコンテンツデータを情報処理装置１へ送信する送信手段として機能する。
【００９８】
一方、ステップＳ６２の処理において、アップロードが要求ないと判定すると（ステップＳ６２：ＮＯ）、制御部２１は、投入許可要求処理を行う（ステップＳ６４）。この投入許可要求処理は、図１１に示すステップＳ８０〜Ｓ８５の処理であり、後で詳述する。なお、制御部２１は、情報処理装置１から情報処理装置１から投入許可要求を行うように要求があったときに、アップロードが要求ないとの判定を行う。
【００９９】
ステップＳ６３の処理が終了したとき、又は、ステップＳ６０においてコンテンツデータの投入指示がないと判定すると（ステップＳ６０：ＮＯ）、制御部２１は、他のノード装置２から通信部２３を介してコンテンツデータのダウンロード要求があったか否かを判定する（ステップＳ６５）。この処理において、ダウンロード要求があると判定すると（ステップＳ６５：ＹＥＳ）、制御部２１は、情報処理装置１に対して、通信部２３を介し、コンテンツデータの投入許可要求を行う（ステップＳ６６）。そして、制御部２１は、情報処理装置１から投入許可があったか否かを判定する（ステップＳ６７）。すなわち、ステップＳ６６で行った投入許可要求に対する投入許可のメッセージを通信部２３を介して受信したか否かを判定する。この処理において、投入許可があったと判定すると（ステップＳ６７：ＹＥＳ）、制御部２１は、ダウンロード要求を行った他のノード装置２からコンテンツデータを通信部２３を介して受信し、記憶部２２に記憶する（ステップＳ６８）。そして、制御部２１は、受信したコンテンツデータに対してコンテンツ加工処理を実行する（ステップＳ６９）。このコンテンツ加工処理は、図１２に示すステップＳ９０〜Ｓ１００の処理であり、後で詳述する。
【０１００】
また、ステップＳ６７の処理において、情報処理装置１から投入許可がないと判定すると（ステップＳ６７：ＮＯ）、制御部２１は、ダウンロード要求を行った他のノード装置２に対してコンテンツデータのダウンロードを拒否する旨の応答を通信部２３を介して行う（ステップＳ７０）。
【０１０１】
ステップＳ６４，Ｓ６９，Ｓ７０の処理が終了したとき、又は、ステップＳ６５においてダウンロード要求がないと判定したとき（ステップＳ６５：ＮＯ）、制御部２１は、終了指示を検出したかを判定する（ステップＳ７１）。例えば、ノード装置２の電源がＯＦＦ状態へ移行したとき、制御部２１は、終了指示を検知する。終了指示を検知したと判定すると（ステップＳ７１：Ｙｅｓ）、制御部２１は、メイン処理を終了し、一方、終了指示を検知していないと判定すると（ステップＳ７１：Ｎｏ）、制御部２１は、ステップＳ６０からの処理を繰り返す。
【０１０２】
次に、図１０に示すステップＳ６４で実行される投入許可要求処理について図１１のフローチャートを参照して具体的に説明する。
【０１０３】
図１１に示すように、投入許可要求処理を開始すると、制御部２１は、情報処理装置１に対して、通信部２３を介し、投入許可要求を行う（ステップＳ８０）。
【０１０４】
次に、制御部２１は、投入許可があるか否かを判定する（ステップＳ８１）。この処理において、制御部２１は、情報処理装置１から通信部２３を介して投入許可メッセージを受信したときに、投入許可があると判定する。
【０１０５】
投入許可があると判定すると（ステップＳ８１：ＹＥＳ）、制御部２１は、コンテンツデータの投入機能があるか否かを判定する（ステップＳ８２）。情報通信システムＳを構成する複数のノード装置２のうち少なくとも一部のノード装置２は、コンテンツデータの投入機能がある。コンテンツデータの投入機能があるノード装置２の制御部２１は、コンテンツデータの投入機能があると判定する。一方、コンテンツデータの投入機能がないノード装置２の制御部２１は、コンテンツデータの投入機能がないと判定する。
【０１０６】
ステップＳ８２において、コンテンツデータの投入機能があると判定すると（ステップＳ８２：ＹＥＳ）、制御部２１は、コンテンツ加工処理を行う（ステップＳ８３）。このコンテンツ加工処理は、図１２に示すステップＳ９０〜Ｓ１００の処理であり、後で詳述する。
【０１０７】
一方、ステップＳ８２において、コンテンツデータの投入機能がないと判定すると（ステップＳ８２：ＮＯ）、制御部２１は、情報処理装置１に対して、通信部２３を介し、投入機能が有るノード装置２を問い合わせる。そして、上記問い合わせに対して情報処理装置１から投入機能があるノード装置２のネットワークアドレスを通信部２３を介して取得する（ステップＳ８４）。なお、情報処理装置１から取得する情報は、ノード装置２にアクセスすることができれば、ノード装置２のネットワークアドレスでなくてもよく、例えば、ノード装置２のノードＩＤであってもよい。このように、制御部２１は、情報処理装置１によりコンテンツデータの投入が許可されないとき、複数のノード装置２間でコンテンツデータを送受信可能に加工できる他のノード装置２の情報を取得する取得手段として機能する。
【０１０８】
ステップＳ８４の処理が終了すると、ネットワークアドレスを取得した投入機能があるノード装置２に通信部２３を介してアクセスし、このノード装置２に対して、通信部２３を介し、投入指示のあったコンテンツデータをアップロードする（ステップＳ８５）。このように、制御部２１は、複数のノード装置２間でコンテンツデータを送受信可能に加工できる他のノード装置２の情報が取得されたとき、このノード装置２へ通信部２３を介してコンテンツデータを送信する送信手段として機能する。
【０１０９】
ステップＳ８３，Ｓ８５の処理が終了したとき、又は、ステップＳ８１において投入許可がないと判定したとき（ステップＳ８１：ＮＯ）、制御部２１は、投入許可要求処理を終了する。
【０１１０】
次に、図１０に示すステップＳ６９及び図１１に示すステップＳ８３で実行されるコンテンツ加工処理について図１２のフローチャートを参照して具体的に説明する。
【０１１１】
図１２に示すように、コンテンツ加工処理を開始すると、制御部２１は、投入コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する（ステップＳ９０）。
【０１１２】
次に、制御部２１は、分割コンテンツデータのハッシュ値を演算する（ステップＳ９１）。この処理において、制御部２１は、ステップＳ９０で新たに生成した分割コンテンツデータを所定のハッシュ関数でハッシュ化してハッシュ値を求める。なお、分割コンテンツデータのハッシュ値は、分割コンテンツデータ全体をハッシュ化したものでも、分割コンテンツデータの一部分をハッシュ化したものであってもよい。
【０１１３】
次に、制御部２１は、ステップＳ９１で演算したハッシュ値を、通信部２３を介し、情報処理装置１へ送信する（ステップＳ９２）。その後、制御部２１は、ステップＳ９２で送信したハッシュ値に対応する分割コンテンツデータ固有の識別情報であるキャッシュＩＤを通信部２３を介して受信したか否かを判定する（ステップＳ９３）。この処理において、キャッシュＩＤを受信したと判定すると（ステップＳ９３：ＹＥＳ）、制御部２１は、受信したキャッシュＩＤをこのキャッシュＩＤに対応する分割コンテンツデータのヘッダ情報に追加して埋め込み（ステップＳ９４）、処理をステップＳ９５に移行する。
【０１１４】
ステップＳ９５において、制御部２１は、キャッシュＩＤのない分割コンテンツデータがあるか否かを判定する。すなわち、キャッシュＩＤがヘッダ情報に追加されていない分割コンテンツデータがあるか否かを判定する。そして、キャッシュＩＤのない分割コンテンツデータがあると判定すると（ステップＳ９５：ＹＥＳ）、制御部２１は、ステップＳ９１〜Ｓ９４の処理を行って、キャッシュＩＤのない分割コンテンツデータにキャッシュＩＤを埋め込む。
【０１１５】
一方、キャッシュＩＤのない分割コンテンツデータがないと判定すると（ステップＳ９５：ＮＯ）、制御部２１は、情報処理装置１に対して、通信部２３を介し、投入準備完了メッセージを送信し、情報処理装置１に投入準備完了を通知する（ステップＳ９６）。なお、このとき、制御部２１は、投入コンテンツデータのコンテンツＩＤと各分割コンテンツデータのキャッシュＩＤとを含むコンテンツ構成情報を生成する。
【０１１６】
次に、制御部２１は、投入完了の通知があったか否かを判定する（ステップＳ９７）。この処理において、制御部２１は、投入完了メッセージを情報処理装置１から通信部２３を介して受信したときに、投入完了の通知があったと判定する。
【０１１７】
ステップＳ９７において、投入完了の通知があったと判定すると（ステップＳ９７：ＹＥＳ）、制御部２１は、投入処理を行ったコンテンツデータのコンテンツＩＤを含む登録メッセージ及び各キャッシュＩＤを含む登録メッセージを通信部２３を介して送信する（ステップＳ９８）。
【０１１８】
このように、制御部１１は、コンテンツデータを複数のノード装置２間で送受信可能に加工する加工手段と、加工したコンテンツデータを記憶部２２に記憶していることを、他のノード装置２へ通信部２３を介して通知する通知手段として機能する。また、制御部１１は、他のノード装置２からコンテンツデータの送信要求があったとき、記憶部２２に記憶したコンテンツデータを、送信要求を行った他のノード装置へ、通信部２３を介して送信する送信手段として機能する。
【０１１９】
一方、投入完了の通知がないと判定すると（ステップＳ９７：ＮＯ）、制御部２１は、セッションタイムアウトになったか否かを判定する（ステップＳ１００）。また、ステップＳ９３において、キャッシュＩＤを受信していないと判定すると（ステップＳ９３：ＮＯ）、セッションタイムアウトになったか否かを判定する（ステップＳ９９）。このステップＳ９９，Ｓ１００の処理において、制御部２１は、情報処理装置１との間での情報のやりとりが行われない時間が予め設定された時間になったとき、セッションタイムアウトになったと判定する。ステップＳ１００において、セッションタイムアウトになっていないと判定すると（ステップＳ１００：ＮＯ）、制御部２１は、処理をステップＳ９７に戻す。また、セッションタイムアウトになっていないと判定すると（ステップＳ９９：ＮＯ）、制御部２１は、処理をステップＳ９３に戻す。
【０１２０】
ステップＳ９８の処理が終了したとき、セッションタイムアウトになったと判定したとき（ステップＳ９９：ＹＥＳ，Ｓ１００：ＹＥＳ）、制御部２１は、コンテンツ加工処理を終了する。
【０１２１】
以上のように、本実施形態に係る情報通信システムＳでは、コンテンツデータを提供する提供装置は、コンテンツデータの投入要求が情報処理装置により許可されないときでも、コンテンツデータをノード装置間で送受信可能にする加工を行うことができる他の提供装置によりコンテンツデータを投入することができる。そのため、従来の情報通信システムに比べ、コンテンツデータの投入を迅速に行うことができる。
【０１２２】
［５．その他の実施形態］
上記実施形態においては、ノード装置２が提供装置として機能する例を説明したが、ノード装置２ではない装置が提供装置として機能するようにしてもよい。また、ノード装置２とノード装置２ではない別の装置が共に提供装置として機能するようにしてもよい。
【０１２３】
例えば、図１３に示すように、ノード装置２ではない装置を提供装置１０ａ，１０ｂとし、この提供装置１０ａ，１０ｂからコンテンツデータの提供を行うようにしてもよい。この場合、これらの提供装置１０ａ，１０ｂも、上述したノード装置２と同様に動作することになる。
【０１２４】
提供装置１０ａから情報処理装置１へコンテンツデータの投入要求を行い（ステップＳ２００）、情報処理装置１は、投入処理の負荷の大きさが所定閾値を超えているとき、提供装置１０ａにコンテンツデータの投入許可要求を行うように要求する（ステップＳ２０１）。これに対して、提供装置１０ａは、情報処理装置１に対してコンテンツデータの投入許可要求を行う。提供装置１０ａにコンテンツデータの投入機能がなく、提供装置１０ｂにコンテンツデータの投入機能がある場合、提供装置１０ａは情報処理装置１から投入機能がある提供装置の情報を取得する（ステップＳ２０２）。そして、提供装置１０ａは提供装置１０ｂにコンテンツデータをアップロードし（ステップＳ２０３）、提供装置１０ｂは、提供装置１０ａから情報処理装置１へコンテンツデータの投入要求を行う（ステップＳ２０４）。情報処理装置１において投入処理の負荷の大きさが所定閾値を超えているとき、情報処理装置１は提供装置１０ｂに対して提供装置１０ａから取得したコンテンツデータを投入するように要求する（ステップＳ２０５）。提供装置１０ｂは、提供装置１０ａから取得したコンテンツデータを分割する等の加工を施し、Ｐ２Ｐネットワークへ加工したコンテンツデータを投入する（ステップＳ２０６）。
【０１２５】
なお、上述した各実施形態の説明は本発明の一例であり、本発明は上述の実施形態に限定されることはない。このため、上述した各実施形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【０１２６】
例えば、上述の実施形態では、コンテンツデータの加工処理として、コンテンツデータを分割して分割コンテンツデータを生成し、この分割コンテンツデータのヘッダ情報にキャッシュＩＤを付加するようにしたがこれに限られず、コンテンツデータを複数のノード装置２間で送受信可能に加工するものであればどのような加工処理であってもよい。
【０１２７】
また、上述の実施形態では、投入コンテンツデータのコンテンツＩＤを含むメタ情報ファイルを生成し、その後、分割コンテンツデータのキャッシュＩＤとハッシュ値とを関連づけてメタ情報ファイルに追加したが、その順番は逆でもよい。すなわち、分割コンテンツデータのキャッシュＩＤとハッシュ値とを関連づけてメタ情報ファイルを生成し、その後、メタ情報ファイルにコンテンツＩＤを含ませるようにしてもよい。
【０１２８】
また、上述の実施形態では、投入コンテンツデータを取得したコンテンツデータのコンテンツＩＤを含む登録メッセージ及び各キャッシュＩＤを含む登録メッセージをそれぞれ送信するようにしたが、各分割コンテンツデータが取得できればどのような構成でもよい。たとえば、コンテンツホルダとなったノード装置２の制御部２１は、投入コンテンツデータのキャッシュＩＤを含む登録メッセージを送信することなく、コンテンツＩＤを含む登録メッセージのみを送信するようにしてもよい。登録メッセージを送信するノード装置２は、投入コンテンツデータのコンテンツ構成情報や分割コンテンツデータをすべて記憶している。従って、コンテンツデータのコンテンツＩＤと所定の関係を有するノードＩＤのノード装置２をルートノードとし、リクエスタの制御部２１が、コンテンツ構成情報や分割コンテンツデータを有するコンテンツホルダのネットワークアドレスを取得することができる。
【０１２９】
また、上述の実施形態では、メタ情報ファイルを情報処理装置１で生成する例を説明したが、以下のように、コンテンツデータを投入するノード装置２でメタ情報ファイルを生成するようにしてもよい。
【０１３０】
コンテンツデータを投入するノード装置２の制御部２１は、分割コンテンツデータのハッシュ値とキャッシュＩＤとを関連づけてメタ情報ファイルとして生成する。このとき、制御部２１は、投入コンテンツデータのコンテンツ名をメタ情報ファイルには含めない。
【０１３１】
次に、制御部２１は、メタ情報ファイルのハッシュ値を求める。制御部２１は、このように求めたハッシュ値を情報処理装置１へ通信部２３を介して送信する。情報処理装置１の制御部１１はノード装置２からメタ情報ファイルのハッシュ値を受信すると、このメタ情報ファイルのＩＤを生成する。このＩＤがコンテンツＩＤとなる。
【０１３２】
次に、情報処理装置１の制御部１１は、コンテンツＩＤをノード装置２へ送信する。ノード装置２の制御部２１は、情報処理装置１から受信したメタ情報ファイルのヘッダ情報にコンテンツＩＤを追加する。また、情報処理装置１の制御部１１は、投入コンテンツデータのコンテンツＩＤと、メタ情報ファイルのハッシュ値と、コンテンツデータに関する情報とを、カタログ情報に入れて署名する。なお、コンテンツデータに関する情報には、コンテンツ名、コンテンツ公開期限などである。
【０１３３】
コンテンツデータを取得しようとするノード装置２の制御部２１は、カタログ情報から所望のコンテンツデータのコンテンツＩＤを含む問い合わせメッセージを通信部２３を介して送信する。この問い合わせメッセージは、メタ情報ファイルを記憶しているノード装置２のネットワークアドレスを問い合わせるためのメッセージである。制御部２１は、この問い合わせメッセージにより取得したネットワークアドレスのノード装置２からメタ情報ファイルを取得する。そして、制御部２１は、取得したメタ情報ファイルを所定のハッシュ関数でハッシュ化してハッシュ値を求める。制御部２１は、このハッシュ値がカタログ情報に含まれるハッシュ値と一致するかを判定する。ハッシュ値が一致するとき、制御部２１は、メタ情報ファイルにあるキャッシュＩＤに対応する分割コンテンツデータを通信部２３を介して取得する。制御部２１は、取得した分割コンテンツデータを所定のハッシュ関数でハッシュ化して分割コンテンツデータのハッシュ値を求める。そして、制御部２１は、求めたハッシュ値がメタ情報に含まれるハッシュ値と一致するか否かを判定する。なお、ハッシュ値が一致するときには、制御部２１は、分割コンテンツデータを正常に受信できたと判定し、引き続き次ぎの分割コンテンツデータの取得を継続する。一方、ハッシュ値が一致しないとき、制御部２１は、分割コンテンツデータを正常に受信できないと判定して、制御部２１は、コンテンツデータの取得を中止する。
【符号の説明】
【０１３４】
Ｓ  情報通信システム
１  情報処理装置
２  ノード装置（提供装置）
１０ａ，１０ｂ  提供装置
１１  情報処理装置の制御部
１２  情報処理装置の記憶部
１３  情報処理装置の通信部
２１  ノード装置の制御部
２２  ノード装置の記憶部
２３  ノード装置の通信部
【図１】
2011055138.tif 000003
【図２】
2011055138.tif 000004
【図３】
2011055138.tif 000005
【図４】
2011055138.tif 000006
【図５】
2011055138.tif 000007
【図６】
2011055138.tif 000008
【図７】
2011055138.tif 000009
【図８】
2011055138.tif 000010
【図９】
2011055138.tif 000011
【図１０】
2011055138.tif 000012
【図１１】
2011055138.tif 000013
【図１２】
2011055138.tif 000014
【図１３】
2011055138.tif 000015