(57)【特許請求の範囲】
【請求項１】
ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、コンテンツが分散保存されることによりコンテンツ保持ノード装置となる前記ノード装置と、名前解決要求に応じてドメイン名の名前解決を行う管理装置とから構成される情報通信システムに含まれる管理装置であって、
稼働状況を示す稼動情報が所定の稼動以下である前記ノード装置のネットワークにおける所在を示す第１所在情報を取得する取得手段と、
取得された前記第１所在情報を記憶する第１記憶手段と、
要求装置から名前解決を要求されたドメイン名を示すドメイン情報に対応するコンテンツを保存する前記コンテンツ保持ノード装置の保持所在情報と、前記要求装置へ紹介したノード装置の数を示す紹介情報とを、対応づけて記憶する第２記憶手段と、
前記要求装置から、前記ドメイン情報を含む名前解決要求を受信する第１受信手段と、
前記第２記憶手段に記憶された前記紹介情報であって、前記第１受信手段により受信される前記ドメイン情報に対応する前記コンテンツ保持ノード装置の前記紹介情報が示す紹介数が、所定数以上であるか否かを判定する判定手段と、
前記判定手段により、前記コンテンツ保持ノード装置の前記紹介数が所定数以上であると判定されたとき、前記第１記憶手段に記憶された前記ノード装置を、前記オーバーレイネットワークから新たにコンテンツを取得させるコンテンツ保持ノード装置と決定する決定手段と、
前記決定手段により決定された前記ノード装置の前記第１所在情報を、前記コンテンツを取得する前記要求装置へ送信する第１送信手段と、
を備えることを特徴とする管理装置。
【請求項２】
前記第１所在情報が示す前記ノード装置に、前記オーバーレイネットワークから前記コンテンツを取得させ、記憶させる指示をする取得指示手段と、
前記要求装置に、前記第１送信手段により送信する前記第１所在情報が示す前記ノード装置からコンテンツを受信させる指示をする要求指示手段と、
を備えることを特徴とする請求項１に記載の管理装置。
【請求項３】
前記第１送信手段により、前記第１所在情報が前記要求装置へ送信されたとき、前記要求装置へ送信された前記第１所在情報を、前記第１記憶手段から削除する削除手段を備えることを特徴とする請求項１または２に記載の管理装置。
【請求項４】
前記第１記憶手段に前記第１所在情報が所定数以上記憶されているかを判定する第２判定手段と、
前記第１判定手段により、前記第１記憶手段に前記第１所在情報が所定数以上記憶されていると判定されないとき、前記稼動情報が所定の稼動以下である前記ノード装置の前記ネットワークにおける所在を示す第１所在情報を要求する要求手段を備え、
前記取得手段は、前記要求手段による要求に応じた前記ノード装置から前記第１所在情報を取得することを特徴とする請求項１〜３に記載の管理装置。
【請求項５】
前記第１送信手段により前記要求装置へ送信される前記ノード装置の前記第１所在情報を、前記コンテンツ保持ノード装置の保持所在情報として、前記第１所在情報の前記ノード装置を前記要求装置へ紹介したノード装置の数に含む紹介情報と、対応付けて前記第２記憶手段に記憶させる制御手段を備えることを特徴とする請求項１〜４に記載の管理装置。
【請求項６】
ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記オーバーレイネットワークにより複数の前記ノード装置にコンテンツが分散保存され、前記複数のノード装置のいずれかがコンテンツを保存するコンテンツ保持ノード装置であって、
前記コンテンツ保持ノード装置に記憶されたコンテンツを前記ノード装置が記憶することで、新たにコンテンツ保持ノード装置となる前記ノード装置と、名前解決要求に応じてドメイン名の名前解決を行う管理装置とから構成される管理システムにおいて、
コンテンツの取得先のドメイン名を解決する管理装置は、
稼働状況を示す稼動情報が所定の稼動以下である前記ノード装置のネットワークにおける所在を示す第１所在情報を取得する取得手段と、
取得された前記第１所在情報を記憶する第１記憶手段と、
要求装置から名前解決を要求されたドメイン名を示すドメイン情報に対応するコンテンツを保存する前記コンテンツ保持ノード装置の保持所在情報を、前記要求装置へ紹介したノード装置の数を示す紹介情報と対応づけて記憶する第２記憶手段と、
前記要求装置から、前記ドメイン情報と、前記要求装置のネットワークにおける所在を示す第２所在情報とを含む名前解決要求とを受信する第１受信手段と、
前記第１受信手段により受信される前記ドメイン情報に対応する前記コンテンツ保持ノード装置の前記紹介情報が示す紹介数が所定数以上であるか否かを判定する判定手段と、
前記判定手段により、前記コンテンツ保持ノード装置の前記紹介数が所定数以上の前記ノード装置であると判定されたとき、前記第１記憶手段に記憶された前記ノード装置を、前記オーバーレイネットワークからドメイン情報に対応するコンテンツを取得させ、記憶させるノード装置として、前記第１記憶手段に記憶された前記ノード装置の前記第１所在情報を、前記要求装置へ送信する第１送信手段と、
前記第１送信手段により送信した前記第１所在情報を、前記第２記憶手段に記憶させる制御手段と、
を備え、
ネットワークに接続される前記ノード装置は、
前記オーバーレイネットワークから、前記コンテンツを取得する取得手段と、
前記取得手段により取得した前記コンテンツを記憶する記憶手段と、
前記要求装置へ前記コンテンツを送信する第３送信手段と、
を備えることを特徴とする管理システム。
【請求項７】
ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、コンテンツが分散保存されることによりコンテンツ保持ノード装置となる前記ノード装置と、名前解決要求に応じてドメイン名の名前解決を行う管理装置とから構成される情報通信システムに含まれる管理装置に用いられる管理方法であって、
稼働状況を示す稼動情報が所定の稼動以下である前記ノード装置のネットワークにおける所在を示す第１所在情報を取得する取得ステップと、
取得される前記第１所在情報を記憶する第１記憶ステップと、
要求装置から名前解決を要求されたドメイン名を示すドメイン情報に対応するコンテンツを保存する前記コンテンツ保持ノード装置の保持所在情報と、前記要求装置へ紹介したノード装置の数を示す紹介情報とを、対応づけて記憶する第２記憶ステップと、
前記要求装置から、前記ドメイン情報を含む名前解決要求を受信する第１受信ステップと、
前記第２記憶ステップに記憶された前記紹介情報であって、前記第１受信ステップにより受信される前記ドメイン情報に対応する前記コンテンツ保持ノード装置の前記紹介情報が示す紹介数が、所定数以上であるか否かを判定する判定ステップと、
前記判定ステップにより、前記コンテンツ保持ノード装置の前記紹介数が所定数以上であると判定されたとき、前記第１記憶手段に記憶された前記ノード装置を、前記オーバーレイネットワークから新たにコンテンツを取得させるコンテンツ保持ノード装置と決定する決定ステップと、
前記決定ステップにより決定された前記ノード装置の前記第１所在情報を、前記コンテンツを取得する前記要求装置へ送信する第１送信ステップと、
を備えることを特徴とする管理方法。
【請求項８】
ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、コンテンツが分散保存されることによりコンテンツ保持ノード装置となる前記ノード装置と、名前解決要求に応じてドメイン名の名前解決を行う管理装置とから構成される情報通信システムに含まれる管理装置に用いられる管理プログラムであって、
前記ノード装置は、要求装置から名前解決を要求されたドメイン名を示すドメイン情報に対応するコンテンツを保存する前記コンテンツ保持ノード装置の保持所在情報と、前記要求装置へ紹介したノード装置の数を示す紹介情報とを、対応づけて記憶する第２記憶手段と、を備え、
稼働状況を示す稼動情報が所定の稼動以下である前記ノード装置のネットワークにおける所在を示す第１所在情報を取得する取得ステップと、
前記取得ステップにより取得される前記第１所在情報を記憶させる第１記憶ステップと、
前記要求装置から、前記ドメイン情報を含む名前解決要求を受信する第１受信ステップと、
前記第２記憶手段に記憶された前記紹介情報であって、前記第１受信手段により受信される前記ドメイン情報に対応する前記コンテンツ保持ノード装置の前記紹介情報が示す紹介数が、所定数以上であると判定する判定ステップと、
前記判定ステップにより、前記コンテンツ保持ノード装置の前記紹介数が所定数以上であると判定されたとき、前記第１記憶ステップにより前記第１所在情報が記憶された前記ノード装置を、前記オーバーレイネットワークから新たにコンテンツを取得させるコンテンツ保持ノード装置と決定する決定ステップと、
前記決定ステップにより決定された前記ノード装置の前記第１所在情報を、前記コンテンツを取得する前記要求装置へ送信する第１送信ステップと、
を備え、前記各ステップをコンピュータに実行させることを特徴とする管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたオーバーレイネットワークの通信システムの技術分野に関する。
【背景技術】
【０００２】
従来、端末装置に対して配信されるコンテンツを複数のサーバ装置に分散保存させ、コンテンツの配信負荷を複数のサーバ装置に分散させるコンテンツ分散保存システムが知られている。例えば、特許文献１には、分散キャッシュシステムに関する技術が記載されている。この分散キャッシュシステムにおいて、キャッシュサーバは、クライアント端末から要求されたコンテンツを保存していると、要求元のクライアント端末に対して、コンテンツを送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−６６１６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、コンテンツを配信するＣＤＮ（Ｃｏｎｔｅｎｔｓ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ）に、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）を適用した場合を考える。この場合、ＤＮＳサーバは、クライアントとなる装置からドメイン名の解決の要求を受けると、受信したドメイン名に対応して、例えば、コンテンツを保存するサーバ装置のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを返信する。
【０００５】
しかしながら、ドメイン名に対応するコンテンツを保存する保存装置の数が少ない場合、保存装置が少ないコンテンツのドメイン名に対応するコンテンツを取得する要求が多いと、保存装置に負荷が集中する。ＣＤＮにおいて、保存装置が少ないと、コンテンツの配信負荷を分散させることができない。
【０００６】
本発明は、上述した問題点を解決するためになされたものであり、ドメイン名に対応するコンテンツを保存する保存装置へ集中するコンテンツの要求を分散させ、保存装置へかかるコンテンツの配信負荷を分散させることができるＣＤＮの管理装置、管理システム、管理方法及び管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１記載の発明によれば、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、コンテンツが分散保存されることによりコンテンツ保持ノード装置となる前記ノード装置と、名前解決要求に応じてドメイン名の名前解決を行う管理装置とから構成される情報通信システムに含まれる管理装置であって、稼働状況を示す稼動情報が所定の稼動以下である前記ノード装置のネットワークにおける所在を示す第１所在情報を取得する取得手段と、取得された前記第１所在情報を記憶する第１記憶手段と、要求装置から名前解決を要求されたドメイン名を示すドメイン情報に対応するコンテンツを保存する前記コンテンツ保持ノード装置の保持所在情報と、前記要求装置へ紹介したノード装置の数を示す紹介情報とを、対応づけて記憶する第２記憶手段と、前記要求装置から、前記ドメイン情報を含む名前解決要求を受信する第１受信手段と、前記第２記憶手段に記憶された前記紹介情報であって、前記第１受信手段により受信される前記ドメイン情報に対応する前記コンテンツ保持ノード装置の前記紹介情報が示す紹介数が、所定数以上であるか否かを判定する判定手段と、前記判定手段により、前記コンテンツ保持ノード装置の前記紹介数が所定数以上であると判定されたとき、前記第１記憶手段に記憶された前記ノード装置を、前記オーバーレイネットワークから新たにコンテンツを取得させるコンテンツ保持ノード装置と決定する決定手段と、前記決定手段により決定された前記ノード装置の前記第１所在情報を、前記コンテンツを取得する前記要求装置へ送信する第１送信手段と、を備えることを特徴とする。
【０００８】
請求項２記載の発明によれば、前記第１所在情報が示す前記ノード装置に、前記オーバーレイネットワークから前記コンテンツを取得させ、記憶させる指示をする取得指示手段と、前記要求装置に、前記第１送信手段により送信する前記第１所在情報が示す前記ノード装置からコンテンツを受信させる指示をする要求指示手段と、を備えることを特徴とする。
【０００９】
請求項３記載の発明によれば、前記第１送信手段により、前記第１所在情報が前記要求装置へ送信されたとき、前記要求装置へ送信された前記第１所在情報を、前記第１記憶手段から削除する削除手段を備えることを特徴とする。
【００１０】
請求項４記載の発明によれば、前記第１記憶手段に前記第１所在情報が所定数以上記憶されているかを判定する第２判定手段と、前記第１判定手段により、前記第１記憶手段に前記第１所在情報が所定数以上記憶されていると判定されないとき、前記稼動情報が所定の稼動以下である前記ノード装置の前記ネットワークにおける所在を示す第１所在情報を要求する要求手段を備え、前記取得手段は、前記要求手段による要求に応じた前記ノード装置から前記第１所在情報を取得することを特徴とする。
【００１１】
請求項５記載の発明によれば、前記第１送信手段により前記要求装置へ送信される前記ノード装置の前記第１所在情報を、前記コンテンツ保持ノード装置の保持所在情報として、前記第１所在情報の前記ノード装置を前記要求装置へ紹介したノード装置の数に含む紹介情報と、対応付けて前記第２記憶手段に記憶させる制御手段を備えることを特徴とする。
【００１２】
請求項６記載の発明によれば、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、前記オーバーレイネットワークにより複数の前記ノード装置にコンテンツが分散保存され、前記複数のノード装置のいずれかがコンテンツを保存するコンテンツ保持ノード装置であって、前記コンテンツ保持ノード装置に記憶されたコンテンツを前記ノード装置が記憶することで、新たにコンテンツ保持ノード装置となる前記ノード装置と、名前解決要求に応じてドメイン名の名前解決を行う管理装置とから構成される管理システムにおいて、コンテンツの取得先のドメイン名を解決する管理装置は、稼働状況を示す稼動情報が所定の稼動以下である前記ノード装置のネットワークにおける所在を示す第１所在情報を取得する取得手段と、取得された前記第１所在情報を記憶する第１記憶手段と、要求装置から名前解決を要求されたドメイン名を示すドメイン情報に対応するコンテンツを保存する前記コンテンツ保持ノード装置の保持所在情報を、前記要求装置へ紹介したノード装置の数を示す紹介情報と対応づけて記憶する第２記憶手段と、前記要求装置から、前記ドメイン情報と、前記要求装置のネットワークにおける所在を示す第２所在情報とを含む名前解決要求とを受信する第１受信手段と、前記第１受信手段により受信される前記ドメイン情報に対応する前記コンテンツ保持ノード装置の前記紹介情報が示す紹介数が所定数以上であるか否かを判定する判定手段と、前記判定手段により、前記コンテンツ保持ノード装置の前記紹介数が所定数以上の前記ノード装置であると判定されたとき、前記第１記憶手段に記憶された前記ノード装置を、前記オーバーレイネットワークからドメイン情報に対応するコンテンツを取得させ、記憶させるノード装置として、前記第１記憶手段に記憶された前記ノード装置の前記第１所在情報を、前記要求装置へ送信する第１送信手段と、前記第１送信手段により送信した前記第１所在情報を、前記第２記憶手段に記憶させる制御手段と、を備え、ネットワークに接続される前記ノード装置は、前記オーバーレイネットワークから、前記コンテンツを取得する取得手段と、前記取得手段により取得した前記コンテンツを記憶する記憶手段と、前記要求装置へ前記コンテンツを送信する第３送信手段と、を備えることを特徴とする。
【００１３】
請求項７記載の発明によれば、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、コンテンツが分散保存されることによりコンテンツ保持ノード装置となる前記ノード装置と、名前解決要求に応じてドメイン名の名前解決を行う管理装置とから構成される情報通信システムに含まれる管理装置に用いられる管理方法であって、稼働状況を示す稼動情報が所定の稼動以下である前記ノード装置のネットワークにおける所在を示す第１所在情報を取得する取得ステップと、取得される前記第１所在情報を記憶する第１記憶ステップと、要求装置から名前解決を要求されたドメイン名を示すドメイン情報に対応するコンテンツを保存する前記コンテンツ保持ノード装置の保持所在情報と、前記要求装置へ紹介したノード装置の数を示す紹介情報とを、対応づけて記憶する第２記憶ステップと、前記要求装置から、前記ドメイン情報を含む名前解決要求を受信する第１受信ステップと、前記第２記憶ステップに記憶された前記紹介情報であって、前記第１受信ステップにより受信される前記ドメイン情報に対応する前記コンテンツ保持ノード装置の前記紹介情報が示す紹介数が、所定数以上であるか否かを判定する判定ステップと、前記判定ステップにより、前記コンテンツ保持ノード装置の前記紹介数が所定数以上であると判定されたとき、前記第１記憶手段に記憶された前記ノード装置を、前記オーバーレイネットワークから新たにコンテンツを取得させるコンテンツ保持ノード装置と決定する決定ステップと、前記決定ステップにより決定された前記ノード装置の前記第１所在情報を、前記コンテンツを取得する前記要求装置へ送信する第１送信ステップと、を備えることを特徴とする。
【００１４】
請求項８記載の発明によれば、ネットワークに接続される複数のノード装置によりオーバーレイネットワークが構成され、コンテンツが分散保存されることによりコンテンツ保持ノード装置となる前記ノード装置と、名前解決要求に応じてドメイン名の名前解決を行う管理装置とから構成される情報通信システムに含まれる管理装置に用いられる管理プログラムであって、前記ノード装置は、要求装置から名前解決を要求されたドメイン名を示すドメイン情報に対応するコンテンツを保存する前記コンテンツ保持ノード装置の保持所在情報と、前記要求装置へ紹介したノード装置の数を示す紹介情報とを、対応づけて記憶する第２記憶手段と、を備え、稼働状況を示す稼動情報が所定の稼動以下である前記ノード装置のネットワークにおける所在を示す第１所在情報を取得する取得ステップと、前記取得ステップにより取得される前記第１所在情報を記憶させる第１記憶ステップと、前記要求装置から、前記ドメイン情報を含む名前解決要求を受信する第１受信ステップと、前記第２記憶手段に記憶された前記紹介情報であって、前記第１受信手段により受信される前記ドメイン情報に対応する前記コンテンツ保持ノード装置の前記紹介情報が示す紹介数が、所定数以上であると判定する判定ステップと、前記判定ステップにより、前記コンテンツ保持ノード装置の前記紹介数が所定数以上であると判定されたとき、前記第１記憶ステップにより前記第１所在情報が記憶された前記ノード装置を、前記オーバーレイネットワークから新たにコンテンツを取得させるコンテンツ保持ノード装置と決定する決定ステップと、前記決定ステップにより決定された前記ノード装置の前記第１所在情報を、前記コンテンツを取得する前記要求装置へ送信する第１送信ステップと、を備え、前記各ステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１５】
請求項１記載の発明によれば、判定手段によりコンテンツ保持ノード装置の紹介数が所定数以上であると判断されると、所定の稼動以下のノード装置の第１所在情報が、第１送信手段によって送信される。管理装置は、オーバーレイネットワークを構成する複数のノード装置において、紹介数が多いコンテンツ保持ノード装置の代わりに、稼動が低いノード装置の第１所在情報を、要求装置に紹介する。これにより、要求装置は、紹介数が過多のコンテンツ保持ノード装置へ、コンテンツの取得要求を行わず、第１所在情報のノード装置へコンテンツの取得要求を行う。この結果、所定の紹介数以上のコンテンツ保持ノード装置に、要求装置から、さらにコンテンツの取得要求が行われることがない。よって、管理装置は、紹介数の過多であるノード装置へ、要求装置からのコンテンツの取得要求が集中することを防ぐことができる。
【００１６】
請求項２記載の発明によれば、取得指示手段により、第１所在情報のノード装置にコンテンツを取得させる指示がされる。要求指示手段により、要求装置に第１所在情報のノード装置からコンテンツを受信させる指示をする。これにより、第１所在情報のノード装置は、コンテンツ保持ノード装置から、コンテンツを取得する。要求装置は、第１所在情報のノード装置からコンテンツを受信させる指示をする。この結果、要求装置は、第１所在情報のノード装置が取得したコンテンツを受信することができる。よって、管理装置は、紹介数の過多であるコンテンツ保持ノード装置に、要求装置からのコンテンツの取得要求が集中することなく、要求装置にコンテンツを受信させることができる。
【００１７】
請求項３記載の発明によれば、第１所在情報が要求装置へ送信されたとき、削除手段により、第１記憶手段の第１所在情報が削除される。管理装置が送信した第１所在情報のノード装置には、要求装置からコンテンツの取得要求が行われることが考えられる。第１所在情報のノード装置は、要求装置からコンテンツの取得要求が行われ、稼動される。これにより、第１所在情報のノード装置の紹介数が増加する。第１記憶手段から要求装置に送信した第１所在情報を削除することにより、他の要求装置に、コンテンツ保持ノード装置の代わりとして第１所在情報を送信する候補から、除外することができる。よって、管理装置は、コンテンツの取得要求が、新たにコンテンツ保持ノード装置となるノード装置に集中することなく、要求装置にコンテンツを受信させることができる。
【００１８】
請求項４記載の発明によれば、第２判定手段により判定される第１所在情報の記憶数が、所定数以下であれば、要求手段により、新たな第１所在情報が要求される。これにより第１記憶手段に記憶される第１所在情報が少ない場合に、第１所在情報が追加記憶される。この結果、第１記憶手段に記憶される第１所在情報が少ないことにより、紹介数が多いコンテンツ保持ノード装置の代わりとなる第１所在情報のノード装置の少数に、コンテンツの取得要求集中してしまう送信できなくなることがない。よって、管理装置は、紹介数の過多であるコンテンツ保持ノード装置や、特定の第１所在情報のノード装置に、要求装置からのコンテンツの取得要求が集中することなく、要求装置に第１所在情報を送信させることができる。
【００１９】
請求項５記載の発明によれば、要求装置に送信される第１所在情報が、第２記憶手段に記憶される。要求装置に送信される第１所在情報のノード装置は、新たにコンテンツ保持ノード装置となることが考えられ、コンテンツ保持ノード装置である保持所在情報として、第２記憶手段に記憶される。これにより、管理装置は、要求装置に送信し、新たなコンテンツ保持ノード装置となる第１所在情報のノード装置を、コンテンツ保持ノード装置の１つとして管理することができる。
【００２０】
請求項６記載の発明によれば、判定手段によりコンテンツ保持ノード装置の紹介数が所定数以上であると判断されると、所定の稼動以下のノード装置の第１所在情報が、第１送信手段によって送信される。管理装置は、オーバーレイネットワークを構成する複数のノード装置において、紹介数が多いコンテンツ保持ノード装置の代わりに、稼動が低いノード装置の第１所在情報を、要求装置に紹介する。これにより、要求装置は、紹介数が過多のコンテンツ保持ノード装置へ、コンテンツの取得要求を行わず、第１所在情報のノード装置へコンテンツの取得要求を行う。この結果、所定の紹介数以上のコンテンツ保持ノード装置に、要求装置から、さらにコンテンツの取得要求が行われることがない。よって、管理装置は、紹介数の過多であるノード装置へ、要求装置からのコンテンツの取得要求が集中することを防ぐことができる。
【００２１】
請求項７記載の発明によれば、判定ステップによりコンテンツ保持ノード装置の紹介数が所定数以上であると判断されると、所定の稼動以下のノード装置の第１所在情報が、第１送信ステップによって送信される。オーバーレイネットワークを構成する複数のノード装置において、紹介数が多いコンテンツ保持ノード装置の代わりに、稼動が低いノード装置の第１所在情報が、要求装置に紹介される。これにより、要求装置は、紹介数が過多のコンテンツ保持ノード装置へ、コンテンツの取得要求を行わず、第１所在情報のノード装置へコンテンツの取得要求を行う。この結果、所定の紹介数以上のコンテンツ保持ノード装置に、要求装置から、さらにコンテンツの取得要求が行われることがない。よって、紹介数の過多であるノード装置へ、要求装置からのコンテンツの取得要求が集中することを防ぐことができる。
【００２２】
請求項８記載の発明によれば、判定ステップによりコンテンツ保持ノード装置の紹介数が所定数以上であると判断されると、所定の稼動以下のノード装置の第１所在情報が、第１送信ステップによって送信される。オーバーレイネットワークを構成する複数のノード装置において、紹介数が多いコンテンツ保持ノード装置の代わりに、稼動が低いノード装置の第１所在情報が、要求装置に紹介される。これにより、要求装置は、紹介数が過多のコンテンツ保持ノード装置へ、コンテンツの取得要求を行わず、第１所在情報のノード装置へコンテンツの取得要求を行う。この結果、所定の紹介数以上のコンテンツ保持ノード装置に、要求装置から、さらにコンテンツの取得要求が行われることがない。よって、紹介数の過多であるノード装置へ、要求装置からのコンテンツの取得要求が集中することを防ぐことができる。
【図面の簡単な説明】
【００２３】
【図１】本実施形態の情報通信システムＳにおける各ノード装置Ｔｍ−ｎ及びＤＮＳサーバＳＶの接続態様の一例を示す図である。
【図２】本実施形態の暇ノード装置を管理する処理の一例を示す説明図である。
【図３】本実施形態の取得要求集中ノード装置を管理する処理の一例を示す説明図である。
【図４Ａ】本実施形態のコンテンツ配信処理の一例を示す説明図である。
【図４Ｂ】本実施形態のコンテンツ配信処理の一例を示す説明図である。
【図５】本実施形態のノード装置Ｔｍ−ｎの電気的構成の概念図である。
【図６】本実施形態のＤＮＳサーバＳＶの電気的構成の概念図である。
【図７】本実施形態のノード装置Ｔｍ−ｎのメイン動作処理を示すフローチャートである。
【図８】本実施形態のＤＮＳサーバＳＶのメイン動作処理を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の一実施形態について図面を参照して説明する。なお、以下に説明する実施の形態はピアツーピア型の情報通信システムに本発明を適用した場合の実施形態である。
【００２５】
［情報通信システムの概要構成］
まず、図１を参照して、本実施形態における情報通信システムＳの概要構成について説明する。図１は、本実施形態の情報通信システムＳにおける各ノード装置の接続態様の一例を示す図である。図１に示すように、情報通信システムＳは、複数のノード装置Ｔｍ−ｎ（ｍ＝１，２，３・・・のいずれか、ｎ＝１，２，３のいずれか）から構成されている。複数のノード装置Ｔｍ−ｎは、ネットワークＮＷを介して互いに通信可能である。このネットワークＮＷは、現実世界の通信ネットワークである。例えば、インターネットである。
【００２６】
このネットワークＮＷは、各拠点ネットワークＮＬｍを相互接続するためのネットワークである。このネットワークＮＷは、例えば、インターネットやＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。そしてネットワークＮＷは、例えばＩＸ（Ｉｎｔｅｒｎｅｔ  Ｅｘｃｈａｎｇｅ）、ＩＳ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）、ＤＳＬ（Ｄｉｓｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）回線事業者の装置、ＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ）回線事業者の装置、及び通信回線等によって構築されている。なお、ネットワークＮＷは、情報通信システムＳ専用のネットワークであっても良い。
【００２７】
本実施形態では、ネットワークＮＷ内に、１つ以上の各拠点ネットワークＮＬｍが形成される。また、各拠点ネットワークＮＬｍには、複数のノード装置Ｔｍ−ｎ（ｎ＝１，２，３・・・のいずれか）が接続されている、各拠点ネットワークＮＬｍは、それぞれ拠点ｍの敷地内に構築されたネットワークである。拠点としては、例えば、会社、学校、病院、塾等がある。この拠点ネットワークＮＬｍは、例えば、ＬＡＮ等により構築されている。あるいは、拠点ネットワークＮＬｍは、複数のＬＡＮが相互接続して構築されたネットワークであっても良い。この場合、複数のＬＡＮは、ルータ等のネットワーク機器を介して接続される。複数のＬＡＮが相互接続されたネットワークとしては、例えば、ＣＡＮ（Ｃａｍｐｕｓ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等がある。各拠点ネットワークＮＬｍには、ファイアウォールＦＷまたはブロードバンドルータＢＲが接続されている。ファイアウォールＦＷまたはブロードバンドルータＢＲが接続されている。ファイアウォールＦＷまたはブロードバンドルータＢＲは、拠点内に接続されるノード装置Ｔｍ−ｎと、その拠点に接続されるノード装置Ｔｍ−ｎ以外のノード装置Ｔｍ−ｎと、を通信可能にする通信機器である。ファイアウォールＦＷまたはブロードバンドルータＢＲは、公知であるので詳細な説明は省略する。ファイアウォールＦＷまたはブロードバンドルータＢＲのいずれかが拠点に設置されるかは、拠点ごとに任意に決定される。本実施形態の拠点ネットワークＮＬｍは、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。
【００２８】
また、ネットワークＮＷには、ＤＮＳサーバＳＶが接続されている。ＤＮＳサーバＳＶは、ドメイン名を解決するＤＮＳサーバである。ＤＮＳサーバＳＶは、クライアントとなるユーザノードからドメイン名の解決の要求を受ける。ＤＮＳサーバＳＶは、ドメイン名の解決の要求として、ＩＰアドレスの問い合わせを受けると、受信したドメイン名に対応して、例えば、コンテンツを保存するノード装置のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを返信する。
【００２９】
各ノード装置Ｔｍ−ｎには、固有の製造番号及びＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスが割り当てられている。また、情報通信システムＳに接続されている各ノード装置Ｔｍ−ｎには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。本実施形態の情報通信システムＳでは，コンテンツ配信のためのオーバーレイネットワークＯＬが構築されている。オーバーレイネットワークＯＬは、ネットワークＮＷ上に構築されたオーバーレイネットワークである。言い換えれば、オーバーレイネットワークＯＬは、物理的なネットワーク上に生成される論理的なネットワークである。また、オーバーレイネットワークＯＬは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下「ＤＨＴ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈｕｓｈ  Ｔａｂｌｅ）」という。なお、ＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知である。
【００３０】
本実施形態では、各ノード装置Ｔｍ−ｎがピアツーピア方式で通信を行えるよう、ブロードバンドルータＢＲやファイアウォールＦＷにおいてポートフォワーディングの設定が行われる場合がある。例えば、ブロードバンドルータＢＲであれば、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）機能等を利用して自動的にポートフォワーディングの設定が行われるようにしておくと良い。以下ノード装置Ｔｍ―ｎを、単にノード装置と呼ぶ。
【００３１】
［オーバーレイネットワークＯＬへの参加方法について］
各ノード装置は、それぞれＤＨＴ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈａｓｈ  Ｔａｂｌｅ）を用いたルーティングテーブルを保持している。このルーティングテーブルは、情報通信システムＳ上における制御メッセージの転送先を規定している。制御メッセージは、ピアツーピア型の制御メッセージは、ピアツーピア型の情報通信システムの運用を制御するメッセージである。言い換えれば、制御メッセージは、ピアツーピア型の情報通信システムで、コンテンツの検索又はコンテンツの取得に用いるためのメッセージである。また、制御メッセージは、ＤＨＴのルーティングテーブルに従って送受信されるメッセージである。具体的に、このルーティングテーブルには、ＩＤ空間内で適度に離れたノード装置のノードＩＤ、ＩＰアドレス及びポート番号を含むノード情報が複数登録されている。情報通信システムＳに接続している１台のノード装置は、必要最低限のノード装置のノード情報をルーティングテーブルとして記憶している。各ノード装置間で互いに制御メッセージが転送されることで、ノード情報を記憶していないノード装置についてのノード情報が取得される。また、制御メッセージが、各ノード装置により送受信されることで、情報通信システムＳは、ピアツーピア型の情報通信システムとして動作可能である。
【００３２】
なお情報通信システムＳへの接続は、情報通信システムＳへ接続していないノード装置が、接続している任意のノード装置に対して参加メッセージを送信することによって行われる。参加メッセージは、情報通信システムＳへの参加要求を示すメッセージである。情報通信システムＳへの参加とは、ノード装置が情報通信システムＳに接続され、情報通信システムＳからコンテンツを取得可能になることである。つまり、オーバーレイネットワークＯＬに参加するとは、ＤＨＴを用いたルーティングテーブルに基づいてオーバーレイネットワークＯＬを介して他のノード装置との間で各種メッセージを送受信できる状態に稼動することをいう。任意のノード装置は、例えば、情報通信システムＳに常時接続しているコンタクトノードである。情報通信システムＳへ参加するノード装置が、コンタクトノードへ参加メッセージを送信することで、ノード装置は、ＤＨＴのルーティングテーブルをコンタクトノードから取得することができる。
【００３３】
複数のノード装置に分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理するノード装置に記憶される。一般的に、コンテンツの所在を管理するノードを、「ルートノード」という。なお、本実施形態では、後述において、「ルートノード」を、ノード装置のコンテンツの取得要求数を管理するノードとして用いる場合を説明する。ノード装置が記憶するインデックス情報は、コンテンツを保存したノードのノード情報と、コンテンツのコンテンツＩＤと等の組を含む。このようなルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤを有するノードであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。なお、インデックス情報は、本発明における結果情報の一例である。また、インデックス情報に含まれるルータＲｍのＩＰアドレスは、本発明における所在情報の一例である。
【００３４】
あるノード装置のユーザが、所望のコンテンツを取得したい場合、ノード装置は、所望されたコンテンツを保存するコンテンツ保持ノード装置をそれぞれ検索する。以下、ユーザによりコンテンツの取得を望むノード装置を、「ユーザノード」という。なお、「ユーザノード」は、オーバーレイネットワークＯＬに参加してなくても良い。具体的に、ユーザノードは、ＤＮＳサーバＳＶにドメイン名の解決を要求する検索メッセージを送信する。この検索メッセージは、取得を望むコンテンツのコンテンツＩＤ及びユーザノードのノード情報を含む。
【００３５】
検索メッセージを受信したＤＮＳサーバＳＶは、検索メッセージに含まれるコンテンツＩＤに対応するインデックス情報を、過去に検索した名前解決の検索結果キャッシュから１または複数取得する。取得されたインデックス情報は、ユーザノードのノード情報に基づいて、検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツＩＤに対応するメタ情報ファイルを取得またはダウンロードする。メタ情報ファイルには、コンテンツを検索するためのコンテンツＩＤが付与される。具体的に、ユーザノードは、インデックス情報に含まれるコンテンツ保持ノード装置のＩＰアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノード装置に送信する。コンテンツ要求メッセージには、ユーザノードのノード情報、所望するコンテンツのコンテンツＩＤが含まれている。コンテンツ保持ノード装置は、コンテンツ要求メッセージを受信すると、コンテンツ要求メッセージに含まれるコンテンツＩＤに対応するメタ情報ファイルをユーザノードに送信またはアップロードする。
【００３６】
［暇ノード装置管理処理について］
次に図２を用いて、本実施形態の暇ノード装置管理処理について説明する。図２は、本実施形態の暇ノード装置管理処理の一例を示す説明図である。暇ノード装置管理処理は、ルートノードＴ３−１が行う。ルートノードＴ３−１は、管理するノード装置が、暇ノード装置であるか否かを判定する。尚、ルートノードＴ３−１は、所在を記憶するノード装置Ｔｍ−ｎが、ルートノードＴ３−１が管理するノード装置に対応する。まず、ルートノードＴ３−１は、管理するノード装置にパブリッシュ指示をする（図２（１））。パブリッシュ指示には、指示の発信元であるルートノードＴ３−１の所在情報を示すＩＰアドレスが付加されている。また、パブリッシュ指示は、パブリッシュ指示を受信したノード装置の稼動状況を、管理するルートノードに送信させる指示である。
【００３７】
オーバーレイネットワークＯＬに参加する各ノード装置は、所定時間ごとに、他のノード装置やユーザノードからのコンテンツの取得要求数を検知可能な構成である。本実施形態では、ルートノードＴ３−１が、管理する各ノード装置に、他のノード装置やユーザノードから「暇ノード装置」であることを示す情報と、ノード装置のノード情報を、を、パブリッシュメッセージとして送信させる指示をする。
【００３８】
なお、本実施形態においては、他のノード装置から一定時間コンテンツの取得要求がない、または現在、取得要求がされておらず、コンテンツの取得要求数が「０」であるノード装置Ｔｍ−ｎを、ルートノードＴ３−１にパブリッシュメッセージを送信する「暇ノード装置」と定義して以下を説明する。「暇ノード装置」は、コンテンツの取得要求数が「０」であるノード装置のほか、ルートノードＴ３−１が管理するノード装置のＣＰＵの負荷や、ルートノードＴ３−１が管理するノード装置に接続されるネットワークの負荷により判定してもよい。
【００３９】
ルートノードＴ３−１からパブリッシュ指示を受け取ったノード装置Ｔｍ−ｎは、自身がパブリッシュ可能であるかを判定する。ノード装置Ｔｍ−ｎは、他のノード装置から一定時間コンテンツの取得要求がない、または現在、取得要求がされておらず、「暇ノード装置」であるとき、パブリッシュ可能であると判断する。例えば、図２において、ノード装置Ｔ５−１は、自身の取得要求数が「０」でないとき、ルートノードＴ３−１へパブリッシュメッセージを送信しないと判断し、ルートノードＴ３−１から受信したパブリッシュ指示を、他のノード装置へ転送する。（図２（２））。すなわち、このときノード装置Ｔ５−１は、「暇ノード装置」でない。
【００４０】
一方、ノード装置Ｔｍ−ｎは、ルートノードＴ３−１、またはノード装置Ｔｍ−ｎからパブリッシュ指示を受信したとき、自身の取得要求数が「０」であれば、パブリッシュ可能であると判断する。ノード装置Ｔｍ−ｎは、ルートノードから発信されたパブリッシュ指示を受信する。そして、ノード装置Ｔｍ−ｎは、「暇ノード装置」であり、パブリッシュ可能であるとき、パブリッシュ指示の発信元であるルートノードのＩＰアドレス宛へ、パブリッシュメッセージを送信する。例えば、図２において、ノード装置Ｔ５−１から転送されたパブリッシュ指示を受信したノード装置Ｔ２−１は、コンテンツの取得要求数から、自身が「暇ノード装置」であるかを判定する。ノード装置Ｔ５−１は、「暇ノード装置」である場合には、パブリッシュメッセージをルートノードＴ３−１へ送信する（図２（３））。
【００４１】
ルートノードＴ３−１は、ノード装置Ｔｍ−ｎから、「暇ノード装置」であることを示すパブリッシュメッセージを受信する。そして、ＤＮＳサーバＳＶに、受信した「暇ノード装置」であるノード装置のノード情報を、「暇ノード装置」を示す情報と共に送信する（図２（４））。例えば、図２において、ルートノードＴ３−１が、パブリッシュメッセージの発信元であるノード装置Ｔ２−１からパブリッシュメッセージを受信した場合は、ノード装置Ｔ２−１のノード情報と、「暇ノード装置」であることを示す情報とを、ＤＮＳサーバＳＶに送信する。
【００４２】
ＤＮＳサーバＳＶは、パブリッシュメッセージを受信すると、暇ノード装置のノード情報を、暇ノードリスト記憶領域に記憶する（図２（５））。これにより、図２において、ＤＮＳサーバＳＶは、ルートノードＴ３−１が管理する各ノード装置のうち、パブリッシュメッセージが送信されたノード装置Ｔ２−１を、「暇ノード装置」として管理することができる。
【００４３】
［取得要求集中ノード装置管理処理について］
次に図３を用いて本実施形態の取得要求集中ノード装置管理処理について説明する。図３は、本実施形態の取得要求集中ノード装置管理処理の一例を示す概念図である。図３では、ルートノードＴ３−１の例を用いて説明する。ルートノードが管理する各ノード装置のそれぞれは、定期的に自身のノード装置が取得要求されている数を確認する。そして、ノード装置は、自身の取得要求数が所定数以上であるとき、「取得要求集中ノード装置」として、「取得要求集中ノード装置」であることを示す情報と共に、ノード情報をルートノードに送信する。「取得要求集中ノード装置」を判断するための取得要求数の閾値は、例えば、「３」以上である。なお、取得要求数の閾値は、ノード装置のコンテンツを送信する能力に応じて変更されてもよい。例えば、図３において、ルートノードＴ３−１に管理されているノード装置Ｔ５−１は、自身の取得要求数が所定数「３」以上のノード装置であるとき、「取得要求集中ノード装置」である。ノード装置Ｔ５−１は、「取得要求集中ノード装置」であることを示す情報と、ノード情報とを、ルートノードＴ３−１に送信する（図３（６））。
【００４４】
なお、このとき、ルートノードＴ３−１により管理されるノード装置のそれぞれは、「取得要求集中ノード装置」であるノード情報を、ルートノードＴ３−１に送信せず、ＤＮＳサーバＳＶへ直接送信してもよい。また、ルートノードは、「暇ノード装置」を管理するためのパブリッシュ指示と同様に、管理するノード装置Ｔｍ−ｎ宛に、「取得要求集中ノード装置」を管理するためのパブリッシュ指示を送信してもよい。このとき、取得要求数が所定数以上のノード装置が、「取得要求集中ノード装置」を管理するパブリッシュ指示を受信すると、「取得要求集中ノード装置」であるノード情報を、ルートノードに返信する。
【００４５】
ルートノードＴ３−１は、ノード装置から、「取得要求集中ノード装置」である情報を受信すると、「取得要求集中ノード装置」のノード情報を、ＤＮＳサーバＳＶへ送信する（図３（７））。図３では、ルートノードＴ３−１は、ノード装置Ｔ５−１から受信した「取得要求集中ノード装置」であるノード情報を、ＤＮＳサーバＳＶへ送信する。
【００４６】
なお、ノード装置が「取得要求集中ノード装置」であるかの判断は、各ノード装置Ｔｍ−ｎが行う代わりに、ルートノードが、管理するノード装置の取得要求数を管理することにより、「取得要求集中ノード装置」であるノード装置を判断してもよい。例えば、図３において、「取得要求集中ノード装置」であるノード装置のノード情報を、ルートノードＴ３−１がＤＮＳサーバＳＶへ送信する場合には、ルートノードＴ３−１が、管理するノード装置の取得要求数から、「取得要求集中ノード装置」であるノード装置を判定してもよい。
【００４７】
ＤＮＳサーバＳＶは、送信される「取得要求集中ノード装置」であるノード装置のノード情報を受信する。ＤＮＳサーバＳＶは、ノード装置から受信した「取得要求集中ノード装置」であるノード装置のノード情報を、取得要求集中ノードリスト記憶領域に記憶する処理を行う。図３においては、ＤＮＳサーバＳＶは、ルートノードＴ３−１から受信した「取得要求集中ノード装置」であるノード装置Ｔ５−１のノード情報を、取得要求集中ノードリスト記憶領域に記憶する（図３（８））。
【００４８】
［ユーザノードのコンテンツ要求処理］
次に、図４Ａ及び図４Ｂを参照して、情報通信システムＳにおけるユーザノードへのコンテンツの配信について説明する。図４Ａ及び図４Ｂは、本実施形態に係る情報通信システムＳにおける動作概要の一例を示す図である。図４Ａは、ユーザノードが、ＤＮＳサーバＳＶにドメイン解決要求をし、ＤＮＳサーバＳＶからＩＰアドレスを受信する処理の動作概要を説明する図である。図４Ｂは、ユーザノードが、ＤＮＳサーバＳＶから受信したＩＰアドレスが示すノード装置へ、コンテンツを要求し、取得する処理の動作概要を説明する図である。図４Ｂでは、さらに、ユーザノードからコンテンツの取得が要求されたノード装置のノード情報を、ＤＮＳサーバＳＶの暇ノードリスト記憶領域から削除する処理の動作概要を示す。
【００４９】
まず、ユーザノードは、ユーザによる操作等に基づいて、ダウンロードしようとするコンテンツのＵＲＬを取得する。ＵＲＬを取得したユーザノードは、先ず、ドメイン名を含む名前解決リクエストを、ＤＮＳサーバへ送信する（図４Ａ（１１））。なお、名前解決リクエストに含まれるドメイン名を、「要求ドメイン名」という。要求ドメイン名は、本発明におけるドメイン情報の一例である。
【００５０】
ＤＮＳサーバＳＶは、ドメイン名と、コンテンツＩＤを対応付けて登録したドメインリストと、コンテンツＩＤが示すコンテンツを保持するノード装置のＩＰアドレスを検索した結果が検索キャッシュとして記憶されたデータベースを保持している。ＤＮＳサーバＳＶは、名前解決リクエストを受信すると、ドメインリストと、検索キャッシュとを用いて、要求ドメイン名に対応するコンテンツ保持ノードを検索する。まず、ＤＮＳサーバＳＶは、ドメインリストに従って、ユーザノードから受信した名前解決リクエストに含まれる要求ドメイン名に対応するコンテンツＩＤを特定する。そして、検索キャッシュを用いて、要求ドメイン名に対応するコンテンツＩＤを保持するコンテンツ保持ノードのＩＰアドレスを特定する。要求ドメイン名に対応するコンテンツＩＤのコンテンツを保持するコンテンツ保持ノードのＩＰアドレスが特定されると、ドメイン解決がされる（図４Ａ（１２））。
【００５１】
次に、ＤＮＳサーバＳＶは、ユーザノードから名前解決を要求された要求ドメイン名に対応するＩＰアドレスが示すノード装置が、「取得要求集中ノード装置」であるかを判定する（図４Ａ（１３））。ＤＮＳサーバＳＶは、要求ドメイン名に対応するコンテンツＩＤのコンテンツを保持するノード装置のノード情報が、取得要求集中ノード記憶領域に記憶されたノード情報と一致するかを判定する。要求ドメイン名に対応するコンテンツＩＤのコンテンツを保持するノード装置のノード情報が、取得要求集中ノード記憶領域に記憶されたノード情報と一致するとき、要求ドメイン名に対応するＩＰアドレスのノード装置は、「取得要求集中ノード装置」であると判定される。
【００５２】
ＤＮＳサーバＳＶは、要求ドメイン名に対応するコンテンツＩＤのコンテンツを保持するノード装置のノード情報が、取得要求集中ノードリスト記憶領域に記憶されたノード情報と一致すると判定したとき、取得要求集中ノード装置の代用ノード装置を決定する。代用ノード装置は、暇ノードリスト記憶領域に記憶されたノード情報が示すノード装置から決定される。ＤＮＳサーバＳＶは、暇ノードリスト記憶領域にノード情報が記憶された暇ノード装置を、要求ドメイン名に対応するコンテンツＩＤを保持するコンテンツ保持ノード装置の代わりにユーザノードに送信するノード装置と決定する（図４Ａ（１４））。
【００５３】
一方、ＤＮＳサーバＳＶは、要求ドメイン名に対応するコンテンツＩＤのコンテンツを保持するノード装置のノード情報が、取得要求集中ノードリスト記憶領域に記憶されたノード情報と一致すると判定しないとき、要求ドメイン名に対応するコンテンツＩＤのコンテンツを保持するノード装置のＩＰアドレスを、ユーザノードに送信するＩＰアドレスと決定する。
【００５４】
ＤＮＳサーバＳＶは、ユーザノードに送信すると決定したＩＰアドレスを、名前解決リクエストを要求したユーザノードへ送信する。例えば、図４Ａにおいて、要求ドメイン名に対応するコンテンツＩＤのコンテンツを保持するノード装置は、ノード装置Ｔ５−１であり、取得要求集中ノード装置であったとする。このとき、ＤＮＳサーバＳＶは、暇ノードリスト記憶領域に記憶されたノード情報に含まれるノード装置Ｔ２−１を示すＩＰアドレスを、代用ノード装置のＩＰアドレスとして、ユーザノードへ送信する（図４Ａ（１５））。ユーザノードは、ＤＮＳサーバＳＶからＩＰアドレスを受信する。
【００５５】
ユーザノードは、ＤＮＳサーバＳＶから受信したＩＰアドレスが示すノード装置へ、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）リクエストであるコンテンツの取得を要求する要求メッセージを送信する。要求メッセージには、ユーザノードが名前解決を要求した要求ドメイン名に対応するコンテンツＩＤが含まれる。図４Ｂにおいて、ユーザノードは、ＤＮＳサーバから、暇ノード装置であるノード装置Ｔ２−１のＩＰアドレスを受信すると、ノード装置Ｔ２−１に要求メッセージを送信する（図４Ｂ（１６））。
【００５６】
ノード装置Ｔ２−１は、ユーザノードからコンテンツの要求を受信すると、コンテンツＩＤに従って、要求されたコンテンツを保存するノード装置Ｔｍ−ｎに、コンテンツの送信を要求する要求メッセージを転送する（図４（１７））。そして、要求メッセージに含まれるコンテンツＩＤのコンテンツを保存しているノード装置Ｔｍ−ｎは、要求メッセージを受信すると、要求メッセージの転送元であるノード装置Ｔ２−１へ、コンテンツを送信する。要求メッセージを転送したノード装置Ｔ２−１は、ノード装置Ｔｍ−ｎから、コンテンツを受信する（図４（１８））。ノード装置Ｔ２−１は、ノード装置Ｔｍ−ｎから受信したコンテンツを、コンテンツデータ一時記憶領域に保存する。
【００５７】
ノード装置Ｔ２−１により、ノード装置Ｔｍ−ｎからコンテンツが受信され、保存されると、ユーザノードは、ノード装置Ｔ２−１からコンテンツのダウンロードが可能となる。図４Ｂにおいて、ユーザノードは、ノード装置Ｔ２−１に保存された要求ドメイン名に対応するコンテンツＩＤのコンテンツをダウンロードする（図４（１９））。
【００５８】
また、ノード装置Ｔ２−１は、ユーザノードから要求メッセージを受信することにより、ユーザノードから、コンテンツの取得要求がされる。即ち、ノード装置Ｔ２−１は、ユーザノードから要求メッセージが送信されたとき、他のノード装置やユーザノードから取得要求がされていない「暇ノード装置」ではなくなる。そのため、ノード装置Ｔ２−１は、ユーザノードから要求メッセージが送信されたとき（図４Ｂ（１６））、ＤＮＳサーバＳＶの暇ノードリスト記憶領域から、自身のノード情報を削除させる必要がある。
【００５９】
そこで、図４Ｂにおいて、ノード装置Ｔ２−１は、ユーザノードから要求メッセージを受信した後、ノード装置Ｔｍ−ｎにコンテンツの取得要求をするとともに、ＤＮＳサーバＳＶの暇ノードリスト記憶領域から、ノード装置Ｔ２−１のノード情報を削除する指示を示すリトラクトメッセージを、オーバーレイネットワークＯＬに参加する他のノード装置に送信する（図４Ｂ（２０））。このとき、リトラクトメッセージは、オーバーレイネットワークＯＬに参加する他のノード装置を介して、ルートノードＴ３−１に送信される。尚、ノード装置Ｔ２−１から、リトラクトメッセージが直接ルートノードＴ３−１に送信されてもよい。
【００６０】
そして、ルートノードＴ３−１は、ノード装置Ｔ２−１から送信されたリトラクトメッセージを受信すると、ＤＮＳサーバＳＶにリトラクトメッセージを転送する（図４（２１））。
【００６１】
ＤＮＳサーバＳＶは、ユーザノードからコンテンツ要求がされ、新たに「暇ノード装置」ではなくなったノード装置が発信元のリトラクトメッセージを受信すると、暇ノードリスト記憶領域から、リトラクトメッセージの発信元のノード装置のノード情報を削除する。図４Ｂにおいては、ＤＮＳサーバＳＶは、発信元がノード装置Ｔ２−１のリトラクトメッセージを受信する。そして、ＤＮＳサーバＳＶは、暇ノードリスト記憶領域から、リトラクトメッセージの発信元であるノード装置Ｔ２−１のノード情報を削除する（図４（２２））。これにより、ＤＮＳサーバＳＶの暇ノードリスト記憶領域には、取得要求数が「０」のノード装置のノード情報が管理されることとなる。
【００６２】
次に、図５及び図６を参照して、各装置の構成及び機能について説明する。図５は、ＤＮＳサーバＳＶの概要構成例を示す図である。図６は、ノード装置Ｔｍ−ｎの概要構成例を示す図である。
【００６３】
［ノード装置の電気的構成］
次に、図６を参照して、ノード装置の電気的構成について説明する。図４は、本実施形態のノード装置の電気的構成を示すブロック図である。図４に示すように、本実施形態のノード装置には、ノード装置を制御するＣＰＵ１が備えられている。ＣＰＵ１には、ＨＤＤ２とＲＡＭ３とデコーダ部４と通信部９とがそれぞれ電気的に接続されている。ＨＤＤ２、ＲＡＭ３、などの記憶手段とＣＰＵ１とは、ノード装置のコンピュータを構成している。ＣＰＵ１、ＨＤＤ２、ＲＡＭ３、デコーダ部４、及び通信部９はバスを介して相互に接続されている。通信部９は、ネットワークＮＷを通じてノード装置または外部装置と情報の通信制御を行う。なお、ノード装置としては、パーソナルコンピュータ、又はＳＴＢ（Ｓｅｔ  Ｔｏｐ  Ｂｏｘ）等を適用可能である。
【００６４】
ＨＤＤ２は、プログラム記憶領域２１と、ルーティングテーブル記憶領域２３と、取得要求ノード数記憶領域２４と、インデックス情報記憶領域２５とを含む。プログラム記憶領域２１は、メイン動作処理プログラム記憶領域２２を含む。メイン動作処理プログラム記憶領域２２は、メイン動作処理プログラムを記憶する。メイン動作処理プログラムは、ノード装置にメイン動作処理を実行させるプログラムである。ノード装置のメイン動作処理プログラムは、例えば、ネットワークＮＷ上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしても良い。
【００６５】
ルーティングテーブル記憶領域２３は、ＤＨＴのルーティングテーブルを記憶する。取得要求ノード数記憶領域２４は、取得要求ノード数を記憶する。取得要求ノード数は、そのノード装置が、ネットワークＮＷ等を通じて通信している他のノード装置Ｔｍ―ｎや、他のユーザノード等のノード装置の数を記憶する。インデックス情報記憶領域２５は、暇ノードであるノード装置を示すノード情報を、インデックス情報として記憶する。
【００６６】
ＲＡＭ３は、コンテンツデータ一時記憶領域３１と、パブリッシュ成功通知一時記憶領域３２とを含む。コンテンツデータ一時記憶領域３１は、オーバーレイネットワークＯＬで送受信されるコンテンツデータを一時記憶する。パブリッシュ成功通知一時記憶領域３２は、オーバーレイネットワークＯＬで送受信されるパブリッシュ成功通知を一時記憶する。
【００６７】
デコーダ部４には、映像処理部４１と音声処理部４２とが電気的に接続される。映像処理部４１には、ディスプレイ４３が接続される。音声処理部４２には、スピーカ４４が接続される。
【００６８】
ノード装置は、通信部９を介して要求に応じて送信されてきたコンテンツまたはメタ情報ファイルを受信する受信処理を行う。コンテンツまたはメタ情報ファイルは、例えばパケット化されて送信される。各パケットは、通信部９を通じて受信され、ＲＡＭ３に一時記憶される。一時記憶されたコンテンツは、ＲＡＭ３から読み出されてデコーダ部４と、映像処理部４１と、音声処理部４２と、ディスプレイ６と、スピーカ４４とを通じて再生出力される。或いは、ＲＡＭ３に記憶されたコンテンツは、ＲＡＭ３から読み出されてＨＤＤ２に記憶されても良い。または、コンテンツデータがＲＡＭ３を介さず、直接ＨＤＤ２に記憶されても良い。その後、ユーザからの操作指示にしたがって、ＨＤＤ２からコンテンツが読み出される。読み出されたコンテンツは、デコーダ部４と、映像処理部４１と、音声処理部４２と、ディスプレイ６と、スピーカ４４とを通じて再生出力される。
【００６９】
［ＤＮＳサーバの電気的構成］
ＤＮＳサーバＳＶは、図５に示すように、ＤＮＳサーバＳＶを制御するＣＰＵ１１、作業用のＲＡＭ１２、各種データ及びプログラムを記憶するＲＯＭ１３等を備えている。また、ＤＮＳサーバＳＶは、各種データ及び各種プログラム等を記憶保存するためのＨＤ等から構成されたＨＤＤ１４を備えている。さらに、ＤＮＳサーバＳＶは、ネットワークＮＷ等を通じてノード装置Ｔｍ―ｎや、ユーザノード等との間の情報の通信制御を行うための通信部１５を備えている。ＣＰＵ１１には、ＲＡＭ１２、ＲＯＭ１３、ＨＤＤ１４、通信部１５はバス１６を介して相互に接続されている。ここで、ＨＤＤ１４は、本発明における第１記憶手段及び第２記憶手段の一例である。
【００７０】
ＨＤＤ部１４は、プログラム記憶領域１２１と、取得要求集中ノードリスト記憶領域１２３と、暇ノードリスト記憶領域１２４と、ドメインリスト記憶領域１２５と、検索結果キャッシュ記憶領域１２６とを備えている。プログラム記憶領域１２１は、メイン動作処理プログラム記憶領域１２２を含む。メイン動作処理プログラム記憶領域１２２は、メイン動作処理プログラムを記憶する。メイン動作処理プログラムは、ＤＮＳサーバＳＶにメイン動作処理を実行させるプログラムである。取得要求集中ノードリスト記憶領域１２３は、取得要求集中ノードリストを記憶する。取得要求集中ノードリストとして、所定数以上のノード装置Ｔｍ−ｎやユーザノード等との間で通信を行っているノード装置のＩＰアドレスを記憶する。暇ノードリスト記憶領域１２４は、暇ノードリストを記憶する。暇ノードリストとして、ノード装置Ｔｍ−ｎやユーザノードと通信を行っているノード装置のＩＰアドレスを記憶する。ドメインリスト記憶領域１２５はドメインリストを記憶する。ドメインリストは、ドメイン名と、コンテンツＩＤとを対応付けて示す情報である。各ノード装置は、ドメイン名に対応するコンテンツＩＤを用いることにより、そのドメイン名に対応するノード装置のコンテンツＩＤと同一のコンテンツＩＤを保存するコンテンツ保持ノードを検索することができる。検索結果キャッシュ記憶領域１２６は、検索結果キャッシュを記憶する。検索結果キャッシュとして、要求ドメイン名のドメインＩＤに対応するインデックス情報の検索結果を記憶する。
【００７１】
［ノード装置のメイン動作］
以上説明した構成からなる本実施形態のノード装置の動作及び作用について、添付図面を参照して説明する。まず、ノード装置の動作及び作用について、添付図面を参照して説明する。図７は、ノード装置におけるメイン動作の処理手順を示すフローチャートである。ノード装置のメイン動作は、電源またはコンセントを介して商用電源などの外部電源とノード装置とが接続されたことにより、遂行される。以下に示す処理は、ＣＰＵ１により処理される。
【００７２】
本実施形態のノード装置は、主にパブリッシュメッセージ及びリトラクトメッセージの送受信を行う。パブリッシュメッセージは、ＤＮＳサーバＳＶに記憶される暇ノードリスト記憶領域に記憶させるノード情報を含むメッセージである。ノード装置は、取得要求がされていないノード装置であるとき、後述する処理により行われるパブリッシュ指示に応じて、パブリッシュを発信する。リトラクトメッセージは、ＤＮＳサーバＳＶが記憶する暇ノードリスト記憶領域から削除するノード情報を含むメッセージである。パブリッシュメッセージ及びリトラクトメッセージは、ノード装置と、ＤＮＳサーバＳＶとの間で、ルートノードを介して送受信される。ルートノードは、ルーティングテーブルにより管理する各ノード装置から発信されるパブリッシュメッセージ及びリトラクトメッセージに応じて、ＤＮＳサーバＳＶに暇ノードリスト記憶領域のノード情報の記憶及び削除の指示を行う。
【００７３】
ステップＳ９８では、ＤＮＳサーバＳＶから送信されるコンテンツ取得指示を受信したかが判定される。コンテンツ取得指示は、指定されたコンテンツをノード装置に取得させる指示を示す情報である。コンテンツ取得指示を受信したと判定されると（ステップＳ９８：ＹＥＳ）、ステップＳ９９の処理が行われる。コンテンツ取得指示を受信したと判定されないと（ステップＳ９８：ＮＯ）、ステップＳ１０１の処理が行われる。
【００７４】
ステップＳ９９では、受信したコンテンツ取得指示に応じたコンテンツを、オーバーレイネットワークＯＬに参加するコンテンツ保持ノード装置から取得する。コンテンツ取得支持を受信したノード装置は、コンテンツ保持ノード装置から直接コンテンツを取得する方法のほか、オーバーレイネットワークＯＬに参加する複数ノード装置を経由して転送されたコンテンツを取得するものであってもよい。
【００７５】
ステップＳ１００では、コンテンツ保持ノード装置から取得されたコンテンツ取得要求に指定されたコンテンツが、コンテンツデータ一時記憶領域３１に記憶される。
【００７６】
ステップＳ１０１では、パブリッシュメッセージを受信したかが判定される。パブリッシュメッセージは、オーバーレイネットワークＯＬに参加する他のノード装置から受信する。パブリッシュメッセージの発信元のノード装置は、自身のノード情報をルートノードのインデックス情報記憶領域に登録するため、パブリッシュメッセージを発信する。オーバーレイネットワークＯＬに参加するノード装置がパブリッシュメッセージを受信したことが判定されると（ステップＳ１０１：ＹＥＳ）、ステップ１０２の処理が行われる。ノード装置がパブリッシュメッセージを受信したことが判定されないと（ステップＳ１０１：ＮＯ）、ステップ１１１の処理が行われる。
【００７７】
ステップＳ１０２では、自身がルートノードであるかが判定される。ルートノードであると判定されると（ステップＳ１０２：ＹＥＳ）、ステップＳ１０３の処理が行われる。ルートノードであると判定されないと（ステップＳ１０２：ＮＯ）、ステップＳ１０６の処理が行われる。
【００７８】
ステップＳ１０３では、ルートノードであるノード装置が記憶するインデックス情報が上限値未満であるかが判定される。インデックス情報記憶領域２５に記憶されるインデックス情報の量が、上限値未満であると判定されると（ステップＳ１０３：ＹＥＳ）、ステップＳ１０４の処理が行われる。インデックス情報記憶領域の記憶量が上限値以上であるとき（ステップＳ１０３：ＮＯ）、ステップＳ１６０の処理が行われる。
【００７９】
ステップＳ１０４では、インデックス情報記憶領域２５に、受信したパブリッシュメッセージに含まれるパブリッシュメッセージの発信元のノード情報を記憶する。
【００８０】
ステップＳ１０５では、パブリッシュメッセージの発信元のノード装置に、パブリッシュメッセージ成功通知を送信する。パブリッシュメッセージ成功通知は、受信したパブリッシュメッセージに応じて、インデックス情報記憶領域２５に、パブリッシュメッセージの発信元のノード情報が記憶されたことを示す通知である。パブリッシュメッセージ成功通知は、通知の宛先に、パブリッシュメッセージの発信元のノード情報のＩＰアドレスが設定されている。なお、パブリッシュメッセージ成功通知は、ルートノードからパブリッシュメッセージの発信元のノード装置に直接送信する場合のほか、オーバーレイネットワークＯＬに参加する他のノード装置へ転送される処理を経て、パブリッシュメッセージの発信元のノード装置に送信されるものであってもよい。ステップＳ１０５の処理が行われると、ステップＳ１６０の処理が行われる。
【００８１】
ステップＳ１０６では、受信したパブリッシュメッセージをオーバーレイネットワークＯＬに参加する他のノード装置へ転送する。ステップＳ１０２において自身がルートノードではないと判定されたノード装置は、ルートノードにパブリッシュメッセージの発信元のノード情報を記憶させるため、受信したパブリッシュメッセージを他のノード装置へ転送する。ステップＳ１０６の処理が行われると、ステップＳ１６０の処理が行われる。
【００８２】
ステップＳ１１１では、リトラクトメッセージを受信したかが判定される。リトラクトメッセージは、オーバーレイネットワークＯＬに参加する他のノード装置から受信する。リトラクトメッセージの発信元のノード装置は、自身のノード情報をルートノードのインデックス情報記憶領域から削除するため、リトラクトメッセージを発信する。ノード装置がリトラクトメッセージを受信したことが判定されると（ステップＳ１１１：ＹＥＳ）、ステップ１１２の処理が行われる。ノード装置がリトラクトメッセージを受信したことが判定されないと（ステップＳ１１１：ＮＯ）、ステップ１２１の処理が行われる。
【００８３】
ステップＳ１１２では、自身がルートノードであるかが判定される。ルートノードであると判定されると（ステップＳ１１２：ＹＥＳ）、ステップＳ１１３の処理が行われる。ルートノードであると判定されないと（ステップＳ１１２：ＮＯ）、ステップＳ１１４の処理が行われる。
【００８４】
ステップＳ１１３では、ＤＮＳサーバＳＶに、暇ノードリスト記憶領域からリトラクトメッセージの発信元のノード情報を削除させるリトラクトメッセージを転送する。そして、ＤＮＳサーバＳＶに、暇ノードリスト記憶領域から、受信したリクトラクトメッセージに含まれるリトラクトメッセージの発信元のノード情報を削除させる指示をする。ステップＳ１１３の処理が行われると、ステップＳ１６０の処理が行われる。
【００８５】
ステップＳ１１４では、受信したリトラクトメッセージをオーバーレイネットワークＯＬに参加する他のノード装置へ転送する。ステップＳ１１２において自身がルートノードではないと判定されたノード装置は、ルートノードにリトラクトメッセージの発信元のノード情報を記憶させるため、受信したリトラクトメッセージを他のノード装置へ転送する。ステップＳ１１４の処理が行われると、ステップＳ１６０の処理が行われる。
【００８６】
ステップＳ１２１では、パブリッシュメッセージ成功通知を受信したかが判定される。パブリッシュメッセージ成功通知は、ルートノードまたはオーバーレイネットワークＯＬに参加する他のノード装置から受信する。ノード装置がパブリッシュメッセージ成功通知を受信したことが判定されると（ステップＳ１２１：ＹＥＳ）、ステップ１２２の処理が行われる。ノード装置がパブリッシュメッセージ成功通知を受信したことが判定されないと（ステップＳ１２１：ＮＯ）、ステップ１３１の処理が行われる。
【００８７】
ステップ１２２では、ノード装置が受信したパブリッシュメッセージ成功通知が、自身のノード装置宛てであるかが判定される。ノード装置は、受信したパブリッシュメッセージ成功通知の宛先に設定されているノード情報のＩＰアドレスが、自身のＩＰアドレスと一致するとき、パブリッシュメッセージ成功通知が自身のノード装置宛であると判定する。パブリッシュメッセージ成功通知が、自身のノード装置宛であると判定されると（ステップＳ１２２：ＹＥＳ）、ステップＳ１２３の処理が行われる。パブリッシュメッセージ成功通知が、自身のノード装置宛であると判定されないと（ステップＳ１２２：ＮＯ）、ステップＳ１２４の処理が行われる。
【００８８】
ステップＳ１２３では、受信したパブリッシュメッセージ成功通知が、パブリッシュメッセージ成功通知一時記憶領域３２に記憶される。ステップＳ１２３の処理が行われると、ステップＳ１６０の処理が行われる。
【００８９】
ステップＳ１２４では、パブリッシュメッセージ成功通知が、オーバーレイネットワークＯＬに参加する他のノード装置または宛先に設定されているノード装置に転送される。ステップＳ１２４の処理が行われると、ステップＳ１６０の処理が行われる。
【００９０】
ステップＳ１３１では、パブリッシュメッセージ指示通知を受信したかが判定される。パブリッシュメッセージ指示通知は、ルートノードを発信元として、ルートノードまたはオーバーレイネットワークＯＬに参加する他のノード装置から受信する。パブリッシュメッセージ指示通知は、後述のようにルートノードが、管理するノード装置にパブリッシュメッセージを送信させる指示を行うものである。また、パブリッシュメッセージ指示通知は、通知する宛先として、パブリッシュメッセージを送信させるノード装置を指定するノード情報を含んでもよい。ノード装置がパブリッシュメッセージ指示通知を受信したことが判定されると（ステップＳ１３１：ＹＥＳ）、ステップ１３２の処理が行われる。ノード装置がパブリッシュメッセージ指示通知を受信したことが判定されないと（ステップＳ１３１：ＮＯ）、ステップ１４１の処理が行われる。
【００９１】
ステップ１３２では、パブリッシュメッセージ指示通知を受信すると、パブリッシュメッセージが送信可能であるかが判定される。ノード装置は、自身が、取得要求がない暇ノードであるとき、パブリッシュメッセージが可能であると判定される。ノード装置がパブリッシュメッセージを送信可能であると判定されると（ステップＳ１３２：ＹＥＳ）、ステップ１３３の処理が行われる。ノード装置がパブリッシュメッセージを送信可能であると判定されないと（ステップＳ１３２：ＮＯ）、ステップ１３４の処理が行われる。
【００９２】
ステップＳ１３３では、パブリッシュメッセージ指示通知を受けたノード装置が発信元となって、パブリッシュメッセージが送信される。パブリッシュメッセージの送信先は、オーバーレイネットワークＯＬに参加する他のノード装置やルートノードである。ステップＳ１３３の処理が行われると、ステップＳ１６０の処理が行われる。
【００９３】
ステップＳ１３４では、受信したパブリッシュメッセージ指示通知が、自身のノード装置宛であるか判定される。パブリッシュメッセージ指示通知の宛先に、自身のノード装置のノード情報が含まれているとき、パブリッシュメッセージ指示通知が、自身のノード装置宛であると判定される。パブリッシュメッセージ指示通知が、自身のノード装置宛であると判定されると（ステップＳ１３４：ＹＥＳ）、ステップＳ１３５の処理が行われる。パブリッシュメッセージ指示通知の宛先に、自身のノード装置のノード情報が含まれておらず、パブリッシュメッセージ指示通知が、自身のノード装置宛であると判定されないと（ステップＳ１３４：ＮＯ）、ステップＳ１３６の処理が行われる。
【００９４】
ステップＳ１３５では、オーバーレイネットワークＯＬに参加しているノード装置のうち、ランダムに選択したいずれかのノード装置へ、パブリッシュメッセージ指示通知が転送される。ステップＳ１３５が行われるとき、パブリッシュメッセージ指示通知を受信したが、ステップＳ１３２においてパブリッシュメッセージが送信可能でないと判定されている。しかしながら、ステップＳ１３４においてパブリッシュメッセージ指示通知が自身のノード装置宛であると判定される。パブリッシュメッセージ指示通知を受信したノード装置は、自身のノード装置がパブリッシュメッセージが送信可能ではないため、他のノード装置にパブリッシュメッセージを送信させるためのパブリッシュメッセージ指示通知を転送する。
【００９５】
ステップ１３５では、オーバーレイネットワークＯＬに参加する他のノード装置から、ノード装置がランダムに選択される。パブリッシュメッセージ指示通知の宛先を、設定されている自身のノード装置のノード情報から、ランダムに選択されたノード装置のノード情報へ変更する。そして、宛先が変更されたパブリッシュメッセージ指示通知を、オーバーレイネットワークＯＬに参加するノード装置へ転送する。ステップＳ１３５の処理が行われると、ステップＳ１６０の処理が行われる。
【００９６】
ステップＳ１３６では、パブリッシュメッセージ指示通知が、宛先に設定されているノード装置に送信するため、オーバーレイネットワークＯＬに参加する他のノード装置へ転送される。ステップＳ１３６の処理が行われると、ステップＳ１６０の処理が行われる。
【００９７】
ステップＳ１４１では、パブリッシュメッセージ指示を通知するタイミングであるかが判定される。パブリッシュメッセージ指示は、ルートノードにおいて、オーバーレイネットワークＯＬに参加する他のノード装置から、パブリッシュメッセージ指示を送信させる指示が送信されたとき、若しくは、インデックス情報記憶領域に空き領域があるとき、通知するタイミングであると判定される。パブリッシュメッセージ指示を通知するタイミングであると判定されると（ステップＳ１４１：ＹＥＳ）、ステップＳ１４２の処理が行われる。パブリッシュメッセージ指示を通知するタイミングであると判定されると（ステップＳ１４１：ＮＯ）、ステップＳ１５１の処理が行われる。
【００９８】
ステップＳ１４２では、パブリッシュメッセージ指示通知を、オーバーレイネットワークＯＬに参加する他のノード装置へ送信する。ステップＳ１４２の処理が行われると、ステップＳ１６０の処理が行われる。
【００９９】
ステップＳ１５１では、リトラクトメッセージのタイミングであるかが判定される。ノード装置において、取得要求ノード数記憶領域２４に記憶されたノード数が１以上であるとき、リトラクトメッセージのタイミングであると判定される。リトラクトメッセージのタイミングであると判定されるとき（ステップＳ１５１：ＹＥＳ）、ステップＳ１５２の処理が行われる。リトラクトメッセージのタイミングであると判定されないとき（ステップＳ１５１：ＮＯ）、ステップＳ１６０の処理が行われる。なお、ステップＳ１５１では、ユーザノードまたは、他のノード装置からコンテンツの取得要求がされ、取得要求ノード数記憶領域２４に記憶されたノード数が、「１」以上であるとき、リトラクトメッセージのタイミングであると判定される。また、取得要求ノード数記憶領域２４に記憶されたノード数が、「１」以上の予め定められた数以上であるとき、リトラクトメッセージのタイミングであると判定されてもよい。
【０１００】
ステップＳ１５２では、パブリッシュメッセージ成功通知を受信しているか否かが判定される。パブリッシュメッセージ成功通知一時記憶領域３２に、パブリッシュメッセージ成功通知が記憶されているとき、パブリッシュメッセージ成功通知を受信していると判定される。パブリッシュメッセージ成功通知が記憶されていれば、ノード装置とＤＮＳサーバＳＶとは、オーバーレイネットワークＯＬにより接続され、通信可能な状態が確立されている状態である。パブリッシュメッセージ成功通知を受信していると判定されるとき（ステップＳ１５２：ＹＥＳ）、ステップＳ１５３の処理が行われる。パブリッシュメッセージ成功通知を受信していると判定されないとき（ステップＳ１５２：ＮＯ）、ステップＳ１６０の処理が行われる。
【０１０１】
ステップＳ１５３では、リトラクトメッセージが、ルートノードへ送信される。リトラクトメッセージは、ルートノードのインデックス情報記憶領域に記憶されたノード情報を削除させる指示を示す情報である。取得要求ノード数記憶領域２４に１以上のノード数が記憶されたノード装置は、暇ノードではない。そのため、ルートノードのインデックス情報記憶領域２５に記憶されるインデックス情報から、自身のノード情報を削除させる通知を示すリトラクトメッセージが行われる。なお、リトラクトメッセージは、宛先がルートノードに設定されていればよい。たとえば、リトラクトメッセージは、発信するノード装置から、ルートノードへ直接送信されるほか、オーバーレイネットワークＯＬに参加する他のノード装置へ送信され、他のノード装置から転送されて、ルートノードへ送信されるものであってもよい。
【０１０２】
また、ステップＳ１５３では、ノード装置がコンテンツを他のノード装置Ｔｍ−ｎから取得しているときは、新たにコンテンツを保持したことを示すコンテンツ保持パブリッシュメッセージが、リトラクトメッセージとともに送信される。ユーザノードからコンテンツの取得要求がされたノード装置は、他のノード装置Ｔｍ−ｎからコンテンツを取得し、新たにコンテンツ保持ノード装置となっている。ここで、コンテンツの所在を管理するルートノードは、新たにコンテンツ保持ノード装置となったノード装置から送信されるコンテンツ保持パブリッシュメッセージを受信する。そして、コンテンツの所在を管理するルートノードは、新たにコンテンツ保持ノード装置となったノード装置の所在を、インデックス情報に追加する。これにより、コンテンツの所在を管理するルートノードは、新たにコンテンツ保持ノード装置となったノード装置の所在を管理することができる。
【０１０３】
ステップＳ１５４では、パブリッシュメッセージ指令がルートノードに送信される。ステップＳ１５３においては、リトラクトメッセージがルートノードへ送信される。ルートノードが、リトラクトメッセージを受信すると、インデックス情報記憶領域２５からリトラクトメッセージを発信したノード装置のノード情報が削除される。そのため、インデックス情報記憶領域２５に、空き領域が発生すると考えられる。そこで、インデックス情報記憶領域２５に、暇ノードを示すノード装置のノード情報を新たに記憶させるため、ノード装置は、ルートノードにパブリッシュメッセージ指示通知を発信させるパブリッシュメッセージ指令を行う。ステップＳ１５４が行われると、ステップＳ１６０の処理が行われる。なお、パブリッシュメッセージ指令を発信するノード装置は、ルートノードへ直接送信するほか、オーバーレイネットワークＯＬに参加する他のノード装置へ送信し、他のノード装置から転送されて、ルートノードへ送信されるものであってもよい。
【０１０４】
ステップＳ１６０では、ユーザノードからコンテンツ送信要求を受信したかが判定される。コンテンツ送信要求は、ユーザノードに指定したコンテンツを送信することを要求する情報である。コンテンツ送信要求を受信したと判定されると（ステップＳ１６０：ＹＥＳ）、ステップＳ１６１の処理が行われる。コンテンツ送信要求を受信したと判定されないと（ステップＳ１６０：ＮＯ）、ステップＳ９８の処理が行われる。
【０１０５】
ステップＳ１６１では、受信したコンテンツ送信要求に応じて、コンテンツデータ一時記憶領域３１から、コンテンツをユーザノードに送信する。
【０１０６】
ステップＳ１６２では、電源オフを指示されたか否かが判断される。電源オフを指示されたと判断されると（ステップＳ１６２：ＹＥＳ）、ノード装置メイン動作処理が終了される。電源オフを指示されたと判断されないと（ステップＳ１６２：ＮＯ）、ステップＳ９８の処理が行われる。
【０１０７】
［ＤＮＳサーバＳＶのメイン動作］
以下、図８を参照して本実施形態のＤＮＳサーバＳＶの動作及び作用について説明する。図８は、ＤＮＳサーバＳＶにおけるメイン動作の処理手順を示すフローチャートである。ＤＮＳサーバＳＶのメイン動作は、電源またはコンセントを介して商用電源などの外部電源とノード装置とが接続されたことにより、遂行される。以下に示す処理は、ＣＰＵ１１により処理される。なお、本実施形態のＤＮＳサーバＳＶは、本発明の情報処理装置の一例である。なお、本発明の情報処理装置として、ＤＮＳサーバＳＶ以外の装置が用いられても良い。この場合、オーバーレイネットワークに接続されているノード装置が、本発明の情報処理装置として用いられても良い。
【０１０８】
ステップＳ１９９では、暇ノードリスト記憶領域１２４に空き領域があるかが判断される。暇ノードリスト記憶領域１２４に空き領域があると判断されると（ステップＳ１９９：ＹＥＳ）、ステップＳ２００の処理が行われる。暇ノードリスト記憶領域１２４に空き領域があると判断されないと（ステップＳ１９９：ＮＯ）、ステップＳ２０３の処理が行われる。
【０１０９】
ステップＳ２００では、暇ノード装置であることを示す情報を含むノード情報を、オーバーレイネットワークに参加するノード装置Ｔｍ−ｎに要求する。
【０１１０】
ステップＳ２０１では、ノード装置Ｔｍ−ｎから、暇ノード装置として送信されるノード情報を受信したかが判定される。暇ノード装置であることを示す情報を含むノード情報を受信したと判定されると（ステップＳ２０１：ＹＥＳ）、ステップＳ２０２の処理が行われる。暇ノード装置であることを示す情報を含むノード情報を受信したと判定されないと（ステップＳ２０１：ＮＯ）、ステップＳ２０３の処理が行われる。
【０１１１】
ステップＳ２０２では、ノード装置Ｔｍ−ｎから受信した暇ノード装置であることを示す情報を含むノード情報を、暇ノードリスト記憶領域に記憶する。
【０１１２】
ステップＳ２０３では、ノード装置Ｔｍ−ｎから、取得要求集中ノード装置として送信されるノード情報を受信したかが判定される。取得要求集中ノード装置であることを示す情報を含むノード情報を受信したと判定されると（ステップＳ２０３：ＹＥＳ）、ステップＳ２０４の処理が行われる。取得要求集中ノード装置であることを示す情報を含むノード情報を受信したと判定されないと（ステップＳ２０３：ＮＯ）、ステップＳ２０５の処理が行われる。
【０１１３】
ステップＳ２０４では、ノード装置Ｔｍ−ｎから受信した取得要求集中ノード装置であることを示す情報を含むノード情報を、取得要求集中ノードリスト記憶領域に記憶する。
【０１１４】
ステップＳ２０５では、ユーザノードから、名前解決リクエストを受信したか否かが判定される。名前解決リクエストを受信したと判定された場合には（ステップＳ２０５：ＹＥＳ）、ステップＳ２０６の処理が行われる。名前解決リクエストを受信したと判定されない場合には（ステップＳ２０５：ＮＯ）、ステップＳ２１８の処理が行われる。
【０１１５】
ステップＳ２０６では、受信した名前解決リクエストに含まれる要求ドメインのインデックス情報が検索結果キャッシュに記憶されているかが判定される。要求ドメインのインデックス情報が検索結果キャッシュにあると判定されると（ステップＳ２０６：ＹＥＳ）、ステップＳ２１３の処理が行われる。要求ドメインのインデックス情報が検索結果キャッシュにあると判定されないと（ステップＳ２０７：ＮＯ）、ステップＳ２０７の処理が行われる。
【０１１６】
ステップＳ２０７では、ドメインリストから、引数として渡されたドメイン名に対応するドメインＩＤが検索される。
【０１１７】
ステップＳ２０８では、ドメインＩＤを検索することができたかが判定される。ドメインＩＤを検索することができたと判定した場合には（ステップＳ２０８：ＹＥＳ）、ステップＳ２０９の処理が行われる。ドメインＩＤを検索することができなかったと判定した場合には（ステップＳ２０８：ＮＯ）、ステップＳ２１１の処理が行われる。
【０１１８】
ステップＳ２０９では、検索されたドメインＩＤを含む検索メッセージを送信することにより、コンテンツ保持ノードを検索する。
【０１１９】
ステップＳ２１０では、コンテンツ保持ノードを検索することができたか否かが判定される。このとき、送信した検索メッセージに応じてルートノードからコンテンツ保持ノードのインデックス情報を受信した場合には、コンテンツ保持ノードを検索することができたと判定される（ステップＳ２１０：ＹＥＳ）。この場合、コンテンツ保持ノード検索処理が終了され、処理結果として検索成功が返却される。コンテンツ保持ノードを検索することができたと判定されるとき（ステップＳ２１０：ＹＥＳ）、ステップＳ２１２の処理が行われる。一方、ルートノードからコンテンツ保持ノードのインデックス情報を受信することができなかった場合には、コンテンツ保持ノードを検索することができなかったと判定する（ステップＳ２１０：ＮＯ）。この場合、コンテンツ保持ノード検索処理が終了させて、処理結果として検索失敗が返却される。コンテンツ保持ノードを検索することができなかったと判定されるとき（ステップＳ２１０：ＮＯ）、ステップＳ２１１の処理が行われる。
【０１２０】
ステップＳ２１１では、エラーメッセージがユーザノードに返信される。エラーメッセージは、ドメインＩＤを検索することができなかったとき（ステップＳ２０８：ＮＯ）、またはコンテンツ保持ノードを検索することができなかったとき（ステップＳ２１０：ＹＥＳ）に返信される。ステップＳ２１１の処理が行われると、ステップＳ２１８の処理が行われる。
【０１２１】
ステップＳ２１２では、ユーザノードの名前解決要求に従って検索したドメインＩＤに対応するコンテンツ保持ノードのインデックス情報が検索結果キャッシュに記憶される。
【０１２２】
ステップＳ２１３では、ユーザノードの名前解決要求に従って、検索結果キャッシュからドメインＩＤに対応するコンテンツ保持ノードのＩＰアドレスが、取得要求先として特定される。ＩＰアドレスは、ユーザノードから受信する名前解決要求のドメイン名から、ドメインリストと検索結果キャッシュとを用いて特定される。
【０１２３】
ステップＳ２１４では、ステップＳ２１３において特定された取得要求先のＩＰアドレスが、取得要求集中ノードであるかが判定される。具体的には、取得要求集中ノードリストに、特定された取得要求先のＩＰアドレスと一致するＩＰアドレスを含むノード情報が記憶されているかが判定される。取得要求先のＩＰアドレスが、取得要求集中ノードであると判定されると（ステップＳ２１４：ＹＥＳ）、ステップＳ２１５の処理が行われる。取得要求先のＩＰアドレスが、取得要求集中ノードであると判定されないと（ステップＳ２１４：ＮＯ）、ステップＳ２２０の処理が行われる。
【０１２４】
ステップＳ２１５では、取得要求先と特定されたＩＰアドレスのノード装置の代用ノード装置として、暇ノードリストから或るノード装置のノード情報が選択される。代用ノード装置は、ステップＳ２１３において取得要求先と特定されたＩＰアドレスのノード装置でなく、且つ、暇ノードリストに記憶されたノード情報が示すノード装置である。
【０１２５】
ステップＳ２１６では、代用ノード装置として選択されたノード情報に従って、代用ノード装置のＩＰアドレスが、取得要求先とされたノード装置に変わるノード装置としてユーザノードに送信される。また、ステップＳ２１６は、ユーザノードに、代用ノード装置のＩＰアドレスとともに、そのＩＰアドレスが示す代用ノード装置からコンテンツを受信させる指示を示すコンテンツ要求指示情報を送信する。
【０１２６】
ステップＳ２１７では、ステップＳ２１５において選択された代用ノード装置へ、コンテンツを取得させる指示を送信する。また、代用ノード装置のノード情報は、コンテンツを保持するノード装置として、ドメインリスト記憶領域に追加記憶される。
【０１２７】
ステップＳ２１８では、リトラクトメッセージを受信したかが判断される。リトラクトメッセージは、ＤＮＳサーバＳＶの暇ノード記憶領域から、ステップ２１６においてＩＰアドレスが送信された代用ノードのノード情報を削除する指示を示す情報、または他のノード装置からアクセスがされているノード装置を示すノード情報を削除する指示を示す情報である。リトラクトメッセージは、例えばルートノードから送信される。リトラクトメッセージを受信したと判定されたとき（ステップＳ２１８：ＹＥＳ）、ステップＳ２１９の処理が行われる。リトラクトメッセージを受信したと判定されないとき（ステップＳ２１８：ＮＯ）、ステップＳ２２１の処理が行われる。
【０１２８】
ステップＳ２１９では、受信したリトラクトメッセージに含まれるリトラクトメッセージの発信元を示すノード情報が、暇ノードリスト記憶領域から削除される。
【０１２９】
ステップＳ２２０では、取得要求先のノード装置のＩＰアドレスが、ユーザノードに送信される。取得要求先のノード装置のＩＰアドレスは、ステップＳ２１４において取得要求集中ノードと判定されなかったノード装置のＩＰアドレスである。
【０１３０】
ステップＳ２２１では、管理者からの終了指示があったか否かが判定される。管理者からの終了指示があったと判定されたとき（ステップＳ２２１：ＹＥＳ）、ＤＮＳサーバＳＶのメイン動作処理が終了される。管理者からの終了指示があったと判定されないとき（ステップＳ２２１：ＮＯ）、ステップＳ１９９からの処理が繰り返される。
【０１３１】
（変形例）
本実施形態においては、ＤＮＳサーバＳＶの暇ノードリスト記憶領域により、暇ノード装置のノード情報が管理され、取得要求集中ノードリスト記憶領域により、取得要求集中ノード装置のノード情報が管理されていたが、これに限らない。例えば、オーバーレイネットワークＯＬに参加するノード装置のひとつを、暇ノード装置を管理するルートノードと設定し、暇ノード装置を管理するルートノードのインデックス情報より、暇ノード装置の所在情報を管理してもよい。この場合、ＤＮＳサーバＳＶは、暇ノード装置を管理するルートノードのインデックス情報に従って、ユーザノードから名前解決を要求される要求ドメイン名に対応するノード装置のＩＰアドレスを決定する。また、オーバーレイネットワークＯＬに参加するノード装置のひとつを、取得要求集中ノード装置を管理するルートノードと設定し、取得要求集中ノード装置を管理するルートノードのインデックス情報より、取得要求集中ノード装置の所在情報を管理してもよい。
【０１３２】
（実施形態の構成関係）
本実施形態のＣＰＵ１１及びステップＳ２０１の処理が、取得手段及び取得ステップの一例である。本実施形態において、ＤＮＳサーバＳＶのＨＤＤ１２の暇ノードリスト記憶領域１２４が、本発明の第１記憶部の一例であり、暇ノードリスト記憶領域１２４にノード情報を記憶する処理が本発明及び第１記憶ステップの一例である。本実施形態において、ＤＮＳサーバＳＶのＨＤＤ１２の取得要求集中ノードリスト記憶領域１２３が、本発明の第２記憶部の一例であり、取得要求集中ノードリスト記憶領域１２３にノード情報を記憶する処理が本発明及び第２記憶ステップの一例である。
【０１３３】
本実施形態のＣＰＵ１１及びステップＳ２０５の処理が、第１受信手段及び第１受信ステップの一例である。本実施形態のＣＰＵ１１及びステップＳ２１４の処理が、判定手段及び判定ステップの一例である。本実施形態のＣＰＵ１１及びステップＳ２１５の処理が、決定手段及び決定ステップの一例である。本実施形態のＣＰＵ１１及びステップＳ２１６の処理が、第１送信手段及び第１送信ステップの一例である。
【０１３４】
本実施形態のＣＰＵ１１及びステップＳ２１７の処理が、取得指示手段の一例である。本実施形態のＣＰＵ１１及びステップＳ２１６の処理が、要求指示手段の一例である。本実施形態のＣＰＵ１１及びステップＳ２１９の処理が、削除手段の一例である。本実施形態のＣＰＵ１１及びステップＳ１９９の処理が、第２判定手段の一例である。本実施形態のＣＰＵ１１及びステップＳ２００の処理が、要求手段の一例である。本実施形態のＣＰＵ１１及びステップＳ２１２の処理が、制御手段の一例である。
【０１３５】
本実施形態のＣＰＵ１及びステップＳ９９の処理が、取得手段の一例である。本実施形態のＣＰＵ１及びステップＳ１００の処理が、記憶手段の一例である。本実施形態のＣＰＵ１及びステップＳ１６１の処理が、第３送信手段の一例である。
【符号の説明】
【０１３６】
Ｔｍ−ｎ  ノード装置
１  ＣＰＵ
２  ＨＤＤ
３  ＲＡＭ
９  ＣＰＵ
ＳＶ  ＤＮＳサーバ
１１  ＣＰＵ
１２  ＨＤＤ
１５  通信部
【図１】
0005494550.tif 000002
【図２】
0005494550.tif 000003
【図３】
0005494550.tif 000004
【図４Ａ】
0005494550.tif 000005
【図４Ｂ】
0005494550.tif 000006
【図５】
0005494550.tif 000007
【図６】
0005494550.tif 000008
【図７】
0005494550.tif 000009
【図８】
0005494550.tif 000010