説明

情報通信システム、情報処理装置、情報通信方法、及び情報通信プログラム

【課題】特定のノード装置によりコンテンツの送信が過剰に行われることを防止する。
【解決手段】複数のノード装置に分散して保存されるコンテンツを記憶する1以上のコンテンツ保持ノード装置の所在を示す所在情報と、所在情報が所在を示すコンテンツ保持ノード装置が、情報通信システムとしてコンテンツのアップロードが可能な程度を示す第1情報と、を対応付けて記憶する第1記憶手段を備える情報処理装置と、第1記憶手段により記憶された第1情報に基づいて、コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上であるコンテンツ保持ノード装置からコンテンツを取得する第1取得手段を備えるノード装置と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))方式の通信システムの技術分野に関する。
【背景技術】
【0002】
近年、特許文献1に開示されているようなピアツーピア方式の通信システムが注目されている。このピアツーピア方式の通信システムでは、ノード装置がコンテンツを取得する場合、例えば、要求されたコンテンツを保存する何れかのノード装置が、要求を行ったノード装置に対してコンテンツを送信する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−197400号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、例えば、人気の高いコンテンツを保存するノード装置は、他のノード装置からコンテンツの要求を頻繁に受けるので、その度にコンテンツの送信を行わなければならない。このように、特定のノード装置がコンテンツの送信を集中して行う場合がある。そうすると、特定のノード装置から送信されるデータ量が大きくなる。こうした状況に対応するため、ネットワーク接続サービスを提供するISP(Internet Service Provider)等の通信事業者は、回線増強等の設備投資を行う必要がある。
【0005】
そこで、本発明は、以上の点に鑑みてなされたものである。本発明は、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる情報通信システム、情報処理装置、情報通信方法、及び情報通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、請求項1に記載の発明は、ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムであって、前記複数のノード装置に分散して保存されるコンテンツを記憶する1以上のコンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第1情報と、を対応付けて記憶する第1記憶手段を備える情報処理装置と、前記第1記憶手段により記憶された第1情報に基づいて、前記コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上である前記コンテンツ保持ノード装置からコンテンツを取得する第1取得手段を備えるノード装置と、を備えることを特徴とする。
【0007】
この発明によれば、情報処理装置が、情報通信システムとしてコンテンツのアップロードが可能な程度を管理することができる。よって、コンテンツのアップロードが可能な程度に基づいて、ノード装置が、アップロード可能データ量に余裕があるコンテンツ保持ノードからコンテンツを取得することができる。よって、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる。
【0008】
請求項2に記載の発明は、前記情報処理装置は、前記第1記憶手段により記憶された前記第1情報に基づいて、前記第1記憶手段により記憶された前記所在情報が所在を示す前記コンテンツ保持ノードのうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第1決定手段と、前記第1決定手段により決定された前記コンテンツ保持ノード装置の前記所在情報を前記ノード装置に送信する第1送信手段と、を更に備え、前記ノード装置は、前記情報処理装置から送信された前記所在情報を受信する第1受信手段を更に備え、前記ノード装置の前記第1取得手段は、前記第1受信手段により受信された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする。
【0009】
この発明によれば、情報処理装置によって、アップロード可能データ量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【0010】
請求項3に記載の発明は、前記情報処理装置は、前記第1記憶手段により対応付けて記憶された前記所在情報及び前記第1情報を前記ノード装置に送信する第1送信手段を更に備え、前記ノード装置は、前記情報処理装置から送信された前記所在情報及び前記第1情報を受信する第1受信手段と、前記受信手段により受信された前記第1情報に基づいて、前記所在情報が所在を示す前記コンテンツ保持ノード装置のうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノードを決定する第2決定手段と、を更に備え、前記ノード装置の前記第1取得手段は、前記第2決定手段により決定された前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする。
【0011】
この発明によれば、コンテンツを取得するノード装置によって、アップロード可能データ量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【0012】
請求項4に記載の発明は、前記ノード装置は、コンテンツを記憶する第2記憶手段と、前記第2記憶手段により記憶されたコンテンツの公開を示す公開メッセージであり、前記第2記憶手段を備える前記ノード装置の前記所在情報と、前記ノード装置がコンテンツをアップロードしたデータ量に基づく他の前記ノード装置へのコンテンツのアップロードの余地を示す第2情報と、を含む公開メッセージを前記情報処理装置に送信する第2送信手段と、を更に備え、前記情報処理装置の第1記憶手段は、前記所在情報と前記第1情報とをコンテンツ毎に対応付けて記憶し、前記情報処理装置は、前記ノード装置から送信された前記公開メッセージを受信する第2受信手段と、前記第2受信手段により受信された前記公開メッセージに含まれる前記第2情報に基づいて、当該公開メッセージに含まれる前記所在情報に対応付けて前記第1記憶手段により記憶された前記第1情報を更新する更新手段と、を更に備えることを特徴とする。
【0013】
この発明によれば、情報処理装置が、各ノード装置におけるコンテンツのアップロードの余地に基づいて、情報通信システムとしてコンテンツのアップロードが可能な程度をコンテンツ毎に管理することができる。よって、特定のコンテンツを保存するノード装置によりコンテンツの送信が過剰に行われることを防止することができる。
【0014】
請求項5に記載の発明は、前記情報処理装置の前記第1記憶手段は、前記所在情報と前記第2情報とを、コンテンツの識別情報に対応付けて記憶し、前記情報処理装置は、前記ノード装置から前記識別情報を含む問い合わせメッセージを受信する第3受信手段と、前記第3受信手段により受信された前記問い合わせメッセージに含まれる前記識別情報に対応して前記第1記憶手段により記憶されている前記第2情報に基づいて、当該識別情報に対応して前記第1記憶手段により記憶されている前記所在情報の中から、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第3決定手段と、前記第3決定手段により決定された前記所在情報を前記ノード装置に送信する第4送信手段と、を更に備え、前記ノード装置は、取得すべきコンテンツの前記識別情報を含む前記問い合わせメッセージを送信する第3送信手段と、前記情報処理装置から送信された前記所在情報を受信する第4受信手段と、を更に備え、前記ノード装置の前記第1取得手段は、前記第4受信手段により受信された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする。
【0015】
この発明によれば、アップロード可能データ量が所定データ量以上であるノード装置がコンテンツをアップロードするので、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる。また、情報処理装置によって、アップロード可能データ量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【0016】
請求項6に記載の発明は、前記情報処理装置の前記第1記憶手段は、前記所在情報と前記第2情報とを、コンテンツの識別情報に対応付けて記憶し、前記情報処理装置は、前記ノード装置から前記識別情報を含む問い合わせメッセージを受信する第3受信手段と、前記第1記憶手段により対応付けて記憶されている前記所在情報及び前記第2情報のうち、前記第3受信手段により受信された前記問い合わせメッセージに含まれる前記識別情報に対応する前記所在情報及び前記第2情報を前記ノード装置に送信する第4送信手段と、を更に備え、前記ノード装置は、取得すべきコンテンツの前記識別情報を含む前記問い合わせメッセージを送信する第3送信手段と、前記情報処理装置から送信された前記所在情報及び前記第2情報を受信する第4受信手段と、前記第4受信手段により受信された前記第2情報に基づいて、前記第4受信手段により受信された前記所在情報の中から前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第4決定手段と、を更に備え、前記第1取得手段は、前記第4決定手段により決定された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする。
【0017】
この発明によれば、アップロード可能データ量が所定データ量以上であるノード装置がコンテンツをアップロードするので、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる。また、コンテンツを取得するノード装置によって、アップロード可能データ量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【0018】
請求項7に記載の発明は、前記情報処理装置は、前記第1記憶手段により記憶された前記第1情報が示すコンテンツの送信可能程度が、予め定められた程度以下であるか否かを判定する判定手段と、前記判定手段により前記送信可能程度が前記予め定められた程度以下であると判定されたコンテンツの識別情報を含む送信指示メッセージを、当該コンテンツに対応して前記第1記憶手段により記憶されている前記所在情報が所在を示す前記コンテンツ保持ノード装置に送信する第5送信手段と、を更に備え、前記ノード装置は、前記情報処理装置から送信された前記送信指示メッセージを受信する第5受信手段と、前記第5受信手段により受信された前記送信指示メッセージに含まれる前記識別情報が示すコンテンツを前記第2記憶手段から取得して他の前記ノード装置に送信する第6送信手段と、を更に備えることを特徴とする。
【0019】
この発明によれば、送信指示メッセージを受信したコンテンツ保持ノード装置からコンテンツを受信したノード装置が、受信したコンテンツを保存することにより、そのコンテンツの新たなコンテンツ保持ノード装置となる。そのため、アップロードが可能な程度が低くなったコンテンツをアップロードすることができるコンテンツ保持ノード装置が増加する。よって、情報通信システムとしてコンテンツをアップロード可能な程度を上げることができる。
【0020】
請求項8に記載の発明は、前記ノード装置の前記第2送信手段は、他の前記ノード装置にコンテンツがアップロードされたときに、アップロードされたコンテンツについての前記公開メッセージを送信することを特徴とする。
【0021】
この発明によれば、アップロード可能データ量が変化する度に公開メッセージが送信されるので、情報処理装置が記憶する第1情報が、コンテンツ保持ノード装置のコンテンツのアップロードの余地を正確に反映させることができる。
【0022】
請求項9に記載の発明は、前記ノード装置の前記第2送信手段は、前記第2記憶手段により記憶されたコンテンツを現時点でアップロードすることができる前記アップロード可能データ量が前記所定データ量未満になったときに、前記アップロード可能データ量が前記所定データ量未満になったコンテンツについての前記公開メッセージを送信することを特徴とする。
【0023】
この発明によれば、コンテンツをアップロードすることができなくなったときに公開メッセージが送信されるようにすることができるので、送受信される公開メッセージを減らすことができる。
【0024】
請求項10に記載の発明は、ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムにおいて、前記複数のノード装置に分散して保存されるコンテンツを記憶する1以上のコンテンツ保持ノード装置の所在を示す所在情報を、前記コンテンツを取得するノード装置へ提供する情報処理装置であって、前記コンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第1情報と、を対応付けて記憶する第1記憶手段を備えることを特徴とする。
【0025】
請求項11に記載の発明は、前記第1記憶手段により記憶された前記第1情報に基づいて、前記第1記憶手段により記憶された前記所在情報が所在を示す前記コンテンツ保持ノードのうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第1決定手段と、前記第1決定手段により決定された前記コンテンツ保持ノード装置の前記所在情報を、コンテンツを取得する前記ノード装置に送信する第1送信手段と、を更に備えることを特徴とする。
【0026】
請求項12に記載の発明は、ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムであって、情報処理装置と前記複数のノード装置とを備える情報通信システムにおける情報通信方法において、前記情報処理装置が、前記複数のノード装置に分散して保存されるコンテンツを記憶する1以上のコンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第1情報と、を対応付けて第1記憶手段に記憶させる第1記憶工程と、前記ノード装置が、前記第1記憶手段により記憶された第1情報に基づいて、前記コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上である前記コンテンツ保持ノード装置からコンテンツを取得する第1取得工程と、を含むことを特徴とする。
【0027】
請求項13に記載の発明は、ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムにおいて、前記複数のノード装置に分散して保存されるコンテンツを記憶する1以上のコンテンツ保持ノード装置の所在を示す所在情報を、前記コンテンツを取得するノード装置へ提供する情報処理装置に含まれるコンピュータに、前記コンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第1情報と、を対応付けて第1記憶手段に記憶させる第1記憶ステップを実行させることを特徴とする。
【発明の効果】
【0028】
本発明によれば、情報処理装置が、情報通信システムとしてコンテンツのアップロードが可能な程度を管理することができる。よって、コンテンツのアップロードが可能な程度に基づいて、ノード装置が、アップロード可能データ量に余裕があるコンテンツ保持ノードからコンテンツを取得することができる。よって、特定のノード装置によりコンテンツの送信が過剰に行われることを防止することができる。
【図面の簡単な説明】
【0029】
【図1】一実施形態におけるコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。
【図2】一実施形態におけるコンテンツ分散保存システムSの動作概要の一例を示す図である。
【図3】センターサーバSAの概要構成例を示す図である。
【図4】ノードNnの概要構成例を示す図である。
【図5】一実施形態におけるノードNnの処理例を示すフローチャートである。
【図6】一実施形態におけるノードNnの処理例を示すフローチャートである。
【発明を実施するための形態】
【0030】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
【0031】
[1.コンテンツ分散保存システムの概要構成及び動作概要]
始めに、図1を参照して、本実施形態におけるコンテンツ分散保存システムの構成及び動作概要について説明する。図1は、本実施形態におけるコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。図1は、コンテンツ分散保存システムSの具体的構成図101と、概念的構成図100とから構成される。コンテンツ分散保存システムSの具体的構成図101が示すように、コンテンツ分散保存システムSは、多数のノード装置Nn(n=1,2,3・・・の何れか)から構成される。
【0032】
図1の具体的構成図101内に示すように、コンテンツ分散保存システムSは、複数のノード装置Nnがインターネットを介して接続されることで構成される。また、図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者の装置5a,5b、FTTH(Fiber To The Home)回線事業者の装置6、及び通信回線7等によって、インターネット等のネットワーク8が構築されている。ネットワーク8は、現実世界の通信ネットワークである。なお、図1の例におけるネットワーク8には、データパケットを転送するためのルータが適宜挿入されているが、図1では図示を省略している。また、通信回線7としては、例えば、電話回線や光ケーブル等が用いられる。
【0033】
このようなネットワーク8には、複数のノード装置Nn(n=1,2,3・・・の何れか)が接続されている。以下、ノード装置を、「ノード」という。また、各ノードNnには、固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。そして、本実施形態におけるコンテンツ分散保存システムSは、これらのノードNnのうち、図1の概念的構成図100内に示すように、何れか複数のノードNnの接続により形成されるピアツーピア方式のネットワークシステムとなっている。
【0034】
なお、図1の概念的構成図100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9である。論理的なネットワークであるオーバーレイネットワーク9は、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムSに接続されている各ノードNnには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。
【0035】
なお、コンテンツ分散保存システムSへの接続は、接続していないノードNn、例えば、ノードN8が、接続している任意のノードNnに対してコンテンツ分散保存システムへの参加要求を示す参加メッセージを送信することによって行われる。コンテンツ分散保存システムSへの参加とは、ノード装置Nnがコンテンツ分散保存システムSに接続され、コンテンツ分散保存システムSからコンテンツデータを取得可能になることである。任意のノードNnは、例えば、システムSに常時接続しているコンタクトノードである。
【0036】
また、各ノードNnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ID空間内で適度に離れたノードNnのノードID、IPアドレス及びポート番号を含むが複数登録されている。コンテンツ分散保存システムSに接続している1台のノードは、必要最低限のノードNnのノード情報をルーティングテーブルとして記憶している。各ノードNn間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードNnについてのノード情報が取得される。なお、IPアドレス及びポート番号は、本発明の所在情報の一例である。
【0037】
コンテンツ分散保存システムSは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノードNnに分散して保存する。以下、コンテンツデータを、「コンテンツ」という。そして、各ノードNn間でレプリカが利用可能になっている。各コンテンツのオリジナルはセンターサーバSAに保存されている。また、コンテンツのレプリカが保存されるノードNを、「コンテンツ保持ノード」という。また、以下の説明においては、オリジナルのコンテンツとレプリカとを特に区別することなく、コンテンツと称する。上述のコンテンツには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツID等の情報が付加されている。なお、コンテンツIDは、本発明の識別情報の一例である。
【0038】
分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理(記憶)しているノードNnにより記憶される。以下、コンテンツの所在を管理(記憶)しているノードNnを、「ルートノード」という。インデックス情報は、コンテンツを保存したノードNnのノード情報と、コンテンツのコンテンツIDと等の組を含む。このようなルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノードNnであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。なお、ルートノードは、情報処理装置の一例である。
【0039】
そして、或るノードNnのユーザが、所望するコンテンツを取得したい場合、このコンテンツの取得を望むノードNnは、メッセージを生成する。以下、ユーザによりコンテンツの取得を望むノードNnを、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツID及びユーザノードのIPアドレス等を含む検索メッセージである。検索メッセージは、コンテンツ保持ノードを検索するためのメッセージである。上述の検索メッセージが、ユーザノードが取得するDHTのルーティングテーブルに従って、他のノードNnに対して送出される。つまり、ユーザノードは、検索メッセージを、ルートノードに向けて送出する。これにより、検索メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。なお、検索メッセージは、本発明の問い合わせメッセージの一例である。
【0040】
各ノードNnにおいて、コンテンツのコンテンツ名及びコンテンツID等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバSAにより作成されて、全てのノードNnに配信される。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
【0041】
上記検索メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックス情報キャッシュから取得する。取得されたインデックス情報は、検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツをダウンロード(取得)することができる。ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのIPアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、取得を望むコンテンツのコンテンツIDが含まれている。コンテンツ要求メッセージを受信したコンテンツ保持ノードは、コンテンツ要求メッセージに含まれるコンテンツIDに対応するコンテンツをユーザノードに送信(アップロード)する。このようにして、ユーザノードは、コンテンツをダウンロードすることが可能になる。なお、インデックス情報には、複数のコンテンツ保持ノードのノード情報が含まれていることもある。この場合、ユーザノードは、この複数のコンテンツ保持ノードのうち1つのコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツをダウンロードすることができる。
【0042】
なお、ルートノードは、このインデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信しても良い。これにより、ユーザノードは、上記コンテンツ保持ノードからそのコンテンツをダウンロードすることもできる。また、上記ユーザノードは、検索メッセージがルートノードに辿り着くまでの間に、このルートノードと同じインデックス情報をキャッシュしているキャッシュノードからこのインデックス情報を取得することもできる。
【0043】
また、ユーザノードは、コンテンツ保持ノードからコンテンツを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツID及びコンテンツを保存したノード装置のノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツを保持するコンテンツ保持ノードとなる。なお、パブリッシュメッセージは、本発明の公開メッセージの一例である。
【0044】
[2.コンテンツをアップロードするデータ量の制限]
コンテンツ分散保存システムSは、各ノードNnが、他のノードへ過剰にコンテンツをアップロードしないように構成されている。より詳細に、集計期間内におけるアップロード可能量が所定の閾値である第1閾値以上であるコンテンツ保持ノードが、コンテンツをアップロードするように制御される。
【0045】
アップロード可能量は、集計期間内であとどの程度コンテンツをアップロードする余地があるかを示すデータ量である。このアップロード可能量は、1つの集計期間あたりの許容アップロード量からその集計期間内の総アップロード量を引いた値である。第1閾値は、例えば、システム全体で統一された値が予め設定されていたり、コンテンツ毎に予め設定されていたりする。総アップロード量は、他のノードNnにコンテンツをアップロードしたデータ量の合計値である。許容アップロード量は、例えば、ノードNn毎に予め設定されている。例えば、これ以上のデータ量をアップロードしてはならないという絶対的な上限値が存在する場合、許容アップロード量は、絶対的な上限値よりも小さい値が設定される。集計期間は、アップロード可能量を算出する上での単位となる期間である。或る集計期間にコンテンツがアップロードされたデータ量の合計値が、その集計期間の総アップロード量となる。集計期間は、例えば、システム全体で統一された値が予め設定されていたり、コンテンツ毎に予め設定されていたりする。
【0046】
各ノードNnのアップロード可能量は、ルートノードが、コンテンツ毎にコンテンツ保持ノードのインデックス情報と対応付けて記憶する。コンテンツ毎のアップロード可能量の総和が、コンテンツ保存システムS全体として当該コンテンツのアップロードが可能な程度を示す情報となる。ルートノードが記憶するインデックス情報に含まれるノード情報とアップロード可能量とに基づいて、コンテンツをアップロードするコンテンツ保持ノードが決定される。このアップロード可能量は、ノード情報とともに、コンテンツ保持ノードから送信されるパブリッシュメッセージに含まれる。なお、アップロード可能量は、本発明の第2情報の一例である。また、アップロード可能量の総和は、本発明の第1情報の一例である。また、第1閾値は、本発明の所定データ量の一例である。また、集計期間は、本発明の所定の期間の一例である。
【0047】
具体的には、図2に示すように、ユーザノードとして、例えばノードN3が、ダウンロードしたいコンテンツのルートノードである例えばノードN1に向けて検索メッセージを送信する(図2(1))。検索メッセージを受信したノードN1は、検索メッセージに含まれるコンテンツIDに対応するインデックス情報のうち、対応するアップロード可能量が第1閾値以上であるインデックス情報を所定数決定する。そして、ノードN1は、決定したインデックス情報をノードN3に送信する(図2(2))。インデックス情報を受信したノードN3は、受信したインデックス情報から何れかのインデックス情報を選択する。そして、ノード3は、選択したインデックス情報が示すコンテンツ保持ノード、例えばノードN6からコンテンツをダウンロードする(図2(3))。
【0048】
また、各ノードNnは、それぞれが保存しているコンテンツのパブリッシュメッセージを、例えば、定期的に送信している。例えば、或るコンテンツのコンテンツ保持ノードであるノードN3及びN6がパブリッシュメッセージを送信する(図2(4))。パブリッシュメッセージには、そのときのコンテンツ保持ノードのアップロード可能量が含まれている。このパブリッシュメッセージを、ルートノードである例えばノードN1がそれぞれ受信する。すると、ノードNnは、ノードN3及びN6それぞれのインデックス情報に対応付けて記憶していたアップロード可能量を、受信したパブリッシュメッセージに含まれるアップロード可能量に変更する。
【0049】
また、ノードN1は、例えば定期的に、アップロード可能量の総和をコンテンツ毎に算出する(図2(5))。ノードN1は、算出された総和が所定の閾値である第2閾値以下である場合には、コンテンツの委譲を指示する。コンテンツの委譲とは、対象となるコンテンツをアップロードすることができるコンテンツ保持ノードを増やすことをいう。そして、コンテンツの委譲は、対象となるコンテンツを他のノードNnに送信して保存させることにより行われる。第2閾値は、例えば、システム全体で統一された値が予め設定されていたり、コンテンツ毎に予め設定されていたりする。コンテンツの委譲を指示する場合、ノードN1は、各コンテンツ保持ノードに対してコンテンツ委譲指示メッセージを送信する(図2(6))。委譲指示メッセージには、委譲対象のコンテンツとして、アップロード可能量の総和が第2閾値以下となったコンテンツのコンテンツIDが含まれている。なお、第2閾値は、本発明の予め定められた程度の一例である。また、委譲指示メッセージは、本発明の送信指示メッセージの一例である。
【0050】
コンテンツ委譲指示メッセージを受信したノードN3は、委譲対象のコンテンツを、例えば、ノードN4に送信する。また、コンテンツ委譲指示メッセージを受信したノードN6は、委譲対象のコンテンツを、例えば、ノードN5に送信する(図2(7))。その後、コンテンツ保持ノードとなったノードN4及びN5から、それぞれノードN1に向けてパブリッシュメッセージが送信される。よって、ノードN1が記憶するインデックス情報及びアップロード可能量の個数が増加する。そして、アップロード可能量の総和も増加する。
【0051】
なお、集計期間が経過すると、また新たな集計期間が開始される。すると、ノードNnは、総アップロード量をゼロにリセットする。これにより、アップロード可能量が増加する。このタイミングにおいても、ノードNnは、パブリッシュメッセージを送信しても良い。
【0052】
[3.各装置の構成及び機能]
次に、図3及び図4を参照して、各装置の構成及び機能について説明する。図3は、センターサーバSAの概要構成例を示す図である。また、図4は、ノードNnの概要構成例を示す図である。
【0053】
[3.1 センターサーバSAの構成]
センターサーバSAは、図3に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成された制御部11を備えている。また、センターサーバSAは、各種データ及び各種プログラム等を記憶保存するためのHD等から構成された記憶部12を備えている。更に、センターサーバSAは、ネットワーク8等を通じてノードNnとの間の情報の通信制御を行うための通信部13を備えている。また更に、センターサーバSAは、各種情報を表示するCRT,液晶ディスプレイ等の表示部14を備えている。更にまた、センターサーバSAは、オペレータからの指示を受け付けこの指示に応じた指示信号を制御部11に対して与える入力部15(例えば、キーボード、マウス等)を備えている。そして、制御部11、記憶部12、通信部13、表示部14、及び入力部15はバス16を介して相互に接続されている。
【0054】
記憶部12には、各ノードNnのノードID、IPアドレス及びポート番号等が記憶されている。制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、センターサーバSA全体を統括制御する。
【0055】
[3.2 ノードNnの構成]
各ノードNnは、図4に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部21を備えている。また、各ノードNnは、各種データ及び各種プログラム等を記憶保存するためのHD(ハードディスク)等から構成された記憶部22と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ23とを備えている。更に、各ノードNnは、コンテンツのレプリカに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコードするデコーダ部24を備えている。また更に、各ノードNnは、このデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部25と、この映像処理部25から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部26と、を備えている。更にまた、各ノードNnは、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部27と、この音声処理部27から出力されたオーディオ信号を音波として出力するスピーカ28と、を備えている。また更に、各ノードNnは、ネットワーク8を通じて他のノードNn等間の情報の通信制御を行うための通信部29を備えている。更にまた、各ノードNnは、ユーザからの指示を受け付けこの指示に応じた指示信号を制御部21に対して与える入力部30(例えば、キーボード、マウス、或いは、リモコンや操作パネル等)を備えている。そして、制御部21、記憶部22、バッファメモリ23、デコーダ部24、通信部29、及び入力部30はバス31を介して相互に接続されている。
【0056】
記憶部22は、第1記憶手段及び第2記憶手段の一例を構成する。この記憶部22には、DHTを用いたルーティングテーブル、並びに、コンテンツ分散保存システムSに参加する際のアクセス先となるコンタクトノードのアドレス情報、及びセンターサーバSAのアドレス情報等が記憶されている。また、記憶部22には、インデックス情報とアップロード可能量とが、対応付けて記憶されている。また、記憶部22には、ダウンロードされたコンテンツが、コンテンツIDに対応付けて記憶されている。また、記憶部22には、許容アップロード量、現時点での総アップロード量、第1閾値、第2閾値、コンテンツ送信履歴等の情報が記憶されている。
【0057】
更に、記憶部22には、オペレーティングシステム、P2Pソフトウェア(本発明の情報通信プログラムを含む)等の各種プログラムが記憶されている。P2Pソフトウェアは、オーバーレイネットワーク9に接続し、他のノードNnとの通信等を行うためのソフトウェアである。なお、P2Pソフトウェアは、例えば、センターサーバSA等からダウンロードされるようにしても良い。また、P2Pソフトウェアは、例えば、記録媒体に記録されて当該記録媒体からドライブを介して読み込まれるようにしても良い。
【0058】
制御部21は、CPUが記憶部22等に記憶されたプログラムを読み出して実行することにより、第1取得手段、第1決定手段、第1送信手段、第1受信手段、第2決定手段、第2送信手段、第2受信手段、更新手段、第2取得手段、第3受信手段、第3決定手段、第4送信手段、第3送信手段、第4受信手段、第4決定手段、判定手段、第5送信手段、第5受信手段、及び第6送信手段として機能する。
【0059】
[4.コンテンツ分散保存システムの動作]
次に、図5及び図6を参照して、本実施形態におけるコンテンツ分散保存システムSの動作について説明する。図5及び図6は、本実施形態におけるノードNnの処理例を示すフローチャートである。なお、図5及び図6においては、本実施形態の説明に必要ではない処理については、図示を省略している。
【0060】
図5に示す処理は、例えば、ユーザがP2PソフトウェアをノードNnに実行させることによって開始される。先ず、制御部21は、ユーザの操作によるP2Pソフトウェアの終了要求があったか否かを判定する(ステップS1)。このとき、制御部21は、終了要求がなかった場合には(ステップS1:NO)、他のノードNnからコンテンツ要求メッセージを受信したか否かを判定する(ステップS2)。このとき、制御部21は、コンテンツ要求メッセージを受信した場合には(ステップS2:YES)、コンテンツ要求メッセージを送信してきたノードNnに対して、記憶部22に記憶されているコンテンツをアップロードする(ステップS3)。次いで、制御部21は、アップロードしたコンテンツのデータ量を現在の総アップロード量に加算して、総アップロード量を更新する(ステップS4)。次いで、制御部21は、コンテンツ送信履歴を更新する(ステップS5)。例えば、制御部21は、アップロードされたコンテンツのコンテンツID及び現在日時を、記憶部22に記憶されているコンテンツ送信履歴中に記録する。制御部21は、ステップS5の処理を終えると、ステップS1に移行する。
【0061】
ステップS2において、制御部21は、コンテンツ要求メッセージを受信していない場合には(ステップS2:NO)、他のノードNnから検索メッセージを受信したか否かを判定する(ステップS6)。このとき、制御部21は、第3受信手段として、検索メッセージを受信した場合には(ステップS6:YES)、ノードNn自身が、受信した検索メッセージに含まれるコンテンツIDが示すコンテンツのルートノードであるか否かを判定する(ステップS7)。このとき、制御部21は、ノードNn自身がルートノードである場合には(ステップS7:YES)、記憶部22に記憶されているインデックス情報をソートする(ステップS8)。具体的に、制御部21は、受信した検索メッセージに含まれるコンテンツIDに対応するインデックス情報を、それぞれに対応付けて記憶部22に記憶されているアップロード可能量の大きい順にソートする。次いで、制御部21は、第1決定手段及び第3決定手段として、ソートされたインデックス情報のうち、アップロード可能量が第1閾値以上であるインデックス情報を所定数選択する。なお、アップロード可能量が第1閾値以上であるインデックス情報が所定数ない場合、アップロード可能量が第1閾値以上である全てのインデックス情報が選択される。そして、制御部21は、第1送信手段及び第4送信手段として、検索メッセージを送信してきたノードNnに対して、選択したインデックス情報を送信する(ステップS9)。制御部21は、ステップS9の処理を終えると、ステップS1に移行する。
【0062】
ステップS7において、制御部21は、ノードNn自身がルートノードではない場合には(ステップS7:NO)、ルーティングテーブルを用いて、検索メッセージを他のノードNnに中継する(ステップS10)。制御部21は、ステップS9の処理を終えると、ステップS1に移行する。
【0063】
ステップS6において、制御部21は、検索メッセージを受信していない場合には(ステップS6:NO)、図6に示すように、記憶部22に記憶されているコンテンツ全てについてパブリッシュメッセージを送信するタイミングであるか否かを判定する(ステップS11)。例えば、前回パブリッシュメッセージを送信してから所定時間が経過している場合、制御部21は、パブリッシュメッセージを送信するタイミングであると判定する(ステップS11:YES)。この場合、制御部21は、第2取得手段として、現時点のアップロード可能量を算出する(ステップS12)。具体的に、制御部21は、以下の式を計算する。
アップロード可能量=許容アップロード量−総アップロード量
【0064】
次いで、制御部21は、記憶部22に記憶されているコンテンツの中からコンテンツを1つ選択する(ステップS13)。次いで、制御部21は、第2送信手段として、選択したコンテンツのパブリッシュメッセージを当該コンテンツのルートノードへ向けて送信する(ステップS14)。このとき、制御部21は、選択したコンテンツのコンテンツID、ノードNn自身のノード情報、及びアップロード可能量をパブリッシュメッセージに含める。次いで、制御部21は、予め設定された規定時間待機する(ステップS15)。
【0065】
次いで、制御部21は、記憶部22に記憶されているコンテンツを全て選択したか否かを判定する(ステップS16)。このとき、制御部21は、選択していないコンテンツが存在する場合には(ステップS16:NO)、選択していないコンテンツの中からコンテンツを1つ選択する(ステップS17)。次いで、制御部21は、ステップS14に移行する。一方、制御部21は、記憶部22に記憶されているコンテンツを全て選択した場合には(ステップS16:YES)、ステップS1に移行する。
【0066】
ステップS11において、制御部21は、例えば、前回パブリッシュメッセージを送信してからまだ所定時間が経過していない場合には、パブリッシュメッセージを送信するタイミングではないと判定する(ステップS11:NO)。この場合、制御部21は、コンテンツの委譲を指示するタイミングであるか否かを判定する(ステップS18)。例えば、前回コンテンツの委譲を指示してから所定時間が経過している場合、制御部21は、コンテンツの委譲を指示するタイミングであると判定する(ステップS18:YES)。この場合、制御部21は、ノードNn自身がルートノードとして管理しているコンテンツの中からコンテンツを1つ選択する(ステップS19)。次いで、制御部21は、選択したコンテンツのコンテンツIDに対応付けて記憶部22に記憶されているアップロード可能量の総和を算出する(ステップS20)。次いで、制御部21は、判定手段として、算出した総和が第2閾値以下であるか否かを判定する(ステップS21)。このとき、制御部21は、算出した総和が第2閾値以下である場合には(ステップS21:YES)、第5送信手段として、選択したコンテンツの全てのコンテンツ保持ノードに対して、それぞれコンテンツ委譲指示メッセージを送信する(ステップS22)。このとき、制御部21は、選択したコンテンツのコンテンツIDをコンテンツ委譲指示メッセージに含める。 なお、コンテンツ委譲指示メッセージを受信した各ノードNnは、コンテンツ委譲指示メッセージに含まれるコンテンツIDに対応するコンテンツを他のノードNnに送信する。例えば、ノードNnは、ルーティングテーブルにノード情報が設定されているノードNnの中から委譲先のノードNnをランダムに選択する。そして、ノードNnは、選択した委譲先のノードNnに、委譲対象のコンテンツを送信する。そして、コンテンツを受信したノードNnは、受信したコンテンツを記憶部22に記憶させ、パブリッシュメッセージを送信する。
【0067】
次いで、制御部21は、ノードNn自身がルートノードとして管理しているコンテンツを全て選択したか否かを判定する(ステップS23)。制御部21は、ステップS21において、算出した総和が第2閾値より大きい場合(ステップS21:NO)、または、ステップS23において、選択していないコンテンツが存在する場合には(ステップS23:NO)、選択していないコンテンツの中からコンテンツを1つ選択する(ステップS24)。次いで、制御部21は、ステップS20に移行する。
【0068】
ステップS23において、制御部21は、ノードNn自身がルートノードとして管理しているコンテンツを全て選択した場合には(ステップS23:YES)、ステップS1に移行する。
【0069】
ステップS18において、制御部21は、前回コンテンツの委譲を指示してからまだ所定時間が経過していない場合には、前回コンテンツの委譲を指示するタイミングではないと判定する(ステップS18:NO)。この場合、制御部21は、ステップS1に移行する。
【0070】
ステップS1において、制御部21は、終了要求があった場合には(ステップS1:YES)、図5及び図6に示す処理を終了させる。
【0071】
以上説明したように、本実施形態によれば、ルートノードの記憶部22が、各コンテンツ保持ノードのノード情報を含むインデックス情報を記憶部22に記憶する。また、ルートノードの記憶部22が、コンテンツ分散保存システムS全体としての各コンテンツ保持ノードのアップロード可能量をインデックス情報に対応付けて記憶する。そして、ユーザノードが、ルートノードに記憶されたアップロード可能量が単位閾値以上であるコンテンツ保持ノードからコンテンツを取得する。従って、ルートノードが、コンテンツ分散保存システムSとしてコンテンツのアップロードが可能な程度を管理することができる。よって、ユーザノードが、アップロード可能量に余裕があるコンテンツ保持ノードからコンテンツを取得することができる。よって、特定のノードNnによりコンテンツの送信が過剰に行われることを防止することができる。
【0072】
また、ルートノードの記憶部22は、インデックス情報とアップロード可能量とをコンテンツ毎に対応付けて記憶する。従って、ルートノードが、コンテンツのアップロードが可能な程度をコンテンツ毎に管理することができる。
【0073】
また、ルートノードが、受信したパブリッシュメッセージに含まれるインデックス情報とアップロード可能量とを対応付けて記憶部22に記憶させる。従って、ルートノードが、ノードNnにコンテンツをアップロードさせる程度を更にノードNn毎に管理することができる。よって、特定のコンテンツのアップロードの程度を、複数のノードNnに分散させることができる。
【0074】
また、ルートノードは、ユーザノードから受信した検索メッセージに含まれるコンテンツIDに対応して記憶部22により記憶されているインデックス情報のうち、対応するアップロード可能量が第1閾値以上であるインデックス情報を決定してユーザノードに送信する。そして、ユーザノードが、受信したインデックス情報が示すコンテンツ保持ノードからコンテンツを取得する。従って、パブリッシュメッセージに含まれて送信されてくるアップロード可能量に基づいて、コンテンツをアップロードさせるコンテンツ保存ノードを決定することができる。また、ルートノードによって、アップロード可能量に余裕があるコンテンツ保持ノードをコンテンツの取得先として決定することができる。
【0075】
また、ルートノードが、記憶部22により記憶されたアップロード可能量の総和が第2閾値以下であるか否かを判定する。また、ルートノードが、アップロード可能量の総和が第2閾値以下と判定されたコンテンツのコンテンツIDを含む委譲指示メッセージを、当該コンテンツの各コンテンツ保持ノードに対して送信する。そして、コンテンツ保持ノードは、受信した委譲指示メッセージに含まれるコンテンツIDが示すコンテンツを記憶部22から取得して他のノードNnに送信する。従って、コンテンツ保持ノードからコンテンツを受信したノードNnが、受信したコンテンツを保存することにより、そのコンテンツの新たなコンテンツ保持ノードとなる。そのため、アップロードが可能な程度が低くなったコンテンツをアップロードすることができるコンテンツ保持ノードが増加する。よって、コンテンツ分散保存システムSとしてコンテンツをアップロード可能な程度を上げることができる。
【0076】
また、コンテンツ保持ノードは、パブリッシュメッセージを周期的に送信するので、ルートノードが記憶するアップロード可能量に、コンテンツ保持ノードの実際のアップロード可能量を確実に反映させることができる。
【0077】
なお、上記実施形態においては、ユーザノードがコンテンツをダウンロードする場合、ルートノードが、アップロード可能量が第1閾値以上であるコンテンツ保持ノードを判断するようになっていた。しかしながら、ユーザノード側で判断を行っても良い。例えば、ルートノードは、検索メッセージを受信した場合、検索メッセージに含まれるコンテンツIDに対応するインデックス情報とアップロード可能量とを対応付けてユーザノードに送信する。インデックス情報とアップロード可能量とを受信したユーザノードは、アップロード可能量が単位閾値以上であるインデックス情報を決定する。そして、ユーザノードは、決定したインデックス情報のうち何れかのインデックス情報が示すコンテンツ保持ノードからコンテンツをダウンロードする。
【0078】
また、上記実施形態においては、ノードNnがパブリッシュメッセージを送信するとき、アップロード可能量をパブリッシュメッセージに含めていた。しかしながら、コンテンツの送信の余地があるか否かを示す情報をパブリッシュメッセージに含めても良い。例えば、ノードNnは、現在コンテンツをアップロードすることが可能であるか不可能であるかを示すフラグ情報をパブリッシュメッセージに含める。この場合、ノードNnは、アップロード可能量が第1閾値以上である場合には、アップロード可能を示すフラグ情報を含むパブリッシュメッセージを送信する。一方、ノードNnは、アップロード可能量が第1閾値未満である場合には、アップロード不可能を示すフラグ情報を含むパブリッシュメッセージを送信する。パブリッシュメッセージを受信したルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツIDをインデックス情報として記憶部22に記憶させるとともに、パブリッシュメッセージに含まれるフラグ情報を記憶部22に記憶させる。
【0079】
フラグ情報をパブリッシュメッセージに含める場合も、アップロード可能量が第1閾値以上であるコンテンツ保持ノードを判断するノードは、ルートノードであっても良いし、ユーザノードであっても良い。ルートノードが判断を行う場合、ルートノードは、受信した検索メッセージに含まれるコンテンツIDに対応するインデックス情報のうち、対応するフラグ情報がアップロード可能を示すインデックス情報を選択する。そして、ルートノードは、選択したインデックス情報をユーザノードに送信する。一方、ユーザノードが判断を行う場合、ルートノードは、受信した検索メッセージに含まれるコンテンツIDに対応するインデックス情報とフラグ情報とを対応付けてユーザノードに送信する。インデックス情報とフラグ情報とを受信したユーザノードは、フラグ情報がアップロード可能を示すインデックス情報を選択する。そして、ユーザノードは、選択したインデックス情報のうち何れかのインデックス情報が示すコンテンツ保持ノードからコンテンツをダウンロードする。
【0080】
また、フラグ情報をパブリッシュメッセージに含める場合、ルートノードによって委譲を指示すべきコンテンツを判断する方法が、アップロード可能量を用いた場合と異なる。例えば、ルートノードは、注目するコンテンツのコンテンツIDに対応付けて記憶部22記憶されているフラグ情報のうち、アップロード可能を示すフラグ情報の総数を算出する。この総数が、コンテンツ分散保存システムS全体として当該コンテンツのアップロードが可能な程度を示す情報となる。そして、ルートノードは、算出した総数が所定値以下である場合に、注目するコンテンツの委譲を指示する。つまり、コンテンツをアップロード可能であるコンテンツ保持ノードの数が所定値以下になった場合に、コンテンツの委譲が行われる。
【0081】
また、上記実施形態において、各ノードNnは、コンテンツをダウンロードして保存した場合に加えて、周期的にパブリッシュメッセージを送信していた。しかしながら、周期的なタイミングとは別のタイミングでパブリッシュメッセージの送信が行われても良い。例えば、ノードNnが、コンテンツをアップロードする度にアップロード可能量を計算する。そして、ノードNnが、コンテンツをアップロードしたときに、パブリッシュメッセージを送信しても良い。この場合、アップロード可能量が変化する度に、最新のアップロード可能量を含むパブリッシュメッセージが送信されることになる。よって、ルートノードにより記憶されるアップロード可能量に、現在の状況を正確に反映させることができる。また、ノードNnが、アップロード可能量が単位閾値未満になったときに、パブリッシュメッセージを送信しても良い。この場合であれば、送信されるパブリッシュメッセージを減らすことができる。
【0082】
また、上記実施形態においては、オーバーレイネットワークに、DHTを利用したピアツーピアネットワークが適用されていたが、これに限られるものではない。例えば、他のピアツーピアシステム、または、オーバーレイネットワークを用いたシステムが適用されても良い。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。ハイブリッド型のピアツーピアシステムの場合、例えば、所定のサーバ装置が、全てのコンテンツのインデックス情報を管理する。この場合、本発明の情報処理装置として、このサーバ装置を適用することができる。
【符号の説明】
【0083】
3 IX
4a、4b ISP
5a、5b DSL回線業者の装置
6 FTTH回線業者の装置
7 通信回線
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 通信部
14 表示部
15 入力部
16 バス
21 制御部
22 記憶部
23 バッファメモリ
24 デコーダ部
25 映像処理部
26 表示部
27 音声処理部
28 スピーカ
29 通信部
30 入力部
31 バス
Nn ノード
SA センターサーバ
S コンテンツ分散保存システム

【特許請求の範囲】
【請求項1】
ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムであって、
前記複数のノード装置に分散して保存されるコンテンツを記憶する1以上のコンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第1情報と、を対応付けて記憶する第1記憶手段を備える情報処理装置と、
前記第1記憶手段により記憶された第1情報に基づいて、前記コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上である前記コンテンツ保持ノード装置からコンテンツを取得する第1取得手段を備えるノード装置と、
を備えることを特徴とする情報通信システム。
【請求項2】
前記情報処理装置は、
前記第1記憶手段により記憶された前記第1情報に基づいて、前記第1記憶手段により記憶された前記所在情報が所在を示す前記コンテンツ保持ノードのうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第1決定手段と、
前記第1決定手段により決定された前記コンテンツ保持ノード装置の前記所在情報を前記ノード装置に送信する第1送信手段と、
を更に備え、
前記ノード装置は、
前記情報処理装置から送信された前記所在情報を受信する第1受信手段を更に備え、
前記ノード装置の前記第1取得手段は、前記第1受信手段により受信された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする請求項1に記載の情報通信システム。
【請求項3】
前記情報処理装置は、
前記第1記憶手段により対応付けて記憶された前記所在情報及び前記第1情報を前記ノード装置に送信する第1送信手段を更に備え、
前記ノード装置は、
前記情報処理装置から送信された前記所在情報及び前記第1情報を受信する第1受信手段と、
前記受信手段により受信された前記第1情報に基づいて、前記所在情報が所在を示す前記コンテンツ保持ノード装置のうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノードを決定する第2決定手段と、
を更に備え、
前記ノード装置の前記第1取得手段は、前記第2決定手段により決定された前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする請求項1に記載の情報通信システム。
【請求項4】
前記ノード装置は、
コンテンツを記憶する第2記憶手段と、
前記第2記憶手段により記憶されたコンテンツの公開を示す公開メッセージであり、前記第2記憶手段を備える前記ノード装置の前記所在情報と、前記ノード装置がコンテンツをアップロードしたデータ量に基づく他の前記ノード装置へのコンテンツのアップロードの余地を示す第2情報と、を含む公開メッセージを前記情報処理装置に送信する第2送信手段と、
を更に備え、
前記情報処理装置の第1記憶手段は、前記所在情報と前記第1情報とをコンテンツ毎に対応付けて記憶し、
前記情報処理装置は、
前記ノード装置から送信された前記公開メッセージを受信する第2受信手段と、
前記第2受信手段により受信された前記公開メッセージに含まれる前記第2情報に基づいて、当該公開メッセージに含まれる前記所在情報に対応付けて前記第1記憶手段により記憶された前記第1情報を更新する更新手段と、
を更に備えることを特徴とする請求項1に記載の情報通信システム。
【請求項5】
前記情報処理装置の前記第1記憶手段は、前記所在情報と前記第2情報とを、コンテンツの識別情報に対応付けて記憶し、
前記情報処理装置は、
前記ノード装置から前記識別情報を含む問い合わせメッセージを受信する第3受信手段と、
前記第3受信手段により受信された前記問い合わせメッセージに含まれる前記識別情報に対応して前記第1記憶手段により記憶されている前記第2情報に基づいて、当該識別情報に対応して前記第1記憶手段により記憶されている前記所在情報の中から、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第3決定手段と、
前記第3決定手段により決定された前記所在情報を前記ノード装置に送信する第4送信手段と、
を更に備え、
前記ノード装置は、
取得すべきコンテンツの前記識別情報を含む前記問い合わせメッセージを送信する第3送信手段と、
前記情報処理装置から送信された前記所在情報を受信する第4受信手段と、
を更に備え、
前記ノード装置の前記第1取得手段は、前記第4受信手段により受信された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする請求項4に記載の情報通信システム。
【請求項6】
前記情報処理装置の前記第1記憶手段は、前記所在情報と前記第2情報とを、コンテンツの識別情報に対応付けて記憶し、
前記情報処理装置は、
前記ノード装置から前記識別情報を含む問い合わせメッセージを受信する第3受信手段と、
前記第1記憶手段により対応付けて記憶されている前記所在情報及び前記第2情報のうち、前記第3受信手段により受信された前記問い合わせメッセージに含まれる前記識別情報に対応する前記所在情報及び前記第2情報を前記ノード装置に送信する第4送信手段と、
を更に備え、
前記ノード装置は、
取得すべきコンテンツの前記識別情報を含む前記問い合わせメッセージを送信する第3送信手段と、
前記情報処理装置から送信された前記所在情報及び前記第2情報を受信する第4受信手段と、
前記第4受信手段により受信された前記第2情報に基づいて、前記第4受信手段により受信された前記所在情報の中から前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第4決定手段と、
を更に備え、
前記第1取得手段は、前記第4決定手段により決定された前記所在情報が所在を示す前記コンテンツ保持ノード装置からコンテンツを取得することを特徴とする請求項4に記載の情報通信システム。
【請求項7】
前記情報処理装置は、
前記第1記憶手段により記憶された前記第1情報が示すコンテンツの送信可能程度が、予め定められた程度以下であるか否かを判定する判定手段と、
前記判定手段により前記送信可能程度が前記予め定められた程度以下であると判定されたコンテンツの識別情報を含む送信指示メッセージを、当該コンテンツに対応して前記第1記憶手段により記憶されている前記所在情報が所在を示す前記コンテンツ保持ノード装置に送信する第5送信手段と、
を更に備え、
前記ノード装置は、
前記情報処理装置から送信された前記送信指示メッセージを受信する第5受信手段と、
前記第5受信手段により受信された前記送信指示メッセージに含まれる前記識別情報が示すコンテンツを前記第2記憶手段から取得して他の前記ノード装置に送信する第6送信手段と、
を更に備えることを特徴とする請求項4乃至6の何れか1項に記載の情報通信システム。
【請求項8】
前記ノード装置の前記第2送信手段は、他の前記ノード装置にコンテンツがアップロードされたときに、アップロードされたコンテンツについての前記公開メッセージを送信することを特徴とする請求項4乃至7の何れか1項に記載の情報通信システム。
【請求項9】
前記ノード装置の前記第2送信手段は、前記第2記憶手段により記憶されたコンテンツを現時点でアップロードすることができる前記アップロード可能データ量が前記所定データ量未満になったときに、前記アップロード可能データ量が前記所定データ量未満になったコンテンツについての前記公開メッセージを送信することを特徴とする請求項4乃至8の何れか1項に記載の情報通信システム。
【請求項10】
ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムにおいて、前記複数のノード装置に分散して保存されるコンテンツを記憶する1以上のコンテンツ保持ノード装置の所在を示す所在情報を、前記コンテンツを取得するノード装置へ提供する情報処理装置であって、
前記コンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第1情報と、を対応付けて記憶する第1記憶手段を備えることを特徴とする情報処理装置。
【請求項11】
前記第1記憶手段により記憶された前記第1情報に基づいて、前記第1記憶手段により記憶された前記所在情報が所在を示す前記コンテンツ保持ノードのうち、前記アップロード可能データ量が前記所定データ量以上である前記コンテンツ保持ノード装置の前記所在情報を決定する第1決定手段と、
前記第1決定手段により決定された前記コンテンツ保持ノード装置の前記所在情報を、コンテンツを取得する前記ノード装置に送信する第1送信手段と、
を更に備えることを特徴とする請求項10に記載の情報処理装置。
【請求項12】
ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムであって、情報処理装置と前記複数のノード装置とを備える情報通信システムにおける情報通信方法において、
前記情報処理装置が、前記複数のノード装置に分散して保存されるコンテンツを記憶する1以上のコンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第1情報と、を対応付けて第1記憶手段に記憶させる第1記憶工程と、
前記ノード装置が、前記第1記憶手段により記憶された第1情報に基づいて、前記コンテンツ保持ノード装置のうち、コンテンツをアップロードすることができるアップロード可能データ量が予め定められた所定データ量以上である前記コンテンツ保持ノード装置からコンテンツを取得する第1取得工程と、
を含むことを特徴とする情報通信方法。
【請求項13】
ネットワークに接続する複数のノード装置が互いに接続されるオーバーレイネットワークにより、前記複数のノード装置夫々がコンテンツの送信元となり、他のノード装置へコンテンツを送信する情報通信システムにおいて、前記複数のノード装置に分散して保存されるコンテンツを記憶する1以上のコンテンツ保持ノード装置の所在を示す所在情報を、前記コンテンツを取得するノード装置へ提供する情報処理装置に含まれるコンピュータに、
前記コンテンツ保持ノード装置の所在を示す所在情報と、前記所在情報が所在を示す前記コンテンツ保持ノード装置が、前記情報通信システムとしてコンテンツのアップロードが可能な程度を示す第1情報と、を対応付けて第1記憶手段に記憶させる第1記憶ステップ
を実行させることを特徴とする情報通信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−192133(P2011−192133A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−58934(P2010−58934)
【出願日】平成22年3月16日(2010.3.16)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】