(57)【要約】【課題】利用可能なキャッシュデータを幅広く登録することができるとともに、幅広く登録したキャッシュデータを効率良く利用することができるキャッシュサーバ装置を提供すること。【解決手段】データ登録処理部が再帰問合わせ処理部を介して受け取ったＤＮＳサーバ装置からの回答を、あらたに導入した概念である信頼度と対応付けることによってキャッシュデータとして幅広く登録するとともに、登録されたキャッシュデータを利用する場面においては、応答可否判定部が所定の応答用閾値以上のキャッシュデータを応答可能と判定し、応答処理部は応答可否判定部が応答可能と判定したキャッシュデータを応答処理に利用するよう構成する。【選択図】        図２
2007251631.tif 000002
【特許請求の範囲】
【請求項１】
ＤＮＳサーバ装置に対する問合わせの応答をキャッシュデータとして蓄積するとともに、ＤＮＳクライアント装置からＤＮＳクエリ要求を受け付けた際に前記キャッシュデータに基づいて当該ＤＮＳクライアント装置への即時応答または前記ＤＮＳサーバ装置への再帰的な問合わせをおこなったうえでの応答のいずれかを返すキャッシュサーバ装置であって、
前記ＤＮＳサーバ装置に対する問合わせの応答を当該応答の信頼度と対応付けたうえで前記キャッシュデータとして登録する登録手段と、
前記登録手段によって登録された前記キャッシュデータの利用可否を前記信頼度に基づいて判定する利用可否判定手段と
を備えたことを特徴とするキャッシュサーバ装置。
【請求項２】
前記利用可否判定手段の判定結果に基づいて前記ＤＮＳクライアント装置への即時応答をおこなう応答手段をさらに備え、
前記利用可否判定手段は、
前記応答手段が前記ＤＮＳクライアント装置への即時応答をおこなうに先だって、前記信頼度が応答用閾値以上である前記キャッシュデータを即時応答に利用可能であると判定することを特徴とする請求項１に記載のキャッシュサーバ装置。
【請求項３】
前記登録手段は、
前記応答用閾値よりも低い値を有する登録用閾値を用いるものであって、前記信頼度が登録用閾値以上である前記問合わせの応答を前記キャッシュデータとして登録することを特徴とする請求項２に記載のキャッシュサーバ装置。
【請求項４】
前記利用可否判定手段の判定結果に基づいて前記ＤＮＳサーバ装置への再帰的な問合わせをおこなう問合わせ手段をさらに備え、
前記利用可否判定手段は、
前記応答用閾値よりも低い値を有する問合わせ用閾値を用いるものであって、
前記問合わせ手段が前記ＤＮＳサーバ装置への再帰的な問合わせをおこなうに先だって、前記信頼度が問合わせ用閾値以上である前記キャッシュデータを再帰的な問合わせに利用可能であると判定することを特徴とする請求項２または３に記載のキャッシュサーバ装置。
【請求項５】
前記信頼度に基づいて区分けされたキャッシュ領域を有するキャッシュデータ記憶手段をさらに備え、
前記登録手段は、
前記ＤＮＳサーバ装置に対する問合わせの応答を前記信頼度に対応する各キャッシュ領域へ登録することを特徴とする請求項１〜４のいずれか一つに記載のキャッシュサーバ装置。
【請求項６】
前記登録手段によって登録される前記キャッシュデータのデータ構造はハッシュテーブルであって、
前記キャッシュデータを検索するための検索アルゴリズムを前記キャッシュデータの利用目的ごとに切り替える検索アルゴリズム切替手段をさらに備えたことを特徴とする請求項１〜５のいずれか一つに記載のキャッシュサーバ装置。
【請求項７】
前記登録手段は、
前記ＤＮＳサーバ装置に対する問合わせの応答の前記信頼度が既に登録した前記キャッシュデータの前記信頼度と異なる場合に、あらたな応答を用いて前記キャッシュデータを更新することを特徴とする請求項１〜６のいずれか一つに記載のキャッシュサーバ装置。
【請求項８】
ＤＮＳサーバ装置に対する問合わせの応答をキャッシュデータとして蓄積するとともに、ＤＮＳクライアント装置からＤＮＳクエリ要求を受け付けた際に前記キャッシュデータに基づいて当該ＤＮＳクライアント装置への即時応答または前記ＤＮＳサーバ装置への再帰的な問合わせをおこなったうえでの応答のいずれかを返すキャッシュ制御方法であって、
前記ＤＮＳサーバ装置に対する問合わせの応答を当該応答の信頼度と対応付けたうえで前記キャッシュデータとして登録する登録工程と、
前記登録工程によって登録された前記キャッシュデータの利用可否を前記信頼度に基づいて判定する利用可否判定工程と
を含んだことを特徴とするキャッシュ制御方法。
【請求項９】
ＤＮＳサーバ装置に対する問合わせの応答をキャッシュデータとして蓄積するとともに、ＤＮＳクライアント装置からＤＮＳクエリ要求を受け付けた際に前記キャッシュデータに基づいて当該ＤＮＳクライアント装置への即時応答または前記ＤＮＳサーバ装置への再帰的な問合わせをおこなったうえでの応答のいずれかを返すキャッシュサーバ装置用プログラムであって、
前記ＤＮＳサーバ装置に対する問合わせの応答を当該応答の信頼度と対応付けたうえで前記キャッシュデータとして登録する登録手順と、
前記登録手順によって登録された前記キャッシュデータの利用可否を前記信頼度に基づいて判定する利用可否判定手順と
をコンピュータに実行させることを特徴とするキャッシュサーバ装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＤＮＳサーバ装置に対する問合わせの応答をキャッシュデータとして蓄積するとともに、ＤＮＳクライアント装置からＤＮＳクエリ要求を受け付けた際に蓄積したキャッシュデータに基づいてＤＮＳクライアント装置への即時応答またはＤＮＳサーバ装置への再帰的な問合わせをおこなったうえでの応答のいずれかを返すキャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラムに関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（ＰＣ）などのＤＮＳ（Domain  Name  System）クライアント装置からの名前解決要求（以下、「ＤＮＳクエリ要求」と記載する）に対し、過去におこなったＤＮＳサーバ装置に対する問合わせの回答を蓄積したキャッシュデータを用いて応答するキャッシュサーバ装置が知られている。
【０００３】
このキャッシュサーバ装置は、たとえば、「ａａａ．ｃｏ．ｊｐ．」というドメイン名を有するサーバＡのＩＰアドレスを返してほしい旨のＤＮＳクエリ要求を受け付けた場合、キャッシュデータにサーバＡのアドレス情報が含まれていれば、キャッシュデータを用いた「応答処理」を実行する。一方、キャッシュデータにサーバＡのアドレス情報が含まれていなければ、サーバＡのアドレス情報を取得するために権威サーバ（以下、「ＤＮＳサーバ装置」と記載する）に対する「再帰問合わせ処理」を実行したうえで名前解決をおこなって応答する。
【０００４】
ここで、「再帰問合わせ処理」とは、「ルート」、「ｊｐ．」、「ｃｏ．ｊｐ．」といった各ドメイン階層を管理するＤＮＳサーバ装置に対する問合わせ処理を、上位階層から順々に繰り返していくことで目的とするドメイン名についてのアドレス情報を取得する処理のことを指す。
【０００５】
ところで、従来のキャッシュサーバ装置のなかには、上記した「応答処理」に用いることのできる信頼性をもった回答（たとえば、ドメインのゾーンを管轄するＤＮＳサーバ装置からの正式回答）のみをキャッシュデータとして蓄積するものが存在した。すなわち、かかる従来のキャッシュサーバでは、「応答処理」に用いることのできない回答（たとえば、階層配下のＤＮＳサーバ装置が名前解決できる旨をあらわす委任回答）を破棄していた。
【０００６】
また、特許文献１には、正式回答用キャッシュ領域および委任回答用キャッシュ領域を設けて正式回答および委任回答をそれぞれのキャッシュ領域に登録するとともに、各キャッシュ領域のデータ構造をそれぞれ異なる構造とすることによってキャッシュデータの利用処理の高速化を図る技術が開示されている。
【０００７】
【特許文献１】米国特許出願公開第２００４／０２６７９０７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記した委任回答を破棄するキャッシュサーバ装置は、利用可能なキャッシュデータを登録していために、キャッシュデータを利用する処理を効率的におこなうことができないという問題があった。具体的には、名前解決ができるＤＮＳサーバ装置が委任回答に示されている場合であっても、この委任回答をキャッシュしていないので、問合わせのたびに上位階層のＤＮＳサーバ装置を起点とする「再帰問合わせ処理」を実行する必要があった。したがって、２回目以降の問合わせであってもＤＮＳサーバ装置への問合わせ処理に要する時間を短縮することができないという問題があった。
【０００９】
また、特許文献１に開示されているキャッシュサーバ装置は、キャッシュデータを幅広くおこなうことができるものの、登録したキャッシュデータを利用する際の処理が煩雑であるという問題があった。具体的には、「再帰問合わせ処理」をおこなう場合には、問合わせ先ＤＮＳサーバ装置のアドレスを広く参照する必要があることから正式回答用キャッシュ領域および委任回答用キャッシュ領域を双方とも参照することになり参照処理が煩雑化してしまう。さらに、各キャッシュ領域のデータ構造が異なるとキャッシュデータを参照する際の処理手順が複雑化してしまう。
【００１０】
さらに、特許文献１に開示されているキャッシュサーバ装置は、正式回答および委任回答をそれぞれの回答用に設けたキャッシュ領域に登録するという固定的な構成をとっており、登録したキャッシュデータの利用ポリシーを柔軟に変更することができないという問題もあった。
【００１１】
これらのことから、利用可能なキャッシュデータを幅広く登録することができるとともに、幅広く登録したキャッシュデータを効率良く利用することができるキャッシュサーバ装置をいかにして実現するかが大きな課題となっている。
【００１２】
この発明は、上述した従来技術による問題点を解決するためになされたものであって、利用可能なキャッシュデータを幅広く登録することができるとともに、幅広く登録したキャッシュデータを効率良く利用することができるキャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、ＤＮＳサーバ装置に対する問合わせの応答をキャッシュデータとして蓄積するとともに、ＤＮＳクライアント装置からＤＮＳクエリ要求を受け付けた際に前記キャッシュデータに基づいて当該ＤＮＳクライアント装置への即時応答または前記ＤＮＳサーバ装置への再帰的な問合わせをおこなったうえでの応答のいずれかを返すキャッシュサーバ装置であって、前記ＤＮＳサーバ装置に対する問合わせの応答を当該応答の信頼度と対応付けたうえで前記キャッシュデータとして登録する登録手段と、前記登録手段によって登録された前記キャッシュデータの利用可否を前記信頼度に基づいて判定する利用可否判定手段とを備えたことを特徴とする。
【００１４】
また、請求項２に係る発明は、上記の発明において、前記利用可否判定手段の判定結果に基づいて前記ＤＮＳクライアント装置への即時応答をおこなう応答手段をさらに備え、前記利用可否判定手段は、前記応答手段が前記ＤＮＳクライアント装置への即時応答をおこなうに先だって、前記信頼度が応答用閾値以上である前記キャッシュデータを即時応答に利用可能であると判定することを特徴とする。
【００１５】
また、請求項３に係る発明は、上記の発明において、前記登録手段は、前記応答用閾値よりも低い値を有する登録用閾値を用いるものであって、前記信頼度が登録用閾値以上である前記問合わせの応答を前記キャッシュデータとして登録することを特徴とする。
【００１６】
また、請求項４に係る発明は、上記の発明において、前記利用可否判定手段の判定結果に基づいて前記ＤＮＳサーバ装置への再帰的な問合わせをおこなう問合わせ手段をさらに備え、前記利用可否判定手段は、前記応答用閾値よりも低い値を有する問合わせ用閾値を用いるものであって、前記問合わせ手段が前記ＤＮＳサーバ装置への再帰的な問合わせをおこなうに先だって、前記信頼度が問合わせ用閾値以上である前記キャッシュデータを再帰的な問合わせに利用可能であると判定することを特徴とする。
【００１７】
また、請求項５に係る発明は、上記の発明において、前記信頼度に基づいて区分けされたキャッシュ領域を有するキャッシュデータ記憶手段をさらに備え、前記登録手段は、前記ＤＮＳサーバ装置に対する問合わせの応答を前記信頼度に対応する各キャッシュ領域へ登録することを特徴とする。
【００１８】
また、請求項６に係る発明は、上記の発明において、前記登録手段によって登録される前記キャッシュデータのデータ構造はハッシュテーブルであって、前記キャッシュデータを検索するための検索アルゴリズムを前記キャッシュデータの利用目的ごとに切り替える検索アルゴリズム切替手段をさらに備えたことを特徴とする。
【００１９】
また、請求項７に係る発明は、上記の発明において、前記登録手段は、前記ＤＮＳサーバ装置に対する問合わせの応答の前記信頼度が既に登録した前記キャッシュデータの前記信頼度と異なる場合に、あらたな応答を用いて前記キャッシュデータを更新することを特徴とする。
【００２０】
また、請求項８に係る発明は、ＤＮＳサーバ装置に対する問合わせの応答をキャッシュデータとして蓄積するとともに、ＤＮＳクライアント装置からＤＮＳクエリ要求を受け付けた際に前記キャッシュデータに基づいて当該ＤＮＳクライアント装置への即時応答または前記ＤＮＳサーバ装置への再帰的な問合わせをおこなったうえでの応答のいずれかを返すキャッシュ制御方法であって、前記ＤＮＳサーバ装置に対する問合わせの応答を当該応答の信頼度と対応付けたうえで前記キャッシュデータとして登録する登録工程と、前記登録工程によって登録された前記キャッシュデータの利用可否を前記信頼度に基づいて判定する利用可否判定工程とを含んだことを特徴とする。
【００２１】
また、請求項９に係る発明は、ＤＮＳサーバ装置に対する問合わせの応答をキャッシュデータとして蓄積するとともに、ＤＮＳクライアント装置からＤＮＳクエリ要求を受け付けた際に前記キャッシュデータに基づいて当該ＤＮＳクライアント装置への即時応答または前記ＤＮＳサーバ装置への再帰的な問合わせをおこなったうえでの応答のいずれかを返すキャッシュサーバ装置用プログラムであって、前記ＤＮＳサーバ装置に対する問合わせの応答を当該応答の信頼度と対応付けたうえで前記キャッシュデータとして登録する登録手順と、前記登録手順によって登録された前記キャッシュデータの利用可否を前記信頼度に基づいて判定する利用可否判定手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２２】
請求項１、８または９の発明によれば、ＤＮＳサーバ装置に対する問合わせの応答を応答の信頼度と対応付けたうえでキャッシュデータとして登録し、登録されたキャッシュデータの利用可否を信頼度に基づいて判定するよう構成したので、利用可能なキャッシュデータを幅広く登録することができるとともに、幅広く登録したキャッシュデータを効率良く利用することができるという効果を奏する。
【００２３】
また、請求項２の発明によれば、利用可否判定の判定結果に基づいてＤＮＳクライアント装置への即時応答をおこなうこととし、ＤＮＳクライアント装置への即時応答をおこなうに先だって、信頼度が応答用閾値以上であるキャッシュデータを即時応答に利用可能であると判定するよう構成したので、ＤＮＳクライアント装置への応答の信頼性を容易に担保することができるとともに、応答用閾値を変更することによって柔軟な運用をおこなうことができるという効果を奏する。
【００２４】
また、請求項３の発明によれば、応答用閾値よりも低い値を有する登録用閾値を用いることとし、信頼度が登録用閾値以上である問合わせの応答をキャッシュデータとして登録するよう構成したので、応答用閾値よりも低い登録用閾値を用いることによってＤＮＳサーバ装置への問合わせに用いるキャッシュデータを数多く登録することでＤＮＳサーバ装置への再帰的な問合わせ回数を削減することができるとともに、登録用閾値を変更することによって柔軟な運用をおこなうことができるという効果を奏する。
【００２５】
また、請求項４の発明によれば、利用可否判定の判定結果に基づいてＤＮＳサーバ装置への再帰的な問合わせをおこなうこととするとともに、応答用閾値よりも低い値を有する問合わせ用閾値を用いることとし、ＤＮＳサーバ装置への再帰的な問合わせをおこなうに先だって、信頼度が問合わせ用閾値以上であるキャッシュデータを再帰的な問合わせに利用可能であると判定するよう構成したので、ＤＮＳサーバ装置への問合わせの信頼性を容易に担保することができるとともに、問い合わせ用閾値を変更することによって柔軟な運用をおこなうことができるという効果を奏する。
【００２６】
また、請求項５の発明によれば、信頼度に基づいて区分けされたキャッシュ領域を備えることとし、ＤＮＳサーバ装置に対する問合わせの応答を信頼度に対応する各キャッシュ領域へ登録するよう構成したので、キャッシュデータと信頼度との対応付けを信頼度に応じたキャッシュ領域を設けることで実現することによって、キャッシュデータ利用時における参照処理を効率化することができるという効果を奏する。
【００２７】
また、請求項６の発明によれば、キャッシュデータのデータ構造をハッシュテーブルとし、これらのキャッシュデータを検索するための検索アルゴリズムをキャッシュデータの利用目的ごとに切り替えるよう構成したので、各利用目的に適した検索アルゴリズムを用いることによってキャッシュデータ利用時における参照処理を効率化することができるという効果を奏する。
【００２８】
また、請求項７の発明によれば、ＤＮＳサーバ装置に対する問合わせの応答の信頼度が既に登録したキャッシュデータの信頼度と異なる場合に、あらたな応答を用いてキャッシュデータを更新するよう構成したので、最新の状態に更新された信頼度を用いて応答処理や問合わせ処理といった利用処理を実行することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２９】
以下に添付図面を参照して、この発明に係るキャッシュ制御手法を適用したキャッシュサーバ装置の実施例１〜２を詳細に説明する。なお、実施例１ではＤＮＳサーバ装置から受け取った回答に信頼度を付加してキャッシュするキャッシュサーバ装置について、実施例２では回答の信頼度に応じたキャッシュ領域を備えたキャッシュサーバ装置について、それぞれ説明することとする。
【実施例１】
【００３０】
本実施例１では、ＤＮＳサーバ装置から受け取った回答に信頼度を付加してキャッシュするキャッシュサーバ装置について説明する。図１は、実施例１に係るキャッシュサーバ装置１０の概要および特徴を示す図である。なお、同図に示すキャッシュサーバ装置１０は、ネットワークを介してＤＮＳクライアント装置１１０およびＤＮＳサーバ装置１２０と通信データの送受信をおこなうものとする。
【００３１】
図１に示すように、キャッシュサーバ装置１０はＤＮＳサーバ装置１２０から受け取った応答を応答の信頼度と対応付けたうえでキャッシュ領域に登録し（図１の（３）参照）、同図に示す応答機能および再帰問合わせ機能はキャッシュデータの信頼度に基づいてキャッシュデータを使用する（図１の（１）および（２）参照）点に主な特徴がある。
【００３２】
言い換えれば、ＤＮＳサーバ装置１２０からの応答をむやみに破棄することなく、あらたに導入した概念である「信頼度」と対応付けて幅広く登録するとともに、登録されたキャッシュデータを利用する際には利用目的に合致する信頼度のキャッシュデータのみを使用することとしている。したがって、利用可能なキャッシュデータを幅広く登録することができるとともに、幅広く登録したキャッシュデータを効率良く利用することが可能となる。なお、「信頼度」の詳細な説明については図４を用いて後述する。
【００３３】
また、キャッシュサーバ装置１０がおこなう処理手順を時系列で説明すると以下のようになる。すなわち、ＤＮＳクライアント装置１１０からのＤＮＳクエリ要求を受け取った応答機能は、キャッシュ領域のキャッシュデータのうち所定の信頼度（図１では信頼度が１）を有するキャッシュデータにクエリ要求対象の情報が含まれているか否かを判定する。そして、クエリ要求対象の情報が含まれている場合には該当するキャッシュデータを用いてＤＮＳクライアント装置１１０へ応答する。また、クエリ要求の情報が含まれていない場合には再帰問合わせ機能に対してＤＮＳサーバ装置１２０からクエリ要求対象の情報を取得するよう依頼する。
【００３４】
応答機能からの依頼を受けた再帰問合わせ機能は、キャッシュ領域のキャッシュデータ（図１ではすべての信頼度）を用いて問合わせ先となるＤＮＳサーバ装置１２０のアドレス一覧を作成し、各ドメイン階層に設けられたＤＮＳサーバ装置１２０に対して上位階層から下位階層に向けて問合わせを繰り返していく。そして、所望する情報を含んだ応答を受け取った場合には、この応答を応答機能に渡してＤＮＳクライアント装置１１０へ応答させるとともに、ＤＮＳサーバ装置１２０から受け取った応答をキャッシュ領域に登録するようキャッシュデータ登録処理に依頼する。
【００３５】
そして、キャッシュデータ登録処理は、ＤＮＳサーバ装置１２０からの応答を応答の信頼度と関連付けたうえでキャッシュ領域へと登録する。具体的には、このキャッシュデータ登録処理は再帰問合わせ機能を介してＤＮＳサーバ装置１２０からの応答を受け取ると、応答の内容を確認することによって各応答の信頼度を決定する。そして、決定した信頼度と対応付けたキャッシュデータを登録する（図１の（３）参照）。すなわち、キャッシュデータ登録処理は、ＤＮＳサーバ装置１２０からの応答がＤＮＳクライアント装置１１０への応答に耐えない信頼度である場合であっても、信頼度と対応付けたうえでキャッシュ領域へ登録する。
【００３６】
このようにすることで、再帰問合わせ機能が利用可能なキャッシュデータを数多く登録することができ、結果的に再帰問合わせ回数を低減することによって再帰問合わせに要する処理時間を短縮することが可能となる。一方、応答機能はキャッシュ領域に登録されたキャッシュデータのうち所定の信頼度を有するものだけを用いるのでＤＮＳクライアント装置１１０への応答の信頼性を担保することができる。
【００３７】
ここで、従来技術に係るキャッシュサーバ装置の概要について図１５を用いて説明する。図１５は、従来技術に係るキャッシュサーバ装置の概要を示す図である。同図に示すように、従来技術に係るキャッシュサーバ装置においては、応答機能がＤＮＳクライアント装置１１０への応答に用いることが可能な信頼性を有するデータのみをキャッシュデータとしてキャッシュしていた。このような構成をとると、ＤＮＳクライアント装置１１０への応答の信頼性は担保できるものの、再帰問合わせ機能が利用することができるキャッシュデータが減少してしまい、結果的に再帰問合わせに要する時間を短縮することができないという問題があった。
【００３８】
たとえば、ＤＮＳサーバ装置１２０から委任回答を受け取った場合、委任回答の信頼性はＤＮＳクライアント装置１１０への応答に値しないのでキャッシュ対象とはせず破棄することになる。しかしながら、この委任回答には名前解決が可能なＤＮＳサーバ装置１２０のアドレスなどの情報が含まれているので、破棄してしまうと再帰問合わせに利用することはできない。
【００３９】
一方、本実施例１に係るキャッシュサーバ装置１０は、ＤＮＳクライアント装置１１０への応答には用いることができないもののＤＮＳサーバ装置１２０への問合わせには用いることができる信頼度を有するキャッシュデータをキャッシュしているので、名前解決が可能なＤＮＳサーバ装置１２０に対して直接的に問合わせることができる場合が多くなり、結果的に問合わせ回数を削減することが可能となるので再帰問合わせに要する処理時間を短縮することができる。
【００４０】
次に、本実施例１に係るキャッシュサーバ装置１０の構成について図２を用いて説明する。図２は、実施例１に係るキャッシュサーバ装置１０の構成を示すブロック図である。なお、同図においては、キャッシュサーバ装置１０の特徴点を説明するために必要な処理部のみを示しており、ＣＰＵ（Central  Processing  Unit）などのプロセッサ、一般的なキャッシュサーバとしての機能を担う処理部についての記載を省略している。
【００４１】
図２に示すように、キャッシュサーバ装置１０は、制御部１１と、記憶部１２と、通信処理部１３とを備えている。そして、制御部１１は、応答処理部１１ａと、応答可否判定部１１ｂと、再帰問合わせ処理部１１ｃと、データ登録処理部１１ｄとをさらに備えており、記憶部１２は、キャッシュデータ１２ａを記憶している。
【００４２】
制御部１１は、ＤＮＳサーバ装置１２０からの応答を信頼度に対応付けてキャッシュデータ１２ａとして登録するとともに、キャッシュデータ１２ａを利用する際には信頼度に基づいた利用可否判定をおこなったうえでＤＮＳクライアント装置１１０への応答あるいはＤＮＳサーバ装置１２０への問合わせをおこなう処理部である。
【００４３】
応答処理部１１ａは、ＤＮＳクライアント装置１１０からのＤＮＳクエリ要求を受け付けるとともに、応答可否判定部１１ｂが応答に使用可能であるとしたキャッシュデータ１２ａに応答用の情報が含まれている場合にはこの情報を用いて応答する処理をおこなう処理部である。また、この応答処理部１１ａは、キャッシュデータ１２ａに応答用の情報が含まれていない場合には再帰問合わせ処理部１１ｃに対してＤＮＳサーバ装置１２０への問合わせを依頼する処理をおこなう処理部でもある。
【００４４】
応答可否判定部１１ｂは、各キャッシュデータ１２ａと対応付けられた信頼度を参照することによって、たとえば、所定の応答用閾値以上の信頼度を有するキャッシュデータ１２ａをＤＮＳクライアント装置１１０への応答用に用いることができるキャッシュデータ１２ａであると判定する処理部である。なお、応答可否判定部１１ｂは判定結果を応答処理部１１ａに対して通知する処理もおこなう。
【００４５】
ここで、応答可否判定部１１ｂがおこなう処理の例を、図１を用いて説明すると以下のようになる。たとえば、応答用として利用可能な信頼度が１のみであるとすると、この応答可否判定部１１ｂは信頼度が１のキャッシュデータのみを抽出して応答処理部１１ａに通知する。
【００４６】
また、本実施例１では、この応答可否判定部１１ｂを応答処理部１１ａとは異なる処理部として説明するが、応答可否判定部１１ｂを含んだ応答処理部１１ａを構成することとしてもよい。さらに、応答可否判定部１１ｂを利用目的に応じた利用可否の判定をおこなう処理部として構成し、応答処理部１１ａ、再帰問合わせ処理部１１ｃ、データ登録処理部１１ｄといったキャッシュデータ１２ａを取り扱う各処理部が、利用可否の判定結果を使用することとしてもよい。
【００４７】
再帰問合わせ処理部１１ｃは、応答処理部１１ａからＤＮＳサーバ装置１２０への問合わせを依頼された場合に、キャッシュデータ１２ａに含まれるＤＮＳサーバ装置１２０のアドレスを用いてＤＮＳサーバ装置１２０に対する再帰的な問合わせ処理をおこなう処理部である。また、この再帰問合わせ処理部１１ｃは、ＤＮＳサーバ装置１２０から受け取った応答をデータ登録処理部１１ｄに渡す処理をおこなう処理部でもある。
【００４８】
データ登録処理部１１ｄは、再帰問合わせ処理部１１ｃから渡されたＤＮＳサーバ装置１２０からの応答を「信頼度」と対応付けたうえでキャッシュデータ１２ａとして登録する処理をおこなう処理部である。ここで、キャッシュデータ１２ａの構成例および「信頼度」の設定例について図３および図４を用いて説明する。
【００４９】
図３は、キャッシュデータ１２ａの構成例を示す図である。同図の３１に示すように、キャッシュデータ１２ａはｎ個のＲＲｓｅｔ（リソースレコードセット）から構成される。そして、各ＲＲｓｅｔは同図の３２に示した項目を含んでいる。なお、このＲＲｓｅｔは、「ＮＡＭＥ」、「ＴＹＰＥ」および「ＣＬＡＳＳ」が一致するリソースレコードを一つのまとまりとしてグループ化したものである。そして、各ＲＲｓｅｔには「信頼度」の項目が含まれているが、この項目は上記したデータ登録処理部１１ｄによって設定される項目である。次に、この信頼度の設定例について図４を用いて説明する。
【００５０】
図４は、信頼度の設定例を示す図である。同図の４２に示したＤＮＳサーバ装置１２０からの応答種別についてデータ登録処理部１１ｄが設定した「信頼度」を、同図の４１に示している。ここで、同図の４２に示したのは、ＲＦＣ２１８１の５．４章における記述である。なお、ＲＦＣ（Request  For  Comment）とは、インターネットに関する技術標準を定める団体であるＩＥＴＦ（Internet  Engineering  Task  Force）が正式に発行する文書であり、ＲＦＣ２１８１ではＤＮＳについての仕様がまとめられている。
【００５１】
図４の４２に示したように、ＲＦＣ２１８１の５．４章における記述では、再帰問合わせに対する応答データの分類をあらわす「データの分類」、各データの分類についての詳細な情報である「詳細情報」、ＤＮＳクライアント装置への応答に用いてよい回答であるか否かをあらわす「クライアントへの応答可否」を用いて、応答の信頼性を信頼性が高い方から低い方へ大きく７種類に分類している。
【００５２】
なお、「信頼性」の項目に記載した「Ａ」〜「Ｇ」は、説明の都合上付したものであり「Ａ」が最も信頼性の高いランクであることを示している。また、ＲＦＣ２１８１の５．４章における記述では、クライアントへの応答可否について信頼性「Ｇ」の応答をＤＮＳクライアント装置への応答に用いてはならない旨が定められているが、その他の信頼性のランクについては定められていない。
【００５３】
次に、「信頼度」の設定例について説明する。同図の４１に示したのはデータ登録処理部１１ｄが設定する「信頼度」の例である。まず、同図の４２に示した信頼性がＡ、ＢおよびＥは一般的にキャッシュデータとして使用する応答ではないので除外する。そして、信頼性がＣのデータ（Ａｎｓｗｅｒ部に含まれる権威のあるクエリ応答（ＡＡビットＯＮ））については信頼度を「１」に、信頼性がＤのデータ（Ａｕｔｈｏｒｉｔｙ部に含まれる権威のあるクエリ応答（ＡＡビットＯＮ））については「２」にというように信頼度を定めていく。
【００５４】
なお、同図の４１では、同図の４２に示した「信頼性」と１対１に対応させて「信頼度」を定めた場合について示したが、これに限らず、複数の「信頼性」を１つの「信頼度」と対応させることとしてもよい。さらに、１つの「信頼性」を複数の「信頼度」と対応させることとしてもよい。
【００５５】
また、図４においては、同図の４２に示した「信頼性」と「信頼度」とを対応付ける例を示したが、キャッシュデータの利用目的に応じて「信頼度」を設定することとしてもよい。たとえば、キャッシュデータの登録対象とするデータは信頼度１〜３、ＤＮＳサーバ装置に対する再帰問合わせに使用可能なデータは信頼度１〜２、ＤＮＳクライアント装置に対する応答に使用可能なデータは信頼度１というように信頼度を定めることができる。
【００５６】
図２の説明に戻り、記憶部１２について説明する。記憶部１２は、不揮発性ＲＡＭ（Random  Access  Memory）やハードディスク装置といった記憶デバイスによって構成された記憶部であり、キャッシュデータ１２ａを記憶する。キャッシュデータ１２ａは、図３を用いて既に説明した構成を有するデータであり、データ登録処理部１１ｄによって設定された「信頼度」を含んでいる。そして、このキャッシュデータ１２ａはＤＮＳクライアント装置１１０への応答、あるいは、ＤＮＳサーバ装置１２０への再帰的問合わせに利用される。なお、キャッシュデータ１２ａをメモリダンプなどすることによって統計・分析用として利用することもできる。
【００５７】
通信処理部１３は、ＤＮＳクライアント装置１１０やＤＮＳサーバ装置１２０とのデータ送受信をおこなう通信デバイスであり、たとえば、ＬＡＮ（Local  Area  Network）ボードなどの通信インタフェースボードによって構成される。
【００５８】
次に、本実施例１に係るキャッシュサーバ装置１０がＤＮＳクライアント装置１１０への応答をおこなう際の処理手順について図５を用いて説明する。図５は、実施例１に係る応答処理の処理手順を示すフローチャートである。同図に示すように、キャッシュサーバ装置１０が要求電文（クエリ要求）を受信すると（ステップＳ１０１）、要求電文の回答を含んだキャッシュデータ１２ａがあるか否かを判定する（ステップＳ１０２）。そして、該当するキャッシュデータ１２ａがある場合には（ステップＳ１０２，Ｙｅｓ）、つづいて、ステップＳ１０２において該当すると判定されたキャッシュデータ１２ａの信頼度が応答用閾値以上であるか否かを判定する（ステップＳ１０３）。
【００５９】
そして、信頼度が応答用閾値以上である場合には（ステップＳ１０３，Ｙｅｓ）、このキャッシュデータを用いてＤＮＳクライアント装置１１０への応答をおこなって（ステップＳ１０４）処理を終了する。
【００６０】
一方、ステップＳ１０２において該当するキャッシュデータがないと判定された場合（ステップＳ１０２，Ｎｏ）、または、ステップＳ１０３において信頼度が応答用閾値未満であると判定された場合（ステップＳ１０３，Ｎｏ）には、ＤＮＳサーバ装置１２０に対する再帰問合わせ処理を実行する（ステップＳ１０５）。なお、この再帰問合わせ処理（ステップＳ１０５）の詳細な処理内容については図８を用いて後述することとする。
【００６１】
再帰問合わせ処理（ステップＳ１０５）を実行したキャッシュサーバ装置１０は、再帰問合わせの結果（名前解決の結果）を用いてＤＮＳクライアント装置１１０に対して応答する（ステップＳ１０６）。また、キャッシュサーバ装置１０は、この問合わせ結果をキャッシュデータ１２ａとして登録する処理を実行して（ステップＳ１０７）処理を終了する。
【００６２】
次に、図５に示したキャッシュデータ登録処理（ステップＳ１０７）の詳細な処理内容について図６および図７を用いて説明する。なお、図６では、最も基本的な処理手順のみを示しており、図７では、登録用閾値を用いた登録可否判定処理およびキャッシュデータ更新処理を含んだ詳細な処理手順を示している。
【００６３】
図６は、実施例１に係るキャッシュデータ登録処理の処理手順を示すフローチャートである。同図に示すように、データ登録処理部１１ｄが再帰問合わせ処理部１１ｃを介してリソースレコードを受け取ると（ステップＳ２０１）、あらかじめ定めた設定基準（たとえば、図４参照）に従って信頼度を設定する（ステップＳ２０２）。そして、信頼度と関連付けたリソースレコードをキャッシュデータ１２ａとして記憶部１２へ登録する。なお、信頼度との関連付けにおいては、図３に示したようにキャッシュデータ１２ａ自体に信頼度を含めることとしてもよいし、信頼度とのリンク付けをおこなうこととしてもよい。また、キャッシュデータ１２ａ自体には信頼度を含めず信頼度ごとに区分けされたキャッシュ領域へ格納することで信頼度とキャッシュデータ１２ａとの関連付けをおこなうこととしてもよい。
【００６４】
次に、図６に示した処理手順に、さらに、登録用閾値を用いた登録可否判定処理およびキャッシュデータ更新処理を追加した場合について図７を用いて説明する。図７は、図６に示した処理手順の変形例を示すフローチャートである。同図に示すように、データ登録処理部１１ｄが再帰問合わせ処理部１１ｃを介してリソースレコードを受け取ると（ステップＳ３０１）、あらかじめ定めた設定基準（たとえば、図４参照）に従って信頼度を設定する（ステップＳ３０２）。つづいて、信頼度が所定の登録用閾値以上であるか否かを判定し（ステップＳ３０３）、登録用閾値以上である場合には（ステップＳ３０３，Ｙｅｓ）、このリソースレコードが既に登録されているか否かを判定する（ステップＳ３０４）。
【００６５】
ステップＳ３０４における判定の結果、リソースレコードが既に登録されている場合には（ステップＳ３０４，Ｙｅｓ）、既に登録されているリソースレコードとステップＳ３０１で受け取ったリソースレコードとで信頼度が異なるか否かを判定する（ステップＳ３０５）。そして、信頼度が異なる場合には（ステップＳ３０５，Ｙｅｓ）、該当するキャッシュデータ１２ａを更新して（ステップＳ３０７）処理を終了する。
【００６６】
なお、図７においては信頼度が異なる場合に該当するキャッシュデータ１２ａを更新する場合について示したが、これに限らず、あらたなリソースレコードの信頼度が既に登録されているリソースレコードの信頼度よりも高い場合にのみキャッシュデータ１２ａを更新することとしてもよい。
【００６７】
つづいて、ステップＳ３０３〜ステップＳ３０５において判定条件を満たさなかった場合について説明する。ステップＳ３０３において信頼度が登録用閾値未満であると判定された場合（ステップＳ３０３，Ｎｏ）、または、ステップＳ３０５において信頼度が一致すると判定された場合（ステップＳ３０５，Ｎｏ）には、リソースレコードを破棄して（ステップＳ３０８）キャッシュデータ１２ａを更新することなく処理を終了する。
【００６８】
また、ステップＳ３０４において該当するリソースレコードが未だ登録されていないと判定された場合には（ステップＳ３０４，Ｎｏ）、信頼度と関連付けたリソースレコードをキャッシュデータ１２ａとして新規登録して（ステップＳ３０６）処理を終了する。
【００６９】
次に、図５に示した再帰問合わせ処理（ステップＳ１０５）の詳細な処理内容について
図８を用いて説明する。図８は、実施例１に係る再帰問合わせ処理の処理手順を示すフローチャートである。同図に示すように、応答処理部１１ａからＤＮＳサーバ装置１２０に対する再帰問合わせを指示された再帰問合わせ処理部１１ｃは、該当するキャッシュデータ１２ａがあるか否か、すなわち、問合わせ先のＤＮＳサーバ装置１２０を示すＮＳレコードおよびｇｌｕｅレコード（ＡレコードまたはＡＡＡＡレコード）があるか否かを判定する（ステップＳ４０１）。
【００７０】
そして、該当するキャッシュデータ１２ａがある場合には（ステップＳ４０１，Ｙｅｓ）、キャッシュデータ１２ａに示されたＤＮＳサーバ装置１２０を問合わせ先とすることによって問合わせ先をショートカットする（ステップＳ４０２）。一方、該当するキャッシュデータ１２ａがない場合には（ステップＳ４０１，Ｎｏ）、問合わせ先をルートゾーンのＤＮＳサーバとする。
【００７１】
つづいて、再帰問合わせ処理部１１ｃは、ステップＳ４０２あるいはステップＳ４０３で決定したＤＮＳサーバ装置１２０に対して問合わせを実行し（ステップＳ４０４）、ＤＮＳサーバ装置１２０からの問合わせ結果（正式回答または委任回答）を受信したならば（ステップＳ４０５）、問合わせ結果が正式回答であるか否かを判定する（ステップＳ４０６）。そして、問合わせ結果が正式回答である場合には（ステップＳ４０６，Ｙｅｓ）、処理を終了する。一方、問合わせ結果が委任回答である場合には（ステップＳ４０６，Ｎｏ）、問合わせ先を下位ゾーン（下位階層）のＤＮＳサーバ装置１２０として（ステップＳ４０７）ステップＳ４０４以降の処理手順を繰り返すことになる。
【００７２】
なお、図８においては再帰問合わせの概要的な処理手順を示したが、ＤＮＳサーバ装置１２０に対する再帰的な問合わせ処理をおこなう場合には、再帰問合わせをおこなうたびに問合わせ先ＤＮＳサーバ装置１２０のリストであるＳＬＩＳＴを生成する。そして、ステップＳ４０１においてＹｅｓと判定されたキャッシュデータ１２ａに含まれるリソースレコードをＳＬＩＳＴに追加したうえで、ステップＳ４０４の問合わせを実行することになる。
【００７３】
次に、図８に示した再帰問合わせ処理の効果について図９および図１６を用いて説明する。図９は、実施例１に係る再帰的問合わせ処理の効果を説明する図であり、図１６は、従来技術に係る再帰問合わせ処理の概要を示す図である。
【００７４】
まず、従来技術に係る再帰問合わせ処理について図１６を用いて説明する。図１６に示すように、ルートゾーンを管理するＤＮＳサーバ装置α、ｊｐ．ゾーンを管理するＤＮＳサーバ装置β、ｃｏ．ｊｐ．ゾーンを管理するＤＮＳサーバ装置γがある場合に、ｏｒｇ．ｃｏ．ｊｐ．の名前解決を要求された従来のキャッシュサーバ装置は、ルートゾーンを管理するＤＮＳサーバ装置αに対してｏｒｇ．ｃｏ．ｊｐ．の問合わせをおこなう（図１６の（１）参照）。
【００７５】
そして、このＤＮＳサーバ装置αからの回答が委任回答であれば（図１６の（１）’参照）、この委任回答に含まれるＤＮＳサーバ装置βを指し示す情報を用いることによってＤＮＳサーバ装置βに対してｏｒｇ．ｃｏ．ｊｐ．を問合わせる（図１６の（２）参照）、そして、このＤＮＳサーバ装置βからの回答が委任回答であれば（図１６の（２）’参照）、この委任回答に含まれるＤＮＳサーバ装置γを指し示す情報を用いることによってＤＮＳサーバγに対してｏｒｇ．ｃｏ．ｊｐ．の問合わせをおこなう（図１６の（３）参照）。そして、このＤＮＳサーバ装置γからの回答が正式回答であれば（図１６の（３）’参照）再帰問合わせ処理を終了する。
【００７６】
このように、従来技術に係る再帰問合わせ処理においては、上位階層のＤＮＳサーバ装置を起点とし、正式回答を返すＤＮＳサーバ装置にたどり着くまで再帰的に問合わせを繰り返す必要があった。
【００７７】
次に、実施例１に係る再帰的問合わせ処理について図９を用いて説明する。なお、図９における前提条件は図１６と同様であるものとし、ＤＮＳサーバ装置α〜γの３台のＤＮＳサーバ装置があり、キャッシュサーバ装置１０はｏｒｇ．ｃｏ．ｊｐ．の名前解決を要求されたものとする。
【００７８】
なお、図９の９１においては、最初にｏｒｇ．ｃｏ．ｊｐ．の名前解決を要求された場合の問合わせ処理について、図９の９２においては、２回目以降にｏｒｇ．ｃｏ．ｊｐ．の名前解決を要求された場合についてそれぞれ示している。
【００７９】
実施例１に係るキャッシュサーバ装置１０は、最初にｃｏ．ｊｐ．ゾーンに属するドメインであるｏｒｇ．ｃｏ．ｊｐ．の名前解決を要求された場合（図９の９１参照）、各委任回答をキャッシュデータ１２ａとしてキャッシュする。したがって、２回目以降にｃｏ．ｊｐ．ゾーンに属するドメインであるｎｅｗ．ｃｏ．ｊｐ．の名前解決を要求された場合には、キャッシュデータ１２ａを参照することによってＤＮＳサーバ装置γに対して直接的に問合わせをおこなうことが可能である（図９の９２における（４）参照）。また、委任回答のＴＴＬ（Time  To  Live）切れなどの理由によってＤＮＳサーバ装置γに対する直接的な問合わせをおこなうことができない場合であっても、最も近い権威サーバ（たとえば、ＤＮＳサーバ装置β）を起点とした再帰問合わせをおこなうことができる。
【００８０】
このように、本実施例１に係るキャッシュサーバ装置１０は、ＤＮＳサーバ装置から受け取った委任回答をも信頼度と関連付けたうえで記憶部１２に対して登録するので、所定の信頼度を有するキャッシュデータ１２ａを再帰問合わせに利用することによって再帰問合わせにおける問合わせ回数を削減することができるとともに、問合わせの信頼性を担保することができる。
【００８１】
上述してきたように、本実施例１においては、データ登録処理部が再帰問合わせ処理部を介して受け取ったＤＮＳサーバ装置からの回答を、あらたに導入した概念である「信頼度」と対応付けることによってキャッシュデータとして幅広く登録するとともに、登録されたキャッシュデータを利用する場面においては、応答可否判定部が所定の応答用閾値以上のキャッシュデータを応答可能と判定し、応答処理部は応答可否判定部が応答可能と判定したキャッシュデータを応答処理に利用するよう構成したので、利用可能なキャッシュデータを幅広く登録することができるとともに、幅広く登録したキャッシュデータを効率良く利用することができる。
【００８２】
なお、上記した実施例１においては、登録用閾値以上の信頼度を有する応答をキャッシュデータとして登録し、応答用閾値以上の信頼度を有するキャッシュデータを応答処理に利用するとともに、登録されたキャッシュデータを再帰問合わせ処理に利用する場合について、すなわち、登録用閾値以上の信頼度を有するキャッシュデータをすべて再帰問合わせ処理において利用する場合について示した。しかしながら、これに限らず、再帰問合わせ処理において問合わせ用閾値を用いることとし、登録されたキャッシュデータのうち信頼度が問合わせ用閾値以上のキャッシュデータのみを再帰問合わせ処理に利用することとしてもよい。このようにすることで、再帰問合わせの信頼性を柔軟に変更することができる。
【００８３】
また、上記した実施例１においては、応答可否判定部が応答用閾値を用いてキャッシュデータの応答処理への利用可否を判定する場合について示したが、応答処理部が応答可否判定部を含むよう構成してもよい。また、登録用閾値、応答用閾値、問合わせ用閾値といった各閾値を用いた処理（登録処理、応答処理、問合わせ処理など）についてキャッシュデータの利用可否を判定する判定処理部を構成することとしてもよい。このようにすることで、統計・分析用閾値などの利用処理を追加した場合であっても、キャッシュデータの利用目的に応じた閾値の追加や管理を容易におこなうことができる。
【００８４】
また、上記した各閾値を保守者が変更することができる値であるよう構成し、運用状態にあわせて各閾値を変更することとしてもよい。このようにすることで、キャッシュサーバ装置の運用ポリシーにあわせて、登録処理、応答処理、問合わせ処理といった各処理の信頼性を柔軟に変更することができる。なお、各閾値の変更は、たとえば、設定ファイルをサーバプロセスの起動時に読み込ませることによっておこなうことができる。また、サーバプロセスの動作中に設定ファイルを読み込ませることとしてもよい。
【００８５】
なお、上記した実施例１においては、信頼度を多値のデータ（たとえば、図４参照）とした場合について説明したが、信頼度を２値のフラグとすることもできる。そこで、以下では信頼度を２値のフラグとした場合について図１０を用いて説明する。図１０は、実施例１に係るキャッシュサーバ装置の変形例を示す図である。
【００８６】
図１０に示すように、変形例に係るキャッシュサーバ装置１０ａは、信頼度として「応答可」および「応答不可」の２値をとる。たとえば、１ビットの領域において「１」であれば「応答可」、「０」であれば「応答不可」とすればよい。このように、信頼度を２値のフラグとすることによって、キャッシュデータの登録処理およびキャッシュデータの利用処理（ＤＮＳクライアント装置に対する応答処理）における信頼度の参照処理を簡略化することができるので処理効率を高めることが可能となる。
【実施例２】
【００８７】
本実施例２では回答の信頼度に応じたキャッシュ領域を備えたキャッシュサーバ装置について説明する。図１１は、実施例２に係るキャッシュサーバ装置１０ｂの概要および特徴を示す図である。同図に示すように、キャッシュサーバ装置１０ｂは、応答用キャッシュ領域および再帰問合わせ用キャッシュ領域の２つのキャッシュ領域を備えている。そして、キャッシュデータ登録処理においては、再帰問合わせ機能を介してＤＮＳサーバ装置１２０から受け取った応答を、これらの各キャッシュ領域へ振り分けて登録する（図１１の（３）参照）。
【００８８】
そして、応答用キャッシュ領域に登録されたキャッシュデータは応答機能が応答処理をおこなう際に使用されるとともに（図１１の（１）参照）、再帰問合わせ用キャッシュ領域に登録されたキャッシュデータは再帰問合わせ機能が問合わせ処理をおこなう際に使用される（図１１の（２）参照）。
【００８９】
このように、本実施例２に係るキャッシュサーバ装置１０ｂでは、信頼度と対応した複数のキャッシュ領域を設けることとしている。すなわち、キャッシュデータ自体に信頼度を設定する実施例１の場合とは異なり、本実施例２においてはキャッシュデータ格納用のキャッシュ領域を信頼度と対応付けることとしている。このようにすることで、キャッシュデータを利用する際の処理を簡略化することが可能となる。
【００９０】
なお、同図に示した各キャッシュ領域のキャッシュデータのうち、「Ａ」および「Ｂ」は、双方のキャッシュ領域に登録されている。このようなデータ同期処理は同図に示すキャッシュデータ登録処理によっておこなわれる。たとえば、信頼度１のキャッシュデータが「Ａ」および「Ｂ」であり、信頼度２のキャッシュデータが「Ｃ」および「Ｄ」であり、ＤＮＳクライアント装置１１０への応答として用いることができる信頼度が１のみである場合について説明する。
【００９１】
このような場合において、キャッシュデータ登録処理においては、信頼度が１のキャッシュデータを応答用キャッシュ領域へ、信頼度が１および２のキャッシュデータを再帰問合わせ用キャッシュ領域へそれぞれ登録する。たとえば、キャッシュデータ登録処理はキャッシュデータＡについては双方のキャッシュ領域へ登録するが、キャッシュデータＣについては再帰問合わせ用キャッシュ領域のみへ登録する。
【００９２】
次に、本実施例２に係るキャッシュサーバ装置１０ｂの構成について図１２を用いて説明する。図１２は、実施例２に係るキャッシュサーバ装置１０ｂの構成を示すブロック図である。なお、同図においては、キャッシュサーバ装置１０ｂの特徴点を説明するために必要な処理部のみを示しており、ＣＰＵ（Central  Processing  Unit）などのプロセッサ、一般的なキャッシュサーバとしての機能を担う処理部についての記載を省略している点については図２と同様である。また、以下では、実施例１との差異点について説明し、共通点についての説明は省略することとする。
【００９３】
図１２に示すように、キャッシュサーバ装置１０ｂは、記憶部１２に応答用キャッシュ領域１２ｂと、再帰問合わせ用キャッシュ領域１２ｃとを備えている。なお、各キャッシュ領域には、データ登録処理部１１ｄによって振り分けられたキャッシュデータがそれぞれ格納される。また、各キャッシュ領域に格納されるキャッシュデータの形式としては、たとえば、双方のキャッシュ領域についてハッシュテーブルを用いることができる。このように、各キャッシュ領域に格納されるキャッシュデータを同形式とすることによってキャッシュデータ利用時の処理効率を向上させることができる。
【００９４】
データ登録処理部１１ｄは、再帰問合わせ処理部１１ｃから渡されたＤＮＳサーバ装置１１０からの応答について「信頼度」を設定するとともに、各信頼度に応じたキャッシュ領域へＤＮＳサーバ装置１２０からの応答を格納する処理をおこなう処理部である。たとえば、このデータ登録処理部１１ｄは、信頼度１とした応答のみを応答用キャッシュ領域１２ｂに格納するとともに、信頼度１を含む他の信頼度の応答を再帰問合わせ用キャッシュ領域１２ｃに格納する。
【００９５】
なお、図１２に示したキャッシュサーバ装置１０ｂは、実施例１に示したキャッシュサーバ装置１０（図２参照）と異なり、応答可否判定部１１ｂを備えていない。その理由は、データ登録処理部１１ｄが応答用キャッシュ領域１２ｂや再帰問合わせ用キャッシュ領域１２ｃといった各利用目的に応じたキャッシュ領域にキャッシュデータを振り分けて格納しているので、応答処理部１１ａは応答用キャッシュ領域１２ｃに格納されたキャッシュデータをすべて用いることとしても構わないからである。
【００９６】
次に、本実施例２に係るキャッシュサーバ装置１０ｂがＤＮＳクライアント装置１１０への応答をおこなう際の処理手順について図１３を用いて説明する。図１３は、実施例２に係る応答処理の処理手順を示すフローチャートである。同図に示すように、キャッシュサーバ装置１０ｂが要求電文（クエリ要求）を受信すると（ステップＳ５０１）、応答用キャッシュ領域１２ｂに該当するキャッシュデータがあるか否かを判定する（ステップＳ５０２）。そして、該当するキャッシュデータがある場合には（ステップＳ５０２，Ｙｅｓ）、このキャッシュデータを用いてＤＮＳクライアント装置１１０への応答をおこなって（ステップＳ５０３）処理を終了する。
【００９７】
一方、ステップＳ５０２において該当するキャッシュデータがないと判定された場合（ステップＳ５０２，Ｎｏ）には、ＤＮＳサーバ装置１２０に対する再帰問合わせ処理を実行する（ステップＳ５０４）。なお、この再帰問合わせ処理（ステップＳ５０４）の詳細な処理内容については実施例１の図８と同様であるので省略する。
【００９８】
再帰問合わせ処理（ステップＳ５０４）を実行したキャッシュサーバ装置１０ｂは、再帰問合わせの結果（名前解決の結果）を用いてＤＮＳクライアント装置１１０に対して応答する（ステップＳ５０５）。また、キャッシュサーバ装置１０ｂは、この問合わせ結果をキャッシュデータとして登録する処理を実行して（ステップＳ５０６）処理を終了する。
【００９９】
次に、図１３に示したキャッシュデータ登録処理（ステップＳ５０６）の詳細な処理内容について図１４を用いて説明する。図１４は、実施例２に係るキャッシュデータ登録処理の処理手順を示すフローチャートである。同図に示すように、データ登録処理部１１ｄが再帰問合わせ処理部１１ｃを介してリソースレコードを受け取ると（ステップＳ６０１）、あらかじめ定めた設定基準（たとえば、図４参照）に従って信頼度を設定する（ステップＳ６０２）。つづいて、信頼度が所定の登録用閾値以上であるか否かを判定し（ステップＳ６０３）、登録用閾値以上である場合には（ステップＳ６０３，Ｙｅｓ）、このリソースレコードの信頼度が応答用閾値以上であるか否かを判定する（ステップＳ６０４）。
【０１００】
そして、ステップＳ６０４における判定の結果、信頼度が応答用閾値以上である場合には（ステップＳ６０４，Ｙｅｓ）、このリソースレコードを応答用キャッシュ領域１２ｂおよび再帰問合わせ用キャッシュ領域１２ｃへ格納して（ステップＳ６０５）処理を終了する。一方、信頼度が応答用閾値未満である場合には（ステップＳ６０４，Ｎｏ）、このリソースレコードを再帰問合わせ用キャッシュ領域１２ｃへ格納して（ステップＳ６０６）処理を終了する。なお、ステップＳ６０３において信頼度が登録用閾値未満であると判定された場合には（ステップＳ６０３，Ｎｏ）、リソースレコードを破棄して（ステップＳ６０７）いずれのキャッシュ領域へも格納することなく処理を終了する。また、ステップＳ６０５およびステップＳ６０６において再帰問合わせ用キャッシュ領域へ格納するデータはＮＳレコードおよびｇｌｕｅレコード（ＡレコードまたはＡＡＡＡレコード）である。
【０１０１】
上述したように、本実施例２においては、記憶部に応答用キャッシュ領域および再帰問合わせ用キャッシュ領域を設けることとし、データ登録処理部が再帰問合わせ処理部を介して受け取ったＤＮＳサーバ装置からの回答の信頼度を判定するとともに、判定した信頼度に基づいて応答用キャッシュ領域および再帰問合わせ用キャッシュ領域の双方へ、あるいは、応答用キャッシュ領域のみへＤＮＳサーバ装置からの回答を格納するよう構成した。したがって、登録されたキャッシュデータを効率良く検索することができる。
【０１０２】
なお、上記した実施例２においては、記憶部に応答用キャッシュ領域および再帰問合わせ用キャッシュ領域を設ける場合について示したが、これに限らず、信頼度ごとにキャッシュ領域を設けたり、いくつかの信頼度からなるグループごとにキャッシュ領域を設けたりすることとしてもよい。
【０１０３】
また、上記したように、各キャッシュ領域に格納されるキャッシュデータをすべてハッシュテーブルとすることができるが、応答処理部が応答用キャッシュ領域を参照する際の検索アルゴリズムと、再帰問合わせ処理部が再帰問合わせ用キャッシュ領域を参照する際の検索アルゴリズムとを異なるアルゴリズムとなるよう構成することとしてもよい。
【０１０４】
たとえば、応答処理部が用いる検索アルゴリズムとしては、ドメイン名（たとえば、ａａａ．ｃｏ．ｊｐ．）を一括してハッシュ変換する一般的な演算アルゴリズムを用いることとする。一方、再帰問合わせ処理部が用いる検索アルゴリズムとしては、ドメイン名（たとえば、ａａａ．ｃｏ．ｊｐ．）のラベル（「ａａａ」、「ｃｏ」、「ｊｐ」）ごとのハッシュ値を右のラベルから左のラベルの方向に記憶しつつドメイン名の一致を判定する検索アルゴリズムを用いることとする。
【０１０５】
このように、キャッシュデータを利用する際の検索アルゴリズムを利用目的に応じて切り替えることで、キャッシュデータ利用時の処理効率を向上させることができる。なお、このような検索アルゴリズムは、応答処理部、再帰問合わせ処理部といった各利用部に含ませるよう構成することとしてもよいし、複数の検索アルゴリズムを管理するととともに各検索アルゴリズムを切り替える検索アルゴリズム切替部を独立した処理部として構成することとしてもよい。
【０１０６】
また、上記した各実施例では、本発明を実現する各装置を機能面から説明したが、各装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。
【０１０７】
すなわち、上述した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【０１０８】
以上のように、本発明に係るキャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラムは、キャッシュサーバ装置の性能向上に有用であり、特に、ＤＮＳサーバ装置に対する再帰問合わせ処理の処理時間短縮に適している。
【図面の簡単な説明】
【０１０９】
【図１】実施例１に係るキャッシュサーバ装置の概要および特徴を示す図である。
【図２】実施例１に係るキャッシュサーバ装置の構成を示すブロック図である。
【図３】キャッシュデータの構成例を示す図である。
【図４】信頼度の設定例を示す図である。
【図５】実施例１に係る応答処理の処理手順を示すフローチャートである。
【図６】実施例１に係るキャッシュデータ登録処理の処理手順を示すフローチャートである。
【図７】図６に示した処理手順の変形例を示すフローチャートである。
【図８】実施例１に係る再帰問合わせ処理の処理手順を示すフローチャートである。
【図９】実施例１に係る再帰問合わせ処理の効果を説明する図である。
【図１０】実施例１に係るキャッシュサーバ装置の変形例を示す図である。
【図１１】実施例２に係るキャッシュサーバ装置の概要および特徴を示す図である。
【図１２】実施例２に係るキャッシュサーバ装置の構成を示すブロック図である。
【図１３】実施例２に係る応答処理の処理手順を示すフローチャートである。
【図１４】実施例２に係るキャッシュデータ登録処理の処理手順を示すフローチャートである。
【図１５】従来技術に係るキャッシュサーバ装置の概要を示す図である。
【図１６】従来技術に係る再帰問合わせ処理の概要を示す図である。
【符号の説明】
【０１１０】
１０、１０ａ、１０ｂ  キャッシュサーバ装置
１１  制御部
１１ａ  応答処理部
１１ｂ  応答可否判定部
１１ｃ  再帰問合わせ処理部
１１ｄ  データ登録処理部
１２  記憶部
１２ａ  キャッシュデータ
１２ｂ  応答用キャッシュ領域
１２ｃ  再帰問合わせ用キャッシュ領域
１３  通信処理部
１１０  ＤＮＳクライアント装置
１２０  ＤＮＳサーバ装置
【図１】
2007251631.tif 000003
【図２】
2007251631.tif 000004
【図３】
2007251631.tif 000005
【図４】
2007251631.tif 000006
【図５】
2007251631.tif 000007
【図６】
2007251631.tif 000008
【図７】
2007251631.tif 000009
【図８】
2007251631.tif 000010
【図９】
2007251631.tif 000011
【図１０】
2007251631.tif 000012
【図１１】
2007251631.tif 000013
【図１２】
2007251631.tif 000014
【図１３】
2007251631.tif 000015
【図１４】
2007251631.tif 000016
【図１５】
2007251631.tif 000017
【図１６】
2007251631.tif 000018