説明

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

【課題】コンテンツを保存している移動ノードのIPアドレスが変更されても、オーバーレイネットワーク内のメッセージ量を増大させることなくコンテンツを取得させることが可能な配信システムを提供する。
【解決手段】ネットワークを介して通信可能な複数のノードNnにより構成されるオーバーレイネットワークにより、コンテンツがノードNnに分散して保存される配信システムSであって、各ノードNnにはノードIDが割当てられ、ノードNnとして、コンテンツを要求するユーザノードと、コンテンツを保存する保持ノードと、を含む配信システムSにおいて、コンテンツIDに対応付けられているノードIDを受信し、受信されたノードIDと、保持ノードのノードIDとが一致するかを判定し、両者が一致すると判定された場合、保持ノードに保存されているコンテンツをユーザノードに取得させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに接続された複数のノード装置により形成されるオーバーレイネットワークを利用する情報通信システムの技術分野に関する。なお以下の説明では、「ノード装置」を適宜「ノード」と称する。
【背景技術】
【0002】
近年、ネットワークに接続された複数のノードにより形成されるオーバーレイネットワークを介して、映画や動画等のコンテンツを配信する技術が開発されている。オーバーレイネットワークでは、オーバーレイネットワーク内に存在するノードそれぞれにコンテンツが分散保存される。そして各ノードは、ノード間でコンテンツを共有しつつ、互いに送受信する。オーバーレイネットワークについては、例えば下記特許文献1に開示されている。
【0003】
オーバーレイネットワーク内に存在するノードには、例えばデスクトップ型のパーソナルコンピュータのように通常は一カ所に固定されているノードがある。このようなノードを、以下固定ノードと称する。またオーバーレイネットワーク内には、固定ノードの他、例えばユーザに携帯されて移動される携帯電話やノート型のパーソナルコンピュータのようなノードも含まれる。このようなノードを、以下移動ノードと称する。移動ノードにおいては、移動に伴った接続先の変更により、そのIP(Internet Protocol)アドレスが変更される。コンテンツを保存している移動ノードのIPアドレスが変更されると、オーバーレイネットワークにおいて他のノードからその移動ノードのコンテンツを検索して取得することができなくなる。この問題点を解決するための技術として、例えば下記特許文献1に開示されている技術がある。特許文献1には、移動ノードのIPアドレスが変更された場合、変更後のIPアドレスをオーバーレイネットワーク内に存在する他のノードの全てに通知するための技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−028551号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら特許文献1に記載の技術では、変更後のIPアドレスをオーバーレイネットワーク内に存在する他のノードの全てに通知するので、オーバーレイネットワーク内のメッセージ量が増大してネットワークを占有してしまうという問題点がある。一方、近年のように移動ノードの数が増えたり、ノードの移動範囲が拡がっている状況では、IPアドレスの変更も頻繁に行われることになり、メッセージ量は増大してしまう。
【0006】
そこで本発明は、上記の問題点に鑑みて為されたもので、その目的の一例は、コンテンツを保存している移動ノードのIPアドレスが変更されても、オーバーレイネットワーク内のメッセージ量を増大させることなくコンテンツを取得させることが可能な情報通信システムおよび情報通信システムに含まれる情報処理装置、情報通信方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、請求項1に記載の発明は、ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第1情報処理装置と、前記コンテンツを保存する第2情報処理装置と、を含む前記情報通信システムであり、前記情報通信システムは、前記第1情報処理装置から送信される検索メッセージであって、前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、前記第1情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを受信する通信部等の第1受信手段と、前記第2情報処理装置の前記装置識別情報と、前記第2情報処理装置に保存されている前記コンテンツの前記コンテンツ識別情報と、を対応付けて記憶する記憶部等の記憶手段と、前記第1受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応付けられて前記記憶手段に記憶されている前記装置識別情報を、前記第1情報処理装置または前記第2情報処理装置に送信する通信部等の送信手段と、を備える第3情報処理装置を備え、前記第2情報処理装置は、前記装置識別情報を前記第3情報処理装置から受信する通信部等の第2受信手段と、前記第2受信手段により受信された装置識別情報と、前記第2情報処理装置の前記装置識別情報とが一致するかを判定する制御部等の判定手段と、前記判定手段により一致すると判定された場合、前記第2情報処理装置に保存されている前記コンテンツを、前記第1情報処理装置に取得させる制御部等の制御手段と、を備える。
【0008】
請求項2に記載の発明は、請求項1に記載の情報通信システムにおいて、前記判定手段により一致すると判定された場合、前記制御手段は、前記第2情報処理装置の前記ネットワークにおける所在を示す所在情報を前記第1情報処理装置に送信し、前記第1情報処理装置は、前記制御手段により送信された前記所在情報を用いて前記コンテンツを取得する制御部等の取得手段を備えるように構成される。
【0009】
請求項3に記載の発明は、請求項1または請求項2に記載の情報通信システムにおいて、前記情報処理装置は、前記ネットワークを介して接続可能な前記情報処理装置の前記ネットワーク上の所在を示す所在情報を記憶する記憶部等の所在情報記憶手段と、前記情報処理装置の前記所在を示す前記所在情報が変更されかを判定する制御部等の第2判定手段と、前記第2判定手段により前記所在情報が変更されたと判定された場合、変更後の前記所在情報を、前記所在情報記憶手段に記憶されている前記所在情報により前記所在が示されている前記情報処理装置に通知する制御部等の通知手段と、を備える。
【0010】
請求項4に記載の発明は、請求項1から請求項3のいずれか一項に記載の情報通信システムにおいて、前記情報処理装置は、前記ネットワーク上の所在を示す所在情報が変更された前記情報処理装置から変更後の前記所在情報を受信する通信部等の第3受信手段と、前記第3受信手段により受信された前記所在情報を、予め設定された条件に基づき、前記複数の情報処理装置の少なくともいずれかに一括して通知する制御部等の第2通知手段と、を備える。
【0011】
請求項5に記載の発明は、請求項1から請求項4のいずれか一項に記載の情報通信システムにおいて、前記第2情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、前記第3情報処理装置は、前記コンテンツを保存したことを示す公開メッセージを前記第2情報処理装置から受信する通信部等の第4受信手段と、前記第4受信手段により受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第2情報処理装置が前記固定端末であるか前記移動端末であるかを判定する制御部等の第3判定手段と、前記第3判定手段により前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、前記第3判定手段により前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる制御部等の記憶制御手段と、を備え、前記送信手段は、前記識別されている固定端末の前記所在情報を前記第1情報処理装置に送信するように構成される。
【0012】
請求項6に記載の発明は、請求項5に記載の情報通信システムにおいて、前記公開メッセージには、前記公開メッセージを送信した前記第2情報処理装置が前記固定端末であるか前記移動端末であるかを示す第2識別情報が含まれており、前記第3判定手段は、前記第4受信手段により受信された前記公開メッセージに含まれている前記第2識別情報に基づいて、前記公開メッセージを送信した前記第2情報処理装置が前記固定端末であるか前記移動端末であるかを判定するように構成される。
【0013】
上記の課題を解決するために、請求項7に記載の発明は、ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第1情報処理装置と、前記コンテンツを保存する第2情報処理装置と、を含む前記情報通信システムであり、前記情報通信システムは、前記第2情報処理装置の前記装置識別情報と、前記第2情報処理装置に保存されている前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、を対応付けて記憶する記憶部等の記憶手段と、前記コンテンツ識別情報と、前記第1情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを、前記第1情報処理装置から受信する通信部等の第1受信手段と、前記記憶手段に記憶された前記装置識別情報の中から、前記第1受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応する前記装置識別情報を、前記第1情報処理装置または前記第2情報処理装置に送信する通信部等の送信手段と、を備える第3情報処理装置を備える情報通信システムであり、前記第2情報処理装置が、前記装置識別情報を前記第3情報処理装置から受信する通信部等の第2受信手段と、前記第2受信手段により受信された装置識別情報と、前記第2情報処理装置の前記装置識別情報とが一致するかを判定する制御部等の判定手段と、前記判定手段により一致すると判定された場合、前記第2情報処理装置に保存されている前記コンテンツを、前記第1情報処理装置に取得させる制御部等の制御手段と、を備える。
【0014】
上記の課題を解決するために、請求項8に記載の発明は、ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークによりコンテンツが前記複数の情報処理装置に分散して保存され、前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、さらに前記複数の情報処理装置として、前記コンテンツを要求する第1情報処理装置と、前記コンテンツを保存する第2情報処理装置と、を含む情報通信システムであって、前記第2情報処理装置の前記装置識別情報と、前記第2情報処理装置に保存されている前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、を対応付けて記憶する記憶部等の記憶手段と、前記コンテンツ識別情報と、前記第1情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを、前記第1情報処理装置から受信する通信部等の第1受信手段と、前記記憶手段に記憶された前記装置識別情報の中から、前記第1受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応する前記装置識別情報を、前記第1情報処理装置または前記第2情報処理装置に送信する通信部等の送信手段と、を備える第3情報処理装置を備える情報通信システムに含まれる前記第2情報処理装置のコンピュータに、前記装置識別情報を前記第3情報処理装置から受信するステップと、前記受信された装置識別情報と、前記第2情報処理装置の前記装置識別情報とが一致するかを判定するステップと、前記一致すると判定された場合、前記第2情報処理装置に保存されている前記コンテンツを、前記第1情報処理装置に取得させるステップと、を実行させる。
【0015】
上記の課題を解決するために、請求項9に記載の発明は、ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムにおいて実行される情報通信方法であって、前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第1情報処理装置と、前記コンテンツを保存する第2情報処理装置と、を含む前記情報通信システムであり、前記第2情報処理装置の前記装置識別情報と、前記第2情報処理装置に保存されている前記コンテンツの前記コンテンツ識別情報と、を対応付けて記憶する記憶部等の記憶手段を備える第3情報処理装置において、前記第1情報処理装置から送信される検索メッセージであって、前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、前記第1情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを受信する第1受信工程と、前記第3情報処理装置において、前記受信された検索メッセージに含まれている前記コンテンツ識別情報に対応付けられて前記記憶手段に記憶されている前記装置識別情報を、前記第1情報処理装置または前記第2情報処理装置に送信する送信工程と、前記第2情報処理装置において、前記装置識別情報を前記第3情報処理装置から受信する第2受信工程と、前記第2情報処理装置において、前記受信された装置識別情報と、前記第2情報処理装置の前記装置識別情報とが一致するかを判定する判定工程と、前記第2情報処理装置において、前記一致すると判定された場合、前記第2情報処理装置に保存されている前記コンテンツを、前記第1情報処理装置に取得させる制御工程と、を含む。
【発明の効果】
【0016】
請求項1または請求項7から請求項9のいずれか一項に記載の発明によれば、第1情報処理装置から送信される検索メッセージに含まれているコンテンツ識別情報に対応付けられている装置識別情報により、第1情報処理装置にコンテンツを取得させる。第2情報処理装置のネットワークにおける所在を示す所在情報が頻繁に変わる場合でも、オーバーレイネットワーク内のメッセージ量を増大させることなくコンテンツを取得させることができる。
【0017】
請求項2に記載の発明によれば、第2情報処理装置の所在を示す所在情報を第1情報処理装置に送信してコンテンツを取得させるので、第1情報処理装置に必要なコンテンツを確実に取得させることができる。
【0018】
請求項3に記載の発明によれば、接続可能な情報処理装置に変更後の所在情報を通知するので、変更後の所在情報を通知する範囲を必要最小限として、オーバーレイネットワーク内のメッセージ量を抑制することができる。
【0019】
請求項4に記載の発明によれば、予め設定された条件に基づいて変更後のアドレス情報を一括して通知するので、所在情報が変更される度に通知する場合に比してオーバーレイネットワーク内のメッセージ量を抑制することができる。
【0020】
請求項5に記載の発明によれば、第2情報処理装置が固定端末である場合に、第1情報処理装置において所在情報によりその固定端末が検索可能となり、また、装置識別情報による固定端末の検索は行われないので、いずれの場合も、オーバーレイネットワーク内のメッセージ量をより抑制することができる。
【0021】
請求項6に記載の発明によれば、公開メッセージに含まれている第2識別情報に基づいて、公開メッセージを送信した第2情報処理装置が固定端末であるか移動端末であるかを判定するので、第2識別情報に基づいて確実に第2情報処理装置の種別を判定することができる。
【図面の簡単な説明】
【0022】
【図1】実施形態における配信システムの概要構成を示す図である。
【図2】実施形態のノードの概要構成等を示す図である。(a)は実施形態のルータ等の概要構成を示すブロック図である。(b)は実施形態の送信元テーブルを例示する図である。
【図3】実施形態の各ノードにおける処理を示すフローチャート(I)である。(a)は実施形態のユーザノードとしての処理を示すフローチャートである。(b)は実施形態のルートノードとしての処理を示すフローチャートである。(c)は実施形態の保持ノードとしての処理を示すフローチャートである。
【図4】実施形態の各ノードにおける処理を示すフローチャート(II)である。(a)は実施形態の送信元テーブル更新処理を示すフローチャートである。(b)は実施形態のアドレス変更メッセージ送信処理を示すフローチャートである。
【図5】実施形態の各ノードにおける処理を示すフローチャート(III)である。(a)は実施形態のアドレス変更メッセージ受信処理を示すフローチャートである。(b)は実施形態のアドレス変更情報受信処理を示すフローチャートである。(c)は実施形態のサポータノードとしての処理を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツを配信する配信システムに本発明を適用した場合の実施形態である。
【0024】
(1)配信システムの構成
初めに図1を参照して、実施形態における配信システムの構成について説明する。図1は、実施形態における配信システムの概要構成を示す図である。実施形態の配信システムは本発明における「情報通信システム」の一例に相当する。
【0025】
図1に示すように実施形態における配信システムSは、ルータRm(mは1からtまでの自然数。以下、同様。)、ユーザ端末UTv(vは1からpまでの自然数)および移動端末Mq(qは1からwまでの自然数。以下、同様)等を備えて構成されている。ルータRmはインターネット等からなるネットワークNWに接続されている。ルータRmは、例えばルータ機能を有するファイアーウォール、ブロードバンドルータ等である。またネットワークNWは、例えばWAN(Wide Area Network)等である。ネットワークNWは、例えば、IX(Internet eXchange)、ISP(Internet Service Provider)、DSL(Digital Subscriber Line)回線事業者装置、FTTH(Fiber To The Home)回線事業者装置および通信回線等によって構築されている。なおネットワークNWは配信システムS専用のネットワークであってもよい。ユーザ端末UTvは、例えばユーザの家庭等の所定の場所に設置されて使用される、例えばデスクトップ型のパーソナルコンピュータである。ユーザ端末UTvは、例えば図示しないインターネットサービスプロバイタのサーバにより割り当てられたIPアドレスを用いてネットワークNWに接続可能になっている。ルータRmおよびユーザ端末UTvは、それぞれ本発明における「固定端末」の一例に相当する。移動端末Mqは、例えばユーザに携帯される可搬型のパーソナルコンピュータや携帯電話等の情報端末である。移動端末Mqは、例えばファーストフード店等の所定の場所に設置されているアクセスポイントAPq等に、無線により接続される。この場合の移動端末MqとアクセスポイントAPqとは、例えば無線LAN(Local Area Network)等のネットワークにより接続される。一方各アクセスポイントAPq等は、ネットワークNWに、例えば、有線により接続されている。移動端末Mqは、アクセスポイントAPq等を介してネットワークNWに接続可能になっている。移動端末Mqは、ユーザ端末UTvと同様に上記インターネットサービスプロバイタのサーバにより割り当てられたIPアドレスを用いて、ネットワークNWに接続可能になっている。なお移動端末Mqは、アクセスポイントAPqを介することなく直接ネットワークNWに接続されてもよい。この場合の移動端末Mqも、その移動端末Mqに一意のIPアドレスを用いてネットワークNWに接続される。
【0026】
また図1に示すように各ルータRmには、ルータRm毎の拠点ネットワークNLmがそれぞれ接続されている。拠点ネットワークNLmも、例えばLAN等のネットワークである。各ルータRmは、拠点ネットワークNLmを介して一又は複数の端末Tm−s(sは自然数。以下、同様。)と接続されている。ルータRmは、ネットワークNWと拠点ネットワークNLmと間でIPパケットを中継する中継機器である。端末Tm−sは、ルータRmから配信された例えばコンテンツを再生することができる。なお図1では、一部の端末Tm−sの図示を省略している。
【0027】
ここで、図1に例示するルータRmおよびユーザ端末UTvでは、ルータRmおよびユーザ端末UTvらに割り当てられているIPアドレスが変更される場合がある。例えばIPv4(Internet Protocol version 4)の場合、一般にDHCP(Dynamic Host Configuration Protocol)サーバによりIPアドレスが割り当てられる。このとき、割り当てられたIPアドレスにリース期間が設定されていると、そのリース期間後にIPアドレスが変わることがある。また、IPv6(Internet Protocol version 6)の場合、DHCPサーバがなくても自動的にIPアドレスが割り当てられる。この場合にも、同じIPアドレスの使用を続けるとセキュリティ上の問題があるため、定期的にそのIPアドレスが変更される場合がある。一方移動端末MqのIPアドレスは、例えばその移動端末Mqが接続されているアクセスポイントAPqにより割り当てられる。よって、ルータRmおよびユーザ端末UTvにおいてIPアドレスが変更される場合に加えて、移動端末Mqが異なるアクセスポイントAPq間を移動する場合にも、移動の前後で移動端末Mqに割り当てられるIPアドレスが変更される。このように移動端末Mqの場合は、ルータRmおよびユーザ端末UTvに比べて、移動端末Mqに割り当てられているIPアドレスが変更される頻度が多い。なお移動端末Mqは本発明における「移動端末」の一例に相当する。
【0028】
(2)オーバーレイネットワークの構成および動作概要
次に図1を参照して、実施形態のオーバーレイネットワークの構成および動作概要について説明する。配信システムSにおいては、コンテンツを配信するためのオーバーレイネットワークONがネットワークNW上に構築されている。オーバーレイネットワークONは仮想的なリンクを構成する論理的なネットワークである。図1に一点鎖線で例示されるようにオーバーレイネットワークONは、配信システムSを構成するルータRm、ユーザ端末UTvおよび移動端末Mqの参加により形成される。なお以下の説明において、ルータRm、ユーザ端末UTvおよび移動端末Mqを纏めて適宜「ノードNn(nは1からkまでの自然数。以下、同様)」と称する。ノードNnは本発明における「情報処理装置」の一例に相当する。以下の説明では、ルータRmおよびユーザ端末UTvは固定ノードである。また移動端末Mqは移動ノードである。オーバーレイネットワークONは、特定のアルゴリズム、例えば分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下「DHT(Distributed Hash Table)」という。以下、ノードNnを、単に「ノード」と称する。DHTを用いたルーティングテーブルには、オーバーレイネットワークONに参加している全ノードのうち、所定数のノードのノードID、IPアドレスおよびポート番号が記述されている。ここでノードIDは、ノードをオーバーレイネットワークONに参加している複数のノードの中から識別する固有の識別情報である。ノードIDは本発明における「装置識別情報」の一例に相当する。またIPアドレスは、ノードのネットワークNW上での所在を示す所在情報である。IPアドレスは本発明における「所在情報」の一例に相当する。またノードのノードID、IPアドレスおよびポート番号を、以下、そのノードについての「ノード情報」と称する。また「オーバーレイネットワークONに参加する」とは、DHTを用いたルーティングテーブルに基づいて他のノードとの間で各種メッセージを送受信できる状態に稼動することをいう。オーバーレイネットワークONへの参加により各ノードは、他のノードとの間でオーバーレイネットワークONを介してメッセージを送受信することが可能となる。ここで、「オーバーレイネットワークONを介したメッセージの送受信」とは、オーバーレイネットワークONに参加しているノードNn間のメッセージの送受信を意味する。なおDHTを用いたルーティングテーブルは、例えば特開2006−197400号公報等で公知であるので、詳しい説明を省略する。またオーバーレイネットワークONに参加するノードとしては、ルータRm、ユーザ端末UToおよび移動端末Mqの他、例えば、プロキシサーバ、ロードバランサ、ウェブアクセラレータ等の、情報を中継する機能を有するネットワーク機器を用いることもできる。さらにノードとして、例えばキャッシュサーバ、エッジサーバ等のサーバを用いてもよい。なお以下の説明において、ルータRm、ユーザ端末UToおよび移動端末Mqを纏めて呼称する場合には、「ルータRm等」と称する。
【0029】
また、実施形態においては、ルータRmは、固定ノードとしてオーバーレイネットワークONに定常的に参加する。ここで、「定常的に参加」とは、例えば、ルータRmが故障時またはメンテナンス時以外の時には、オーバーレイネットワークONから離脱せず参加していることを意味する。一方、ユーザ端末UTvおよび移動端末Mqは、オーバーレイネットワークONに必ずしも定常的に参加するとは限らないノードである。ユーザ端末UTvまたは移動端末Mqは、ユーザがそのユーザ端末UTvまたは移動端末Mqを使用する時等の所定時間だけ、オーバーレイネットワークONに参加する。そのためユーザ端末UTvまたは移動端末MqはオーバーレイネットワークONから参加と離脱を繰り返す。つまりユーザ端末UTvまたは移動端末Mqは、任意のタイミングでオーバーレイネットワークONに参加または離脱する。ユーザ端末UTvでは、オーバーレイネットワークONへの参加の度にIPアドレスが変更される場合がある。移動端末Mqでは、ユーザ端末UTvの場合に加えて、アクセスポイントAPqが変更される度に、上述したようにIPアドレスが変更される場合がある。実施形態では、ルータRm、ユーザ端末UTvまたは移動端末Mqに、ノードとして制御処理を実行させるプログラムがインストールされる。なおルータRm等以外にも、例えば各家庭で常時ネットワークNWに接続される機器に、ノードとして制御処理を実行させるプログラムがインストールされてもよい。
【0030】
また、オーバーレイネットワークONに参加している複数のノードには、内容の異なる様々なコンテンツが分散保存されている。ノードに保存されているコンテンツには、コンテンツIDがそれぞれ付与されている。コンテンツIDは、オーバーレイネットワークONでノードに保存される複数のコンテンツの中からコンテンツを識別する固有の識別情報である。コンテンツIDは本発明における「コンテンツ識別情報」の一例に相当する。ノードIDおよびコンテンツIDは、例えばオーバーレイネットワークONで共通のハッシュ関数により生成される。
【0031】
ここで、コンテンツを保存しているノードを、以下「保持ノード」という。保持ノードは本発明における「第2情報処理装置」の一例に相当する。実施形態の場合、ルータRm、ユーザ端末UTvまたは移動端末Mqのいずれもが保持ノードになり得る。またコンテンツの所在を示す情報は、インデックス情報として、コンテンツの所在を管理しているノードに記憶される。コンテンツの所在を管理しているノードを、以下「ルートノード」という。ルートノードは本発明における「第3情報処理装置」の一例に相当する。実施形態のインデックス情報には、コンテンツを保存している保持ノードのノードIDと、コンテンツのコンテンツIDとの組が含まれる。すなわちルートノードには、保持ノードのノードIDと、コンテンツのコンテンツIDが対応付けられて記憶されている。この点は、例えば上記特開2006−197400号公報に記載されている従来のインデックス情報とは異なっている。ルートノードは、例えばコンテンツIDと最も近いノードIDが割り当てられたノードであるように定められる。コンテンツIDと最も近いノードIDとは、例えばIDの上位桁が最も多く一致するノードIDである。
【0032】
そして、あるノードがオーバーレイネットワークONを介して保持ノードから所定のコンテンツを取得する場合がある。この場合の例としては、例えば端末T1−1から所定のコンテンツの要求を受けたノードN1が、このコンテンツを保存していなかった場合が挙げられる。図1に示す例では、ノードN1はルータR1である。この場合ノードN1は、先ずオーバーレイネットワークONで保持ノードに保存されている所定のコンテンツの所在を検索する検索処理を行う。ここで所定のコンテンツとは、例えば端末T1−1のユーザにより取得対象として選択されたコンテンツである。この所定のコンテンツを、以下「取得対象のコンテンツ」という。また検索処理を行うノードN1を、以下「ユーザノード」という。ユーザノードは本発明における「第1情報処理装置」の一例に相当する。実施形態の場合、ユーザノードは、ルータRmの他、ユーザ端末UTvまたは移動端末Mqであってもよい。ユーザ端末UTvまたは移動端末Mqがユーザノードである場合、そのユーザノードにおいて、そのユーザノードのユーザにより取得対象のコンテンツが選択されている。具体的にユーザノードは、検索処理において、DHTルーティングによりコンテンツの所在問合せメッセージをルートノード宛に送信する。この所在問合せメッセージは、取得対象のコンテンツの所在をルートノードに問い合わせるためのメッセージである。所在問合せメッセージには、取得対象のコンテンツのコンテンツID等が含まれる。なおDHTルーティングは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。
【0033】
所在問合せメッセージを受信したルートノードは、所在問合せメッセージに含まれるコンテンツIDに対応するインデックス情報を記憶部から取得する。そしてルートノードは、コンテンツの所在応答メッセージをユーザノードへ返信する。この所在応答メッセージは、取得対象のコンテンツの保持ノードをユーザノードに応答するためのメッセージである。所在応答メッセージには、取得されたインデックス情報等が含まれる。ユーザノードは、所在応答メッセージを受信すると、このメッセージからインデックス情報を抽出する。ユーザノードは、抽出したインデックス情報に含まれるノードIDに基づいて、保持ノード検索メッセージをDHTルーティングによりその保持ノード宛に送信する。この保持ノード検索メッセージは、インデックス情報に含まれるノードIDの保持ノードをオーバーレイネットワークONにおいて検索するためのメッセージである。保持ノード検索メッセージには、検索対象である保持ノードのノードID等が含まれている。保持ノード検索メッセージは、保持ノードのノードIDに基づいたDHTルーティングによりノード間を転送され、検索対象である保持ノードに受信される。保持ノードは、受信した保持ノード検索メッセージに含まれているノードIDとその保持ノードのノードIDとが一致した場合に、保持ノード検索メッセージを送信したユーザノードに対して、その保持ノードのIPアドレス等を送信する。ユーザノードは、受信したIPアドレス等を用いて取得対象のコンテンツを取得する。
【0034】
ユーザノードは、取得したコンテンツを記憶部に記憶すると、新たな保持ノードとしてパブリッシュ処理を行う。パブリッシュ処理は、コンテンツを保存していることを他のノードに公開するための処理である。このパブリッシュ処理において保持ノードとなったユーザノードは、パブリッシュメッセージを、DHTルーティングによりルートノード宛に送信する。パブリッシュメッセージには、保存したコンテンツのコンテンツIDおよび保持ノードのノード情報等が含まれる。パブリッシュメッセージを受信したルートノードは、パブリッシュメッセージに含まれるコンテンツのコンテンツIDと保持ノードのノードIDとの組を、新たなインデックス情報として記憶する。
【0035】
なお、DHTルーティングによるパブリッシュメッセージの送信において保持ノードは、パブリッシュメッセージの送信先のIPアドレスを、DHTを用いたルーティングテーブルから取得する。保持ノードから送信されたパブリッシュメッセージは、図示しない転送ノードにより転送されてルートノードに到達する場合がある。転送ノードには、ルートノードと同様にパブリッシュメッセージに含まれるコンテンツIDと保持ノードのノードIDとの組が記憶される。転送ノードは、ユーザノードからルートノード宛に送信された所在問合せメッセージを受信する場合がある。この場合転送ノードは、取得対象のコンテンツに対応するインデックス情報を含む所在応答メッセージをユーザノードへ送信することができる。
【0036】
また、実施形態のノードにはサポータノードが含まれる。ここで「サポータノード」とは、例えば、ルータRmのように配信システムSに定常的に参加しているノードや、配信システムSにノードが参加する際に最初に接続すべきコンタクトノードである。
【0037】
(3)ルータ等の構成および機能
次に図2を参照して、実施形態のルータRm等の構成および機能について説明する。
【0038】
まず図2(a)を参照して、ルータRmの構成および機能について説明する。図2(a)はルータRmの概要構成を示すブロック図である。図2(a)に示すようにルータRmは、制御部1、記憶部2、通信部3およびバッファメモリ4等を備えて構成される。制御部1、記憶部2、通信部3およびバッファメモリ4はバス5を介して相互に接続されている。なお各ルータRmには、IPアドレスが割り当てられている。
【0039】
記憶部2は、例えばハードディスクドライブ等から構成される。記憶部2には、オペレーティングシステムおよびノード処理プログラム等が記憶されている。なおノード処理プログラム等は、例えばネットワークNWに接続された所定のサーバからダウンロードされるようにしてもよい。あるいはノード処理プログラム等は、例えば記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
【0040】
またオーバーレイネットワークONに参加したルータRmの記憶部2には、DHTを用いたルーティングテーブルおよび実施形態のインデックス情報が記憶される。このインデックス情報には、コンテンツの保持ノードのノードIDとそのコンテンツのコンテンツIDとの組が含まれている。また、記憶部2に設けられたコンテンツ保存領域にはコンテンツが記憶される。コンテンツ保存領域は、コンテンツを保存するための保存領域である。更に記憶部2には、実施形態の送信元テーブルTBが記憶されている。送信元テーブルTBについては、後ほど図2(b)を参照して詳説する。
【0041】
通信部3は、ネットワークNWを通じてユーザ端末UTvおよび移動端末Mqとの間の通信制御を行う。この場合の移動端末Mqとの間の通信は、その移動端末Mqが現在接続されているアクセスポイントAPqを介して行われる。また通信部3は、拠点ネットワークNLmを通じて端末Tm−sとの間の通信制御を行う。バッファメモリ4は、受信されたコンテンツをバッファリングする。
【0042】
制御部1は、演算機能を有するCPU(Central Processing Unit)、作業用RAM(Random Access Memory)およびROM(Read Only Memory)等から構成される。ルータRmの制御部1は、CPUが記憶部2等に記憶されたノード処理プログラムを実行することによりノードとして動作する。なお制御部1は他のルータRm等からのIPパケットを中継する機能を有する。IPパケットを中継する機能は、公知のルータまたはL3スイッチングハブ等と同様であるので、詳しい説明を省略する。更に制御部1は、拠点ネットワークNLmを介して接続される端末Tm−sから要求されたコンテンツを端末Tm−sへ配信する機能を有する。なお端末Tm−sが、オーバーレイネットワークONに参加するように構成してもよい。
【0043】
次に、ユーザ端末UTvおよび移動端末Mqの構成および機能等について説明する。なお実施形態のユーザ端末UTvおよび移動端末Mqは、基本的にはそれぞれ同様の構成を備える。よって以下では、ユーザ端末UTvおよび移動端末Mqを代表してユーザ端末UTvの構成について説明する。ユーザ端末UTvは、図2(a)に示すルータRmの構成と同様の構成に加えて、デコーダ部、映像処理部、液晶ディスプレイ等からなる表示部、音声処理部、スピーカ、および入力部等を備えて構成される。デコーダ部、映像処理部、表示部、音声処理部、スピーカおよび入力部については、図示を省略する。制御部1、記憶部2、通信部3、バッファメモリ4、デコーダ部、映像処理部、表示部、音声処理部および入力部は、バス5を介して相互に接続されている。
【0044】
ユーザ端末UTvの記憶部2には、ルータRmの記憶部2と同様に、オペレーティングシステム、ノード処理プログラム、ルーティングテーブル、実施形態のインデックス情報、コンテンツおよび実施形態の送信元テーブルTBが記憶されている。またユーザ端末UTvのデコーダ部は、コンテンツに含まれる映像データおよび音声データ等のデータ伸張や復号化等のデコード処理を行う。映像処理部は、デコーダ部によりデコードされた映像データ等に対して所定の描画処理を施し映像信号として再生出力する。表示部は、映像処理部から再生出力された映像信号に基づきディスプレイに映像等を表示する。また表示部は、デコーダ部によりデコードされた画像を表示する。音声処理部は、デコーダ部によりデコードされた音声データをアナログ音声信号にD(Digital)/A(Analog)変換した後にアンプにより増幅して再生出力する。スピーカは、音声処理部から再生出力された音声信号を音波として出力する。通信部3は、ネットワークNWを通じてルータRmおよび移動端末Mqとの間の通信制御を行う。この場合の移動端末Mqとの間の通信は、その移動端末Mqが現在接続されているアクセスポイントAPqを介して行われる。
【0045】
ユーザ端末UTvの制御部1は、演算機能を有するCPU、作業用RAMおよびROM等から構成される。ユーザ端末UTvの制御部1は、CPUが記憶部2等に記憶されたノード処理プログラムの実行によりノードとして動作する。
【0046】
なお図2(a)に示すルータRm等において、通信部3は、本発明における「受信手段」の一例、「第1受信手段」の一例、「第2受信手段」の一例、「第3受信手段」の一例、「第4受信手段」の一例および「送信手段」の一例に、それぞれ相当する。また制御部1は、本発明における「判定手段」の一例、「第2判定手段」の一例、「第3判定手段」の一例、「制御手段」の一例、「取得手段」の一例、「通知手段」の一例、「第2通知手段」の一例および「記憶制御手段」の一例に、それぞれ相当する。さらに記憶部2は、本発明における「記憶手段」の一例および「所在情報記憶手段」の一例に、それぞれ相当する。
【0047】
次に図2(b)を参照して、実施形態の送信元テーブルTBについて説明する。送信元テーブルTBは、実施形態のルータRm等においてオーバーレイネットワークONを介していずれかのメッセージを受信したとき、そのメッセージの送信元のノードを示す情報が記述されるテーブルである。すなわち送信元テーブルTBは、送信元テーブルTBが記憶されているノードに将来的にメッセージを送信してくる可能性がある他のノードを示す情報が記述されるテーブルである。送信元テーブルTBは図2(a)に示すように、実施形態のルータRm等の記憶部2内に記憶されている。具体的に送信元テーブルTBには、図2(b)に例示するように、オーバーレイネットワークONを介して受信した各メッセージの送信元のノードのIPアドレスと、受信した各メッセージの受信時刻と、の組PAが記述されている。このIPアドレスは、各メッセージの送信元のノードを示すものとして、各メッセージに含まれて送信されてくる。送信元テーブルTBには、後述するタイミングで送信元テーブルTBがリフレッシュされるまで、メッセージを受信するたびに、そのメッセージに含まれていたIPアドレスとそのメッセージの受信時刻との組PAが記述されることが繰り返される。
【0048】
(4)配信システムの動作
次に、図3から図5までを参照して、実施形態の配信システムSの動作について説明する。
【0049】
(A)コンテンツの取得動作
初めに、実施形態のコンテンツの取得処理について、図3を参照して説明する。以下に説明するコンテンツの取得処理において、例えば一つのルータRmは、ユーザノード、ルートノードおよび保持ノードのいずれにもなり得る。図3にそれぞれ示すフローチャートの処理は、ノードに備えられた電源スイッチがオンとされて、ノード処理プログラムが起動したときに開始される。図3(a)、図3(b)および図3(c)に示すフローチャートの処理は、ノードにおいて、それぞれ並行して実行される処理である。
【0050】
(A−1)ユーザノードとしての処理
初めに、実施形態のユーザノードとしての処理について、図3(a)を参照して説明する。なお図3(a)はユーザノードとしての処理を示すフローチャートである。図3(a)に示すように、ノードの制御部1は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する(ステップS1)。なお、ノードの電源スイッチは、実施形態の図2(a)または図2(b)において図示しない。ステップS1の判定において電源スイッチがオフとされている場合(ステップS1;YES)、制御部1は実施形態の処理を終了する。ステップS1の判定において電源スイッチがオフとされていない場合(ステップS1;NO)、制御部1は次に、ノードにおいてコンテンツの取得要求がされているか否かを判定する(ステップS2)。具体的に制御部1は、例えばユーザ端末UTvの入力部においてコンテンツの選択操作が為されたか否かを判定する。ステップS2の判定においてコンテンツの取得要求が為されていない場合(ステップS2;NO)、制御部1はステップS1の処理に移行する。ステップS2の判定においてコンテンツの取得要求が為されている場合(ステップS2;YES)、制御部1はユーザノードとしての処理を開始する。すなわち制御部1は、取得対象のコンテンツの所在問合せメッセージを、DHTルーティングにより、そのコンテンツのルートノード宛に送信する(ステップS3)。この所在問合せメッセージには、取得対象のコンテンツのコンテンツID、ユーザノードのIPアドレスおよびポート番号に加えて、そのユーザノードが移動ノードであるか固定ノードであるかを示すノード種別情報等が含まれる。ノード種別情報は本発明における「第2識別情報」の一例に相当する。次に制御部1は、ステップS3の処理により送信した所在問合せメッセージの応答としての所在応答メッセージを、オーバーレイネットワークONを介してルートノードから受信したか否かを判定する(ステップS4)。ステップS4の処理において受信する所在応答メッセージには、取得対象のコンテンツを保存する保持ノードのノードIDを含む実施形態のインデックス情報が含まれる。ステップS4の判定において未だ所在応答メッセージを受信しない場合(ステップS4;NO)、制御部1は所在応答メッセージの受信を待機する。ステップS4の判定において所在応答メッセージを受信した場合(ステップS4;YES)、制御部1は次に、受信した所在応答メッセージに含まれていたノードIDとユーザノードのIPアドレスおよびポート番号等を含む保持ノード検索メッセージを生成する。そして制御部1は、生成した保持ノード検索メッセージを、DHTルーティングにより、そのコンテンツの保持ノード宛に送信する(ステップS5)。次に制御部1は、ステップS5の処理により送信した保持ノード検索メッセージの応答としてのIPアドレス等を、その保持ノードから受信したか否かを判定する(ステップS6)。ステップS6の処理においては、取得対象のコンテンツの保持ノードのIPアドレスおよびポート番号等を受信したか否かを判定する。ステップS6の判定において未だIPアドレス等を受信しない場合(ステップS6;NO)、制御部1はIPアドレス等の受信を待機する。ステップS6の判定においてIPアドレス等を受信した場合(ステップS6;YES)、制御部1は次に、受信したIPアドレス等に基づいて取得対象のコンテンツを取得する(ステップS7)。具体的に制御部1は、先ず受信したIPアドレスおよびポート番号を用いて保持ノードにアクセスする。そして制御部1はコンテンツ要求メッセージを保持ノードへ返信する。コンテンツ要求メッセージは取得対象のコンテンツを保持ノードへ要求するためのメッセージである。コンテンツ要求メッセージには、取得対象のコンテンツのコンテンツID等が含まれる。コンテンツ要求メッセージを受信した保持ノードの制御部1は、受信したコンテンツ要求メッセージに含まれるコンテンツIDに対応するコンテンツを保持ノードの記憶部2から取得する。そして保持ノードの制御部1は、コンテンツ送信メッセージとともに、取得したコンテンツをユーザノードへ送信する。こうしてユーザノードの制御部1はコンテンツを取得する。その後ユーザノードの制御部1はステップS1の処理に移行する。
【0051】
(A−2)ルートノードとしての処理
次に実施形態のルートノードとしての処理について、図3(b)を参照して説明する。なお図3(b)はルートノードとしての処理を示すフローチャートである。図3(b)に示すように、ノードの制御部1は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する(ステップS10)。ステップS10の判定において電源スイッチがオフとされている場合(ステップS10;YES)、制御部1は実施形態の処理を終了する。ステップS10の判定において電源スイッチがオフとされていない場合(ステップS10;NO)、次に制御部1は、いずれかのユーザノードからの所在問合せメッセージを受信したか否かを判定する(ステップS11)。この所在問合せメッセージは図3(a)ステップS3の処理により送信された所在問合せメッセージである。ステップS11の判定において所在問合せメッセージを受信していないとき(ステップS11;NO)、制御部1は、後述するステップS14の処理に移行する。ステップS11の判定において所在問合せメッセージを受信したとき(ステップS11;YES)、制御部1はルートノードとしての処理を開始する。すなわち制御部1は、その時点で記憶部2に記憶されているインデックス情報からノードIDを検索する(ステップS12)。具体的に制御部1は、受信した所在問合せメッセージに含まれている取得対象のコンテンツのコンテンツIDと組を為しているノードIDを、インデックス情報から検索する。次に制御部1は、検索した保持ノードのノードIDを含む所在応答メッセージを生成する。この場合制御部1は、所在問合せメッセージに含まれていたノード種別情報に基づいて、ユーザノードが移動ノードである場合は、固定ノードである保持ノードのノードIDを含む所在応答メッセージを生成する。またユーザノードが固定ノードである場合に制御部1は、移動ノードである保持ノードのノードIDを含む所在応答メッセージを生成する。以上の処理により、例えば移動ノードにおいてそのIPアドレスが頻繁に変更されることに起因して発生するコンテンツ取得についてのリスク等を、平準化させることができる。具体的には、保持ノードとユーザノードが共に移動ノードである場合と、両者が共に固定ノードである場合とにおけるコンテンツ取得の可能性の差を少なくして、配信システムSとしての平均的な安定性を高めることができる。なお、固定ノードを用いた安定的なコンテンツの配信を重視する場合がある。この場合に制御部1は、ユーザノードが移動ノードである場合には移動ノードである保持ノードのノードIDを含む所在応答メッセージを生成する。またユーザノードが固定ノードである場合には、固定ノードである保持ノードのノードIDを含む所在応答メッセージを生成するように構成してもよい。その後制御部1は、生成した所在応答メッセージを、DHTルーティングにより、所在問合せメッセージを送信してきたユーザノード宛に送信する(ステップS13)。次に制御部1は、保持ノードからのパブリッシュメッセージを、オーバーレイネットワークONを介して受信したか否かを判定する(ステップS14)。このパブリッシュメッセージには、保持ノードに保存されているコンテンツのコンテンツIDおよびその保持ノードのノード情報等が含まれている。このノード情報としては、保持ノードのノードID、IPアドレスおよびポート番号と、その保持ノードについてのノード種別情報が含まれている。ステップS14の判定においてパブリッシュメッセージを受信していないとき(ステップS14;NO)、制御部1はステップS10の処理に移行する。ステップS14の判定においてパブリッシュメッセージを受信したとき(ステップS14;YES)、制御部1は、受信したパブリッシュメッセージに含まれているコンテンツIDとノードIDを、新たなインデックス情報として登録する(ステップS15)。すなわち制御部1は、パブリッシュメッセージに含まれていたノード種別情報に基づいて、保持ノードが固定ノードであった場合は、受信したコンテンツIDおよびその保持ノードのノード情報等の全てを、新たなインデックス情報として記憶部2に記憶させる。一方制御部1は、ノード種別情報に基づき、保持ノードが移動ノードであった場合は、IPアドレスを除いた保持ノードのノード情報等とコンテンツIDを、新たなインデックス情報として記憶部2に記憶させる。なお制御部1は、保持ノードが固定ノードであると移動ノードであるとに拘わらず、受信したコンテンツIDおよびその保持ノードのノード情報等の全てを、新たなインデックス情報として記憶部2に記憶させてもよい。その後ルートノードの制御部1はステップS10の処理に移行する。
【0052】
なおステップS13の処理に代えて、制御部1が保持ノードのノードIDおよびノード種別情報を含む所在応答メッセージをユーザノード宛に送信し、所在応答メッセージを受信したユーザノードにおいて保持ノードを選択するように構成してもよい。具体的には、所在応答メッセージを受信したユーザノードの制御部1が、受信したノード種別情報に基づいて、例えばユーザノードが移動ノードである場合は固定ノードである保持ノードからコンテンツを取得する。またユーザノードが固定ノードである場合は移動ノードである保持ノードからコンテンツを取得するように構成してもよい。
【0053】
また制御部1は、ステップS13の処理として所在応答メッセージをユーザノードへ送信することに代えて、取得対象のコンテンツの送信要求メッセージを、DHTルーティングにより保持ノード宛に送信するように構成してもよい。この送信要求メッセージは、取得対象のコンテンツをユーザノードへ送信することを要求するためのメッセージである。送信要求メッセージには、取得対象のコンテンツのコンテンツIDと、取得対象のコンテンツを保存する保持ノードのノードIDと、所在問合せメッセージに含まれていたユーザノードのIPアドレスおよびポート番号等が含まれる。送信要求メッセージは、保持ノードのノードIDに基づいたDHTルーティングによりノード間を転送され、保持ノードに受信される。送信要求メッセージを受信した保持ノードの制御部1は、このメッセージに含まれるコンテンツIDに対応するコンテンツを保持ノードの記憶部2から取得する。保持ノードの制御部1は、送信要求メッセージに含まれるユーザノードのIPアドレス等に基づいてユーザノードにアクセスする。そして保持ノードの制御部1は、コンテンツ送信メッセージとともに、取得対象のコンテンツをユーザノードへ送信する。
【0054】
(A−3)保持ノードとしての処理
次に実施形態の保持ノードとしての処理について、図3(c)を参照して説明する。なお図3(c)は保持ノードとしての処理を示すフローチャートである。図3(c)に示すように、ノードの制御部1は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する(ステップS20)。ステップS20の判定において電源スイッチがオフとされている場合(ステップS20;YES)、制御部1は実施形態の処理を終了する。ステップS20の判定において電源スイッチがオフとされていない場合(ステップS20;NO)、次に制御部1は、配信システムSに投入された新たなコンテンツが、制御部1が備えられたノードに保存されたか否かを判定する(ステップS21)。ここでコンテンツの「投入」とは、コンテンツを複数のノードのいずれかに保存させ、そのコンテンツをオーバーレイネットワークONを介して取得可能な状態にすることをいう。ステップS21の判定において新たなコンテンツを保存していない場合(ステップS21;NO)、制御部1は後述するステップS23の処理に移行する。ステップS21の判定において新たなコンテンツを保存した場合(ステップS21;YES)、制御部1は保持ノードとしての処理を開始する。すなわち制御部1は、新たなコンテンツについてのパブリッシュメッセージを生成する。このパブリッシュメッセージには、新たに保存したコンテンツのコンテンツID、コンテンツを新たに保存した保持ノードのノード情報およびその保持ノードについてのノード種別情報が含まれる。その後制御部1は、生成したパブリッシュメッセージを、DHTルーティングによりルートノード宛に送信する(ステップS22)。次に制御部1は、いずれかのユーザノードからの保持ノード検索メッセージを受信したか否かを判定する(ステップS23)。保持ノード検索メッセージは、図3(a)ステップS5の処理により送信された保持ノード検索メッセージである。ステップS23の判定において保持ノード検索メッセージを受信していないとき(ステップS23;NO)、制御部1はステップS20の処理に移行する。ステップS23の判定において保持ノード検索メッセージを受信したとき(ステップS23;YES)、制御部1は、制御部1が備えられた保持ノードのノードIDと、受信した保持ノード検索メッセージに含まれているノードIDと、が一致するかを判定する(ステップS24)。ステップS24の判定において一致しない場合(ステップS24;NO)、制御部1は、受信した保持ノード検索メッセージをDHTルーティングにより他のノードに転送する(ステップS26)。その後制御部1はステップS20の処理に移行する。ステップS24の判定においてノードIDが一致した場合(ステップS24;YES)、制御部1は、制御部1が備えられた保持ノードのIPアドレスおよびポート番号等を、受信した保持ノード検索メッセージの送信元であるユーザノードに送信する(ステップS25)。この場合、受信した保持ノード検索メッセージに含まれていたユーザノードのIPアドレスが用いられる。このIPアドレス等はユーザノードにより受信され、コンテンツの取得に用いられる(図3(a)ステップS7参照)。その後制御部1はステップS20の処理に移行する。
【0055】
(B)IPアドレス変更に伴う動作
次に、特に移動端末MqにおけるIPアドレスの変更に伴う実施形態の処理について、図4および図5を参照して説明する。なお、図4および図5に示すフローチャートの処理は、ノードに備えられた電源スイッチがオンとされて、ノード処理プログラムが起動したときに開始される。図4および図5に示すフローチャートの処理は、ノードにおいて、それぞれ並行して実行される処理である。
【0056】
(B−1)送信元テーブル更新処理
初めに、実施形態の送信元テーブル更新処理について、図4(a)を参照して説明する。図4(a)は送信元テーブル更新処理を示すフローチャートである。図4(a)に示す送信元テーブル更新処理は、実施形態のノードの記憶部2等に記憶されている送信元テーブルTBを更新するための処理である。図4(a)に示すように、ノードの制御部1は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する(ステップS30)。ステップS30の判定において電源スイッチがオフとされている場合(ステップS30;YES)、制御部1は実施形態の送信元テーブル更新処理を終了する。ステップS30の判定において電源スイッチがオフとされていない場合(ステップS30;NO)、次に制御部1は、制御部1が備えられたノードにおいて何らかのメッセージを他のノードからオーバーレイネットワークONを介して受信したか否かを判定する(ステップS31)。ステップS31の判定において何らのメッセージも受信していない場合(ステップS31;NO)、制御部1はステップS30の処理に移行する。ステップS31の判定において何らかのメッセージを受信した場合(ステップS31;YES)、制御部1は、そのメッセージの送信元のノードのIPアドレスとそのメッセージの受信時刻の組PAを、送信元テーブルTBに追加して記述する(ステップS32。図2(b)参照。)。その後制御部1は、受信したメッセージが、メッセージを受信したノード宛のメッセージか否かを判定する(ステップS33)。具体的に制御部1は、例えば受信したメッセージのヘッダの内容を確認する等の従来と同様の方法により、メッセージの宛先が、メッセージを受信したノードであるか否かを判定する。ステップS33の判定において、受信したメッセージの宛先がメッセージを受信したノードでない場合(ステップS33;NO)、制御部1は、受信したメッセージをDHTルーティングにより他のノードに転送する(ステップS36)。その後制御部1は、後述するステップS37の処理に移行する。ステップS33の判定において、受信したメッセージの宛先が、メッセージを受信したノードである場合(ステップS33;YES)、制御部1は、受信したメッセージに対応する処理を行う(ステップS34)。そして制御部1は、ステップS34の処理結果を用いて、受信したメッセージに対する応答処理を行う(ステップS35)。その後制御部1は、送信元テーブルTBをリフレッシュする処理を行う(ステップS37)。ステップS37の処理として具体的に制御部1は、例えば、送信元テーブルTBに記述されている受信時刻を参照して、現在時刻から予め設定された時間だけ遡った時刻よりも古い時刻に受信されたメッセージに対応する組PAを削除する。あるいは制御部1は、送信元テーブルTBに記述されている組PAの数がその送信元テーブルTBについて予め設定された数を超えた場合、受信時刻の古いものから順に、超えた数の組PAを削除してもよい。その後制御部1は、ステップS30の処理に移行する。
【0057】
(B−2)アドレス変更メッセージ送信処理
次に、実施形態のアドレス変更メッセージ送信処理について、図4(b)を参照して説明する。図4(b)はアドレス変更メッセージ送信処理を示すフローチャートである。図4(b)に示すアドレス変更メッセージ送信処理は、実施形態のノードとしての例えば移動端末MqのIPアドレスが変更されたとき、その変更を示すアドレス変更メッセージを送信する処理である。図4(b)に示すように、ノードの制御部1は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する(ステップS40)。ステップS40の判定において電源スイッチがオフとされている場合(ステップS40;YES)、制御部1は実施形態のアドレス変更メッセージ送信処理を終了する。ステップS40の判定において電源スイッチがオフとされていない場合(ステップS40;NO)、次に制御部1は、その制御部1が備えられたノードのIPアドレスの変更を判定する(ステップS41)。このステップS41の処理として具体的に制御部1は、例えば他のノードと接続する際にIPアドレスの変更を検出することができる。具体的には、例えばIPv4におけるルータ探索プロセスを移動端末Mqの制御部1がアクセスポイントAPqとの間で実行することにより、制御部1が、アクセスポイントAPの変更に伴ってそのグローバルIPアドレスが変更されたことを検出することができる。このルータ探索プロセスは、例えばIPv4におけるルータ告知メッセージ(Router Advertisement Message)およびルータ要請メッセージ(Router Solicitation Message)を用いて行われる。ステップS41の判定においてIPアドレスが変更されていない場合(ステップS41;NO)、制御部1はステップS40の処理に移行する。ステップS41の判定においてIPアドレスが変更されている場合(ステップS41;YES)、制御部1は次に、記憶部2に記憶されている図示しないソケットテーブルを初期化する(ステップS42)。ここで「ソケットテーブル」とは、ノードから他のノードに対して過去に確立された接続を示すセッション情報が記述されているテーブルである。ソケットテーブルについて詳細には、例えば特許文献1の段落番号[0124]等に記述されている。次に制御部1は、記憶部2に記憶されている図示しないDHTを用いたルーティングテーブルに記述されている全てのノードに対して、IPアドレスが変更されたことを示すアドレス変更メッセージを送信する処理を繰り返す(ステップS43、S44及びS43R)。具体的に制御部1は、先ずルーティングテーブルの中から一つのノード情報を抽出する。次に制御部1は、抽出されたノード情報のノードに対してアドレス変更メッセージを送信する(ステップS44)。アドレス変更メッセージには、ヘッダ部分に送信時刻が記述されている。またアドレス変更メッセージには、ノードのノードIDと変更前のIPアドレスと変更後の現在のIPアドレスが含まれている。アドレス変更メッセージは、DHTルーティングによらずに、ルーティングテーブルから抽出されたノード情報に含まれているIPアドレスを用いて、そのIPアドレスのノード宛に直接送信される。以上のステップS43、S44およびS43Rの処理が、ルーティングテーブルに記述されている全てのノードについて繰り返される。次に制御部1は、記憶部2に記憶されている送信元テーブルTBにIPアドレスが記述されている全てのノードに対してアドレス変更メッセージを送信する処理を繰り返す(ステップS45、S46及びS45R)。具体的に制御部1は、先ず送信元テーブルTBの中から一つのIPアドレスを抽出する。次に制御部1は、抽出されたIPアドレスのノードに対して、ステップS44の処理により送信されたアドレス変更メッセージと同様のアドレス変更メッセージを送信する(ステップS46)。このアドレス変更メッセージも、DHTルーティングによらずに、送信元テーブルTBから抽出されたIPアドレスを用いて、そのIPアドレスのノード宛に直接送信される。以上のステップS45、S46およびS45Rの処理が、送信元テーブルTBに記述されている全てのノードに対して繰り返される。次に制御部1はサポータノードに対して、ステップS44またはS46の処理により送信されたアドレス変更メッセージと同様のアドレス変更メッセージを送信する(ステップS47)。その後制御部1はステップS40の処理に移行する。ここでサポータノードは、例えば移動端末Mqに比してIPアドレスが変更されることがほとんどない。図4(b)に示す処理が実行されているノードでは、サポータノードのIPアドレスを記憶部2に記憶している。制御部1は、記憶されているIPアドレスのサポータノードに対して、DHTルーティングによらずにアドレス変更メッセージを直接送信する(ステップS47)。以上のアドレス変更メッセージ送信処理により、将来的に通信をする可能性のあるルーティングテーブルおよび送信元テーブルTBに記述されているノードの全てに対して、IPアドレスが変更されたことを通知することができる。なおこれに加えて、その時点でのソケットテーブルにセッション情報が記述されているノードに対して、アドレス変更メッセージを送信するように構成することもできる。
【0058】
(B−3)アドレス変更メッセージ受信処理
次に、実施形態のアドレス変更メッセージ受信処理について、図5(a)を参照して説明する。図5(a)はアドレス変更メッセージ受信処理を示すフローチャートである。図5(a)に示すアドレス変更メッセージ受信処理は、他のノードから送信されてきたアドレス変更メッセージをノードにおいて受信する処理である。このアドレス変更メッセージは、図4(b)に示すステップS44またはS46の処理により送信されたアドレス変更メッセージである。図5(a)に示すように、ノードの制御部1は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する(ステップS50)。ステップS50の判定において電源スイッチがオフとされている場合(ステップS50;YES)、制御部1は実施形態のアドレス変更メッセージ送信処理を終了する。ステップS50の判定において電源スイッチがオフとされていない場合(ステップS50;NO)、次に制御部1は、他のノードのいずれかからアドレス変更メッセージを受信したか否かを判定する(ステップS51)。ステップS51の判定においてアドレス変更メッセージを受信していない場合(ステップS51;NO)、制御部1はステップS50の処理に移行する。ステップS51の判定においてアドレス変更メッセージを受信した場合(ステップS51;YES)、制御部1は、受信したアドレス変更メッセージに含まれている変更前のIPアドレスに対応するソケットをソケットテーブルから削除する(ステップS52)。次に制御部1は、記憶部2に記憶されているルーティングテーブルに記述されているノード情報のうち、受信したアドレス変更メッセージに含まれているノードIDが含まれているノード情報のIPアドレスを、変更後のIPアドレスに変更する(ステップS53)。その後制御部1はステップS50の処理に移行する。
【0059】
(B−4)アドレス変更情報受信処理
次に、実施形態のアドレス変更情報受信処理について、図5(b)を参照して説明する。図5(b)はアドレス変更情報受信処理を示すフローチャートである。図5(b)に示すアドレス変更情報受信処理は、サポータノードにおける後述するアドレス変更情報送信処理により送信されてきたアドレス変更情報をノードにおいて受信する処理である。図5(b)に示すように、ノードの制御部1は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する(ステップS55)。ステップS55の判定において電源スイッチがオフとされている場合(ステップS55;YES)、制御部1は実施形態のアドレス変更情報受信処理を終了する。ステップS55の判定において電源スイッチがオフとされていない場合(ステップS55;NO)、次に制御部1は、実施形態のサポータノードのいずれかからアドレス変更情報を受信したか否かを判定する(ステップS56)。このアドレス変更情報には、IPアドレスが変更された複数のノードについて、各ノードのノードIDと変更前のIPアドレスと変更後の現在のIPアドレスが纏めて含まれている。ステップS56の判定においてアドレス変更情報を受信していない場合(ステップS56;NO)、制御部1はステップS55の処理に移行する。ステップS56の判定においてアドレス変更情報を受信した場合(ステップS56;YES)、制御部1は、受信したアドレス変更情報に含まれている全てのノードIDについて、以下のステップS58およびS59の処理を繰り返す(ステップS57、S58、S59及びS57R)。具体的に制御部1は、先ず受信したアドレス変更情報の中からノードIDを一つ抽出する。次に制御部1は、抽出されたノードIDに対応する変更前のIPアドレスに対応するソケットを、ソケットテーブルから削除する(ステップS58)。次に制御部1は、記憶部2に記憶されているルーティングテーブルに記述されているノード情報のうち、抽出されたノードIDが含まれているノード情報のIPアドレスを、変更後のIPアドレスに変更する(ステップS59)。以上のステップS57、S58、S59およびS57Rの処理が、アドレス変更情報に含まれている全てのノードIDに対して繰り返される。その後制御部1はステップS55の処理に移行する。
【0060】
(B−5)サポータノードとしての処理
最後に、実施形態のサポータノードとしての処理について、図5(c)を参照して説明する。図5(c)はサポータノードとしての処理を示すフローチャートである。図5(c)に示すサポータノードとしての処理は、アドレス変更情報を生成して他のノードに送信する処理である。図5(c)に示すように、サポータノードの制御部1は、ノード処理プログラムが起動されると、所定の初期化処理の終了後、ノードの電源スイッチがオフとされたか否かを判定する(ステップS60)。ステップS60の判定において電源スイッチがオフとされている場合(ステップS60;YES)、制御部1は実施形態のサポータノードとしての処理を終了する。ステップS60の判定において電源スイッチがオフとされていない場合(ステップS60;NO)、次に制御部1は、他のノードのいずれかからアドレス変更メッセージを受信したか否かを判定する(ステップS61)。このアドレス変更メッセージは、図4(b)に示すステップS47の処理により送信されたアドレス変更メッセージである。ステップS61の判定においてアドレス変更メッセージを受信していない場合(ステップS61;NO)、制御部1はステップS60の処理に移行する。ステップS61の判定においてアドレス変更メッセージを受信した場合(ステップS61;YES)、制御部1は、受信したアドレス変更メッセージに含まれている情報をアドレス変更情報に追加する(ステップS62)。具体的に制御部1は、受信したアドレス変更メッセージに含まれているノードIDと変更前のIPアドレスと変更後の現在のIPアドレスをアドレス変更情報に追加する。このアドレス変更情報はサポータノードの記憶部2に記憶される。次に制御部1は、アドレス変更情報の前回の送信時刻から予め設定された規定時間が経過したか、またはアドレス変更情報として予め設定された規定数のノードについてのIPアドレス等がアドレス変更情報に含まれているか、を判定する(ステップS63)。ステップS63の判定において規定時間の条件および規定数の条件が共に満たされない場合(ステップS63;NO)、制御部1はステップS60の処理に移行する。ステップS63の判定において、規定時間の条件または規定数の条件のいずれかが満たされない場合(ステップS63;YES)、制御部1は、その時点で記憶部2に記憶されているアドレス変更情報を、マルチキャスト方式により他のノードに送信する(ステップS64)。すなわち制御部1は、アドレス変更情報を他のノードに一括して通知する。このマルチキャスト方式による送信については、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。その後制御部1は、ステップS64の処理によるアドレス変更情報の送信時刻を記憶部2に記憶させる(ステップS65)。その後制御部1はステップS60の処理に移行する。
【0061】
以上説明したように、実施形態の配信システムSの処理によれば、図3に示すように、ユーザノードから送信される所在問合せメッセージに含まれているコンテンツIDに対応付けられているノードIDにより、ユーザノードにコンテンツを取得させる。ノードIDは、変更される頻度がIPアドレスよりも少ないので、保持ノードのIPアドレスが頻繁に変わる場合でも、オーバーレイネットワークON内のメッセージ量を増大させることなくコンテンツを取得させることができる。
【0062】
また、図3(a)ステップS6、S7および図3(c)ステップS25に示すように、保持ノードのIPアドレスをユーザノードに送信してコンテンツを取得させる。ユーザノードに必要なコンテンツを確実に取得させることができる。
【0063】
さらに、図4(b)ステップS44、S46およびS47に示すように、接続可能なノードに変更後のIPアドレスを示すアドレス変更メッセージを送信する。変更後のIPアドレスを含むアドレス変更メッセージの送信範囲を必要最小限として、オーバーレイネットワークON内のメッセージ量を抑制することができる。
【0064】
また、図5(c)ステップS63およびS64に示すように、予め設定された条件に基づいて変更後のIPアドレスを一括して含むアドレス変更情報をサポータノードからマルチキャスト方式により送信する。IPアドレスが変更される度に他のノードに通知する場合に比してオーバーレイネットワークON内のメッセージ量を抑制することができる。
【0065】
さらに、パブリッシュメッセージに含まれているノード種別情報に基づいて、パブリッシュメッセージを送信した保持ノードが固定ノードであるか移動ノードであるかを判定する。ノード種別情報に基づいて確実に保持ノードの種別を判定してコンテンツの取得方法を変更することができる。
【0066】
なお、上述した実施形態においては、保持ノードが固定ノードか移動ノードかに拘わらず、所在応答メッセージには保持ノードのノードIDを含ませるようにした。これに代えて、ルートノードの制御部1が、保持ノードが移動ノードである場合には所在応答メッセージにノードIDを含ませ、保持ノードが固定ノードである場合にはIPアドレスを含ませて送信するように構成することもできる。そしてユーザノードの制御部1は、保持ノードが固定ノードである場合には、受信した所在応答メッセージに含まれていたIPアドレスを用いて保持ノードからコンテンツを取得する。この場合には、保持ノードが固定ノードである場合に、ユーザノードにおいてIPアドレスによりその保持ノードが検索可能となる。また、固定ノードである保持ノードのノードIDによる検索は行われないので、オーバーレイネットワーク内のメッセージ量をより抑制することができる。
【0067】
さらに、上記実施形態および各変形形態においては、配信システムSに、DHTを利用したオーバーレイネットワークONが適用されていたが、これに限られるものではない。例えば、他のP2P(Pear to Pear)型のネットワーク、またはDHTを利用しないオーバーレイネットワークを用いた配信システムが適用されてもよい。DHTを利用しないオーバーレイネットワークとしては、例えば、ハイブリッド型のオーバーレイネットワークがある。
【符号の説明】
【0068】
1 制御部
2 記憶部
3 通信部
4 バッファメモリ
5 バス
S 配信システム
R1、R2、R3、Rt ルータ
UT1、UT2、UT3、UT4、UT5、UTp ユーザ端末
M1、M2、M3、Mw 移動端末
NW ネットワーク
AP1、AP2、AP3、APw アクセスポイント
NL1、NL2、NL3、NLt 拠点ネットワーク
T1−1、T1−2、T1−3 端末
ON オーバーレイネットワーク
N1、N2、N3、N4、N5、N6、N7、N8、N9、N10、N11、Nk ノード
TB 送信元テーブル
PA 組

【特許請求の範囲】
【請求項1】
ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、
前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、
前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第1情報処理装置と、前記コンテンツを保存する第2情報処理装置と、を含む前記情報通信システムであり、
前記情報通信システムは、
前記第1情報処理装置から送信される検索メッセージであって、前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、前記第1情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを受信する第1受信手段と、
前記第2情報処理装置の前記装置識別情報と、前記第2情報処理装置に保存されている前記コンテンツの前記コンテンツ識別情報と、を対応付けて記憶する記憶手段と、
前記第1受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応付けられて前記記憶手段に記憶されている前記装置識別情報を、前記第1情報処理装置または前記第2情報処理装置に送信する送信手段と、
を備える第3情報処理装置を備え、
前記第2情報処理装置は、
前記装置識別情報を前記第3情報処理装置から受信する第2受信手段と、
前記第2受信手段により受信された装置識別情報と、前記第2情報処理装置の前記装置識別情報とが一致するかを判定する判定手段と、
前記判定手段により一致すると判定された場合、前記第2情報処理装置に保存されている前記コンテンツを、前記第1情報処理装置に取得させる制御手段と、
を備えることを特徴とする情報通信システム。
【請求項2】
前記判定手段により一致すると判定された場合、前記制御手段は、前記第2情報処理装置の前記ネットワークにおける所在を示す所在情報を前記第1情報処理装置に送信し、
前記第1情報処理装置は、前記制御手段により送信された前記所在情報を用いて前記コンテンツを取得する取得手段を備えることを特徴とする請求項1に記載の情報通信システム。
【請求項3】
前記情報処理装置は、
前記ネットワークを介して接続可能な前記情報処理装置の前記ネットワーク上の所在を示す所在情報を記憶する所在情報記憶手段と、
前記情報処理装置の前記所在を示す前記所在情報が変更されかを判定する第2判定手段と、
前記第2判定手段により前記所在情報が変更されたと判定された場合、変更後の前記所在情報を、前記所在情報記憶手段に記憶されている前記所在情報により前記所在が示されている前記情報処理装置に通知する通知手段と、
を備えることを特徴とする請求項1または請求項2に記載の情報通信システム。
【請求項4】
前記情報処理装置は、
前記ネットワーク上の所在を示す所在情報が変更された前記情報処理装置から変更後の前記所在情報を受信する第3受信手段と、
前記第3受信手段により受信された前記所在情報を、予め設定された条件に基づき、前記複数の情報処理装置の少なくともいずれかに一括して通知する第2通知手段と、
を備えること特徴とする請求項1から請求項3のいずれか一項に記載の情報通信システム。
【請求項5】
前記第2情報処理装置は、使用者により携帯される移動端末と、所定の場所に設置されて使用される固定端末とを含んでおり、
前記第3情報処理装置は、
前記コンテンツを保存したことを示す公開メッセージを前記第2情報処理装置から受信する第4受信手段と、
前記第4受信手段により受信された前記公開メッセージに基づいて、前記公開メッセージを送信した前記第2情報処理装置が前記固定端末であるか前記移動端末であるかを判定する第3判定手段と、
前記第3判定手段により前記移動端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記移動端末の前記装置識別情報と、前記公開メッセージにより公開された前記コンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させ、
前記第3判定手段により前記固定端末が前記公開メッセージを送信したと判定されたとき、前記公開メッセージを送信した前記固定端末の前記ネットワークにおける所在を示す所在情報と、前記公開メッセージにより公開されたコンテンツの前記コンテンツ識別情報と、を対応付けて前記記憶手段に記憶させる記憶制御手段と、
を備え、
前記送信手段は、前記識別されている固定端末の前記所在情報を前記第1情報処理装置に送信することを特徴とする請求項1から請求項4のいずれか一項に記載の情報通信システム。
【請求項6】
前記公開メッセージには、前記公開メッセージを送信した前記第2情報処理装置が前記固定端末であるか前記移動端末であるかを示す第2識別情報が含まれており、
前記第3判定手段は、前記第4受信手段により受信された前記公開メッセージに含まれている前記第2識別情報に基づいて、前記公開メッセージを送信した前記第2情報処理装置が前記固定端末であるか前記移動端末であるかを判定することを特徴とする請求項5に記載の情報通信システム。
【請求項7】
ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムであって、
前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、
前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第1情報処理装置と、前記コンテンツを保存する第2情報処理装置と、を含む前記情報通信システムであり、
前記情報通信システムは、
前記第2情報処理装置の前記装置識別情報と、前記第2情報処理装置に保存されている前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、を対応付けて記憶する記憶手段と、
前記コンテンツ識別情報と、前記第1情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを、前記第1情報処理装置から受信する第1受信手段と、
前記記憶手段に記憶された前記装置識別情報の中から、前記第1受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応する前記装置識別情報を、前記第1情報処理装置または前記第2情報処理装置に送信する送信手段と、
を備える第3情報処理装置を備える情報通信システムであり、
前記第2情報処理装置が、
前記装置識別情報を前記第3情報処理装置から受信する第2受信手段と、
前記第2受信手段により受信された装置識別情報と、前記第2情報処理装置の前記装置識別情報とが一致するかを判定する判定手段と、
前記判定手段により一致すると判定された場合、前記第2情報処理装置に保存されている前記コンテンツを、前記第1情報処理装置に取得させる制御手段と、
を備えることを特徴とする第2情報処理装置。
【請求項8】
ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークによりコンテンツが前記複数の情報処理装置に分散して保存され、前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、さらに前記複数の情報処理装置として、前記コンテンツを要求する第1情報処理装置と、前記コンテンツを保存する第2情報処理装置と、を含む情報通信システムであって、前記第2情報処理装置の前記装置識別情報と、前記第2情報処理装置に保存されている前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、を対応付けて記憶する記憶手段と、前記コンテンツ識別情報と、前記第1情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを、前記第1情報処理装置から受信する第1受信手段と、前記記憶手段に記憶された前記装置識別情報の中から、前記第1受信手段により受信された前記検索メッセージに含まれている前記コンテンツ識別情報に対応する前記装置識別情報を、前記第1情報処理装置または前記第2情報処理装置に送信する送信手段と、を備える第3情報処理装置を備える情報通信システムに含まれる前記第2情報処理装置のコンピュータに、
前記装置識別情報を前記第3情報処理装置から受信するステップと、
前記受信された装置識別情報と、前記第2情報処理装置の前記装置識別情報とが一致するかを判定するステップと、
前記一致すると判定された場合、前記第2情報処理装置に保存されている前記コンテンツを、前記第1情報処理装置に取得させるステップと、
を実行させることを特徴とするプログラム。
【請求項9】
ネットワークを介して通信可能な複数の情報処理装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数の情報処理装置に分散して保存される情報通信システムにおいて実行される情報通信方法であって、
前記複数の情報処理装置には、前記複数の情報処理装置を識別する装置識別情報が割当てられ、
前記情報通信システムは、前記複数の情報処理装置として、前記コンテンツを要求する第1情報処理装置と、前記コンテンツを保存する第2情報処理装置と、を含む前記情報通信システムであり、
前記第2情報処理装置の前記装置識別情報と、前記第2情報処理装置に保存されている前記コンテンツの前記コンテンツ識別情報と、を対応付けて記憶する記憶手段を備える第3情報処理装置において、前記第1情報処理装置から送信される検索メッセージであって、前記コンテンツを前記オーバーレイネットワークにおいて識別するためのコンテンツ識別情報と、前記第1情報処理装置の前記ネットワークにおける所在を示す所在情報を含む検索メッセージを受信する第1受信工程と、
前記第3情報処理装置において、前記受信された検索メッセージに含まれている前記コンテンツ識別情報に対応付けられて前記記憶手段に記憶されている前記装置識別情報を、前記第1情報処理装置または前記第2情報処理装置に送信する送信工程と、
前記第2情報処理装置において、前記装置識別情報を前記第3情報処理装置から受信する第2受信工程と、
前記第2情報処理装置において、前記受信された装置識別情報と、前記第2情報処理装置の前記装置識別情報とが一致するかを判定する判定工程と、
前記第2情報処理装置において、前記一致すると判定された場合、前記第2情報処理装置に保存されている前記コンテンツを、前記第1情報処理装置に取得させる制御工程と、
を含むことを特徴とする情報通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−178786(P2012−178786A)
【公開日】平成24年9月13日(2012.9.13)
【国際特許分類】
【出願番号】特願2011−41617(P2011−41617)
【出願日】平成23年2月28日(2011.2.28)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】