(57)【特許請求の範囲】
【請求項１】
ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、
前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、
前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第１情報処理装置と、前記コンテンツを保存する第２情報処理装置と、を含む前記情報通信システムであり、
前記情報通信システムは、
前記第１情報処理装置から送信される検索メッセージであって、前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、前記第１情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを受信する第１受信手段と、
前記第２情報処理装置の前記装置識別情報と、前記第２情報処理装置に保存されている前記コンテンツの前記コンテンツ識別情報と、を対応付けて記憶する記憶手段と、
前記第１受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応付けられて前記記憶手段に記憶されている前記装置識別情報を、前記第１情報処理装置または前記第２情報処理装置に送信する送信手段と、
を備える第３情報処理装置を備え、
前記第２情報処理装置は、
前記装置識別情報を前記第３情報処理装置から受信する第２受信手段と、
前記第２受信手段により受信された装置識別情報と、前記第２情報処理装置の前記装置識別情報とが一致するかを判定する判定手段と、
前記判定手段により一致すると判定された場合、前記第２情報処理装置に保存されている前記コンテンツを、前記第１情報処理装置に取得させる制御手段と、
を備えることを特徴とする情報通信システムであって、
前記第２情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、
前記第３情報処理装置は、
前記コンテンツを保存したことを示す公開メッセージを前記第２情報処理装置から受信する第３受信手段と、
前記第３受信手段により受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定する第２判定手段と、
前記第２判定手段により前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、
前記第２判定手段により前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる記憶制御手段と、
を備え、
前記送信手段は、前記識別されている固定端末の前記所在情報を前記第１情報処理装置に送信することを特徴とする情報通信システム。
【請求項２】
前記公開メッセージには、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを示す第２識別情報が含まれており、
前記第２判定手段は、前記第３受信手段により受信された前記公開メッセージに含まれている前記第２識別情報に基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定することを特徴とする請求項１に記載の情報通信システム。
【請求項３】
ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、
前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、
前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第１情報処理装置と、前記コンテンツを保存する第２情報処理装置と、を含む前記情報通信システムであり、
前記情報通信システムは、
前記第２情報処理装置の前記装置識別情報と、前記第２情報処理装置に保存されている前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、を対応付けて記憶する記憶手段と、
前記コンテンツ識別情報と、前記第１情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを、前記第１情報処理装置から受信する第１受信手段と、
前記記憶手段に記憶された前記装置識別情報の中から、前記第１受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応する前記装置識別情報を、前記第１情報処理装置または前記第２情報処理装置に送信する送信手段と、
を備える第３情報処理装置と、
前記第２情報処理装置が、
前記装置識別情報を前記第３情報処理装置から受信する第２受信手段と、
前記第２受信手段により受信された装置識別情報と、前記第２情報処理装置の前記装置識別情報とが一致するかを判定する判定手段と、
前記判定手段により一致すると判定された場合、前記第２情報処理装置に保存されている前記コンテンツを、前記第１情報処理装置に取得させる制御手段と、
を備える第２情報処理装置と、を備え、
前記第２情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、
前記第３情報処理装置は、
前記コンテンツを保存したことを示す公開メッセージを前記第２情報処理装置から受信する第３受信手段と、
前記第３受信手段により受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定する第２判定手段と、
前記第２判定手段により前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、
前記第２判定手段により前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる記憶制御手段と、
を備え、
前記送信手段は、前記識別されている固定端末の前記所在情報を前記第１情報処理装置に送信することを特徴とする第３情報処理装置。
【請求項４】
ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、
前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、
前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第１情報処理装置と、前記コンテンツを保存する第２情報処理装置と、を含む前記情報通信システムであり、
前記第２情報処理装置は、
前記装置識別情報を前記第３情報処理装置から受信する受信手段と、
前記受信手段により受信された装置識別情報と、前記第２情報処理装置の前記装置識別情報とが一致するかを判定する判定手段と、
前記判定手段により一致すると判定された場合、前記第２情報処理装置に保存されている前記コンテンツを、前記第１情報処理装置に取得させる制御手段と、
を備える第２情報処理装置と、を備え、
前記第２情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、
前記第２情報処理装置の前記装置識別情報と、前記第２情報処理装置に保存されている前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、を対応付けて記憶する記憶手段を備える第３情報処理装置のコンピュータに、
前記コンテンツ識別情報と、前記第１情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを、前記第１情報処理装置から受信する第１受信ステップと、
前記記憶手段に記憶された前記装置識別情報の中から、前記第１受信ステップにより受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応する前記装置識別情報を、前記第１情報処理装置または前記第２情報処理装置に送信する送信ステップと、
前記コンテンツを保存したことを示す公開メッセージを前記第２情報処理装置から受信する第２受信ステップと、
前記第２受信ステップにより受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定する判定ステップと、
前記判定ステップにより前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、
前記判定ステップにより前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる記憶制御ステップと、
を実行させ、
前記送信ステップは、前記識別されている固定端末の前記所在情報を前記第１情報処理装置に送信することを特徴とするプログラム。
【請求項５】
ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムにおいて実行される情報通信方法であって、
前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、
前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第１情報処理装置と、前記コンテンツを保存する第２情報処理装置と、を含む前記情報通信システムであり、
前記第２情報処理装置の前記装置識別情報と、前記第２情報処理装置に保存されている前記コンテンツの前記コンテンツ識別情報と、を対応付けて記憶する記憶手段を備える第３情報処理装置において、前記第１情報処理装置から送信される検索メッセージであって、前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、前記第１情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを受信する第１受信工程と、
前記第３情報処理装置において、前記受信された検索メッセージに含まれている前記コンテンツ識別情報に対応付けられて前記記憶手段に記憶されている前記装置識別情報を、前記第１情報処理装置または前記第２情報処理装置に送信する送信工程と、
前記第２情報処理装置において、前記装置識別情報を前記第３情報処理装置から受信する第２受信工程と、
前記第２情報処理装置において、前記受信された装置識別情報と、前記第２情報処理装置の前記装置識別情報とが一致するかを判定する判定工程と、
前記第２情報処理装置において、前記一致すると判定された場合、前記第２情報処理装置に保存されている前記コンテンツを、前記第１情報処理装置に取得させる制御工程と、
を含み、
前記第２情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、
前記第３情報処理装置において、前記コンテンツを保存したことを示す公開メッセージを前記第２情報処理装置から受信する第３受信工程と、
前記第３情報処理装置において、前記第３受信工程により受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定する第２判定工程と、
前記第３情報処理装置において、前記第２判定工程により前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、
前記第２判定工程により前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる記憶制御工程と、
を含み、
前記送信工程は、前記識別されている固定端末の前記所在情報を前記第１情報処理装置に送信することを特徴とする情報通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された複数のノード装置により形成されるオーバーレイネットワークを利用する情報通信システムの技術分野に関する。なお以下の説明では、「ノード装置」を適宜「ノード」と称する。
【背景技術】
【０００２】
近年、ネットワークに接続された複数のノードにより形成されるオーバーレイネットワークを介して、映画や動画等のコンテンツを配信する技術が開発されている。オーバーレイネットワークでは、オーバーレイネットワーク内に存在するノードそれぞれにコンテンツが分散保存される。そして各ノードは、ノード間でコンテンツを共有しつつ、互いに送受信する。オーバーレイネットワークについては、例えば下記特許文献１に開示されている。
【０００３】
オーバーレイネットワーク内に存在するノードには、例えばデスクトップ型のパーソナルコンピュータのように通常は一カ所に固定されているノードがある。このようなノードを、以下固定ノードと称する。またオーバーレイネットワーク内には、固定ノードの他、例えばユーザに携帯されて移動される携帯電話やノート型のパーソナルコンピュータのようなノードも含まれる。このようなノードを、以下移動ノードと称する。移動ノードにおいては、移動に伴った接続先の変更により、そのＩＰ（Internet Protocol）アドレスが変更される。コンテンツを保存している移動ノードのＩＰアドレスが変更されると、オーバーレイネットワークにおいて他のノードからその移動ノードのコンテンツを検索して取得することができなくなる。この問題点を解決するための技術として、例えば下記特許文献１に開示されている技術がある。特許文献１には、移動ノードのＩＰアドレスが変更された場合、変更後のＩＰアドレスをオーバーレイネットワーク内に存在する他のノードの全てに通知するための技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−０２８５５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１に記載の技術では、変更後のＩＰアドレスをオーバーレイネットワーク内に存在する他のノードの全てに通知するので、オーバーレイネットワーク内のメッセージ量が増大してネットワークを占有してしまうという問題点がある。一方、近年のように移動ノードの数が増えたり、ノードの移動範囲が拡がっている状況では、ＩＰアドレスの変更も頻繁に行われることになり、メッセージ量は増大してしまう。
【０００６】
そこで本発明は、上記の問題点に鑑みて為されたもので、その目的の一例は、コンテンツを保存している移動ノードのＩＰアドレスが変更されても、オーバーレイネットワーク内のメッセージ量を増大させることなくコンテンツを取得させることが可能な情報通信システムおよび情報通信システムに含まれる情報処理装置、情報通信方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、請求項１に記載の発明は、ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第１情報処理装置と、前記コンテンツを保存する第２情報処理装置と、を含む前記情報通信システムであり、前記情報通信システムは、前記第１情報処理装置から送信される検索メッセージであって、前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、前記第１情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを受信する通信部等の第１受信手段と、前記第２情報処理装置の前記装置識別情報と、前記第２情報処理装置に保存されている前記コンテンツの前記コンテンツ識別情報と、を対応付けて記憶する記憶部等の記憶手段と、前記第１受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応付けられて前記記憶手段に記憶されている前記装置識別情報を、前記第１情報処理装置または前記第２情報処理装置に送信する通信部等の送信手段と、を備える第３情報処理装置を備え、前記第２情報処理装置は、前記装置識別情報を前記第３情報処理装置から受信する通信部等の第２受信手段と、前記第２受信手段により受信された装置識別情報と、前記第２情報処理装置の前記装置識別情報とが一致するかを判定する制御部等の判定手段と、前記判定手段により一致すると判定された場合、前記第２情報処理装置に保存されている前記コンテンツを、前記第１情報処理装置に取得させる制御部等の制御手段と、を備える。
【００１１】
請求項１に記載の発明は、情報通信システムにおいて、前記第２情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、前記第３情報処理装置は、前記コンテンツを保存したことを示す公開メッセージを前記第２情報処理装置から受信する通信部等の第３受信手段と、前記第３受信手段により受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定する制御部等の第２判定手段と、前記第２判定手段により前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、前記第２判定手段により前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる制御部等の記憶制御手段と、を備え、前記送信手段は、前記識別されている固定端末の前記所在情報を前記第１情報処理装置に送信するように構成される。
【００１２】
請求項２に記載の発明は、請求項１に記載の情報通信システムにおいて、前記公開メッセージには、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを示す第２識別情報が含まれており、前記第２判定手段は、前記第３受信手段により受信された前記公開メッセージに含まれている前記第２識別情報に基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定するように構成される。
【００１３】
上記の課題を解決するために、請求項３に記載の発明は、ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第１情報処理装置と、前記コンテンツを保存する第２情報処理装置と、を含む前記情報通信システムであり、前記情報通信システムは、前記第２情報処理装置の前記装置識別情報と、前記第２情報処理装置に保存されている前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、を対応付けて記憶する記憶部等の記憶手段と、前記コンテンツ識別情報と、前記第１情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを、前記第１情報処理装置から受信する通信部等の第１受信手段と、前記記憶手段に記憶された前記装置識別情報の中から、前記第１受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応する前記装置識別情報を、前記第１情報処理装置または前記第２情報処理装置に送信する通信部等の送信手段と、を備える第３情報処理装置を備える情報通信システムであり、前記第２情報処理装置が、前記装置識別情報を前記第３情報処理装置から受信する通信部等の第２受信手段と、前記第２受信手段により受信された装置識別情報と、前記第２情報処理装置の前記装置識別情報とが一致するかを判定する制御部等の判定手段と、前記判定手段により一致すると判定された場合、前記第２情報処理装置に保存されている前記コンテンツを、前記第１情報処理装置に取得させる制御部等の制御手段と、を備える。請求項３に記載の発明は、情報通信システムにおいて、前記第２情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、前記第３情報処理装置は、前記コンテンツを保存したことを示す公開メッセージを前記第２情報処理装置から受信する通信部等の第３受信手段と、前記第３受信手段により受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定する制御部等の第２判定手段と、前記第２判定手段により前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、前記第２判定手段により前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる制御部等の記憶制御手段と、を備え、前記送信手段は、前記識別されている固定端末の前記所在情報を前記第１情報処理装置に送信するように構成される。
【００１４】
上記の課題を解決するために、請求項４に記載の発明は、ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第１情報処理装置と、前記コンテンツを保存する第２情報処理装置と、を含む前記情報通信システムであり、前記第２情報処理装置は、前記装置識別情報を前記第３情報処理装置から受信する受信手段と、前記受信手段により受信された装置識別情報と、前記第２情報処理装置の前記装置識別情報とが一致するかを判定する判定手段と、前記判定手段により一致すると判定された場合、前記第２情報処理装置に保存されている前記コンテンツを、前記第１情報処理装置に取得させる制御手段と、を備える第２情報処理装置と、を備え、前記第２情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、前記第２情報処理装置の前記装置識別情報と、前記第２情報処理装置に保存されている前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、を対応付けて記憶する記憶手段を備える第３情報処理装置のコンピュータに、前記コンテンツ識別情報と、前記第１情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを、前記第１情報処理装置から受信する第１受信ステップと、前記記憶手段に記憶された前記装置識別情報の中から、前記第１受信ステップにより受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応する前記装置識別情報を、前記第１情報処理装置または前記第２情報処理装置に送信する送信ステップと、前記コンテンツを保存したことを示す公開メッセージを前記第２情報処理装置から受信する第２受信ステップと、前記第２受信ステップにより受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定する判定ステップと、前記判定ステップにより前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、前記判定ステップにより前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる記憶制御ステップと、を実行させ、前記送信ステップは、前記識別されている固定端末の前記所在情報を前記第１情報処理装置に送信することを特徴とするプログラムである。
【００１５】
上記の課題を解決するために、請求項５に記載の発明は、ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムにおいて実行される情報通信方法であって、前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第１情報処理装置と、前記コンテンツを保存する第２情報処理装置と、を含む前記情報通信システムであり、前記第２情報処理装置の前記装置識別情報と、前記第２情報処理装置に保存されている前記コンテンツの前記コンテンツ識別情報と、を対応付けて記憶する記憶手段を備える第３情報処理装置において、前記第１情報処理装置から送信される検索メッセージであって、前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、前記第１情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを受信する第１受信工程と、前記第３情報処理装置において、前記受信された検索メッセージに含まれている前記コンテンツ識別情報に対応付けられて前記記憶手段に記憶されている前記装置識別情報を、前記第１情報処理装置または前記第２情報処理装置に送信する送信工程と、前記第２情報処理装置において、前記装置識別情報を前記第３情報処理装置から受信する第２受信工程と、前記第２情報処理装置において、前記受信された装置識別情報と、前記第２情報処理装置の前記装置識別情報とが一致するかを判定する判定工程と、前記第２情報処理装置において、前記一致すると判定された場合、前記第２情報処理装置に保存されている前記コンテンツを、前記第１情報処理装置に取得させる制御工程と、を含み、前記第２情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、前記第３情報処理装置において、前記コンテンツを保存したことを示す公開メッセージを前記第２情報処理装置から受信する第３受信工程と、前記第３情報処理装置において、前記第３受信工程により受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第２情報処理装置が前記固定端末であるか前記移動端末であるかを判定する第２判定工程と、前記第３情報処理装置において、前記第２判定工程により前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、前記第２判定工程により前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる記憶制御工程と、を含み、前記送信工程は、前記識別されている固定端末の前記所在情報を前記第１情報処理装置に送信することを特徴とする情報通信方法である。
【発明の効果】
【００１６】
請求項１または請求項３から請求項５のいずれか一項に記載の発明によれば、第１情報処理装置から送信される検索メッセージに含まれているコンテンツ識別情報に対応付けられている装置識別情報により、第１情報処理装置にコンテンツを取得させる。第２情報処理装置のネットワークにおける所在を示す所在情報が頻繁に変わる場合でも、オーバーレイネットワーク内のメッセージ量を増大させることなくコンテンツを取得させることができる。
【００２０】
請求項１または請求項３から請求項５のいずれか一項に記載の発明によれば、第２情報処理装置が固定端末である場合に、第１情報処理装置において所在情報によりその固定端末が検索可能となり、また、装置識別情報による固定端末の検索は行われないので、いずれの場合も、オーバーレイネットワーク内のメッセージ量をより抑制することができる。
【００２１】
請求項２に記載の発明によれば、公開メッセージに含まれている第２識別情報に基づいて、公開メッセージを送信した第２情報処理装置が固定端末であるか移動端末であるかを判定するので、第２識別情報に基づいて確実に第２情報処理装置の種別を判定することができる。
【図面の簡単な説明】
【００２２】
【図１】実施形態における配信システムの概要構成を示す図である。
【図２】実施形態のノードの概要構成等を示す図である。（ａ）は実施形態のルータ等の概要構成を示すブロック図である。（ｂ）は実施形態の送信元テーブルを例示する図である。
【図３】実施形態の各ノードにおける処理を示すフローチャート（Ｉ）である。（ａ）は実施形態のユーザノードとしての処理を示すフローチャートである。（ｂ）は実施形態のルートノードとしての処理を示すフローチャートである。（ｃ）は実施形態の保持ノードとしての処理を示すフローチャートである。
【図４】実施形態の各ノードにおける処理を示すフローチャート（II）である。（ａ）は実施形態の送信元テーブル更新処理を示すフローチャートである。（ｂ）は実施形態のアドレス変更メッセージ送信処理を示すフローチャートである。
【図５】実施形態の各ノードにおける処理を示すフローチャート（III）である。（ａ）は実施形態のアドレス変更メッセージ受信処理を示すフローチャートである。（ｂ）は実施形態のアドレス変更情報受信処理を示すフローチャートである。（ｃ）は実施形態のサポータノードとしての処理を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツを配信する配信システムに本発明を適用した場合の実施形態である。
【００２４】
（１）配信システムの構成
初めに図１を参照して、実施形態における配信システムの構成について説明する。図１は、実施形態における配信システムの概要構成を示す図である。実施形態の配信システムは本発明における「情報通信システム」の一例に相当する。
【００２５】
図１に示すように実施形態における配信システムＳは、ルータＲｍ（ｍは１からｔまでの自然数。以下、同様。）、ユーザ端末ＵＴｖ（ｖは１からｐまでの自然数）および移動端末Ｍｑ（ｑは１からｗまでの自然数。以下、同様）等を備えて構成されている。ルータＲｍはインターネット等からなるネットワークＮＷに接続されている。ルータＲｍは、例えばルータ機能を有するファイアーウォール、ブロードバンドルータ等である。またネットワークＮＷは、例えばＷＡＮ（Wide Area Network）等である。ネットワークＮＷは、例えば、ＩＸ（Internet eＸchange）、ＩＳＰ（Internet Service Provider）、ＤＳＬ（Digital Subscriber Line）回線事業者装置、ＦＴＴＨ（Fiber To The Home）回線事業者装置および通信回線等によって構築されている。なおネットワークＮＷは配信システムＳ専用のネットワークであってもよい。ユーザ端末ＵＴｖは、例えばユーザの家庭等の所定の場所に設置されて使用される、例えばデスクトップ型のパーソナルコンピュータである。ユーザ端末ＵＴｖは、例えば図示しないインターネットサービスプロバイタのサーバにより割り当てられたＩＰアドレスを用いてネットワークＮＷに接続可能になっている。ルータＲｍおよびユーザ端末ＵＴｖは、それぞれ本発明における「固定端末」の一例に相当する。移動端末Ｍｑは、例えばユーザに携帯される可搬型のパーソナルコンピュータや携帯電話等の情報端末である。移動端末Ｍｑは、例えばファーストフード店等の所定の場所に設置されているアクセスポイントＡＰｑ等に、無線により接続される。この場合の移動端末ＭｑとアクセスポイントＡＰｑとは、例えば無線ＬＡＮ（Local Area Network）等のネットワークにより接続される。一方各アクセスポイントＡＰｑ等は、ネットワークＮＷに、例えば、有線により接続されている。移動端末Ｍｑは、アクセスポイントＡＰｑ等を介してネットワークＮＷに接続可能になっている。移動端末Ｍｑは、ユーザ端末ＵＴｖと同様に上記インターネットサービスプロバイタのサーバにより割り当てられたＩＰアドレスを用いて、ネットワークＮＷに接続可能になっている。なお移動端末Ｍｑは、アクセスポイントＡＰｑを介することなく直接ネットワークＮＷに接続されてもよい。この場合の移動端末Ｍｑも、その移動端末Ｍｑに一意のＩＰアドレスを用いてネットワークＮＷに接続される。
【００２６】
また図１に示すように各ルータＲｍには、ルータＲｍ毎の拠点ネットワークＮＬｍがそれぞれ接続されている。拠点ネットワークＮＬｍも、例えばＬＡＮ等のネットワークである。各ルータＲｍは、拠点ネットワークＮＬｍを介して一又は複数の端末Ｔｍ−ｓ（ｓは自然数。以下、同様。）と接続されている。ルータＲｍは、ネットワークＮＷと拠点ネットワークＮＬｍと間でＩＰパケットを中継する中継機器である。端末Ｔｍ−ｓは、ルータＲｍから配信された例えばコンテンツを再生することができる。なお図１では、一部の端末Ｔｍ−ｓの図示を省略している。
【００２７】
ここで、図１に例示するルータＲｍおよびユーザ端末ＵＴｖでは、ルータＲｍおよびユーザ端末ＵＴｖらに割り当てられているＩＰアドレスが変更される場合がある。例えばＩＰｖ４（Internet Protocol version 4）の場合、一般にＤＨＣＰ（Dynamic Host Configuration Protocol）サーバによりＩＰアドレスが割り当てられる。このとき、割り当てられたＩＰアドレスにリース期間が設定されていると、そのリース期間後にＩＰアドレスが変わることがある。また、ＩＰｖ６（Internet Protocol version 6）の場合、ＤＨＣＰサーバがなくても自動的にＩＰアドレスが割り当てられる。この場合にも、同じＩＰアドレスの使用を続けるとセキュリティ上の問題があるため、定期的にそのＩＰアドレスが変更される場合がある。一方移動端末ＭｑのＩＰアドレスは、例えばその移動端末Ｍｑが接続されているアクセスポイントＡＰｑにより割り当てられる。よって、ルータＲｍおよびユーザ端末ＵＴｖにおいてＩＰアドレスが変更される場合に加えて、移動端末Ｍｑが異なるアクセスポイントＡＰｑ間を移動する場合にも、移動の前後で移動端末Ｍｑに割り当てられるＩＰアドレスが変更される。このように移動端末Ｍｑの場合は、ルータＲｍおよびユーザ端末ＵＴｖに比べて、移動端末Ｍｑに割り当てられているＩＰアドレスが変更される頻度が多い。なお移動端末Ｍｑは本発明における「移動端末」の一例に相当する。
【００２８】
（２）オーバーレイネットワークの構成および動作概要
次に図１を参照して、実施形態のオーバーレイネットワークの構成および動作概要について説明する。配信システムＳにおいては、コンテンツを配信するためのオーバーレイネットワークＯＮがネットワークＮＷ上に構築されている。オーバーレイネットワークＯＮは仮想的なリンクを構成する論理的なネットワークである。図１に一点鎖線で例示されるようにオーバーレイネットワークＯＮは、配信システムＳを構成するルータＲｍ、ユーザ端末ＵＴｖおよび移動端末Ｍｑの参加により形成される。なお以下の説明において、ルータＲｍ、ユーザ端末ＵＴｖおよび移動端末Ｍｑを纏めて適宜「ノードＮｎ（ｎは１からｋまでの自然数。以下、同様）」と称する。ノードＮｎは本発明における「情報処理装置」の一例に相当する。以下の説明では、ルータＲｍおよびユーザ端末ＵＴｖは固定ノードである。また移動端末Ｍｑは移動ノードである。オーバーレイネットワークＯＮは、特定のアルゴリズム、例えば分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下「ＤＨＴ（Distributed Hash Table）」という。以下、ノードＮｎを、単に「ノード」と称する。ＤＨＴを用いたルーティングテーブルには、オーバーレイネットワークＯＮに参加している全ノードのうち、所定数のノードのノードＩＤ、ＩＰアドレスおよびポート番号が記述されている。ここでノードＩＤは、ノードをオーバーレイネットワークＯＮに参加している複数のノードの中から識別する固有の識別情報である。ノードＩＤは本発明における「装置識別情報」の一例に相当する。またＩＰアドレスは、ノードのネットワークＮＷ上での所在を示す所在情報である。ＩＰアドレスは本発明における「所在情報」の一例に相当する。またノードのノードＩＤ、ＩＰアドレスおよびポート番号を、以下、そのノードについての「ノード情報」と称する。また「オーバーレイネットワークＯＮに参加する」とは、ＤＨＴを用いたルーティングテーブルに基づいて他のノードとの間で各種メッセージを送受信できる状態に稼動することをいう。オーバーレイネットワークＯＮへの参加により各ノードは、他のノードとの間でオーバーレイネットワークＯＮを介してメッセージを送受信することが可能となる。ここで、「オーバーレイネットワークＯＮを介したメッセージの送受信」とは、オーバーレイネットワークＯＮに参加しているノードＮｎ間のメッセージの送受信を意味する。なおＤＨＴを用いたルーティングテーブルは、例えば特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。またオーバーレイネットワークＯＮに参加するノードとしては、ルータＲｍ、ユーザ端末ＵＴｏおよび移動端末Ｍｑの他、例えば、プロキシサーバ、ロードバランサ、ウェブアクセラレータ等の、情報を中継する機能を有するネットワーク機器を用いることもできる。さらにノードとして、例えばキャッシュサーバ、エッジサーバ等のサーバを用いてもよい。なお以下の説明において、ルータＲｍ、ユーザ端末ＵＴｏおよび移動端末Ｍｑを纏めて呼称する場合には、「ルータＲｍ等」と称する。
【００２９】
また、実施形態においては、ルータＲｍは、固定ノードとしてオーバーレイネットワークＯＮに定常的に参加する。ここで、「定常的に参加」とは、例えば、ルータＲｍが故障時またはメンテナンス時以外の時には、オーバーレイネットワークＯＮから離脱せず参加していることを意味する。一方、ユーザ端末ＵＴｖおよび移動端末Ｍｑは、オーバーレイネットワークＯＮに必ずしも定常的に参加するとは限らないノードである。ユーザ端末ＵＴｖまたは移動端末Ｍｑは、ユーザがそのユーザ端末ＵＴｖまたは移動端末Ｍｑを使用する時等の所定時間だけ、オーバーレイネットワークＯＮに参加する。そのためユーザ端末ＵＴｖまたは移動端末ＭｑはオーバーレイネットワークＯＮから参加と離脱を繰り返す。つまりユーザ端末ＵＴｖまたは移動端末Ｍｑは、任意のタイミングでオーバーレイネットワークＯＮに参加または離脱する。ユーザ端末ＵＴｖでは、オーバーレイネットワークＯＮへの参加の度にＩＰアドレスが変更される場合がある。移動端末Ｍｑでは、ユーザ端末ＵＴｖの場合に加えて、アクセスポイントＡＰｑが変更される度に、上述したようにＩＰアドレスが変更される場合がある。実施形態では、ルータＲｍ、ユーザ端末ＵＴｖまたは移動端末Ｍｑに、ノードとして制御処理を実行させるプログラムがインストールされる。なおルータＲｍ等以外にも、例えば各家庭で常時ネットワークＮＷに接続される機器に、ノードとして制御処理を実行させるプログラムがインストールされてもよい。
【００３０】
また、オーバーレイネットワークＯＮに参加している複数のノードには、内容の異なる様々なコンテンツが分散保存されている。ノードに保存されているコンテンツには、コンテンツＩＤがそれぞれ付与されている。コンテンツＩＤは、オーバーレイネットワークＯＮでノードに保存される複数のコンテンツの中からコンテンツを識別する固有の識別情報である。コンテンツＩＤは本発明における「コンテンツ識別情報」の一例に相当する。ノードＩＤおよびコンテンツＩＤは、例えばオーバーレイネットワークＯＮで共通のハッシュ関数により生成される。
【００３１】
ここで、コンテンツを保存しているノードを、以下「保持ノード」という。保持ノードは本発明における「第２情報処理装置」の一例に相当する。実施形態の場合、ルータＲｍ、ユーザ端末ＵＴｖまたは移動端末Ｍｑのいずれもが保持ノードになり得る。またコンテンツの所在を示す情報は、インデックス情報として、コンテンツの所在を管理しているノードに記憶される。コンテンツの所在を管理しているノードを、以下「ルートノード」という。ルートノードは本発明における「第３情報処理装置」の一例に相当する。実施形態のインデックス情報には、コンテンツを保存している保持ノードのノードＩＤと、コンテンツのコンテンツＩＤとの組が含まれる。すなわちルートノードには、保持ノードのノードＩＤと、コンテンツのコンテンツＩＤが対応付けられて記憶されている。この点は、例えば上記特開２００６−１９７４００号公報に記載されている従来のインデックス情報とは異なっている。ルートノードは、例えばコンテンツＩＤと最も近いノードＩＤが割り当てられたノードであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えばＩＤの上位桁が最も多く一致するノードＩＤである。
【００３２】
そして、あるノードがオーバーレイネットワークＯＮを介して保持ノードから所定のコンテンツを取得する場合がある。この場合の例としては、例えば端末Ｔ１−１から所定のコンテンツの要求を受けたノードＮ１が、このコンテンツを保存していなかった場合が挙げられる。図１に示す例では、ノードＮ１はルータＲ１である。この場合ノードＮ１は、先ずオーバーレイネットワークＯＮで保持ノードに保存されている所定のコンテンツの所在を検索する検索処理を行う。ここで所定のコンテンツとは、例えば端末Ｔ１−１のユーザにより取得対象として選択されたコンテンツである。この所定のコンテンツを、以下「取得対象のコンテンツ」という。また検索処理を行うノードＮ１を、以下「ユーザノード」という。ユーザノードは本発明における「第１情報処理装置」の一例に相当する。実施形態の場合、ユーザノードは、ルータＲｍの他、ユーザ端末ＵＴｖまたは移動端末Ｍｑであってもよい。ユーザ端末ＵＴｖまたは移動端末Ｍｑがユーザノードである場合、そのユーザノードにおいて、そのユーザノードのユーザにより取得対象のコンテンツが選択されている。具体的にユーザノードは、検索処理において、ＤＨＴルーティングによりコンテンツの所在問合せメッセージをルートノード宛に送信する。この所在問合せメッセージは、取得対象のコンテンツの所在をルートノードに問い合わせるためのメッセージである。所在問合せメッセージには、取得対象のコンテンツのコンテンツＩＤ等が含まれる。なおＤＨＴルーティングは、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。
【００３３】
所在問合せメッセージを受信したルートノードは、所在問合せメッセージに含まれるコンテンツＩＤに対応するインデックス情報を記憶部から取得する。そしてルートノードは、コンテンツの所在応答メッセージをユーザノードへ返信する。この所在応答メッセージは、取得対象のコンテンツの保持ノードをユーザノードに応答するためのメッセージである。所在応答メッセージには、取得されたインデックス情報等が含まれる。ユーザノードは、所在応答メッセージを受信すると、このメッセージからインデックス情報を抽出する。ユーザノードは、抽出したインデックス情報に含まれるノードＩＤに基づいて、保持ノード検索メッセージをＤＨＴルーティングによりその保持ノード宛に送信する。この保持ノード検索メッセージは、インデックス情報に含まれるノードＩＤの保持ノードをオーバーレイネットワークＯＮにおいて検索するためのメッセージである。保持ノード検索メッセージには、検索対象である保持ノードのノードＩＤ等が含まれている。保持ノード検索メッセージは、保持ノードのノードＩＤに基づいたＤＨＴルーティングによりノード間を転送され、検索対象である保持ノードに受信される。保持ノードは、受信した保持ノード検索メッセージに含まれているノードＩＤとその保持ノードのノードＩＤとが一致した場合に、保持ノード検索メッセージを送信したユーザノードに対して、その保持ノードのＩＰアドレス等を送信する。ユーザノードは、受信したＩＰアドレス等を用いて取得対象のコンテンツを取得する。
【００３４】
ユーザノードは、取得したコンテンツを記憶部に記憶すると、新たな保持ノードとしてパブリッシュ処理を行う。パブリッシュ処理は、コンテンツを保存していることを他のノードに公開するための処理である。このパブリッシュ処理において保持ノードとなったユーザノードは、パブリッシュメッセージを、ＤＨＴルーティングによりルートノード宛に送信する。パブリッシュメッセージには、保存したコンテンツのコンテンツＩＤおよび保持ノードのノード情報等が含まれる。パブリッシュメッセージを受信したルートノードは、パブリッシュメッセージに含まれるコンテンツのコンテンツＩＤと保持ノードのノードＩＤとの組を、新たなインデックス情報として記憶する。
【００３５】
なお、ＤＨＴルーティングによるパブリッシュメッセージの送信において保持ノードは、パブリッシュメッセージの送信先のＩＰアドレスを、ＤＨＴを用いたルーティングテーブルから取得する。保持ノードから送信されたパブリッシュメッセージは、図示しない転送ノードにより転送されてルートノードに到達する場合がある。転送ノードには、ルートノードと同様にパブリッシュメッセージに含まれるコンテンツＩＤと保持ノードのノードＩＤとの組が記憶される。転送ノードは、ユーザノードからルートノード宛に送信された所在問合せメッセージを受信する場合がある。この場合転送ノードは、取得対象のコンテンツに対応するインデックス情報を含む所在応答メッセージをユーザノードへ送信することができる。
【００３６】
また、実施形態のノードにはサポータノードが含まれる。ここで「サポータノード」とは、例えば、ルータＲｍのように配信システムＳに定常的に参加しているノードや、配信システムＳにノードが参加する際に最初に接続すべきコンタクトノードである。
【００３７】
（３）ルータ等の構成および機能
次に図２を参照して、実施形態のルータＲｍ等の構成および機能について説明する。
【００３８】
まず図２（ａ）を参照して、ルータＲｍの構成および機能について説明する。図２（ａ）はルータＲｍの概要構成を示すブロック図である。図２（ａ）に示すようにルータＲｍは、制御部１、記憶部２、通信部３およびバッファメモリ４等を備えて構成される。制御部１、記憶部２、通信部３およびバッファメモリ４はバス５を介して相互に接続されている。なお各ルータＲｍには、ＩＰアドレスが割り当てられている。
【００３９】
記憶部２は、例えばハードディスクドライブ等から構成される。記憶部２には、オペレーティングシステムおよびノード処理プログラム等が記憶されている。なおノード処理プログラム等は、例えばネットワークＮＷに接続された所定のサーバからダウンロードされるようにしてもよい。あるいはノード処理プログラム等は、例えば記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
【００４０】
またオーバーレイネットワークＯＮに参加したルータＲｍの記憶部２には、ＤＨＴを用いたルーティングテーブルおよび実施形態のインデックス情報が記憶される。このインデックス情報には、コンテンツの保持ノードのノードＩＤとそのコンテンツのコンテンツＩＤとの組が含まれている。また、記憶部２に設けられたコンテンツ保存領域にはコンテンツが記憶される。コンテンツ保存領域は、コンテンツを保存するための保存領域である。更に記憶部２には、実施形態の送信元テーブルＴＢが記憶されている。送信元テーブルＴＢについては、後ほど図２（ｂ）を参照して詳説する。
【００４１】
通信部３は、ネットワークＮＷを通じてユーザ端末ＵＴｖおよび移動端末Ｍｑとの間の通信制御を行う。この場合の移動端末Ｍｑとの間の通信は、その移動端末Ｍｑが現在接続されているアクセスポイントＡＰｑを介して行われる。また通信部３は、拠点ネットワークＮＬｍを通じて端末Ｔｍ−ｓとの間の通信制御を行う。バッファメモリ４は、受信されたコンテンツをバッファリングする。
【００４２】
制御部１は、演算機能を有するＣＰＵ（Central Processing Unit）、作業用ＲＡＭ（Random Access Memory）およびＲＯＭ（Read Only Memory）等から構成される。ルータＲｍの制御部１は、ＣＰＵが記憶部２等に記憶されたノード処理プログラムを実行することによりノードとして動作する。なお制御部１は他のルータＲｍ等からのＩＰパケットを中継する機能を有する。ＩＰパケットを中継する機能は、公知のルータまたはＬ３スイッチングハブ等と同様であるので、詳しい説明を省略する。更に制御部１は、拠点ネットワークＮＬｍを介して接続される端末Ｔｍ−ｓから要求されたコンテンツを端末Ｔｍ−ｓへ配信する機能を有する。なお端末Ｔｍ−ｓが、オーバーレイネットワークＯＮに参加するように構成してもよい。
【００４３】
次に、ユーザ端末ＵＴｖおよび移動端末Ｍｑの構成および機能等について説明する。なお実施形態のユーザ端末ＵＴｖおよび移動端末Ｍｑは、基本的にはそれぞれ同様の構成を備える。よって以下では、ユーザ端末ＵＴｖおよび移動端末Ｍｑを代表してユーザ端末ＵＴｖの構成について説明する。ユーザ端末ＵＴｖは、図２（ａ）に示すルータＲｍの構成と同様の構成に加えて、デコーダ部、映像処理部、液晶ディスプレイ等からなる表示部、音声処理部、スピーカ、および入力部等を備えて構成される。デコーダ部、映像処理部、表示部、音声処理部、スピーカおよび入力部については、図示を省略する。制御部１、記憶部２、通信部３、バッファメモリ４、デコーダ部、映像処理部、表示部、音声処理部および入力部は、バス５を介して相互に接続されている。
【００４４】
ユーザ端末ＵＴｖの記憶部２には、ルータＲｍの記憶部２と同様に、オペレーティングシステム、ノード処理プログラム、ルーティングテーブル、実施形態のインデックス情報、コンテンツおよび実施形態の送信元テーブルＴＢが記憶されている。またユーザ端末ＵＴｖのデコーダ部は、コンテンツに含まれる映像データおよび音声データ等のデータ伸張や復号化等のデコード処理を行う。映像処理部は、デコーダ部によりデコードされた映像データ等に対して所定の描画処理を施し映像信号として再生出力する。表示部は、映像処理部から再生出力された映像信号に基づきディスプレイに映像等を表示する。また表示部は、デコーダ部によりデコードされた画像を表示する。音声処理部は、デコーダ部によりデコードされた音声データをアナログ音声信号にＤ（Digital）／Ａ（Analog）変換した後にアンプにより増幅して再生出力する。スピーカは、音声処理部から再生出力された音声信号を音波として出力する。通信部３は、ネットワークＮＷを通じてルータＲｍおよび移動端末Ｍｑとの間の通信制御を行う。この場合の移動端末Ｍｑとの間の通信は、その移動端末Ｍｑが現在接続されているアクセスポイントＡＰｑを介して行われる。
【００４５】
ユーザ端末ＵＴｖの制御部１は、演算機能を有するＣＰＵ、作業用ＲＡＭおよびＲＯＭ等から構成される。ユーザ端末ＵＴｖの制御部１は、ＣＰＵが記憶部２等に記憶されたノード処理プログラムの実行によりノードとして動作する。
【００４６】
なお図２（ａ）に示すルータＲｍ等において、通信部３は、本発明における「受信手段」の一例、「第１受信手段」の一例、「第２受信手段」の一例、「第３受信手段」の一例、「第４受信手段」の一例および「送信手段」の一例に、それぞれ相当する。また制御部１は、本発明における「判定手段」の一例、「第２判定手段」の一例、「第３判定手段」の一例、「制御手段」の一例、「取得手段」の一例、「通知手段」の一例、「第２通知手段」の一例および「記憶制御手段」の一例に、それぞれ相当する。さらに記憶部２は、本発明における「記憶手段」の一例および「所在情報記憶手段」の一例に、それぞれ相当する。
【００４７】
次に図２（ｂ）を参照して、実施形態の送信元テーブルＴＢについて説明する。送信元テーブルＴＢは、実施形態のルータＲｍ等においてオーバーレイネットワークＯＮを介していずれかのメッセージを受信したとき、そのメッセージの送信元のノードを示す情報が記述されるテーブルである。すなわち送信元テーブルＴＢは、送信元テーブルＴＢが記憶されているノードに将来的にメッセージを送信してくる可能性がある他のノードを示す情報が記述されるテーブルである。送信元テーブルＴＢは図２（ａ）に示すように、実施形態のルータＲｍ等の記憶部２内に記憶されている。具体的に送信元テーブルＴＢには、図２（ｂ）に例示するように、オーバーレイネットワークＯＮを介して受信した各メッセージの送信元のノードのＩＰアドレスと、受信した各メッセージの受信時刻と、の組ＰＡが記述されている。このＩＰアドレスは、各メッセージの送信元のノードを示すものとして、各メッセージに含まれて送信されてくる。送信元テーブルＴＢには、後述するタイミングで送信元テーブルＴＢがリフレッシュされるまで、メッセージを受信するたびに、そのメッセージに含まれていたＩＰアドレスとそのメッセージの受信時刻との組ＰＡが記述されることが繰り返される。
【００４８】
（４）配信システムの動作
次に、図３から図５までを参照して、実施形態の配信システムＳの動作について説明する。
【００４９】
（Ａ）コンテンツの取得動作
初めに、実施形態のコンテンツの取得処理について、図３を参照して説明する。以下に説明するコンテンツの取得処理において、例えば一つのルータＲｍは、ユーザノード、ルートノードおよび保持ノードのいずれにもなり得る。図３にそれぞれ示すフローチャートの処理は、ノードに備えられた電源スイッチがオンとされて、ノード処理プログラムが起動したときに開始される。図３（ａ）、図３（ｂ）および図３（ｃ）に示すフローチャートの処理は、ノードにおいて、それぞれ並行して実行される処理である。
【００５０】
（Ａ−１）ユーザノードとしての処理
初めに、実施形態のユーザノードとしての処理について、図３（ａ）を参照して説明する。なお図３（ａ）はユーザノードとしての処理を示すフローチャートである。図３（ａ）に示すように、ノードの制御部１は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する（ステップＳ１）。なお、ノードの電源スイッチは、実施形態の図２（ａ）または図２（ｂ）において図示しない。ステップＳ１の判定において電源スイッチがオフとされている場合（ステップＳ１；ＹＥＳ）、制御部１は実施形態の処理を終了する。ステップＳ１の判定において電源スイッチがオフとされていない場合（ステップＳ１；ＮＯ）、制御部１は次に、ノードにおいてコンテンツの取得要求がされているか否かを判定する（ステップＳ２）。具体的に制御部１は、例えばユーザ端末ＵＴｖの入力部においてコンテンツの選択操作が為されたか否かを判定する。ステップＳ２の判定においてコンテンツの取得要求が為されていない場合（ステップＳ２；ＮＯ）、制御部１はステップＳ１の処理に移行する。ステップＳ２の判定においてコンテンツの取得要求が為されている場合（ステップＳ２；ＹＥＳ）、制御部１はユーザノードとしての処理を開始する。すなわち制御部１は、取得対象のコンテンツの所在問合せメッセージを、ＤＨＴルーティングにより、そのコンテンツのルートノード宛に送信する（ステップＳ３）。この所在問合せメッセージには、取得対象のコンテンツのコンテンツＩＤ、ユーザノードのＩＰアドレスおよびポート番号に加えて、そのユーザノードが移動ノードであるか固定ノードであるかを示すノード種別情報等が含まれる。ノード種別情報は本発明における「第２識別情報」の一例に相当する。次に制御部１は、ステップＳ３の処理により送信した所在問合せメッセージの応答としての所在応答メッセージを、オーバーレイネットワークＯＮを介してルートノードから受信したか否かを判定する（ステップＳ４）。ステップＳ４の処理において受信する所在応答メッセージには、取得対象のコンテンツを保存する保持ノードのノードＩＤを含む実施形態のインデックス情報が含まれる。ステップＳ４の判定において未だ所在応答メッセージを受信しない場合（ステップＳ４；ＮＯ）、制御部１は所在応答メッセージの受信を待機する。ステップＳ４の判定において所在応答メッセージを受信した場合（ステップＳ４；ＹＥＳ）、制御部１は次に、受信した所在応答メッセージに含まれていたノードＩＤとユーザノードのＩＰアドレスおよびポート番号等を含む保持ノード検索メッセージを生成する。そして制御部１は、生成した保持ノード検索メッセージを、ＤＨＴルーティングにより、そのコンテンツの保持ノード宛に送信する（ステップＳ５）。次に制御部１は、ステップＳ５の処理により送信した保持ノード検索メッセージの応答としてのＩＰアドレス等を、その保持ノードから受信したか否かを判定する（ステップＳ６）。ステップＳ６の処理においては、取得対象のコンテンツの保持ノードのＩＰアドレスおよびポート番号等を受信したか否かを判定する。ステップＳ６の判定において未だＩＰアドレス等を受信しない場合（ステップＳ６；ＮＯ）、制御部１はＩＰアドレス等の受信を待機する。ステップＳ６の判定においてＩＰアドレス等を受信した場合（ステップＳ６；ＹＥＳ）、制御部１は次に、受信したＩＰアドレス等に基づいて取得対象のコンテンツを取得する（ステップＳ７）。具体的に制御部１は、先ず受信したＩＰアドレスおよびポート番号を用いて保持ノードにアクセスする。そして制御部１はコンテンツ要求メッセージを保持ノードへ返信する。コンテンツ要求メッセージは取得対象のコンテンツを保持ノードへ要求するためのメッセージである。コンテンツ要求メッセージには、取得対象のコンテンツのコンテンツＩＤ等が含まれる。コンテンツ要求メッセージを受信した保持ノードの制御部１は、受信したコンテンツ要求メッセージに含まれるコンテンツＩＤに対応するコンテンツを保持ノードの記憶部２から取得する。そして保持ノードの制御部１は、コンテンツ送信メッセージとともに、取得したコンテンツをユーザノードへ送信する。こうしてユーザノードの制御部１はコンテンツを取得する。その後ユーザノードの制御部１はステップＳ１の処理に移行する。
【００５１】
（Ａ−２）ルートノードとしての処理
次に実施形態のルートノードとしての処理について、図３（ｂ）を参照して説明する。なお図３（ｂ）はルートノードとしての処理を示すフローチャートである。図３（ｂ）に示すように、ノードの制御部１は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する（ステップＳ１０）。ステップＳ１０の判定において電源スイッチがオフとされている場合（ステップＳ１０；ＹＥＳ）、制御部１は実施形態の処理を終了する。ステップＳ１０の判定において電源スイッチがオフとされていない場合（ステップＳ１０；ＮＯ）、次に制御部１は、いずれかのユーザノードからの所在問合せメッセージを受信したか否かを判定する（ステップＳ１１）。この所在問合せメッセージは図３（ａ）ステップＳ３の処理により送信された所在問合せメッセージである。ステップＳ１１の判定において所在問合せメッセージを受信していないとき（ステップＳ１１；ＮＯ）、制御部１は、後述するステップＳ１４の処理に移行する。ステップＳ１１の判定において所在問合せメッセージを受信したとき（ステップＳ１１；ＹＥＳ）、制御部１はルートノードとしての処理を開始する。すなわち制御部１は、その時点で記憶部２に記憶されているインデックス情報からノードＩＤを検索する（ステップＳ１２）。具体的に制御部１は、受信した所在問合せメッセージに含まれている取得対象のコンテンツのコンテンツＩＤと組を為しているノードＩＤを、インデックス情報から検索する。次に制御部１は、検索した保持ノードのノードＩＤを含む所在応答メッセージを生成する。この場合制御部１は、所在問合せメッセージに含まれていたノード種別情報に基づいて、ユーザノードが移動ノードである場合は、固定ノードである保持ノードのノードＩＤを含む所在応答メッセージを生成する。またユーザノードが固定ノードである場合に制御部１は、移動ノードである保持ノードのノードＩＤを含む所在応答メッセージを生成する。以上の処理により、例えば移動ノードにおいてそのＩＰアドレスが頻繁に変更されることに起因して発生するコンテンツ取得についてのリスク等を、平準化させることができる。具体的には、保持ノードとユーザノードが共に移動ノードである場合と、両者が共に固定ノードである場合とにおけるコンテンツ取得の可能性の差を少なくして、配信システムＳとしての平均的な安定性を高めることができる。なお、固定ノードを用いた安定的なコンテンツの配信を重視する場合がある。この場合に制御部１は、ユーザノードが移動ノードである場合には移動ノードである保持ノードのノードＩＤを含む所在応答メッセージを生成する。またユーザノードが固定ノードである場合には、固定ノードである保持ノードのノードＩＤを含む所在応答メッセージを生成するように構成してもよい。その後制御部１は、生成した所在応答メッセージを、ＤＨＴルーティングにより、所在問合せメッセージを送信してきたユーザノード宛に送信する（ステップＳ１３）。次に制御部１は、保持ノードからのパブリッシュメッセージを、オーバーレイネットワークＯＮを介して受信したか否かを判定する（ステップＳ１４）。このパブリッシュメッセージには、保持ノードに保存されているコンテンツのコンテンツＩＤおよびその保持ノードのノード情報等が含まれている。このノード情報としては、保持ノードのノードＩＤ、ＩＰアドレスおよびポート番号と、その保持ノードについてのノード種別情報が含まれている。ステップＳ１４の判定においてパブリッシュメッセージを受信していないとき（ステップＳ１４；ＮＯ）、制御部１はステップＳ１０の処理に移行する。ステップＳ１４の判定においてパブリッシュメッセージを受信したとき（ステップＳ１４；ＹＥＳ）、制御部１は、受信したパブリッシュメッセージに含まれているコンテンツＩＤとノードＩＤを、新たなインデックス情報として登録する（ステップＳ１５）。すなわち制御部１は、パブリッシュメッセージに含まれていたノード種別情報に基づいて、保持ノードが固定ノードであった場合は、受信したコンテンツＩＤおよびその保持ノードのノード情報等の全てを、新たなインデックス情報として記憶部２に記憶させる。一方制御部１は、ノード種別情報に基づき、保持ノードが移動ノードであった場合は、ＩＰアドレスを除いた保持ノードのノード情報等とコンテンツＩＤを、新たなインデックス情報として記憶部２に記憶させる。なお制御部１は、保持ノードが固定ノードであると移動ノードであるとに拘わらず、受信したコンテンツＩＤおよびその保持ノードのノード情報等の全てを、新たなインデックス情報として記憶部２に記憶させてもよい。その後ルートノードの制御部１はステップＳ１０の処理に移行する。
【００５２】
なおステップＳ１３の処理に代えて、制御部１が保持ノードのノードＩＤおよびノード種別情報を含む所在応答メッセージをユーザノード宛に送信し、所在応答メッセージを受信したユーザノードにおいて保持ノードを選択するように構成してもよい。具体的には、所在応答メッセージを受信したユーザノードの制御部１が、受信したノード種別情報に基づいて、例えばユーザノードが移動ノードである場合は固定ノードである保持ノードからコンテンツを取得する。またユーザノードが固定ノードである場合は移動ノードである保持ノードからコンテンツを取得するように構成してもよい。
【００５３】
また制御部１は、ステップＳ１３の処理として所在応答メッセージをユーザノードへ送信することに代えて、取得対象のコンテンツの送信要求メッセージを、ＤＨＴルーティングにより保持ノード宛に送信するように構成してもよい。この送信要求メッセージは、取得対象のコンテンツをユーザノードへ送信することを要求するためのメッセージである。送信要求メッセージには、取得対象のコンテンツのコンテンツＩＤと、取得対象のコンテンツを保存する保持ノードのノードＩＤと、所在問合せメッセージに含まれていたユーザノードのＩＰアドレスおよびポート番号等が含まれる。送信要求メッセージは、保持ノードのノードＩＤに基づいたＤＨＴルーティングによりノード間を転送され、保持ノードに受信される。送信要求メッセージを受信した保持ノードの制御部１は、このメッセージに含まれるコンテンツＩＤに対応するコンテンツを保持ノードの記憶部２から取得する。保持ノードの制御部１は、送信要求メッセージに含まれるユーザノードのＩＰアドレス等に基づいてユーザノードにアクセスする。そして保持ノードの制御部１は、コンテンツ送信メッセージとともに、取得対象のコンテンツをユーザノードへ送信する。
【００５４】
（Ａ−３）保持ノードとしての処理
次に実施形態の保持ノードとしての処理について、図３（ｃ）を参照して説明する。なお図３（ｃ）は保持ノードとしての処理を示すフローチャートである。図３（ｃ）に示すように、ノードの制御部１は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する（ステップＳ２０）。ステップＳ２０の判定において電源スイッチがオフとされている場合（ステップＳ２０；ＹＥＳ）、制御部１は実施形態の処理を終了する。ステップＳ２０の判定において電源スイッチがオフとされていない場合（ステップＳ２０；ＮＯ）、次に制御部１は、配信システムＳに投入された新たなコンテンツが、制御部１が備えられたノードに保存されたか否かを判定する（ステップＳ２１）。ここでコンテンツの「投入」とは、コンテンツを複数のノードのいずれかに保存させ、そのコンテンツをオーバーレイネットワークＯＮを介して取得可能な状態にすることをいう。ステップＳ２１の判定において新たなコンテンツを保存していない場合（ステップＳ２１；ＮＯ）、制御部１は後述するステップＳ２３の処理に移行する。ステップＳ２１の判定において新たなコンテンツを保存した場合（ステップＳ２１；ＹＥＳ）、制御部１は保持ノードとしての処理を開始する。すなわち制御部１は、新たなコンテンツについてのパブリッシュメッセージを生成する。このパブリッシュメッセージには、新たに保存したコンテンツのコンテンツＩＤ、コンテンツを新たに保存した保持ノードのノード情報およびその保持ノードについてのノード種別情報が含まれる。その後制御部１は、生成したパブリッシュメッセージを、ＤＨＴルーティングによりルートノード宛に送信する（ステップＳ２２）。次に制御部１は、いずれかのユーザノードからの保持ノード検索メッセージを受信したか否かを判定する（ステップＳ２３）。保持ノード検索メッセージは、図３（ａ）ステップＳ５の処理により送信された保持ノード検索メッセージである。ステップＳ２３の判定において保持ノード検索メッセージを受信していないとき（ステップＳ２３；ＮＯ）、制御部１はステップＳ２０の処理に移行する。ステップＳ２３の判定において保持ノード検索メッセージを受信したとき（ステップＳ２３；ＹＥＳ）、制御部１は、制御部１が備えられた保持ノードのノードＩＤと、受信した保持ノード検索メッセージに含まれているノードＩＤと、が一致するかを判定する（ステップＳ２４）。ステップＳ２４の判定において一致しない場合（ステップＳ２４；ＮＯ）、制御部１は、受信した保持ノード検索メッセージをＤＨＴルーティングにより他のノードに転送する（ステップＳ２６）。その後制御部１はステップＳ２０の処理に移行する。ステップＳ２４の判定においてノードＩＤが一致した場合（ステップＳ２４；ＹＥＳ）、制御部１は、制御部１が備えられた保持ノードのＩＰアドレスおよびポート番号等を、受信した保持ノード検索メッセージの送信元であるユーザノードに送信する（ステップＳ２５）。この場合、受信した保持ノード検索メッセージに含まれていたユーザノードのＩＰアドレスが用いられる。このＩＰアドレス等はユーザノードにより受信され、コンテンツの取得に用いられる（図３（ａ）ステップＳ７参照）。その後制御部１はステップＳ２０の処理に移行する。
【００５５】
（Ｂ）ＩＰアドレス変更に伴う動作
次に、特に移動端末ＭｑにおけるＩＰアドレスの変更に伴う実施形態の処理について、図４および図５を参照して説明する。なお、図４および図５に示すフローチャートの処理は、ノードに備えられた電源スイッチがオンとされて、ノード処理プログラムが起動したときに開始される。図４および図５に示すフローチャートの処理は、ノードにおいて、それぞれ並行して実行される処理である。
【００５６】
（Ｂ−１）送信元テーブル更新処理
初めに、実施形態の送信元テーブル更新処理について、図４（ａ）を参照して説明する。図４（ａ）は送信元テーブル更新処理を示すフローチャートである。図４（ａ）に示す送信元テーブル更新処理は、実施形態のノードの記憶部２等に記憶されている送信元テーブルＴＢを更新するための処理である。図４（ａ）に示すように、ノードの制御部１は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する（ステップＳ３０）。ステップＳ３０の判定において電源スイッチがオフとされている場合（ステップＳ３０；ＹＥＳ）、制御部１は実施形態の送信元テーブル更新処理を終了する。ステップＳ３０の判定において電源スイッチがオフとされていない場合（ステップＳ３０；ＮＯ）、次に制御部１は、制御部１が備えられたノードにおいて何らかのメッセージを他のノードからオーバーレイネットワークＯＮを介して受信したか否かを判定する（ステップＳ３１）。ステップＳ３１の判定において何らのメッセージも受信していない場合（ステップＳ３１；ＮＯ）、制御部１はステップＳ３０の処理に移行する。ステップＳ３１の判定において何らかのメッセージを受信した場合（ステップＳ３１；ＹＥＳ）、制御部１は、そのメッセージの送信元のノードのＩＰアドレスとそのメッセージの受信時刻の組ＰＡを、送信元テーブルＴＢに追加して記述する（ステップＳ３２。図２（ｂ）参照。）。その後制御部１は、受信したメッセージが、メッセージを受信したノード宛のメッセージか否かを判定する（ステップＳ３３）。具体的に制御部１は、例えば受信したメッセージのヘッダの内容を確認する等の従来と同様の方法により、メッセージの宛先が、メッセージを受信したノードであるか否かを判定する。ステップＳ３３の判定において、受信したメッセージの宛先がメッセージを受信したノードでない場合（ステップＳ３３；ＮＯ）、制御部１は、受信したメッセージをＤＨＴルーティングにより他のノードに転送する（ステップＳ３６）。その後制御部１は、後述するステップＳ３７の処理に移行する。ステップＳ３３の判定において、受信したメッセージの宛先が、メッセージを受信したノードである場合（ステップＳ３３；ＹＥＳ）、制御部１は、受信したメッセージに対応する処理を行う（ステップＳ３４）。そして制御部１は、ステップＳ３４の処理結果を用いて、受信したメッセージに対する応答処理を行う（ステップＳ３５）。その後制御部１は、送信元テーブルＴＢをリフレッシュする処理を行う（ステップＳ３７）。ステップＳ３７の処理として具体的に制御部１は、例えば、送信元テーブルＴＢに記述されている受信時刻を参照して、現在時刻から予め設定された時間だけ遡った時刻よりも古い時刻に受信されたメッセージに対応する組ＰＡを削除する。あるいは制御部１は、送信元テーブルＴＢに記述されている組ＰＡの数がその送信元テーブルＴＢについて予め設定された数を超えた場合、受信時刻の古いものから順に、超えた数の組ＰＡを削除してもよい。その後制御部１は、ステップＳ３０の処理に移行する。
【００５７】
（Ｂ−２）アドレス変更メッセージ送信処理
次に、実施形態のアドレス変更メッセージ送信処理について、図４（ｂ）を参照して説明する。図４（ｂ）はアドレス変更メッセージ送信処理を示すフローチャートである。図４（ｂ）に示すアドレス変更メッセージ送信処理は、実施形態のノードとしての例えば移動端末ＭｑのＩＰアドレスが変更されたとき、その変更を示すアドレス変更メッセージを送信する処理である。図４（ｂ）に示すように、ノードの制御部１は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する（ステップＳ４０）。ステップＳ４０の判定において電源スイッチがオフとされている場合（ステップＳ４０；ＹＥＳ）、制御部１は実施形態のアドレス変更メッセージ送信処理を終了する。ステップＳ４０の判定において電源スイッチがオフとされていない場合（ステップＳ４０；ＮＯ）、次に制御部１は、その制御部１が備えられたノードのＩＰアドレスの変更を判定する（ステップＳ４１）。このステップＳ４１の処理として具体的に制御部１は、例えば他のノードと接続する際にＩＰアドレスの変更を検出することができる。具体的には、例えばＩＰｖ４におけるルータ探索プロセスを移動端末Ｍｑの制御部１がアクセスポイントＡＰｑとの間で実行することにより、制御部１が、アクセスポイントＡＰの変更に伴ってそのグローバルＩＰアドレスが変更されたことを検出することができる。このルータ探索プロセスは、例えばＩＰｖ４におけるルータ告知メッセージ（Router Advertisement Message）およびルータ要請メッセージ（Router Solicitation Message）を用いて行われる。ステップＳ４１の判定においてＩＰアドレスが変更されていない場合（ステップＳ４１；ＮＯ）、制御部１はステップＳ４０の処理に移行する。ステップＳ４１の判定においてＩＰアドレスが変更されている場合（ステップＳ４１；ＹＥＳ）、制御部１は次に、記憶部２に記憶されている図示しないソケットテーブルを初期化する（ステップＳ４２）。ここで「ソケットテーブル」とは、ノードから他のノードに対して過去に確立された接続を示すセッション情報が記述されているテーブルである。ソケットテーブルについて詳細には、例えば特許文献１の段落番号［０１２４］等に記述されている。次に制御部１は、記憶部２に記憶されている図示しないＤＨＴを用いたルーティングテーブルに記述されている全てのノードに対して、ＩＰアドレスが変更されたことを示すアドレス変更メッセージを送信する処理を繰り返す（ステップＳ４３、Ｓ４４及びＳ４３Ｒ）。具体的に制御部１は、先ずルーティングテーブルの中から一つのノード情報を抽出する。次に制御部１は、抽出されたノード情報のノードに対してアドレス変更メッセージを送信する（ステップＳ４４）。アドレス変更メッセージには、ヘッダ部分に送信時刻が記述されている。またアドレス変更メッセージには、ノードのノードＩＤと変更前のＩＰアドレスと変更後の現在のＩＰアドレスが含まれている。アドレス変更メッセージは、ＤＨＴルーティングによらずに、ルーティングテーブルから抽出されたノード情報に含まれているＩＰアドレスを用いて、そのＩＰアドレスのノード宛に直接送信される。以上のステップＳ４３、Ｓ４４お��びＳ４３Ｒの処理が、ルーティングテーブルに記述されている全てのノードについて繰り返される。次に制御部１は、記憶部２に記憶されている送信元テーブルＴＢにＩＰアドレスが記述されている全てのノードに対してアドレス変更メッセージを送信する処理を繰り返す（ステップＳ４５、Ｓ４６及びＳ４５Ｒ）。具体的に制御部１は、先ず送信元テーブルＴＢの中から一つのＩＰアドレスを抽出する。次に制御部１は、抽出されたＩＰアドレスのノードに対して、ステップＳ４４の処理により送信されたアドレス変更メッセージと同様のアドレス変更メッセージを送信する（ステップＳ４６）。このアドレス変更メッセージも、ＤＨＴルーティングによらずに、送信元テーブルＴＢから抽出されたＩＰアドレスを用いて、そのＩＰアドレスのノード宛に直接送信される。以上のステップＳ４５、Ｓ４６およびＳ４５Ｒの処理が、送信元テーブルＴＢに記述されている全てのノードに対して繰り返される。次に制御部１はサポータノードに対して、ステップＳ４４またはＳ４６の処理により送信されたアドレス変更メッセージと同様のアドレス変更メッセージを送信する（ステップＳ４７）。その後制御部１はステップＳ４０の処理に移行する。ここでサポータノードは、例えば移動端末Ｍｑに比してＩＰアドレスが変更されることがほとんどない。図４（ｂ）に示す処理が実行されているノードでは、サポータノードのＩＰアドレスを記憶部２に記憶している。制御部１は、記憶されているＩＰアドレスのサポータノードに対して、ＤＨＴルーティングによらずにアドレス変更メッセージを直接送信する（ステップＳ４７）。以上のアドレス変更メッセージ送信処理により、将来的に通信をする可能性のあるルーティングテーブルおよび送信元テーブルＴＢに記述されているノードの全てに対して、ＩＰアドレスが変更されたことを通知することができる。なおこれに加えて、その時点でのソケットテーブルにセッション情報が記述されているノードに対して、アドレス変更メッセージを送信するように構成することもできる。
【００５８】
（Ｂ−３）アドレス変更メッセージ受信処理
次に、実施形態のアドレス変更メッセージ受信処理について、図５（ａ）を参照して説明する。図５（ａ）はアドレス変更メッセージ受信処理を示すフローチャートである。図５（ａ）に示すアドレス変更メッセージ受信処理は、他のノードから送信されてきたアドレス変更メッセージをノードにおいて受信する処理である。このアドレス変更メッセージは、図４（ｂ）に示すステップＳ４４またはＳ４６の処理により送信されたアドレス変更メッセージである。図５（ａ）に示すように、ノードの制御部１は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する（ステップＳ５０）。ステップＳ５０の判定において電源スイッチがオフとされている場合（ステップＳ５０；ＹＥＳ）、制御部１は実施形態のアドレス変更メッセージ送信処理を終了する。ステップＳ５０の判定において電源スイッチがオフとされていない場合（ステップＳ５０；ＮＯ）、次に制御部１は、他のノードのいずれかからアドレス変更メッセージを受信したか否かを判定する（ステップＳ５１）。ステップＳ５１の判定においてアドレス変更メッセージを受信していない場合（ステップＳ５１；ＮＯ）、制御部１はステップＳ５０の処理に移行する。ステップＳ５１の判定においてアドレス変更メッセージを受信した場合（ステップＳ５１；ＹＥＳ）、制御部１は、受信したアドレス変更メッセージに含まれている変更前のＩＰアドレスに対応するソケットをソケットテーブルから削除する（ステップＳ５２）。次に制御部１は、記憶部２に記憶されているルーティングテーブルに記述されているノード情報のうち、受信したアドレス変更メッセージに含まれているノードＩＤが含まれているノード情報のＩＰアドレスを、変更後のＩＰアドレスに変更する（ステップＳ５３）。その後制御部１はステップＳ５０の処理に移行する。
【００５９】
（Ｂ−４）アドレス変更情報受信処理
次に、実施形態のアドレス変更情報受信処理について、図５（ｂ）を参照して説明する。図５（ｂ）はアドレス変更情報受信処理を示すフローチャートである。図５（ｂ）に示すアドレス変更情報受信処理は、サポータノードにおける後述するアドレス変更情報送信処理により送信されてきたアドレス変更情報をノードにおいて受信する処理である。図５（ｂ）に示すように、ノードの制御部１は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する（ステップＳ５５）。ステップＳ５５の判定において電源スイッチがオフとされている場合（ステップＳ５５；ＹＥＳ）、制御部１は実施形態のアドレス変更情報受信処理を終了する。ステップＳ５５の判定において電源スイッチがオフとされていない場合（ステップＳ５５；ＮＯ）、次に制御部１は、実施形態のサポータノードのいずれかからアドレス変更情報を受信したか否かを判定する（ステップＳ５６）。このアドレス変更情報には、ＩＰアドレスが変更された複数のノードについて、各ノードのノードＩＤと変更前のＩＰアドレスと変更後の現在のＩＰアドレスが纏めて含まれている。ステップＳ５６の判定においてアドレス変更情報を受信していない場合（ステップＳ５６；ＮＯ）、制御部１はステップＳ５５の処理に移行する。ステップＳ５６の判定においてアドレス変更情報を受信した場合（ステップＳ５６；ＹＥＳ）、制御部１は、受信したアドレス変更情報に含まれている全てのノードＩＤについて、以下のステップＳ５８およびＳ５９の処理を繰り返す（ステップＳ５７、Ｓ５８、Ｓ５９及びＳ５７Ｒ）。具体的に制御部１は、先ず受信したアドレス変更情報の中からノードＩＤを一つ抽出する。次に制御部１は、抽出されたノードＩＤに対応する変更前のＩＰアドレスに対応するソケットを、ソケットテーブルから削除する（ステップＳ５８）。次に制御部１は、記憶部２に記憶されているルーティングテーブルに記述されているノード情報のうち、抽出されたノードＩＤが含まれているノード情報のＩＰアドレスを、変更後のＩＰアドレスに変更する（ステップＳ５９）。以上のステップＳ５７、Ｓ５８、Ｓ５９およびＳ５７Ｒの処理が、アドレス変更情報に含まれている全てのノードＩＤに対して繰り返される。その後制御部１はステップＳ５５の処理に移行する。
【００６０】
（Ｂ−５）サポータノードとしての処理
最後に、実施形態のサポータノードとしての処理について、図５（ｃ）を参照して説明する。図５（ｃ）はサポータノードとしての処理を示すフローチャートである。図５（ｃ）に示すサポータノードとしての処理は、アドレス変更情報を生成して他のノードに送信する処理である。図５（ｃ）に示すように、サポータノードの制御部１は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する（ステップＳ６０）。ステップＳ６０の判定において電源スイッチがオフとされている場合（ステップＳ６０；ＹＥＳ）、制御部１は実施形態のサポータノードとしての処理を終了する。ステップＳ６０の判定において電源スイッチがオフとされていない場合（ステップＳ６０；ＮＯ）、次に制御部１は、他のノードのいずれかからアドレス変更メッセージを受信したか否かを判定する（ステップＳ６１）。このアドレス変更メッセージは、図４（ｂ）に示すステップＳ４７の処理により送信されたアドレス変更メッセージである。ステップＳ６１の判定においてアドレス変更メッセージを受信していない場合（ステップＳ６１；ＮＯ）、制御部１はステップＳ６０の処理に移行する。ステップＳ６１の判定においてアドレス変更メッセージを受信した場合（ステップＳ６１；ＹＥＳ）、制御部１は、受信したアドレス変更メッセージに含まれている情報をアドレス変更情報に追加する（ステップＳ６２）。具体的に制御部１は、受信したアドレス変更メッセージに含まれているノードＩＤと変更前のＩＰアドレスと変更後の現在のＩＰアドレスをアドレス変更情報に追加する。このアドレス変更情報はサポータノードの記憶部２に記憶される。次に制御部１は、アドレス変更情報の前回の送信時刻から予め設定された規定時間が経過したか、またはアドレス変更情報として予め設定された規定数のノードについてのＩＰアドレス等がアドレス変更情報に含まれているか、を判定する（ステップＳ６３）。ステップＳ６３の判定において規定時間の条件および規定数の条件が共に満たされない場合（ステップＳ６３；ＮＯ）、制御部１はステップＳ６０の処理に移行する。ステップＳ６３の判定において、規定時間の条件または規定数の条件のいずれかが満たされない場合（ステップＳ６３；ＹＥＳ）、制御部１は、その時点で記憶部２に記憶されているアドレス変更情報を、マルチキャスト方式により他のノードに送信する（ステップＳ６４）。すなわち制御部１は、アドレス変更情報を他のノードに一括して通知する。このマルチキャスト方式による送信については、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。その後制御部１は、ステップＳ６４の処理によるアドレス変更情報の送信時刻を記憶部２に記憶させる（ステップＳ６５）。その後制御部１はステップＳ６０の処理に移行する。
【００６１】
以上説明したように、実施形態の配信システムＳの処理によれば、図３に示すように、ユーザノードから送信される所在問合せメッセージに含まれているコンテンツＩＤに対応付けられているノードＩＤにより、ユーザノードにコンテンツを取得させる。ノードＩＤは、変更される頻度がＩＰアドレスよりも少ないので、保持ノードのＩＰアドレスが頻繁に変わる場合でも、オーバーレイネットワークＯＮ内のメッセージ量を増大させることなくコンテンツを取得させることができる。
【００６２】
また、図３（ａ）ステップＳ６、Ｓ７および図３（ｃ）ステップＳ２５に示すように、保持ノードのＩＰアドレスをユーザノードに送信してコンテンツを取得させる。ユーザノードに必要なコンテンツを確実に取得させることができる。
【００６３】
さらに、図４（ｂ）ステップＳ４４、Ｓ４６およびＳ４７に示すように、接続可能なノードに変更後のＩＰアドレスを示すアドレス変更メッセージを送信する。変更後のＩＰアドレスを含むアドレス変更メッセージの送信範囲を必要最小限として、オーバーレイネットワークＯＮ内のメッセージ量を抑制することができる。
【００６４】
また、図５（ｃ）ステップＳ６３およびＳ６４に示すように、予め設定された条件に基づいて変更後のＩＰアドレスを一括して含むアドレス変更情報をサポータノードからマルチキャスト方式により送信する。ＩＰアドレスが変更される度に他のノードに通知する場合に比してオーバーレイネットワークＯＮ内のメッセージ量を抑制することができる。
【００６５】
さらに、パブリッシュメッセージに含まれているノード種別情報に基づいて、パブリッシュメッセージを送信した保持ノードが固定ノードであるか移動ノードであるかを判定する。ノード種別情報に基づいて確実に保持ノードの種別を判定してコンテンツの取得方法を変更することができる。
【００６６】
なお、上述した実施形態においては、保持ノードが固定ノードか移動ノードかに拘わらず、所在応答メッセージには保持ノードのノードＩＤを含ませるようにした。これに代えて、ルートノードの制御部１が、保持ノードが移動ノードである場合には所在応答メッセージにノードＩＤを含ませ、保持ノードが固定ノードである場合にはＩＰアドレスを含ませて送信するように構成することもできる。そしてユーザノードの制御部１は、保持ノードが固定ノードである場合には、受信した所在応答メッセージに含まれていたＩＰアドレスを用いて保持ノードからコンテンツを取得する。この場合には、保持ノードが固定ノードである場合に、ユーザノードにおいてＩＰアドレスによりその保持ノードが検索可能となる。また、固定ノードである保持ノードのノードＩＤによる検索は行われないので、オーバーレイネットワーク内のメッセージ量をより抑制することができる。
【００６７】
さらに、上記実施形態および各変形形態においては、配信システムＳに、ＤＨＴを利用したオーバーレイネットワークＯＮが適用されていたが、これに限られるものではない。例えば、他のＰ２Ｐ（Pear to Pear）型のネットワーク、またはＤＨＴを利用しないオーバーレイネットワークを用いた配信システムが適用されてもよい。ＤＨＴを利用しないオーバーレイネットワークとしては、例えば、ハイブリッド型のオーバーレイネットワークがある。
【符号の説明】
【００６８】
１    制御部
２    記憶部
３    通信部
４    バッファメモリ
５    バス
Ｓ    配信システム
Ｒ１、Ｒ２、Ｒ３、Ｒｔ    ルータ
ＵＴ１、ＵＴ２、ＵＴ３、ＵＴ４、ＵＴ５、ＵＴｐ    ユーザ端末
Ｍ１、Ｍ２、Ｍ３、Ｍｗ    移動端末
ＮＷ    ネットワーク
ＡＰ１、ＡＰ２、ＡＰ３、ＡＰｗ    アクセスポイント
ＮＬ１、ＮＬ２、ＮＬ３、ＮＬｔ    拠点ネットワーク
Ｔ１−１、Ｔ１−２、Ｔ１−３    端末
ＯＮ    オーバーレイネットワーク
Ｎ１、Ｎ２、Ｎ３、Ｎ４、Ｎ５、Ｎ６、Ｎ７、Ｎ８、Ｎ９、Ｎ１０、Ｎ１１、Ｎｋ    ノード
ＴＢ    送信元テーブル
ＰＡ    組
【図１】
0005387596.tif 000002
【図２】
0005387596.tif 000003
【図３】
0005387596.tif 000004
【図４】
0005387596.tif 000005
【図５】
0005387596.tif 000006