(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）である。
【００３０】
また、ネットワークＮＷには、投入サーバ及びポータルサーバ等のサーバ装置等が接続されている。投入サーバとポータルサーバとは特に図示していない。
【００３１】
このような構成のコンテンツ分散保存システムＳにおいて、構成要素たる各装置の機能概要は以下の通りである。投入サーバは、後述する第１オーバーレイネットワークＰＷ、または、第２オーバーレイネットワークＰＬにコンテンツデータを投入するサーバ装置である。なお、投入サーバは図示していない。ここで、コンテンツデータの投入とは、コンテンツデータをノード装置Ｔｍ−ｎから取得可能な状態におくことをいう。なお、コンテンツデータを、「コンテンツ」という。
【００３２】
ポータルサーバは、ノード装置Ｔｍ−ｎからのリクエストに応じてＷｅｂページをノード装置Ｔｍ−ｎに送信する。ポータルサーバにより送信されるＷｅｂページは、コンテンツの一例として動画データを配信するＷｅｂサイトを構成する。なお、ポータルサーバは図示していない。
【００３３】
ノード装置Ｔｍ−ｎは、拠点ｍにいるユーザにより使用される端末装置である。ノード装置Ｔｍ−ｎは、ポータルサーバ等のＷｅｂサーバからＷｅｂページを取得し、取得したＷｅｂページを画面表示する。ノード装置Ｔｍ−ｎは、他のノード装置Ｔｍ−ｎ又からコンテンツを取得し保存する。更に、ノード装置Ｔｍ−ｎは、動画データ等のコンテンツを再生する。
【００３４】
本実施形態のコンテンツ分散保存システムＳでは、コンテンツ配信のためのオーバーレイネットワークが構築されている。オーバーレイネットワークは、ネットワークＮＷ上に構築されたオーバーレイネットワークである。言い換えれば、オーバーレイネットワークは、物理的なネットワーク上に生成される論理的なネットワークである。また、オーバーレイネットワークは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「ＤＨＴ（Distributed Hash Table）」という。なお、ＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知である。
【００３５】
本実施形態では、このオーバーレイネットワークが２種類ある。図２に示すように、第１オーバーレイネットワークＰＷと、第２オーバーレイネットワークＰＬである。第１オーバーレイネットワークＰＷは、ＩＰｖ４により通信可能なノード装置のいずれかから構成される。また、第２オーバーレイネットワークＰＬは、ＩＰｖ６により通信可能なノード装置のいずれかから構成される。本実施形態のノード装置には、ＩＰｖ４のみで通信可能なノード装置と、ＩＰｖ６のみで通信可能なノード装置と、ＩＰｖ４とＩＰｖ６との双方で通信可能なノード装置とが存在する。図１の例では、ノード装置Ｔ１−１と、ノード装置Ｔ１−２と、ノード装置Ｔ２−１と、ノード装置Ｔ３−１と、ノード装置Ｔ４−１と、ノード装置Ｔ５−１とが、ＩＰｖ４により通信可能である。そのため、第１オーバーレイネットワークＰＷは、ノード装置Ｔ１−１、ノード装置Ｔ１−２、ノード装置Ｔ２−１と、ノード装置Ｔ３−１、ノード装置Ｔ４−１、ノード装置Ｔ５−１等のＩＰｖ４により通信可能なノード装置により構成される。また、図１の例では、ノード装置Ｔ１−４と、ノード装置Ｔ２−４と、ノード装置Ｔ２−５と、ノード装置Ｔ３−１と、ノード装置Ｔ４−１とが、ＩＰｖ６により通信可能である。そのため、第２オーバーレイネットワークＰＬは、ノード装置Ｔ１−４、ノード装置Ｔ２−４、ノード装置Ｔ２−５、ノード装置Ｔ３−１、ノード装置Ｔ４−１等のＩＰｖ６により通信可能なノード装置により構成される。
【００３６】
第１オーバーレイネットワークＰＷ、または、第２オーバーレイネットワークＰＬの生成方法の詳細については、後述する。第１オーバーレイネットワークＰＷ、または、第２オーバーレイネットワークＰＬを用いて、各ノード装置Ｔｍ−ｎがピアツーピア方式で通信を行えるよう、ブロードバンドルータＢＲやファイアーウォールＦＷにおいてポートフォワーディングの設定が行われる。例えば、ブロードバンドルータＢＲであれば、ＵＰｎＰ（Universal Plug and Play）機能等を利用して自動的にポートフォワーディングの設定が行われるようにしておくと良い。
【００３７】
［第１オーバーレイネットワーク及び第２オーバーレイネットワークの生成方法］
以下、第１オーバーレイネットワークＰＷ及び第２オーバーレイネットワークＰＬの生成方法について説明する。第１オーバーレイネットワークＰＷでは、ＤＨＴの第１ルーティングテーブルが用いられる。また、第２オーバーレイネットワークＰＬでは、ＤＨＴの第２ルーティングテーブルが用いられる。
【００３８】
本実施形態では、コンテンツ分散保存システムＳには、ＩＰｖ４により通信可能な第１コンタクトノードと、ＩＰｖ６により通信可能な第２コンタクトノードとが備えられる。コンタクトノードは、各ノード装置Ｔｍ−ｎが、オーバーレイネットワークに参加する際に、最初にメッセージを送信するノード装置である。例えば、ＩＰｖ４により通信可能なノード装置Ｔｍ−ｎは、第１コンタクトノードに参加メッセージを送信する。また、Ｉｐｖ６により通信可能なノード装置Ｔｍ−ｎは、第２コンタクトノードに参加メッセージを送信する。参加メッセージを受信した第１コンタクトノード及び第２コンタクトノードは、参加処理を実行する。まず、本実施形態のルーティングテーブルについて詳しく説明する。
【００３９】
図２は、ノード装置Ｔｍ−ｎが記憶する第１ルーティングテーブルの一例である。図３は、ＤＨＴのＩＤ空間の一例を示す概念図である。なお、図２及び図３の例においては、説明の便宜上、ノードＩＤのｂｉｔ長を２ｂｉｔ×３桁＝６ｂｉｔとしている。そのため、各桁は、２ｂｉｔで表された４進数（０〜３の整数）で表されている。各桁を２ｂｉｔよりも長いｂｉｔ長を用いても良い。例えば、各桁を４ｂｉｔで表して、０〜ｆの１６進数で表現しても良い。
【００４０】
図２に示すように、第１ルーティングテーブルは、レベル１（一段目）〜レベル３（三段目）の複数レベルから構成される。各エリアには、ノード情報が登録される。ノード情報は、ノードＩＤと、ノードＩＤに対応するノード装置のＩＰアドレス及びポート番号と、を含む。図２の例の場合、レベル１の０ＸＸのエリアには、ノードＩＤ「００２」と、ノードＩＤ「００２」に対応するノード装置Ｔ２−１のＩＰアドレス及びポート番号とが、対応付けられてノード情報として登録されている。
【００４１】
図２に示すレベル１〜レベル３の各レベルにおける各エリアは、ノードＩＤ空間を分割することにより決定されるエリアである。図３は、ノードＩＤを用いて各エリアが決定される概念図である。ノードＩＤ空間は、各桁が４進数（０〜３の整数）で表される３桁の数字により構成される。図３に示すように、レベル１のエリアとして、ノードＩＤ空間が４つ（４進数のため）に分割される。具体的にレベル１のエリアは、０ＸＸのエリアと、１ＸＸのエリアと、２ＸＸのエリアと、３ＸＸとに分割される。０ＸＸのエリアは、'０
００'〜'０３３'のノードＩＤが存在するエリアである。１ＸＸのエリアは、'１００'〜'１３３'のノードＩＤが存在するエリアである。２ＸＸのエリアは、'２００'〜'２３３'
のノードＩＤが存在するエリアである。３ＸＸのエリアは、'３００'〜'３３３'のノードＩＤが存在するエリアである。
【００４２】
また、レベル２では、レベル１のエリアが更に４つ（４進数のため）に分割される。つまり、０ＸＸ〜３ＸＸの各エリアが更に４つに分割される。０ＸＸのエリアと１ＸＸのエリアと２ＸＸのエリアと３ＸＸのエリアとが夫々４分割される。例えば、１ＸＸのエリアの場合、'１００'〜'１０３'のノードＩＤが存在するエリアが１０Ｘのエリアとして分割される。また、１１Ｘのエリアの場合、'１１０'〜'１１３'のノードＩＤが存在するエリアが１１Ｘのエリアとして分割される。また、１２Ｘのエリアの場合、'１２０'〜'１２
３'のノードＩＤが存在するエリアが１２Ｘのエリアとして分割される。また、１３Ｘの
エリアの場合、'１３０'〜'１３３'のノードＩＤが存在するエリアが１３Ｘのエリアとして分割される。
【００４３】
以降、ノード装置Ｔｍ−ｎのノードＩＤが「１２２」の場合を例として説明する。図２に示すように、ルーティングテーブルのレベル１における１ＸＸのエリアは、ノード装置Ｔ１−２のノードＩＤが存在するエリアである。そのため、レベル１の１ＸＸのエリアには、図２の例では、ノード装置Ｔ１−２自身のノードＩＤと、ＩＰアドレスまたはポート番号とが登録される。本実施形態では、ノード装置Ｔ１−２自身のノードＩＤとＩＰアドレスまたはポート番号とを登録したが、ノードＩＤとＩＰアドレスまたはポート番号とはノード装置Ｔ１−２自身のものであるので登録されなくてもよい。ノード装置Ｔ１−２のノードＩＤが存在しないエリアには、夫々、他の任意のノード装置のノードＩＤと、ＩＰアドレスまたはポート番号とが登録されている。ノード装置Ｔ１−２のノードＩＤが「１２２」の場合、ノード装置Ｔ１−２のノードＩＤが存在しないエリアは、０ＸＸのエリアと、２ＸＸのエリアと、３ＸＸのエリアとである。
【００４４】
また、ルーティングテーブルのレベル２における１２Ｘのエリアは、ノード装置Ｔ１−２のノードＩＤが存在するエリアである。そのため、レベル２の１２Ｘのエリアには、ノード装置Ｔ１−２自身のノードＩＤと、ＩＰアドレスまたはポート番号とが登録される。ノード装置Ｔ１−２のノードＩＤが存在しないエリアには、レベル１と同様に、他の任意のノード装置のノードＩＤと、ＩＰアドレスまたはポート番号とが登録されている。
【００４５】
更に、ルーティングテーブルのレベル３には、図２に示すように、ノードＩＤが'１２
０'〜'１２３'である。そのため、レベル３の１２２のエリアには、ノード装置Ｔ１−２
自身のノードＩＤと、ＩＰアドレスまたはポート番号とが登録される。本実施形態では、ノード装置Ｔ１−２自身のノードＩＤとＩＰアドレスまたはポート番号とを登録したが、ＩＰアドレスまたはポート番号はノード装置Ｔ１−２自身のものであるので、登録されなくても良い。
【００４６】
なお、図２及び図３の例では、ノードＩＤのｂｉｔ長を３桁×２ｂｉｔである。例えば、ノードＩＤのｂｉｔ長を１６桁×４ｂｉｔとした場合、１６レベル分のテーブルが必要となる。図２および図３に示すように、本実施形態における第１ルーティングテーブルでは、レベルの数値が大きくなるほど、エリアが狭くなっていく。そして、このような第１ルーティングテーブルは、例えば、未参加のノード装置がコンテンツ分散保存システムＳに参加する際に生成される。本実施形態では、オーバーレイネットワークに参加するとは、ＤＨＴを用いたルーティングテーブルに基づいて他のノード装置との間で各種メッセージを送受信できる状態に稼動することをいう。これにより、各ノード装置は、他のノード装置との間でオーバーレイネットワークを介してメッセージを送受信することが可能となる。ここで、オーバーレイネットワークを介したメッセージの送受信とは、オーバーレイネットワークに参加しているノード装置間のメッセージの送受信を意味する。なお、ＤＨＴのルーティングテーブルは、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。ここで、図４を参照して、コンテンツ分散保存システムＳへの参加時における第１ルーティングテーブルの生成手順について詳しく説明する。
【００４７】
図４は、コンテンツ分散保存システムＳへの参加時における第１ルーティングテーブルの生成手順の一例を示す概念図である。具体的には、図４は、各ノード装置Ｔｍ−ｎ間を参加メッセージが転送される概要を示す概念図である。また、図５は、第１ルーティングテーブル作成手順における参加メッセージの転送概要を示す概念図である。以降、未参加のノード装置Ｔ８−１がコンテンツ分散保存システムＳに参加する例を用いて説明する。なお、図４及び図５に示すノード装置１−４とノード装置Ｔ８−１とノード装置９−１とノード装置１０−１とは、ＩＰｖ４により通信可能なノード装置である。以下未参加のノード装置Ｔ８−１のノードＩＤは、「１２３」とする。また、図４及び図５では、ノード装置の略称として、「ノード」と記載している。また、参加メッセージの略称として、「ＪＯＩＮ」と記載している。
【００４８】
図４及び図５に示すように、未参加のノード装置Ｔ８−１がコンテンツ分散保存システムＳに参加する場合、第１コンタクトノード装置であるノード装置Ｔ９−１のＩＰアドレスを用いて、ノード装置Ｔ９−１に参加メッセージが送信される。図５に示すように、参加メッセージは、未参加のノード装置Ｔ８−１のノードＩＤを含む。第１コンタクト装置であるノード装置Ｔ９−１にメッセージを送信するためのＩＰアドレスを、未参加のノード装置Ｔ８−１が事前に知っているものとする。例えば、第１オーバーレイネットワークＰＷまたは第２オーバーレイネットワークＰＬに参加するために必要なソフトウェアをダウンロードするときに、第１コンタクトノードであるノード装置Ｔ９−１のＩＰアドレスは取得される。
【００４９】
参加メッセージを受信したノード装置Ｔ９−１は、ノード装置Ｔ９−１の第１ルーティングテーブルを参照する。具体的には、第１ルーティングテーブルにおけるレベル１のテーブルに登録されているノード情報が参照される。レベル１に登録されているノード情報を含む返信メッセージを、ノード装置Ｔ９−１はノード装置Ｔ８−１へ返信する。さらにノード装置Ｔ９−１は、受信された参加メッセージに含まれるノードＩＤと、第１ルーティングテーブルに登録された他のノード装置Ｔｍ−ｎのノードＩＤと比較する。比較結果に基づいて第１ルーティングテーブルから、一つのノード装置Ｔｍ−ｎが選定される。なお、第１ルーティングテーブルに登録されるノード装置Ｔｍ−ｎは、ＩＰｖ４により通信可能なノード装置である。ノード装置Ｔ９−１は、例えば、参加メッセージに含まれるノードＩＤ１２３と最も近いノードＩＤであるノード装置Ｔ１０−１を、第１ルーティングテーブルから選定する。このとき、ノード装置Ｔ９−１からノード装置Ｔ１０−１へ送信される参加メッセージには、次に返信させるテーブルの段数を示す情報が含められる。ノード装置Ｔ９−１からノード装置Ｔ１０−１へ送信される参加メッセージには、レベル２が含められる。また、参加メッセージを受信したノード装置Ｔ１０−１は、ノード装置Ｔ９−１の場合と同様に、参加メッセージに含まれるノードＩＤ１２３と最も近いノードＩＤであるノード装置Ｔ１−４を、第１ルーティングテーブルから選定する。このとき、ノード装置Ｔ１０−１からノード装置Ｔ１−４へ送信される参加メッセージには、次に返信させるテーブルの段数を示す情報が含められる。ノード装置Ｔ１０−１からノード装置Ｔ１−４へ送信される参加メッセージには、レベル３が含められる。
【００５０】
選定されたノード装置が、ノード装置Ｔ１０−１である例を用いて説明する。このとき、参加メッセージには、次に返信させるテーブルの段数を示す情報が含められる。上記例では、レベル２が参加メッセージに含められる。
【００５１】
参加メッセージを受信したノード装置Ｔ１０−１は、ノード装置Ｔ１０−１の第１ルーティングテーブルのレベル２に登録されているノード情報を含む返信メッセージを、ノード装置Ｔ８−１に対して返信する。さらに、ノード装置Ｔ１０−１は、第１ルーティングテーブルから選定されたノード装置Ｔ１−４へ、上記参加メッセージを転送する。このとき、参加メッセージには、次に返信させるべきテーブルの段数として、レベル３を示す情報が含められる。
【００５２】
参加メッセージを受信したノード装置Ｔ１−４は、ノード装置Ｔ１−４の第１ルーティングテーブルにおけるレベル３に登録されているノード情報を含む返信メッセージを、ノード装置Ｔ８−１に対して返信する。以上のようにして参加メッセージは、ノードＩＤをキーとして第１ルーティングテーブルに基づいて転送される。そのため、未参加のノード装置Ｔ８−１のノードＩＤに一番近いノードＩＤを有するノード装置Ｔｍ−ｎまで転送される。例えば、最も近いノードＩＤは、上位桁がより多く一致するＩＤ、または、比較されるノードＩＤとの差が最も小さいノードＩＤである。
【００５３】
そして、ノード装置Ｔ８−１は、各ノード装置から受信した返信メッセージに含まれるノード情報を用いて第１ルーティングテーブルを生成する。具体的には、ノード装置Ｔ９−１から送信されたノード情報が、ノード装置Ｔ８−１の第１ルーティングテーブルのレベル１に登録される。ノード装置Ｔ１０−１から送信されたノード情報が、ノード装置Ｔ８−１の第１ルーティングテーブルのレベル２に登録される。ノード装置Ｔ１−４から送信されたノード情報が、ノード装置Ｔ８−１の第１ルーティングテーブルのレベル３に登録される。
【００５４】
こうして、ノード装置Ｔ８−１は、第１ルーティングテーブルを取得し、ノード装置Ｔ８−１の記憶手段に記憶する。これにより、コンテンツ分散保存システムＳへの参加が完了することになる。本実施形態では、上述したような参加メッセージや、後述する検索要求メッセージ等の各種メッセージは、メッセージの送信元、または、転送元のノード装置のノード情報を含む。そのため、メッセージを受信したノード装置は、ノード装置の第１ルーティングテーブルに、ノード情報を登録及び更新する。
【００５５】
各ノード装置Ｔｍ−ｎ間を転送するメッセージは、メッセージ送信元のノードＩＤと、メッセージの内容と、送信元または転送元のノード情報とを含む。メッセージ送信元のノードＩＤは、メッセージを送信した送信元のノード装置Ｔｍ−ｎのノードＩＤである。メッセージの内容は、メッセージの目的を表す「参加（ＪＯＩＮ）」、「パブリッシュ」、「クエリ」等である。「参加」は、参加メッセージを示す。「パブリッシュ」は、パブリッシュメッセージを示す。「クエリ」は、検索要求メッセージを示す。パブリッシュメッセージ及び検索要求メッセージの詳細は、後述する。ノード情報は、送信元または転送元のノード装置Ｔｍ−ｎのノードＩＤと、ＩＰアドレスまたはポート番号とを含んで構成される。なお、'メッセージの内容'は、参加メッセージの場合、テーブルのノード情報の返信を要求する旨の情報等が含まれている。また、パブリッシュ（登録）メッセージまたはクエリの場合、パブリッシュ（登録）やクエリ（要求）の対象となるコンテンツのコンテンツＩＤが含まれている。
【００５６】
図４に示す例の場合、ノード装置Ｔ１０−１は、第１コンタクトノードであるノード装置Ｔ９−１から参加メッセージを受信する。そして、ノード装置Ｔ１０−１は、参加メッセージに含まれる送信元または転送元の第１コンタクトノード装置Ｔ９−１のノード情報をノード装置Ｔ１０−１の第１ルーティングテーブルに登録する。このとき、ノード装置Ｔ１０−１のルーティングテーブルに第１コンタクトノード装置Ｔ９−１のノード情報が既に登録されている場合、登録済み第１コンタクトノード装置Ｔ９−１のノード情報は、受信したノード情報に基づいて更新される。
【００５７】
同様に、ノード装置Ｔ１０−１から参加メッセージを受信したノード装置Ｔ１−４は、参加メッセージに含まれる送信元または転送元のノード装置Ｔ１０−１のノード情報をノード装置Ｔ１−４の第１ルーティングテーブルに登録、或いは更新する。以上の手順に従い、ルーティングテーブルは、ノード情報を登録、または、更新される。
【００５８】
また、第２ルーティングテーブルは、第１ルーティングテーブルと同様の方法により生成される。具体的には、未参加のノード装置Ｔ８−１がコンテンツ分散保存システムＳに参加する場合、第２コンタクトノード装置のＩＰアドレスを用いて第２コンタクトノード装置に参加メッセージが送信される。参加メッセージを受信した第２コンタクトノードは、第１コンタクトノードの処理と同様の処理を実行する。なお、第２コンタクトノードは、ＩＰｖ６により通信可能なノード装置のノード情報により構成される第２ルーティングテーブルを記憶している。この第２ルーティングテーブルを用いて、第２コンタクトノードは、第１コンタクトノードと同様の方法で、未参加ノード装置に第２ルーティングテーブルを取得させる。
【００５９】
［コンテンツ取得動作の説明］
コンテンツ分散保存システムＳは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノード装置Ｔｍ−ｎに分散して保存する。以下、コンテンツデータを、「コンテンツ」という。そして、各ノード装置Ｔｍ−ｎ間でレプリカが利用可能になっている。各コンテンツのオリジナルは、ＷＡＮに接続されているセンターサーバ（不図示）に保存されている。以下、コンテンツのレプリカが保存されるノード装置Ｔｍ−ｎは、「コンテンツ保持ノード」という。以下の説明においては、オリジナルのコンテンツとレプリカとを特に区別することなく、コンテンツと称する。上述のコンテンツには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツＩＤ等の情報が付加されている。
【００６０】
分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を記憶しているノード装置Ｔｍ−ｎ等により記憶される。以下、コンテンツの所在を記憶しているノード装置Ｔｍ−ｎを、「ルートノード」という。インデックス情報は、レプリカを保存したノード装置Ｔｍ−ｎのノード情報と、コンテンツのコンテンツＩＤと等の組を含む。このようなルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤを有するノード装置Ｔｍ−ｎであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えば、コンテンツＩＤと上位桁がより多く一致するノードＩＤである。
【００６１】
そして、或るノード装置Ｔｍ−ｎのユーザが、所望するコンテンツを取得したい場合、このコンテンツの取得を望むノード装置Ｔｍ−ｎは、メッセージを生成する。以下、ユーザによりコンテンツの取得を望むノード装置Ｔｍ−ｎを、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツＩＤ、ユーザノードのノード情報等を含む検索要求メッセージである。検索要求メッセージは、コンテンツ保持ノードを検索するためのメッセージでもある。上述の検索要求メッセージが、ユーザノードが記憶するＤＨＴの第１ルーティングテーブルまたは第２ルーティングテーブルに従って、他のノード装置Ｔｍ−ｎに対して送出される。つまり、ユーザノードは、検索要求メッセージを、コンテンツのルートノードに向けて送出する。これにより、検索要求メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到達することになる。本実施形態では、検索要求メッセージとして、第１検索要求メッセージと第２検索要求メッセージとがある。第１検索要求メッセージと第２検索要求メッセージの詳細は後述する。
【００６２】
上記検索要求メッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックス情報キャッシュから取得する。そして、ルートノードは、取得したインデックス情報を含む検索応答メッセージを、検索要求メッセージの送信元であるユーザノードに対して返信する。インデックス情報を取得したユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、取得を望むコンテンツのコンテンツＩＤが含まれている。コンテンツ要求メッセージを受信したコンテンツ保持ノードは、コンテンツ要求メッセージに含まれるコンテンツＩＤに対応するコンテンツを、コンテンツキャッシュエリアから取得する。そして、コンテンツ保持ノードは、取得したコンテンツを含むコンテンツ要求応答メッセージをユーザノードに送信する。このようにして、ユーザノードは、コンテンツをダウンロード（取得）することが可能になる。
【００６３】
また、ユーザノードは、コンテンツ保持ノードからコンテンツを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツＩＤ、コンテンツを保存したノード装置Ｔｍ−ｎのノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索要求メッセージと同じように、コンテンツＩＤをキーとするＤＨＴの第１ルーティングテーブルまたは第２ルーティングテーブルによってルートノードに到達することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツのコンテンツを保持するコンテンツ保持ノードとなる。  
【００６４】
本実施形態では、ノード装置Ｔｍ−ｎがＩＰｖ４とＩＰｖ６との双方で通信可能な場合、パブリッシュメッセージは、第１ルーティングテーブルと第２ルーティングテーブルとに記載された宛先へ送信される。一方、ノード装置Ｔｍ−ｎがＩＰｖ４のみにより通信可能な場合、第１ルーティングテーブルに記載された宛先へ、パブリッシュメッセージが送信される。また、ノード装置Ｔｍ−ｎがＩＰｖ６のみにより通信可能な場合、第２ルーティングテーブルに記載された宛先へ、パブリッシュメッセージが送信される。
【００６５】
本実施形態では、検索要求メッセージは、第１検索要求メッセージと第２検索要求メッセージの２種類がある。第１検索要求メッセージは、ＩＰｖ４とＩＰｖ６との双方で通信可能なノード装置により送信される検索要求メッセージである。一方、第２検索要求メッセージは、ＩＰｖ４とＩＰｖ６とのいずれか一方で通信可能なノード装置により送信される検索要求メッセージである。
【００６６】
本実施形態の第１検索要求メッセージは、ノード情報と、コンテンツＩＤと、バージョン情報とを含む。第１検索要求メッセージが含むノード情報は、第１検索要求メッセージの送信元のノード装置のノード情報である。第１検索要求メッセージが含むコンテンツＩＤは、第１検索要求メッセージにより検索を要求したコンテンツのコンテンツＩＤである。第１検索要求メッセージが含むバージョン情報は、第１検索要求メッセージの送信元のノード装置で通信可能なプロトコルであるＩＰｖ４とＩＰｖ６とを示すバージョン情報である。
【００６７】
本実施形態の第２検索要求メッセージは、ノード情報と、コンテンツＩＤと、バージョン情報とを含む。第２検索要求メッセージが含むノード情報は、第２検索要求メッセージの送信元のノード装置のノード情報である。第２検索要求メッセージが含むコンテンツＩＤは、第２検索要求メッセージにより検索を要求したコンテンツのコンテンツＩＤである。第２検索要求メッセージが含むバージョン情報は、第２検索要求メッセージの送信元のノード装置で通信可能なプロトコルであるＩＰｖ４かＩＰｖ６かのいずれか一方を示すバージョン情報である。
【００６８】
以下、第１検索要求メッセージの送信方法について説明する。第１検索要求メッセージが送信される場合、最初に第２ルーティングテーブルに記載の宛先へ送信される。そして、所定期間の間に検索応答メッセージが受信されなかった場合、次に第１ルーティングテーブルに記載の宛先へ第１検索要求メッセージが送信される。これは、コンテンツの取得先を、ＩＰｖ４で通信可能なノード装置よりも、ＩＰｖ６で通信可能なノード装置を優先させるためである。この処理により、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）越えの問題が発生しないＩＰｖ６により通信可能なノード装置から、コンテンツのダウンロード及びアップロードを行うことができる。また、第１検索要求メッセージが、第１ルーティングテーブルと第２ルーティングテーブルとの両方に送信され、受信した応答メッセージの中から、ＩＰｖ６により通信可能なノード装置が選択されてコンテンツがダウンロード及びアップロードされても良い。
【００６９】
以下、第２検索要求メッセージの送信方法について説明する。第２検索要求メッセージは、ＩＰｖ４またはＩＰｖ６のいずれか一方により通信可能なノード装置により送信される。第２検索要求メッセージを受信したノード装置がＩＰｖ４またはＩＰｖ６のいずれか一方により通信可能な場合がある。この場合、第２検索要求メッセージを受信したノード装置が通信可能なプロトコルに基づいて、第２検索要求メッセージを送信するために使用される第１ルーティングテーブルまたは第２ルーティングテーブルが決定される。決定された第１ルーティングテーブルまたは第２ルーティングテーブルに登録されたノード装置へ、第２検索要求メッセージが送信または転送される。
【００７０】
一方、第２検索要求メッセージを受信したノード装置がＩＰｖ４またはＩＰｖ６の双方により通信可能なノード装置の場合がある。この場合、第２検索要求メッセージの送信元のノード装置が通信可能なプロトコルと異なるプロトコルで通信可能なノード装置へ、第２検索要求メッセージが送信または転送される。
【００７１】
具体的には、第２検索要求メッセージの送信元がＩＰｖ４により通信可能なノード装置である場合、ＩＰｖ４とＩＰｖ６との双方により通信可能なノード装置により、第２検索要求メッセージが、第２ルーティングテーブルの宛先へ中継される。つまり、ＩＰｖ６により通信可能なノード装置へ第２検索要求メッセージが送信または転送される。また、第２検索要求メッセージがＩＰｖ６により通信可能なノード装置により送信された場合、ＩＰｖ４とＩＰｖ６との双方により通信可能なノード装置により、第２検索要求メッセージが、第１ルーティングテーブルの宛先へ中継される。つまり、ＩＰｖ４により通信可能なノード装置へ第２検索要求メッセージが送信または転送される。これにより、第２検索要求メッセージにより、所望のコンテンツが検索できなかった場合であっても、第２検索要求メッセージが送信されたノード装置が通信可能なプロトコルとは異なるプロトコルで通信可能なノード装置へ、第２検索要求メッセージを転送することができる。この結果、第２検索要求メッセージが送信されたノード装置が通信可能なプロトコルとは異なるプロトコルで通信可能なノード装置から、コンテンツを取得することが可能になる。  
【００７２】
本実施形態では、ＩＰｖ４とＩＰｖ６との両方に通信可能なノード装置により、第２検索要求メッセージが送信されたとき、転送される第２検索要求メッセージに、転送フラグが含まれても良い。転送フラグは、ＩＰｖ４とＩＰｖ６との両方に通信可能なノード装置により、第２検索要求メッセージが異なるプロトコルへ転送されたことを示すフラグである。転送フラグ以外に、第２検索要求メッセージが異なるプロトコルへ転送されたことを示す情報が用いられても良い。ＩＰｖ４とＩＰｖ６との両方に通信可能なノード装置が、転送フラグが含まれているメッセージを受信した場合、第２検索要求メッセージを受信したノード装置は、第２検索要求メッセージを異なるプロトコルへ転送しなくても良い。これは、第２検索要求メッセージが異なるプロトコルへ転送され続けてしまい、第１ルーティングテーブルまたは第２ルーティングテーブルを用いて、十分に検索できないことを避けるためである。第２検索要求メッセージに転送フラグが含まれることで、異なるプロトコル間で不要な第２検索要求メッセージの転送を防ぐことができる。
【００７３】
［ノード装置の電気的構成］
次に、図６を参照して、ノード装置Ｔｍ−ｎの電気的構成ついて説明する。図６は、本実施形態のノード装置Ｔｍ−ｎの電気的構成を示すブロック図である。図６に示すように、本実施形態のノード装置Ｔｍ−ｎには、ノード装置Ｔｍ−ｎを制御するＣＰＵ１が備えられている。ＣＰＵ１には、ＨＤＤ２とＲＡＭ３とデコーダ部４と通信部９とがそれぞれ電気的に接続されている。ＨＤＤ２、ＲＡＭ３、などの記憶手段とＣＰＵ１とは、ノード装置Ｔｍ−ｎのコンピュータを構成している。ＣＰＵ１、ＨＤＤ２、ＲＡＭ３、デコーダ部４、及び通信部９はバスを介して相互に接続されている。なお、ノード装置Ｔｍ−ｎとしては、パーソナルコンピュータ、又はＳＴＢ（Set Top Box）等を適用可能である。
【００７４】
ＨＤＤ２は、プログラム記憶領域２１と、アドレス情報記憶領域２７と、第１ルーティングテーブル記憶領域２８と第２ルーティングテーブル記憶領域２９とバージョン情報記憶領域３０とを含む。プログラム記憶領域２１は、メイン動作プログラム記憶領域２２とルーティングテーブル生成プログラム記憶領域２３と、第１メッセージ処理プログラム記憶領域２４と、第２メッセージ処理プログラム記憶領域２５と、ダウンロード処理プログラム記憶領域２６とを含む。
【００７５】
メイン動作プログラム記憶領域２２は、ノード装置Ｔｍ−ｎのメイン動作プログラムを記憶する。メイン動作プログラムは、ノード装置Ｔｍ−ｎのメイン動作処理を行う。ルーティングテーブル生成プログラム記憶領域２３は、ルーティングテーブル生成プログラムを記憶する。ルーティングテーブル生成プログラムは、ノード装置Ｔｍ−ｎが第１ルーティングテーブルまたは第２ルーティングテーブルを生成するプログラムである。第１メッセージ処理プログラム記憶領域２４は、第１メッセージ処理プログラムを記憶する。第１メッセージ処理プログラムは、ノード装置Ｔｍ−ｎが第１メッセージを処理するプログラムである。第２メッセージ処理プログラム記憶領域２５は、第２メッセージ処理プログラムを記憶する。第２メッセージ処理プログラムは、ノード装置Ｔｍ−ｎが第２メッセージを処理するプログラムである。ダウンロード処理プログラム記憶領域２６は、ダウンロード処理プログラムを記憶する。ダウンロード処理プログラムは、ノード装置Ｔｍ−ｎのダウンロード処理を行う。
【００７６】
なお、上記メイン動作プログラム及びルーティングテーブル生成プログラム及び第１メッセージ処理プログラム及び第２メッセージ処理プログラム及びダウンロード処理プログラムは、例えば、ネットワークＮＷ上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００７７】
アドレス情報記憶領域２７は、第１コンタクトノードまたは第２コンタクトノードのＩＰアドレスが記憶される。ノード装置Ｔｍ−ｎにより取得された第１コンタクトノードと第２コンタクトノードとの少なくともいずれか一方のＩＰアドレスが、アドレス情報記憶領域２７に記憶される。
【００７８】
第１ルーティングテーブル記憶領域２８には、生成された第１ルーティングテーブルが記憶される。第２ルーティングテーブル記憶領域２９は、生成された第２ルーティングテーブルが記憶される。
【００７９】
バージョン情報記憶領域３０は、バージョン情報を記憶する。バージョン情報は、ノード装置Ｔｍ−ｎが通信可能なプロトコルである。ノード装置Ｔｍ−ｎが、ＩＰｖ４とＩＰｖ６との両方で通信可能な場合、ＩＰｖ４とＩＰｖ６とを示すバージョン情報がバージョン情報記憶領域３０に記憶される。また、ノード装置Ｔｍ−ｎが、ＩＰｖ４で通信可能な場合、ＩＰｖ４を示すバージョン情報がバージョン情報記憶領域３０に記憶される。また、ノード装置Ｔｍ−ｎが、ＩＰｖ６で通信可能な場合、ＩＰｖ６を示すバージョン情報がバージョン情報記憶領域３０に記憶される。本実施形態のバージョン情報は、予め各ノード装置Ｔｍ−ｎに設定されていても良いし、別機器から直接接続されて取得されても良い。また、別機器からネットワークＮＷを介してバージョン情報が取得されても良い。本実施形態のバージョン情報記憶領域３０は、本発明のプロトコル取得部の一例である。
【００８０】
ＲＡＭ３は、コンテンツデータ一時記憶領域３１を含む。コンテンツデータ一時記憶領域３１は、ノード装置Ｔｍ−ｎ間で送受信されるコンテンツデータが一時記憶される。本実施形態のコンテンツデータ一時記憶領域３１は、本発明の取得部の一例である。なお、コンテンツ分散保存システムＳで送受信されるコンテンツデータは、ＨＤＤ２またはＲＡＭ３のいずれかに保存されればよい。本実施形態のＨＤＤ２とＲＡＭ３とは、本発明の記憶部の一例である。通信部９は、ネットワークＮＷを通じてノード装置Ｔｍ−ｎまたは外部装置と情報の通信制御を行う。
【００８１】
ノード装置Ｔｍ−ｎは、通信部９を介して要求に応じて送信されてきたコンテンツデータを受信する受信処理を行う。本実施形態のコンテンツデータはパケット化されて送信されるようになっている。各パケットは、通信部９を通じて受信され、ＲＡＭ３のコンテンツデータ一時記憶領域３１に一時記憶される。このように一時記憶されたコンテンツデータは、コンテンツデータ一時記憶領域３１から読み出されてデコーダ部４と、映像処理部５と、音声処理部７と、ディスプレイ６と、スピーカ８とを通じて再生出力される。或いは、コンテンツデータ一時記憶領域３１に記憶されたコンテンツデータは、コンテンツデータ一時記憶領域３１から読み出されてＨＤＤ２に記憶されても良い。または、コンテンツデータがＲＡＭ３を介さず、直接ＨＤＤ２に記憶されても良い。その後、入力部１０を介してユーザからの操作指示にしたがって、ＨＤＤ２からコンテンツデータが読み出される。読み出されたコンテンツデータは、デコーダ部４と、映像処理部５と、音声処理部７と、ディスプレイ６と、スピーカ８とを通じて再生出力される。これにより、ユーザはコンテンツの視聴を行うことができる。
【００８２】
[本実施形態のノード装置Ｔｍ−ｎの動作の説明]
以上説明した構成からなる本実施形態のノード装置Ｔｍ−ｎの動作及び作用について、添付図面を参照して説明する。まず、ノード装置Ｔｍ−ｎの動作及び作用について、添付図面を参照して説明する。図７は、ノード装置Ｔｍ−ｎにおけるメイン動作の処理手順を示すフローチャートである。メイン動作は、電源またはコンセントを介して商用電源などの外部電源とノード装置Ｔｍ−ｎとが接続され、インストールされたＰ２ＰソフトウェアプログラムがＣＰＵ１により実行されたことにより、遂行される。以下に示す処理は、ＣＰＵ１により処理される。
【００８３】
ステップＳ１０１では、ルーティングテーブル生成処理が実行される。ルーティングテーブル生成処理では、メイン動作処理を実行するノード装置Ｔｍ−ｎが通信可能なプロトコルに基づいて、第１ルーティングテーブルと第２ルーティングテーブルの少なくともいずれか一方が生成される。
【００８４】
ステップＳ１０２では、メイン動作処理を実行するノード装置Ｔｍ−ｎが、ＩＰｖ４とＩＰｖ６との両方に接続可能であるか否かが判定される。バージョン情報記憶領域３０に記憶されるバージョン情報に基づいて、ＩＰｖ４とＩＰｖ６との両方に接続可能か否かが判定される。ＩＰｖ４とＩＰｖ６との両方に接続可能と判定された場合（ステップＳ１０２：Ｙｅｓ）、ステップＳ１０３が実行される。ＩＰｖ４とＩＰｖ６との両方に接続可能と判定されなかった場合（ステップＳ１０３：Ｎｏ）、ステップＳ１０４が実行される。本実施形態のコンピュータとステップＳ１０２とは、本発明の判定部の一例である。また、本実施形態のステップＳ１０２は、判定ステップの一例である。
【００８５】
ステップＳ１０３では、第１メッセージ処理が実行される。第１メッセージ処理の詳細は後述する。
【００８６】
ステップＳ１０４では、第２メッセージ処理が実行される。第２メッセージ処理の詳細は後述する。
【００８７】
ステップＳ１０５では、ユーザにより電源スイッチがオフにされたか否かが判定される。電源スイッチがオフにされなかった場合（ステップＳ１０５：Ｎｏ）、再度ステップＳ１０２が実行される。電源スイッチがオフにされた場合（ステップＳ１０５：Ｙｅｓ）、メイン動作処理が終了される。
【００８８】
（ルーティングテーブル生成処理）
図８は、ルーティングテーブル生成処理動作を示すフローチャートである。ステップＳ２０１では、ノード装置Ｔｍ−ｎが、ＩＰｖ４で通信可能か否かが判定される。ＩＰｖ４で通信可能か否かは、バージョン情報記憶領域３０にＩＰｖ４と接続可能なことを示すバージョン情報が記憶されているか否かにより判定される。ＩＰｖ４と接続可能なことを示すバージョン情報が記憶されている場合、ＩＰｖ４で通信可能と判定される。ＩＰｖ４と接続可能なことを示すバージョン情報が記憶されていると判定されなかった場合、ＩＰｖ４で通信可能と判定されない。ＩＰｖ４で通信可能と判定された場合（ステップＳ２０１：Ｙｅｓ）、ステップＳ２０２が実行される。ＩＰｖ４で通信可能と判定されなかった場合（ステップＳ２０１：Ｎｏ）、ステップＳ２０４が実行される。
【００８９】
ステップＳ２０２では、第１コンタクトノードへ参加メッセージが送信される。第１コンタクトノードのＩＰアドレスは、アドレス情報記憶領域２７に記憶されている。本実施形態のコンピュータとステップＳ２０２とは、本発明の第２送信部の一例である。
【００９０】
ステップＳ２０３では、第１ルーティングテーブルが生成される。ステップＳ２０２で送信された参加メッセージを受信したノード装置が、第１ルーティングテーブルに登録可能なノード情報を送信する。送信されたノード情報がステップＳ２０３では受信される。ステップＳ２０３で受信されたノード情報に基づいて、第１ルーティングテーブルが生成される。生成された第１ルーティングテーブルは、第１ルーティングテーブル記憶領域２８に記憶される。本実施形態のコンピュータとステップＳ２０３とは、本発明の第１テーブル取得部の一例である。また、本実施形態のステップＳ２０３は、本発明の第１テーブル取得ステップの一例である。
【００９１】
ステップＳ２０４では、ノード装置Ｔｍ−ｎが、ＩＰｖ６で通信可能か否かが判定される。ＩＰｖ６で通信可能か否かは、バージョン情報記憶領域３０にＩＰｖ６と接続可能なことを示すバージョン情報が記憶されているか否かにより判定される。ＩＰｖ６と接続可能なことを示すバージョン情報が記憶されている場合、ＩＰｖ６で通信可能と判定される。ＩＰｖ６と接続可能なことを示すバージョン情報が記憶されていると判定されなかった場合、ＩＰｖ６で通信可能と判定されない。ＩＰｖ６で通信可能と判定された場合（ステップＳ２０４：Ｙｅｓ）、ステップＳ２０５が実行される。ＩＰｖ６で通信可能と判定されなかった場合（ステップＳ２０４：Ｎｏ）、ルーティングテーブル生成処理は終了される。
【００９２】
ステップＳ２０５では、第２コンタクトノードへ参加メッセージが送信される。第２コンタクトノードのＩＰアドレスは、アドレス情報記憶領域２７に記憶されている。本実施形態のコンピュータとステップＳ２０５とは、本発明の第２送信部の一例である。
【００９３】
ステップＳ２０６では、第２ルーティングテーブルが生成される。ステップＳ２０５で送信された参加メッセージを受信したノード装置が、第２ルーティングテーブルに登録可能なノード情報を送信する。送信されたノード情報がステップＳ２０６では受信される。ステップＳ２０６で受信されたノード情報に基づいて、第２ルーティングテーブルが生成される。生成された第２ルーティングテーブルは第２ルーティングテーブル記憶領域２９に記憶される。本実施形態のコンピュータとステップＳ２０６とは、本発明の第２テーブル取得部の一例である。また、本実施形態のステップＳ２０６は、本発明の第２テーブル取得ステップの一例である。
【００９４】
（第１メッセージ処理）
図９は、第１メッセージ処理動作を示すフローチャートである。まず、ステップＳ３０１では、パブリッシュメッセージが送信されるか否かが判定される。ノード装置Ｔｍ−ｎにより送信されるメッセージがパブリッシュメッセージであるか否かが判定される。パブリッシュメッセージが送信されると判定された場合（ステップＳ３０１：Ｙｅｓ）、ステップＳ３０２が実行される。パブリッシュメッセージが送信されると判定されなかった場合（ステップＳ３０１：Ｎｏ）、ステップＳ３０４が実行される。
【００９５】
ステップＳ３０２では、第１ルーティングテーブルに従って、パブリッシュメッセージが送信される。第１ルーティングテーブルに登録されたノード装置に向けて、パブリッシュメッセージが送信される。本実施形態のコンピュータとステップＳ３０２とは、本発明の第１送信部の一例である。また、本実施形態のステップＳ３０２は、本発明の第１送信ステップの一例である。
【００９６】
ステップＳ３０３では、第２ルーティングテーブルに従って、パブリッシュメッセージが送信される。第２ルーティングテーブルに登録されたノード装置に向けて、パブリッシュメッセージが送信される。本実施形態のコンピュータとステップＳ３０３とは、本発明の第１送信部の一例である。また、本実施形態のステップＳ３０３は、本発明の第１送信ステップの一例である。
【００９７】
ステップＳ３０４では、第１検索要求メッセージが送信されるか否かが判定される。ノード装置Ｔｍ−ｎにより送信されるメッセージが第１検索要求メッセージであるか否かが判定される。第１検索要求メッセージが送信されると判定された場合（ステップＳ３０４：Ｙｅｓ）、ステップＳ３０５が実行される。第１検索要求メッセージが送信されると判定されなかった場合（ステップＳ３０４：Ｎｏ）、ステップＳ３０６が実行される。
【００９８】
ステップＳ３０５では、ステップＳ３０４で送信された第１検索要求メッセージに基づいて、ダウンロード処理が実行される。ダウンロード処理の詳細は後述する。
【００９９】
ステップＳ３０６では、第１検索要求メッセージが受信されたか否かが判定される。他のノード装置から第１検索要求メッセージが受信されたか否かが判定される。第１検索要求メッセージが受信されたと判定された場合（ステップＳ３０６：Ｙｅｓ）、ステップＳ３０７が実行される。第１検索要求メッセージが受信されたと判定されなかった場合（ステップＳ３０６：Ｎｏ）、ステップＳ３１０が実行される。
【０１００】
ステップＳ３０７では、第１検索要求メッセージに対応するコンテンツを記憶しているか否かが判定される。第１検索要求メッセージは、検索対象のコンテンツＩＤを含む。第１検索要求メッセージを受信したノード装置Ｔｍ−ｎが検索対象のコンテンツＩＤに対応するコンテンツを記憶しているか否かが判定される。第１検索要求メッセージに対応するコンテンツが記憶されていると判定された場合（ステップＳ３０７：Ｙｅｓ）、ステップＳ３０８が実行される。第１検索要求メッセージに対応するコンテンツが記憶されていると判定されなかった場合（ステップＳ３０７：Ｎｏ）、ステップＳ３０９が実行される。
【０１０１】
ステップＳ３０８では、ステップＳ３０７で記憶していると判定されたコンテンツが、第１検索要求メッセージの送信元へ送信される。第１検索要求メッセージは、第１検索要求メッセージの送信元のノード装置のＩＰアドレスを含んでいる。そのため、第１検索要求メッセージに対応するコンテンツが、第１検索要求メッセージの送信元へ送信される。
【０１０２】
ステップＳ３０９では、ステップＳ３０６で受信した第１検索要求メッセージが転送される。具体的には、第１ルーティングテーブルと第２ルーティングテーブルとに登録されたノード装置に向けて、第１検索要求メッセージが転送される。
【０１０３】
ステップＳ３１０では、第２検索要求メッセージが受信されたか否かが判定される。他のノード装置から第２検索要求メッセージが受信されたか否かが判定される。第２検索要求メッセージが受信されたと判定された場合（ステップＳ３１０：Ｙｅｓ）、ステップＳ３１１が実行される。第１検索要求メッセージが受信されたと判定されなかった場合（ステップＳ３１０：Ｎｏ）、第１メッセージ処理が終了される。本実施形態のコンピュータとステップＳ３１０とは、本発明の受信部の一例である。
【０１０４】
ステップＳ３１１では、第２検索要求メッセージが、異なるプロトコルのノード装置へ送信される。本実施形態の第２検索要求メッセージは、第２検索要求メッセージの送信元のノード装置のバージョン情報を含んでいる。また、ステップＳ３１１を実行するノード装置はＩＰｖ４とＩＰｖ６との双方で通信可能なノード装置である。そのため、ステップＳ３１１では、第２検索要求メッセージがＩＰｖ４で通信可能なノード装置により送信された場合、第２ルーティングテーブルに登録されたノード装置へ第２検索要求メッセージが送信される。つまり、ＩＰｖ６で通信可能なノード装置へ第２検索要求メッセージが送信される。一方、第２検索要求メッセージがＩＰｖ６で通信可能なノード装置により送信された場合、第１ルーティングテーブルに登録されたノード装置へ第２検索要求メッセージが送信される。つまり、ＩＰｖ４で通信可能なノード装置へ第２検索要求メッセージが送信される。ステップＳ３１１の場合、第２検索要求メッセージの送信元のノード装置のノード情報が、ステップＳ３１１を実行したノード装置のノード情報に変更される。また、ステップＳ３１１で変更された後のノード情報と、変更される前のノード情報とが対応付けられてＲＡＭ３の所定の記憶領域に一時記憶される。また、第２検索要求メッセージに、転送フラグが含まれる場合、ステップＳ３１１では、受信した第２検索要求メッセージに転送フラグが含まれているか否かが判定される。転送フラグが含まれていると判定された場合、ステップＳ３１１で異なるプロトコルへ、第２検索要求メッセージは送信されない。一方、転送フラグが含まれていると判定されなかった場合、ステップＳ３１１で異なるプロトコルへ、第２検索要求メッセージは送信される。ステップＳ３１１で第２検索要求メッセージが異なるプロトコルへ送信されるとき、第２検索要求メッセージに転送フラグが含まれる。
【０１０５】
ステップＳ３１２では、ステップＳ３１１が実行されてから所定の期間以内に、検索応答メッセージが受信されたか否かが判定される。所定の期間は、ノード装置Ｔｍ−ｎに備えられたタイマーにより計時される。なお、タイマーは図示していない。所定の期間以内に検索応答メッセージが受信されたと判定された場合（ステップＳ３１２：Ｙｅｓ）、ステップＳ３１３が実行される。所定の期間以内に検索応答メッセージが受信されたと判定されなかった場合（ステップＳ３１２：Ｎｏ）、第１メッセージ処理が終了される。
【０１０６】
ステップＳ３１３では、コンテンツが中継される。具体的には、ステップＳ３１１で異なるプロトコルへ送信された第２検索要求メッセージに対応するコンテンツが受信され、取得される。例えば、ステップＳ３１０で受信された第２検索要求メッセージがＩＰｖ４で通信可能なノード装置により送信された場合、ＩＰｖ６により通信可能なノード装置からコンテンツが受信される。受信されたコンテンツは、コンテンツデータ一時記憶領域３１に一時記憶される。そして、ステップＳ３１１でＲＡＭ３の所定の記憶領域に記憶された変更前のノード情報と、変更後のノード情報とに基づいて、第２検索要求メッセージの送信元のノード装置へ受信されたコンテンツが中継される。中継されるコンテンツは、ステップＳ３１３でコンテンツデータ一時記憶領域３１に一時記憶されたコンテンツである。これにより、ＩＰｖ６で通信可能なノード装置により保存されたコンテンツが、ＩＰｖ４で通信可能なノード装置へ中継することができる。一方、ステップＳ３１０で受信された第２検索要求メッセージがＩＰｖ６で通信可能なノード装置により送信された場合、ＩＰｖ４により通信可能なノード装置からコンテンツが受信される。そして、ステップＳ３１１でＲＡＭ３の所定の記憶領域に記憶された変更前のノード情報と、変更後のノード情報とに基づいて、第２検索要求メッセージの送信元のノード装置へ受信されたコンテンツが中継される。これにより、ＩＰｖ４で通信可能なノード装置により保存されたコンテンツが、ＩＰｖ６で通信可能なノード装置へ中継することができる。本実施形態のコンピュータとステップＳ３１３とは、本発明の中継部の一例である。
【０１０７】
（ダウンロード処理）
図１０は、ダウンロード処理動作を示すフローチャートである。ステップＳ４０１では、第２ルーティングテーブルに基づいて、第１検索要求メッセージが送信される。第２ルーティングテーブルに登録されたノード装置に向けて、第１検索要求メッセージが送信される。本実施形態のコンピュータとステップＳ４０１とは、本発明の第１送信部の一例である。また、本実施形態のステップＳ４０１は、本発明の第１送信ステップの一例である。
【０１０８】
ステップＳ４０２では、所定期間以内に、検索応答メッセージが受信されたか否かが判定される。検索応答メッセージは、ステップＳ４０１で送信された第１検索要求メッセージに応答するメッセージである。第１検索要求メッセージにより検索されたコンテンツが発見されたとき、検索応答メッセージが受信される。所定期間以内に検索応答メッセージが受信されたと判定された場合（ステップＳ４０２：Ｙｅｓ）、ステップＳ４０５が実行される。所定期間以内に検索応答メッセージが受信されたと判定されなかった場合（ステップＳ４０２：Ｎｏ）、ステップＳ４０３が実行される。
【０１０９】
ステップＳ４０３では、第１ルーティングテーブルに基づいて、第１検索要求メッセージが送信される。第１ルーティングテーブルに登録されたノード装置に向けて、第１検索要求メッセージが送信される。本実施形態のコンピュータとステップＳ４０３とは、本発明の第１送信部の一例である。また、本実施形態のステップＳ４０３は、本発明の第１送信ステップの一例である。
【０１１０】
ステップＳ４０４では、所定期間以内に、検索応答メッセージが受信されたか否かが判定される。検索応答メッセージは、ステップＳ４０３で送信された第１検索要求メッセージに応答するメッセージである。第１検索要求メッセージにより検索されたコンテンツが発見されたとき、検索応答メッセージが受信される。所定期間以内に検索応答メッセージが受信されたと判定された場合（ステップＳ４０４：Ｙｅｓ）、ステップＳ４０５が実行される。所定期間以内に検索応答メッセージが受信されたと判定されなかった場合（ステップＳ４０４：Ｎｏ）、ステップＳ４０７が実行される。
【０１１１】
ステップＳ４０５では、ステップＳ４０２またはステップＳ４０４で受信された検索応答メッセージに基づいて、コンテンツの取得先が決定される。検索応答メッセージには、コンテンツ保持ノード装置のノード情報が含まれる。つまり、検索応答メッセージには、上述したインデックス情報が含まれる。検索応答メッセージが含むコンテンツ保持ノードのノード情報に基づいて、コンテンツの取得先が決定される。
【０１１２】
ステップＳ４０６では、ステップＳ４０５で決定された取得先から、コンテンツがダウンロードされる。
【０１１３】
ステップＳ４０７では、エラーが通知される。これは、第１検索要求メッセージに対応するコンテンツが検索できなかったことを表す通知である。
【０１１４】
（第２メッセージ処理）
図１１は、第２メッセージ処理を示すフローチャートである。まず、ステップＳ５０１では、パブリッシュメッセージが送信されるか否かが判定される。ノード装置Ｔｍ−ｎにより送信されるメッセージがパブリッシュメッセージであるか否かが判定される。パブリッシュメッセージが送信されると判定された場合（ステップＳ５０１：Ｙｅｓ）、ステップＳ５０２が実行される。パブリッシュメッセージが送信されると判定されなかった場合（ステップＳ５０１：Ｎｏ）、ステップＳ５０３が実行される。
【０１１５】
ステップＳ５０２では、ノード装置Ｔｍ−ｎのバージョン情報に対応するルーティングテーブルが決定される。そして、決定されたルーティングテーブルに登録されたノード装置Ｔｍ−ｎへ、パブリッシュメッセージが送信される。例えば、ノード装置Ｔｍ−ｎのバージョン情報がＩＰｖ４の場合、第１ルーティングテーブルが決定される。一方、ノード装置Ｔｍ−ｎのバージョン情報がＩＰｖ６の場合、第２ルーティングテーブルが決定される。決定された第１ルーティングテーブルまたは第２ルーティングテーブルに登録されたノード装置へ、パブリッシュメッセージが送信される。本実施形態のコンピュータとステップＳ５０２とは、本発明の第１送信部の一例である。また、本実施形態のステップＳ５０２は、本発明の第１送信ステップの一例である。
【０１１６】
ステップＳ５０３では、第２検索要求メッセージが送信されるか否かが判定される。ノード装置Ｔｍ−ｎにより送信されるメッセージが第２検索要求メッセージであるか否かが判定される。第２検索要求メッセージが送信されると判定された場合（ステップＳ５０３：Ｙｅｓ）、ステップＳ５０４が実行される。第２検索要求メッセージが送信されると判定されなかった場合（ステップＳ５０３：Ｎｏ）、ステップＳ５０８が実行される。
【０１１７】
ステップＳ５０４では、ステップＳ５０３で第２検索要求メッセージが送信されてから所定の期間以内に、検索応答メッセージが受信されたか否かが判定される。所定の期間は、ノード装置Ｔｍ−ｎに備えられたタイマーにより計時される。なお、タイマーは図示していない。所定の期間以内に検索応答メッセージが受信されたと判定された場合（ステップＳ５０４：Ｙｅｓ）、ステップＳ５０５が実行される。所定の期間以内に検索応答メッセージが受信されたと判定されなかった場合（ステップＳ５０４：Ｎｏ）、ステップＳ５０７が実行される。
【０１１８】
ステップＳ５０５では、ステップＳ５０４で受信された検索応答メッセージに基づいて、コンテンツの取得先が決定される。検索応答メッセージには、コンテンツ保持ノード装置のノード情報が含まれる。つまり、検索応答メッセージには、上述したインデックス情報が含まれる。検索応答メッセージが含むコンテンツ保持ノードのノード情報に基づいて、コンテンツの取得先が決定される。
【０１１９】
ステップＳ５０６では、ステップＳ５０５で決定された取得先から、コンテンツがダウンロードされる。
【０１２０】
ステップＳ５０７では、エラーが通知される。これは、第２検索要求メッセージに対応するコンテンツが検索できなかったことを表す通知である。
【０１２１】
ステップＳ５０８では、その他メッセージが送信されるか否かが判定される。その他メッセージは、例えば、コンテンツ分散保存システムＳを制御する制御メッセージである。その他メッセージが送信されると判定された場合（ステップＳ５０８：Ｙｅｓ）、ステップＳ５０９が実行される。その他メッセージが送信されると判定されなかった場合（ステップＳ５０８：Ｎｏ）、ステップＳ５１０が実行される。
【０１２２】
ステップＳ５０９では、ノード装置Ｔｍ−ｎのバージョン情報に対応するルーティングテーブルが決定される。そして、決定されたルーティングテーブルに登録されたノード装置Ｔｍ−ｎへ、その他メッセージが送信される。例えば、ノード装置Ｔｍ−ｎのバージョン情報がＩＰｖ４の場合、第１ルーティングテーブルが決定される。一方、ノード装置Ｔｍ−ｎのバージョン情報がＩＰｖ６の場合、第２ルーティングテーブルが決定される。決定された第１ルーティングテーブルまたは第２ルーティングテーブルに登録されたノード装置へ、その他メッセージが送信される。本実施形態のコンピュータとステップＳ５０９とは、本発明の第１送信部の一例である。また、本実施形態のステップＳ５０９は、本発明の第１送信ステップの一例である。
【０１２３】
ステップＳ５１０では、第２検索要求メッセージが受信されたか否かが判定される。他のノード装置から第２検索要求メッセージが受信されたか否かが判定される。第２検索要求メッセージが受信されたと判定された場合（ステップＳ５１０：Ｙｅｓ）、ステップＳ５１１が実行される。第１検索要求メッセージが受信されたと判定されなかった場合（ステップＳ５１０：Ｎｏ）、第２メッセージ処理が終了される。
【０１２４】
ステップＳ５１１では、第２検索要求メッセージに対応するコンテンツが記憶されているか否かが判定される。第２検索要求メッセージが含むコンテンツＩＤに対応するコンテンツが、ノード装置Ｔｍ−ｎの記憶手段に記憶されているか否かが判定される。第２検索要求メッセージに対応するコンテンツが記憶されていると判定された場合（ステップＳ５１１：Ｙｅｓ）、ステップＳ５１２が実行される。第２検索要求メッセージに対応するコンテンツが記憶されていると判定されなかった場合（ステップＳ５１１：Ｎｏ）、ステップＳ５１３が実行される。
【０１２５】
ステップＳ５１２では、ステップＳ５１１で記憶していると判定されたコンテンツが、第２検索要求メッセージの送信元へ送信される。第２検索要求メッセージは、第２検索要求メッセージの送信元のノード装置のＩＰアドレスを含んでいる。そのため、第２検索要求メッセージに対応するコンテンツが、第２検索要求メッセージの送信元へ送信される。
【０１２６】
ステップＳ５１３では、ステップＳ５１０で受信したと判定された第２検索要求メッセージが転送される。本実施形態の第２検索要求メッセージは、第２検索要求メッセージの送信元のノード装置のバージョン情報を含んでいる。そのため、第２検索要求メッセージが含むバージョン情報に対応するルーティングテーブルが選択される。ステップＳ５１３を実行するノード装置はＩＰｖ４とＩＰｖ６とのいずれか一方でのみ通信可能なノード装置である。そのため、ステップＳ５１３では、第２検索要求メッセージがＩＰｖ４で通信可能なノード装置により送信された場合、第１ルーティングテーブルに登録されたノード装置へ第２検索要求メッセージが送信される。つまり、ＩＰｖ４で通信可能なノード装置へ第２検索要求メッセージが送信される。一方、第２検索要求メッセージがＩＰｖ６で通信可能なノード装置により送信された場合、第２ルーティングテーブルに登録されたノード装置へ第２検索要求メッセージが送信される。つまり、ＩＰｖ６で通信可能なノード装置へ第２検索要求メッセージが送信される。
【０１２７】
上記実施形態においては、オーバーレイネットワークに、ＤＨＴのルーティングテーブルを利用したピアツーピアの通信システムが適用されていたが、これに限られるものではない。他のピアツーピアの通信システム、または、オーバーレイネットワークを用いたシステムに、本発明が適用されても良い。例えば、ＤＨＴ以外のルーティングテーブルが用いられる通信システムまたはピアツーピアの通信システムに本発明が適用されても良い。ＤＨＴを利用しないピアツーピアの通信システムとしては、例えば、ハイブリッド型のピアツーピアの通信システムがある。ハイブリッド型のピアツーピアの通信システム、または、ピュア型のピアツーピアの通信システムに本発明が適用されても良い。
【符号の説明】
【０１２８】
１  ＣＰＵ
２  ＨＤＤ
３  ＲＡＭ
４  デコーダ部
５  映像処理部
６  ディスプレイ
７  音声処理部
８  スピーカ
９  通信部
２１  プログラム記憶領域
２２  メイン動作処理プログラム記憶領域
２３  ルーティングテーブル生成プログラム記憶領域
２４  第１メッセージ処理プログラム記憶領域
２５  第２メッセージ処理プログラム記憶領域
２６  ダウンロード処理プログラム記憶領域
２７  アドレス情報記憶領域
２８  第１ルーティングテーブル記憶領域
２９  第２ルーティングテーブル記憶領域
３０  バージョン情報記憶領域
３１  コンテンツデータ一時記憶領域
Ｔｍ−ｎ  ノード装置
ＮＷ  ネットワーク
ＦＷ  ファイアーウォール
ＢＲ  ブロードバンドルータ
Ｓ  コンテンツ分散保存システム
ＰＷ  第１オーバーレイネットワーク
ＰＬ  第２オーバーレイネットワーク
【図１】
0005370316.tif 000002
【図２】
0005370316.tif 000003
【図３】
0005370316.tif 000004
【図４】
0005370316.tif 000005
【図５】
0005370316.tif 000006
【図６】
0005370316.tif 000007
【図７】
0005370316.tif 000008
【図８】
0005370316.tif 000009
【図９】
0005370316.tif 000010
【図１０】
0005370316.tif 000011
【図１１】
0005370316.tif 000012