説明

ノード装置、情報通信方法及びプログラム

【課題】IPv4とIPv6とが共存するネットワーク環境で、IPv4またはIPv6の何れかのプロトコルに優先度を持たせることで、P2Pシステムを動作させることが可能なノード装置、情報通信システム、情報通信方法及びプログラム等を提供する。
【解決手段】ノード装置T5が、IPv4とIPv6との両方で通信可能であると判定された場合、オーバーレイネットワークPLのいずれかに参加するために、第1コンタクトノードまたは第2コンタクトノードのいずれかへ参加メッセージを送信する。ノード装置T5が第1オーバーレイネットワークOLに参加した場合、第2オーバーレイネットワークPLに参加するノード装置から送信されたメッセージを破棄する。一方、ノード装置T5が第2オーバーレイネットワークPLに参加した場合、第1オーバーレイネットワークOLに参加するノード装置から送信されたメッセージを破棄する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))方式の通信システムの技術分野に関する。
【背景技術】
【0002】
近年、特許文献1に開示されているようなピアツーピア方式の通信システムが注目されている。ピアツーピア方式の通信システムは、現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として注目されている。このピアツーピア方式の通信システムでは、センターのサーバ装置に対するコンテンツの要求が集中しない。そのため、サーバクライアント方式に比して、短時間でコンテンツを取得することが可能となる。具体的には、特許文献1には、ソフトウェアを単位としたグループごとに、複数のDHT(Distributed Hash Table)のルーティングテーブルが生成される技術が開示されている。また、特許文献2には、各拠点に接続するノード装置を用いて、各拠点ごとにルーティングテーブルが生成される技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−217135号公報
【特許文献2】特開2011−71643号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、IPv4(Internet Protocol Version 4)のアドレス資源の枯渇に伴い、IPv6(Internet Protocol Version 6)への移行が進みつつある。IPv4からIPv6へ移行する過程において、IPv4とIPv6との両方のプロトコルが、ネットワークに共存することが考えられる。IPv4とIPv6とが共存するネットワーク環境でP2P(Peer to Peer)型のシステムが動作する場合、IPv4で通信可能ノード装置と、IPv6で通信可能なノード装置が混在するオーバーレイネットワークが生成される。特許文献2に記載の技術を用いると、オーバーレイネットワークの中には、コンテンツごとにルートノードが決定される必要がある。この場合、1つのオーバーレイネットワークに、IPv4で通信可能なルートノードと、IPv6で通信可能なルートノードの2種類のルートノードを決定する必要がある。しかしながら、特許文献2に記載の技術では、1つのオーバーレイネットワークの中に、IPv4のルートノードと、IPv6のルートノードを一意に決定することができなかった。そのため、IPv6とIPv4とでプロトコルが異なるためコンテンツが取得できず、P2Pシステムを動作させることができなかった。
【0005】
本発明は、以上の点に鑑みてなされたものである。本発明は、IPv4とIPv6とが共存するネットワーク環境であっても、IPv4で通信可能なルートノードとIPv6で通信可能なルートノードを、1つのオーバーレイネットワークで設定する必要が無く、P2Pシステムを動作させることが可能なノード装置、情報通信方法及びプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0006】
請求項1に記載の発明によれば、IPv4(Internet Protocol Version 4)により通信可能な第1ノード装置、または、IPv6(Internet Protocol Version 6)により通信可能な第2ノード装置を含む複数のノード装置により構成される情報通信システムであって、前記ノード装置は、前記ノード装置がIPv4で通信可能かを判定する第1判定手段と、前記ノード装置がIPv6で通信可能かを判定する第2判定手段と、前記第1判定手段によりIPv4で通信可能と判定された場合、IPv4で通信可能な第1ノード装置を用いて生成された第1ルーティングテーブルを、ネットワークに接続された所定の装置から取得する第1取得手段と、前記第2判定手段によりIPv6で通信可能と判定された場合、IPv6で通信可能な第2ノード装置を用いて生成された第2ルーティングテーブルを、ネットワークに接続された所定の装置から取得する第2取得手段と、前記第1判定手段によりIPv4で通信可能と判定され、且つ、前記第2判定手段によりIPv6で通信可能と判定された場合、所定の優先順位に従って、前記第1ルーティングテーブル、または、前記第2ルーティングテーブルのいずれかを、前記第1取得手段または前記第2取得手段に取得させる制御手段と、を備えることを特徴とするノード装置である。
【0007】
請求項2に記載の発明によれば、前記ノード装置は、前記第1取得手段または前記第2取得手段により取得された前記第1ルーティングテーブルまたは前記第2ルーティングテーブルを用いて、前記情報通信システムを制御するメッセージの送受信を制御する第2制御手段と、前記第1ルーティングテーブルを用いて送受信される第1メッセージ、または、前記第2ルーティングテーブルを用いて送受信される第2メッセージの少なくともいずれか一方を受信する受信手段と、を備え、前記第1判定手段によりIPv4で通信可能と判定され、且つ、前記第2判定手段によりIPv6で通信可能と判定された場合、前記第2制御手段は、所定の優先順位により従って前記制御手段により取得された第1ルーティングテーブルまたは第2ルーティングテーブルを用いて通信可能なインターネットプロトコルとは異なるインターネットプロトコルにより受信されたメッセージの送信を実行しないことを特徴とする。
【0008】
請求項3に記載の発明によれば、IPv4により通信可能な複数のノード装置により構成される第1オーバーレイネットワークの通信負荷と、IPv6により通信可能な複数のノード装置により構成される第2オーバーレイネットワークの通信負荷とに基づいて、前記制御手段は、前記所定の優先順位として、通信負荷の高いオーバーレイネットワークで通信可能なルーティングテーブルを取得させることを特徴とする。
【0009】
請求項4に記載の発明によれば、前記情報通信システムは、IPv4により通信可能な複数のノード装置により構成される第1オーバーレイネットワークへの参加要求を、前記情報通信システムに参加する参加ノード装置から受信する第1コンタクトノードと、IPv6により通信可能な複数のノード装置により構成される第2オーバーレイネットワークへの参加要求を、前記参加ノード装置から受信する第2コンタクトノードと、をさらに備え、前記ノード装置は、前記第1コンタクトノードと、前記第2コンタクトノード夫々のネットワークの所在を示す所在情報を記憶する記憶手段と、前記記憶手段に記憶された前記所在情報に基づいて、前記第1コンタクトノードと前記第2コンタクトノードへの接続を要求する要求手段と、を備え、前記第1判定手段は、前記要求手段により接続を要求した結果、前記第1コンタクトノードと接続できた場合、IPv4により通信可能と判定し、前記第2判定手段は、前記第2コンタクトノードと接続できた場合、IPv6により通信可能と判定することを特徴とする。
【0010】
請求項5に記載の発明によれば、IPv4(Internet Protocol Version 4)により通信可能な第1ノード装置、または、IPv6(Internet Protocol Version 6)により通信可能な第2ノード装置を含む複数のノード装置により構成される情報通信システムであって、前記ノード装置のコンピュータに、前記ノード装置がIPv4で通信可能かを判定する第1判定ステップと、前記ノード装置がIPv6で通信可能かを判定する第2判定ステップと、前記第1判定ステップによりIPv4で通信可能と判定され、且つ、前記第2判定ステップによりIPv6で通信可能と判定された場合、所定の優先順位に従って、IPv4で通信可能な第1ノード装置を用いて生成された第1ルーティングテーブル、または、IPv6で通信可能な第2ノード装置を用いて生成された第2ルーティングテーブルのいずれかを、所定の装置から取得する取得ステップと、を実行させることを特徴とするプログラムである。
【0011】
請求項6に記載の発明によれば、IPv4(Internet Protocol Version 4)により通信可能な第1ノード装置、または、IPv6(Internet Protocol Version 6)により通信可能な第2ノード装置を含む複数のノード装置により構成される情報通信システムの情報通信方法であって、前記ノード装置がIPv4で通信可能かを、前記ノード装置に判定させる第1判定ステップと、前記ノード装置がIPv6で通信可能かを、前記ノード装置に判定させる第2判定ステップと、前記第1判定ステップによりIPv4で通信可能と判定され、且つ、前記第2判定ステップによりIPv6で通信可能と判定された場合、所定の優先順位に従って、IPv4で通信可能な第1ノード装置を用いて生成された第1ルーティングテーブル、または、IPv6で通信可能な第2ノード装置を用いて生成された第2ルーティングテーブルのいずれかを、前記ノード装置に所定の装置から、前記ノード装置に取得させる取得ステップと、を含む情報通信方法である。
【発明の効果】
【0012】
請求項1に記載の発明によれば、制御手段は、第1判定手段によりIPv4で通信可能と判定され、且つ、第2判定手段によりIPv6で通信可能と判定された場合、所定の優先順位に従って、第1ルーティングテーブル、または、第2ルーティングテーブルのいずれかを、第1取得手段または第2取得手段に取得させる。従って、IPv4のオーバーレイネットワークと、IPv6のオーバーレイネットワークとの2つのオーバーレイネットワークを構築することで、1つのオーバーレイネットワークの中に、IPv4のルートノードと、IPv6のルートノードを一意に決定する必要がない。さらに、IPv6とIPv4との両方で通信可能なノード装置であっても、IPv4またはIPv6いずれか1つのインターネットプロトコルで通信可能なルーティングテーブルで情報の送受信を行うため、IPv6とIPv4とでプロトコルが異なるためコンテンツが取得できないという問題が発生せず、効率的に情報通信システムを動作させることができる。
【0013】
請求項2に記載の発明によれば、第1判定手段によりIPv4で通信可能と判定され、且つ、第2判定手段によりIPv6で通信可能と判定された場合、第2制御手段は、所定の優先順位により従って制御手段により取得された第1ルーティングテーブルまたは第2ルーティングテーブルを用いて通信可能なインターネットプロトコルとは異なるインターネットプロトコルにより受信されたメッセージの送信を実行しない。従って、IPv6とIPv4との両方で通信可能なノード装置であっても、制御手段により取得されたルーティングテーブルで通信可能なインターネットプロトコルとは異なるインターネットプロトコルのノード装置へメッセージを送らなくて良い。この結果、通信可能なインターネットプロトコルとは異なるノード装置により構成されるオーバーレイネットワークへ不要なメッセージを送信しないため、不要なメッセージがネットワーク内で送信されず、情報通信システムのネットワーク帯域を効率的使用できる。
【0014】
請求項3に記載の発明によれば、IPv4により通信可能な複数のノード装置により構成される第1オーバーレイネットワークの通信負荷と、IPv6により通信可能な複数のノード装置により構成される第2オーバーレイネットワークの通信負荷とに基づいて、制御手段は、所定の優先順位として、通信負荷の高いオーバーレイネットワークで通信可能なルーティングテーブルを取得させる。この結果、通信負荷の高いオーバーレイネットワークへノード装置を接続させることで、通信負荷を分散させることができ、情報通信システムを効率的に動作させることができる。
【0015】
請求項4に記載の発明によれば、情報通信システムは、IPv4により通信可能な複数のノード装置により構成される第1オーバーレイネットワークへの参加要求を、情報通信システムに参加する参加ノード装置から受信する第1コンタクトノードと、IPv6により通信可能な複数のノード装置により構成される第2オーバーレイネットワークとへの参加要求を、参加ノード装置から受信する第2コンタクトノードと、をさらに備える。第1判定手段は、要求手段により接続を要求した結果、第1コンタクトノードと接続できた場合、IPv4により通信可能と判定する。第2判定手段は、第2コンタクトノードと接続できた場合、IPv6により通信可能と判定する。従って、IPv4で通信可能かまたはIPv6で通信可能かの判定を、第1コンタクトノードまたは第2コンタクトノードの接続の有無により判定することができる。この結果、IPv4で通信可能かまたはIPv6で通信可能かを判定する特別なソフトウェア処理が、ノード装置に必要ないため、効率的に情報通信システムを動作させることができる。
【0016】
請求項5に記載の発明によれば、取得ステップは、第1判定ステップによりIPv4で通信可能と判定され、且つ、第2判定ステップによりIPv6で通信可能と判定された場合、所定の優先順位に従って、IPv4で通信可能な第1ノード装置を用いて生成された第1ルーティングテーブル、または、IPv6で通信可能な第2ノード装置を用いて生成された第2ルーティングテーブルのいずれかを、所定の装置から取得する。従って、IPv4のオーバーレイネットワークと、IPv6のオーバーレイネットワークとの2つのオーバーレイネットワークを構築することで、1つのオーバーレイネットワークの中に、IPv4のルートノードと、IPv6のルートノードを一意に決定する必要がない。さらに、IPv6とIPv4との両方で通信可能なノード装置であっても、IPv4またはIPv6いずれか1つのインターネットプロトコルで通信可能なルーティングテーブルで情報の送受信を行うため、IPv6とIPv4とでプロトコルが異なるためコンテンツが取得できないという問題が発生せず、効率的に情報通信システムを動作させることができる。
【0017】
請求項6に記載の発明によれば、取得ステップは、第1判定ステップによりIPv4で通信可能と判定され、且つ、第2判定ステップによりIPv6で通信可能と判定された場合、所定の優先順位に従って、IPv4で通信可能な第1ノード装置を用いて生成された第1ルーティングテーブル、または、IPv6で通信可能な第2ノード装置を用いて生成された第2ルーティングテーブルのいずれかを、所定の装置から、前記ノード装置に取得する。従って、IPv4のオーバーレイネットワークと、IPv6のオーバーレイネットワークとの2つのオーバーレイネットワークを構築することで、1つのオーバーレイネットワークの中に、IPv4のルートノードと、IPv6のルートノードを一意に決定する必要がない。さらに、IPv6とIPv4との両方で通信可能なノード装置であっても、IPv4またはIPv6いずれか1つのインターネットプロトコルで通信可能なルーティングテーブルで情報の送受信を行うため、IPv6とIPv4とでプロトコルが異なるためコンテンツが取得できないという問題が発生せず、効率的に情報通信システムを動作させることができる。
【図面の簡単な説明】
【0018】
【図1】本実施形態の情報通信システムSの概要構成図である。
【図2】本実施形態の参加処理を説明する説明図である。
【図3】本実施形態のブロードバンドルータBRの電気的構成を示すブロック図である。
【図4】本実施形態のブロードバンドルータBRにおけるメイン動作の処理手順を示すフローチャートである。
【発明を実施するための最良の形態】
【0019】
[最良の実施形態]
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ピアツーピア型の情報通信システムに本発明を適用した場合の実施形態である。
【0020】
[情報通信システムSの概要構成]
始めに、図1を参照して、本実施形態における情報通信システムSの概要構成について説明する。図1は、本実施形態における情報通信システムSにおけるブロードバンドルータBR及び各端末装置の接続態様の一例を示す図である。図1に示すように、情報通信システムSは、複数のブロードバンドルータBR(BR1、BR2、BR3)と、端末装置Tm−n(m=1,2,3・・・の何れか、n=1,2,3・・・の何れか)から構成されている。端末装置Tm−nは、ネットワークNWを介して互いに通信可能である。このネットワークNWは、現実世界の通信ネットワークである。例えば、インターネットである。
【0021】
ネットワークNWは、各拠点ネットワークNLmを相互接続するためのネットワークである。このネットワークNWは、例えば、インターネットやWAN(Wide Area Network
)等である。そして、ネットワークNWは、例えば、IX(Internet Exchange)、ISP(Internet Service Provider)、DSL(Digital Subscriber Line)回線事業者の装置、FTTH(Fiber To The Home)回線事業者の装置、及び通信回線等によって構築されている。なお、ネットワークNWは、情報通信システムS専用のネットワークであっても良い。
【0022】
本実施形態では、ネットワークNW内に、1つ以上の各拠点ネットワークNLmが形成される。また、各拠点ネットワークNLmには、ブロードバンドルータBRが接続されている。また、各拠点のブロードバンドルータBRには、複数の端末装置Tm−nが接続されている。各拠点ネットワークNLmは、夫々拠点mの敷地内に構築されたネットワークである。拠点としては、例えば、会社、学校、病院、塾等がある。この拠点ネットワークNLmは、例えば、LAN等により構築されている。或いは、拠点ネットワークNLmは、複数のLANが相互接続して構築されたネットワークであっても良い。この場合、複数のLANは、ルータ等のネットワーク機器を介して接続される。複数のLANが相互接続されたネットワークとしては、例えば、CAN(Campus Area Network)等がある。各拠点ネットワークNLmには、ブロードバンドルータBRが接続されている。ブロードバンドルータBRの代わりに、ファイアウォールが接続されても良い。ブロードバンドルータBRは、拠点内に接続される端末装置Tm−nと、その拠点に接続される端末装置Tm−n以外の端末装置Tm−nと、を通信可能にする通信機器である。ファイアウォール又はブロードバンドルータBRは、公知であるので詳細な説明は省略する。ブロードバンドルータBR又はファイアウォールの何れが拠点に設置されるかは、拠点毎に任意に決定される。本実施形態の拠点ネットワークNLmは、例えば、LAN(Local Area Network)である。
【0023】
また、ネットワークNWには、センターサーバSVが接続されている。センターサーバSVは、後述する第1オーバーレイネットワークOLまたは第2オーバーレイネットワークPLで送受信されるコンテンツデータのオリジナルを記憶する。また、センターサーバSVは、コンテンツカタログ情報をブロードバンドルータBRに送信する。コンテンツカタログ情報の詳細については後述する。センターサーバSVは、後述する第1オーバーレイネットワークOLまたは第2オーバーレイネットワークPLにコンテンツデータを投入する際に使用されるコンテンツIDを管理する。ここで、コンテンツデータの投入とは、コンテンツデータを端末装置Tm−nがブロードバンドルータBRから取得可能な状態におくことをいう。なお、コンテンツデータを、「コンテンツ」という。センターサーバSVの詳細な説明は、後述する。
【0024】
各ブロードバンドルータBRには、固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。また、情報通信システムSに接続されている各ブロードバンドルータBRには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。本実施形態の情報通信システムSでは、コンテンツ配信のための第1オーバーレイネットワークOLと第2オーバーレイネットワークPLとが構築されている。第1オーバーレイネットワークOL及び第2オーバーレイネットワークPLは、ネットワークNW上に構築されたオーバーレイネットワークである。言い換えれば、第1オーバーレイネットワークOL及び第2オーバーレイネットワークPLは、物理的なネットワーク上に生成される論理的なネットワークである。また、第1オーバーレイネットワークOL及び第2オーバーレイネットワークPLは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知である。なお、本実施形態のブロードバンドルータBRが、本発明のノード装置の一例である。本実施形態では、第1オーバーレイネットワークOLは、IPv4(Internet Protocol Version 4)により通信可能なノード装置により構成される。また、第2オーバーレイネットワークPLは、IPv6(Internet Protocol Version 6)により通信可能なノード装置により構成される。なお、本実施形態のノード装置は、第1オーバーレイネットワークOLまたは第2オーバーレイネットワークPLのいずれかのオーバーレイネットワークに参加することになる。
【0025】
[第1オーバーレイネットワークOL及び第2オーバーレイネットワークPLへの参加方法について]
以下、図2を参照して、第1オーバーレイネットワークOL及び第2オーバーレイネットワークPLへの参加方法について説明する。図2は、本実施形態における第1オーバーレイネットワークOL及び第2オーバーレイネットワークPLへの参加方法の説明を示す説明図である。以下の第1オーバーレイネットワークOL及び第2オーバーレイネットワークPLの参加方法についての説明では、ブロードバンドルータBRを、単にノード装置と呼ぶ。
【0026】
なお情報通信システムSへの接続は、情報通信システムSへ接続していないノード装置が、接続している任意のノード装置に対して情報通信システムSへの参加要求を示す参加メッセージを送信することによって行われる。情報通信システムSへの参加とは、ノード装置が情報通信システムSに接続され、情報通信システムSからコンテンツを取得可能になることである。つまり、第1オーバーレイネットワークOLまたは第2オーバーレイネットワークPLに参加するとは、DHTを用いたルーティングテーブルに基づいて第1オーバーレイネットワークOLまたは第2オーバーレイネットワークPLを介して他のノードとの間で各種メッセージを送受信できる状態に稼動することをいう。任意のノード装置は、例えば、情報通信システムSに常時接続しているコンタクトノードである。情報通信システムSへ参加するノード装置が、コンタクトノードへ参加メッセージを送信することで、ノード装置は、DHTのルーティングテーブルをコンタクトノードから取得することができる。なお、本実施形態では、IPv4で通信可能な第1コンタクトノードと、IPv6で通信可能な第2コンタクトノードの2つのコンタクトノードが存在する。第1コンタクトノードと第2コンタクトノードの2つのコンタクトノードを設置する代わりに、センターサーバSVが、第1コンタクトノード及び第2コンタクトノードとして機能しても良い。この場合、センターサーバSVは、IPv4とIPv6との両方で通信可能なサーバ装置となる。なお、本実施形態では、第1コンタクトノードは第1ルーティングテーブルを記憶し、第2コンタクトノードは、第2ルーティングテーブルを記憶する。また、第1コンタクトノードと第2コンタクトノードの2つのコンタクトノードを設置する代わりに、センターサーバSVが用いられる場合、センターサーバSVが、第1ルーティングテーブルと第2ルーティングテーブルを記憶する。なお、第1ルーティングテーブルと第2ルーティングテーブルの詳細な説明は後述する。
【0027】
図2では、まず、情報通信システムSへ接続していないノード装置T5がIPv4で通信可能か否かを判定する(図2:(1))。また、ノード装置T5がIPv6で通信可能か否かを判定する(図2:(1))。
【0028】
そして、ノード装置T5が、IPv4でのみ通信可能であると判定された場合、第1オーバーレイネットワークOLに参加するために、第1コンタクトノードへ参加メッセージを送信する(図2:(2))。そして、ノード装置T5は、第1コンタクトノードから、第1ルーティングテーブルを取得する。第1ルーティングテーブルは、第1オーバーレイネットワークOLに接続するノード装置と通信可能なルーティングテーブルである。また、ノード装置T5が、IPv6でのみ通信可能であると判定された場合、第2オーバーレイネットワークPLに参加するために、第2コンタクトノードへ参加メッセージを送信する(図2:(3))。そして、ノード装置T5は、第2コンタクトノードから、第2ルーティングテーブルを取得する。第2ルーティングテーブルは、第2オーバーレイネットワークPLに接続するノード装置と通信可能なルーティングテーブルである。
【0029】
また、ノード装置T5が、IPv4とIPv6との両方で通信可能であると判定された場合、第1オーバーレイネットワークOLまたは第2オーバーレイネットワークPLのいずれかのみに参加するために、第1コンタクトノードまたは第2コンタクトノードのいずれかへ参加メッセージを送信する。具体的には、ノード装置T5は、予め決められた優先順位に従って、第1オーバーレイネットワークOLか第2オーバーレイネットワークPLのいずれかのみに参加する。ノード装置T5が第1オーバーレイネットワークOLに参加した場合、第2オーバーレイネットワークPLに参加するノード装置から送信されたメッセージを破棄することになる。一方、ノード装置T5が第2オーバーレイネットワークPLに参加した場合、第1オーバーレイネットワークOLに参加するノード装置から送信されたメッセージを破棄することになる。
【0030】
この結果、IPv4のオーバーレイネットワークと、IPv6のオーバーレイネットワークとの2つのオーバーレイネットワークを構築することで1つのオーバーレイネットワークの中に、IPv4のルートノードと、IPv6のルートノードを一意に決定する必要がない。さらに、IPv6とIPv4との両方で通信可能なノード装置であっても、IPv4またはIPv6いずれか1つのインターネットプロトコルで通信可能なルーティングテーブルで情報の送受信を行うため、IPv6とIPv4とでプロトコルが異なるためコンテンツが取得できないという問題が発生せず、効率的に情報通信システムを動作させることができる。また、通信可能なインターネットプロトコルとは異なるノード装置により構成されるオーバーレイネットワークへ不要なメッセージを送信しないため、不要なメッセージがネットワーク内で送信されず、情報通信システムのネットワーク帯域を効率的使用できる。
【0031】
本実施形態では、予め決められた優先順位として、IPv6よりIPv4を優先するため、第2オーバーレイネットワークPLよりも第1オーバーレイネットワークOLを優先して、ノード装置T5は、第1オーバーレイネットワークOLに参加する。一方、本実施形態の変形例として、予め決められた優先順位として、IPv4よりIPv6を優先するため、第1オーバーレイネットワークOLよりも第2オーバーレイネットワークPLを優先して、ノード装置T5が、オーバーレイネットワークPLに参加しても良い。また、優先順位を決定するために、第1オーバーレイネットワークOLまたは第2オーバーレイネットワークPLのいずれに参加するかを示す設定ファイルが、ノード装置T5へ配布されても良い。この場合、情報通信システムSにおいて処理動作を実行するためのソフトウェアがノード装置T5に取得されるときに、設定ファイルも取得される。設定ファイルが、センターサーバSVにより生成される場合、情報通信システムSへ接続するノード装置の数によって、優先順位が設定されても良い。例えば、第1オーバーレイネットワークOLへ参加するノード装置の数が、第2オーバーレイネットワークPLへ参加するノード装置の数よりも多い場合、ノード装置を第2オーバーレイネットワークPLへ参加させるために、第1オーバーレイネットワークOLよりも第2オーバーレイネットワークPLの優先順位を高めても良い。また、第2オーバーレイネットワークPLへ参加するノード装置の数が、第1オーバーレイネットワークOLへ参加するノード装置の数よりも多い場合、ノード装置を第1オーバーレイネットワークOLへ参加させるために、第2オーバーレイネットワークPLよりも第1オーバーレイネットワークOLの優先順位を高めても良い。このように、動的に優先順位が切り換えられることで、第1オーバーレイネットワークOL及び第2オーバーレイネットワークPLの通信動作を安定して運用することができる。
【0032】
また、優先順位として、アップロード負荷の高いオーバーレイネットワークへノード装置を優先して参加させても良い。この場合、センターサーバSVが、定期的に第1オーバーレイネットワークOLと第2オーバーレイネットワークPLとのアップロード量を計測する。そして、計測したアップロード容量が多いオーバーレイネットワークへ優先してノード装置を参加させることを示す情報が設定ファイルに記載される。これにより、アップロード負荷の高いオーバーレイネットワークへ優先してノード装置が参加することができるため、アップロード負荷を下げることができ、情報通信システムSの通信動作を安定して運用することができる。
【0033】
[ルーティングテーブルの詳細について]
以下、本実施形態のルーティングテーブルの詳細について説明する。各ノード装置は、夫々、DHT(Distributed Hash Table)を用いたルーティングテーブルを保持している。このルーティングテーブルは、情報通信システムS上における各種制御メッセージの転送先を規定している。制御メッセージは、ピアツーピア型の情報通信システムの運用を制御するメッセージである。言い換えれば、制御メッセージは、ピアツーピア型の情報通信システムで、コンテンツの検索又はコンテンツの取得に用いるためのメッセージである。また、制御メッセージは、DHTのルーティングテーブルに従って送受信されるメッセージである。具体的に、このルーティングテーブルには、ID空間内で適度に離れたノード装置のノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。情報通信システムSに接続している1台のノード装置は、必要最低限のノード装置のノード情報をルーティングテーブルとして記憶している。各ノード装置間で互いに制御メッセージが転送されることで、ノード情報を記憶していないノード装置についてのノード情報が取得される。また、制御メッセージが、各ノード装置により送受信されることで、情報通信システムSは、ピアツーピア型の情報通信システムとして動作可能である。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。本実施形態では、第1オーバーレイネットワークOLを介して情報を送受信するための第1ルーティングテーブルと、第2オーバーレイネットワークPLを介して情報を送受信するための第2ルーティングテーブルとが用いられる。
【0034】
[コンテンツ取得動作の概要について]
情報通信システムSにおいては、内容の異なる様々なコンテンツが複数のノード装置に分散して保存される。各コンテンツには、センターサーバSVにより、それぞれコンテンツ名及びコンテンツデータ毎に固有の識別情報であるコンテンツIDが付与されている。各コンテンツのコンテンツ名及びコンテンツID等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバSVにより作成されて、全てのノード装置に配信される。また、各コンテンツは、複数のデータに分割されている。この分割されたデータを、「チャンク」という。
【0035】
<コンテンツID付与処理>
ノード装置によりコンテンツ投入処理が実行されると、まず、センターサーバSVは、投入するコンテンツにコンテンツIDを付与する。このとき付与されるコンテンツIDは、ノードによりランダムに生成されても良い。
【0036】
<チャンク分割処理>
本実施形態では、各チャンクは、例えば、センターサーバSVより、コンテンツを所定のデータサイズで分割することにより生成される。本実施形態では、チャンクの最小データサイズは、2MB(Mega Byte)である。また、チャンクの最大データサイズは、128MBである。ただし、チャンクに分割した結果、一部のチャンクが、2MBよりも小さくなってしまう場合もある。また、チャンクに分割する前のデータサイズがもともと2MBより小さい場合、2MB未満のデータサイズのチャンクとなる場合がある。本実施形態では、コンテンツデータが複数のチャンクに分割されているが、本実施形態に記載のように、コンテンツデータが複数のチャンクに分割されなくても良い。分割されていないコンテンツデータが本実施形態に適用されても良い。各チャンクは、複数のノード装置に分散されて保存される。これにより、コンテンツが複数のノード装置に分散して保存されることになる。各チャンクのオリジナルは、センターサーバSVに保存されている。
【0037】
<チャンクID付与処理>
各チャンクには、それぞれシーケンス番号及びチャンクIDが、センターサーバSVにより付与される。シーケンス番号は、例えば、分割された複数のチャンクを、元となるコンテンツを構成するように並べたときの並び順に相当する。チャンクIDは、チャンク毎に固有の識別情報である。
【0038】
<チャンクのハッシュ値生成処理>
センターサーバSVはチャンクIDを付与すると、チャンクのハッシュ値を生成する。ハッシュ値は、所定のハッシュ関数を用いて生成される。ハッシュ値は、例えば、チャンクの改竄等をチェックするために、用いられる。
【0039】
<メタ情報ファイル生成処理>
チャンクIDと、チャンクのハッシュ値とが生成されると、センターサーバSVは、メタ情報ファイルを生成する。メタ情報ファイルは、分割されたチャンクから構成されるコンテンツを検索するための情報である。メタ情報ファイルは、付与されたチャンクIDと、シーケンス番号と、チャンクのハッシュ値とを含む。また、メタ情報ファイルには、分割されたチャンクから構成されるコンテンツのコンテンツIDが、センターサーバSVにより付与される。各ノード装置は、あるコンテンツのコンテンツIDを取得すると、メタ情報ファイルを取得する。具体的には、メタ情報ファイルに付与されたコンテンツIDに基づいて、ノード装置はメタ情報ファイルを取得する。ノード装置は、メタ情報ファイルを取得すると、メタ情報ファイルに含まれるチャンクIDを取得する。取得したチャンクIDに基づいて、ノード装置は、コンテンツのチャンクが取得される。これにより、コンテンツを構成する各チャンクのチャンクIDを、そのシーケンス番号と対応付けて、ノード装置は取得することができる。
【0040】
なお、本実施形態のチャンクを保存しているノード装置を、「コンテンツ保持ノード」という。また、チャンクの所在は、インデックス情報として、チャンクの所在を管理または記憶しているノード装置により記憶される。以下、チャンクの所在を管理しているノード装置を、「ルートノード」という。インデックス情報は、チャンクを保存したノード装置のノード情報と、チャンクのチャンクIDと等の組を含む。このようなルートノードは、例えば、チャンクIDと最も近いノードIDを有するノードであるように定められる。チャンクIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。
【0041】
上述の処理によりメタ情報ファイルが生成されると、センターサーバSVがメタ情報ファイルを記憶する。そして、センターサーバSVが記憶したメタ情報ファイルが、複数のノード装置のいずれかに保存される。
【0042】
<コンテンツ取得動作の詳細説明>
以下、本実施形態のコンテンツ取得動作の詳細について、説明する。あるノード装置のユーザが、所望のコンテンツを取得したい場合、ノード装置は、所望されたコンテンツを構成する各チャンクを保存するコンテンツ保持ノードをそれぞれ検索する。以下、ユーザによりチャンクの取得を望むノード装置を、「ユーザノード」という。具体的に、ユーザノードは、検索メッセージを送信する。この検索メッセージは、取得を望むコンテンツのコンテンツID及びユーザノードのノード情報を含む。この検索メッセージが、ユーザノードが記憶するDHTのルーティングテーブルに従って、他のノード装置に対して送信される。つまり、ユーザノードは、検索メッセージを、ルートノードに向けて送信する。これにより、検索メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
【0043】
検索メッセージを受信したルートノードは、検索メッセージに含まれるコンテンツIDに対応するインデックス情報をインデックス情報キャッシュから1または複数取得する。取得されたインデックス情報は、ユーザノードのノード情報に基づいて、検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツIDに対応するメタ情報ファイルを取得またはダウンロードする。具体的に、ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのIPアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、ユーザノードのノード情報と、所望するコンテンツのコンテンツIDとが含まれている。コンテンツ保持ノードは、コンテンツ要求メッセージを受信すると、コンテンツ要求メッセージに含まれるコンテンツIDに対応するメタ情報ファイルをユーザノードに送信またはアップロードする。一方、所望するメタ情報ファイルを保存するコンテンツ保持ノードが存在しないとき、ユーザノードは、コンテンツ保持ノードのインデックス情報を取得することができない。この場合、ユーザノードは、センターサーバSVからメタ情報ファイルを取得しても良い。
【0044】
あるいは、ルートノードは、インデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信する。コンテンツ送信要求メッセージは、コンテンツ要求メッセージの送信元のノード情報を含む。コンテンツ送信要求を受信したコンテンツ保持ノードは、受信したメッセージが含むノード情報が示すユーザノードへメタ情報ファイルの送信またはアップロードを開始する。これにより、ユーザノードは、コンテンツ保持ノードからメタ情報ファイルを取得することが可能になる。
【0045】
そして、ユーザノードは、コンテンツ保持ノードからメタ情報ファイルを取得して保存したとき、メタ情報ファイルを公開する。メタ情報ファイルの公開とは、ユーザノードがコンテンツ保持ノードとしてメタ情報ファイルを保存したことをルートノードへ知らせることをいう。メタ情報ファイルの公開により、公開したコンテンツ保持ノードから、公開されたメタ情報ファイルを他のノード装置が取得可能になる。具体的に、メタ情報ファイルを保存したユーザノードは、パブリッシュメッセージを送信する。パブリッシュメッセージは、メタ情報ファイルのコンテンツID及びメタ情報ファイルを保存したユーザノードのノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報をインデックス情報キャッシュに記憶する。こうして、上記ユーザノードは、新たに、上記メタ情報ファイルを保存するコンテンツ保持ノードとなる。
【0046】
ユーザノードはメタ情報ファイルを取得すると、取得したメタ情報ファイルが含むチャンクIDに基づいて、チャンク検索メッセージを送信する。チャンク検索メッセージは、チャンクIDと、ユーザノードのノード情報とを含む。チャンク検索メッセージは、ユーザノードが記憶するDHTのルーティングテーブルに従って、他のノード装置に対して送信される。つまり、ユーザノードは、チャンク検索メッセージを、チャンクのルートノードに向けて送信する。これにより、チャンク検索メッセージは、チャンクIDをキーとするDHTルーティングによって最終的にチャンクのルートノードに到着することになる。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
【0047】
チャンク検索メッセージを受信したルートノードは、これに含まれるチャンクIDに対応するインデックス情報をインデックス情報キャッシュから1または複数取得する。取得されたインデックス情報は、ユーザノードのノード情報に基づいて、チャンク検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてチャンクを取得またはダウンロードする。具体的に、ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのIPアドレス及びポート番号等に基づいて、チャンク要求メッセージをコンテンツ保持ノードに送信する。チャンク要求メッセージには、ユーザノードのノード情報及び取得を望むチャンクのチャンクIDが含まれている。チャンク要求メッセージを受信したコンテンツ保持ノードは、チャンク要求メッセージに含まれるチャンクIDに対応するチャンクをユーザノードに送信またはアップロードする。一方、所望するチャンクを保存するコンテンツ保持ノードが存在しないとき、ユーザノードは、コンテンツ保持ノードのインデックス情報を取得することができない。この場合、ユーザノードは、センターサーバSVからチャンクを取得しても良い。
【0048】
あるいは、ルートノードは、インデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してチャンク送信要求メッセージを送信する。チャンク送信要求メッセージは、チャンク要求メッセージの送信元のノード情報を含む。チャンク送信要求を受信したコンテンツ保持ノードは、受信したメッセージが含むノード情報が示すユーザノードへチャンクの送信またはアップロードを開始する。これにより、ユーザノードは、コンテンツ保持ノードからチャンクを取得することが可能になる。
【0049】
そして、ユーザノードは、コンテンツ保持ノードからチャンクを取得して保存したとき、チャンクを公開する。チャンクの公開とは、ユーザノードがコンテンツ保持ノードとしてチャンクを保存したことをルートノードへ知らせることをいう。チャンクの公開により、公開したコンテンツ保持ノードから、公開されたチャンクを他のノード装置が取得可能になる。具体的に、チャンクを保存したユーザノードは、パブリッシュメッセージを送信する。パブリッシュメッセージは、チャンクのチャンクID及びチャンクを保存したユーザノードのノード情報を含む。パブリッシュメッセージは、チャンクのルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、チャンクIDをキーとするDHTルーティングによってルートノードに到着することになる。ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びチャンクIDの組を含むインデックス情報をインデックス情報キャッシュに記憶する。こうして、上記ユーザノードは、新たに、チャンクを保存するコンテンツ保持ノードとなる。
【0050】
[ブロードバンドルータBRの電気的構成]
次に、図3を参照して、ブロードバンドルータBRの電気的構成ついて説明する。図3は、本実施形態のブロードバンドルータBRの電気的構成を示すブロック図である。図3に示すように、本実施形態のブロードバンドルータBRには、ブロードバンドルータBRを制御するCPU1が備えられている。CPU1には、HDD2とRAM3と通信部9とがそれぞれ電気的に接続されている。HDD2、RAM3、などの記憶手段とCPU1とは、ブロードバンドルータBRのコンピュータを構成している。なお、ブロードバンドルータBRのコンピュータにより、計時動作が実行される。計時動作により、ブロードバンドルータBRは、時間を計測することができる。CPU1、HDD2、RAM3、及び通信部9はバスを介して相互に接続されている。なお、ブロードバンドルータBR以外にも、パーソナルコンピュータ、又はSTB(Set Top Box)、ファイアウォール等にも適用可能である。
【0051】
HDD2は、プログラム記憶領域21と、第1ルーティングテーブル記憶領域23と、第2ルーティングテーブル記憶領域24と、コンタクトノード記憶領域25とを含む。プログラム記憶領域21は、メイン動作処理プログラム記憶領域22を含む。メイン動作処理プログラム記憶領域22は、メイン動作処理プログラムを記憶する。メイン動作処理プログラムは、ブロードバンドルータBRにメイン動作処理を実行させるプログラムである。なお、ブロードバンドルータBRのメイン動作処理プログラムは、例えば、ネットワークNW上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしても良い。
【0052】
第1ルーティングテーブル記憶領域23は、本実施形態第1ルーティングテーブルを記憶する。第2ルーティングテーブル記憶領域24は、本実施形態の第2ルーティングテーブルを記憶する。コンタクトノード記憶領域25は、第1コンタクトノードと第2コンタクトノードのIPアドレスを記憶する。IPv4またはIPv6で表された第1コンタクトノードと第2コンタクトノードのIPアドレスが、コンタクトノード記憶領域25に記憶される。コンタクトノード記憶領域25に記憶された第1コンタクトノードと第2コンタクトノードのIPアドレスに基づいて、参加メッセージが送信される。なお、第1コンタクトノードと第2コンタクトノードのIPアドレスは、予め記憶されていても良いし、メイン動作処理プログラムがダウンロードされると共に取得されても良い。なお、本実施形態のコンタクトノード記憶領域25は、本発明の記憶手段の一例である。なお、第1コンタクトノードと第2コンタクトノードの代わりに、IPv4とIPv6との両方で通信可能なセンターサーバSVが設置される場合、センターサーバSVのIPv4のIPアドレスと、IPv6のIPアドレスとが、コンタクトノード記憶領域25に記憶される。
【0053】
RAM3は、コンテンツデータ一時記憶領域31と制御メッセージ一時記憶領域32とを含む。コンテンツデータ一時記憶領域31は、オーバーレイネットワークOLまたはオーバーレイネットワークPLで送受信されるコンテンツデータを、コンテンツIDと対応付けて一時記憶する。RAM3の代わりに、公知のフラッシュメモリー等の記憶装置が用いられても良い。
【0054】
制御メッセージ一時記憶領域32は、情報通信システムSを制御する制御メッセージが一時記憶される。
【0055】
通信部9は、ネットワークNWを通じて外部装置と情報の通信制御を行う。
【0056】
ブロードバンドルータBRは、通信部9を介して要求に応じて送信されてきたコンテンツまたはチャンクまたはメタ情報ファイルを受信する受信処理を行う。本実施形態のコンテンツまたはチャンクまたはメタ情報ファイルはパケット化されて送信されるようになっている。各パケットは、通信部9を通じて受信され、RAM3のコンテンツデータ一時記憶領域31に一時記憶される。或いは、RAM3に記憶されたコンテンツは、RAM3から読み出されてHDD2に記憶されても良い。または、コンテンツデータがRAM3を介さず、直接HDD2に記憶されても良い。
【0057】
[ブロードバンドルータBRのメイン動作]
以上説明した構成からなる本実施形態のブロードバンドルータBRの動作及び作用について、添付図面を参照して説明する。まず、ブロードバンドルータBRの動作及び作用について、添付図面を参照して説明する。図4は、ブロードバンドルータBRにおけるメイン動作の処理手順を示すフローチャートである。ブロードバンドルータBRのメイン動作は、電源またはコンセントを介して商用電源などの外部電源とブロードバンドルータBRとが接続されたことにより、遂行される。以下に示す処理は、CPU1により処理される。
【0058】
まず、ステップS101では、IPv4で通信可能か否かが判定される。具体的には、コンタクトノード記憶領域25に記憶された第1コンタクトノードのIPアドレスに基づいて、所定のメッセージが送信される。メッセージを送信した結果、第1コンタクトノードと通信可能となった場合、IPv4で通信可能であると判定される。IPv4で通信可能であると判定された場合(ステップS101:YES)、ステップS102が実行される。IPv4で通信可能であると判定されなかった場合(ステップS101:NO)、ステップS105が実行される。本実施形態のコンピュータとステップS101は、本発明の第1判定手段の一例である。また、本実施形態のステップS101は、本発明の第1判定ステップの一例である。なお、IPv4で通信可能か否かは、ノード装置に予め設定された設定ファイル等を用いて判定されても良い。
【0059】
ステップS102では、IPv6で通信可能か否かが判定される。具体的には、コンタクトノード記憶領域25に記憶された第2コンタクトノードのIPアドレスに基づいて、所定のメッセージが送信される。メッセージを送信した結果、第2コンタクトノードと通信可能となった場合、IPv6で通信可能であると判定される。IPv6で通信可能であると判定された場合(ステップS102:YES)、ステップS103が実行される。IPv6で通信可能であると判定されなかった場合(ステップS102:NO)、ステップS104が実行される。本実施形態のコンピュータとステップS102は、本発明の第2判定手段の一例である。また、本実施形態のステップS102は、本発明の第2判定ステップの一例である。なお、IPv6で通信可能か否かは、ノード装置に予め設定された設定ファイル等を用いて判定されても良い。
【0060】
ステップS103では、予め決められた優先順位に従って、IPv4またはIPv6のいずれかのオーバーレイネットワークへの参加処理が実行される。本実施形態では、IPv6よりもIPv4の方が、優先順位が高いため、第1オーバーレイネットワークOLの第1コンタクトノードへ参加メッセージが送信される。そして、第1コンタクトノードから取得した第1ルーティングテーブルが第1ルーティングテーブル記憶領域23に記憶される。本実施形態のコンピュータとステップS103とは、本発明の制御手段の一例である。また、本実施形態のステップS103は、本発明の取得ステップの一例である。
【0061】
ステップS104では、IPv4で通信可能な第1オーバーレイネットワークOLの第1コンタクトノードへ参加メッセージが送信される。そして、第1コンタクトノードから取得した第1ルーティングテーブルが第1ルーティングテーブル記憶領域23に記憶される。本実施形態のコンピュータとステップS104は、本発明の第1取得手段の一例である。また、本実施形態のステップS104は、本発明の取得ステップの一例である。また、第1コンタクトノードへ参加メッセージを送信する処理は、本発明の要求手段の一例である。
【0062】
ステップS105では、IPv6で通信可能か否かが判定される。具体的には、コンタクトノード記憶領域25に記憶された第2コンタクトノードのIPアドレスに基づいて、所定のメッセージが送信される。メッセージを送信した結果、第2コンタクトノードと通信可能となった場合、IPv6で通信可能であると判定される。IPv6で通信可能であると判定された場合(ステップS105:YES)、ステップS106が実行される。IPv6で通信可能であると判定されなかった場合(ステップS105:NO)、ステップS107が実行される。本実施形態のコンピュータとステップS105は、本発明の第2判定手段の一例である。また、本実施形態のステップS105は、本発明の第2判定ステップの一例である。なお、IPv6で通信可能か否かは、ノード装置に予め設定された設定ファイル等を用いて判定されても良い。
【0063】
ステップS106では、IPv6で通信可能な第2オーバーレイネットワークPLの第2コンタクトノードへ参加メッセージが送信される。そして、第2コンタクトノードから取得した第2ルーティングテーブルが第2ルーティングテーブル記憶領域24に記憶される。本実施形態のコンピュータとステップS106とは、本発明の第2取得手段の一例である。また、本実施形態のステップS106は、本発明の取得ステップの一例である。また、第2コンタクトノードへ参加メッセージを送信する処理は、本発明の要求手段の一例である。
【0064】
ステップS107では、参加処理の失敗が通知される。
【0065】
ステップS108では、制御メッセージが受信されたか否かが判定される。制御メッセージが受信されたと判定された場合(ステップS108:YES)、ステップS109が実行される。制御メッセージが受信されたと判定されなかった場合(ステップS108:NO)、ステップS113が実行される。本実施形態のコンピュータとステップS108は、本発明の受信手段の一例である。
【0066】
ステップS109では、ステップS108で受信した制御メッセージが、制御メッセージ一時記憶領域32に一時記憶される。また、ステップS108で受信した制御メッセージの送信元のノード装置のIPアドレスが、制御メッセージと対応付けられて制御メッセージ一時記憶領域32に一時記憶される。
【0067】
ステップS110では、ステップS109で一時記憶したIPアドレスに基づいて、制御メッセージの送信元のノード装置のインターネットプロトコルが、参加しているオーバーレイネットワークのインターネットプロトコルと一致するか否かが判定される。具体的には、ステップS109で一時記憶したIPアドレスに基づいて、送信元のノード装置がIPv4で通信可能か、IPv6で通信可能かが決定される。また、第1ルーティングテーブルが第1ルーティングテーブル記憶領域23に記憶されている場合、参加しているオーバーレイネットワークのインターネットプロトコルがIPv4であると判定される。一方、第2ルーティングテーブルが第2ルーティングテーブル記憶領域24に記憶されている場合、参加しているオーバーレイネットワークのインターネットプロトコルがIPv6であると判定される。このように決定された制御メッセージの送信元のインターネットプロトコルと、参加しているオーバーレイネットワークのインターネットプロトコルとが一致するか否かが判定される。インターネットプロトコルが一致すると判定された場合(ステップS110:YES)、ステップS111が実行される。インターネットプロトコルが一致すると判定されなかった場合(ステップS110:NO)、ステップS112が実行される。
【0068】
ステップS111では、制御メッセージが転送される。具体的には、ステップS110で一致すると判定されたインターネットプロトコルに対応するルーティングテーブルが決定される。ステップS110で、IPv4で一致すると判定された場合、第1ルーティングテーブルが決定される。一方、ステップS110で、IPv6で一致すると判定された場合、第2ルーティングテーブルが決定される。決定されたルーティングテーブルに従って、制御メッセージが転送される。本実施形態のコンピュータとステップS111とは、本発明の第2制御手段の一例である。
【0069】
ステップS112では、制御メッセージが破棄される。具体的には、本実施形態では、制御メッセージ一時記憶領域32に一時記憶された制御メッセージが削除される。削除される以外に、制御メッセージ一時記憶領域32に一時記憶された制御メッセージが参照不可能に設定されても良い。また、制御メッセージ一時記憶領域32に一時記憶された制御メッセージが転送不可能に設定されても良い。本実施形態のコンピュータとステップS112とは、本発明の第2制御手段の一例である。
【0070】
ステップS113では、ブロードバンドルータBRの電源がオフされたか否かが判定される。電源がオフにされたと判定された場合(ステップS113:YES)、メイン動作処理は終了される。電源がオフにされたと判定されなかった場合(ステップS113:NO)、ステップS108が実行される。
【0071】
本実施形態においては、第1オーバーレイネットワークOLまたは第2オーバーレイネットワークPLに、DHTのルーティングテーブルを利用したピアツーピアの通信システムが適用されていたが、これに限られるものではない。他のピアツーピアの通信システム、または、オーバーレイネットワークを用いたシステムに、本発明が適用されても良い。例えば、DHT以外のルーティングテーブルが用いられる通信システムまたはピアツーピアの通信システムに本発明が適用されても良い。DHTを利用しないピアツーピアの通信システムとしては、例えば、ハイブリッド型のピアツーピアの通信システムがある。ハイブリッド型のピアツーピアの通信システム、または、ピュア型のピアツーピアの通信システムに本発明が適用されても良い。
【0072】
また本実施形態では、ブロードバンドルータBRに本発明を適用した例を記載したが、これに限定されるものではない。ノード装置として、本実施形態の端末装置Tm−nが用いられても良い。各拠点に接続される端末装置Tm−nまたはネットワークNWに直接接続可能な端末装置Tm−nにより、第1オーバーレイネットワークOLまたは第2オーバーレイネットワークPLが構成されても良い。この場合、端末装置Tm−nは、IPv4またはIPV6のいずれか一方、または、IPv4とIPv6との両方のIPプロトコルで通信可能である。
【0073】
また、本実施形態の図4におけるステップS113では、電源がオフされた否かが判定された。電源がオフされたか否かの判定以外に、オーバーレイネットワークからの離脱指示があったか否かが判定されても良い。オーバーレイネットワークからの離脱指示があったと判定された場合、図4のステップS113と同様に、メイン動作処理は終了される。一方、オーバーレイネットワークからの離脱指示があったと判定されなかった場合、図4のステップS113と同様に、ステップS108が再度実行される。ステップS113で離脱指示があったか否かが判定される場合、オーバーレイネットワークへの参加指示に基づいて、メイン動作処理が実行されても良い。
【符号の説明】
【0074】
1 CPU
2 HDD
3 RAM
9 通信部
21 プログラム記憶領域
22 メイン動作処理プログラム記憶領域
23 第1ルーティングテーブル記憶領域
24 第2ルーティングテーブル記憶領域
25 コンタクトノード記憶領域
31 コンテンツ一時記憶領域
32 制御メッセージ一時記憶領域
Tm−n 端末装置
NLm 拠点
NW ネットワーク
BR、BR1、BR2、BR3 ブロードバンドルータ
S 情報通信システム
OL 第1オーバーレイネットワーク
PL 第2オーバーレイネットワーク
SV センターサーバ

【特許請求の範囲】
【請求項1】
IPv4(Internet Protocol Version 4)により通信可能な第1ノード装置、または、IPv6(Internet Protocol Version 6)により通信可能な第2ノード装置を含む複数のノード装置により構成される情報通信システムであって、
前記ノード装置は、
前記ノード装置がIPv4で通信可能かを判定する第1判定手段と、
前記ノード装置がIPv6で通信可能かを判定する第2判定手段と、
前記第1判定手段によりIPv4で通信可能と判定された場合、IPv4で通信可能な第1ノード装置を用いて生成された第1ルーティングテーブルを、ネットワークに接続された所定の装置から取得する第1取得手段と、
前記第2判定手段によりIPv6で通信可能と判定された場合、IPv6で通信可能な第2ノード装置を用いて生成された第2ルーティングテーブルを、ネットワークに接続された所定の装置から取得する第2取得手段と、
前記第1判定手段によりIPv4で通信可能と判定され、且つ、前記第2判定手段によりIPv6で通信可能と判定された場合、所定の優先順位に従って、前記第1ルーティングテーブル、または、前記第2ルーティングテーブルのいずれかを、前記第1取得手段または前記第2取得手段に取得させる制御手段と、
を備えることを特徴とするノード装置。
【請求項2】
前記ノード装置は、
前記第1取得手段または前記第2取得手段により取得された前記第1ルーティングテーブルまたは前記第2ルーティングテーブルを用いて、前記情報通信システムを制御するメッセージの送受信を制御する第2制御手段と、
前記第1ルーティングテーブルを用いて送受信される第1メッセージ、または、前記第2ルーティングテーブルを用いて送受信される第2メッセージの少なくともいずれか一方を受信する受信手段と、
を備え、
前記第1判定手段によりIPv4で通信可能と判定され、且つ、前記第2判定手段によりIPv6で通信可能と判定された場合、前記第2制御手段は、所定の優先順位により従って前記制御手段により取得された第1ルーティングテーブルまたは第2ルーティングテーブルを用いて通信可能なインターネットプロトコルとは異なるインターネットプロトコルにより受信されたメッセージの送信を実行しないことを特徴とする請求項1に記載のノード装置。
【請求項3】
IPv4により通信可能な複数のノード装置により構成される第1オーバーレイネットワークの通信負荷と、IPv6により通信可能な複数のノード装置により構成される第2オーバーレイネットワークの通信負荷とに基づいて、前記制御手段は、前記所定の優先順位として、通信負荷の高いオーバーレイネットワークで通信可能なルーティングテーブルを取得させることを特徴とする請求項1または請求項2に記載のノード装置。
【請求項4】
前記情報通信システムは、
IPv4により通信可能な複数のノード装置により構成される第1オーバーレイネットワークへの参加要求を、前記情報通信システムに参加する参加ノード装置から受信する第1コンタクトノードと、
IPv6により通信可能な複数のノード装置により構成される第2オーバーレイネットワークへの参加要求を、前記参加ノード装置から受信する第2コンタクトノードと、
をさらに備え、
前記ノード装置は、
前記第1コンタクトノードと、前記第2コンタクトノード夫々のネットワークの所在を示す所在情報を記憶する記憶手段と、
前記記憶手段に記憶された前記所在情報に基づいて、前記第1コンタクトノードと前記第2コンタクトノードへの接続を要求する要求手段と、を備え、
前記第1判定手段は、前記要求手段により接続を要求した結果、前記第1コンタクトノードと接続できた場合、IPv4により通信可能と判定し、
前記第2判定手段は、前記第2コンタクトノードと接続できた場合、IPv6により通信可能と判定することを特徴とする請求項1から請求項3のいずれか一項に記載のノード装置。
【請求項5】
IPv4(Internet Protocol Version 4)により通信可能な第1ノード装置、または、IPv6(Internet Protocol Version 6)により通信可能な第2ノード装置を含む複数のノード装置により構成される情報通信システムであって、
前記ノード装置のコンピュータに、
前記ノード装置がIPv4で通信可能かを判定する第1判定ステップと、
前記ノード装置がIPv6で通信可能かを判定する第2判定ステップと、
前記第1判定ステップによりIPv4で通信可能と判定され、且つ、前記第2判定ステップによりIPv6で通信可能と判定された場合、所定の優先順位に従って、IPv4で通信可能な第1ノード装置を用いて生成された第1ルーティングテーブル、または、IPv6で通信可能な第2ノード装置を用いて生成された第2ルーティングテーブルのいずれかを、所定の装置から取得する取得ステップと、
を実行させることを特徴とするプログラム。
【請求項6】
IPv4(Internet Protocol Version 4)により通信可能な第1ノード装置、または、IPv6(Internet Protocol Version 6)により通信可能な第2ノード装置を含む複数のノード装置により構成される情報通信システムの情報通信方法であって、
前記ノード装置がIPv4で通信可能かを、前記ノード装置に判定させる第1判定ステップと、
前記ノード装置がIPv6で通信可能かを、前記ノード装置に判定させる第2判定ステップと、
前記第1判定ステップによりIPv4で通信可能と判定され、且つ、前記第2判定ステップによりIPv6で通信可能と判定された場合、所定の優先順位に従って、IPv4で通信可能な第1ノード装置を用いて生成された第1ルーティングテーブル、または、IPv6で通信可能な第2ノード装置を用いて生成された第2ルーティングテーブルのいずれかを、前記ノード装置に所定の装置から、前記ノード装置に取得させる取得ステップと、
を含む情報通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate