説明

ノード装置、情報通信システム、メッセージ送信方法及びプログラム

【課題】本発明は、LAN内とLAN外との通信により発生する通信負荷を軽減し、コンテンツを効率良く取得することが出来るノード装置、情報通信システム、メッセージ送信方法及びプログラム等を提供することを目的とする。
【解決手段】
ノード装置Tm−nが第1ルーティングテーブルと第2ルーティングテーブルとを記憶している場合、パブリッシュメッセージは、第2ルーティングテーブルに記載された宛先へパブリッシュメッセージを送信する。検索要求メッセージは、最初に第2ルーティングテーブルに記載の宛先へ送信される。そして、所定期間の間に検索応答メッセージが受信されなかった場合、次に第1ルーティングテーブルに記載の宛先へ検索要求メッセージが送信される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))方式の通信システムの技術分野に関する。
【背景技術】
【0002】
近年、特許文献1に開示されているようなピアツーピア方式の通信システムが注目されている。ピアツーピア方式の通信システムは、現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として注目されている。このピアツーピア方式の通信システムでは、センターのサーバ装置に対するコンテンツの要求が集中しない。そのため、サーバクライアント方式に比して、短時間でコンテンツを取得することが可能となる。具体的には、特許文献1には、ソフトウェアを単位としたグループごとに、複数のDHT(Distributed Hash Table)ルーティングテーブルが生成される技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−217135号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、会社や学校、ホテル等のように各地に拠点があり、各拠点に端末装置が複数存在するケースがある。このケースにおいては、一般的に、拠点内に各端末装置が接続されるLAN(Local Area Network)等のプライベートネットワークが形成される。また、拠点には、インターネット等の或いはWAN(Wide Area Network)等のパブリックネットワークに接続する回線が設けられる。
【0005】
このようなケースにおいて、各端末装置に、特許文献1に開示されているようなピアツーピア方式の通信機能を持たせることが考えられる。そうすると、各端末装置は、同じLAN内に存在する端末装置からもコンテンツを取得することが可能となる。一方、DHTルーティングテーブルには、LAN内に接続される端末装置と、LAN外のWANに接続される端末装置との夫々に対応するIPアドレスが登録される。所定の端末装置によりコンテンツの取得が要求された場合、要求されたコンテンツを記憶する端末装置のIPアドレスが、DHTルーティングテーブルによって検索される。DHTルーティングテーブルには、LAN内に接続される端末装置と、LAN外のWANに接続される端末装置とが登録されているため、LAN内からLAN外、または、LAN外からLAN内への通信メッセージ、コンテンツのダウンロード及びアップロードが頻繁に行われる。しかしながら、例えばLAN内とLAN外とを外部接続する回線の本数が少なかったり帯域幅が狭かったりすると、コンテンツの取得に要する時間が長くなる。また、LAN内とLAN外とを経由する通信メッセージが増加することで、上記帯域幅を圧迫することになる。そのため、ピアツーピア方式の通信システムを採用したことによる効果が十分に得られない場合があった。
【0006】
本発明は、以上の点に鑑みてなされたものである。本発明は、LAN内とLAN外との通信により発生する通信負荷を軽減し、コンテンツを効率良く取得することが出来るノード装置、情報通信システム、メッセージ送信方法及びプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1に記載の発明によれば、複数のコンテンツが複数のノード装置間で送受信され、グローバルアドレスにより通信可能な外部ネットワークが1以上の内部ネットワークを含み、前記複数のノード装置の少なくとも一部のノード装置が、前記前記内部ネットワークに接続されるノード装置であって、前記外部ネットワークまたは前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が記憶された第1ルーティングテーブルを取得する第1取得部と、前記ノード装置が接続する前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が記憶された第2ルーティングテーブルを取得する第2取得部と、前記ノード装置が送信するメッセージの内容に応じて、前記第1ルーティングテーブルと前記第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する決定部と、前記決定部により決定されたルーティングテーブルに記載された所在情報を送信先として前記メッセージを送信する送信部と、を備えることを特徴とするノード装置である。
【0008】
請求項2に記載の発明によれば、前記複数のノード装置のいずれかから取得したコンテンツを記憶する記憶部を備え、前記送信部は、前記ノード装置が前記記憶部にコンテンツを記憶したことを前記複数のノード装置に通知する通知メッセージであって、コンテンツを記憶した前記ノード装置の前記所在情報を含む前記通知メッセージを送信し、前記送信部が前記通知メッセージを送信する場合、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定することを特徴とする。
【0009】
請求項3に記載の発明によれば、前記記憶部に記憶されたコンテンツが、前記第1オーバーレイネットワークへの公開を許可されたコンテンツであるか否かを判定する第1判定部を備え、前記第1判定部により、前記記憶部が記憶したコンテンツが、許可されたコンテンツであると判定されたとき、前記決定部は、前記第1ルーティングテーブルと前記第2ルーティングテーブルとに記載された前記所在情報を送信先として決定し、前記第1判定部により、前記記憶部が記憶したコンテンツが、許可されたコンテンツでないと判定されたとき、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定することを特徴とする。
【0010】
請求項4に記載の発明によれば、前記ノード装置が、前記記憶部に記憶されたコンテンツを、前記第1オーバーレイネットワークへ公開することを許可されたノード装置であるか否かを判定する第2判定部を備え、前記第2判定部により、前記ノード装置が許可されたノード装置であると判定されたとき、前記決定部は、前記第1ルーティングテーブルと前記第2ルーティングテーブルとに記載された前記所在情報を送信先として決定し、前記第2判定部により、前記ノード装置が許可されたノード装置でないと判定されたとき、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定することを特徴とする。
【0011】
請求項5に記載の発明によれば、前記送信部は、前記複数のノード装置の中から所望のコンテンツを保持する1以上のコンテンツ保持ノード装置の前記ネットワーク上における所在を示す所在情報を検索する検索メッセージを送信し、前記送信部が前記検索メッセージを送信する場合、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定することを特徴とする。
【0012】
請求項6に記載の発明によれば、前記送信部が前記検索メッセージを送信する場合、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定し、前記第2ルーティングテーブルに記載された前記所在情報を送信先として前記検索メッセージを送信した後に、前記決定部は、前記第1ルーティングテーブルに記載された前記所在情報を送信先としてさらに決定することを特徴とする。
【0013】
請求項7に記載の発明によれば、前記検索メッセージに対応する前記コンテンツ保持ノードの前記所在情報を受信する受信部と、前記決定部により決定された前記第2ルーティングテーブルに記載された前記所在情報を送信先として前記検索メッセージを送信してから、所定の時間の間に、前記受信部が前記所在情報を受信したか否かを判定する第3判定部と、を備え、前記第3判定部により、前記所定の時間の間に、前記受信部が前記所在情報を受信したと判定されなかったとき、前記送信部は、前記第1ルーティングテーブルに記載された前記所在情報を送信先として、前記検索メッセージを送信することを特徴とする。
【0014】
請求項8に記載の発明によれば、前記検索メッセージに対応する前記コンテンツ保持ノードの前記所在情報を受信する受信部と、前記受信部が受信したコンテンツ保持ノードの前記所在情報の数が、所定の数より小さいか否かを判定する第4判定部と、を備え、前記第4判定部により、前記コンテンツ保持ノードの数が、所定の数より小さいと判定されたとき、前記送信部は、前記第1ルーティングテーブルに記載された前記所在情報を送信先として、前記検索メッセージを送信することを特徴とする。
【0015】
請求項9に記載の発明によれば、複数のコンテンツが複数のノード装置間で送受信され、グローバルアドレスにより通信可能な外部ネットワークが1以上の内部ネットワークを含み、前記複数のノード装置の少なくとも一部のノード装置が、前記前記内部ネットワークに接続されるノード装置により構成される情報通信システムであって、前記情報通信システムは、前記外部ネットワークまたは前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が記憶された第1ルーティングテーブルを取得する第1取得部と、前記ノード装置が接続する前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が記憶された第2ルーティングテーブルを取得する第2取得部と、前記ノード装置が送信するメッセージの内容に応じて、前記第1ルーティングテーブルと前記第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する決定部と、前記決定部により決定されたルーティングテーブルに記載された所在情報を送信先として前記メッセージを送信する送信部と、を備えることを特徴とするノード装置を備えることを特徴とする情報通信システムである。
【0016】
請求項10に記載の発明によれば、複数のコンテンツが複数のノード装置間で送受信され、グローバルアドレスにより通信可能な外部ネットワークが1以上の内部ネットワークを含み、前記複数のノード装置の少なくとも一部のノード装置が、前記前記内部ネットワークに接続されるノード装置のメッセージ送信方法であって、前記外部ネットワークまたは前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上の所在を示す所在情報が記憶された第1ルーティングテーブルを取得する第1取得ステップと、前記ノード装置が接続する前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が記憶された第2ルーティングテーブルを取得する第2取得ステップと、前記ノード装置が送信するメッセージの内容に応じて、前記第1ルーティングテーブルと前記第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する決定ステップと、前記決定部により決定されたルーティングテーブルに記載された所在情報を送信先として前記メッセージを送信する送信ステップと、
を含むメッセージ送信方法である。
【0017】
請求項11に記載の発明によれば、複数のコンテンツが複数のノード装置間で送受信され、グローバルアドレスにより通信可能な外部ネットワークが1以上の内部ネットワークを含み、前記複数のノード装置の少なくとも一部のノード装置が、前記前記内部ネットワークに接続されるノード装置のメッセージ送信方法であって、前記外部ネットワークまたは前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が記憶された第1ルーティングテーブルを取得する第1取得ステップと、前記ノード装置が接続する前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が記憶された第2ルーティングテーブルを取得する第2取得ステップと、前記ノード装置が送信するメッセージの内容に応じて、前記第1ルーティングテーブルと前記第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する決定ステップと、前記決定部により決定されたルーティングテーブルに記載された所在情報を送信先として前記メッセージを送信する送信ステップと、をノード装置が含むコンピュータに実行させるプログラムである。
【発明の効果】
【0018】
請求項1または請求項9に記載の発明によれば、第1取得部は、外部ネットワークまたは内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が記憶された第1ルーティングテーブルを取得する。第2取得部は、ノード装置が接続する内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、第2オーバーレイネットワークに参加するノード装置の所在情報が記憶された第2ルーティングテーブルを取得する。決定部は、ノード装置が送信するメッセージの内容に応じて、第1ルーティングテーブルと第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する。従って、送信するメッセージの内容に応じて、第1ルーティングテーブルと第2ルーティングテーブルとを切り替えることができる。この結果、例え、LAN内とLAN外とを外部接続する回線の本数が少ない場合や、帯域幅が狭い場合であっても、LAN内からLAN外、または、LAN外からLAN内への通信メッセージ、コンテンツのダウンロード及びアップロードの頻度を抑え通信を行うことができる。
【0019】
請求項2に記載の発明によれば、送信部は、ノード装置が記憶部にコンテンツを記憶したことを複数のノード装置に通知する通知メッセージであって、コンテンツを記憶したノード装置の所在情報を含む通知メッセージを送信する。送信部が通知メッセージを送信する場合、決定部は、第2ルーティングテーブルに記載された所在情報を送信先として決定する。従って、通知メッセージが、第2ルーティングテーブルに従って送信される。これにより、同じ内部ネットワークに接続されるノード装置は、内部ネットワークからコンテンツを取得することができる。この結果、内部ネットワーク内からコンテンツを取得することができるため、LAN内からLAN外、または、LAN外からLAN内へのコンテンツのダウンロード及びアップロードの頻度を抑えることができる。
【0020】
請求項3に記載の発明によれば、第1判定部により、記憶部が記憶したコンテンツが、許可されたコンテンツであると判定されたとき、決定部は、第1ルーティングテーブルと第2ルーティングテーブルとに記載された所在情報を送信先として決定する。第1判定部により、記憶部が記憶したコンテンツが、許可されたコンテンツでないと判定されたとき、決定部は、第2ルーティングテーブルに記載された所在情報を送信先として決定する。従って、通知メッセージにより通知されるコンテンツの種類によって、通知メッセージの送信先が、第1ルーティングテーブルと第2ルーティングテーブルとで切り替えることができる。この結果、コンテンツの種類によって、内部ネットワーク内からコンテンツを取得することができるため、LAN内からLAN外、または、LAN外からLAN内へのコンテンツのダウンロード及びアップロードの頻度を抑えることができる。
【0021】
請求項4に記載の発明によれば、第2判定部により、ノード装置が許可されたノード装置であると判定されたとき、決定部は、第1ルーティングテーブルと第2ルーティングテーブルとに記載された所在情報を送信先として決定する。第2判定部により、ノード装置が許可されたノード装置でないと判定されたとき、決定部は、第2ルーティングテーブルに記載された所在情報を送信先として決定する。従って、通知メッセージを送信するノード装置によって、通知メッセージの送信先が、第1ルーティングテーブルと第2ルーティングテーブルとで切り替えることができる。この結果、各ノード装置によって、内部ネットワーク内に接続されるノード装置からコンテンツを取得することができるため、LAN内からLAN外、または、LAN外からLAN内へのコンテンツのダウンロード及びアップロードの頻度を抑えることができる。
【0022】
請求項5に記載の発明によれば、送信部は、複数のノード装置の中から所望のコンテンツを保持する1以上のコンテンツ保持ノード装置のネットワーク上における所在を示す所在情報を検索する検索メッセージを送信し、送信部が検索メッセージを送信する場合、決定部は、第2ルーティングテーブルに記載された所在情報を送信先として決定する。従って、検索メッセージが、第2ルーティングテーブルに従って送信される。これにより、検索メッセージを送信するノード装置は、同じ内部ネットワークに接続されるノード装置の中から、コンテンツ保持ノードを検索し、内部ネットワークからコンテンツを取得することができる。この結果、内部ネットワーク内からコンテンツを取得することができるため、LAN内からLAN外、または、LAN外からLAN内への通信メッセージ、または、コンテンツのダウンロード及びアップロードの頻度を抑えることができる。
【0023】
請求項6に記載の発明によれば、送信部が検索メッセージを送信する場合、決定部は、第2ルーティングテーブルに記載された所在情報を送信先として決定し、第2ルーティングテーブルに記載された所在情報を送信先として検索メッセージを送信した後に、決定部は、第1ルーティングテーブルに記載された所在情報を送信先としてさらに決定する。従って、検索メッセージは、第1ルーティングテーブルよりも、第2ルーティングテーブルに記載された所在情報を優先して、送信される。この結果、外部ネットワークより内部ネットワーク内からコンテンツを取得する確率が高くなるため、LAN内からLAN外、または、LAN外からLAN内への通信メッセージ、または、コンテンツのダウンロード及びアップロードの頻度を抑えることができる。
【0024】
請求項7に記載の発明によれば、第3判定部は、決定部により決定された第2ルーティングテーブルに記載された所在情報を送信先として検索メッセージを送信してから、所定の時間の間に、受信部が所在情報を受信したか否かを判定する。第3判定部により、所定の時間の間に、受信部が所在情報を受信したと判定されなかったとき、送信部は、第1ルーティングテーブルに記載された所在情報を送信先として、検索メッセージを送信する。従って、所定の時間の間に、所在情報が受信されなかった場合に限り、送信部は、第1ルーティングテーブルに記載された所在情報を送信先として検索メッセージを送信する。この結果、外部ネットワークに接続されるノード装置を含む第1ルーティングテーブルに記載された送信先へ、検索メッセージを送信する確率が低くなるため、LAN内からLAN外、または、LAN外からLAN内へのコンテンツの通信メッセージ、または、ダウンロード及びアップロードの頻度を抑えることができる。
【0025】
請求項8に記載の発明によれば、第4判定部は、受信部が受信したコンテンツ保持ノードの所在情報の数が、所定の数より小さいか否かを判定する。判定部により、コンテンツ保持ノードの数が、所定の数より小さいと判定されたとき、送信部は、第1ルーティングテーブルに記載された所在情報を送信先として、検索メッセージを送信する。従って、受信したコンテンツ保持ノードの数が、所定の数より少なかった場合に限り、送信部は、第1ルーティングテーブルに記載された所在情報を送信先として検索メッセージを送信する。この結果、外部ネットワークに接続されるノード装置を含む第1ルーティングテーブルに記載された送信先へ、検索メッセージを送信する確率が低くなるため、LAN内からLAN外、または、LAN外からLAN内へのコンテンツの通信メッセージ、または、ダウンロード及びアップロードの頻度を抑えることができる。
【0026】
請求項10または請求項11に記載の発明によれば、第1取得ステップは、外部ネットワークまたは内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が記憶された第1ルーティングテーブルを取得する。第2取得ステップは、ノード装置が接続する内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、第2オーバーレイネットワークに参加するノード装置の所在情報が記憶された第2ルーティングテーブルを取得する。決定ステップは、ノード装置が送信するメッセージの内容に応じて、第1ルーティングテーブルと第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する。従って、送信するメッセージの内容に応じて、第1ルーティングテーブルと第2ルーティングテーブルとを切り替えることができる。この結果、例え、LAN内とLAN外とを外部接続する回線の本数が少ない場合や、帯域幅が狭い場合であっても、LAN内からLAN外、または、LAN外からLAN内への通信メッセージ、コンテンツのダウンロード及びアップロードの頻度を抑え通信を行うことができる。
【図面の簡単な説明】
【0027】
【図1】本実施形態におけるコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。
【図2】ノード装置が記憶する第1ルーティングテーブルの一例である。
【図3】DHTのID空間の一例を示す概念図である。
【図4】コンテンツ分散保存システムSへの参加時における第1ルーティングテーブルの生成手順の一例を示す概念図である。
【図5】第1ルーティングテーブル作成手順における参加メッセージの転送概要を示す概念図である。
【図6】本実施形態のノード装置Tm−nの電気的構成を示すブロック図である。
【図7】ノード装置Tm−nにおけるメイン動作の処理手順を示すフローチャートである。
【図8】ノード装置Tm−nにおける第2ルーティングテーブル生成の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0028】
[最良の実施形態]
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
【0029】
[コンテンツ分散保存システムの概要構成]
始めに、図1を参照して、本実施形態におけるコンテンツ分散保存システムSの概要構成について説明する。図1は、本実施形態におけるコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。
【0030】
図1に示すように、コンテンツ分散保存システムSは、複数のノード装置Tm−n(n=1,2,3・・・の何れか)から構成されている。複数のノード装置Tm−nは、ネットワークNWを介して互いに通信可能である。このネットワークNWは、現実世界の通信ネットワークである。例えば、インターネットである。
【0031】
ネットワークNWは、各拠点ネットワークNLmを相互接続するためのネットワークである。このネットワークNWは、例えば、インターネットやWAN(Wide Area Network)等である。そして、ネットワークNWは、例えば、IX(Internet Exchange)、ISP(Internet Service Provider)、DSL(Digital Subscriber Line)回線事業者の装置、FTTH(Fiber To The Home)回線事業者の装置、及び通信回線等によって構築されている。なお、ネットワークNWは、コンテンツ分散保存システムS専用のネットワークであっても良い。
【0032】
本実施形態では、ネットワークNW内に、1つ以上の各拠点ネットワークNLmが形成される。また、各拠点ネットワークNLmには、複数のノード装置Tm−n(n=1,2,3・・・の何れか)が接続されている。各拠点ネットワークNLmは、夫々拠点mの敷地内に構築されたネットワークである。拠点としては、例えば、会社、学校、病院、塾等がある。この拠点ネットワークNLmは、例えば、LAN等により構築されている。或いは、拠点ネットワークNLmは、複数のLANが相互接続して構築されたネットワークであっても良い。この場合、複数のLANは、ルータ等のネットワーク機器を介して接続される。複数のLANが相互接続されたネットワークとしては、例えば、CAN(Campus Area Network)等がある。各拠点ネットワークNLmには、ファイアーウォールFW又はブロードバンドルータBRが接続されている。ファイアーウォールFW又はブロードバンドルータBRは、拠点内に接続されるノード装置と、その拠点に接続されるノード装置以外のノード装置とを通信可能にする通信機器である。ファイアーウォールFW又はブロードバンドルータBRは、公知であるので詳細な説明は省略する。ファイアーウォールFW又はブロードバンドルータBRの何れが拠点に設置されるかは、拠点毎に任意に決定される。本実施形態の拠点ネットワークNLmは、例えば、LAN(Local Area Network)である。
【0033】
また、ネットワークNWには、投入サーバ及びポータルサーバ等のサーバ装置等が接続されている。投入サーバとポータルサーバとは特に図示していない。
【0034】
このような構成のコンテンツ分散保存システムSにおいて、構成要素たる各装置の機能概要は以下の通りである。投入サーバは、後述する第1オーバーレイネットワークPW、または、第2オーバーレイネットワークPLmにコンテンツデータを投入するサーバ装置である。ここで、コンテンツデータの投入とは、コンテンツデータをノード装置Tm−nから取得可能な状態におくことをいう。なお、コンテンツデータを、「コンテンツ」という。
【0035】
ポータルサーバは、ノード装置Tm−nからのリクエストに応じてWebページをノード装置Tm−nに送信する。ポータルサーバにより送信されるWebページは、コンテンツの一例として動画データを配信するWebサイトを構成する。
【0036】
ノード装置Tm−nは、拠点mにいるユーザにより使用される端末装置である。ノード装置Tm−nは、ポータルサーバ等のWebサーバからWebページを取得し、取得したWebページを画面表示する。ノード装置Tm−nは、他のノード装置Tm−n又からコンテンツを取得し保存する。更に、ノード装置Tm−nは、動画データ等のコンテンツを再生する。
【0037】
本実施形態のコンテンツ分散保存システムSでは、コンテンツ配信のためのオーバーレイネットワークが構築されている。オーバーレイネットワークは、ネットワークNW上に構築されたオーバーレイネットワークである。言い換えれば、オーバーレイネットワークは、物理的なネットワーク上に生成される論理的なネットワークである。また、オーバーレイネットワークは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知である。
【0038】
本実施形態では、このオーバーレイネットワークが2種類ある。図2に示すように、第1オーバーレイネットワークPWと、第2オーバーレイネットワークPLm(m=1,2,3・・・の何れか))である。第1オーバーレイネットワークPWは、ネットワークNWに接続されるノード装置のいずれかから構成される。言い換えれば、オーバーレイネットワークPWは、各拠点に接続されるノード装置に限定されず、ネットワークNWに接続されるノード装置のいずれかから構成される。第2オーバーレイネットワークPLmは、拠点m毎に構築されたオーバーレイネットワークある。各拠点mに接続されるノード装置により、第2オーバーレイネットワークPLmは生成される。第1オーバーレイネットワークPW、または、第2オーバーレイネットワークPLmの生成方法の詳細については、後述する。第1オーバーレイネットワークPW、または、第2オーバーレイネットワークPLmを用いて、各ノード装置Tm−nがピアツーピア方式で通信を行えるよう、ブロードバンドルータBRやファイアーウォールFWにおいてポートフォワーディングの設定が行われる。例えば、ブロードバンドルータBRであれば、UPnP(Universal Plug and Play)機能等を利用して自動的にポートフォワーディングの設定が行われるようにしておくと良い。
【0039】
[第1オーバーレイネットワークの生成方法]
以下、コンテンツ分散保存システムSにおける各ノード装置Tm−nの機能を説明する。各ノード装置Tm−nが記憶する第1オーバーレイネットワークPWで用いられるDHTの第1ルーティングテーブルについて詳細に説明する。ここで、図2及び図3を参照して、ルーティングテーブルについて詳しく説明する。
【0040】
図2は、ノード装置Tm−nが記憶する第1ルーティングテーブルの一例である。図3は、DHTのID空間の一例を示す概念図である。なお、図2及び図3の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとしている。そのため、各桁は、2bitで表された4進数(0〜3の整数)で表されている。各桁を2bitよりも長いbit長を用いても良い。例えば、各桁を4bitで表して、0〜fの16進数で表現しても良い。
【0041】
図2に示すように、第1ルーティングテーブルは、レベル1(一段目)〜レベル3(三段目)の複数レベルから構成される。各エリアには、ノード情報が登録される。ノード情報は、ノードIDと、ノードIDに対応するノード装置のIPアドレス及びポート番号と、を含む。図2の例の場合、レベル1の0XXのエリアには、ノードID「002」と、ノードID「002」に対応するノード装置T2−2のIPアドレス及びポート番号とが、対応付けられてノード情報として登録されている。
【0042】
図2に示すレベル1〜レベル3の各レベルにおける各エリアは、ノードID空間を分割することにより決定されるエリアである。図3は、ノードIDを用いて各エリアが決定される概念図である。ノードID空間は、各桁が4進数(0〜3の整数)で表される3桁の数字により構成される。図3に示すように、レベル1のエリアとして、ノードID空間が4つ(4進数のため)に分割される。具体的にレベル1のエリアは、0XXのエリアと、1XXのエリアと、2XXのエリアと、3XXとに分割される。0XXのエリアは、'000'〜'033'のノードIDが存在するエリアである。1XXのエリアは、'100'〜'133'のノードIDが存在するエリアである。2XXのエリアは、'200'〜'233'のノードIDが存在するエリアである。3XXのエリアは、'300'〜'333'のノードIDが存在するエリアである。
【0043】
また、レベル2では、レベル1のエリアが更に4つ(4進数のため)に分割される。つまり、0XX〜3XXの各エリアが更に4つに分割される。0XXのエリアと1XXのエリアと2XXのエリアと3XXのエリアとが夫々4分割される。例えば、1XXのエリアの場合、'100'〜'103'のノードIDが存在するエリアが10Xのエリアとして分割される。また、11Xのエリアの場合、'110'〜'113'のノードIDが存在するエリアが11Xのエリアとして分割される。また、12Xのエリアの場合、'120'〜'123'のノードIDが存在するエリアが12Xのエリアとして分割される。また、13Xのエリアの場合、'130'〜'133'のノードIDが存在するエリアが13Xのエリアとして分割される。
【0044】
以降、ノード装置Tm−nのノードIDが「122」の場合を例として説明する。図2に示すように、ルーティングテーブルのレベル1における1XXのエリアは、ノード装置T1−4のノードIDが存在するエリアである。そのため、レベル1の1XXのエリアには、図2の例では、ノード装置T1−4自身のノードIDと、IPアドレスまたはポート番号とが登録される。本実施形態では、ノード装置T1−4自身のノードIDとIPアドレスまたはポート番号とを登録したが、ノードIDとIPアドレスまたはポート番号とはノード装置T1−4自身のものであるので登録されなくてもよい。ノード装置T1−4のノードIDが存在しないエリアには、夫々、他の任意のノード装置T1−4のノードIDと、IPアドレスまたはポート番号とが登録されている。ノード装置T1−4のノードIDが「122」の場合、ノード装置T1−4のノードIDが存在しないエリアは、0XXのエリアと、2XXのエリアと、3XXのエリアとである。
【0045】
また、ルーティングテーブルのレベル2における12Xのエリアは、ノード装置T1−4のノードIDが存在するエリアである。そのため、レベル2の12Xのエリアには、ノード装置T1−4自身のノードIDと、IPアドレスまたはポート番号とが登録される。ノード装置T1−4のノードIDが存在しないエリアには、レベル1と同様に、他の任意のノード装置T1−4のノードIDと、IPアドレスまたはポート番号とが登録されている。
【0046】
更に、ルーティングテーブルのレベル3には、図2に示すように、ノードIDが'120'〜'123'である。そのため、レベル3の122のエリアには、ノード装置T1−4自身のノードIDと、IPアドレスまたはポート番号とが登録される。本実施形態では、ノード装置T1−4自身のノードIDとIPアドレスまたはポート番号とを登録したが、IPアドレスまたはポート番号はノード装置T1−4自身のものであるので、登録されなくても良い。
【0047】
なお、図2及び図3の例では、ノードIDのbit長を3桁×2bitである。例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる。図2および図3に示すように、本実施形態における第1ルーティングテーブルでは、レベルの数値が大きくなるほど、エリアが狭くなっていく。そして、このような第1ルーティングテーブルは、例えば、未参加のノード装置が分散保存システムSに参加する際に生成される。ここで、図4を参照して、コンテンツ分散保存システムSへの参加時における第1ルーティングテーブルの生成手順について詳しく説明する。
【0048】
図4は、コンテンツ分散保存システムSへの参加時における第1ルーティングテーブルの生成手順の一例を示す概念図である。具体的には、図4は、各ノード装置Tm−n間を参加メッセージが転送される概要を示す概念図である。また、図5は、第1ルーティングテーブル作成手順における参加メッセージの転送概要を示す概念図である。以降、未参加のノード装置T8−1がコンテンツ分散保存システムSに参加する例を用いて説明する。以下未参加のノード装置T8−1のノードIDは、「123」とする。また、図4及び図5では、ノード装置の略称として、「ノード」と記載している。また、参加メッセージの略称として、「JOIN」と記載している。
【0049】
図4及び図5に示すように、未参加のノード装置T8−1がコンテンツ分散保存システムSに参加する場合、コンタクトノード装置T9−1のIPアドレスを用いてコンタクトノード装置T9−1に参加メッセージが送信される。図5に示すように、参加メッセージは、未参加のノード装置T8−1のノードIDを含む。コンタクトノード装置T9−1にメッセージを送信するためのIPアドレスを、未参加のノード装置T8−1が事前に知っているものとする。例えば、第1オーバーレイネットワークPWまたは第2オーバーレイネットワークPLmに参加するために必要なソフトウェアをダウンロードするときに、コンタクトノード装置T9−1のIPアドレスは取得される。参加メッセージを受信したコンタクトノード装置T9−1は、コンタクトノード装置T9−1の第1ルーティングテーブルを参照する。具体的には、第1ルーティングテーブルにおけるレベル1のテーブルに登録されているノード情報が参照される。レベル1に登録されているノード情報を含む返信メッセージを、コンタクトノード装置T9−1はノード装置T8−1へ返信する。さらにコンタクトノード装置T9−1は、受信された参加メッセージに含まれるノードIDと、第1ルーティングテーブルに登録された他のノード装置Tm−nのノードIDと比較する。比較結果に基づいて第1ルーティングテーブルから、一つのノード装置Tm−nが選定される。例えば、参加メッセージに含まれるノードID123と最も近いノードID131であるノード装置T10−1が選定される。例えば、最も近いノードIDは、上位桁がより多く一致するID、または、比較されるノードIDとの差が最も小さいノードIDである。本実施形態では、ノードID131とノードID123との差が最も小さいため、ノード装置T1−4が選定あれる。選定されたノード装置が、ノード装置T1−4である例を用いて説明する。このとき、参加メッセージには、次に返信させるテーブルの段数を示す情報が含められる。上記例では、レベル2が参加メッセージに含められる。
【0050】
参加メッセージを受信したノード装置T10−1は、ノード装置T10−1の第1ルーティングテーブルのレベル2に登録されているノード情報を含む返信メッセージを、ノード装置T8−1に対して返信する。さらに、ノード装置T10−1は、第1ルーティングテーブルから選定されたノード装置T1−4へ、上記参加メッセージを転送する。このとき、参加メッセージには、次に返信させるべきテーブルの段数として、レベル3を示す情報が含められる。
【0051】
参加メッセージを受信したノード装置T1−4は、ノード装置T1−4の第1ルーティングテーブルにおけるレベル3に登録されているノード情報を含む返信メッセージを、ノード装置T8−1に対して返信する。以上のようにして参加メッセージは、ノードIDをキーとして第1ルーティングテーブルに基づいて転送される。そのため、未参加のノード装置T8−1のノードIDに一番近いノードIDを有するノード装置Tm−nまで転送される。例えば、最も近いノードIDは、上位桁がより多く一致するID、または、比較されるノードIDとの差が最も小さいノードIDである。
【0052】
そして、ノード装置T8−1は、各ノード装置から受信した返信メッセージに含まれるノード情報を用いて第1ルーティングテーブルを生成する。具体的には、コンタクトノード装置T9−1から送信されたノード情報が、ノード装置T8−1の第1ルーティングテーブルのレベル1に登録される。ノード装置T10−1から送信されたノード情報が、ノード装置T8−1の第1ルーティングテーブルのレベル2に登録される。ノード装置T1−4から送信されたノード情報が、ノード装置T8−1の第1ルーティングテーブルのレベル3に登録される。
【0053】
こうして、ノード装置T8−1は、コンテンツ分散保存システムSへの参加が完了することになる。本実施形態では、上述したような参加メッセージや、後述するクエリ等の各種メッセージは、メッセージの送信元、または、転送元のノード装置のノード情報を含む。そのため、メッセージを受信したノード装置は、ノード装置の第1ルーティングテーブルに、ノード情報を登録及び更新する。
【0054】
各ノード装置Tm−n間を転送するメッセージは、メッセージ送信元のノードIDと、メッセージの内容と、送信元または転送元のノード情報とを含む。メッセージ送信元のノードIDは、メッセージを送信した送信元のノード装置Tm−nのノードIDである。メッセージの内容は、メッセージの目的を表す「参加(JOIN)」、「パブリッシュ」、「クエリ」等である。「参加」は、参加メッセージを示す。「パブリッシュ」は、パブリッシュメッセージを示す。「クエリ」は、検索要求メッセージを示す。パブリッシュメッセージ及び検索要求メッセージの詳細は、後述する。ノード情報は、送信元または転送元のノード装置Tm−nのノードIDと、IPアドレスまたはポート番号とを含んで構成される。なお、'メッセージの内容'は、参加メッセージの場合、テーブルのノード情報の返信を要求する旨の情報等が含まれている。また、パブリッシュ(登録)メッセージまたはクエリの場合、パブリッシュ(登録)やクエリ(要求)の対象となるコンテンツのコンテンツIDが含まれている。
【0055】
図4に示す例の場合、ノード装置T10−1は、コンタクトノード装置T9−1から参加メッセージを受信する。そして、ノード装置T10−1は、参加メッセージに含まれる送信元または転送元のコンタクトノード装置T9−1のノード情報をノード装置T10−1の第1ルーティングテーブルに登録する。このとき、ノード装置T10−1のルーティングテーブルにコンタクトノード装置T9−1のノード情報が既に登録されている場合、登録済みコンタクトノード装置T9−1のノード情報は、受信したノード情報に基づいて更新される。
【0056】
同様に、ノード装置T10−1から参加メッセージを受信したノード装置T1−4は、参加メッセージに含まれる送信元または転送元のノード装置T10−1のノード情報をノード装置T1−4の第1ルーティングテーブルに登録、或いは更新する。以上の手順に従い、ルーティングテーブルは、ノード情報を登録、または、更新される。本明細書に記載のDHTの第1ルーティングテーブルについては、特開2006−197400号公報等で公知である。
【0057】
[第2オーバーレイネットワークの生成方法]
以下、第2オーバーレイネットワークPLmで用いられるDHTの第2ルーティングテーブルについて詳細に説明する。本実施形態では、各拠点mごとにオーバーレイネットワークが生成される。具体的には、同一LAN内に接続されるノード装置により、第2オーバーレイネットワークPLmが生成される。
【0058】
本実施形態では、拠点1を例に挙げて説明する。例えば、拠点1に接続するノード装置T1−8が新規に拠点1に接続したとする。この場合、ノード装置T1−8は、拠点1内のノード装置に向けて、参加要求メッセージをブロードキャストで送信する。参加要求メッセージは、参加メッセージを送信可能なノード装置Tm−nが、拠点mに存在するかを確認するためのメッセージである。参加要求メッセージがブロードキャストで送信されることで、拠点1に接続するノード装置T1−n全てに参加要求メッセージが送信されることになる。参加要求メッセージを受信したノード装置T1−nは、参加要求メッセージを送信したノード装置T1−8へ参加応答メッセージを送信する。この参加応答メッセージには、参加応答メッセージを送信したノード装置T1−nのノード情報が含まれる。参加応答メッセージを受信したノード装置T1−8は、参加応答メッセージが含むノードIDの中から、所定のノードIDを選択する。そして、選択されたノードIDに向けて、参加メッセージを送信する。参加メッセージを送信した後の処理は、図2〜図5に示す第1ルーティングテーブルの作成方法と同様の処理が、拠点内のノード装置T1−8間で実行される。参加要求メッセージが、拠点1内のノード装置に向けてマルチキャスト配信されても良い。
【0059】
参加要求メッセージを送信したときに、いずれのノード装置T1−nから参加応答メッセージが受信されなかった場合、そのノード装置は最初に拠点1に接続されたノード装置である。この場合、第2ルーティングテーブルには、第2ルーティングテーブルを保持するノード装置自身のノード情報が登録される。そして、新たに別のノード装置が拠点mに参加して参加要求メッセージを送信したとき、既に参加していたノード装置は、参加要求メッセージを受信する。参加要求メッセージを受信したノード装置は、参加応答メッセージを参加要求メッセージの送信元へ送信する。このとき、既に参加していたノード装置は、第2ルーティングテーブルに、参加要求メッセージが含むノード情報を登録する。このように、第2ルーティングテーブルが生成される。このようにして生成される第2ルーティングテーブルが、参加メッセージを送信したノード装置へ送信される。
【0060】
各拠点mごとに第2オーバーレイネットワークPLmのコンタクトノードが設定されても良い。例えば、第1オーバーレイネットワークPWまたは第2オーバーレイネットワークPLmに参加するために必要なソフトウェアをダウンロードするときに、第2オーバーレイネットワークPLmのコンタクトノードのIPアドレスは取得される。取得されたIPアドレスに基づいて、参加ノード装置は、拠点m内のコンタクトノードにアクセスする。このように、拠点m内のコンタクトノードにアクセスすることで、第2ルーティングテーブルが生成されても良い。
【0061】
[コンテンツ取得動作の説明]
コンテンツ分散保存システムSは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノード装置Tm−nに分散して保存する。以下、コンテンツデータを、「コンテンツ」という。そして、各ノード装置Tm−n間でレプリカが利用可能になっている。各コンテンツのオリジナルは、WANに接続されているセンターサーバ(不図示)に保存されている。以下、コンテンツのレプリカが保存されるノード装置Tm−nは、「コンテンツ保持ノード」という。以下の説明においては、オリジナルのコンテンツとレプリカとを特に区別することなく、コンテンツと称する。上述のコンテンツには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツID等の情報が付加されている。
【0062】
分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理(記憶)しているノード装置Tm−n等により記憶される。以下、コンテンツの所在を管理(記憶)しているノード装置Tm−nを、「ルートノード」という。インデックス情報は、レプリカを保存したノード装置Tm−nのノード情報と、コンテンツのコンテンツIDと等の組を含む。このようなルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノード装置Tm−nであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、コンテンツIDと上位桁がより多く一致するノードIDである。
【0063】
そして、或るノード装置Tm−nのユーザが、所望するコンテンツを取得したい場合、このコンテンツの取得を望むノード装置Tm−nは、メッセージを生成する。以下、ユーザによりコンテンツの取得を望むノード装置Tm−nを、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツID、ユーザノードのノード情報等を含む検索要求メッセージである。検索要求メッセージは、コンテンツ保持ノードを検索するためのメッセージでもある。上述の検索要求メッセージが、ユーザノードが記憶するDHTの第1ルーティングテーブルまたは第2ルーティングテーブルに従って、他のノード装置Tm−nに対して送出される。つまり、ユーザノードは、検索要求メッセージを、コンテンツルートノードに向けて送出する。これにより、検索要求メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到達することになる。
【0064】
上記検索要求メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックス情報キャッシュから取得する。そして、ルートノードは、取得したインデックス情報を含む検索応答メッセージを、検索要求メッセージの送信元であるユーザノードに対して返信する。インデックス情報を取得したユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのIPアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、取得を望むコンテンツのコンテンツIDが含まれている。コンテンツ要求メッセージを受信したコンテンツ保持ノードは、コンテンツ要求メッセージに含まれるコンテンツIDに対応するコンテンツを、コンテンツキャッシュエリアから取得する。そして、コンテンツ保持ノードは、取得したコンテンツを含むコンテンツ要求応答メッセージをユーザノードに送信する。このようにして、ユーザノードは、コンテンツをダウンロード(取得)することが可能になる。
【0065】
また、ユーザノードは、コンテンツ保持ノードからコンテンツを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツID、コンテンツを保存したノード装置Tm−nのノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索要求メッセージと同じように、コンテンツIDをキーとするDHTの第1ルーティングテーブルまたは第2ルーティングテーブルによってルートノードに到達することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツのコンテンツを保持するコンテンツ保持ノードとなる。
【0066】
本実施形態では、ノード装置Tm−nが第1ルーティングテーブルと第2ルーティングテーブルとを記憶している場合、パブリッシュメッセージは、第2ルーティングテーブルに記載された宛先へ送信される。一方、パブリッシュメッセージは、第1ルーティングテーブルに記載された宛先へは送信されない。これは、拠点m内、言い換えれば、LAN内に記憶されたコンテンツを、拠点m外またはLAN外に接続されたノード装置から取得できないようにするためである。これは、コンテンツ分散保存システムSへのコンテンツの提供者が、拠点m外またはLAN外にコンテンツを流出させたくないためである。本実施形態のように、パブリッシュメッセージが第2ルーティングテーブルに記載の宛先には送信され、第1ルーティングテーブルの宛先には送信されないことで、拠点m内またはLAN内でコンテンツをオーバーレイネットワークにより送受信することができる。また、上記の形態には限定されず、パブリッシュメッセージが、第1ルーティングテーブルと第2ルーティングテーブルとの両方に送信されても良い。
【0067】
本実施形態では、検索要求メッセージは、最初に第2ルーティングテーブルに記載の宛先へ送信される。そして、所定期間の間に検索応答メッセージが受信されなかった場合、次に第1ルーティングテーブルに記載の宛先へ検索要求メッセージが送信される。これは、コンテンツの取得先を、拠点m外またはLAN外よりも、拠点m内またはLAN内を優先させるためである。この処理により、LAN内からLAN外、または、LAN外からLAN内へのコンテンツのダウンロード及びアップロードの頻度を抑え通信を行うことができる。また、検索要求メッセージが、第1ルーティングテーブルと第2ルーティングテーブルとの両方に送信され、受信した応答メッセージの中から、同じ拠点m内または同じLAN内に接続されたノード装置が選択されてコンテンツがダウンロード及びアップロードされても良い。
【0068】
[ノード装置の電気的構成]
次に、図6を参照して、ノード装置Tm−nの電気的構成ついて説明する。図6は、本実施形態のノード装置Tm−nの電気的構成を示すブロック図である。図6に示すように、本実施形態のノード装置Tm−nには、ノード装置Tm−nを制御するCPU1が備えられている。CPU1には、HDD2とRAM3とデコーダ部4と通信部9とがそれぞれ電気的に接続されている。HDD2、RAM3、などの記憶手段とCPU1とは、ノード装置Tm−nのコンピュータを構成している。CPU1、HDD2、RAM3、デコーダ部4、及び通信部9はバスを介して相互に接続されている。なお、ノード装置Tm−nとしては、パーソナルコンピュータ、又はSTB(Set Top Box)等を適用可能である。
【0069】
HDD2は、プログラム記憶領域21と、アドレス情報記憶領域24と、第1ルーティングテーブル記憶領域25と第2ルーティングテーブル記憶領域26とを含む。プログラム記憶領域21は、メイン動作プログラム記憶領域22と第2ルーティングテーブル生成プログラム記憶領域23とを含む。なお、上記メイン動作プログラム及び第2ルーティングテーブル生成プログラムは、例えば、ネットワークNW上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【0070】
アドレス情報記憶領域24は、コンタクトノードのIPアドレスが取得される。第1ルーティングテーブル記憶領域25には、生成された第1ルーティングテーブルが記憶される。第2ルーティングテーブル記憶領域26は、生成された第2ルーティングテーブルが記憶される。本実施形態の第1ルーティングテーブル記憶領域25は、本発明の第1取得部の一例である。また、本実施形態の第2ルーティングテーブル記憶領域26は、本発明の第2取得部の一例である。
【0071】
RAM3は、コンテンツデータ一時記憶領域31を含む。コンテンツデータ一時記憶領域31は、ノード装置Tm−n間で送受信されるコンテンツデータが一時記憶される。通信部9は、ネットワークNWを通じてノード装置Tm−nまたは外部装置と情報の通信制御を行う。
【0072】
ノード装置Tm−nは、通信部9を介して要求に応じて送信されてきたコンテンツデータを受信する受信処理を行う。本実施形態のコンテンツデータはパケット化されて送信されるようになっている。各パケットは、通信部9を通じて受信され、RAM3のコンテンツデータ一時記憶領域31に一時記憶される。このように一時記憶されたコンテンツデータは、RAM3から読み出されてデコーダ部4と、映像処理部5と、音声処理部7と、ディスプレイ6と、スピーカ8とを通じて再生出力される。或いは、RAM3に記憶されたコンテンツデータは、RAM3から読み出されてHDD2に記憶されても良い。または、コンテンツデータがRAM3を介さず、直接HDD2に記憶されても良い。その後、入力部10を介してユーザからの操作指示にしたがって、HDD2からコンテンツデータが読み出される。読み出されたコンテンツデータは、デコーダ部4と、映像処理部5と、音声処理部7と、ディスプレイ6と、スピーカ8とを通じて再生出力される。これにより、ユーザはコンテンツの視聴を行うことができる。
【0073】
[本実施形態の端末装置1の動作の説明]
以上説明した構成からなる本実施形態のノード装置Tm−nの動作及び作用について、添付図面を参照して説明する。まず、ノード装置Tm−nの動作及び作用について、添付図面を参照して説明する。図7は、ノード装置Tm−nにおけるメイン動作の処理手順を示すフローチャートである。メイン動作は、電源またはコンセントを介して商用電源などの外部電源と端末装置1とが接続され、インストールされたP2PソフトウェアプログラムがCPU1により実行されたことにより、遂行される。以下に示す処理は、CPU1により処理される。
【0074】
ステップS101では、ノード装置Tm−nは、コンタクトノードに参加メッセージを送信する。アドレス情報記憶領域24に記憶されたIPアドレスに基づいてコンタクトノードにメッセージが送信されると、コンタクトノードからノード情報が取得される。また、コンタクトノードが参加メッセージを他のノード装置に転送する。転送された参加メッセージを受信したノード装置は、参加メッセージを送信したノード装置Tm−nへノード情報を送信する。このように、ノード装置Tm−nは、参加メッセージを受信したノード装置により送信されたノード情報を取得する。
【0075】
ステップS102では、ステップS101で参加メッセージを送信して取得されたノード情報に基づいて、第1ルーティングテーブルが生成される。生成された第1ルーティングテーブルは、第1ルーティングテーブル記憶領域25へ記憶される。本実施形態のステップS102は、本発明の第1取得ステップの一例である。
【0076】
ステップS103では、第2ルーティングテーブル生成処理が実行される。第2ルーティグテーブル生成処理の詳細は、後述する。生成された第2ルーティングテーブルは、第2ルーティングテーブル記憶領域26に記憶される。本実施形態のステップS103は、本発明の第2取得ステップの一例である。
【0077】
ステップS104では、ノード装置Tm−nによりパブリッシュメッセージが送信されたか否かが判定される。パブリッシュメッセージが送信されたと判定されたとき(ステップS104:YES)、ステップS105が実行される。パブリッシュメッセージが送信されたと判定されなかったとき(ステップS104:NO)、ステップS106が実行される。本実施形態のコンピュータと、ステップS103及びステップS104とは、本発明の決定部の一例である。また、本発明のステップS104は、本発明の送信部の一例である。また、本実施形態のステップS103及びステップS104は、本発明の決定ステップの一例である。
【0078】
ステップS105では、第2ルーティングテーブルに記載された宛先へ、パブリッシュメッセージが送信される。第2ルーティングテーブル記憶領域26に記憶された宛先に向けて、パブリッシュメッセージが送信される。本実施形態のコンピュータとステップS105とは、本発明の送信部の一例である。また、本実施形態のステップS105は、本発明の送信ステップの一例である。
【0079】
ステップS106では、ノード装置Tm−nにより検索要求メッセージが送信されたか否かが判定される。検索要求メッセージが送信されたと判定されたとき(ステップS106:YES)、ステップS107が実行される。検索要求メッセージが送信されたと判定されなかったとき(ステップS106:NO)、ステップS114が実行される。
【0080】
ステップS107では、第2ルーティングテーブルに記載された宛先へ、検索要求メッセージが送信される。第2ルーティングテーブル記憶領域26に記憶された宛先に向けて、検索要求メッセージが送信される。また、ステップS107で検索要求メッセージが送信された時刻が、RAM3の所定の記憶領域に一時記憶される。本実施形態の時刻は、通信部9を介してインターネットから取得される。また、図示していないCPU1による計時動作により、時刻が決定されても良い。本実施形態のコンピュータと、ステップS106及びステップS107とは、本発明の決定部の一例である。また、本発明のステップS107は、本発明の送信部の一例である。また、本実施形態のステップS106及びステップS107は、本発明の決定ステップの一例である。
【0081】
ステップS108では、ステップS107で検索要求メッセージが送信されてから、所定の期間以内に、応答メッセージが受信されたか否かが判定される。ステップS107でRAM8に記憶された時刻から所定の期間以内に、応答メッセージが受信されたか否かが判定される。所定の期間以内に応答メッセージが受信されたと判定されたとき(ステップS108:YES)、ステップS111が実行される。所定の期間以内に応答メッセージが受信されたと判定されなかったとき(ステップS108:NO)、ステップS109が実行される。本実施形態のコンピュータとステップS108とは、本発明の第3判定部の一例である。
【0082】
ステップS109では、第1ルーティングテーブルに基づいて、検索要求メッセージが送信される。第1ルーティングテーブル記憶領域25に記憶された宛先に向けて、検索要求メッセージが送信される。また、ステップS109で検索要求メッセージが送信された時刻が、RAM3の所定の記憶領域に一時記憶される。本実施形態の時刻は、通信部9を介してインターネットから取得される。また、図示していないCPU1による計時動作により、時刻が決定されても良い。本実施形態のコンピュータとステップS109とは、本発明の送信部の一例である。また、本実施形態のステップS109は、本発明の送信ステップの一例である。
【0083】
ステップS110では、ステップS109で検索要求メッセージが送信されてから、所定の期間以内に、応答メッセージが受信されたか否かが判定される。ステップS109でRAM8に記憶された時刻から所定の期間以内に、応答メッセージが受信されたか否かが判定される。所定の期間以内に応答メッセージが受信されたと判定されたとき(ステップS110:YES)、ステップS111が実行される。所定の期間以内に応答メッセージが受信されたと判定されなかったとき(ステップS110:NO)、ステップS113が実行される。
【0084】
ステップS111では、検索応答メッセージが受信される。受信された検索応答メッセージは、RAM3の所定の記憶領域に一時記憶される。本実施形態のコンピュータとステップS111とは、本発明の受信部の一例である。
【0085】
ステップS112では、ステップS108またはステップS110で受信した応答メッセージに基づいて、コンテンツの取得先が決定される。そして、決定された取得先から、コンテンツがダウンロードされる。ステップS108で応答メッセージが受信された場合、応答メッセージが含むノード情報は、同じ拠点mに接続されるノード装置のノード情報である。このため、同じ拠点m、言い換えれば、同じLAN内のノード装置から、コンテンツをダウンロードすることができる。一方、同じ拠点m、または、同じLAN内のノード装置からノード情報が取得できなかったとき、ステップS110で取得された応答メッセージが含むノード情報は、拠点mとは異なる接続先に接続するノード装置のノード情報である。このとき、第1オーバーレイネットワークPWに接続するノード装置からコンテンツを取得することができる。
【0086】
ステップS113では、エラー通知が行われる。エラー通知は、第1オーバーレイネットワークPWまたは第2オーバーレイネットワークPLmのいずれかからもコンテンツが取得できなかったことを示す。
【0087】
ステップS114では、同じ拠点m内、言い換えれば、同じLAN内に接続されるノード装置から送信された参加メッセージが受信されたか否かが判定される。参加メッセージが受信されたと判定されたとき(ステップS114:YES)、ステップS115が実行される。参加メッセージが送信されたと判定されなかったとき(ステップS114:NO)、ステップS116が実行される。
【0088】
ステップS115では、第2ルーティングテーブルに記載されたノード情報が、参加メッセージの送信元に送信される。上述した図2及び図3で示したように、参加メッセージには、参加メッセージを送信したノード装置のノード情報が含まれている。このノード情報に基づいて、参加メッセージの送信元に、ノード情報が送信される。具体的には、参加メッセージには、レベルが含まれている。第2ルーティングテーブルに記載された情報の中で、参加メッセージに含まれるレベルに応じた位置のノード情報が、参加メッセージの送信元に送信される。
【0089】
ステップS116では、同じ拠点m内、言い換えれば、同じLAN内に接続されるノード装置から送信された参加要求メッセージが受信されたか否かが判定される。参加要求メッセージが受信されたと判定されたとき(ステップS116:YES)、ステップS117が実行される。参加メッセージが送信されたと判定されなかったとき(ステップS116:NO)、ステップS118が実行される。
【0090】
ステップS117では、参加応答メッセージが、参加要求メッセージの送信元に送信される。上述したように、参加要求メッセージには、参加要求メッセージを送信したノード装置のノード情報が含まれている。このノード情報に基づいて、参加要求メッセージの送信元に、参加応答メッセージが送信される。
【0091】
ステップS118では、その他メッセージが受信されたか否かが判定される。その他メッセージが受信されたと判定されたとき(ステップS118:YES)、ステップS119が実行される。その他メッセージが送信されたと判定されなかったとき(ステップS118:NO)、ステップS120が実行される。
【0092】
ステップS119では、第1ルーティングテーブルと第2ルーティングテーブルとに記載された宛先へ、その他メッセージが送信される。第1ルーティングテーブル記憶領域25に記憶された宛先と、第2ルーティングテーブル記憶領域26に記憶された宛先に向けて、その他メッセージが送信される。
【0093】
ステップS120では、ユーザにより電源スイッチがOFFにされたかが判定される。電源スイッチがOFFにされなかった場合は、再度ステップS104が実行される。電源スイッチがOFFにされた場合は、メイン動作処理が終了される。
【0094】
[本実施形態の第2ルーティングテーブル生成処理動作の説明]
ステップS201では、同じ拠点m、言い換えれば、同じLAN内に接続するノード装置に向けて、ブロードキャストにより参加要求メッセージが送信される。また、ステップS201で参加要求メッセージが送信された時刻が、RAM3の所定の記憶領域に一時記憶される。本実施形態の時刻は、通信部9を介してインターネットから取得される。また、図示していないCPU1による計時動作により、時刻が決定されても良い。
【0095】
ステップS202では、参加応答メッセージが受信されたか否かが判定される。ステップS201で送信された参加要求メッセージを受信したノード装置は、参加応答メッセージを送信する。参加要求メッセージを受信したノード装置から、参加応答メッセージを受信したか否かが判定される。参加応答メッセージが受信されたと判定されたとき(ステップS202:YES)、ステップS203が実行される。参加応答メッセージが受信されたと判定されなかったとき(ステップS202:NO)、ステップS204が実行される。
【0096】
ステップS203では、ステップS202で受信された応答メッセージが、RAM3の所定の記憶領域に一時記憶される。
【0097】
ステップS204では、ステップS201で参加要求メッセージが送信されてから、所定の期間以内が経過したか否かが判定される。ステップS201でRAM8に記憶された時刻と、現在の時刻とが比較される。比較した結果、所定の期間が経過したと判定された場合(ステップS204:YES)、ステップS205が実行される。所定の期間が経過したと判定されなかった場合(ステップS204:NO)、ステップS202が実行される。
【0098】
ステップS205では、同じ拠点m、言い換えれば、同じLAN内に他のノード装置が接続されているか否かが判定される。具体的には、ステップS203で受信された応答メッセージに基づいて、他のノード装置が接続されているか否かが判定される。RAM3の所定の記憶領域に、ステップS203で受信された参加応答メッセージが1つでも記憶されていれば、他のノード装置が存在していると判定される。ステップS203で受信された参加応答メッセージが1つでも記憶されていなければ、他のノード装置が存在していないと判定される。同じLAN内に他のノード装置が接続されていると判定されたとき(ステップS205:YES)、ステップS206が実行される。同じLAN内に他のノード装置が接続されていないと判定されたとき(ステップS205:NO)、第2ルーティングテーブル生成処理が終了される。
【0099】
ステップS206では、参加応答メッセージが示すノード装置の中から、所定のノード装置が選択される。具体的には、RAM3の所定の記憶領域に記憶された参加応答メッセージの中から、所定の参加応答メッセージが選択される。参加応答メッセージが複数ある場合、ランダムに参加応答メッセージが選択されても良い。また、ノード装置Tm−nのノードIDと最も近いノードIDを含む参加応答メッセージが選択されても良い。選択される参加応答メッセージの数は、1つであっても、複数であっても良い。
【0100】
ステップS207では、ステップS206で選択された参加応答メッセージが示すノード装置へ、参加メッセージが送信される。参加メッセージが送信されることで、第2ルーティングテーブルが生成される。生成された第2ルーティングテーブルは、第2ルーティングテーブル記憶領域26に記憶される。
【0101】
(変形例1)
以下、本実施形態の変形例1について説明する。本実施形態のステップS104では、送信されるメッセージが、パブリッシュメッセージであるか否かが判定されている。パブリッシュメッセージであるときに、ステップS105では、第2ルーティングテーブルに記載の宛先へパブリッシュメッセージが送信されている。変形例1では、コンテンツの提供者側で、各コンテンツにコンテンツの識別情報が付与されてもよい。このコンテンツの識別情報は、第1ルーティングテーブルと第2ルーティングテーブルとへパブリッシュメッセージを送信してもよいコンテンツであるかと、第2ルーティングテーブルに記載された宛先のみへパブリッシュメッセージを送信してもよいコンテンツであるかと、第1ルーティングテーブルのみへパブリッシュメッセージを送信してもよいコンテンツであるかとを識別する情報である。コンテンツ提供者が第1オーバーレイネットワークPWまたは第2オーバーレイネットワークPLmにコンテンツを投入するときに、コンテンツの識別情報が付与される。各ノード装置Tm−nは、コンテンツをHDD2またはRAM3に記憶したときに、コンテンツの識別情報も対応付けて記憶する。このとき、パブリッシュメッセージには、コンテンツIDとコンテンツの識別情報とが含まれる。このパブリッシュメッセージに含まれる識別情報に基づいて、第1ルーティングテーブルと第2ルーティングテーブルとにパブリッシュメッセージが送信されてもよいか、第2ルーティングテーブルにのみパブリッシュメッセージが送信されてよいか、第1ルーティングテーブルにのみパブリッシュメッセージが送信されてよいかが、ステップS104で判定されてもよい。判定結果により、パブリッシュメッセージが送信される。識別情報により、少なくとも第1ルーティングテーブルと第2ルーティングテーブルとへパブリッシュメッセージを送信してもよいコンテンツであるかと、第2ルーティングテーブルに記載された宛先のみへパブリッシュメッセージを送信してもよいコンテンツであるかと、が判定されても良い。変形例1のステップS104での判定処理と、本実施形態のコンピュータとが、本発明の第2判定部の一例である。
【0102】
(変形例2)
以下、本実施形態の変形例2について説明する。本実施形態のステップS107では、第2ルーティングテーブルに記載された宛先へ、検索要求メッセージが送信される。そしてステップS108では、所定の期間以内に検索応答メッセージが受信されたか否かが判定されている。所定期間以内に検索応答メッセージが受信されたとき、ステップS111で検索応答メッセージが受信される。変形例2では、ステップS107で送信した検索要求メッセージに対応する検索応答メッセージを受信した数が所定の数より小さいか否かが判定される。所定の数より小さいと判定されたとき、第1ルーティングテーブルに記載の宛先へ検索要求メッセージが送信されても良い。これにより、受信した検索応答メッセージが所定の数より小さかったときに、検索応答メッセージが含むコンテンツのダウンロード先からコンテンツが取得できないことが考えられる。この場合、検索応答メッセージの数が少ないため、コンテンツの取得先候補が少なく、コンテンツを取得するのに必要以上に時間がかかってしまう場合がある。第1ルーティングテーブルに記載の宛先へ検索要求メッセージが送信されることで、第1オーバーレイネットワークPWに接続されるノード装置からもコンテンツが取得可能になり、コンテンツの取得にかかる時間を短縮することができる。
【符号の説明】
【0103】
1 CPU1
2 HDD
3 RAM
4 デコーダ部
5 映像処理部
6 ディスプレイ6
7 音声処理部
8 スピーカ8
9 通信部
10 入力部
Tm−n ノード装置
NW ネットワーク
FW ファイアーウォール
BR ブロードバンドルータ
S コンテンツ分散保存システム
PW 第1オーバーレイネットワーク
PLm 第2オーバーレイネットワーク

【特許請求の範囲】
【請求項1】
複数のコンテンツが複数のノード装置間で送受信され、グローバルアドレスにより通信可能な外部ネットワークが1以上の内部ネットワークを含み、前記複数のノード装置の少なくとも一部のノード装置が、前記前記内部ネットワークに接続されるノード装置であって、
前記外部ネットワークまたは前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が記憶された第1ルーティングテーブルを取得する第1取得部と、
前記ノード装置が接続する前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が記憶された第2ルーティングテーブルを取得する第2取得部と、
前記ノード装置が送信するメッセージの内容に応じて、前記第1ルーティングテーブルと前記第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する決定部と、
前記決定部により決定されたルーティングテーブルに記載された所在情報を送信先として前記メッセージを送信する送信部と、
を備えることを特徴とするノード装置。
【請求項2】
前記複数のノード装置のいずれかから取得したコンテンツを記憶する記憶部を備え、
前記送信部は、前記ノード装置が前記記憶部にコンテンツを記憶したことを前記複数のノード装置に通知する通知メッセージであって、コンテンツを記憶した前記ノード装置の前記所在情報を含む前記通知メッセージを送信し、
前記送信部が前記通知メッセージを送信する場合、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定することを特徴とする請求項1に記載のノード装置。
【請求項3】
前記記憶部に記憶されたコンテンツが、前記第1オーバーレイネットワークへの公開を許可されたコンテンツであるか否かを判定する第1判定部を備え、
前記第1判定部により、前記記憶部が記憶したコンテンツが、許可されたコンテンツであると判定されたとき、前記決定部は、前記第1ルーティングテーブルと前記第2ルーティングテーブルとに記載された前記所在情報を送信先として決定し、
前記第1判定部により、前記記憶部が記憶したコンテンツが、許可されたコンテンツでないと判定されたとき、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定することを特徴とする請求項2に記載のノード装置。
【請求項4】
前記ノード装置が、前記記憶部に記憶されたコンテンツを、前記第1オーバーレイネットワークへ公開することを許可されたノード装置であるか否かを判定する第2判定部を備え、
前記第2判定部により、前記ノード装置が許可されたノード装置であると判定されたとき、前記決定部は、前記第1ルーティングテーブルと前記第2ルーティングテーブルとに記載された前記所在情報を送信先として決定し、
前記第2判定部により、前記ノード装置が許可されたノード装置でないと判定されたとき、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定することを特徴とする請求項2に記載のノード装置。
【請求項5】
前記送信部は、前記複数のノード装置の中から所望のコンテンツを保持する1以上のコンテンツ保持ノード装置の前記ネットワーク上における所在を示す所在情報を検索する検索メッセージを送信し、
前記送信部が前記検索メッセージを送信する場合、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定することを特徴とする請求項1に記載のノード装置。
【請求項6】
前記送信部が前記検索メッセージを送信する場合、前記決定部は、前記第2ルーティングテーブルに記載された前記所在情報を送信先として決定し、前記第2ルーティングテーブルに記載された前記所在情報を送信先として前記検索メッセージを送信した後に、前記決定部は、前記第1ルーティングテーブルに記載された前記所在情報を送信先としてさらに決定することを特徴とする請求項5に記載のノード装置。
【請求項7】
前記検索メッセージに対応する前記コンテンツ保持ノードの前記所在情報を受信する受信部と、
前記決定部により決定された前記第2ルーティングテーブルに記載された前記所在情報を送信先として前記検索メッセージを送信してから、所定の時間の間に、前記受信部が前記所在情報を受信したか否かを判定する第3判定部と、
を備え、
前記第3判定部により、前記所定の時間の間に、前記受信部が前記所在情報を受信したと判定されなかったとき、前記送信部は、前記第1ルーティングテーブルに記載された前記所在情報を送信先として、前記検索メッセージを送信することを特徴とする請求項6に記載のノード装置。
【請求項8】
前記検索メッセージに対応する前記コンテンツ保持ノードの前記所在情報を受信する受信部と、
前記受信部が受信したコンテンツ保持ノードの前記所在情報の数が、所定の数より小さいか否かを判定する第4判定部と、
を備え、
前記第4判定部により、前記コンテンツ保持ノードの数が、所定の数より小さいと判定されたとき、前記送信部は、前記第1ルーティングテーブルに記載された前記所在情報を送信先として、前記検索メッセージを送信することを特徴とする請求項6に記載のノード装置。
【請求項9】
複数のコンテンツが複数のノード装置間で送受信され、グローバルアドレスにより通信可能な外部ネットワークが1以上の内部ネットワークを含み、前記複数のノード装置の少なくとも一部のノード装置が、前記前記内部ネットワークに接続されるノード装置により構成される情報通信システムであって、
前記情報通信システムは、
前記外部ネットワークまたは前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が記憶された第1ルーティングテーブルを取得する第1取得部と、
前記ノード装置が接続する前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が記憶された第2ルーティングテーブルを取得する第2取得部と、
前記ノード装置が送信するメッセージの内容に応じて、前記第1ルーティングテーブルと前記第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する決定部と、
前記決定部により決定されたルーティングテーブルに記載された所在情報を送信先として前記メッセージを送信する送信部と、
を備えることを特徴とするノード装置を備えることを特徴とする情報通信システム。
【請求項10】
複数のコンテンツが複数のノード装置間で送受信され、グローバルアドレスにより通信可能な外部ネットワークが1以上の内部ネットワークを含み、前記複数のノード装置の少なくとも一部のノード装置が、前記前記内部ネットワークに接続されるノード装置のメッセージ送信方法であって、
前記外部ネットワークまたは前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上の所在を示す所在情報が記憶された第1ルーティングテーブルを取得する第1取得ステップと、
前記ノード装置が接続する前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が記憶された第2ルーティングテーブルを取得する第2取得ステップと、
前記ノード装置が送信するメッセージの内容に応じて、前記第1ルーティングテーブルと前記第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する決定ステップと、
前記決定部により決定されたルーティングテーブルに記載された所在情報を送信先として前記メッセージを送信する送信ステップと、
を含むメッセージ送信方法。
【請求項11】
複数のコンテンツが複数のノード装置間で送受信され、グローバルアドレスにより通信可能な外部ネットワークが1以上の内部ネットワークを含み、前記複数のノード装置の少なくとも一部のノード装置が、前記前記内部ネットワークに接続されるノード装置のメッセージ送信方法であって、
前記外部ネットワークまたは前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第1オーバーレイネットワークであって、前記第1オーバーレイネットワークに参加するノード装置の前記ネットワーク上での所在を示す所在情報が記憶された第1ルーティングテーブルを取得する第1取得ステップと、
前記ノード装置が接続する前記内部ネットワークに接続されるノード装置の少なくとも一部のノード装置により構成される第2オーバーレイネットワークであって、前記第2オーバーレイネットワークに参加するノード装置の前記所在情報が記憶された第2ルーティングテーブルを取得する第2取得ステップと、
前記ノード装置が送信するメッセージの内容に応じて、前記第1ルーティングテーブルと前記第2ルーティングテーブルとの中から、メッセージの送信先として用いるルーティングテーブルを決定する決定ステップと、
前記決定部により決定されたルーティングテーブルに記載された所在情報を送信先として前記メッセージを送信する送信ステップと、
をノード装置が含むコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−211476(P2011−211476A)
【公開日】平成23年10月20日(2011.10.20)
【国際特許分類】
【出願番号】特願2010−77056(P2010−77056)
【出願日】平成22年3月30日(2010.3.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】