説明

分散保存システム、代表ノード装置、通知方法及びプログラム

【課題】本発明の目的は、ヒントサーバへの処理負荷が集中し、ヒントサーバの処理負荷を低減させることが可能な通信方法を提供することである。
【解決手段】
本実施形態では、ヒントサーバ10の代わりに、各上位機器群、または、下位機器群に接続された代表ノードが、ネットワーク距離を記憶することができる。この結果、ヒントサーバ10へ、ネットワーク距離のリクエストが集中することを防ぐことができる。また、代表ノード装置はネットワーク距離を記憶する代わりに、本実施形態のトポロジー情報を記憶しても良い。この結果、ヒントサーバ10が記憶するトポロジー情報を、代表ノード装置に分散して保存することができるため、ヒントサーバ10への負荷集中を防ぐことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムに関する。具体的には、通信負荷の少ない通信経路のコンテンツホルダからコンテンツを取得する方法に関する。
【背景技術】
【0002】
この種のピアツーピア型の通信システムは、複数のノード装置により構成される。各種コンテンツのコンテンツデータは、複数のコンテンツデータの複製データ(以下、「レプリカ」という)として複数のノード装置に分散して保存される。コンテンツデータは、映画及び音楽などのコンテンツデータである。一般的には、各ノード装置間でレプリカを利用可能とした分散保存システムが知られている。これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。
【0003】
そして、上述のノード装置は、所望のコンテンツを取得するとき、コンテンツデータのレプリカの所在を検索するためのメッセージ(クエリ)が他のノード装置へ送出される。これにより、メッセージは、上記DHTにしたがって、コンテンツデータのレプリカの所在の管理元のノード装置に向かって転送される。そして、上記メッセージを送出したノード装置は、上記管理元のノード装置から上記レプリカの所在を示す情報を取得することになる。これにより、上記メッセージを送出したノード装置は、上記検索に係るコンテンツデータのレプリカを保存しているノード装置にアクセスすることができる。そして、レプリカを取得(ダウンロード)することができる。通信負荷の少ない通信経路を選択するために、例えば、特許文献2には、コンテンツホルダが所属しているAS(Autonomous System)番号が用いられている技術が開示されている。AS番号は、インターネット内にある複数の組織が運用するネットワークを識別するための番号である。また、ホップ数を用いて経路選択をするものもある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−197400号公報
【特許文献2】特開2006−277338号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、ホップ数を測定しようとしても必ずしもルータが応答するとは限らない。また、AS番号を用いて、通信経路を決定しようとしても、AS番号は全ての管理者に割り当てられているとは限らない。そのため従来では、すべてのノード装置間の通信負荷を判定するために、インターネットのトポロジー情報を記憶したヒントサーバ(トラッカー)が用いられてきた。しかしながら、コンテンツを取得するたびにヒントサーバにアクセスしているのでは、ヒントサーバへの処理負荷が集中し、ヒントサーバの処理負荷が大きかった。
【0006】
本発明は、上述した問題点を解決するためになされたものである。本発明の目的は、ヒントサーバへの処理負荷を低減させることが可能な通信方法を提供することである。
【課題を解決するための手段】
【0007】
請求項1に記載の発明によれば、ネットワーク上で送受信される情報を中継する中継機器を1以上備えることで通信機能を提供する複数の1次機器群と、前記1次機器群の下位に位置し、1以上の前記中継機器を備えることで通信機能を提供する複数の2次機器群と、から構成されるネットワークに、前記1次機器群または前記2次機器群に接続される複数のノード装置により構成されるオーバーレイネットワークにより複数のコンテンツを分散して保存する分散保存システムであって、前記分散保存システムは、前記複数のノード装置と、前記複数のノード装置の中で、前記1次機器群及び前記2次機器群に代表して接続される代表ノード装置と、前記ネットワークにおける前記1次機器群と前記2次機器群との接続関係を記憶した情報処理装置と、を備え、前記代表ノード装置は、前記複数のノード装置の中で、所望のコンテンツを保持する保持ノードであって、前記保持ノードにおける前記代表ノード装置の前記ネットワーク上における所在を示す所在情報を含むメッセージを、前記複数のノード装置のいずれかから受信する第1受信部と、前記第1受信部により受信された前記メッセージに基づいて、前記メッセージに含まれる前記所在情報が示す前記代表ノード装置が接続される前記1次機器群、または、前記2次機器群を示す第1接続情報を、前記情報処理装置から取得する第1取得部と、前記第1取得部により取得した前記第1接続情報を記憶する記憶部と、前記第1取得部により取得された前記第1接続情報を、前記第1受信部によりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信部と、を備えることを特徴とする分散保存システムである。
【0008】
請求項2に記載の発明によれば、前記代表ノード装置は、前記第1受信部により受信されたメッセージに含まれる前記所在情報が示す前記代表ノード装置の前記第1接続情報が、前記記憶部に記憶されているか否かを判定する判定部を備え、前記判定部により、前記第1接続情報が記憶されていると判定されたとき、前記送信部は、前記記憶部に記憶された前記第1接続情報を、前記送信元ノード装置へ送信し、前記判定部により、前記第1接続情報が記憶されている判定されなかったとき、前記第1取得部は、前記第1接続情報を前記情報処理装置から取得し、且つ、前記記憶部は、前記第1取得部により取得された前記第1接続情報を記憶することを特徴とする。
【0009】
請求項3に記載の発明によれば、前記複数のノード装置は、前記複数ノード装置が接続される前記1次機器群または前記2次機器群の前記代表ノード装置の前記所在情報を取得し、前記ノード装置は、前記複数のノード装置の中から、所望のコンテンツを保持する1以上の前記保持ノード装置の前記所在情報を検索する検索部と、前記検索部による検索結果として、前記保持ノードの前記所在情報と共に、前記コンテンツ保持ノードの前記代表ノード装置の前記所在情報を受信する第2受信部と、前記第2受信部により受信した前記保持ノードにおける前記代表ノード装置の前記所在情報に基づいて、前記保持ノードにおける前記代表ノード装置の前記第1接続情報を、前記代表ノードから取得する第2取得部と、を備えることを特徴とする。
【0010】
請求項4に記載の発明によれば、前記複数のノード装置は、前記複数のノード装置が接続される前記1次機器群または前記2次機器群を示す第2接続情報を取得し、前記ノード装置は、前記第2取得部により取得された前記保持ノードにおける前記代表ノード装置の前記第1接続情報と、前記第2接続情報とに基づいて、前記検索部により検索した前記ノード装置とネットワーク上で距離の近い前記コンテンツ保持ノードから、前記所定のコンテンツを取得するコンテンツ取得部と、を備えることを特徴とする。
【0011】
請求項5に記載の発明によれば、ネットワーク上で送受信される情報を中継する中継機器を1以上備えることで通信機能を提供する複数の1次機器群と、前記1次機器群の下位に位置し、1以上の前記中継機器を備えることで通信機能を提供する複数の2次機器群と、から構成されるネットワークに、前記1次機器群または前記2次機器群に接続される複数のノード装置により構成されるオーバーレイネットワークにより複数のコンテンツを分散して保存する分散保存システムの中で、前記複数のノード装置の中で、前記1次機器群及び前記2次機器群に代表して接続される代表ノード装置であって、前記代表ノード装置は、前記複数のノード装置の中で、所望のコンテンツを保持する保持ノードであって、前記保持ノードにおける前記代表ノード装置の前記ネットワーク上における所在を示す所在情報を含むメッセージを、前記複数のノード装置のいずれかから受信する第1受信部と、前記第1受信部により受信された前記メッセージに基づいて、前記メッセージが含む前記所在情報が示す前記代表ノード装置が接続される前記1次機器群、または、前記2次機器群を示す第1接続情報を、前記ネットワークにおける前記1次機器群と前記2次機器群との接続関係を記憶した情報処理装置から取得する第1取得部と、前記第1取得部により取得した前記第1接続情報を記憶する記憶部と、前記第1取得部により取得された前記第1接続情報を、前記第1受信部によりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信部と、を備えることを特徴とする代表ノード装置である。
【0012】
請求項6に記載の発明によれば、前記代表ノード装置は、前記第1受信部により受信されたメッセージに含まれる前記所在情報が示す前記代表ノード装置の前記第1接続情報が、前記記憶部に記憶されているか否かを判定する判定部を備え、前記判定部により、前記第1接続情報が記憶されていると判定されたとき、前記送信部は、前記記憶部に記憶された前記第1接続情報を、前記送信元ノード装置へ送信し、前記判定部により、前記第1接続情報が記憶されている判定されなかったとき、前記第1取得部は、前記第1接続情報を前記情報処理装置から取得し、且つ、前記記憶部は、前記第1取得部により取得された前記第1接続情報を記憶することを特徴とする。
【0013】
請求項7に記載の発明によれば、ネットワーク上で送受信される情報を中継する中継機器を1以上備えることで通信機能を提供する複数の1次機器群と、前記1次機器群の下位に位置し、1以上の前記中継機器を備えることで通信機能を提供する複数の2次機器群と、から構成されるネットワークに、前記1次機器群または前記2次機器群に接続される複数のノード装置により構成されるオーバーレイネットワークにより複数のコンテンツを分散して保存する分散保存システムの中で、前記複数のノード装置の中で、前記1次機器群及び前記2次機器群に代表して接続される代表ノード装置のコンピュータに、前記複数のノード装置の中で、所望のコンテンツを保持する保持ノードであって、前記保持ノードにおける前記代表ノード装置の前記ネットワーク上における所在を示す所在情報を含むメッセージを、前記複数のノード装置のいずれかから受信する第1受信ステップと、前記第1受信ステップにより受信された前記メッセージに基づいて、前記メッセージが含む前記所在情報が示す前記代表ノード装置が接続される前記1次機器群、または、前記2次機器群を示す第1接続情報を、前記ネットワークにおける前記1次機器群と前記2次機器群との接続関係を記憶した情報処理装置から取得する第1取得ステップと、前記第1取得部により取得した前記第1接続情報を記憶部に記憶させる記憶ステップと、前記第1取得ステップにより取得された前記第1接続情報を、前記第1受信部によりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信ステップと、を実行させることを特徴とするプログラムである。
【0014】
請求項8に記載の発明によれば、ネットワーク上で送受信される情報を中継する中継機器を1以上備えることで通信機能を提供する複数の1次機器群と、前記1次機器群の下位に位置し、1以上の前記中継機器を備えることで通信機能を提供する複数の2次機器群と、から構成されるネットワークに、前記1次機器群または前記2次機器群に接続される複数のノード装置により構成されるオーバーレイネットワークにより複数のコンテンツを分散して保存する分散保存システムであって、前記分散保存システムが含む前記複数のノード装置の中で、前記1次機器群及び前記2次機器群に代表して接続される代表ノード装置の通信方法であって、前記複数のノード装置の中で、所望のコンテンツを保持する保持ノードであって、前記保持ノードにおける前記代表ノード装置の前記ネットワーク上における所在を示す所在情報を含むメッセージを、前記複数のノード装置のいずれかから受信する第1受信ステップと、前記第1受信ステップにより受信された前記メッセージに基づいて、前記メッセージが含む前記所在情報が示す前記保持ノードにおける前記代表ノード装置が接続される前記1次機器群、または、前記2次機器群を示す第1接続情報を、前記ネットワークにおける前記1次機器群と前記2次機器群との接続関係を記憶した情報処理装置から取得する第1取得ステップと、前記第1取得ステップにより取得された前記第1接続情報を記憶部に記憶させる記憶ステップと、前記第1取得ステップにより取得された前記第1接続情報を、前記第1受信ステップによりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信ステップと、を含むことを特徴とする通信方法である。
【発明の効果】
【0015】
請求項1に記載の発明によれば、代表ノード装置は、第1受信部により受信されたメッセージに基づいて、メッセージに含まれる所在情報が示す代表ノード装置が接続される1次機器群、または、2次機器群を示す第1接続情報を、情報処理装置から取得する第1取得部を備える。また、代表ノード装置は、第1取得部により取得した第1接続情報を記憶する記憶部を備える。また、第1取得部により取得された第1接続情報を、第1受信部によりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信部を備える。従って、複数のノード装置を代表して、代表ノード装置が情報処理装置へ第1接続情報を取得し、保存することができる。この結果、ヒントサーバとして機能する情報処理装置への処理負荷が集中することを防ぎ、ヒントサーバの処理負荷を低減させることができる。
【0016】
請求項2に記載の発明によれば、代表ノード装置は、第1受信部により受信されたメッセージが含む所在情報が示す代表ノード装置の第1接続情報が、記憶部に記憶されているか否かを判定する判定部を備える。また、判定部により、第1接続情報が記憶されていると判定されたとき、送信部は、記憶部に記憶された第1接続情報を、送信元ノード装置へ送信する。また、判定部により、第1接続情報が記憶されていると判定されなかったとき、第1取得部は、第1接続情報を情報処理装置から取得し、且つ、記憶部は、第1取得部により取得された第1接続情報を記憶する。従って、代表ノード装置が第1接続情報を記憶している場合、情報処理装置がアクセスされる必要がない。この結果、代表ノード装置が、ヒントサーバとして機能する情報処理装置が記憶する第1接続情報の少なくとも一部を保存することができる。そのため、ヒントサーバとして機能する情報処理装置への処理負荷が集中することを防ぎ、ヒントサーバの処理負荷を低減させることができる。
【0017】
請求項3に記載の発明によれば、ノード装置は、検索部による検索結果として、保持ノードの所在情報と共に、保持ノードの代表ノード装置の所在情報を受信する第2受信部を備える。また、ノード装置は、第2受信部により受信した保持ノードの代表ノード装置の所在情報に基づいて、保持ノードの第1接続情報を、代表ノードから取得する第2取得部を備える。従って、コンテンツの取得先を決定するために、コンテンツを検索するノード装置が、第1接続情報を代表ノード装置から取得することができる。この結果、コンテンツの取得先を決定するためにノード装置が第1接続情報を取得できるとともに、ヒントサーバとして機能する情報処理装置への処理負荷が集中することを防ぎ、ヒントサーバの処理負荷を低減させることができる。
【0018】
請求項4に記載の発明によれば、ノード装置は、第2取得部により取得されたコンテンツ保持ノードの第1接続情報と、第2接続情報とに基づいて、検索部により検索した前記ノード装置とネットワーク上で距離の近い保持ノードから、所定のコンテンツを取得するコンテンツ取得部を備える。この結果、コンテンツを取得するノード装置と、ネットワーク上で距離の近い保持ノードから、コンテンツを取得することができる。
【0019】
請求項5に記載の発明によれば、代表ノード装置は、第1受信部により受信されたメッセージに基づいて、メッセージが含む所在情報が示す代表ノード装置が接続される1次機器群、または、2次機器群を示す第1接続情報を、ネットワークにおける1次機器群と2次機器群との接続関係を記憶した情報処理装置から取得する第1取得部を備える。また、代表ノード装置は、第1取得部により取得した第1接続情報を記憶する記憶部を備える。また、第1取得部により取得された第1接続情報を、第1受信部によりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信部を備える。従って、複数のノード装置を代表して、代表ノード装置が情報処理装置へ第1接続情報を取得し、保存することができる。この結果、ヒントサーバとして機能する情報処理装置への処理負荷が集中することを防ぎ、ヒントサーバの処理負荷を低減させることができる。
【0020】
請求項6に記載の発明によれば、代表ノード装置は、第1受信部により受信されたメッセージが含む所在情報が示す保持ノードの第1接続情報が、記憶部に記憶されているか否かを判定する判定部を備える。また、判定部により、第1接続情報が記憶されていると判定されたとき、送信部は、記憶部に記憶された第1接続情報を、送信元ノード装置へ送信する。また、判定部により、第1接続情報が記憶されていると判定されなかったとき、第1取得部は、第1接続情報を情報処理装置から取得し、且つ、記憶部は、第1取得部により取得された第1接続情報を記憶する。従って、代表ノード装置が第1接続情報を記憶している場合、情報処理装置がアクセスされる必要がない。この結果、代表ノード装置が、ヒントサーバとして機能する情報処理装置が記憶する第1接続情報の少なくとも一部を保存することができる。そのため、ヒントサーバとして機能する情報処理装置への処理負荷が集中することを防ぎ、ヒントサーバの処理負荷を低減させることができる。
【0021】
請求項7に記載の発明によれば、第1受信ステップにより受信されたメッセージに基づいて、メッセージが含む所在情報が示す代表ノード装置が接続される1次機器群、または、2次機器群を示す第1接続情報を、ネットワークにおける1次機器群と2次機器群との接続関係を記憶した情報処理装置から取得する第1取得ステップを実行する。また、代表ノード装置のコンピュータは、第1取得ステップにより取得した第1接続情報を記憶部に記憶させる記憶ステップを実行する。また、第1取得ステップにより取得された第1接続情報を、第1受信ステップによりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信ステップを実行する。従って、複数のノード装置を代表して、代表ノード装置が情報処理装置へ第1接続情報を取得し、保存することができる。この結果、ヒントサーバとして機能する情報処理装置への処理負荷が集中することを防ぎ、ヒントサーバの処理負荷を低減させることができる。
【0022】
請求項8に記載の発明によれば、第1受信ステップにより受信されたメッセージに基づいて、メッセージが含む所在情報が示す保持ノードにおける代表ノード装置が接続される1次機器群、または、2次機器群を示す第1接続情報を、ネットワークにおける1次機器群と2次機器群との接続関係を記憶した情報処理装置から取得する第1取得ステップを実行する。また、代表ノード装置は、第1取得ステップにより取得した第1接続情報を記憶部に記憶させる記憶ステップを実行する。また、第1取得ステップにより取得された第1接続情報を、第1受信ステップによりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信ステップを実行する。従って、複数のノード装置を代表して、代表ノード装置が情報処理装置へ第1接続情報を取得し、保存することができる。この結果、ヒントサーバとして機能する情報処理装置への処理負荷が集中することを防ぎ、ヒントサーバの処理負荷を低減させることができる。
【図面の簡単な説明】
【0023】
【図1】本実施形態の分散保存システムSにおける各ノード装置Nnの接続態様の一例を示す図である。
【図2】一般的なインターネット等のネットワーク構造の具体例を示す説明図である。
【図3】ヒントサーバ10に記憶されるトポロジー情報の概念図である。
【図4】分散保存システムSの動作概要を説明する説明図である。
【図5】本実施形態のノード装置Nnの電気的構成を示すブロック図である。
【図6】ノード装置Nnにおける動作のメイン処理動作の手順を示すフローチャートである。
【図7】代表ノード処理プログラムに従うノード装置Nnの代表ノード処理を実行するフローチャートである。
【図8】プライベートヒントサーバの電気的構成を示すブロック図である。
【図9】プライベートヒントサーバメイン動作処理を示すフローチャートである。
【発明を実施するための最良の形態】
【0024】
(第1の実施形態)
以下、本発明の最良の実施形態を図面に基づいて説明する。
【0025】
[分散保存システムの構成]
図1は、本実施形態の分散保存システムSを示す。分散保存システムSは、複数のノード装置Nn(n=1,2,3・・・の何れか)から構成される。
【0026】
図1に示すように、ノード装置Nnは、ネットワークNWを介して夫々接続される。図1のノード装置N1、N2、N3は、ネットワークNWにブロードバンドルータを介さず、直接接続される。一方、ノード装置N4、N5、N6、N7は、ブロードバンドルータBRを介してネットワークNWに接続される。一般的なインターネット等のネットワークNWは、IX(Internet eXchange)、ISP(Internet Service Provider)、DSL(Digital Subscriber Line)回線事業者の装置、FTTH(Fiber To The Home)回線事業者の装置、通信回線等により構築されている。例えば、通信回線は、電話回線や光ケーブル等である。なお、ネットワークNWには、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
【0027】
各ノード装置Nnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。本実施形態の分散保存システムSは、ピアツーピア方式のネットワークシステムである。なお、本実施形態のピアツーピア方式のネットワークシステムは、オーバーレイネットワークOLにより実現される。オーバーレイネットワークOLは、図1の複数のノード装置Nnを仮想的にリンクさせることで構築される。オーバーレイネットワークOLは、言い換えれば、論理的なネットワークである。オーバーレイネットワークOLは、特定のアルゴリズム、により構築される。例えば、特許文献の特開2006−197400に記載されたDHTを利用したアルゴリズムにより、オーバーレイネットワークOLは構築される。
【0028】
そして、オーバーレイネットワークOLを構成している各ノード装置Nnには、ノードIDが割り当てられている。ノードIDは、所定桁数からなる固有の識別情報である。また、具体的には、ノードIDは、各ノード装置Nnに個別に割り当てられたIPアドレス或いは製造番号を基に生成される。ノードIDは、上述のIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。例えば、SHA−1等のハッシュ関数により、bit長が160bitのハッシュ値が生成される。各ノードIDは、ある一つのID空間に偏りなく分散して配置されることになる。ピアツーピア方式のネットワークシステムは、これらのノード装置Nnのうち、何れか複数のノード装置Nnの参加により形成される。本実施形態における参加とは、ノード装置Nnが分散保存システムSと接続し、コンテンツデータの送受信をすることを意味している。
【0029】
分散保存システムSへの参加は、現在オーバーレイネットワークOLに参加していないノード装置Nnが、現在参加している任意のノード装置Nnへ参加要求を示す参加メッセージを送信する。参加メッセージを受信するノード装置は、分散保存システムSに常時参加しているノード装置である。本実施例では、常時参加しているノード装置をコンタクトノードと称する。例えば、オーバーレイネットワークOLに参加していないノード装置から、分散保存システムSのコンタクトノードへ参加メッセージが送信される。コンタクトノードは、参加メッセージの送信元であるノード装置へオーバーレイネットワークOLに参加するために必要な情報を送信する。上述の必要な情報の詳細は後述する。
【0030】
図1には図示していないが、分散保存システムSは、コンテンツ投入サーバを備える。また、分散保存システムSは、ヒントサーバ10を備える。コンテンツ投入サーバは、新しいコンテンツデータを分散保存システムS内に投入するためのサーバである。コンテンツ投入サーバは、コンテンツデータを複製したレプリカを、分散保存システムSに投入する。
【0031】
図2に示すヒントサーバ10は、インターネットに接続される上位機器群と下位機器群とのトポロジー情報を記憶する。ヒントサーバに記憶されるトポロジー情報についての詳細は後述する。なお、ヒントサーバ10を構築する代わりに、後述するコンタクトノードが、ヒントサーバ10の機能を備えて構築されても良い。本実施形態のヒントサーバ10は、本発明の情報処理装置の一例である。
【0032】
図2は、一般的なインターネット等のネットワーク構造の具体例を示す。IX(Internet eXchange)3は、ネットワークを介して複数の機器群を接続する。IX3を頂点として上位機器群13a〜13cが、IXを介して接続される。IX3を頂点として上位機器群13aの下位には、下位機器群14a及び14bが接続される。図2の例では、上位機器群13aのみに、下位機器群14a及び14bが接続されている例であるが、上位機器群13bまたは上位機器群13cに、下位機器群が接続されても良い。上位機器群13a〜13cと下位機器群14a及び14bとは、複数のブロードバンドルータBRから構成される。各機器群を構成するブロードバンドルータBRは、任意の管理者により管理される。各ブロードバンドルータBRには、所定範囲のIPアドレスが割り当てられている。上位機器群13a〜13cを構成する複数のブロードバンドルータBRに対応するIPアドレスが、上位機器群13a〜13cのIPアドレス範囲として設定される。同様に、下位機器群14a及び14bを構成する複数のブロードバンドルータBRのIPアドレスが、下位機器群14a及び14bのIPアドレス範囲として設定される。
【0033】
本実施形態に記載の上位機器群または下位機器群は、例えば、ISP(Internet Service Provider)である。現実世界のインターネットに接続される各ISPは、上述した上位と下位との関係により接続されている。本実施形態の上位機器群は、例えば、1次ISPである。また、本実施形態の下位機器群は、例えば、2次ISPである。1次ISPと2次ISPとは、上述した上位と下位との関係により接続されている。1次ISPは、2次ISPより上位に接続される。
【0034】
図2に示すようにIX3を頂点として、上位機器群13a〜13cまたは下位機器群14a及び14bの下位には、多数のノード装置NnがブロードバンドルータBRを介して接続される。また、ノード装置Nnは、局舎モデム15を介してブロードバンドルータBRと接続される。尚、ブロードバンドルータBRとノード装置Nnとは、直接接続されても良い。
【0035】
さらに本実施形態では、上述した上位機器群、または、下位機器群に夫々代表ノード装置が設置される。代表ノード装置は、各上位機器群、または、下位機器群を代表するノード装置である。各上位機器群、または、下位機器群に接続された代表ノード装置は、各上位機器群、または、下位機器群に接続されるノード装置の中から決定される。代表ノード装置の決定方法は、任意の方法により決定されても良い。各上位機器群、または、下位機器群に接続された代表ノード装置は、各代表ノード装置間のネットワーク距離を記憶する。ネットワーク距離の決定方法の詳細は、後述する。
【0036】
また、本実施形態の変形例として、上位機器群、または、下位機器群に夫々、図2に示すプライベートヒントサーバが設置されても良い。プライベートヒントサーバ11は、各上位機器群、または、下位機器群夫々に少なくとも1台設置される。各プライベートヒントサーバは、少なくとも、プライベートヒントサーバが接続される上位機器群、または、下位機器群のトポロジー情報を記憶する。図2に示す例では、各上位機器群、または、下位機器群に、プライベートヒントサーバ11a、11b、11c、11d、11eが接続される。トポロジー情報の詳細は、後述する。本発明のプライベートヒントサーバは、本発明の情報処理装置の一例である。
【0037】
[分散保存システムのコンテンツ取得動作説明]
図1または図2に示す各ノード装置Nnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、分散保存システムS上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ID空間内で適度に離れたノード装置NnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。本実施形態では、ノード情報は、メッセージ送信先候補の「ノードID」と「IPアドレス及びポート番号」と「代表ノード装置のIPアドレス」とを含む。代表ノード装置のIPアドレスは、ノード情報が含むノードIDが表すノード装置が接続する上位機器群、または、下位機器群の代表ノードのIPアドレスである。
【0038】
分散保存システムSに接続している1台のノードは、必要最低限のノードNnのノード情報をルーティングテーブルとして記憶している。各ノードNn間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードNnについてのノード情報が取得される。本実施形態では、ルーティングテーブルを用いて、上述した他のノード装置Nnへ各種メッセージを送信、または転送するとき、メッセージの送信元、または転送元のノード装置Nnのノード情報が含まれて送信される。このメッセージを受信した各ノード装置Nnは、各ノード装置Nnが保持するルーティングテーブル及びインデックスキャッシュに、受信したノード情報の登録および更新を行う。このような構成により、各ノード装置Nnは、他のノード装置のノード情報を把握することができる。このようなDHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
【0039】
また、分散保存システムSにおいては、内容の異なる様々なコンテンツデータのレプリカが所定のファイル形式で複数のノード装置Nnに分散保存されている。コンテンツは、映画および動画、または音楽等である。各ノード装置Nn間でレプリカが送受信可能になっている。
【0040】
これらコンテンツデータのレプリカには、夫々、コンテンツ名(タイトル)と、コンテンツIDとを含む情報が付与されている。コンテンツ名は、コンテンツデータのタイトルであっても良い。また、コンテンツIDは、コンテンツ毎に固有のコンテンツ識別情報である。例えば、コンテンツIDは、コンテンツ名+任意の数値が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される。そのため、コンテンツIDは、ノードIDと同一のID空間に配置されることとなる。あるいは、システム管理者が、コンテンツデータ毎に一意のID値を付与しても良い。ID値は、ノードIDと同一ビット長でも良い。コンテンツ名とそのコンテンツIDとの対応が記載されたコンテンツカタログリストが、全ノードNnに配布される。コンテンツカタログリストには、コンテンツ名と、コンテンツIDと、そのコンテンツIDが表すレプリカの公開開始日時及び公開終了日時とが対応付けられて記載されている。尚、コンテンツカタログリストの詳細は、特開2008−129694号公報に記載されているため、詳細な説明は省略する。
【0041】
上述のように分散保存されているレプリカの所在は、インデックス情報により管理される。インデックス情報は、レプリカが保存されたノード装置Nnの情報と、レプリカのコンテンツIDとを組み合わせた情報から構成される。インデックス情報は、レプリカの所在を管理しているノード装置Nnにより記憶される。レプリカの所在を管理しているノード装置を「ルートノード」とする。つまり、コンテンツデータのレプリカを保存しているノード装置Nnのノード情報は、他のノード装置Nnからの問い合わせに応じて提供可能なようにルートノードにより管理されている。コンテンツのレプリカを保存しているノード装置Nnを「保持ノード」とする。このようなルートノードには、コンテンツIDと最も近いノードIDを有するノードNnが選定される。例えば、コンテンツIDと最も近いとは、上位桁がより多く一致する、または、比較結果の差が最も小さいことである。
【0042】
ルートノードは、保持ノードからパブリッシュメッセージを受信する。そして、ルートノードは、パブリッシュメッセージに含まれるコンテンツIDとノード情報とを、インデックス情報としてインデックスキャッシュに登録する。ノード情報は、「ノードID」と、「IPアドレス及びポート番号」と、「代表ノード装置のIPアドレス」を含む。代表ノード装置のIPアドレスは、ノード情報が含むノードIDが表すノード装置が接続する上位機器群、または、下位機器群の代表ノードのIPアドレスである。
【0043】
そして、あるノード装置のユーザが、所望するコンテンツデータのレプリカを取得したい場合、レプリカの取得を望むユーザは、クエリを生成する。ユーザがレプリカの取得を望むノード装置Nnを、「ユーザノード」とする。クエリは、コンテンツデータのコンテンツIDとユーザノードのIPアドレスを含む。クエリに含まれるコンテンツIDは、ユーザによりコンテンツカタログリストから選択されたコンテンツデータのコンテンツIDである。
【0044】
ユーザノードは、ユーザノードのルーティングテーブルに従って、他のノード装置Nnへクエリを送信する。つまり、ユーザノードは、クエリをルートノードに向けて送信する。これにより、コンテンツIDをキーとしてクエリは、ルートノードに到着することとなる。
【0045】
クエリを受信したルートノードは、クエリに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュ記憶領域から取得する。取得されたインデックス情報は、クエリの送信元であるユーザノードへ返信される。こうしてインデックス情報を取得したユーザノードは、取得したインデックス情報から保持ノードのIPアドレスを知ることができる。取得した保持ノードのIPアドレスに基づいて、ユーザノードは、コンテンツ送信要求メッセージを送信する。そして、ユーザノードは、保持ノードからコンテンツデータのレプリカを取得(ダウンロード)することができる。レプリカを取得するとき、レプリカのコンテンツIDがレプリカとともに取得される。
【0046】
そして、保持ノードから取得したコンテンツデータのレプリカを、ユーザノードは、ハードディスク等の記憶手段に保存する。レプリカを保存したユーザノードは、レプリカを保存したことをルートノードに知らせる。レプリカを保存したことを知らせるために、ユーザノードは、レプリカのコンテンツIDと、ユーザノードのノード情報が含まれたパブリッシュメッセージを生成する。生成されたパブリッシュメッセージは、ユーザノードからルートノードに向けて送信される。パブリッシュメッセージが送信されることで、分散保存システムSに参加している他のノード装置Nnは、レプリカを取得したユーザノードからもレプリカを取得(ダウンロード)することができる。
【0047】
上述の方法により、パブリッシュメッセージは、クエリと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着する。そして、ルートノードは、受信したパブリッシュメッセージに含まれるユーザノードのノード情報とレプリカのコンテンツIDの組とを含むインデックス情報を登録することができる。こうして、上記ユーザノードは、新たに、コンテンツのレプリカを保持する保持ノードとなる。なお、上記パブリッシュメッセージに含まれるユーザノードのインデックス情報は、ルートノードに至るまでの転送経路におけるノード装置Nnにおいても登録される。なお、ルートノードは、所在情報に含まれるIPアドレス等により示された保持ノードへコンテンツ送信要求メッセージを送信してもよい。この場合、保持ノードがユーザノードへアクセスしてコンテンツを提供することになる。
【0048】
また、分散保存システムSに保存される全てのコンテンツは、コンテンツ管理サーバにより管理される。尚、本実施形態では、コンテンツ管理サーバは、図示していない。コンテンツ管理サーバは、分散保存システムSに保存される全てのコンテンツの属性情報を記憶している。そして、コンテンツ管理サーバMSは、コンテンツの属性情報を含むコンテンツカタログ情報を、全てのノード装置Nnに対して、DHTマルチキャストで配信する。DHTマルチキャストでは、コンテンツ管理サーバからあるノードNnに配信されたメッセージが、DHTを用いたルーティングテーブルにしたがって、分散保存システムSに接続しているノード装置Nnを順次転送される。これにより、最終的には全てのノード装置Nnに行き渡る。なお、DHTマルチキャストは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。
【0049】
[トポロジー情報の説明]
図3は、ヒントサーバ10に記憶されるトポロジー情報の概念図である。トポロジー情報は、上位機器群及び下位機器群との接続態様を表す。具体的には、トポロジー情報は、接続関係情報とIPアドレス範囲情報とから構成される。接続関係情報は、インターネットを構成する複数の上位機器群または下位機器群の接続関係を表す情報である。また、IPアドレス範囲情報は、上位機器群または下位機器群夫々に対応するIPアドレス範囲である。例えば、接続関係情報は、図3の上位機器群13aに接続される上位機器群が、上位機器群13b、13cであることを示す情報である。また、上位機器群13aに接続される下位機器群が、下位機器群14a、14bであることを示す情報である。
【0050】
ユーザノードがコンテンツを取得するとき、トポロジー情報と、ユーザノードのIPアドレスとに基づいて、機器群間の経由が最小の経路である保持ノード装置からコンテンツを取得することができる。尚、本実施形態では、ユーザノードは、ユーザからの指示にしたがってクエリを生成するノード装置Nnを表す。また、保持ノードは、コンテンツデータが記憶されるノード装置Nnを表す。本実施形態では、オーバーレイネットワークOLに参加する参加処理に加えて、ノード装置Nnが接続する上位機器群、または、下位機器群が決定される。具体的には、ノード装置Nnが送信する参加メッセージに含まれたIPアドレスに基づいて、参加メッセージを送信したノード装置Nnが接続する上位機器群、または、下位機器群が決定される。
【0051】
決定する方法について具体的に説明する。上述したIPアドレス範囲情報は、具体的には、アドレス範囲「10.10.10.10〜10.10.10.90」である。このアドレス範囲は、上位機器群または下位機器群が含むブロードバンドルータBRに割り当てられたアドレスを示す。以下、コンタクトノードが、ヒントサーバ10の機能を備えた場合について説明する。あるノード装置がオーバーレイネットワークOLに参加するとき、参加するノード装置は、参加メッセージをコンタクトノードに向けて送信する。コンタクトノードは、オーバーレイネットワークOLに参加するノード装置が最初にアクセスする装置である。コンタクトノードの詳細は、後述する。参加するノード装置Nnはコンタクトノードに向けて参加メッセージを送信する。参加メッセージは、参加メッセージを送信するノード装置のIPアドレスを含む。例えば、ノード装置N13のIPアドレスが、「10.10.10.89」の場合、参加メッセージには、IPアドレス「10.10.10.89」が含まれる。そして、参加メッセージに含まれるIPアドレス「10.10.10.89」を、アドレス範囲として含む上位機器群、または、下位機器群がコンタクトノードにより決定される。例えば、IPアドレス「10.10.10.89」は、上述したアドレス範囲「10.10.10.10〜10.10.10.90」に含まれるため、アドレス範囲「10.10.10.10〜10.10.10.90」に対応する上位機器群または下位機器群が決定される。
【0052】
本実施形態では、コンタクトノードが、各上位機器群または下位機器群に対応するアドレス範囲を知っているものとする。決定された上位機器群または下位機器群が、コンタクトノードから参加するノード装置へ送信される。この処理が実行されることで、参加するノード装置は、参加するノード装置が接続する上位機器群、または、下位機器群を取得することができる。保持ノードについても上記と同様な処理が実行されることで、保持ノードは、保持ノードが接続される上位機器群または下位機器群を取得することができる。保持ノードの詳細は、後述する。コンタクトノードとは異なってヒントサーバ10が設立されるとき、オーバーレイネットワークOLに参加するノード装置、または、保持ノードが、ヒントサーバ10にアクセスする。この場合、参加するノード装置がコンタクトノードへ参加メッセージを送信すると、参加するノード装置は、コンタクトノードからヒントサーバ10のIPアドレスを取得することができる。そして、上述した処理が実行されることで、参加するノード装置、または、保持ノードは、それらノード装置が接続する上位機器群または下位機器群を取得することができる。
【0053】
さらに本実施形態では、ヒントサーバ10は、参加するノード装置、または、保持ノードが接続される上位機器群、または、下位機器群の代表ノード装置のIPアドレスを記憶している。ヒントサーバ10により、参加するノード装置、または、保持ノードが接続する上位機器群、または、下位機器群が決定される。そして、決定された上位機器群、または、下位機器群の代表ノード装置が決定される。決定された代表ノード装置のIPアドレスが、ヒントサーバ10から、参加するノード装置、または、保持ノードに送信される。これにより、参加するノード装置、または、保持ノードが、代表ノード装置にアクセスすることができる。
【0054】
また本実施形態の変形例で、上位機器群、または、下位機器群夫々に、プライベートヒントサーバを備える場合、プライベートヒントサーバは、プライベートヒントサーバが接続される上位機器群、または、下位機器群内のトポロジー情報を記憶する。この場合、各機器群内に接続されるノード装置と、ノード装置からプライベートヒントサーバまでに経由するルータの数等がトポロジー情報として記憶されても良い。なお、本実施形態の上位機器群は、本発明の1次機器群の一例である。また、本実施形態の下位機器群は、本発明の2次機器群の一例である。
【0055】
[分散保存システムSの動作概要]
図4を用いて、本実施形態の分散保存システムSの動作概要について説明する。以下、コンタクトノードが、ヒントサーバ10の機能を備えた場合について説明する。図4に示すノード装置N13がオーバーレイネットワークOLに参加する場合を例に用いて説明する。オーバーレイネットワークOLに参加するノード装置N13は、まず、参加メッセージをコンタクトノードに送信する。参加メッセージは、ノード装置N13のIPアドレスを含む。参加メッセージを受信したコンタクトノードは、ノード装置N13のIPアドレスに基づいて、ノード装置N13が接続する上位機器群、または、下位機器群を決定する。そして決定された上位機器群、または、下位機器群の代表ノード装置を決定する。決定された代表ノード装置のIPアドレスが、ノード装置N13に送信される。
【0056】
そして、ノード装置N13は、ユーザノードとして、所定のコンテンツを検索するためのクエリを生成する。生成されたクエリは、ノード装置N13によりルートノードへ向けて送信する。そして、ノード装置N13は、インデックスキャッシュを取得することになる。
【0057】
インデックスキャッシュを取得したノード装置N13は、インデックスキャッシュに記載されるノード装置の代表ノード装置と、ユーザノードの代表ノード装置とのネットワーク距離が、ノード装置N13の記憶手段に記憶されているかを判定する。ネットワーク距離がノード装置N13の記憶手段に記憶されていた場合、記憶手段に記憶されたネットワーク距離が参照される。一方、ノード装置N13の記憶手段に記憶されていなかった場合、ノード装置N13が接続する機器群の代表ノード装置に、リクエストメッセージがノード装置N13から送信される(図4の矢印(1))。図4の例では、ノード装置N13は、下位機器群14aに接続される。そのため、下位機器群14aの代表ノード装置N24へ、リクエストメッセージが送信される。送信されるリクエストメッセージには、ユーザノードの代表ノードのIPアドレスと、ネットワーク距離を決定したい保持ノードのIPアドレスとが含まれる。
【0058】
リクエストメッセージを受信した代表ノード装置N24は、リクエストメッセージが含む保持ノードの代表ノード装置と、代表ノード装置N24とのネットワーク距離が、代表ノード装置N24の記憶手段に記憶されているかを判定する。代表ノード装置N24の記憶手段に記憶されていた場合、記憶手段に記憶されたネットワーク距離がノード装置N13へ送信される(図4の矢印(2))。一方、代表ノード装置N24の記憶手段に記憶されていなかった場合、代表ノード装置N24は、ヒントサーバ10にリクエストメッセージを転送する(図4の矢印(3))。そして、ヒントサーバ10は、代表ノード装置N24から送信されたリクエストメッセージを受信する。ヒントサーバ10は、受信されたリクエストメッセージが含む保持ノードの代表ノード装置と、ユーザノードの代表ノード装置とのネットワーク距離を決定する。ヒントサーバ10により決定されたネットワーク距離が、代表ノード装置N24に送信される(図4の矢印(4))。代表ノード装置N24は、受信したネットワーク距離を代表ノード装置N24の記憶手段に記憶する。これにより、代表ノード装置N24は、再度、保持ノードの代表ノード装置と、代表ノード装置N24とのネットワーク距離を問い合わされたとしても、代表ノード装置N24の記憶手段に記憶されたネットワーク距離を参照することができる。
【0059】
ヒントサーバ10からネットワーク距離を受信した代表ノード装置N24は、ユーザノードに受信したネットワーク距離を転送する(図4の矢印(5))。ネットワーク距離を受信したユーザノードは、ユーザノードの記憶手段に受信したネットワーク距離を記憶する。このように、各上位機器群、または、下位機器群に接続された代表ノード装置が、ネットワーク距離を記憶することで、ヒントサーバ10へのアクセス集中を分散することができる。
【0060】
(ネットワーク距離の決定方法)
本実施形態で用いるネットワーク距離の決定方法について説明する。本実施形態では、ユーザノードから保持ノードまでに経由する上位機器群、または、下位機器群の数に基づいて、ネットワーク距離が決定される。
【0061】
具体的には、図3に示すユーザノードであるノード装置N13が、クエリをルートノードへ送信した例を用いて説明する。例として、ノード装置N13が、コンテンツの保持ノードとして、ノード装置N11、ノード装置N15、ノード装置N16、ノード装置N19、ノード装置N20のノード情報がルートノードに記憶されている場合をあげる。そして、ルートノードは、インデックスキャッシュをコンテンツの取得候補先としてノード装置N13へ送信する。取得候補先を受信したノード装置N13は、ネットワーク距離に基づいてコンテンツ取得先とする保持ノードを決定する。
【0062】
本実施形態のネットワーク距離は、下記に示すルールにより決定される。
1.ユーザノードの代表ノード装置と、保持ノードの代表ノード装置とが同じ下位機器群と接続されている場合、ネットワーク距離を0とする。
2.ユーザノードの代表ノード装置と、保持ノードの代表ノード装置とが同じ下位機器群と接続されておらず、且つ、ユーザノードの代表ノード装置と保持ノードの代表ノード装置とが同じ上位機器群と接続される場合、ネットワーク距離を1とする。
3.ユーザノードの代表ノード装置と保持ノードの代表ノード装置とが同じ下位機器群と接続されておらず、且つ、ユーザノードの代表ノード装置と保持ノードの代表ノード装置とが同じ上位機器群と接続されず、さらに、ユーザノードの代表ノード装置が接続する上位機器群と異なる他の上位機器群と、保持ノードの代表ノードが直接接続される場合、ネットワーク距離を2とする。
4.ユーザノードの代表ノード装置と保持ノードの代表ノード装置とが同じ下位機器群と接続されておらず、且つ、ユーザノードの代表ノード装置と保持ノードの代表ノード装置とが同じ上位機器群と接続されず、さらに、ユーザノードの代表ノード装置が接続する上位機器群と異なる他の上位機器群と、ユーザノードの代表ノード装置とが直接接続されず、他の上位機器群の下位機器群に接続される場合、ネットワーク距離を3とする。
【0063】
本実施形態では、上記のルールに基づいて、ネットワーク距離が短い保持ノードからコンテンツデータが取得される。従って、コンテンツ取得の際、経由する機器群の数が減らせることで、機器群間の通信負荷を減らせることができる。
【0064】
ノード装置N13が、保持ノードとして、ノード装置N11、ノード装置N15、ノード装置N16、ノード装置N19、ノード装置N20のノード情報がルートノードに記憶されている場合を例に挙げて説明する。この場合、ノード装置N13とノード装置N15とは、同じ下位機器群14aに接続されるため、ネットワーク距離が0となる。また、ノード装置N13とノード装置N16とは、同じ上位機器群13aに接続されるため、ネットワーク距離が1となる。また、ノード装置N13とノード装置N11とも、同じ上位機器群13aと接続されるため、ネットワーク距離が1となる。また、ノード装置N13とノード装置N19とは、夫々異なる上位機器群と接続され、且つ、ノード装置N19は、上位機器群13bと直接接続されるため、ネットワーク距離2となる。また、ノード装置N13とノード装置N20とは、同じ下位機器群に接続されておらず、且つ、上位機器群と接続されず、さらに、ノード装置N13が接続する上位機器群13aと異なる他の上位機器群13bと直接接続されず、他の上位機器群13bの下位機器群14cに接続されている。そのため、ネットワーク距離が3となる。
【0065】
本実施形態では、コンテンツ取得先を決定する処理は、ユーザノードにより行われている。ユーザノードがクエリとともにユーザノードの代表ノード装置のIPアドレスを送信することで、ルートノードによりコンテンツ取得先を決定することができる。この場合、ルートノードにより決定されたコンテンツ取得先がユーザノードに送信される。また、取得先として決定された保持ノードへコンテンツ送信要求メッセージが送信されても良い。また、ヒントサーバ10により、ネットワーク距離が決定されても良い。
【0066】
本実施形態では、経由する機器群の数を、ネットワーク距離としたが、これに限定されるものではない。経由するルータやハブの数をネットワーク距離としても良い。また、上位機器群、または、下位機器群を経由する際に発生するトランジット料金がネットワーク距離として用いられても良い。
【0067】
[ノード装置の電気的構成]
次に、図5を参照して、ノード装置Nnの電気的構成ついて説明する。図5は、本実施形態のノード装置Nnの電気的構成を示すブロック図である。図5に示すように、本実施形態のノード装置Nnには、ノード装置Nnを制御するCPU1が備えられている。CPU1には、HDD2とRAM3とデコーダ部4と通信部9とがそれぞれ電気的に接続されている。HDD2、RAM3などの記憶手段とCPU1とは、ノード装置Nnのコンピュータを構成している。そのコンピュータは、ノード装置Nnの動作を制御処理する。
【0068】
HDD2は、プログラム記憶領域21を含む。プログラム記憶領域21は、メイン動作プログラム記憶領域22と、代表ノード処理プログラム記憶領域23とを含む。メイン動作プログラム記憶領域22は、ノード装置Nnを制御するためのプログラム情報を記憶する。代表ノード処理プログラム記憶領域23は、本実施形態の代表ノードとして、ノード装置Nnを制御するためのプログラムである。
【0069】
RAM3は、代表ノード情報一時記憶領域31と、距離情報一時記憶領域32と、保持ノード情報一時記憶領域33とを含む。代表ノード情報一時記憶領域31はRAM3を備えるノード装置Nnが接続する上位機器群、または、下位機器群の代表ノードのIPアドレスを一時記憶する。距離情報一時記憶領域32は、RAM3を備えるノード装置Nnの代表ノードと、保持ノードの代表ノードとのネットワーク距離を一時記憶する。具体的には、距離情報一時記憶領域32には、RAM3を備えるノード装置Nnが受信したネットワーク距離が一時記憶される。保持ノード情報一時記憶領域33は、RAM3を備えるノード装置と、取得したインデックスキャッシュが含む保持ノードの代表ノードとのネットワーク距離を一時記憶する。具体的には、ノード装置Nnがコンテンツを取得する際に取得されたインデックスキャッシュに記載された各保持ノードの代表ノード装置と、コンテンツを取得するユーザノード装置の代表ノード装置とのネットワーク距離が一時記憶される。なお、代表ノード情報一時記憶領域31と、距離情報一時記憶領域32と、保持ノード情報一時記憶領域33とは、夫々、HDD2に備えられても良い。本実施形態の距離情報一時記憶領域32は、本発明の記憶部の一例である。
【0070】
デコーダ部4は、映像情報と音声情報とをデコードする。本実施形態のデコードは、エンコード化された映像情報と音声情報とを、データ伸張または復号化することである。映像情報と音声情報とは、コンテンツデータに含まれる。
【0071】
映像処理部5は、デコードされた映像情報に所定の描画処理を施して映像信号を出力する。
【0072】
ディスプレイ6は、映像処理部5から出力された映像信号に基づいて映像表示する。ディスプレイ6は、CRTディスプレイ、または、液晶ディスプレイにより構成される。
【0073】
音声処理部7は、上記デコードされた音声情報をアナログオーディオ信号にD(Digital)/A(Analog)変換する。
【0074】
スピーカ8は、変化されたアナログオーディオ信号を、アンプにより増幅して出力する。
【0075】
通信部9は、ノード装置Nnをインターネットと接続する。通信部9は、ネットワークNWを介して他のノード装置Nnまたはコンテンツ投入サーバまたはヒントサーバ10またはプライベートヒントサーバと情報の送受信を行う。
【0076】
なお、ノード装置Nnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
【0077】
また、分散保存システムSが、分散保存システムSに参加する際のアクセス先となるコンタクトノードを備えている場合、各ノード装置NnのHDD2にはコンタクトノードのIPアドレスまたはポート番号等が記憶されている。更に、HDD2には、コンテンツカタログリストが記憶されている。なお、HDD2に記憶されるプログラムは、例えば、ネットワークNW上の所定のサーバからダウンロードされるようにしてもよい。また、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【0078】
[ノード装置Nnのメイン処理動作]
以上説明した構成からなる本実施形態のノード装置Nnの動作及び作用について、添付図面を参照して説明する。図6は、ノード装置Nnにおける動作のメイン処理動作の手順を示すフローチャートである。言い換えれば、図6は、ユーザノードにおける動作の処理手順を示すフローチャートである。ノード装置Nnにより上述したオーバーレイネットワークOLへの参加処理の要求が行われたとき、ノード装置Nnのメイン動作が実行される。CPU1がメイン動作プログラムを実行することにより、メイン動作処理が遂行される。以下に示す処理は、CPU1により処理される。
【0079】
ステップS101では、参加処理が実行される。参加処理が実行されると、コンタクトノードから、参加処理を実行するノード装置の代表ノード装置のIPアドレスが取得される。取得された代表ノード装置のIPアドレスは、代表ノード情報一時記憶領域31に一時記憶される。
【0080】
ステップS102では、ノード装置Nnの電源がOFFにされたか否かが判定される。電源がOFFにされたと判定された場合、メイン動作処理は終了される。電源がOFFにされたと判定されなかった場合、ステップS103が実行される。
【0081】
ステップS103では、ダウンロード依頼があったか否かが判定される。ダウンロード依頼は、ノード装置Nnのユーザから、所定のコンテンツのダウンロード依頼が入力される。ダウンロード依頼があったと判定された場合、ステップS104が実行される。ダウンロード依頼があったと判定されなかった場合、ステップS102が実行される。
【0082】
ステップS104では、ノード装置Nnにより保持ノードが検索される。具体的には、
ノード装置Nnによりクエリが生成される。生成されたクエリに基づいて、インデックスキャッシュが取得される。取得されたインデックスキャッシュには、所定のコンテンツを保持する保持ノードのノード情報が登録されている。取得されたインデックスキャッシュは、RAMの所定の記憶領域に一時記憶される。本実施形態のコンピュータとステップS104とは、本発明の検索部と第2受信部と第2取得部との一例である。
【0083】
ステップS105では、インデックスキャッシュに含まれる保持ノード装置の中で、全ての保持ノード装置のネットワーク距離が取得されたか否かが判定される。ネットワーク距離が取得された保持ノードについては、フラグ等により識別される。全ての保持ノードのネットワーク距離が取得されたと判定された場合、ステップS113が実行される。全ての保持ノードのネットワーク距離が取得されたと判定されなかった場合、ステップS106が実行される。
【0084】
ステップS106では、ネットワーク距離が取得されていない保持ノードが1つ選択される。ネットワーク距離が取得されていない保持ノードは、フラグ等により識別される。
【0085】
ステップS107では、ステップS106で選択された保持ノードの代表ノード装置のIPアドレスが取得される。代表ノード装置のIPアドレスは、ステップS104で取得されたインデックス情報に、保持ノードのノード情報に含まれる。取得された保持ノードの代表ノード装置のIPアドレスは、RAM3の所定の記憶領域に一時記憶される。
【0086】
ステップS108では、距離情報一時記憶領域32に記憶される距離情報の中に、ステップS107で取得された保持ノードの代表ノード装置と、ノード装置Nnの代表ノード装置とのネットワーク距離が存在するか否かが判定される。ネットワーク距離が登録されていると判定された場合、ステップS109が実行される。ネットワーク距離が登録されていなかった場合、ステップS110が実行される。ノード装置Nnの代表ノード装置のIPアドレスは、代表ノード情報一時記憶領域31に一時記憶されている。
【0087】
ステップS109では、ステップS108で存在すると判定されたネットワーク距離が、距離情報一時記憶領域32から取得されて、保持ノード情報一時記憶領域33に一時記憶される。
【0088】
ステップS110では、ステップS106で選択された保持ノードの代表ノード装置と、ノード装置Nnの代表ノード装置とのネットワーク距離が、ノード装置Nnの代表ノード装置にリクエストされる。具体的には、ネットワーク距離を決定したい保持ノードの代表ノード装置のIPアドレスと、メッセージの送信元であるノード装置NnのIPアドレスとが含まれたリクエストメッセージが、ノード装置Nnの代表ノード装置に送信される。
【0089】
ステップS111では、ステップS110でリクエストされたネットワーク距離が受信される。
【0090】
ステップS112では、ステップS111で受信されたネットワーク距離が、保持ノード情報一時記憶領域33に一時記憶される。また、ステップS111で受信されたネットワーク距離が、距離情報一時記憶領域32に一時記憶される。
【0091】
ステップS113では、保持ノード情報一時記憶領域33に一時記憶されたネットワーク距離が近い順番に、保持ノードがソートされる。ソートされた結果が、再度、保持ノード情報一時記憶領域33に一時記憶される。
【0092】
ステップS114では、ステップS113でソートされ、ネットワーク距離が近い順番から優先的に、コンテンツがダウンロードされる。例えば、ネットワーク距離が近い順番に、保持ノードへ向けてダウンロード要求が送信される。ネットワーク距離が近い順番から、所定の時間間隔を空けて、保持ノードへ向けてダウンロード要求が送信される。ネットワーク距離が等しい保持ノードが複数あった場合、複数の保持ノードの中で、レスポンスが早く返ってきた保持ノードから優先してダウンロードを行っても良い。本実施形態のコンピュータとステップS114とは、本発明のコンテンツ取得部の一例である。
【0093】
[代表ノード処理]
図7は、代表ノード処理プログラムに従うノード装置Nnの代表ノード処理を実行するフローチャートである。代表ノード処理は、代表ノード装置の電源がONにされることにより、図6に示すノード装置Nnのメイン動作処理と並行して実行される。まず、ステップS201では、代表ノード装置の電源がOFFにされたか否かが判定される。代表ノード装置の電源がOFFにされたと判定された場合、代表ノード処理は終了される。代表ノード装置の電源がOFFにされたと判定されなかった場合、ステップS202が実行される。
【0094】
ステップS202では、ネットワーク距離のリクエストメッセージが受信されたか否かが判定される。ステップS202で受信されるリクエストメッセージは、図6のステップS110で、ノード装置Nnにより送信されたリクエストメッセージである。リクエストメッセージが受信されたと判定されたとき、ステップS203が実行される。リクエストメッセージが受信されたと判定されなかったとき、ステップS201が再度実行される。本実施形態のコンピュータとステップS202とは、本発明の第1受信部の一例である。また、本実施形態のステップS202は、本発明の第1受信ステップの一例である。
【0095】
ステップS203では、代表ノード装置の距離情報一時記憶領域32に、リクエストされたネットワーク距離が記憶されているか否かが判定される。ステップS202で受信されたリクエストメッセージが含む保持ノードの代表ノードIPアドレスと、リクエストメッセージを受信した代表ノード装置とのネットワーク距離が、記憶されているかが判定される。リクエストされたネットワーク距離が記憶されていると判定された場合、ステップS204が実行される。リクエストされたネットワーク距離が記憶されていると判定されなかった場合、ステップS205が実行される。本実施形態のコンピュータとステップS203とは、本発明の判定部の一例である。
【0096】
ステップS204では、リクエストメッセージを受信した代表ノード装置の距離情報一時記憶領域32に一時記憶されたネットワーク距離が取得される。
【0097】
ステップS205では、ヒントサーバ10へ、リクエストメッセージが転送される。
【0098】
ステップS206では、ステップS205で転送されたリクエストメッセージにより要求されたネットワーク距離が、代表ノード装置により受信される。本実施形態のコンピュータとステップS206とは、本発明の第1取得部の一例である。また、本実施形態のステップS206は、本発明の第1取得ステップの一例である。
【0099】
ステップS207では、ステップS206で受信されたネットワーク距離が、距離情報一時記憶領域32に一時記憶される。本発明のステップS207ha,本発明の記憶ステップの一例である。
【0100】
ステップ208では、ステップS204で取得されたネットワーク距離、または、ステップS206で受信されたネットワーク距離が、ステップS202でネットワーク距離をリクエストしたノード装置Nnへ送信される。本実施形態のコンピュータとステップS208とは、本発明の送信部の一例である。また、本実施形態のステップS208は、本発明の送信ステップの一例である。
【0101】
本実施形態では、ヒントサーバ10の代わりに、各上位機器群、または、下位機器群に接続された代表ノードが、ネットワーク距離を記憶することができる。この結果、ヒントサーバ10へ、ネットワーク距離のリクエストが集中することを防ぐことができる。
【0102】
本実施形態では、各代表ノード装置は、受信したネットワーク距離を記憶できるように構成した。代表ノード装置はネットワーク距離を記憶する代わりに、本実施形態のトポロジー情報を記憶しても良い。この場合、代表ノード装置が記憶するトポロジー情報は、ユーザノード、または、代表ノード装置によりネットワーク距離が決定されるため必要なトポロジー情報である。この結果、ヒントサーバ10が記憶するトポロジー情報を、代表ノード装置に分散して保存することができるため、ヒントサーバ10への負荷集中を防ぐことができる。
【0103】
(変形例)
以下、本実施形態の変形例について説明する。変形例では、上位機器群、または、下位機器群夫々にプライベートヒントサーバが備えられている。そのため、プライベートヒントサーバは、プライベートヒントサーバが接続する上位機器群または、下位機器群のトポロジー情報を記憶している。この場合、図7に示すステップS205では、図7に示す代表ノード処理を実行する代表ノード装置が接続する上位機器群、または、下位機器群に接続されるプライベートヒントサーバへ、ネットワーク距離がリクエストされる。
【0104】
以下、図8を参照して、プライベートヒントサーバの電気的構成について説明する。図8は、プライベートヒントサーバの電気的構成を示すブロック図である。図8に示すように、プライベートヒントサーバには、プライベートヒントサーバを制御するCPU20が備えられている。CPU20には、HDD17とRAM18と通信部19とがそれぞれ電気的に接続されている。HDD17、RAM18などの記憶手段とCPU20とは、プライベートヒントサーバのコンピュータを構成している。そのコンピュータは、プライベートヒントサーバの動作を制御処理する。ヒントサーバ10も、プライベートヒントサーバと同様の電気的構成である。
【0105】
HDD17は、プログラム記憶領域171を含む。プログラム記憶領域171は、プライベートヒントサーバメイン動作プログラム記憶領域172を含む。プライベートヒントサーバメイン動作プログラム記憶領域172は、プライベートヒントサーバを制御するためのプログラム情報を記憶する。なお、HDD17に記憶されるプログラムは、例えば、ネットワークNW上の所定のサーバからダウンロードされるようにしてもよい。また、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【0106】
以下、代表ノード装置からネットワーク距離のリクエストを受信したプライベートヒントサーバの動作処理について、図9を参照して説明する。
【0107】
図9は、プライベートヒントサーバメイン動作処理を示すフローチャートである。プライベートヒントサーバの電源がONにされることにより、プライベートヒントサーバメイン動作処理が実行される。
【0108】
まず、ステップS301では、プライベートヒントサーバの電源がOFFにされたか否かが判定される。プライベートヒントサーバの電源がOFFにされたと判定された場合、プライベートヒントサーバメイン動作処理は終了される。プライベートヒントサーバの電源がOFFにされたと判定されなかった場合、ステップS302が実行される。
【0109】
ステップS302では、代表ノード装置から送信、または、転送されたリクエストメッセージが受信されたか否かが判定される。ステップS302で受信されるリクエストメッセージは、図6のステップS110で、ノード装置Nnにより送信されたリクエストメッセージである。リクエストメッセージが受信されたと判定されたとき、ステップS303が実行される。リクエストメッセージが受信されたと判定されなかったとき、ステップS301が再度実行される。なお、下位の機器群に接続されるプライベートヒントサーバから送信、または、転送されたリクエストメッセージが、ステップS302で受信されても良い。
【0110】
ステップS303では、ステップS302で受信された保持ノードの代表ノード装置のIPアドレスが、プライベートヒントサーバの担当範囲内のIPアドレスであるか否かが判定される。変形例では、上位機器群、または、下位機器群夫々にプライベートヒントサーバが備えられている。そのため、プライベートヒントサーバは、プライベートヒントサーバが接続する上位機器群または、下位機器群のトポロジー情報を記憶している。ステップS303では、リクエストメッセージに含まれる保持ノードの代表ノード装置のIPアドレスが、リクエストメッセージを受信したプライベートヒントサーバが接続する上位機器群、または、下位機器群のIPアドレス範囲に含まれるか否かが判定される。保持ノードにおける代表ノード装置のIPアドレスが担当範囲内であると判定されたとき、ステップS304が実行される。代表ノード装置のIPアドレスが担当範囲内であると判定されなかったとき、ステップS305が実行される。
【0111】
ステップS304では、プライベートヒントサーバが記憶しているトポロジー情報に基づいて、保持ノードの代表ノード装置と、ユーザノードの代表ノード装置とのネットワーク距離が決定される。決定されたネットワーク距離は、RAM18の所定の記憶領域に一時記憶される。
【0112】
ステップS305では、ステップS302でリクエストメッセージを受信したプライベートヒントサーバに、上位機器群が存在するか否かが判定される。ステップS302でリクエストメッセージを受信したプライベートヒントサーバが下位機器群に接続する場合、上位機器群が存在すると判定される。ステップS302でリクエストメッセージを受信したプライベートヒントサーバが下位機器群以外に接続する場合、上位機器群が存在しないと判定される。上位機器群が存在すると判定される場合、ステップS306が実行される。上位機器群が存在しないと判定された場合、ステップS307が実行される。
【0113】
ステップS306では、上位機器群のプライベートヒントサーバへリクエストメッセージが転送される。
【0114】
ステップS307では、ヒントサーバ10へリクエストメッセージが転送される。
【0115】
ステップS308では、ステップS306でリクエストメッセージを転送した上位機器群のプライベートヒントサーバ、または、ヒントサーバ10から、ネットワーク距離が受信される。受信されるネットワーク距離は、ステップS306,または、ステップS307で要求したネットワーク距離である。受信されたネットワーク距離は、RAM18の所定の記憶領域に一時記憶される。
【0116】
ステップS309では、ステップS304で決定されたネットワーク距離、または、ステップS308で受信したネットワーク距離が、ステップS302でネットワーク距離をリクエストした代表ノード装置、または、下位機器群に接続されるプライベートヒントサーバへ送信される。
【0117】
変形例では、各上位機器群、または、下位機器群ごとに、プライベートヒントサーバが設置され、ヒントサーバ10が保存するトポロジー情報が分散して保存されている。この結果、プライベートヒントサーバが各上位機器群、または、下位機器群に設置されるため、各機器群のトポロジー情報をできる限り、外部へ公開することを防ぐことができると共に、ヒントサーバ10へのアクセス負荷をプライベートヒントサーバに分散させることができる。
【0118】
また、上記実施形態においては、オーバーレイネットワークOLに、DHTを利用したピアツーピアネットワークを適用したが、これに限られるものではない。DHTを利用したルーティングテーブルが用いられても良い。例えば、他のオーバーレイネットワークを用いたシステムが適用されてもよい。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。
【符号の説明】
【0119】
1 CPU
2 HDD
3 RAM
4 デコーダ部
5 映像処理部
6 ディスプレイ
7 音声処理部
8 スピーカ
9 通信部
10 ヒントサーバ
11a、11b、11c、11d、11e プライベートヒントサーバ
13a、13b、13c 上位機器群
14a、14b 下位機器群
15 局舎モデム
16 CPU
17 HDD
18 RAM
19 通信部
21 プログラム記憶領域
22 メイン処理動作プログラム記憶領域
23 代表ノード処理プログラム記憶領域
31 代表ノード情報一時記憶領域
32 距離情報一時記憶領域
33 保持ノード情報一時記憶領域
171 プログラム記憶領域
172 ヒントサーバメイン動作処理プログラム記憶領域
S 分散保存システム
X IX
NW ネットワーク
OL オーバーレイネットワーク
BR ブロードバンドルータ
Nn ノード装置

【特許請求の範囲】
【請求項1】
ネットワーク上で送受信される情報を中継する中継機器を1以上備えることで通信機能を提供する複数の1次機器群と、
前記1次機器群の下位に位置し、1以上の前記中継機器を備えることで通信機能を提供する複数の2次機器群と、
から構成されるネットワークに、前記1次機器群または前記2次機器群に接続される複数のノード装置により構成されるオーバーレイネットワークにより複数のコンテンツを分散して保存する分散保存システムであって、
前記分散保存システムは、
前記複数のノード装置と、
前記複数のノード装置の中で、前記1次機器群及び前記2次機器群に代表して接続される代表ノード装置と、
前記ネットワークにおける前記1次機器群と前記2次機器群との接続関係を記憶した情報処理装置と、
を備え、
前記代表ノード装置は、
前記複数のノード装置の中で、所望のコンテンツを保持する保持ノードであって、前記保持ノードにおける前記代表ノード装置の前記ネットワーク上における所在を示す所在情報を含むメッセージを、前記複数のノード装置のいずれかから受信する第1受信部と、
前記第1受信部により受信された前記メッセージに基づいて、前記メッセージに含まれる前記所在情報が示す前記代表ノード装置が接続される前記1次機器群、または、前記2次機器群を示す第1接続情報を、前記情報処理装置から取得する第1取得部と、
前記第1取得部により取得した前記第1接続情報を記憶する記憶部と、
前記第1取得部により取得された前記第1接続情報を、前記第1受信部によりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信部と、
を備えることを特徴とする分散保存システム。
【請求項2】
前記代表ノード装置は、前記第1受信部により受信されたメッセージに含まれる前記所在情報が示す前記代表ノード装置の前記第1接続情報が、前記記憶部に記憶されているか否かを判定する判定部を備え、
前記判定部により、前記第1接続情報が記憶されていると判定されたとき、前記送信部は、前記記憶部に記憶された前記第1接続情報を、前記送信元ノード装置へ送信し、
前記判定部により、前記第1接続情報が記憶されている判定されなかったとき、前記第1取得部は、前記第1接続情報を前記情報処理装置から取得し、且つ、前記記憶部は、前記第1取得部により取得された前記第1接続情報を記憶することを特徴とする請求項1に記載の分散保存システム。
【請求項3】
前記複数のノード装置は、前記複数ノード装置が接続される前記1次機器群または前記2次機器群の前記代表ノード装置の前記所在情報を取得し、
前記ノード装置は、
前記複数のノード装置の中から、所望のコンテンツを保持する1以上の前記保持ノード装置の前記所在情報を検索する検索部と、
前記検索部による検索結果として、前記保持ノードの前記所在情報と共に、前記コンテンツ保持ノードの前記代表ノード装置の前記所在情報を受信する第2受信部と、
前記第2受信部により受信した前記保持ノードにおける前記代表ノード装置の前記所在情報に基づいて、前記保持ノードにおける前記代表ノード装置の前記第1接続情報を、前記代表ノードから取得する第2取得部と、
を備えることを特徴とする請求項1または請求項2に記載の分散保存システム。
【請求項4】
前記複数のノード装置は、前記複数のノード装置が接続される前記1次機器群または前記2次機器群を示す第2接続情報を取得し、
前記ノード装置は、
前記第2取得部により取得された前記保持ノードにおける前記代表ノード装置の前記第1接続情報と、前記第2接続情報とに基づいて、前記検索部により検索した前記ノード装置とネットワーク上で距離の近い前記コンテンツ保持ノードから、前記所定のコンテンツを取得するコンテンツ取得部と、
を備えることを特徴とする請求項3に記載の分散保存システム。
【請求項5】
ネットワーク上で送受信される情報を中継する中継機器を1以上備えることで通信機能を提供する複数の1次機器群と、
前記1次機器群の下位に位置し、1以上の前記中継機器を備えることで通信機能を提供する複数の2次機器群と、
から構成されるネットワークに、前記1次機器群または前記2次機器群に接続される複数のノード装置により構成されるオーバーレイネットワークにより複数のコンテンツを分散して保存する分散保存システムの中で、前記複数のノード装置の中で、前記1次機器群及び前記2次機器群に代表して接続される代表ノード装置であって、
前記代表ノード装置は、
前記複数のノード装置の中で、所望のコンテンツを保持する保持ノードであって、前記保持ノードにおける前記代表ノード装置の前記ネットワーク上における所在を示す所在情報を含むメッセージを、前記複数のノード装置のいずれかから受信する第1受信部と、
前記第1受信部により受信された前記メッセージに基づいて、前記メッセージが含む前記所在情報が示す前記代表ノード装置が接続される前記1次機器群、または、前記2次機器群を示す第1接続情報を、前記ネットワークにおける前記1次機器群と前記2次機器群との接続関係を記憶した情報処理装置から取得する第1取得部と、
前記第1取得部により取得した前記第1接続情報を記憶する記憶部と、
前記第1取得部により取得された前記第1接続情報を、前記第1受信部によりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信部と、
を備えることを特徴とする代表ノード装置。
【請求項6】
前記代表ノード装置は、前記第1受信部により受信されたメッセージに含まれる前記所在情報が示す前記代表ノード装置の前記第1接続情報が、前記記憶部に記憶されているか否かを判定する判定部を備え、
前記判定部により、前記第1接続情報が記憶されていると判定されたとき、前記送信部は、前記記憶部に記憶された前記第1接続情報を、前記送信元ノード装置へ送信し、
前記判定部により、前記第1接続情報が記憶されている判定されなかったとき、前記第1取得部は、前記第1接続情報を前記情報処理装置から取得し、且つ、前記記憶部は、前記第1取得部により取得された前記第1接続情報を記憶することを特徴とする請求項5に記載の代表ノード装置。
【請求項7】
ネットワーク上で送受信される情報を中継する中継機器を1以上備えることで通信機能を提供する複数の1次機器群と、
前記1次機器群の下位に位置し、1以上の前記中継機器を備えることで通信機能を提供する複数の2次機器群と、
から構成されるネットワークに、前記1次機器群または前記2次機器群に接続される複数のノード装置により構成されるオーバーレイネットワークにより複数のコンテンツを分散して保存する分散保存システムの中で、前記複数のノード装置の中で、前記1次機器群及び前記2次機器群に夫々代表して接続される代表ノード装置のコンピュータに、
前記複数のノード装置の中で、所望のコンテンツを保持する保持ノードであって、前記保持ノードにおける前記代表ノード装置の前記ネットワーク上における所在を示す所在情報を含むメッセージを、前記複数のノード装置のいずれかから受信する第1受信ステップと、
前記第1受信ステップにより受信された前記メッセージに基づいて、前記メッセージが含む前記所在情報が示す前記代表ノード装置が接続される前記1次機器群、または、前記2次機器群を示す第1接続情報を、前記ネットワークにおける前記1次機器群と前記2次機器群との接続関係を記憶した情報処理装置から取得する第1取得ステップと、
前記第1取得部により取得した前記第1接続情報を記憶部に記憶させる記憶ステップと、
前記第1取得ステップにより取得された前記第1接続情報を、前記第1受信ステップによりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信ステップと、
を実行させることを特徴とするプログラム。
【請求項8】
ネットワーク上で送受信される情報を中継する中継機器を1以上備えることで通信機能を提供する複数の1次機器群と、
前記1次機器群の下位に位置し、1以上の前記中継機器を備えることで通信機能を提供する複数の2次機器群と、
から構成されるネットワークに、前記1次機器群または前記2次機器群に接続される複数のノード装置により構成されるオーバーレイネットワークにより複数のコンテンツを分散して保存する分散保存システムであって、前記分散保存システムが含む前記複数のノード装置の中で、前記1次機器群及び前記2次機器群に代表して接続される代表ノード装置の通信方法であって、
前記複数のノード装置の中で、所望のコンテンツを保持する保持ノードであって、前記保持ノードにおける前記代表ノード装置の前記ネットワーク上における所在を示す所在情報を含むメッセージを、前記複数のノード装置のいずれかから受信する第1受信ステップと、
前記第1受信ステップにより受信された前記メッセージに基づいて、前記メッセージが含む前記所在情報が示す前記保持ノードにおける前記代表ノード装置が接続される前記1次機器群、または、前記2次機器群を示す第1接続情報を、前記ネットワークにおける前記1次機器群と前記2次機器群との接続関係を記憶した情報処理装置から取得する第1取得ステップと、
前記第1取得ステップにより取得された前記第1接続情報を記憶部に記憶させる記憶ステップと、
前記第1取得ステップにより取得された前記第1接続情報を、前記第1受信ステップによりメッセージを受信したメッセージの送信元である送信元ノード装置へ送信する送信ステップと、
を含むことを特徴とする通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−49966(P2012−49966A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−192241(P2010−192241)
【出願日】平成22年8月30日(2010.8.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】