(57)【特許請求の範囲】
【請求項１】
ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）により通信可能な第１ノード装置、または、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）により通信可能な第２ノード装置を含む複数のノード装置により構成される情報通信システムであって、
前記ノード装置は、
前記ノード装置がＩＰｖ４で通信可能かを判定する第１判定手段と、
前記ノード装置がＩＰｖ６で通信可能かを判定する第２判定手段と、
前記第１判定手段によりＩＰｖ４で通信可能と判定された場合、ＩＰｖ４で通信可能な第１ノード装置を用いて生成された第１ルーティングテーブルを、ネットワークに接続された所定の装置から取得する第１取得手段と、
前記第２判定手段によりＩＰｖ６で通信可能と判定された場合、ＩＰｖ６で通信可能な第２ノード装置を用いて生成された第２ルーティングテーブルを、ネットワークに接続された所定の装置から取得する第２取得手段と、
前記第１判定手段によりＩＰｖ４で通信可能と判定され、且つ、前記第２判定手段によりＩＰｖ６で通信可能と判定された場合、所定の優先順位に従って、前記第１ルーティングテーブル、または、前記第２ルーティングテーブルのいずれかを、前記第１取得手段または前記第２取得手段に取得させる制御手段と、
を備えることを特徴とするノード装置。
【請求項２】
前記ノード装置は、
前記第１取得手段または前記第２取得手段により取得された前記第１ルーティングテーブルまたは前記第２ルーティングテーブルを用いて、前記情報通信システムを制御するメッセージの送受信を制御する第２制御手段と、
前記第１ルーティングテーブルを用いて送受信される第１メッセージ、または、前記第２ルーティングテーブルを用いて送受信される第２メッセージの少なくともいずれか一方を受信する受信手段と、
を備え、
前記第１判定手段によりＩＰｖ４で通信可能と判定され、且つ、前記第２判定手段によりＩＰｖ６で通信可能と判定された場合、前記第２制御手段は、所定の優先順位により従って前記制御手段により取得された第１ルーティングテーブルまたは第２ルーティングテーブルを用いて通信可能なインターネットプロトコルとは異なるインターネットプロトコルにより受信されたメッセージの送信を実行しないことを特徴とする請求項１に記載のノード装置。
【請求項３】
ＩＰｖ４により通信可能な複数のノード装置により構成される第１オーバーレイネットワークの通信負荷と、ＩＰｖ６により通信可能な複数のノード装置により構成される第２オーバーレイネットワークの通信負荷とに基づいて、前記制御手段は、前記所定の優先順位として、通信負荷の高いオーバーレイネットワークで通信可能なルーティングテーブルを取得させることを特徴とする請求項１または請求項２に記載のノード装置。
【請求項４】
前記情報通信システムは、
ＩＰｖ４により通信可能な複数のノード装置により構成される第１オーバーレイネットワークへの参加要求を、前記情報通信システムに参加する参加ノード装置から受信する第１コンタクトノードと、
ＩＰｖ６により通信可能な複数のノード装置により構成される第２オーバーレイネットワークへの参加要求を、前記参加ノード装置から受信する第２コンタクトノードと、
をさらに備え、
前記ノード装置は、
前記第１コンタクトノードと、前記第２コンタクトノード夫々のネットワークの所在を示す所在情報を記憶する記憶手段と、
前記記憶手段に記憶された前記所在情報に基づいて、前記第１コンタクトノードと前記第２コンタクトノードへの接続を要求する要求手段と、を備え、
前記第１判定手段は、前記要求手段により接続を要求した結果、前記第１コンタクトノードと接続できた場合、ＩＰｖ４により通信可能と判定し、
前記第２判定手段は、前記第２コンタクトノードと接続できた場合、ＩＰｖ６により通信可能と判定することを特徴とする請求項１から請求項３のいずれか一項に記載のノード装置。
【請求項５】
ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）により通信可能な第１ノード装置、または、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）により通信可能な第２ノード装置を含む複数のノード装置により構成される情報通信システムであって、
前記ノード装置のコンピュータに、
前記ノード装置がＩＰｖ４で通信可能かを判定する第１判定ステップと、
前記ノード装置がＩＰｖ６で通信可能かを判定する第２判定ステップと、
前記第１判定ステップによりＩＰｖ４で通信可能と判定され、且つ、前記第２判定ステップによりＩＰｖ６で通信可能と判定された場合、所定の優先順位に従って、ＩＰｖ４で通信可能な第１ノード装置を用いて生成された第１ルーティングテーブル、または、ＩＰｖ６で通信可能な第２ノード装置を用いて生成された第２ルーティングテーブルのいずれかを、所定の装置から取得する取得ステップと、
を実行させることを特徴とするプログラム。
【請求項６】
ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）により通信可能な第１ノード装置、または、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）により通信可能な第２ノード装置を含む複数のノード装置により構成される情報通信システムの情報通信方法であって、
前記ノード装置がＩＰｖ４で通信可能かを、前記ノード装置に判定させる第１判定ステップと、
前記ノード装置がＩＰｖ６で通信可能かを、前記ノード装置に判定させる第２判定ステップと、
前記第１判定ステップによりＩＰｖ４で通信可能と判定され、且つ、前記第２判定ステップによりＩＰｖ６で通信可能と判定された場合、所定の優先順位に従って、ＩＰｖ４で通信可能な第１ノード装置を用いて生成された第１ルーティングテーブル、または、ＩＰｖ６で通信可能な第２ノード装置を用いて生成された第２ルーティングテーブルのいずれかを、前記ノード装置に所定の装置から、前記ノード装置に取得させる取得ステップと、
を含む情報通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））方式の通信システムの技術分野に関する。
【背景技術】
【０００２】
近年、特許文献１に開示されているようなピアツーピア方式の通信システムが注目されている。ピアツーピア方式の通信システムは、現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として注目されている。このピアツーピア方式の通信システムでは、センターのサーバ装置に対するコンテンツの要求が集中しない。そのため、サーバクライアント方式に比して、短時間でコンテンツを取得することが可能となる。具体的には、特許文献１には、ソフトウェアを単位としたグループごとに、複数のＤＨＴ（Distributed Hash Table）のルーティングテーブルが生成される技術が開示されている。また、特許文献２には、各拠点に接続するノード装置を用いて、各拠点ごとにルーティングテーブルが生成される技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２１７１３５号公報
【特許文献２】特開２０１１−７１６４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）のアドレス資源の枯渇に伴い、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）への移行が進みつつある。ＩＰｖ４からＩＰｖ６へ移行する過程において、ＩＰｖ４とＩＰｖ６との両方のプロトコルが、ネットワークに共存することが考えられる。ＩＰｖ４とＩＰｖ６とが共存するネットワーク環境でＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）型のシステムが動作する場合、ＩＰｖ４で通信可能ノード装置と、ＩＰｖ６で通信可能なノード装置が混在するオーバーレイネットワークが生成される。特許文献２に記載の技術を用いると、オーバーレイネットワークの中には、コンテンツごとにルートノードが決定される必要がある。この場合、１つのオーバーレイネットワークに、ＩＰｖ４で通信可能なルートノードと、ＩＰｖ６で通信可能なルートノードの２種類のルートノードを決定する必要がある。しかしながら、特許文献２に記載の技術では、１つのオーバーレイネットワークの中に、ＩＰｖ４のルートノードと、ＩＰｖ６のルートノードを一意に決定することができなかった。そのため、ＩＰｖ６とＩＰｖ４とでプロトコルが異なるためコンテンツが取得できず、Ｐ２Ｐシステムを動作させることができなかった。
【０００５】
本発明は、以上の点に鑑みてなされたものである。本発明は、ＩＰｖ４とＩＰｖ６とが共存するネットワーク環境であっても、ＩＰｖ４で通信可能なルートノードとＩＰｖ６で通信可能なルートノードを、１つのオーバーレイネットワークで設定する必要が無く、Ｐ２Ｐシステムを動作させることが可能なノード装置、情報通信方法及びプログラム等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明によれば、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）により通信可能な第１ノード装置、または、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）により通信可能な第２ノード装置を含む複数のノード装置により構成される情報通信システムであって、前記ノード装置は、前記ノード装置がＩＰｖ４で通信可能かを判定する第１判定手段と、前記ノード装置がＩＰｖ６で通信可能かを判定する第２判定手段と、前記第１判定手段によりＩＰｖ４で通信可能と判定された場合、ＩＰｖ４で通信可能な第１ノード装置を用いて生成された第１ルーティングテーブルを、ネットワークに接続された所定の装置から取得する第１取得手段と、前記第２判定手段によりＩＰｖ６で通信可能と判定された場合、ＩＰｖ６で通信可能な第２ノード装置を用いて生成された第２ルーティングテーブルを、ネットワークに接続された所定の装置から取得する第２取得手段と、前記第１判定手段によりＩＰｖ４で通信可能と判定され、且つ、前記第２判定手段によりＩＰｖ６で通信可能と判定された場合、所定の優先順位に従って、前記第１ルーティングテーブル、または、前記第２ルーティングテーブルのいずれかを、前記第１取得手段または前記第２取得手段に取得させる制御手段と、を備えることを特徴とするノード装置である。
【０００７】
請求項２に記載の発明によれば、前記ノード装置は、前記第１取得手段または前記第２取得手段により取得された前記第１ルーティングテーブルまたは前記第２ルーティングテーブルを用いて、前記情報通信システムを制御するメッセージの送受信を制御する第２制御手段と、前記第１ルーティングテーブルを用いて送受信される第１メッセージ、または、前記第２ルーティングテーブルを用いて送受信される第２メッセージの少なくともいずれか一方を受信する受信手段と、を備え、前記第１判定手段によりＩＰｖ４で通信可能と判定され、且つ、前記第２判定手段によりＩＰｖ６で通信可能と判定された場合、前記第２制御手段は、所定の優先順位により従って前記制御手段により取得された第１ルーティングテーブルまたは第２ルーティングテーブルを用いて通信可能なインターネットプロトコルとは異なるインターネットプロトコルにより受信されたメッセージの送信を実行しないことを特徴とする。
【０００８】
請求項３に記載の発明によれば、ＩＰｖ４により通信可能な複数のノード装置により構成される第１オーバーレイネットワークの通信負荷と、ＩＰｖ６により通信可能な複数のノード装置により構成される第２オーバーレイネットワークの通信負荷とに基づいて、前記制御手段は、前記所定の優先順位として、通信負荷の高いオーバーレイネットワークで通信可能なルーティングテーブルを取得させることを特徴とする。
【０００９】
請求項４に記載の発明によれば、前記情報通信システムは、ＩＰｖ４により通信可能な複数のノード装置により構成される第１オーバーレイネットワークへの参加要求を、前記情報通信システムに参加する参加ノード装置から受信する第１コンタクトノードと、ＩＰｖ６により通信可能な複数のノード装置により構成される第２オーバーレイネットワークへの参加要求を、前記参加ノード装置から受信する第２コンタクトノードと、をさらに備え、前記ノード装置は、前記第１コンタクトノードと、前記第２コンタクトノード夫々のネットワークの所在を示す所在情報を記憶する記憶手段と、前記記憶手段に記憶された前記所在情報に基づいて、前記第１コンタクトノードと前記第２コンタクトノードへの接続を要求する要求手段と、を備え、前記第１判定手段は、前記要求手段により接続を要求した結果、前記第１コンタクトノードと接続できた場合、ＩＰｖ４により通信可能と判定し、前記第２判定手段は、前記第２コンタクトノードと接続できた場合、ＩＰｖ６により通信可能と判定することを特徴とする。
【００１０】
請求項５に記載の発明によれば、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）により通信可能な第１ノード装置、または、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）により通信可能な第２ノード装置を含む複数のノード装置により構成される情報通信システムであって、前記ノード装置のコンピュータに、前記ノード装置がＩＰｖ４で通信可能かを判定する第１判定ステップと、前記ノード装置がＩＰｖ６で通信可能かを判定する第２判定ステップと、前記第１判定ステップによりＩＰｖ４で通信可能と判定され、且つ、前記第２判定ステップによりＩＰｖ６で通信可能と判定された場合、所定の優先順位に従って、ＩＰｖ４で通信可能な第１ノード装置を用いて生成された第１ルーティングテーブル、または、ＩＰｖ６で通信可能な第２ノード装置を用いて生成された第２ルーティングテーブルのいずれかを、所定の装置から取得する取得ステップと、を実行させることを特徴とするプログラムである。
【００１１】
請求項６に記載の発明によれば、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）により通信可能な第１ノード装置、または、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）により通信可能な第２ノード装置を含む複数のノード装置により構成される情報通信システムの情報通信方法であって、前記ノード装置がＩＰｖ４で通信可能かを、前記ノード装置に判定させる第１判定ステップと、前記ノード装置がＩＰｖ６で通信可能かを、前記ノード装置に判定させる第２判定ステップと、前記第１判定ステップによりＩＰｖ４で通信可能と判定され、且つ、前記第２判定ステップによりＩＰｖ６で通信可能と判定された場合、所定の優先順位に従って、ＩＰｖ４で通信可能な第１ノード装置を用いて生成された第１ルーティングテーブル、または、ＩＰｖ６で通信可能な第２ノード装置を用いて生成された第２ルーティングテーブルのいずれかを、前記ノード装置に所定の装置から、前記ノード装置に取得させる取得ステップと、を含む情報通信方法である。
【発明の効果】
【００１２】
請求項１に記載の発明によれば、制御手段は、第１判定手段によりＩＰｖ４で通信可能と判定され、且つ、第２判定手段によりＩＰｖ６で通信可能と判定された場合、所定の優先順位に従って、第１ルーティングテーブル、または、第２ルーティングテーブルのいずれかを、第１取得手段または第２取得手段に取得させる。従って、ＩＰｖ４のオーバーレイネットワークと、ＩＰｖ６のオーバーレイネットワークとの２つのオーバーレイネットワークを構築することで、１つのオーバーレイネットワークの中に、ＩＰｖ４のルートノードと、ＩＰｖ６のルートノードを一意に決定する必要がない。さらに、ＩＰｖ６とＩＰｖ４との両方で通信可能なノード装置であっても、ＩＰｖ４またはＩＰｖ６いずれか１つのインターネットプロトコルで通信可能なルーティングテーブルで情報の送受信を行うため、ＩＰｖ６とＩＰｖ４とでプロトコルが異なるためコンテンツが取得できないという問題が発生せず、効率的に情報通信システムを動作させることができる。
【００１３】
請求項２に記載の発明によれば、第１判定手段によりＩＰｖ４で通信可能と判定され、且つ、第２判定手段によりＩＰｖ６で通信可能と判定された場合、第２制御手段は、所定の優先順位により従って制御手段により取得された第１ルーティングテーブルまたは第２ルーティングテーブルを用いて通信可能なインターネットプロトコルとは異なるインターネットプロトコルにより受信されたメッセージの送信を実行しない。従って、ＩＰｖ６とＩＰｖ４との両方で通信可能なノード装置であっても、制御手段により取得されたルーティングテーブルで通信可能なインターネットプロトコルとは異なるインターネットプロトコルのノード装置へメッセージを送らなくて良い。この結果、通信可能なインターネットプロトコルとは異なるノード装置により構成されるオーバーレイネットワークへ不要なメッセージを送信しないため、不要なメッセージがネットワーク内で送信されず、情報通信システムのネットワーク帯域を効率的使用できる。
【００１４】
請求項３に記載の発明によれば、ＩＰｖ４により通信可能な複数のノード装置により構成される第１オーバーレイネットワークの通信負荷と、ＩＰｖ６により通信可能な複数のノード装置により構成される第２オーバーレイネットワークの通信負荷とに基づいて、制御手段は、所定の優先順位として、通信負荷の高いオーバーレイネットワークで通信可能なルーティングテーブルを取得させる。この結果、通信負荷の高いオーバーレイネットワークへノード装置を接続させることで、通信負荷を分散させることができ、情報通信システムを効率的に動作させることができる。
【００１５】
請求項４に記載の発明によれば、情報通信システムは、ＩＰｖ４により通信可能な複数のノード装置により構成される第１オーバーレイネットワークへの参加要求を、情報通信システムに参加する参加ノード装置から受信する第１コンタクトノードと、ＩＰｖ６により通信可能な複数のノード装置により構成される第２オーバーレイネットワークとへの参加要求を、参加ノード装置から受信する第２コンタクトノードと、をさらに備える。第１判定手段は、要求手段により接続を要求した結果、第１コンタクトノードと接続できた場合、ＩＰｖ４により通信可能と判定する。第２判定手段は、第２コンタクトノードと接続できた場合、ＩＰｖ６により通信可能と判定する。従って、ＩＰｖ４で通信可能かまたはＩＰｖ６で通信可能かの判定を、第１コンタクトノードまたは第２コンタクトノードの接続の有無により判定することができる。この結果、ＩＰｖ４で通信可能かまたはＩＰｖ６で通信可能かを判定する特別なソフトウェア処理が、ノード装置に必要ないため、効率的に情報通信システムを動作させることができる。
【００１６】
請求項５に記載の発明によれば、取得ステップは、第１判定ステップによりＩＰｖ４で通信可能と判定され、且つ、第２判定ステップによりＩＰｖ６で通信可能と判定された場合、所定の優先順位に従って、ＩＰｖ４で通信可能な第１ノード装置を用いて生成された第１ルーティングテーブル、または、ＩＰｖ６で通信可能な第２ノード装置を用いて生成された第２ルーティングテーブルのいずれかを、所定の装置から取得する。従って、ＩＰｖ４のオーバーレイネットワークと、ＩＰｖ６のオーバーレイネットワークとの２つのオーバーレイネットワークを構築することで、１つのオーバーレイネットワークの中に、ＩＰｖ４のルートノードと、ＩＰｖ６のルートノードを一意に決定する必要がない。さらに、ＩＰｖ６とＩＰｖ４との両方で通信可能なノード装置であっても、ＩＰｖ４またはＩＰｖ６いずれか１つのインターネットプロトコルで通信可能なルーティングテーブルで情報の送受信を行うため、ＩＰｖ６とＩＰｖ４とでプロトコルが異なるためコンテンツが取得できないという問題が発生せず、効率的に情報通信システムを動作させることができる。
【００１７】
請求項６に記載の発明によれば、取得ステップは、第１判定ステップによりＩＰｖ４で通信可能と判定され、且つ、第２判定ステップによりＩＰｖ６で通信可能と判定された場合、所定の優先順位に従って、ＩＰｖ４で通信可能な第１ノード装置を用いて生成された第１ルーティングテーブル、または、ＩＰｖ６で通信可能な第２ノード装置を用いて生成された第２ルーティングテーブルのいずれかを、所定の装置から、前記ノード装置に取得する。従って、ＩＰｖ４のオーバーレイネットワークと、ＩＰｖ６のオーバーレイネットワークとの２つのオーバーレイネットワークを構築することで、１つのオーバーレイネットワークの中に、ＩＰｖ４のルートノードと、ＩＰｖ６のルートノードを一意に決定する必要がない。さらに、ＩＰｖ６とＩＰｖ４との両方で通信可能なノード装置であっても、ＩＰｖ４またはＩＰｖ６いずれか１つのインターネットプロトコルで通信可能なルーティングテーブルで情報の送受信を行うため、ＩＰｖ６とＩＰｖ４とでプロトコルが異なるためコンテンツが取得できないという問題が発生せず、効率的に情報通信システムを動作させることができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態の情報通信システムＳの概要構成図である。
【図２】本実施形態の参加処理を説明する説明図である。
【図３】本実施形態のブロードバンドルータＢＲの電気的構成を示すブロック図である。
【図４】本実施形態のブロードバンドルータＢＲにおけるメイン動作の処理手順を示すフローチャートである。
【発明を実施するための最良の形態】
【００１９】
［最良の実施形態］
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ピアツーピア型の情報通信システムに本発明を適用した場合の実施形態である。
【００２０】
［情報通信システムＳの概要構成］
始めに、図１を参照して、本実施形態における情報通信システムＳの概要構成について説明する。図１は、本実施形態における情報通信システムＳにおけるブロードバンドルータＢＲ及び各端末装置の接続態様の一例を示す図である。図１に示すように、情報通信システムＳは、複数のブロードバンドルータＢＲ（ＢＲ１、ＢＲ２、ＢＲ３）と、端末装置Ｔｍ−ｎ（ｍ＝１，２，３・・・の何れか、ｎ＝１，２，３・・・の何れか）から構成されている。端末装置Ｔｍ−ｎは、ネットワークＮＷを介して互いに通信可能である。このネットワークＮＷは、現実世界の通信ネットワークである。例えば、インターネットである。
【００２１】
ネットワークＮＷは、各拠点ネットワークＮＬｍを相互接続するためのネットワークである。このネットワークＮＷは、例えば、インターネットやＷＡＮ（Wide Area Network
）等である。そして、ネットワークＮＷは、例えば、ＩＸ（Internet Exchange）、ＩＳＰ（Internet Service Provider）、ＤＳＬ（Digital Subscriber Line）回線事業者の装置、ＦＴＴＨ（Fiber To The Home）回線事業者の装置、及び通信回線等によって構築されている。なお、ネットワークＮＷは、情報通信システムＳ専用のネットワークであっても良い。
【００２２】
本実施形態では、ネットワークＮＷ内に、１つ以上の各拠点ネットワークＮＬｍが形成される。また、各拠点ネットワークＮＬｍには、ブロードバンドルータＢＲが接続されている。また、各拠点のブロードバンドルータＢＲには、複数の端末装置Ｔｍ−ｎが接続されている。各拠点ネットワークＮＬｍは、夫々拠点ｍの敷地内に構築されたネットワークである。拠点としては、例えば、会社、学校、病院、塾等がある。この拠点ネットワークＮＬｍは、例えば、ＬＡＮ等により構築されている。或いは、拠点ネットワークＮＬｍは、複数のＬＡＮが相互接続して構築されたネットワークであっても良い。この場合、複数のＬＡＮは、ルータ等のネットワーク機器を介して接続される。複数のＬＡＮが相互接続されたネットワークとしては、例えば、ＣＡＮ（Campus Area Network）等がある。各拠点ネットワークＮＬｍには、ブロードバンドルータＢＲが接続されている。ブロードバンドルータＢＲの代わりに、ファイアウォールが接続されても良い。ブロードバンドルータＢＲは、拠点内に接続される端末装置Ｔｍ−ｎと、その拠点に接続される端末装置Ｔｍ−ｎ以外の端末装置Ｔｍ−ｎと、を通信可能にする通信機器である。ファイアウォール又はブロードバンドルータＢＲは、公知であるので詳細な説明は省略する。ブロードバンドルータＢＲ又はファイアウォールの何れが拠点に設置されるかは、拠点毎に任意に決定される。本実施形態の拠点ネットワークＮＬｍは、例えば、ＬＡＮ（Local Area Network）である。
【００２３】
また、ネットワークＮＷには、センターサーバＳＶが接続されている。センターサーバＳＶは、後述する第１オーバーレイネットワークＯＬまたは第２オーバーレイネットワークＰＬで送受信されるコンテンツデータのオリジナルを記憶する。また、センターサーバＳＶは、コンテンツカタログ情報をブロードバンドルータＢＲに送信する。コンテンツカタログ情報の詳細については後述する。センターサーバＳＶは、後述する第１オーバーレイネットワークＯＬまたは第２オーバーレイネットワークＰＬにコンテンツデータを投入する際に使用されるコンテンツＩＤを管理する。ここで、コンテンツデータの投入とは、コンテンツデータを端末装置Ｔｍ−ｎがブロードバンドルータＢＲから取得可能な状態におくことをいう。なお、コンテンツデータを、「コンテンツ」という。センターサーバＳＶの詳細な説明は、後述する。
【００２４】
各ブロードバンドルータＢＲには、固有の製造番号及びＩＰ（Internet Protocol）アドレスが割り当てられている。また、情報通信システムＳに接続されている各ブロードバンドルータＢＲには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。本実施形態の情報通信システムＳでは、コンテンツ配信のための第１オーバーレイネットワークＯＬと第２オーバーレイネットワークＰＬとが構築されている。第１オーバーレイネットワークＯＬ及び第２オーバーレイネットワークＰＬは、ネットワークＮＷ上に構築されたオーバーレイネットワークである。言い換えれば、第１オーバーレイネットワークＯＬ及び第２オーバーレイネットワークＰＬは、物理的なネットワーク上に生成される論理的なネットワークである。また、第１オーバーレイネットワークＯＬ及び第２オーバーレイネットワークＰＬは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「ＤＨＴ（Distributed Hash Table）」という。なお、ＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知である。なお、本実施形態のブロードバンドルータＢＲが、本発明のノード装置の一例である。本実施形態では、第１オーバーレイネットワークＯＬは、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）により通信可能なノード装置により構成される。また、第２オーバーレイネットワークＰＬは、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）により通信可能なノード装置により構成される。なお、本実施形態のノード装置は、第１オーバーレイネットワークＯＬまたは第２オーバーレイネットワークＰＬのいずれかのオーバーレイネットワークに参加することになる。
【００２５】
［第１オーバーレイネットワークＯＬ及び第２オーバーレイネットワークＰＬへの参加方法について］
以下、図２を参照して、第１オーバーレイネットワークＯＬ及び第２オーバーレイネットワークＰＬへの参加方法について説明する。図２は、本実施形態における第１オーバーレイネットワークＯＬ及び第２オーバーレイネットワークＰＬへの参加方法の説明を示す説明図である。以下の第１オーバーレイネットワークＯＬ及び第２オーバーレイネットワークＰＬの参加方法についての説明では、ブロードバンドルータＢＲを、単にノード装置と呼ぶ。
【００２６】
なお情報通信システムＳへの接続は、情報通信システムＳへ接続していないノード装置が、接続している任意のノード装置に対して情報通信システムＳへの参加要求を示す参加メッセージを送信することによって行われる。情報通信システムＳへの参加とは、ノード装置が情報通信システムＳに接続され、情報通信システムＳからコンテンツを取得可能になることである。つまり、第１オーバーレイネットワークＯＬまたは第２オーバーレイネットワークＰＬに参加するとは、ＤＨＴを用いたルーティングテーブルに基づいて第１オーバーレイネットワークＯＬまたは第２オーバーレイネットワークＰＬを介して他のノードとの間で各種メッセージを送受信できる状態に稼動することをいう。任意のノード装置は、例えば、情報通信システムＳに常時接続しているコンタクトノードである。情報通信システムＳへ参加するノード装置が、コンタクトノードへ参加メッセージを送信することで、ノード装置は、ＤＨＴのルーティングテーブルをコンタクトノードから取得することができる。なお、本実施形態では、ＩＰｖ４で通信可能な第１コンタクトノードと、ＩＰｖ６で通信可能な第２コンタクトノードの２つのコンタクトノードが存在する。第１コンタクトノードと第２コンタクトノードの２つのコンタクトノードを設置する代わりに、センターサーバＳＶが、第１コンタクトノード及び第２コンタクトノードとして機能しても良い。この場合、センターサーバＳＶは、ＩＰｖ４とＩＰｖ６との両方で通信可能なサーバ装置となる。なお、本実施形態では、第１コンタクトノードは第１ルーティングテーブルを記憶し、第２コンタクトノードは、第２ルーティングテーブルを記憶する。また、第１コンタクトノードと第２コンタクトノードの２つのコンタクトノードを設置する代わりに、センターサーバＳＶが用いられる場合、センターサーバＳＶが、第１ルーティングテーブルと第２ルーティングテーブルを記憶する。なお、第１ルーティングテーブルと第２ルーティングテーブルの詳細な説明は後述する。
【００２７】
図２では、まず、情報通信システムＳへ接続していないノード装置Ｔ５がＩＰｖ４で通信可能か否かを判定する（図２：（１））。また、ノード装置Ｔ５がＩＰｖ６で通信可能か否かを判定する（図２：（１））。
【００２８】
そして、ノード装置Ｔ５が、ＩＰｖ４でのみ通信可能であると判定された場合、第１オーバーレイネットワークＯＬに参加するために、第１コンタクトノードへ参加メッセージを送信する（図２：（２））。そして、ノード装置Ｔ５は、第１コンタクトノードから、第１ルーティングテーブルを取得する。第１ルーティングテーブルは、第１オーバーレイネットワークＯＬに接続するノード装置と通信可能なルーティングテーブルである。また、ノード装置Ｔ５が、ＩＰｖ６でのみ通信可能であると判定された場合、第２オーバーレイネットワークＰＬに参加するために、第２コンタクトノードへ参加メッセージを送信する（図２：（３））。そして、ノード装置Ｔ５は、第２コンタクトノードから、第２ルーティングテーブルを取得する。第２ルーティングテーブルは、第２オーバーレイネットワークＰＬに接続するノード装置と通信可能なルーティングテーブルである。
【００２９】
また、ノード装置Ｔ５が、ＩＰｖ４とＩＰｖ６との両方で通信可能であると判定された場合、第１オーバーレイネットワークＯＬまたは第２オーバーレイネットワークＰＬのいずれかのみに参加するために、第１コンタクトノードまたは第２コンタクトノードのいずれかへ参加メッセージを送信する。具体的には、ノード装置Ｔ５は、予め決められた優先順位に従って、第１オーバーレイネットワークＯＬか第２オーバーレイネットワークＰＬのいずれかのみに参加する。ノード装置Ｔ５が第１オーバーレイネットワークＯＬに参加した場合、第２オーバーレイネットワークＰＬに参加するノード装置から送信されたメッセージを破棄することになる。一方、ノード装置Ｔ５が第２オーバーレイネットワークＰＬに参加した場合、第１オーバーレイネットワークＯＬに参加するノード装置から送信されたメッセージを破棄することになる。
【００３０】
この結果、ＩＰｖ４のオーバーレイネットワークと、ＩＰｖ６のオーバーレイネットワークとの２つのオーバーレイネットワークを構築することで１つのオーバーレイネットワークの中に、ＩＰｖ４のルートノードと、ＩＰｖ６のルートノードを一意に決定する必要がない。さらに、ＩＰｖ６とＩＰｖ４との両方で通信可能なノード装置であっても、ＩＰｖ４またはＩＰｖ６いずれか１つのインターネットプロトコルで通信可能なルーティングテーブルで情報の送受信を行うため、ＩＰｖ６とＩＰｖ４とでプロトコルが異なるためコンテンツが取得できないという問題が発生せず、効率的に情報通信システムを動作させることができる。また、通信可能なインターネットプロトコルとは異なるノード装置により構成されるオーバーレイネットワークへ不要なメッセージを送信しないため、不要なメッセージがネットワーク内で送信されず、情報通信システムのネットワーク帯域を効率的使用できる。
【００３１】
本実施形態では、予め決められた優先順位として、ＩＰｖ６よりＩＰｖ４を優先するため、第２オーバーレイネットワークＰＬよりも第１オーバーレイネットワークＯＬを優先して、ノード装置Ｔ５は、第１オーバーレイネットワークＯＬに参加する。一方、本実施形態の変形例として、予め決められた優先順位として、ＩＰｖ４よりＩＰｖ６を優先するため、第１オーバーレイネットワークＯＬよりも第２オーバーレイネットワークＰＬを優先して、ノード装置Ｔ５が、オーバーレイネットワークＰＬに参加しても良い。また、優先順位を決定するために、第１オーバーレイネットワークＯＬまたは第２オーバーレイネットワークＰＬのいずれに参加するかを示す設定ファイルが、ノード装置Ｔ５へ配布されても良い。この場合、情報通信システムＳにおいて処理動作を実行するためのソフトウェアがノード装置Ｔ５に取得されるときに、設定ファイルも取得される。設定ファイルが、センターサーバＳＶにより生成される場合、情報通信システムＳへ接続するノード装置の数によって、優先順位が設定されても良い。例えば、第１オーバーレイネットワークＯＬへ参加するノード装置の数が、第２オーバーレイネットワークＰＬへ参加するノード装置の数よりも多い場合、ノード装置を第２オーバーレイネットワークＰＬへ参加させるために、第１オーバーレイネットワークＯＬよりも第２オーバーレイネットワークＰＬの優先順位を高めても良い。また、第２オーバーレイネットワークＰＬへ参加するノード装置の数が、第１オーバーレイネットワークＯＬへ参加するノード装置の数よりも多い場合、ノード装置を第１オーバーレイネットワークＯＬへ参加させるために、第２オーバーレイネットワークＰＬよりも第１オーバーレイネットワークＯＬの優先順位を高めても良い。このように、動的に優先順位が切り換えられることで、第１オーバーレイネットワークＯＬ及び第２オーバーレイネットワークＰＬの通信動作を安定して運用することができる。
【００３２】
また、優先順位として、アップロード負荷の高いオーバーレイネットワークへノード装置を優先して参加させても良い。この場合、センターサーバＳＶが、定期的に第１オーバーレイネットワークＯＬと第２オーバーレイネットワークＰＬとのアップロード量を計測する。そして、計測したアップロード容量が多いオーバーレイネットワークへ優先してノード装置を参加させることを示す情報が設定ファイルに記載される。これにより、アップロード負荷の高いオーバーレイネットワークへ優先してノード装置が参加することができるため、アップロード負荷を下げることができ、情報通信システムＳの通信動作を安定して運用することができる。
【００３３】
［ルーティングテーブルの詳細について］
以下、本実施形態のルーティングテーブルの詳細について説明する。各ノード装置は、夫々、ＤＨＴ（Distributed Hash Table）を用いたルーティングテーブルを保持している。このルーティングテーブルは、情報通信システムＳ上における各種制御メッセージの転送先を規定している。制御メッセージは、ピアツーピア型の情報通信システムの運用を制御するメッセージである。言い換えれば、制御メッセージは、ピアツーピア型の情報通信システムで、コンテンツの検索又はコンテンツの取得に用いるためのメッセージである。また、制御メッセージは、ＤＨＴのルーティングテーブルに従って送受信されるメッセージである。具体的に、このルーティングテーブルには、ＩＤ空間内で適度に離れたノード装置のノードＩＤ、ＩＰアドレス及びポート番号を含むノード情報が複数登録されている。情報通信システムＳに接続している１台のノード装置は、必要最低限のノード装置のノード情報をルーティングテーブルとして記憶している。各ノード装置間で互いに制御メッセージが転送されることで、ノード情報を記憶していないノード装置についてのノード情報が取得される。また、制御メッセージが、各ノード装置により送受信されることで、情報通信システムＳは、ピアツーピア型の情報通信システムとして動作可能である。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。本実施形態では、第１オーバーレイネットワークＯＬを介して情報を送受信するための第１ルーティングテーブルと、第２オーバーレイネットワークＰＬを介して情報を送受信するための第２ルーティングテーブルとが用いられる。
【００３４】
［コンテンツ取得動作の概要について］
情報通信システムＳにおいては、内容の異なる様々なコンテンツが複数のノード装置に分散して保存される。各コンテンツには、センターサーバＳＶにより、それぞれコンテンツ名及びコンテンツデータ毎に固有の識別情報であるコンテンツＩＤが付与されている。各コンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバＳＶにより作成されて、全てのノード装置に配信される。また、各コンテンツは、複数のデータに分割されている。この分割されたデータを、「チャンク」という。
【００３５】
＜コンテンツＩＤ付与処理＞
ノード装置によりコンテンツ投入処理が実行されると、まず、センターサーバＳＶは、投入するコンテンツにコンテンツＩＤを付与する。このとき付与されるコンテンツＩＤは、ノードによりランダムに生成されても良い。
【００３６】
＜チャンク分割処理＞
本実施形態では、各チャンクは、例えば、センターサーバＳＶより、コンテンツを所定のデータサイズで分割することにより生成される。本実施形態では、チャンクの最小データサイズは、２ＭＢ（Ｍｅｇａ  Ｂｙｔｅ）である。また、チャンクの最大データサイズは、１２８ＭＢである。ただし、チャンクに分割した結果、一部のチャンクが、２ＭＢよりも小さくなってしまう場合もある。また、チャンクに分割する前のデータサイズがもともと２ＭＢより小さい場合、２ＭＢ未満のデータサイズのチャンクとなる場合がある。本実施形態では、コンテンツデータが複数のチャンクに分割されているが、本実施形態に記載のように、コンテンツデータが複数のチャンクに分割されなくても良い。分割されていないコンテンツデータが本実施形態に適用されても良い。各チャンクは、複数のノード装置に分散されて保存される。これにより、コンテンツが複数のノード装置に分散して保存されることになる。各チャンクのオリジナルは、センターサーバＳＶに保存されている。
【００３７】
＜チャンクＩＤ付与処理＞
各チャンクには、それぞれシーケンス番号及びチャンクＩＤが、センターサーバＳＶにより付与される。シーケンス番号は、例えば、分割された複数のチャンクを、元となるコンテンツを構成するように並べたときの並び順に相当する。チャンクＩＤは、チャンク毎に固有の識別情報である。
【００３８】
＜チャンクのハッシュ値生成処理＞
センターサーバＳＶはチャンクＩＤを付与すると、チャンクのハッシュ値を生成する。ハッシュ値は、所定のハッシュ関数を用いて生成される。ハッシュ値は、例えば、チャンクの改竄等をチェックするために、用いられる。
【００３９】
＜メタ情報ファイル生成処理＞
チャンクＩＤと、チャンクのハッシュ値とが生成されると、センターサーバＳＶは、メタ情報ファイルを生成する。メタ情報ファイルは、分割されたチャンクから構成されるコンテンツを検索するための情報である。メタ情報ファイルは、付与されたチャンクＩＤと、シーケンス番号と、チャンクのハッシュ値とを含む。また、メタ情報ファイルには、分割されたチャンクから構成されるコンテンツのコンテンツＩＤが、センターサーバＳＶにより付与される。各ノード装置は、あるコンテンツのコンテンツＩＤを取得すると、メタ情報ファイルを取得する。具体的には、メタ情報ファイルに付与されたコンテンツＩＤに基づいて、ノード装置はメタ情報ファイルを取得する。ノード装置は、メタ情報ファイルを取得すると、メタ情報ファイルに含まれるチャンクＩＤを取得する。取得したチャンクＩＤに基づいて、ノード装置は、コンテンツのチャンクが取得される。これにより、コンテンツを構成する各チャンクのチャンクＩＤを、そのシーケンス番号と対応付けて、ノード装置は取得することができる。
【００４０】
なお、本実施形態のチャンクを保存しているノード装置を、「コンテンツ保持ノード」という。また、チャンクの所在は、インデックス情報として、チャンクの所在を管理または記憶しているノード装置により記憶される。以下、チャンクの所在を管理しているノード装置を、「ルートノード」という。インデックス情報は、チャンクを保存したノード装置のノード情報と、チャンクのチャンクＩＤと等の組を含む。このようなルートノードは、例えば、チャンクＩＤと最も近いノードＩＤを有するノードであるように定められる。チャンクＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。
【００４１】
上述の処理によりメタ情報ファイルが生成されると、センターサーバＳＶがメタ情報ファイルを記憶する。そして、センターサーバＳＶが記憶したメタ情報ファイルが、複数のノード装置のいずれかに保存される。
【００４２】
＜コンテンツ取得動作の詳細説明＞
以下、本実施形態のコンテンツ取得動作の詳細について、説明する。あるノード装置のユーザが、所望のコンテンツを取得したい場合、ノード装置は、所望されたコンテンツを構成する各チャンクを保存するコンテンツ保持ノードをそれぞれ検索する。以下、ユーザによりチャンクの取得を望むノード装置を、「ユーザノード」という。具体的に、ユーザノードは、検索メッセージを送信する。この検索メッセージは、取得を望むコンテンツのコンテンツＩＤ及びユーザノードのノード情報を含む。この検索メッセージが、ユーザノードが記憶するＤＨＴのルーティングテーブルに従って、他のノード装置に対して送信される。つまり、ユーザノードは、検索メッセージを、ルートノードに向けて送信する。これにより、検索メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４３】
検索メッセージを受信したルートノードは、検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報をインデックス情報キャッシュから１または複数取得する。取得されたインデックス情報は、ユーザノードのノード情報に基づいて、検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツＩＤに対応するメタ情報ファイルを取得またはダウンロードする。具体的に、ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、ユーザノードのノード情報と、所望するコンテンツのコンテンツＩＤとが含まれている。コンテンツ保持ノードは、コンテンツ要求メッセージを受信すると、コンテンツ要求メッセージに含まれるコンテンツＩＤに対応するメタ情報ファイルをユーザノードに送信またはアップロードする。一方、所望するメタ情報ファイルを保存するコンテンツ保持ノードが存在しないとき、ユーザノードは、コンテンツ保持ノードのインデックス情報を取得することができない。この場合、ユーザノードは、センターサーバＳＶからメタ情報ファイルを取得しても良い。
【００４４】
あるいは、ルートノードは、インデックス情報に含まれるＩＰアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信する。コンテンツ送信要求メッセージは、コンテンツ要求メッセージの送信元のノード情報を含む。コンテンツ送信要求を受信したコンテンツ保持ノードは、受信したメッセージが含むノード情報が示すユーザノードへメタ情報ファイルの送信またはアップロードを開始する。これにより、ユーザノードは、コンテンツ保持ノードからメタ情報ファイルを取得することが可能になる。
【００４５】
そして、ユーザノードは、コンテンツ保持ノードからメタ情報ファイルを取得して保存したとき、メタ情報ファイルを公開する。メタ情報ファイルの公開とは、ユーザノードがコンテンツ保持ノードとしてメタ情報ファイルを保存したことをルートノードへ知らせることをいう。メタ情報ファイルの公開により、公開したコンテンツ保持ノードから、公開されたメタ情報ファイルを他のノード装置が取得可能になる。具体的に、メタ情報ファイルを保存したユーザノードは、パブリッシュメッセージを送信する。パブリッシュメッセージは、メタ情報ファイルのコンテンツＩＤ及びメタ情報ファイルを保存したユーザノードのノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報をインデックス情報キャッシュに記憶する。こうして、上記ユーザノードは、新たに、上記メタ情報ファイルを保存するコンテンツ保持ノードとなる。
【００４６】
ユーザノードはメタ情報ファイルを取得すると、取得したメタ情報ファイルが含むチャンクＩＤに基づいて、チャンク検索メッセージを送信する。チャンク検索メッセージは、チャンクＩＤと、ユーザノードのノード情報とを含む。チャンク検索メッセージは、ユーザノードが記憶するＤＨＴのルーティングテーブルに従って、他のノード装置に対して送信される。つまり、ユーザノードは、チャンク検索メッセージを、チャンクのルートノードに向けて送信する。これにより、チャンク検索メッセージは、チャンクＩＤをキーとするＤＨＴルーティングによって最終的にチャンクのルートノードに到着することになる。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４７】
チャンク検索メッセージを受信したルートノードは、これに含まれるチャンクＩＤに対応するインデックス情報をインデックス情報キャッシュから１または複数取得する。取得されたインデックス情報は、ユーザノードのノード情報に基づいて、チャンク検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてチャンクを取得またはダウンロードする。具体的に、ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス及びポート番号等に基づいて、チャンク要求メッセージをコンテンツ保持ノードに送信する。チャンク要求メッセージには、ユーザノードのノード情報及び取得を望むチャンクのチャンクＩＤが含まれている。チャンク要求メッセージを受信したコンテンツ保持ノードは、チャンク要求メッセージに含まれるチャンクＩＤに対応するチャンクをユーザノードに送信またはアップロードする。一方、所望するチャンクを保存するコンテンツ保持ノードが存在しないとき、ユーザノードは、コンテンツ保持ノードのインデックス情報を取得することができない。この場合、ユーザノードは、センターサーバＳＶからチャンクを取得しても良い。
【００４８】
あるいは、ルートノードは、インデックス情報に含まれるＩＰアドレス等に示されたコンテンツ保持ノードに対してチャンク送信要求メッセージを送信する。チャンク送信要求メッセージは、チャンク要求メッセージの送信元のノード情報を含む。チャンク送信要求を受信したコンテンツ保持ノードは、受信したメッセージが含むノード情報が示すユーザノードへチャンクの送信またはアップロードを開始する。これにより、ユーザノードは、コンテンツ保持ノードからチャンクを取得することが可能になる。
【００４９】
そして、ユーザノードは、コンテンツ保持ノードからチャンクを取得して保存したとき、チャンクを公開する。チャンクの公開とは、ユーザノードがコンテンツ保持ノードとしてチャンクを保存したことをルートノードへ知らせることをいう。チャンクの公開により、公開したコンテンツ保持ノードから、公開されたチャンクを他のノード装置が取得可能になる。具体的に、チャンクを保存したユーザノードは、パブリッシュメッセージを送信する。パブリッシュメッセージは、チャンクのチャンクＩＤ及びチャンクを保存したユーザノードのノード情報を含む。パブリッシュメッセージは、チャンクのルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、チャンクＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びチャンクＩＤの組を含むインデックス情報をインデックス情報キャッシュに記憶する。こうして、上記ユーザノードは、新たに、チャンクを保存するコンテンツ保持ノードとなる。
【００５０】
［ブロードバンドルータＢＲの電気的構成］
次に、図３を参照して、ブロードバンドルータＢＲの電気的構成ついて説明する。図３は、本実施形態のブロードバンドルータＢＲの電気的構成を示すブロック図である。図３に示すように、本実施形態のブロードバンドルータＢＲには、ブロードバンドルータＢＲを制御するＣＰＵ１が備えられている。ＣＰＵ１には、ＨＤＤ２とＲＡＭ３と通信部９とがそれぞれ電気的に接続されている。ＨＤＤ２、ＲＡＭ３、などの記憶手段とＣＰＵ１とは、ブロードバンドルータＢＲのコンピュータを構成している。なお、ブロードバンドルータＢＲのコンピュータにより、計時動作が実行される。計時動作により、ブロードバンドルータＢＲは、時間を計測することができる。ＣＰＵ１、ＨＤＤ２、ＲＡＭ３、及び通信部９はバスを介して相互に接続されている。なお、ブロードバンドルータＢＲ以外にも、パーソナルコンピュータ、又はＳＴＢ（Set Top Box）、ファイアウォール等にも適用可能である。
【００５１】
ＨＤＤ２は、プログラム記憶領域２１と、第１ルーティングテーブル記憶領域２３と、第２ルーティングテーブル記憶領域２４と、コンタクトノード記憶領域２５とを含む。プログラム記憶領域２１は、メイン動作処理プログラム記憶領域２２を含む。メイン動作処理プログラム記憶領域２２は、メイン動作処理プログラムを記憶する。メイン動作処理プログラムは、ブロードバンドルータＢＲにメイン動作処理を実行させるプログラムである。なお、ブロードバンドルータＢＲのメイン動作処理プログラムは、例えば、ネットワークＮＷ上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしても良い。
【００５２】
第１ルーティングテーブル記憶領域２３は、本実施形態第１ルーティングテーブルを記憶する。第２ルーティングテーブル記憶領域２４は、本実施形態の第２ルーティングテーブルを記憶する。コンタクトノード記憶領域２５は、第１コンタクトノードと第２コンタクトノードのＩＰアドレスを記憶する。ＩＰｖ４またはＩＰｖ６で表された第１コンタクトノードと第２コンタクトノードのＩＰアドレスが、コンタクトノード記憶領域２５に記憶される。コンタクトノード記憶領域２５に記憶された第１コンタクトノードと第２コンタクトノードのＩＰアドレスに基づいて、参加メッセージが送信される。なお、第１コンタクトノードと第２コンタクトノードのＩＰアドレスは、予め記憶されていても良いし、メイン動作処理プログラムがダウンロードされると共に取得されても良い。なお、本実施形態のコンタクトノード記憶領域２５は、本発明の記憶手段の一例である。なお、第１コンタクトノードと第２コンタクトノードの代わりに、ＩＰｖ４とＩＰｖ６との両方で通信可能なセンターサーバＳＶが設置される場合、センターサーバＳＶのＩＰｖ４のＩＰアドレスと、ＩＰｖ６のＩＰアドレスとが、コンタクトノード記憶領域２５に記憶される。
【００５３】
ＲＡＭ３は、コンテンツデータ一時記憶領域３１と制御メッセージ一時記憶領域３２とを含む。コンテンツデータ一時記憶領域３１は、オーバーレイネットワークＯＬまたはオーバーレイネットワークＰＬで送受信されるコンテンツデータを、コンテンツＩＤと対応付けて一時記憶する。ＲＡＭ３の代わりに、公知のフラッシュメモリー等の記憶装置が用いられても良い。
【００５４】
制御メッセージ一時記憶領域３２は、情報通信システムＳを制御する制御メッセージが一時記憶される。
【００５５】
通信部９は、ネットワークＮＷを通じて外部装置と情報の通信制御を行う。
【００５６】
ブロードバンドルータＢＲは、通信部９を介して要求に応じて送信されてきたコンテンツまたはチャンクまたはメタ情報ファイルを受信する受信処理を行う。本実施形態のコンテンツまたはチャンクまたはメタ情報ファイルはパケット化されて送信されるようになっている。各パケットは、通信部９を通じて受信され、ＲＡＭ３のコンテンツデータ一時記憶領域３１に一時記憶される。或いは、ＲＡＭ３に記憶されたコンテンツは、ＲＡＭ３から読み出されてＨＤＤ２に記憶されても良い。または、コンテンツデータがＲＡＭ３を介さず、直接ＨＤＤ２に記憶されても良い。
【００５７】
［ブロードバンドルータＢＲのメイン動作］
以上説明した構成からなる本実施形態のブロードバンドルータＢＲの動作及び作用について、添付図面を参照して説明する。まず、ブロードバンドルータＢＲの動作及び作用について、添付図面を参照して説明する。図４は、ブロードバンドルータＢＲにおけるメイン動作の処理手順を示すフローチャートである。ブロードバンドルータＢＲのメイン動作は、電源またはコンセントを介して商用電源などの外部電源とブロードバンドルータＢＲとが接続されたことにより、遂行される。以下に示す処理は、ＣＰＵ１により処理される。
【００５８】
まず、ステップＳ１０１では、ＩＰｖ４で通信可能か否かが判定される。具体的には、コンタクトノード記憶領域２５に記憶された第１コンタクトノードのＩＰアドレスに基づいて、所定のメッセージが送信される。メッセージを送信した結果、第１コンタクトノードと通信可能となった場合、ＩＰｖ４で通信可能であると判定される。ＩＰｖ４で通信可能であると判定された場合（ステップＳ１０１：ＹＥＳ）、ステップＳ１０２が実行される。ＩＰｖ４で通信可能であると判定されなかった場合（ステップＳ１０１：ＮＯ）、ステップＳ１０５が実行される。本実施形態のコンピュータとステップＳ１０１は、本発明の第１判定手段の一例である。また、本実施形態のステップＳ１０１は、本発明の第１判定ステップの一例である。なお、ＩＰｖ４で通信可能か否かは、ノード装置に予め設定された設定ファイル等を用いて判定されても良い。
【００５９】
ステップＳ１０２では、ＩＰｖ６で通信可能か否かが判定される。具体的には、コンタクトノード記憶領域２５に記憶された第２コンタクトノードのＩＰアドレスに基づいて、所定のメッセージが送信される。メッセージを送信した結果、第２コンタクトノードと通信可能となった場合、ＩＰｖ６で通信可能であると判定される。ＩＰｖ６で通信可能であると判定された場合（ステップＳ１０２：ＹＥＳ）、ステップＳ１０３が実行される。ＩＰｖ６で通信可能であると判定されなかった場合（ステップＳ１０２：ＮＯ）、ステップＳ１０４が実行される。本実施形態のコンピュータとステップＳ１０２は、本発明の第２判定手段の一例である。また、本実施形態のステップＳ１０２は、本発明の第２判定ステップの一例である。なお、ＩＰｖ６で通信可能か否かは、ノード装置に予め設定された設定ファイル等を用いて判定されても良い。
【００６０】
ステップＳ１０３では、予め決められた優先順位に従って、ＩＰｖ４またはＩＰｖ６のいずれかのオーバーレイネットワークへの参加処理が実行される。本実施形態では、ＩＰｖ６よりもＩＰｖ４の方が、優先順位が高いため、第１オーバーレイネットワークＯＬの第１コンタクトノードへ参加メッセージが送信される。そして、第１コンタクトノードから取得した第１ルーティングテーブルが第１ルーティングテーブル記憶領域２３に記憶される。本実施形態のコンピュータとステップＳ１０３とは、本発明の制御手段の一例である。また、本実施形態のステップＳ１０３は、本発明の取得ステップの一例である。
【００６１】
ステップＳ１０４では、ＩＰｖ４で通信可能な第１オーバーレイネットワークＯＬの第１コンタクトノードへ参加メッセージが送信される。そして、第１コンタクトノードから取得した第１ルーティングテーブルが第１ルーティングテーブル記憶領域２３に記憶される。本実施形態のコンピュータとステップＳ１０４は、本発明の第１取得手段の一例である。また、本実施形態のステップＳ１０４は、本発明の取得ステップの一例である。また、第１コンタクトノードへ参加メッセージを送信する処理は、本発明の要求手段の一例である。
【００６２】
ステップＳ１０５では、ＩＰｖ６で通信可能か否かが判定される。具体的には、コンタクトノード記憶領域２５に記憶された第２コンタクトノードのＩＰアドレスに基づいて、所定のメッセージが送信される。メッセージを送信した結果、第２コンタクトノードと通信可能となった場合、ＩＰｖ６で通信可能であると判定される。ＩＰｖ６で通信可能であると判定された場合（ステップＳ１０５：ＹＥＳ）、ステップＳ１０６が実行される。ＩＰｖ６で通信可能であると判定されなかった場合（ステップＳ１０５：ＮＯ）、ステップＳ１０７が実行される。本実施形態のコンピュータとステップＳ１０５は、本発明の第２判定手段の一例である。また、本実施形態のステップＳ１０５は、本発明の第２判定ステップの一例である。なお、ＩＰｖ６で通信可能か否かは、ノード装置に予め設定された設定ファイル等を用いて判定されても良い。
【００６３】
ステップＳ１０６では、ＩＰｖ６で通信可能な第２オーバーレイネットワークＰＬの第２コンタクトノードへ参加メッセージが送信される。そして、第２コンタクトノードから取得した第２ルーティングテーブルが第２ルーティングテーブル記憶領域２４に記憶される。本実施形態のコンピュータとステップＳ１０６とは、本発明の第２取得手段の一例である。また、本実施形態のステップＳ１０６は、本発明の取得ステップの一例である。また、第２コンタクトノードへ参加メッセージを送信する処理は、本発明の要求手段の一例である。
【００６４】
ステップＳ１０７では、参加処理の失敗が通知される。
【００６５】
ステップＳ１０８では、制御メッセージが受信されたか否かが判定される。制御メッセージが受信されたと判定された場合（ステップＳ１０８：ＹＥＳ）、ステップＳ１０９が実行される。制御メッセージが受信されたと判定されなかった場合（ステップＳ１０８：ＮＯ）、ステップＳ１１３が実行される。本実施形態のコンピュータとステップＳ１０８は、本発明の受信手段の一例である。
【００６６】
ステップＳ１０９では、ステップＳ１０８で受信した制御メッセージが、制御メッセージ一時記憶領域３２に一時記憶される。また、ステップＳ１０８で受信した制御メッセージの送信元のノード装置のＩＰアドレスが、制御メッセージと対応付けられて制御メッセージ一時記憶領域３２に一時記憶される。
【００６７】
ステップＳ１１０では、ステップＳ１０９で一時記憶したＩＰアドレスに基づいて、制御メッセージの送信元のノード装置のインターネットプロトコルが、参加しているオーバーレイネットワークのインターネットプロトコルと一致するか否かが判定される。具体的には、ステップＳ１０９で一時記憶したＩＰアドレスに基づいて、送信元のノード装置がＩＰｖ４で通信可能か、ＩＰｖ６で通信可能かが決定される。また、第１ルーティングテーブルが第１ルーティングテーブル記憶領域２３に記憶されている場合、参加しているオーバーレイネットワークのインターネットプロトコルがＩＰｖ４であると判定される。一方、第２ルーティングテーブルが第２ルーティングテーブル記憶領域２４に記憶されている場合、参加しているオーバーレイネットワークのインターネットプロトコルがＩＰｖ６であると判定される。このように決定された制御メッセージの送信元のインターネットプロトコルと、参加しているオーバーレイネットワークのインターネットプロトコルとが一致するか否かが判定される。インターネットプロトコルが一致すると判定された場合（ステップＳ１１０：ＹＥＳ）、ステップＳ１１１が実行される。インターネットプロトコルが一致すると判定されなかった場合（ステップＳ１１０：ＮＯ）、ステップＳ１１２が実行される。
【００６８】
ステップＳ１１１では、制御メッセージが転送される。具体的には、ステップＳ１１０で一致すると判定されたインターネットプロトコルに対応するルーティングテーブルが決定される。ステップＳ１１０で、ＩＰｖ４で一致すると判定された場合、第１ルーティングテーブルが決定される。一方、ステップＳ１１０で、ＩＰｖ６で一致すると判定された場合、第２ルーティングテーブルが決定される。決定されたルーティングテーブルに従って、制御メッセージが転送される。本実施形態のコンピュータとステップＳ１１１とは、本発明の第２制御手段の一例である。
【００６９】
ステップＳ１１２では、制御メッセージが破棄される。具体的には、本実施形態では、制御メッセージ一時記憶領域３２に一時記憶された制御メッセージが削除される。削除される以外に、制御メッセージ一時記憶領域３２に一時記憶された制御メッセージが参照不可能に設定されても良い。また、制御メッセージ一時記憶領域３２に一時記憶された制御メッセージが転送不可能に設定されても良い。本実施形態のコンピュータとステップＳ１１２とは、本発明の第２制御手段の一例である。
【００７０】
ステップＳ１１３では、ブロードバンドルータＢＲの電源がオフされたか否かが判定される。電源がオフにされたと判定された場合（ステップＳ１１３：ＹＥＳ）、メイン動作処理は終了される。電源がオフにされたと判定されなかった場合（ステップＳ１１３：ＮＯ）、ステップＳ１０８が実行される。
【００７１】
本実施形態においては、第１オーバーレイネットワークＯＬまたは第２オーバーレイネットワークＰＬに、ＤＨＴのルーティングテーブルを利用したピアツーピアの通信システムが適用されていたが、これに限られるものではない。他のピアツーピアの通信システム、または、オーバーレイネットワークを用いたシステムに、本発明が適用されても良い。例えば、ＤＨＴ以外のルーティングテーブルが用いられる通信システムまたはピアツーピアの通信システムに本発明が適用されても良い。ＤＨＴを利用しないピアツーピアの通信システムとしては、例えば、ハイブリッド型のピアツーピアの通信システムがある。ハイブリッド型のピアツーピアの通信システム、または、ピュア型のピアツーピアの通信システムに本発明が適用されても良い。
【００７２】
また本実施形態では、ブロードバンドルータＢＲに本発明を適用した例を記載したが、これに限定されるものではない。ノード装置として、本実施形態の端末装置Ｔｍ−ｎが用いられても良い。各拠点に接続される端末装置Ｔｍ−ｎまたはネットワークＮＷに直接接続可能な端末装置Ｔｍ−ｎにより、第１オーバーレイネットワークＯＬまたは第２オーバーレイネットワークＰＬが構成されても良い。この場合、端末装置Ｔｍ−ｎは、ＩＰｖ４またはＩＰＶ６のいずれか一方、または、ＩＰｖ４とＩＰｖ６との両方のＩＰプロトコルで通信可能である。
【００７３】
また、本実施形態の図４におけるステップＳ１１３では、電源がオフされた否かが判定された。電源がオフされたか否かの判定以外に、オーバーレイネットワークからの離脱指示があったか否かが判定されても良い。オーバーレイネットワークからの離脱指示があったと判定された場合、図４のステップＳ１１３と同様に、メイン動作処理は終了される。一方、オーバーレイネットワークからの離脱指示があったと判定されなかった場合、図４のステップＳ１１３と同様に、ステップＳ１０８が再度実行される。ステップＳ１１３で離脱指示があったか否かが判定される場合、オーバーレイネットワークへの参加指示に基づいて、メイン動作処理が実行されても良い。
【符号の説明】
【００７４】
１  ＣＰＵ
２  ＨＤＤ
３  ＲＡＭ
９  通信部
２１  プログラム記憶領域
２２  メイン動作処理プログラム記憶領域
２３  第１ルーティングテーブル記憶領域
２４  第２ルーティングテーブル記憶領域
２５  コンタクトノード記憶領域
３１  コンテンツ一時記憶領域
３２  制御メッセージ一時記憶領域
Ｔｍ−ｎ  端末装置
ＮＬｍ  拠点
ＮＷ  ネットワーク
ＢＲ、ＢＲ１、ＢＲ２、ＢＲ３  ブロードバンドルータ
Ｓ  情報通信システム
ＯＬ  第１オーバーレイネットワーク
ＰＬ  第２オーバーレイネットワーク
ＳＶ  センターサーバ
【図１】
0005440574.tif 000002
【図２】
0005440574.tif 000003
【図３】
0005440574.tif 000004
【図４】
0005440574.tif 000005