(57)【要約】【課題】特定のノード装置によりコンテンツの送信が過剰に行われることを防止する。【解決手段】複数のノード装置に分散して保存されるコンテンツを記憶する１以上のコンテンツ保持ノード装置の所在を示す所在情報と、所在情報が所在を示すコンテンツ保持ノード装置が、情報通信システムとしてコンテンツのアップロードが可能な程度を示す第１情報と、を対応付けて記憶する第１記憶手段を備える情報処理装置と、第１記憶手段により記憶された第１情報に基づいて、コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上であるコンテンツ保持ノード装置からコンテンツを取得する第１取得手段を備えるノード装置と、を備える。【選択図】図２
2011192133.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムであって、
前記複数のノード装置に分散して保存されるコンテンツを記憶する１以上のコンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第１情報と、を対応付けて記憶する第１記憶手段を備える情報処理装置と、
前記第１記憶手段により記憶された第１情報に基づいて、前記コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上である前記コンテンツ保持ノード装置からコンテンツを取得する第１取得手段を備えるノード装置と、
を備えることを特徴とする情報通信システム。
【請求項２】
前記情報処理装置は、
前記第１記憶手段により記憶された前記第１情報に基づいて、前記第１記憶手段により記憶された前記所在情報が所在を示す前記コンテンツ保持ノードのうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第１決定手段と、
前記第１決定手段により決定された前記コンテンツ保持ノード装置の前記所在情報を前記ノード装置に送信する第１送信手段と、
を更に備え、
前記ノード装置は、
前記情報処理装置から送信された前記所在情報を受信する第１受信手段を更に備え、
前記ノード装置の前記第１取得手段は、前記第１受信手段により受信された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする請求項１に記載の情報通信システム。
【請求項３】
前記情報処理装置は、
前記第１記憶手段により対応付けて記憶された前記所在情報及び前記第１情報を前記ノード装置に送信する第１送信手段を更に備え、
前記ノード装置は、
前記情報処理装置から送信された前記所在情報及び前記第１情報を受信する第１受信手段と、
前記受信手段により受信された前記第１情報に基づいて、前記所在情報が所在を示す前記コンテンツ保持ノード装置のうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノードを決定する第２決定手段と、
を更に備え、
前記ノード装置の前記第１取得手段は、前記第２決定手段により決定された前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする請求項１に記載の情報通信システム。
【請求項４】
前記ノード装置は、
コンテンツを記憶する第２記憶手段と、
前記第２記憶手段により記憶されたコンテンツの公開を示す公開メッセージであり、前記第２記憶手段を備える前記ノード装置の前記所在情報と、前記ノード装置がコンテンツをアップロードしたデータ量に基づく他の前記ノード装置へのコンテンツのアップロードの余地を示す第２情報と、を含む公開メッセージを前記情報処理装置に送信する第２送信手段と、
を更に備え、
前記情報処理装置の第１記憶手段は、前記所在情報と前記第１情報とをコンテンツ毎に対応付けて記憶し、
前記情報処理装置は、
前記ノード装置から送信された前記公開メッセージを受信する第２受信手段と、
前記第２受信手段により受信された前記公開メッセージに含まれる前記第２情報に基づいて、当該公開メッセージに含まれる前記所在情報に対応付けて前記第１記憶手段により記憶された前記第１情報を更新する更新手段と、
を更に備えることを特徴とする請求項１に記載の情報通信システム。
【請求項５】
前記情報処理装置の前記第１記憶手段は、前記所在情報と前記第２情報とを、コンテンツの識別情報に対応付けて記憶し、
前記情報処理装置は、
前記ノード装置から前記識別情報を含む問い合わせメッセージを受信する第３受信手段と、
前記第３受信手段により受信された前記問い合わせメッセージに含まれる前記識別情報に対応して前記第１記憶手段により記憶されている前記第２情報に基づいて、当該識別情報に対応して前記第１記憶手段により記憶されている前記所在情報の中から、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第３決定手段と、
前記第３決定手段により決定された前記所在情報を前記ノード装置に送信する第４送信手段と、
を更に備え、
前記ノード装置は、
取得すべきコンテンツの前記識別情報を含む前記問い合わせメッセージを送信する第３送信手段と、
前記情報処理装置から送信された前記所在情報を受信する第４受信手段と、
を更に備え、
前記ノード装置の前記第１取得手段は、前記第４受信手段により受信された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする請求項４に記載の情報通信システム。
【請求項６】
前記情報処理装置の前記第１記憶手段は、前記所在情報と前記第２情報とを、コンテンツの識別情報に対応付けて記憶し、
前記情報処理装置は、
前記ノード装置から前記識別情報を含む問い合わせメッセージを受信する第３受信手段と、
前記第１記憶手段により対応付けて記憶されている前記所在情報及び前記第２情報のうち、前記第３受信手段により受信された前記問い合わせメッセージに含まれる前記識別情報に対応する前記所在情報及び前記第２情報を前記ノード装置に送信する第４送信手段と、
を更に備え、
前記ノード装置は、
取得すべきコンテンツの前記識別情報を含む前記問い合わせメッセージを送信する第３送信手段と、
前記情報処理装置から送信された前記所在情報及び前記第２情報を受信する第４受信手段と、
前記第４受信手段により受信された前記第２情報に基づいて、前記第４受信手段により受信された前記所在情報の中から前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第４決定手段と、
を更に備え、
前記第１取得手段は、前記第４決定手段により決定された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする請求項４に記載の情報通信システム。
【請求項７】
前記情報処理装置は、
前記第１記憶手段により記憶された前記第１情報が示すコンテンツの送信可能程度が、予め定められた程度以下であるか否かを判定する判定手段と、
前記判定手段により前記送信可能程度が前記予め定められた程度以下であると判定されたコンテンツの識別情報を含む送信指示メッセージを、当該コンテンツに対応して前記第１記憶手段により記憶されている前記所在情報が所在を示す前記コンテンツ保持ノード装置に送信する第５送信手段と、
を更に備え、
前記ノード装置は、
前記情報処理装置から送信された前記送信指示メッセージを受信する第５受信手段と、
前記第５受信手段により受信された前記送信指示メッセージに含まれる前記識別情報が示すコンテンツを前記第２記憶手段から取得して他の前記ノード装置に送信する第６送信手段と、
を更に備えることを特徴とする請求項４乃至６の何れか１項に記載の情報通信システム。
【請求項８】
前記ノード装置の前記第２送信手段は、他の前記ノード装置にコンテンツがアップロードされたときに、アップロードされたコンテンツについての前記公開メッセージを送信することを特徴とする請求項４乃至７の何れか１項に記載の情報通信システム。
【請求項９】
前記ノード装置の前記第２送信手段は、前記第２記憶手段により記憶されたコンテンツを現時点でアップロードすることができる前記アップロード可能データ量が前記所定データ量未満になったときに、前記アップロード可能データ量が前記所定データ量未満になったコンテンツについての前記公開メッセージを送信することを特徴とする請求項４乃至８の何れか１項に記載の情報通信システム。
【請求項１０】
ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムにおいて、前記複数のノード装置に分散して保存されるコンテンツを記憶する１以上のコンテンツ保持ノード装置の所在を示す所在情報を、前記コンテンツを取得するノード装置へ提供する情報処理装置であって、
前記コンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第１情報と、を対応付けて記憶する第１記憶手段を備えることを特徴とする情報処理装置。
【請求項１１】
前記第１記憶手段により記憶された前記第１情報に基づいて、前記第１記憶手段により記憶された前記所在情報が所在を示す前記コンテンツ保持ノードのうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第１決定手段と、
前記第１決定手段により決定された前記コンテンツ保持ノード装置の前記所在情報を、コンテンツを取得する前記ノード装置に送信する第１送信手段と、
を更に備えることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムであって、情報処理装置と前記複数のノード装置とを備える情報通信システムにおける情報通信方法において、
前記情報処理装置が、前記複数のノード装置に分散して保存されるコンテンツを記憶する１以上のコンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第１情報と、を対応付けて第１記憶手段に記憶させる第１記憶工程と、
前記ノード装置が、前記第１記憶手段により記憶された第１情報に基づいて、前記コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上である前記コンテンツ保持ノード装置からコンテンツを取得する第１取得工程と、
を含むことを特徴とする情報通信方法。
【請求項１３】
ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムにおいて、前記複数のノード装置に分散して保存されるコンテンツを記憶する１以上のコンテンツ保持ノード装置の所在を示す所在情報を、前記コンテンツを取得するノード装置へ提供する情報処理装置に含まれるコンピュータに、
前記コンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第１情報と、を対応付けて第１記憶手段に記憶させる第１記憶ステップ
を実行させることを特徴とする情報通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））方式の通信システムの技術分野に関する。
【背景技術】
【０００２】
近年、特許文献１に開示されているようなピアツーピア方式の通信システムが注目されている。このピアツーピア方式の通信システムでは、ノード装置がコンテンツを取得する場合、例えば、要求されたコンテンツを保存する何れかのノード装置が、要求を行ったノード装置に対してコンテンツを送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１９７４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、人気の高いコンテンツを保存するノード装置は、他のノード装置からコンテンツの要求を頻繁に受けるので、その度にコンテンツの送信を行わなければならない。このように、特定のノード装置がコンテンツの送信を集中して行う場合がある。そうすると、特定のノード装置から送信されるデータ量が大きくなる。こうした状況に対応するため、ネットワーク接続サービスを提供するＩＳＰ（Internet Service Provider）等の通信事業者は、回線増強等の設備投資を行う必要がある。
【０００５】
そこで、本発明は、以上の点に鑑みてなされたものである。本発明は、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる情報通信システム、情報処理装置、情報通信方法、及び情報通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムであって、前記複数のノード装置に分散して保存されるコンテンツを記憶する１以上のコンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第１情報と、を対応付けて記憶する第１記憶手段を備える情報処理装置と、前記第１記憶手段により記憶された第１情報に基づいて、前記コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上である前記コンテンツ保持ノード装置からコンテンツを取得する第１取得手段を備えるノード装置と、を備えることを特徴とする。
【０００７】
この発明によれば、情報処理装置が、情報通信システムとしてコンテンツのアップロードが可能な程度を管理することができる。よって、コンテンツのアップロードが可能な程度に基づいて、ノード装置が、アップロード可能データ量に余裕があるコンテンツ保持ノードからコンテンツを取得することができる。よって、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる。
【０００８】
請求項２に記載の発明は、前記情報処理装置は、前記第１記憶手段により記憶された前記第１情報に基づいて、前記第１記憶手段により記憶された前記所在情報が所在を示す前記コンテンツ保持ノードのうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第１決定手段と、前記第１決定手段により決定された前記コンテンツ保持ノード装置の前記所在情報を前記ノード装置に送信する第１送信手段と、を更に備え、前記ノード装置は、前記情報処理装置から送信された前記所在情報を受信する第１受信手段を更に備え、前記ノード装置の前記第１取得手段は、前記第１受信手段により受信された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする。
【０００９】
この発明によれば、情報処理装置によって、アップロード可能データ量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【００１０】
請求項３に記載の発明は、前記情報処理装置は、前記第１記憶手段により対応付けて記憶された前記所在情報及び前記第１情報を前記ノード装置に送信する第１送信手段を更に備え、前記ノード装置は、前記情報処理装置から送信された前記所在情報及び前記第１情報を受信する第１受信手段と、前記受信手段により受信された前記第１情報に基づいて、前記所在情報が所在を示す前記コンテンツ保持ノード装置のうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノードを決定する第２決定手段と、を更に備え、前記ノード装置の前記第１取得手段は、前記第２決定手段により決定された前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする。
【００１１】
この発明によれば、コンテンツを取得するノード装置によって、アップロード可能データ量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【００１２】
請求項４に記載の発明は、前記ノード装置は、コンテンツを記憶する第２記憶手段と、前記第２記憶手段により記憶されたコンテンツの公開を示す公開メッセージであり、前記第２記憶手段を備える前記ノード装置の前記所在情報と、前記ノード装置がコンテンツをアップロードしたデータ量に基づく他の前記ノード装置へのコンテンツのアップロードの余地を示す第２情報と、を含む公開メッセージを前記情報処理装置に送信する第２送信手段と、を更に備え、前記情報処理装置の第１記憶手段は、前記所在情報と前記第１情報とをコンテンツ毎に対応付けて記憶し、前記情報処理装置は、前記ノード装置から送信された前記公開メッセージを受信する第２受信手段と、前記第２受信手段により受信された前記公開メッセージに含まれる前記第２情報に基づいて、当該公開メッセージに含まれる前記所在情報に対応付けて前記第１記憶手段により記憶された前記第１情報を更新する更新手段と、を更に備えることを特徴とする。
【００１３】
この発明によれば、情報処理装置が、各ノード装置におけるコンテンツのアップロードの余地に基づいて、情報通信システムとしてコンテンツのアップロードが可能な程度をコンテンツ毎に管理することができる。よって、特定のコンテンツを保存するノード装置によりコンテンツの送信が過剰に行われることを防止することができる。
【００１４】
請求項５に記載の発明は、前記情報処理装置の前記第１記憶手段は、前記所在情報と前記第２情報とを、コンテンツの識別情報に対応付けて記憶し、前記情報処理装置は、前記ノード装置から前記識別情報を含む問い合わせメッセージを受信する第３受信手段と、前記第３受信手段により受信された前記問い合わせメッセージに含まれる前記識別情報に対応して前記第１記憶手段により記憶されている前記第２情報に基づいて、当該識別情報に対応して前記第１記憶手段により記憶されている前記所在情報の中から、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第３決定手段と、前記第３決定手段により決定された前記所在情報を前記ノード装置に送信する第４送信手段と、を更に備え、前記ノード装置は、取得すべきコンテンツの前記識別情報を含む前記問い合わせメッセージを送信する第３送信手段と、前記情報処理装置から送信された前記所在情報を受信する第４受信手段と、を更に備え、前記ノード装置の前記第１取得手段は、前記第４受信手段により受信された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする。
【００１５】
この発明によれば、アップロード可能データ量が所定データ量以上であるノード装置がコンテンツをアップロードするので、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる。また、情報処理装置によって、アップロード可能データ量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【００１６】
請求項６に記載の発明は、前記情報処理装置の前記第１記憶手段は、前記所在情報と前記第２情報とを、コンテンツの識別情報に対応付けて記憶し、前記情報処理装置は、前記ノード装置から前記識別情報を含む問い合わせメッセージを受信する第３受信手段と、前記第１記憶手段により対応付けて記憶されている前記所在情報及び前記第２情報のうち、前記第３受信手段により受信された前記問い合わせメッセージに含まれる前記識別情報に対応する前記所在情報及び前記第２情報を前記ノード装置に送信する第４送信手段と、を更に備え、前記ノード装置は、取得すべきコンテンツの前記識別情報を含む前記問い合わせメッセージを送信する第３送信手段と、前記情報処理装置から送信された前記所在情報及び前記第２情報を受信する第４受信手段と、前記第４受信手段により受信された前記第２情報に基づいて、前記第４受信手段により受信された前記所在情報の中から前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第４決定手段と、を更に備え、前記第１取得手段は、前記第４決定手段により決定された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする。
【００１７】
この発明によれば、アップロード可能データ量が所定データ量以上であるノード装置がコンテンツをアップロードするので、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる。また、コンテンツを取得するノード装置によって、アップロード可能データ量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【００１８】
請求項７に記載の発明は、前記情報処理装置は、前記第１記憶手段により記憶された前記第１情報が示すコンテンツの送信可能程度が、予め定められた程度以下であるか否かを判定する判定手段と、前記判定手段により前記送信可能程度が前記予め定められた程度以下であると判定されたコンテンツの識別情報を含む送信指示メッセージを、当該コンテンツに対応して前記第１記憶手段により記憶されている前記所在情報が所在を示す前記コンテンツ保持ノード装置に送信する第５送信手段と、を更に備え、前記ノード装置は、前記情報処理装置から送信された前記送信指示メッセージを受信する第５受信手段と、前記第５受信手段により受信された前記送信指示メッセージに含まれる前記識別情報が示すコンテンツを前記第２記憶手段から取得して他の前記ノード装置に送信する第６送信手段と、を更に備えることを特徴とする。
【００１９】
この発明によれば、送信指示メッセージを受信したコンテンツ保持ノード装置からコンテンツを受信したノード装置が、受信したコンテンツを保存することにより、そのコンテンツの新たなコンテンツ保持ノード装置となる。そのため、アップロードが可能な程度が低くなったコンテンツをアップロードすることができるコンテンツ保持ノード装置が増加する。よって、情報通信システムとしてコンテンツをアップロード可能な程度を上げることができる。
【００２０】
請求項８に記載の発明は、前記ノード装置の前記第２送信手段は、他の前記ノード装置にコンテンツがアップロードされたときに、アップロードされたコンテンツについての前記公開メッセージを送信することを特徴とする。
【００２１】
この発明によれば、アップロード可能データ量が変化する度に公開メッセージが送信されるので、情報処理装置が記憶する第１情報が、コンテンツ保持ノード装置のコンテンツのアップロードの余地を正確に反映させることができる。
【００２２】
請求項９に記載の発明は、前記ノード装置の前記第２送信手段は、前記第２記憶手段により記憶されたコンテンツを現時点でアップロードすることができる前記アップロード可能データ量が前記所定データ量未満になったときに、前記アップロード可能データ量が前記所定データ量未満になったコンテンツについての前記公開メッセージを送信することを特徴とする。
【００２３】
この発明によれば、コンテンツをアップロードすることができなくなったときに公開メッセージが送信されるようにすることができるので、送受信される公開メッセージを減らすことができる。
【００２４】
請求項１０に記載の発明は、ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムにおいて、前記複数のノード装置に分散して保存されるコンテンツを記憶する１以上のコンテンツ保持ノード装置の所在を示す所在情報を、前記コンテンツを取得するノード装置へ提供する情報処理装置であって、前記コンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第１情報と、を対応付けて記憶する第１記憶手段を備えることを特徴とする。
【００２５】
請求項１１に記載の発明は、前記第１記憶手段により記憶された前記第１情報に基づいて、前記第１記憶手段により記憶された前記所在情報が所在を示す前記コンテンツ保持ノードのうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第１決定手段と、前記第１決定手段により決定された前記コンテンツ保持ノード装置の前記所在情報を、コンテンツを取得する前記ノード装置に送信する第１送信手段と、を更に備えることを特徴とする。
【００２６】
請求項１２に記載の発明は、ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムであって、情報処理装置と前記複数のノード装置とを備える情報通信システムにおける情報通信方法において、前記情報処理装置が、前記複数のノード装置に分散して保存されるコンテンツを記憶する１以上のコンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第１情報と、を対応付けて第１記憶手段に記憶させる第１記憶工程と、前記ノード装置が、前記第１記憶手段により記憶された第１情報に基づいて、前記コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上である前記コンテンツ保持ノード装置からコンテンツを取得する第１取得工程と、を含むことを特徴とする。
【００２７】
請求項１３に記載の発明は、ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムにおいて、前記複数のノード装置に分散して保存されるコンテンツを記憶する１以上のコンテンツ保持ノード装置の所在を示す所在情報を、前記コンテンツを取得するノード装置へ提供する情報処理装置に含まれるコンピュータに、前記コンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第１情報と、を対応付けて第１記憶手段に記憶させる第１記憶ステップを実行させることを特徴とする。
【発明の効果】
【００２８】
本発明によれば、情報処理装置が、情報通信システムとしてコンテンツのアップロードが可能な程度を管理することができる。よって、コンテンツのアップロードが可能な程度に基づいて、ノード装置が、アップロード可能データ量に余裕があるコンテンツ保持ノードからコンテンツを取得することができる。よって、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる。
【図面の簡単な説明】
【００２９】
【図１】一実施形態におけるコンテンツ分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。
【図２】一実施形態におけるコンテンツ分散保存システムＳの動作概要の一例を示す図である。
【図３】センターサーバＳＡの概要構成例を示す図である。
【図４】ノードＮｎの概要構成例を示す図である。
【図５】一実施形態におけるノードＮｎの処理例を示すフローチャートである。
【図６】一実施形態におけるノードＮｎの処理例を示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
【００３１】
［１．コンテンツ分散保存システムの概要構成及び動作概要］
始めに、図１を参照して、本実施形態におけるコンテンツ分散保存システムの構成及び動作概要について説明する。図１は、本実施形態におけるコンテンツ分散保存システムＳにおける各ノード装置の接続態様の一例を示す図である。図１は、コンテンツ分散保存システムＳの具体的構成図１０１と、概念的構成図１００とから構成される。コンテンツ分散保存システムＳの具体的構成図１０１が示すように、コンテンツ分散保存システムＳは、多数のノード装置Ｎｎ（ｎ＝１，２，３・・・の何れか）から構成される。
【００３２】
図１の具体的構成図１０１内に示すように、コンテンツ分散保存システムＳは、複数のノード装置Ｎｎがインターネットを介して接続されることで構成される。また、図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ，４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者の装置５ａ，５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者の装置６、及び通信回線７等によって、インターネット等のネットワーク８が構築されている。ネットワーク８は、現実世界の通信ネットワークである。なお、図１の例におけるネットワーク８には、データパケットを転送するためのルータが適宜挿入されているが、図１では図示を省略している。また、通信回線７としては、例えば、電話回線や光ケーブル等が用いられる。
【００３３】
このようなネットワーク８には、複数のノード装置Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。以下、ノード装置を、「ノード」という。また、各ノードＮｎには、固有の製造番号及びＩＰ（Internet Protocol）アドレスが割り当てられている。そして、本実施形態におけるコンテンツ分散保存システムＳは、これらのノードＮｎのうち、図１の概念的構成図１００内に示すように、何れか複数のノードＮｎの接続により形成されるピアツーピア方式のネットワークシステムとなっている。
【００３４】
なお、図１の概念的構成図１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９である。論理的なネットワークであるオーバーレイネットワーク９は、特定のアルゴリズム、例えば、ＤＨＴを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムＳに接続されている各ノードＮｎには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。
【００３５】
なお、コンテンツ分散保存システムＳへの接続は、接続していないノードＮｎ、例えば、ノードＮ８が、接続している任意のノードＮｎに対してコンテンツ分散保存システムへの参加要求を示す参加メッセージを送信することによって行われる。コンテンツ分散保存システムＳへの参加とは、ノード装置Ｎｎがコンテンツ分散保存システムＳに接続され、コンテンツ分散保存システムＳからコンテンツデータを取得可能になることである。任意のノードＮｎは、例えば、システムＳに常時接続しているコンタクトノードである。
【００３６】
また、各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムＳ上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ＩＤ空間内で適度に離れたノードＮｎのノードＩＤ、ＩＰアドレス及びポート番号を含むが複数登録されている。コンテンツ分散保存システムＳに接続している１台のノードは、必要最低限のノードＮｎのノード情報をルーティングテーブルとして記憶している。各ノードＮｎ間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードＮｎについてのノード情報が取得される。なお、ＩＰアドレス及びポート番号は、本発明の所在情報の一例である。
【００３７】
コンテンツ分散保存システムＳは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノードＮｎに分散して保存する。以下、コンテンツデータを、「コンテンツ」という。そして、各ノードＮｎ間でレプリカが利用可能になっている。各コンテンツのオリジナルはセンターサーバＳＡに保存されている。また、コンテンツのレプリカが保存されるノードＮを、「コンテンツ保持ノード」という。また、以下の説明においては、オリジナルのコンテンツとレプリカとを特に区別することなく、コンテンツと称する。上述のコンテンツには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツＩＤ等の情報が付加されている。なお、コンテンツＩＤは、本発明の識別情報の一例である。
【００３８】
分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理（記憶）しているノードＮｎにより記憶される。以下、コンテンツの所在を管理（記憶）しているノードＮｎを、「ルートノード」という。インデックス情報は、コンテンツを保存したノードＮｎのノード情報と、コンテンツのコンテンツＩＤと等の組を含む。このようなルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤを有するノードＮｎであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。なお、ルートノードは、情報処理装置の一例である。
【００３９】
そして、或るノードＮｎのユーザが、所望するコンテンツを取得したい場合、このコンテンツの取得を望むノードＮｎは、メッセージを生成する。以下、ユーザによりコンテンツの取得を望むノードＮｎを、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツＩＤ及びユーザノードのＩＰアドレス等を含む検索メッセージである。検索メッセージは、コンテンツ保持ノードを検索するためのメッセージである。上述の検索メッセージが、ユーザノードが取得するＤＨＴのルーティングテーブルに従って、他のノードＮｎに対して送出される。つまり、ユーザノードは、検索メッセージを、ルートノードに向けて送出する。これにより、検索メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。なお、検索メッセージは、本発明の問い合わせメッセージの一例である。
【００４０】
各ノードＮｎにおいて、コンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバＳＡにより作成されて、全てのノードＮｎに配信される。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４１】
上記検索メッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックス情報キャッシュから取得する。取得されたインデックス情報は、検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツをダウンロード（取得）することができる。ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、取得を望むコンテンツのコンテンツＩＤが含まれている。コンテンツ要求メッセージを受信したコンテンツ保持ノードは、コンテンツ要求メッセージに含まれるコンテンツＩＤに対応するコンテンツをユーザノードに送信（アップロード）する。このようにして、ユーザノードは、コンテンツをダウンロードすることが可能になる。なお、インデックス情報には、複数のコンテンツ保持ノードのノード情報が含まれていることもある。この場合、ユーザノードは、この複数のコンテンツ保持ノードのうち１つのコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツをダウンロードすることができる。
【００４２】
なお、ルートノードは、このインデックス情報に含まれるＩＰアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信しても良い。これにより、ユーザノードは、上記コンテンツ保持ノードからそのコンテンツをダウンロードすることもできる。また、上記ユーザノードは、検索メッセージがルートノードに辿り着くまでの間に、このルートノードと同じインデックス情報をキャッシュしているキャッシュノードからこのインデックス情報を取得することもできる。
【００４３】
また、ユーザノードは、コンテンツ保持ノードからコンテンツを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツＩＤ及びコンテンツを保存したノード装置のノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツを保持するコンテンツ保持ノードとなる。なお、パブリッシュメッセージは、本発明の公開メッセージの一例である。
【００４４】
［２．コンテンツをアップロードするデータ量の制限］
コンテンツ分散保存システムＳは、各ノードＮｎが、他のノードへ過剰にコンテンツをアップロードしないように構成されている。より詳細に、集計期間内におけるアップロード可能量が所定の閾値である第１閾値以上であるコンテンツ保持ノードが、コンテンツをアップロードするように制御される。
【００４５】
アップロード可能量は、集計期間内であとどの程度コンテンツをアップロードする余地があるかを示すデータ量である。このアップロード可能量は、１つの集計期間あたりの許容アップロード量からその集計期間内の総アップロード量を引いた値である。第１閾値は、例えば、システム全体で統一された値が予め設定されていたり、コンテンツ毎に予め設定されていたりする。総アップロード量は、他のノードＮｎにコンテンツをアップロードしたデータ量の合計値である。許容アップロード量は、例えば、ノードＮｎ毎に予め設定されている。例えば、これ以上のデータ量をアップロードしてはならないという絶対的な上限値が存在する場合、許容アップロード量は、絶対的な上限値よりも小さい値が設定される。集計期間は、アップロード可能量を算出する上での単位となる期間である。或る集計期間にコンテンツがアップロードされたデータ量の合計値が、その集計期間の総アップロード量となる。集計期間は、例えば、システム全体で統一された値が予め設定されていたり、コンテンツ毎に予め設定されていたりする。
【００４６】
各ノードＮｎのアップロード可能量は、ルートノードが、コンテンツ毎にコンテンツ保持ノードのインデックス情報と対応付けて記憶する。コンテンツ毎のアップロード可能量の総和が、コンテンツ保存システムＳ全体として当該コンテンツのアップロードが可能な程度を示す情報となる。ルートノードが記憶するインデックス情報に含まれるノード情報とアップロード可能量とに基づいて、コンテンツをアップロードするコンテンツ保持ノードが決定される。このアップロード可能量は、ノード情報とともに、コンテンツ保持ノードから送信されるパブリッシュメッセージに含まれる。なお、アップロード可能量は、本発明の第２情報の一例である。また、アップロード可能量の総和は、本発明の第１情報の一例である。また、第１閾値は、本発明の所定データ量の一例である。また、集計期間は、本発明の所定の期間の一例である。
【００４７】
具体的には、図２に示すように、ユーザノードとして、例えばノードＮ３が、ダウンロードしたいコンテンツのルートノードである例えばノードＮ１に向けて検索メッセージを送信する（図２（１））。検索メッセージを受信したノードＮ１は、検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報のうち、対応するアップロード可能量が第１閾値以上であるインデックス情報を所定数決定する。そして、ノードＮ１は、決定したインデックス情報をノードＮ３に送信する（図２（２））。インデックス情報を受信したノードＮ３は、受信したインデックス情報から何れかのインデックス情報を選択する。そして、ノード３は、選択したインデックス情報が示すコンテンツ保持ノード、例えばノードＮ６からコンテンツをダウンロードする（図２（３））。
【００４８】
また、各ノードＮｎは、それぞれが保存しているコンテンツのパブリッシュメッセージを、例えば、定期的に送信している。例えば、或るコンテンツのコンテンツ保持ノードであるノードＮ３及びＮ６がパブリッシュメッセージを送信する（図２（４））。パブリッシュメッセージには、そのときのコンテンツ保持ノードのアップロード可能量が含まれている。このパブリッシュメッセージを、ルートノードである例えばノードＮ１がそれぞれ受信する。すると、ノードＮｎは、ノードＮ３及びＮ６それぞれのインデックス情報に対応付けて記憶していたアップロード可能量を、受信したパブリッシュメッセージに含まれるアップロード可能量に変更する。
【００４９】
また、ノードＮ１は、例えば定期的に、アップロード可能量の総和をコンテンツ毎に算出する（図２（５））。ノードＮ１は、算出された総和が所定の閾値である第２閾値以下である場合には、コンテンツの委譲を指示する。コンテンツの委譲とは、対象となるコンテンツをアップロードすることができるコンテンツ保持ノードを増やすことをいう。そして、コンテンツの委譲は、対象となるコンテンツを他のノードＮｎに送信して保存させることにより行われる。第２閾値は、例えば、システム全体で統一された値が予め設定されていたり、コンテンツ毎に予め設定されていたりする。コンテンツの委譲を指示する場合、ノードＮ１は、各コンテンツ保持ノードに対してコンテンツ委譲指示メッセージを送信する（図２（６））。委譲指示メッセージには、委譲対象のコンテンツとして、アップロード可能量の総和が第２閾値以下となったコンテンツのコンテンツＩＤが含まれている。なお、第２閾値は、本発明の予め定められた程度の一例である。また、委譲指示メッセージは、本発明の送信指示メッセージの一例である。
【００５０】
コンテンツ委譲指示メッセージを受信したノードＮ３は、委譲対象のコンテンツを、例えば、ノードＮ４に送信する。また、コンテンツ委譲指示メッセージを受信したノードＮ６は、委譲対象のコンテンツを、例えば、ノードＮ５に送信する（図２（７））。その後、コンテンツ保持ノードとなったノードＮ４及びＮ５から、それぞれノードＮ１に向けてパブリッシュメッセージが送信される。よって、ノードＮ１が記憶するインデックス情報及びアップロード可能量の個数が増加する。そして、アップロード可能量の総和も増加する。
【００５１】
なお、集計期間が経過すると、また新たな集計期間が開始される。すると、ノードＮｎは、総アップロード量をゼロにリセットする。これにより、アップロード可能量が増加する。このタイミングにおいても、ノードＮｎは、パブリッシュメッセージを送信しても良い。
【００５２】
［３．各装置の構成及び機能］
次に、図３及び図４を参照して、各装置の構成及び機能について説明する。図３は、センターサーバＳＡの概要構成例を示す図である。また、図４は、ノードＮｎの概要構成例を示す図である。
【００５３】
［３．１  センターサーバＳＡの構成］
センターサーバＳＡは、図３に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成された制御部１１を備えている。また、センターサーバＳＡは、各種データ及び各種プログラム等を記憶保存するためのＨＤ等から構成された記憶部１２を備えている。更に、センターサーバＳＡは、ネットワーク８等を通じてノードＮｎとの間の情報の通信制御を行うための通信部１３を備えている。また更に、センターサーバＳＡは、各種情報を表示するＣＲＴ，液晶ディスプレイ等の表示部１４を備えている。更にまた、センターサーバＳＡは、オペレータからの指示を受け付けこの指示に応じた指示信号を制御部１１に対して与える入力部１５（例えば、キーボード、マウス等）を備えている。そして、制御部１１、記憶部１２、通信部１３、表示部１４、及び入力部１５はバス１６を介して相互に接続されている。
【００５４】
記憶部１２には、各ノードＮｎのノードＩＤ、ＩＰアドレス及びポート番号等が記憶されている。制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、センターサーバＳＡ全体を統括制御する。
【００５５】
［３．２  ノードＮｎの構成］
各ノードＮｎは、図４に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部２１を備えている。また、各ノードＮｎは、各種データ及び各種プログラム等を記憶保存するためのＨＤ（ハードディスク）等から構成された記憶部２２と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ２３とを備えている。更に、各ノードＮｎは、コンテンツのレプリカに含まれるエンコードされたビデオデータ（映像情報）及びオーディオデータ（音声情報）等をデコードするデコーダ部２４を備えている。また更に、各ノードＮｎは、このデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部２５と、この映像処理部２５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部２６と、を備えている。更にまた、各ノードＮｎは、上記デコードされたオーディオデータをアナログオーディオ信号にＤ （Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部２７と、この音声処理部２７から出力されたオーディオ信号を音波として出力するスピーカ２８と、を備えている。また更に、各ノードＮｎは、ネットワーク８を通じて他のノードＮｎ等間の情報の通信制御を行うための通信部２９を備えている。更にまた、各ノードＮｎは、ユーザからの指示を受け付けこの指示に応じた指示信号を制御部２１に対して与える入力部３０（例えば、キーボード、マウス、或いは、リモコンや操作パネル等）を備えている。そして、制御部２１、記憶部２２、バッファメモリ２３、デコーダ部２４、通信部２９、及び入力部３０はバス３１を介して相互に接続されている。
【００５６】
記憶部２２は、第１記憶手段及び第２記憶手段の一例を構成する。この記憶部２２には、ＤＨＴを用いたルーティングテーブル、並びに、コンテンツ分散保存システムＳに参加する際のアクセス先となるコンタクトノードのアドレス情報、及びセンターサーバＳＡのアドレス情報等が記憶されている。また、記憶部２２には、インデックス情報とアップロード可能量とが、対応付けて記憶されている。また、記憶部２２には、ダウンロードされたコンテンツが、コンテンツＩＤに対応付けて記憶されている。また、記憶部２２には、許容アップロード量、現時点での総アップロード量、第１閾値、第２閾値、コンテンツ送信履歴等の情報が記憶されている。
【００５７】
更に、記憶部２２には、オペレーティングシステム、Ｐ２Ｐソフトウェア（本発明の情報通信プログラムを含む）等の各種プログラムが記憶されている。Ｐ２Ｐソフトウェアは、オーバーレイネットワーク９に接続し、他のノードＮｎとの通信等を行うためのソフトウェアである。なお、Ｐ２Ｐソフトウェアは、例えば、センターサーバＳＡ等からダウンロードされるようにしても良い。また、Ｐ２Ｐソフトウェアは、例えば、記録媒体に記録されて当該記録媒体からドライブを介して読み込まれるようにしても良い。
【００５８】
制御部２１は、ＣＰＵが記憶部２２等に記憶されたプログラムを読み出して実行することにより、第１取得手段、第１決定手段、第１送信手段、第１受信手段、第２決定手段、第２送信手段、第２受信手段、更新手段、第２取得手段、第３受信手段、第３決定手段、第４送信手段、第３送信手段、第４受信手段、第４決定手段、判定手段、第５送信手段、第５受信手段、及び第６送信手段として機能する。
【００５９】
［４．コンテンツ分散保存システムの動作］
次に、図５及び図６を参照して、本実施形態におけるコンテンツ分散保存システムＳの動作について説明する。図５及び図６は、本実施形態におけるノードＮｎの処理例を示すフローチャートである。なお、図５及び図６においては、本実施形態の説明に必要ではない処理については、図示を省略している。
【００６０】
図５に示す処理は、例えば、ユーザがＰ２ＰソフトウェアをノードＮｎに実行させることによって開始される。先ず、制御部２１は、ユーザの操作によるＰ２Ｐソフトウェアの終了要求があったか否かを判定する（ステップＳ１）。このとき、制御部２１は、終了要求がなかった場合には（ステップＳ１：ＮＯ）、他のノードＮｎからコンテンツ要求メッセージを受信したか否かを判定する（ステップＳ２）。このとき、制御部２１は、コンテンツ要求メッセージを受信した場合には（ステップＳ２：ＹＥＳ）、コンテンツ要求メッセージを送信してきたノードＮｎに対して、記憶部２２に記憶されているコンテンツをアップロードする（ステップＳ３）。次いで、制御部２１は、アップロードしたコンテンツのデータ量を現在の総アップロード量に加算して、総アップロード量を更新する（ステップＳ４）。次いで、制御部２１は、コンテンツ送信履歴を更新する（ステップＳ５）。例えば、制御部２１は、アップロードされたコンテンツのコンテンツＩＤ及び現在日時を、記憶部２２に記憶されているコンテンツ送信履歴中に記録する。制御部２１は、ステップＳ５の処理を終えると、ステップＳ１に移行する。
【００６１】
ステップＳ２において、制御部２１は、コンテンツ要求メッセージを受信していない場合には（ステップＳ２：ＮＯ）、他のノードＮｎから検索メッセージを受信したか否かを判定する（ステップＳ６）。このとき、制御部２１は、第３受信手段として、検索メッセージを受信した場合には（ステップＳ６：ＹＥＳ）、ノードＮｎ自身が、受信した検索メッセージに含まれるコンテンツＩＤが示すコンテンツのルートノードであるか否かを判定する（ステップＳ７）。このとき、制御部２１は、ノードＮｎ自身がルートノードである場合には（ステップＳ７：ＹＥＳ）、記憶部２２に記憶されているインデックス情報をソートする（ステップＳ８）。具体的に、制御部２１は、受信した検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報を、それぞれに対応付けて記憶部２２に記憶されているアップロード可能量の大きい順にソートする。次いで、制御部２１は、第１決定手段及び第３決定手段として、ソートされたインデックス情報のうち、アップロード可能量が第１閾値以上であるインデックス情報を所定数選択する。なお、アップロード可能量が第１閾値以上であるインデックス情報が所定数ない場合、アップロード可能量が第１閾値以上である全てのインデックス情報が選択される。そして、制御部２１は、第１送信手段及び第４送信手段として、検索メッセージを送信してきたノードＮｎに対して、選択したインデックス情報を送信する（ステップＳ９）。制御部２１は、ステップＳ９の処理を終えると、ステップＳ１に移行する。
【００６２】
ステップＳ７において、制御部２１は、ノードＮｎ自身がルートノードではない場合には（ステップＳ７：ＮＯ）、ルーティングテーブルを用いて、検索メッセージを他のノードＮｎに中継する（ステップＳ１０）。制御部２１は、ステップＳ９の処理を終えると、ステップＳ１に移行する。
【００６３】
ステップＳ６において、制御部２１は、検索メッセージを受信していない場合には（ステップＳ６：ＮＯ）、図６に示すように、記憶部２２に記憶されているコンテンツ全てについてパブリッシュメッセージを送信するタイミングであるか否かを判定する（ステップＳ１１）。例えば、前回パブリッシュメッセージを送信してから所定時間が経過している場合、制御部２１は、パブリッシュメッセージを送信するタイミングであると判定する（ステップＳ１１：ＹＥＳ）。この場合、制御部２１は、第２取得手段として、現時点のアップロード可能量を算出する（ステップＳ１２）。具体的に、制御部２１は、以下の式を計算する。
アップロード可能量＝許容アップロード量−総アップロード量
【００６４】
次いで、制御部２１は、記憶部２２に記憶されているコンテンツの中からコンテンツを１つ選択する（ステップＳ１３）。次いで、制御部２１は、第２送信手段として、選択したコンテンツのパブリッシュメッセージを当該コンテンツのルートノードへ向けて送信する（ステップＳ１４）。このとき、制御部２１は、選択したコンテンツのコンテンツＩＤ、ノードＮｎ自身のノード情報、及びアップロード可能量をパブリッシュメッセージに含める。次いで、制御部２１は、予め設定された規定時間待機する（ステップＳ１５）。
【００６５】
次いで、制御部２１は、記憶部２２に記憶されているコンテンツを全て選択したか否かを判定する（ステップＳ１６）。このとき、制御部２１は、選択していないコンテンツが存在する場合には（ステップＳ１６：ＮＯ）、選択していないコンテンツの中からコンテンツを１つ選択する（ステップＳ１７）。次いで、制御部２１は、ステップＳ１４に移行する。一方、制御部２１は、記憶部２２に記憶されているコンテンツを全て選択した場合には（ステップＳ１６：ＹＥＳ）、ステップＳ１に移行する。
【００６６】
ステップＳ１１において、制御部２１は、例えば、前回パブリッシュメッセージを送信してからまだ所定時間が経過していない場合には、パブリッシュメッセージを送信するタイミングではないと判定する（ステップＳ１１：ＮＯ）。この場合、制御部２１は、コンテンツの委譲を指示するタイミングであるか否かを判定する（ステップＳ１８）。例えば、前回コンテンツの委譲を指示してから所定時間が経過している場合、制御部２１は、コンテンツの委譲を指示するタイミングであると判定する（ステップＳ１８：ＹＥＳ）。この場合、制御部２１は、ノードＮｎ自身がルートノードとして管理しているコンテンツの中からコンテンツを１つ選択する（ステップＳ１９）。次いで、制御部２１は、選択したコンテンツのコンテンツＩＤに対応付けて記憶部２２に記憶されているアップロード可能量の総和を算出する（ステップＳ２０）。次いで、制御部２１は、判定手段として、算出した総和が第２閾値以下であるか否かを判定する（ステップＳ２１）。このとき、制御部２１は、算出した総和が第２閾値以下である場合には（ステップＳ２１：ＹＥＳ）、第５送信手段として、選択したコンテンツの全てのコンテンツ保持ノードに対して、それぞれコンテンツ委譲指示メッセージを送信する（ステップＳ２２）。このとき、制御部２１は、選択したコンテンツのコンテンツＩＤをコンテンツ委譲指示メッセージに含める。  なお、コンテンツ委譲指示メッセージを受信した各ノードＮｎは、コンテンツ委譲指示メッセージに含まれるコンテンツＩＤに対応するコンテンツを他のノードＮｎに送信する。例えば、ノードＮｎは、ルーティングテーブルにノード情報が設定されているノードＮｎの中から委譲先のノードＮｎをランダムに選択する。そして、ノードＮｎは、選択した委譲先のノードＮｎに、委譲対象のコンテンツを送信する。そして、コンテンツを受信したノードＮｎは、受信したコンテンツを記憶部２２に記憶させ、パブリッシュメッセージを送信する。
【００６７】
次いで、制御部２１は、ノードＮｎ自身がルートノードとして管理しているコンテンツを全て選択したか否かを判定する（ステップＳ２３）。制御部２１は、ステップＳ２１において、算出した総和が第２閾値より大きい場合（ステップＳ２１：ＮＯ）、または、ステップＳ２３において、選択していないコンテンツが存在する場合には（ステップＳ２３：ＮＯ）、選択していないコンテンツの中からコンテンツを１つ選択する（ステップＳ２４）。次いで、制御部２１は、ステップＳ２０に移行する。
【００６８】
ステップＳ２３において、制御部２１は、ノードＮｎ自身がルートノードとして管理しているコンテンツを全て選択した場合には（ステップＳ２３：ＹＥＳ）、ステップＳ１に移行する。
【００６９】
ステップＳ１８において、制御部２１は、前回コンテンツの委譲を指示してからまだ所定時間が経過していない場合には、前回コンテンツの委譲を指示するタイミングではないと判定する（ステップＳ１８：ＮＯ）。この場合、制御部２１は、ステップＳ１に移行する。
【００７０】
ステップＳ１において、制御部２１は、終了要求があった場合には（ステップＳ１：ＹＥＳ）、図５及び図６に示す処理を終了させる。
【００７１】
以上説明したように、本実施形態によれば、ルートノードの記憶部２２が、各コンテンツ保持ノードのノード情報を含むインデックス情報を記憶部２２に記憶する。また、ルートノードの記憶部２２が、コンテンツ分散保存システムＳ全体としての各コンテンツ保持ノードのアップロード可能量をインデックス情報に対応付けて記憶する。そして、ユーザノードが、ルートノードに記憶されたアップロード可能量が単位閾値以上であるコンテンツ保持ノードからコンテンツを取得する。従って、ルートノードが、コンテンツ分散保存システムＳとしてコンテンツのアップロードが可能な程度を管理することができる。よって、ユーザノードが、アップロード可能量に余裕があるコンテンツ保持ノードからコンテンツを取得することができる。よって、特定のノードＮｎによりコンテンツの送信が過剰に行われることを防止することができる。
【００７２】
また、ルートノードの記憶部２２は、インデックス情報とアップロード可能量とをコンテンツ毎に対応付けて記憶する。従って、ルートノードが、コンテンツのアップロードが可能な程度をコンテンツ毎に管理することができる。
【００７３】
また、ルートノードが、受信したパブリッシュメッセージに含まれるインデックス情報とアップロード可能量とを対応付けて記憶部２２に記憶させる。従って、ルートノードが、ノードＮｎにコンテンツをアップロードさせる程度を更にノードＮｎ毎に管理することができる。よって、特定のコンテンツのアップロードの程度を、複数のノードＮｎに分散させることができる。
【００７４】
また、ルートノードは、ユーザノードから受信した検索メッセージに含まれるコンテンツＩＤに対応して記憶部２２により記憶されているインデックス情報のうち、対応するアップロード可能量が第１閾値以上であるインデックス情報を決定してユーザノードに送信する。そして、ユーザノードが、受信したインデックス情報が示すコンテンツ保持ノードからコンテンツを取得する。従って、パブリッシュメッセージに含まれて送信されてくるアップロード可能量に基づいて、コンテンツをアップロードさせるコンテンツ保存ノードを決定することができる。また、ルートノードによって、アップロード可能量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【００７５】
また、ルートノードが、記憶部２２により記憶されたアップロード可能量の総和が第２閾値以下であるか否かを判定する。また、ルートノードが、アップロード可能量の総和が第２閾値以下と判定されたコンテンツのコンテンツＩＤを含む委譲指示メッセージを、当該コンテンツの各コンテンツ保持ノードに対して送信する。そして、コンテンツ保持ノードは、受信した委譲指示メッセージに含まれるコンテンツＩＤが示すコンテンツを記憶部２２から取得して他のノードＮｎに送信する。従って、コンテンツ保持ノードからコンテンツを受信したノードＮｎが、受信したコンテンツを保存することにより、そのコンテンツの新たなコンテンツ保持ノードとなる。そのため、アップロードが可能な程度が低くなったコンテンツをアップロードすることができるコンテンツ保持ノードが増加する。よって、コンテンツ分散保存システムＳとしてコンテンツをアップロード可能な程度を上げることができる。
【００７６】
また、コンテンツ保持ノードは、パブリッシュメッセージを周期的に送信するので、ルートノードが記憶するアップロード可能量に、コンテンツ保持ノードの実際のアップロード可能量を確実に反映させることができる。
【００７７】
なお、上記実施形態においては、ユーザノードがコンテンツをダウンロードする場合、ルートノードが、アップロード可能量が第１閾値以上であるコンテンツ保持ノードを判断するようになっていた。しかしながら、ユーザノード側で判断を行っても良い。例えば、ルートノードは、検索メッセージを受信した場合、検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報とアップロード可能量とを対応付けてユーザノードに送信する。インデックス情報とアップロード可能量とを受信したユーザノードは、アップロード可能量が単位閾値以上であるインデックス情報を決定する。そして、ユーザノードは、決定したインデックス情報のうち何れかのインデックス情報が示すコンテンツ保持ノードからコンテンツをダウンロードする。
【００７８】
また、上記実施形態においては、ノードＮｎがパブリッシュメッセージを送信するとき、アップロード可能量をパブリッシュメッセージに含めていた。しかしながら、コンテンツの送信の余地があるか否かを示す情報をパブリッシュメッセージに含めても良い。例えば、ノードＮｎは、現在コンテンツをアップロードすることが可能であるか不可能であるかを示すフラグ情報をパブリッシュメッセージに含める。この場合、ノードＮｎは、アップロード可能量が第１閾値以上である場合には、アップロード可能を示すフラグ情報を含むパブリッシュメッセージを送信する。一方、ノードＮｎは、アップロード可能量が第１閾値未満である場合には、アップロード不可能を示すフラグ情報を含むパブリッシュメッセージを送信する。パブリッシュメッセージを受信したルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤをインデックス情報として記憶部２２に記憶させるとともに、パブリッシュメッセージに含まれるフラグ情報を記憶部２２に記憶させる。
【００７９】
フラグ情報をパブリッシュメッセージに含める場合も、アップロード可能量が第１閾値以上であるコンテンツ保持ノードを判断するノードは、ルートノードであっても良いし、ユーザノードであっても良い。ルートノードが判断を行う場合、ルートノードは、受信した検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報のうち、対応するフラグ情報がアップロード可能を示すインデックス情報を選択する。そして、ルートノードは、選択したインデックス情報をユーザノードに送信する。一方、ユーザノードが判断を行う場合、ルートノードは、受信した検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報とフラグ情報とを対応付けてユーザノードに送信する。インデックス情報とフラグ情報とを受信したユーザノードは、フラグ情報がアップロード可能を示すインデックス情報を選択する。そして、ユーザノードは、選択したインデックス情報のうち何れかのインデックス情報が示すコンテンツ保持ノードからコンテンツをダウンロードする。
【００８０】
また、フラグ情報をパブリッシュメッセージに含める場合、ルートノードによって委譲を指示すべきコンテンツを判断する方法が、アップロード可能量を用いた場合と異なる。例えば、ルートノードは、注目するコンテンツのコンテンツＩＤに対応付けて記憶部２２記憶されているフラグ情報のうち、アップロード可能を示すフラグ情報の総数を算出する。この総数が、コンテンツ分散保存システムＳ全体として当該コンテンツのアップロードが可能な程度を示す情報となる。そして、ルートノードは、算出した総数が所定値以下である場合に、注目するコンテンツの委譲を指示する。つまり、コンテンツをアップロード可能であるコンテンツ保持ノードの数が所定値以下になった場合に、コンテンツの委譲が行われる。
【００８１】
また、上記実施形態において、各ノードＮｎは、コンテンツをダウンロードして保存した場合に加えて、周期的にパブリッシュメッセージを送信していた。しかしながら、周期的なタイミングとは別のタイミングでパブリッシュメッセージの送信が行われても良い。例えば、ノードＮｎが、コンテンツをアップロードする度にアップロード可能量を計算する。そして、ノードＮｎが、コンテンツをアップロードしたときに、パブリッシュメッセージを送信しても良い。この場合、アップロード可能量が変化する度に、最新のアップロード可能量を含むパブリッシュメッセージが送信されることになる。よって、ルートノードにより記憶されるアップロード可能量に、現在の状況を正確に反映させることができる。また、ノードＮｎが、アップロード可能量が単位閾値未満になったときに、パブリッシュメッセージを送信しても良い。この場合であれば、送信されるパブリッシュメッセージを減らすことができる。
【００８２】
また、上記実施形態においては、オーバーレイネットワークに、ＤＨＴを利用したピアツーピアネットワークが適用されていたが、これに限られるものではない。例えば、他のピアツーピアシステム、または、オーバーレイネットワークを用いたシステムが適用されても良い。ＤＨＴを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。ハイブリッド型のピアツーピアシステムの場合、例えば、所定のサーバ装置が、全てのコンテンツのインデックス情報を管理する。この場合、本発明の情報処理装置として、このサーバ装置を適用することができる。
【符号の説明】
【００８３】
３  ＩＸ
４ａ、４ｂ  ＩＳＰ
５ａ、５ｂ  ＤＳＬ回線業者の装置
６  ＦＴＴＨ回線業者の装置
７  通信回線
８  ネットワーク
９  オーバーレイネットワーク
１１  制御部
１２  記憶部
１３  通信部
１４  表示部
１５  入力部
１６  バス
２１  制御部
２２  記憶部
２３  バッファメモリ
２４  デコーダ部
２５  映像処理部
２６  表示部
２７  音声処理部
２８  スピーカ
２９  通信部
３０  入力部
３１  バス
Ｎｎ  ノード
ＳＡ  センターサーバ
Ｓ  コンテンツ分散保存システム
【図１】
2011192133.tif 000003
【図２】
2011192133.tif 000004
【図３】
2011192133.tif 000005
【図４】
2011192133.tif 000006
【図５】
2011192133.tif 000007
【図６】
2011192133.tif 000008