(57)【要約】【課題】クライアント装置が送信した名前解決問い合わせに対して、名前解決ができないことを低減すること。【解決手段】ＤＮＳサーバ装置は、クライアント装置が送信したＤＮＳクエリ要求に基づき、権威ＤＮＳサーバ装置へ、資源を問い合わせる要求部と、要求部による資源の問い合わせに応じて、権威ＤＮＳサーバ装置へ名前を問い合わせた結果を記憶する一次キャッシュと、一次キャッシュに記憶された問い合わせた結果のうち、ポジティブキャッシュを記憶する二次キャッシュとを備え、要求部は、資源の問い合わせに対して、権威ＤＮＳサーバ装置が送信した応答が名前を解決できないことを示す場合に、二次キャッシュへ、資源を問い合わせる。【選択図】図２
2019068199.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置と、権威ＤＮＳサーバ装置との間に設けられたＤＮＳサーバ装置であって、
前記クライアント装置が送信したＤＮＳクエリ要求に基づき、前記権威ＤＮＳサーバ装置へ、資源を問い合わせる要求部と、
前記要求部による前記資源の前記問い合わせに応じて、前記権威ＤＮＳサーバ装置へ名前を問い合わせた結果を記憶する一次キャッシュと、
前記一次キャッシュに記憶された前記問い合わせた結果のうち、ポジティブキャッシュを記憶する二次キャッシュとを備え、
前記要求部は、前記資源の前記問い合わせに対して、名前を解決できない所定の場合に、前記二次キャッシュへ、前記資源を問い合わせる、ＤＮＳサーバ装置。
【請求項２】
前記二次キャッシュは、前記一次キャッシュが記憶する時間よりも長い時間、前記ポジティブキャッシュを記憶する、請求項１に記載のＤＮＳサーバ装置。
【請求項３】
前記資源の有効生存期間として、前記権威ＤＮＳサーバ装置で設定された有効生存期間と、前記二次キャッシュで設定された有効生存期間とのうち、短い有効生存期間を、前記クライアント装置に応答する応答部をさらに備える、
請求項１又は請求項２に記載のＤＮＳサーバ装置。
【請求項４】
前記要求部は、前記資源の前記問い合わせに対して、前記権威ＤＮＳサーバ装置からの応答がない場合に、前記二次キャッシュへ、前記資源を問い合わせる、請求項１から請求項３のいずれか一項に記載のＤＮＳサーバ装置。
【請求項５】
前記要求部は、前記資源の前記問い合わせを行っている間に、前記ＤＮＳクエリ要求に含まれる名前、タイプ、クラスと、複数の前記クライアント装置の各々が送信したＤＮＳクエリ要求に含まれる名前、タイプ、クラスとが一致する場合に、前記資源を、前記二次キャッシュから取得する、請求項１から請求項４のいずれか一項に記載のＤＮＳサーバ装置。
【請求項６】
前記権威ＤＮＳサーバ装置が送信した応答又は無応答であることに基づいて、クライアント装置が新たに送信したＤＮＳクエリ要求に対して、前記権威ＤＮＳサーバ装置へ、資源を問い合わせるか否かを判定する判定部
を備える、請求項１から請求項５のいずれか一項に記載のＤＮＳサーバ装置。
【請求項７】
クライアント装置と、権威ＤＮＳサーバ装置との間に設けられたＤＮＳサーバ装置が実行する方法であって、
前記クライアント装置が送信したＤＮＳクエリ要求に基づき、前記権威ＤＮＳサーバ装置へ、資源を問い合わせるステップと、
前記資源の前記問い合わせに対して、前記権威ＤＮＳサーバ装置が送信した応答又は無応答であることに基づき名前を解決できないことを示す場合に、二次キャッシュへ、前記資源を問い合わせるステップと
を有する、方法。
【請求項８】
クライアント装置と、権威ＤＮＳサーバ装置との間に設けられたＤＮＳサーバ装置のコンピュータに、
前記クライアント装置が送信したＤＮＳクエリ要求に基づき、前記権威ＤＮＳサーバ装置へ、資源を問い合わせるステップと、
前記資源の前記問い合わせに対して、前記権威ＤＮＳサーバ装置が送信した応答又は無応答であることに基づき名前を解決できないことを示す場合に、二次キャッシュへ、前記資源を問い合わせるステップと
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＤＮＳサーバ装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
ドメイン名（domain name）とＩＰアドレス（Internet Protocol Address）とを対応させる名前管理システム（ＤＮＳ：Domain Name System）が知られている。名前管理システムは、権威ＤＮＳサーバ装置群とＤＮＳサーバ装置とから構成される。
ＤＮＳサーバ装置は、クライアント装置が送信した名前解決の依頼（ＤＮＳクエリ要求）に応じて、権威ＤＮＳサーバ装置群に含まれる権威ＤＮＳサーバ装置に名前解決のための問い合わせ（再帰ＤＮＳクエリ要求）を行う。この問い合わせに応じて、権威ＤＮＳサーバ装置群に含まれる権威ＤＮＳサーバ装置は、回答データ（再帰ＤＮＳクエリ応答）を送信する。権威ＤＮＳサーバ装置が送信した再帰ＤＮＳクエリ応答を受信したＤＮＳサーバ装置は、受信した再帰ＤＮＳクエリ応答を一次キャッシュに記憶する。
その後、クライアント装置が、そのドメイン名と同じドメイン名を解決するためのＤＮＳクエリ要求を送信した場合について説明する。ＤＮＳサーバ装置は、そのＤＮＳクエリ要求を受信し、受信したＤＮＳクエリ要求に含まれるドメイン名が、一次キャッシュに記憶されているか否かを判定する。ＤＮＳサーバ装置は、ＤＮＳクエリ要求に含まれるドメイン名が、一次キャッシュに記憶されている場合、その一次キャッシュに、そのドメイン名と関連付けて記憶されているＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を、クライアント装置へ送信する。これによって、名前管理システムの処理負荷を低減することができる。
ここで、名前管理システムにおいて、ドメイン名の名前を解決できない場合には、そのドメイン名を、名前を解決できないドメイン名として、ＤＮＳサーバ装置の一次キャッシュに記憶する。そして、ＤＮＳサーバ装置は、他のＤＮＳクエリ要求を受信した場合に、一次キャッシュを参照して、そのＤＮＳクエリ要求に含まれるドメイン名が、名前を解決できないドメイン名と同一である場合には、名前を解決できないことを示す情報を返送する。このようにすることで、ＤＮＳサーバ装置が、権威ＤＮＳサーバ装置へ、名前を解決できないドメイン名の名前を解決するための問い合わせを行うことによる名前管理システムの負荷が生じないようにできる。
【０００３】
名前管理システムに関して、権威サーバ装置へのアクセスを低減する技術が知られている（例えば、特許文献１参照）。この技術によれば、ＥＮＵＭキャッシュサーバ１０は、クエリ要求を受信した場合に、ＥＮＵＭデータ記憶部１３ａに記憶された電話番号ごとに、各レコードに対応するクエリ要求を受信した回数を計数する。そして、ＥＮＵＭキャッシュサーバ１０は、計数された回数が所定の回数を超えたレコードが存在する場合には、該レコードを記憶する期間を延長して、ＥＮＵＭデータ記憶部１３ａに記憶させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２１１７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
権威ＤＮＳサーバ装置がダウンした場合や、権威ＤＮＳサーバ装置がＤＮＳサーバ装置からの接続要求を拒否した場合や、ネットワーク障害などにより無応答となる場合および該当の権威ＤＮＳサーバ装置に問い合わせたドメインが存在しなかった場合や、異常応答などによって、ドメイン名の名前を解決ができなかった場合を考える。この場合、その名前の解決ができなかったドメイン名によっては、多くのクライアント装置によって、そのドメイン名の名前を解決するための問い合わせが行われるため、ＤＮＳサーバ装置に過剰な負荷が発生することにより、多数のユーザのサービスへ影響が及ぶおそれがある。
本発明は、上記問題を解決すべくなされたもので、クライアント装置からＤＮＳサーバ装置への名前解決問い合わせに対して、名前解決ができないことを低減することを第１の目的とする。
また、ＤＮＳサーバ装置への過剰な負荷を下げ、多数のユーザのサービスに悪影響を与えないようにすることを第２の目的とする。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様は、クライアント装置と、権威ＤＮＳサーバ装置との間に設けられたＤＮＳサーバ装置であって、前記クライアント装置が送信したＤＮＳクエリ要求に基づき、前記権威ＤＮＳサーバ装置へ、資源を問い合わせる要求部と、前記要求部による前記資源の前記問い合わせに応じて、前記権威ＤＮＳサーバ装置へ名前を問い合わせた結果を記憶する一次キャッシュと、前記一次キャッシュに記憶された前記問い合わせた結果のうち、ポジティブキャッシュを記憶する二次キャッシュとを備え、前記要求部は、前記資源の前記問い合わせに対して、前記権威ＤＮＳサーバ装置が送信した応答が名前を解決できないことを示す場合に、前記二次キャッシュへ、前記資源を問い合わせる、ＤＮＳサーバ装置である。ここで、資源は、ドメイン名、ＩＰアドレスやメールサーバ名などのＲデータ、Ｔｙｐｅ、クラス、有効生存期間（ＴＴＬ）など少なくとも１つを含む。
（２）本発明の一態様は、上記（１）に記載のＤＮＳサーバ装置において、前記二次キャッシュは、前記一次キャッシュがキャッシュする時間よりも長い時間、前記ポジティブキャッシュを記憶する、ＤＮＳサーバ装置である。
（３）本発明の一態様は、上記（１）又は上記（２）に記載のＤＮＳサーバ装置において、前記資源の有効生存期間として、前記権威ＤＮＳサーバ装置で設定された有効生存期間と、前記二次キャッシュで設定された有効生存期間とのうち、短い有効生存期間を、前記クライアント装置に応答する応答部をさらに備える、ＤＮＳサーバ装置である。
（４）本発明の一態様は、上記（１）から上記（３）のいずれか一項に記載のＤＮＳサーバ装置において、前記要求部は、前記資源の前記問い合わせに対して、前記権威ＤＮＳサーバ装置からの応答がない場合に、前記二次キャッシュへ、前記資源を問い合わせる、ＤＮＳサーバ装置である。
（５）本発明の一態様は、上記（１）から上記（４）のいずれか一項に記載のＤＮＳサーバ装置において、前記要求部は、前記資源の前記問い合わせを行っている間に、前記ＤＮＳクエリ要求に含まれる名前、タイプ、クラスと、複数の前記クライアント装置の各々が送信したＤＮＳクエリ要求に含まれる名前、タイプ、クラスとが一致する場合に、前記資源を、前記二次キャッシュから取得する、ＤＮＳサーバ装置である。
（６）本発明の一態様は、上記（１）から上記（５）のいずれか一項に記載のＤＮＳサーバ装置において、前記権威ＤＮＳサーバ装置が送信した応答又は無応答であることに基づいて、クライアント装置が新たに送信したＤＮＳクエリ要求に対して、前記権威ＤＮＳサーバ装置へ、資源を問い合わせるか否かを判定する判定部を備える、ＤＮＳサーバ装置である。
（７）本発明の一態様は、クライアント装置と、権威ＤＮＳサーバ装置との間に設けられたＤＮＳサーバ装置が実行する方法であって、前記クライアント装置が送信したＤＮＳクエリ要求に基づき、前記権威ＤＮＳサーバ装置へ、資源を問い合わせるステップと、前記資源の前記問い合わせに対して、前記権威ＤＮＳサーバ装置が送信した応答又は無応答であることに基づき名前を解決できないことを示す場合に、二次キャッシュへ、前記資源を問い合わせるステップとを有する、方法である。
（８）本発明の一態様は、クライアント装置と、権威ＤＮＳサーバ装置との間に設けられたＤＮＳサーバ装置のコンピュータに、前記クライアント装置が送信したＤＮＳクエリ要求に基づき、前記権威ＤＮＳサーバ装置へ、資源を問い合わせるステップと、前記資源の前記問い合わせに対して、前記権威ＤＮＳサーバ装置が送信した応答又は無応答であることに基づき名前を解決できないことを示す場合に、二次キャッシュへ、前記資源を問い合わせるステップとを実行させる、プログラムである。
【発明の効果】
【０００７】
本発明の実施形態によれば、クライアント装置が送信した名前解決問い合わせに対して、名前解決ができないことを低減することができる。
また、ＤＮＳサーバ装置への過剰な負荷を下げ、多数のユーザのサービスに悪影響を与えないようにすることができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る通信システムの一例を示す図である。
【図２】本実施形態に係る通信システムを構成する端末装置、ＤＮＳサーバ装置、権威ＤＮＳサーバ装置の一例を示す図である。
【図３】リソースレコードに記憶される情報の一例を示す図である。
【図４】本実施形態に係る通信システムの動作の一例（その１）を示すシーケンスチャートである。
【図５】本実施形態に係る通信システムの動作の一例（その２）を示すシーケンスチャートである。
【図６】本実施形態に係る通信システムの動作の一例（その３）を示すシーケンスチャートである。
【図７】本実施形態に係る通信システムの動作の一例（その４）を示すシーケンスチャートである。
【発明を実施するための形態】
【０００９】
次に、本実施形態に係るＤＮＳサーバ装置、方法、及びプログラムを、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「ＸＸに基づく」とは、「少なくともＸＸに基づく」ことを意味し、ＸＸに加えて別の要素に基づく場合も含む。また、「ＸＸに基づく」とは、ＸＸを直接に用いる場合に限定されず、ＸＸに対して演算や加工が行われたものに基づく場合も含む。「ＸＸ」は、任意の要素（例えば、任意の情報）である。
【００１０】
（実施形態）
（通信システム）
図１は、本実施形態に係る通信システムの一例を示す図である。通信システム１は、端末装置１００−１、端末装置１００−２、・・・、端末装置１００−Ｎ（Ｎは、Ｎ＞０の整数）と、名前管理システム（ＤＮＳ：Domain Name System）サーバ装置２００と、権威ＤＮＳサーバ装置３００とを備える。端末装置１００−１、端末装置１００−２、・・・、端末装置１００−Ｎと、ＤＮＳサーバ装置２００と、権威ＤＮＳサーバ装置３００とは、インターネットなどのネットワーク５０を介して接続される。
以下、端末装置１００−１、端末装置１００−２、・・・、端末装置１００−Ｎのうち、任意の端末装置を、端末装置１００と記載する。
端末装置１００は、ユーザが利用するクライアント装置である。例えば、端末装置１００は、ユーザによってドメイン名を示す情報が入力された場合に、入力されたドメイン名を示す情報を含み、そのドメイン名に対応するＩＰアドレスなどの資源を問い合わせる情報であるＤＮＳクエリ要求を作成し、作成したＤＮＳクエリ要求を、ＤＮＳサーバ装置２００へ送信する。
ＤＮＳサーバ装置２００は、端末装置１００が送信したＤＮＳクエリ要求を受信し、受信したＤＮＳクエリ要求に含まれるドメイン名、ｔｙｐｅ、クラスなどを示す情報を取得する。ＤＮＳサーバ装置２００は、ドメイン名、ｔｙｐｅ、クラスなどを示す情報と資源を示す情報とを関連付けて、一次キャッシュメモリに記憶している。ＤＮＳサーバ装置２００は、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリに記憶されているか否かを判定する。一次キャッシュメモリに、取得したドメイン名を示す情報に関連付けて、資源を示す情報が記憶されていない場合、ＤＮＳサーバ装置２００は、再帰ＤＮＳクエリ要求を作成する。ＤＮＳサーバ装置２００は、作成した再帰ＤＮＳクエリ要求を、権威ＤＮＳサーバ装置３００へ送信する。
権威ＤＮＳサーバ装置３００は、例えば、ドメイン名を示す情報と資源を示す情報とを関連付けた変換表（リソースレコードファイル）を管理している。
権威ＤＮＳサーバ装置３００は、ＤＮＳサーバ装置２００が送信した再帰ＤＮＳクエリ要求を受信し、受信した再帰ＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、リソースレコードファイルを検索することによって取得する。権威ＤＮＳサーバ装置３００は、検索結果を含む再帰ＤＮＳクエリ応答を、ＤＮＳサーバ装置２００へ送信する。ここで、検索結果には、ドメイン名に関連付けて記憶されている資源を示す情報、又はドメイン名の名前を解決できないことを示す情報が含まれる。
【００１１】
ＤＮＳサーバ装置２００は、権威ＤＮＳサーバ装置３００が送信した再帰ＤＮＳクエリ応答を受信し、受信した再帰ＤＮＳクエリ応答に含まれる情報に基づいて、一次キャッシュメモリに記憶されている情報を更新する。
具体的には、ＤＮＳサーバ装置２００は、受信した再帰ＤＮＳクエリ応答に、ドメイン名に関連付けて記憶されている資源を示す情報が含まれる場合には、そのドメイン名を示す情報と、その資源を示す情報とを関連付けて、一次キャッシュメモリに記憶する。また、ＤＮＳサーバ装置２００は、再帰ＤＮＳクエリ応答に、ドメイン名の名前を解決できないことを示す情報が含まれる場合には、ドメイン名を示す情報と、そのドメイン名の名前を解決できないことを示す情報とを関連付けて、一次キャッシュメモリに記憶する。
また、ＤＮＳサーバ装置２００は、例えば、ドメイン名を示す情報と資源を示す情報とを対応付けた変換表（リソースレコード）がキャッシュされた二次キャッシュメモリを備える。
ＤＮＳサーバ装置２００は、一次キャッシュメモリにキャッシュした情報に基づいて、二次キャッシュメモリに記憶される情報を更新する。具体的には、ＤＮＳサーバ装置２００は、一次キャッシュメモリを更新する際にキャッシュした情報のうち、ポジティブキャッシュを記憶する。ここで、ポジティブキャッシュとは、再帰ＤＮＳクエリ応答に、ドメイン名に関連付けられた資源を示す情報が含まれる場合に、一次キャッシュメモリに記憶されるそのドメイン名を示す情報と、その資源を示す情報とを関連付けた情報の内、名前解決が出来る情報である。ＤＮＳサーバ装置２００は、ポジティブキャッシュを記憶する際に、二次キャッシュ特有のＴＴＬを設定する。ＴＴＬについては、後述する。
ＤＮＳサーバ装置２００は、端末装置１００へ、ＤＮＳクエリ要求に対するＤＮＳクエリ応答を送信する。ＤＮＳクエリ応答には、ドメイン名に関連付けられている資源を示す情報、及びドメイン名の名前を解決できないことを示す情報のいずれかが含まれる。
端末装置１００は、ＤＮＳサーバ装置２００が送信したＤＮＳクエリ応答を受信する。端末装置１００は、受信したＤＮＳクエリ応答に含まれる情報に基づいて、資源を示す情報が含まれる場合には、その資源を示す情報に基づいて、サーバ装置（図示なし）と通信を行う。また、端末装置１００は、受信したＤＮＳクエリ応答に、ドメイン名の名前を解決できないことを示す情報が含まれる場合には、ドメイン名の名前を解決できないことを表した文字情報又は画像を表示する。
【００１２】
（通信システムの構成）
図２は、本実施形態に係る通信システムを構成する端末装置、ＤＮＳサーバ装置、権威ＤＮＳサーバ装置の一例を示す図である。以下、端末装置１００、ＤＮＳサーバ装置２００、権威ＤＮＳサーバ装置３００について順次説明する。
（端末装置）
端末装置１００は、通信部１１０と、記憶部１２０と、情報処理部１３０と、操作部１４０と、表示部１６０と、前記各構成要素を図２に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン１５０とを備える。
通信部１１０は、通信モジュールによって実現される。通信部１１０は、ネットワーク５０を経由して、ＤＮＳサーバ装置２００などの他の装置と通信を行う。通信部１１０は、ＤＮＳサーバ装置２００へ、情報処理部１３０が出力したＤＮＳクエリ要求を送信する。また、通信部１１０は、ＤＮＳサーバ装置２００が送信したＤＮＳクエリ応答を受信し、受信したＤＮＳクエリ応答を、情報処理部１３０へ出力する。
記憶部１２０は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部１２０には、情報処理部１３０により実行されるプログラム１２２が記憶される。
情報処理部１３０の全部または一部は、例えば、ＣＰＵ（Central Processing Unit）などのプロセッサが記憶部１２０に格納されたプログラム１２２を実行することにより実現される機能部（以下、ソフトウェア機能部と称する）である。なお、情報処理部１３０の全部または一部は、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＦＰＧＡ（Field-Programmable Gate Array）などのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
情報処理部１３０は、例えば、処理部１３２と、作成部１３４とを備える。
処理部１３２は、ユーザが操作部１４０を操作することによってドメイン名を示す情報を入力した場合に、操作部１４０が出力するドメイン名を示す情報を取得する。操作部１４０は、取得したドメイン名を示す情報を、作成部１３４へ出力する。
また、処理部１３２は、通信部１１０が出力したＤＮＳクエリ応答を取得し、取得したＤＮＳクエリ応答に含まれる情報に基づいて、処理を行う。具体的には、処理部１３２は、取得したＤＮＳクエリ応答に、資源を示す情報が含まれる場合には、その資源を示す情報に基づいて、サーバ装置（図示なし）へアクセスする。一方、処理部１３２は、取得したＤＮＳクエリ応答に、ドメイン名の名前を解決できないことを示す情報が含まれる場合には、ドメイン名の名前を解決できないことを表す文字情報又は画像を作成し、作成した文字情報又は画像を、表示部１６０に出力する。
また、作成部１３４は、処理部１３２が出力したドメイン名を示す情報を含むＤＮＳクエリ要求を作成する。作成部１３４は、作成したＤＮＳクエリ要求を、通信部１１０へ出力する。
操作部１４０は、例えば、タッチパネルなどによって構成され、表示部１６０に表示される画面に対するタッチ操作を検出し、タッチ操作の検出結果を、情報処理部１３０へ出力する。タッチ操作には、ドメイン名を入力する操作などが含まれる。
表示部１６０は、処理部１３２が出力した文字情報又は画像を表示する。
【００１３】
（ＤＮＳサーバ装置）
ＤＮＳサーバ装置２００は、通信部２１０と、記憶部２２０と、情報処理部２３０と、前記各構成要素を図２に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン２５０とを備える。
通信部２１０は、通信モジュールによって実現される。通信部２１０は、ネットワーク５０を経由して、端末装置１００、権威ＤＮＳサーバ装置３００などの他の装置と通信を行う。
通信部２１０は、端末装置１００が送信したＤＮＳクエリ要求を受信し、受信したＤＮＳクエリ要求を、情報処理部２３０へ出力する。通信部２１０は、情報処理部２３０が出力した再帰ＤＮＳクエリ要求を取得し、取得した再帰ＤＮＳクエリ要求を、権威ＤＮＳサーバ装置３００へ、送信する。通信部２１０は、権威ＤＮＳサーバ装置３００が送信した再帰ＤＮＳクエリ応答を受信し、受信した再帰ＤＮＳクエリ応答を、情報処理部２３０へ出力する。通信部２１０は、情報処理部２３０が出力したＤＮＳクエリ応答を取得し、取得したＤＮＳクエリ応答を、端末装置１００へ、送信する。
記憶部２２０は、例えば、ＲＡＭ、ＲＯＭ、ＨＤＤ、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部２２０には、情報処理部２３０により実行されるプログラム２２２が記憶される。
【００１４】
情報処理部２３０の全部または一部は、例えば、ＣＰＵなどのプロセッサが記憶部２２０に格納されたプログラム２２２を実行することにより実現されるソフトウェア機能部である。なお、情報処理部２３０の全部または一部は、ＬＳＩ、ＡＳＩＣ、またはＦＰＧＡなどのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
情報処理部２３０は、例えば、処理部２３２と、要求部２３４と、更新部２３６と、応答部２３８と、一次キャッシュメモリ２４０と、二次キャッシュメモリ２４２とを備える。
一次キャッシュメモリ２４０は、端末装置１００が送信したＤＮＳクエリ要求に基づいて、権威ＤＮＳサーバ装置３００へ、ドメイン名の名前を解決することを問い合わせた結果を記憶する。具体的には、一次キャッシュメモリ２４０は、権威ＤＮＳサーバ装置３００が記憶するリソースレコードの少なくとも一部の情報を記憶する。
図３は、リソースレコードに記憶される情報の一例を示す図である。リソースレコードは、図３に示すように、ドメイン名と、Ｒデータ、タイプ（Ｔｙｐｅ）、クラス、ＴＴＬなどの資源とを関連付けて記憶する。
「ドメイン名」は、リソースレコードを定義しているドメイン名などのＮＡＭＥを示す情報である。「ドメイン名」は、端末装置１００によって、名前の解決が要求されたドメイン名を示す。
「Ｒデータ」は、リソースレコードの資源の場所などを示す。「Ｒデータ」は、「ドメイン名」に該当する場所を示す。
「Ｔｙｐｅ」は、リソースレコードのタイプを示す。具体的には、タイプには、Ａ、ＡＡＡＡ、ＮＳ、ＣＮＡＭＥ，ＳＯＡ、ＰＴＲ、ＨＩＮＦＯ、ＭＩＮＦＯ、ＭＸ、ＴＸＴなどが含まれる。
「クラス」は、リソースレコードのクラスを示す。具体的には、クラスには、インターネット用を表す「１」が含まれる。
「ＴＴＬ（Time to live）」は、一次キャッシュメモリ２４０に記憶される情報の有効生存期間を示す。「ＴＴＬ」は、権威ＤＮＳサーバ装置３００によって設定される。
図３に示される例では、ドメイン名「ｗｗｗ．ＡＡＡ．ｃｏ．ｊｐ」と、Ｒデータ「１９２．０．２．１」と、Ｔｙｐｅ「１」と、クラス「１」と、ＴＴＬ「１９８０」とが関連付けて記憶されている。
【００１５】
図２に戻り、二次キャッシュメモリ２４２について説明する。二次キャッシュメモリ２４２に記憶される情報の一例は、一次キャッシュメモリ２４０に記憶される情報の少なくとも一部の情報を記憶する。
二次キャッシュメモリ２４２は、権威ＤＮＳサーバ装置３００がドメイン名の名前を解決できた場合に、その権威ＤＮＳサーバ装置３００が送信する再帰ＤＮＳクエリ応答に含まれるドメイン名と、資源を示す情報との組み合わせを記憶する。二次キャッシュメモリ２４２は、権威ＤＮＳサーバ装置３００がドメイン名の名前を解決できなかった場合に、その権威ＤＮＳサーバ装置３００が送信する再帰ＤＮＳクエリ応答に含まれるドメイン名と、ドメイン名の名前を解決できないことを示す情報との組み合わせ（ネガティブキャッシュ）は記憶しない。
また、二次キャッシュメモリ２４２は、一次キャッシュメモリ２４０がキャッシュする時間よりも長い時間、ポジティブキャッシュを記憶する。
また、二次キャッシュメモリ２４２は、記憶している情報を、ＴＴＬが満了しても消去しない。ここで、ＴＴＬは、二次キャッシュ特有のＴＴＬである。ここで、二次キャッシュメモリ２４２のＴＴＬは、クライアントが二次キャッシュの情報を長期間保持し続けないようにするため、五分等の短時間を設定する運用を想定する。二次キャッシュメモリ２４２は、記憶しているドメイン名と、資源を示す情報との関連付けの数が、予め設定されるキャッシュ数閾値を超える場合には、更新された時刻が古いものから消去する。
また、二次キャッシュメモリ２４２に記憶される情報は、ＤＮＳサーバ装置２００がリスタートした際に消去してもよいし、リスタートしても消去されないようにしてもよい。
さらに、二次キャッシュメモリ２４２に記憶される情報は、他のＤＮＳサーバ装置によって参照できるようにされる。このようにすることによって、他のＤＮＳサーバ装置が送信したＤＮＳクエリ要求を処理することができるとともに、二次キャッシュメモリ２４２を、他のＤＮＳサーバ装置と共用できる。ＤＮＳサーバ装置２００は、キャッシュヒット率によって性能が大きく異なる。ここで、ＤＮＳサーバ装置２００を起動した際に、他のＤＮＳサーバ装置との間で共用した二次キャッシュメモリ２４２から、一次キャッシュメモリ２４０に記憶する情報を生成するようにしてもよい。このように構成することによって、ＤＮＳサーバ装置を起動した直後からキャッシュヒット率が高くすることができる。
【００１６】
処理部２３２は、通信部２１０が出力したＤＮＳクエリ要求を取得し、取得したＤＮＳクエリ要求に含まれるドメイン名を示す情報を取得する。そして、処理部２３２は、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリ２４０に記憶されているか否かを判定する。この場合、処理部２３２は、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリ２４０に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、一次キャッシュメモリ２４０から取得する。
処理部２３２は、取得した資源を示す情報を含むＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を応答部２３８に出力し、応答部２３８は、通信部２１０へ出力する。
一方、処理部２３２は、取得したドメイン名を示す情報と関連付けて、一次キャッシュメモリ２４０にドメイン名の名前を解決できないことを示す情報が記憶されている場合には、一次キャッシュメモリ２４０からドメイン名の名前を解決できないとする情報を取得し、ドメイン名の名前を解決できないとするＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。
また、処理部２３２は、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリ２４０に記憶されていない場合には、要求部２３４にＤＮＳクエリ要求を出力し、要求部２３４は再帰ＤＮＳクエリ要求を作成し、通信部２１０へ出力する。
また、要求部２３４が作成した再帰ＤＮＳクエリ要求を通信部２１０へ出力してから時間閾値によって示される時間が経過する以前に、処理部２３２が、通信部２１０が出力した再帰ＤＮＳクエリ応答を取得した場合、処理部２３２は、取得した再帰ＤＮＳクエリ応答を、更新部２３６へ出力する。また再帰ＤＮＳクエリ応答からＤＮＳクエリ応答を作成し、応答部２３８とへ出力する。
一方、処理部２３２は、要求部２３４が作成した再帰ＤＮＳクエリ要求を通信部２１０へ出力してから時間閾値が経過したことを示す情報を取得した場合、そのＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ２４２に記憶されているか否かを判定する。
処理部２３２は、そのＤＮＳクエリ要求に含まれるドメイン名に関連付けて資源を示す情報が二次キャッシュメモリ２４２に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、二次キャッシュメモリ２４２から取得する。処理部２３２は、取得した資源を示す情報を含むＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。
一方、処理部２３２は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ２４２に記憶されていない場合には、ドメイン名の名前を解決できないことを示す情報を含むＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、ＤＮＳクエリ要求を送信した端末装置１００へＤＮＳクエリ応答を送
信する。
【００１７】
更新部２３６は、処理部２３２が出力した再帰ＤＮＳクエリ応答を取得し、取得した再帰ＤＮＳクエリ応答に含まれる情報に基づいて、一次キャッシュメモリ２４０を更新する。具体的には、更新部２３６は、再帰ＤＮＳクエリ応答に、ドメイン名と、資源を示す情報とが含まれる場合には、そのドメイン名と、その資源を示す情報とを関連付けて、一次キャッシュメモリ２４０に記憶することによって更新する。一方、更新部２３６は、再帰ＤＮＳクエリ応答に、ドメイン名と、ドメイン名の名前を解決できないことを示す情報とが含まれる場合には、ドメイン名と関連付けて、ドメイン名の名前を解決できないことを示す情報とを関連付けて、一次キャッシュメモリ２４０に記憶することによって更新する。
また、更新部２３６は、一次キャッシュメモリ２４０を更新する際に記憶した情報に基づいて、二次キャッシュメモリ２４２を更新する。一次キャッシュメモリ２４０を更新する際に記憶した情報に基づいて、二次キャッシュメモリ２４２を更新することによって、一次キャッシュメモリ２４０に記憶される情報と、二次キャッシュメモリ２４２に記憶される情報とを同期させる。具体的には、更新部２３６は、一次キャッシュメモリ２４０を更新する際に記憶した情報のうち、ドメイン名と、資源を示す情報との組み合わせを、二次キャッシュメモリ２４２に記憶することによって更新する。更新部２３６は、二次キャッシュメモリ２４２に関連付けて記憶されるドメイン名と、Ｒデータと、Ｔｙｐｅと、クラスと、ＴＴＬとのうち、ＴＴＬについては、権威ＤＮＳサーバ装置３００が設定したＴＴＬと、ＤＮＳサーバ装置２００が設定した二次キャッシュ特有のＴＴＬを、両方保持する。そして、端末装置１００へ通知する資源を示す情報として、そのＴＴＬよりも短い時間が通知される。これによって、仮に、端末装置１００に、ドメイン名を示す情報と、資源を示す情報とが通知された場合に、そのドメイン名を示す情報と、その資源を示す情報とが、端末装置１００に、長い期間キャッシュされないようにできる。これは、二次キャッシュメモリ２４２に記憶される情報は、ドメイン名の名前が解決できないことを低減するためのものであり、最新の情報でないおそれがある。このため、二次キャッシュメモリ２４２に記憶された資源を示す情報に関連付けて記憶されるＴＴＬは、本来のＴＴＬと、そのＴＴＬよりも短い時間とする。これによって、二次キャッシュメモリ２４２に記憶された情報を取得した端末装置１００は、同じドメイン名を示す情報が入力された場合に、ＴＴＬが満了している場合には、ＤＮＳサーバ装置２００に、そのドメイン名の名前を解決することを問い合わせることができるため、最新の情報を取得する機会を増加させることができる。また、本来のＴＴＬと、そのＴＴＬよりも短い時間とが記憶されることによって、本来のＴＴＬが分からなくなってしまうことを避けることができる。
更新部２３６は、ドメイン名と、そのドメイン名の名前を解決できないことを示す情報とについては、二次キャッシュメモリ２４２に記憶しない。これにより、二次キャッシュのメモリ量を節約する。
【００１８】
（権威ＤＮＳサーバ装置）
権威ＤＮＳサーバ装置３００は、通信部３１０と、記憶部３２０と、情報処理部３３０と、前記各構成要素を図２に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン３５０とを備える。
通信部３１０は、通信モジュールによって実現される。通信部３１０は、ネットワーク５０を経由して、ＤＮＳサーバ装置２００と通信を行う。通信部３１０は、ＤＮＳサーバ装置２００が送信した再帰ＤＮＳクエリ要求を受信し、受信した再帰ＤＮＳクエリ要求を、情報処理部３３０へ出力する。通信部３１０は、情報処理部３３０が出力した再帰ＤＮＳクエリ応答を、ＤＮＳサーバ装置２００へ送信する。
記憶部３２０は、例えば、ＲＡＭ、ＲＯＭ、ＨＤＤ、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部３２０は、情報処理部３３０が実行するプログラム３２２と、リソースレコードファイル３２４とを記憶する。リソースレコードファイル３２４は、ドメイン名を示す情報と資源を示す情報とを関連付けた変換表である。リソースレコードファイル３２４の一例については、図３に示される。リソースレコードファイル３２４は、図３に示すように、ドメイン名と、Ｒデータ、Ｔｙｐｅ、クラス、ＴＴＬなどの資源とを関連付けて記憶する。
【００１９】
情報処理部３３０の全部または一部は、例えば、ＣＰＵなどのプロセッサが記憶部３２０に格納されたプログラム３２２を実行することにより実現されるソフトウェア機能部である。なお、情報処理部３３０の全部または一部は、ＬＳＩ、ＡＳＩＣ、またはＦＰＧＡなどのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
情報処理部３３０は、例えば、処理部３３２を備える。
処理部３３２は、通信部３１０が出力した再帰ＤＮＳクエリ要求を取得し、取得した再帰ＤＮＳクエリ要求に含まれるドメイン名を示す情報を取得する。処理部３３２は、取得したドメイン名を示す情報に関連付けて資源を示す情報がリソースレコードファイル３２４に記憶されているか否かを判定する。
具体的には、処理部３３２は、再帰ＤＮＳクエリ要求に含まれるＱＮＡＭＥ、ＱＴＹＰＥなどのドメイン名を示す情報に一致する資源を示す情報（リソースレコード）を検索する。処理部３３２は、そのドメイン名を示す情報に一致するリソースレコードがリソースレコードファイル３２４に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されているリソースレコードを、リソースレコードファイル３２４から取得する。
処理部３３２は、取得したリソースレコードを含む再帰ＤＮＳクエリ応答を作成し、作成した再帰ＤＮＳクエリ応答を、通信部３１０へ出力する。例えば、ＱＴＹＰＥがＡレコードの場合には、ドメイン名に関連付けて記憶されているＩＰアドレス（ＩＰｖ４）を問い合わせることを意味する。この場合、処理部３３２は、再帰ＤＮＡクエリ要求に含まれるＱＮＡＭＥ（ドメイン名）、ＴＹＰＥ、クラスをコピーし、これに続けて、ＴＴＬ、レングス、ＩＰアドレス（ｖ４）などを含む再帰ＤＮＳ応答を作成する。
一方、処理部３３２は、取得したドメイン名を示す情報に関連付けてリソースレコードがリソースレコードファイル３２４に記憶されていない場合には、ドメイン名を示す情報と、ドメイン名の名前を解決できないことを示す情報とを含む再帰ＤＮＳクエリ応答を作成し、作成した再帰ＤＮＳクエリ応答を、通信部３１０へ出力する。
【００２０】
（通信システムの動作）
図４−図７を参照して、本実施形態に係る通信システム１の動作について説明する。
（通信システムの動作の一例（その１））
図４は、本実施形態に係る通信システムの動作の一例（その１）を示すシーケンスチャートである。
（ステップＳ１０１）  端末装置１００の処理部１３２は、ユーザが操作部１４０を操作することによってドメイン名を示す情報を入力した場合に、操作部１４０が出力するドメイン名を示す情報を取得し、取得したドメイン名を示す情報を、作成部１３４へ出力する。ここで、ユーザが操作部１４０を操作することなく、ドメイン名を示す情報が、作成部１３４へ出力されてもよい。
作成部１３４は、処理部１３２が出力したドメイン名を示す情報を取得し、取得したドメイン名を示す情報を含み、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を問い合わせる情報であるＤＮＳクエリ要求を作成する。作成部１３４は、作成したＤＮＳクエリ要求を、通信部１１０へ出力する。通信部１１０は、作成部１３４が出力したＤＮＳクエリ要求を、ＤＮＳサーバ装置２００へ送信する。
（ステップＳ１０２）  ＤＮＳサーバ装置２００の通信部２１０は、端末装置１００が送信したＤＮＳクエリ要求を受信し、受信したＤＮＳクエリ要求を、情報処理部２３０へ出力する。
情報処理部２３０の処理部２３２は、通信部２１０が出力したＤＮＳクエリ要求を取得する。処理部２３２は、取得したＤＮＳクエリ要求に含まれるドメイン名を示す情報を取得し、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリ２４０に記憶されているか否かを判定する。ここでは、一次キャッシュメモリ２４０に、取得したドメイン名を示す情報に関連付けて、資源を示す情報が記憶されていない場合について説明を続ける。
（ステップＳ１０３）  処理部２３２は、取得したＤＮＳクエリ要求を、要求部２３４へ出力する。
要求部２３４は、再帰ＤＮＳクエリ要求を作成する。要求部２３４は、作成した再帰ＤＮＳクエリ要求を通信部２１０へ出力する。通信部２１０は、要求部２３４が出力した再帰ＤＮＳクエリ要求を、権威ＤＮＳサーバ装置３００へ送信する。
【００２１】
（ステップＳ１０４）  権威ＤＮＳサーバ装置３００の通信部３１０は、ＤＮＳサーバ装置２００が送信した再帰ＤＮＳクエリ要求を受信し、受信した再帰ＤＮＳクエリ要求を、情報処理部３３０へ出力する。
情報処理部３３０の処理部３３２は、通信部３１０が出力した再帰ＤＮＳクエリ要求を取得する。処理部３３２は、取得した再帰ＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けられる資源を示す情報が、リソースレコードファイル３２４に記憶されているか否かを判定する。
（ステップＳ１０５）  処理部３３２は、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を含む再帰ＤＮＳクエリ応答又は名前を解決できないことを示す情報を含む再帰ＤＮＳクエリ応答を作成する。処理部３３２は、作成した再帰ＤＮＳクエリ応答を、通信部３１０へ出力する。
（ステップＳ１０６）  権威ＤＮＳサーバ装置３００の通信部３１０は、処理部３３２が出力した再帰ＤＮＳクエリ応答を、ＤＮＳサーバ装置２００へ送信する。
（ステップＳ１０７）  ＤＮＳサーバ装置２００の通信部２１０は、権威ＤＮＳサーバ装置３００が送信した再帰ＤＮＳクエリ応答を受信し、受信した再帰ＤＮＳクエリ応答を、処理部２３２へ出力する。
処理部２３２は、通信部２１０が出力した再帰ＤＮＳクエリ応答を、更新部２３６と、応答部２３８とへ出力する。更新部２３６は、処理部２３２が出力した再帰ＤＮＳクエリ応答を取得し、取得した再帰ＤＮＳクエリ応答が不正応答に該当するか否かを判定する。ここで、不正応答とは、フォーマットエラー、再帰クエリに紐付かない応答などである。
（ステップＳ１０８）  更新部２３６は、不正応答に該当しないと判定した場合、その再帰ＤＮＳクエリ応答に含まれる情報に基づいて、一次キャッシュメモリ２４０を更新する。
更新部２３６は、再帰ＤＮＳクエリ応答に含まれるドメイン名と、資源を示す情報とを関連付けて、一次キャッシュメモリ２４０に記憶することによって更新する。
【００２２】
（ステップＳ１０９）  ＤＮＳサーバ装置２００の処理部２３２は、通信部２１０が出力した再帰ＤＮＳクエリ応答を取得し、取得した再帰ＤＮＳクエリ応答に含まれる情報に基づいて、ＤＮＳクエリ要求を送信した端末装置１００へ送信するＤＮＳクエリ応答を作成する。処理部２３２は、作成したＤＮＳクエリ応答を、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、応答部２３８が出力したＤＮＳクエリ応答を、端末装置１００へ送信する。
（ステップＳ１１０）  ＤＮＳサーバ装置２００の更新部２３６は、再帰ＤＮＳクエリ応答がポジティブ応答であるか否かを判定する。ここで、ポジティブ応答とは、ドメイン名に関連付けて資源が記憶されている再帰ＤＮＳクエリ応答をいう。なお、更新部２３６は再帰ＤＮＳクエリ応答がポジティブ応答でないと判定した場合、処理を終了する。
（ステップＳ１１１）  ＤＮＳサーバ装置２００の更新部２３６は、再帰ＤＮＳクエリ応答がポジティブ応答であると判定した場合、一次キャッシュメモリ２４０に記憶した情報に基づいて、二次キャッシュメモリ２４２を更新する。更新部２３６は、一次キャッシュメモリ２４０を更新する際に記憶した情報のうち、ドメイン名と、資源を示す情報との組み合わせを、二次キャッシュメモリ２４２に記憶することによって更新する。更新部２３６は、二次キャッシュメモリ２４２に関連付けて記憶されるドメイン名と、ＩＰアドレスと、Ｔｙｐｅと、クラスと、ＴＴＬと、更新日時とのうち、ＴＴＬについては、権威ＤＮＳサーバ装置３００が設定したＴＴＬと、ＤＮＳサーバ装置２００が設定した二次キャッシュ特有のＴＴＬを、両方保持する。
（ステップＳ１１２）  更新部２３６はステップＳ１０７で不正応答に該当すると判定した場合、再帰ＤＮＳクエリ応答を破棄する。
図４に示されるシーケンスチャートにおいて、ステップＳ１０８と、ステップＳ１０９の処理の順序は、逆であってもよい。
図４に示されるシーケンスチャートによれば、ステップＳ１０７で不正応答にあたる再帰ＤＮＳクエリ応答を一次キャッシュから除外することが可能になる。また、ステップＳ１１０により、更に、ポジティブ応答のみ二次キャッシュで保持し、かつ、権威ＤＮＳサーバ装置３００が設定したＴＴＬと、ＤＮＳサーバ装置２００が設定した二次キャッシュ特有のＴＴＬを、両方保持することにより、一次キャッシュと異なる機能を有する二次キャッシュのサービス提供が可能になるという効果がある。
【００２３】
（通信システムの動作の一例（その２））
図５は、本実施形態に係る通信システムの動作の一例（その２）を示すシーケンスチャートである。
（ステップＳ２０１）  端末装置１００の処理部１３２は、ユーザが操作部１４０を操作することによってドメイン名を示す情報を入力した場合に、操作部１４０が出力するドメイン名を示す情報を取得し、取得したドメイン名を示す情報を、作成部１３４へ出力する。ここで、ユーザが操作部１４０を操作することなく、ドメイン名を示す情報が、作成部１３４へ出力されてもよい。
作成部１３４は、処理部１３２が出力したドメイン名を示す情報を取得し、取得したドメイン名を示す情報を含み、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を問い合わせる情報であるＤＮＳクエリ要求を作成する。作成部１３４は、作成したＤＮＳクエリ要求を、通信部１１０へ出力する。通信部１１０は、作成部１３４が出力したＤＮＳクエリ要求を、ＤＮＳサーバ装置２００へ送信する。
（ステップＳ２０２）  ＤＮＳサーバ装置２００の通信部２１０は、端末装置１００が送信したＤＮＳクエリ要求を受信し、受信したＤＮＳクエリ要求を、処理部２３２へ出力する。
処理部２３２は、取得したＤＮＳクエリ要求に含まれるドメイン名を示す情報を取得し、取得したドメイン名を示す情報に関連付けて資源を示す情報が記憶されているか否かを、一次キャッシュメモリ２４０に記憶されている情報を検索することによって判定する。ここでは、ドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ２４０に記憶されていない場合について説明を続ける。
【００２４】
（ステップＳ２０３）  ＤＮＳサーバ装置２００の処理部２３２は、ＤＮＳクエリ要求を、要求部２３４へ出力する。
要求部２３４は、再帰ＤＮＳクエリ要求を作成する。要求部２３４は、作成した再帰ＤＮＳクエリ要求を通信部２１０へ出力する。通信部２１０は、要求部２３４が出力した再帰ＤＮＳクエリ要求を、権威ＤＮＳサーバ装置３００へ送信する。ここで、権威ＤＮＳサーバ装置３００は、ダウンなどの原因によって、再帰ＤＮＳクエリ応答を送信しない。
（ステップＳ２０４）  ＤＮＳサーバ装置２００の処理部２３２は、要求部２３４が再帰ＤＮＳクエリ要求を通信部２１０へ出力してから時間閾値によって示される時間が経過しても、通信部２１０から再帰ＤＮＳクエリ応答が出力されない場合に、そのＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報を、二次キャッシュメモリ２４２から検索する。
（ステップＳ２０５）  処理部２３２は、そのＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ２４２に記憶されているか否かを判定する。
（ステップＳ２０６）  処理部２３２は、ＤＮＳクエリ応答に含まれるドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ２４２に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、二次キャッシュメモリ２４２から取得する。処理部２３２は、ＤＮＳサーバ装置２００が設定した二次キャッシュ特有のＴＴＬを参照する。
（ステップＳ２０７）  処理部２３２は、参照した二次キャッシュ特有のＴＴＬが、権威ＤＮＳサーバ装置３００が設定したＴＴＬより短いか否かを判定する。
（ステップＳ２０８）  参照した二次キャッシュ特有のＴＴＬが、権威ＤＮＳサーバ装置３００が設定したＴＴＬより短い場合、処理部２３２は、取得した資源を示す情報と二次キャッシュ特有のＴＴＬに基づくＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、処理部２３２が出力したＤＮＳクエリ応答を、端末装置１００へ送信する。
（ステップＳ２０９）  参照したＴＴＬが、権威ＤＮＳサーバ装置３００が設定したＴＴＬより長い場合、処理部２３２は、取得した資源を示す情報と権威ＤＮＳサーバ装置３００が設定したＴＴＬとを含むＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、処理部２３２が出力したＤＮＳクエリ応答を、端末装置１００へ送信する。
（ステップＳ２１０）  処理部２３２は、ＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ２４２に記憶されていない場合には、ダミー応答を返すべきか否かを判定する。判定基準は任意に設定できる。一例として、ＭＴＡがＭＸレコードの名前を解決しようとした場合には、ダミー応答を返すべきでないと判定する。
（ステップＳ２１１）  処理部２３２は、ダミー応答を返すべきでないと判定した場合、ＤＮＳクエリ応答を破棄する。
（ステップＳ２１２）  処理部２３２は、ダミー応答を返すべきと判定した場合、ダミー応答を参照する。端末装置１００からの無駄な再送を抑止する観点から、有効なダミー応答が選択される。
（ステップＳ２１３）  処理部２３２は、選択した内容のダミー応答を作成し、作成したダミー応答を、ＤＮＳクエリ応答として、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、処理部２３２が出力したダミー応答を、端末装置１００へ送信する。
図５に示されるシーケンスチャートのステップＳ２０２において、処理部２３２は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ２４０に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、一次キャッシュメモリ２４０から取得する。処理部２３２は、取得した資源を示す情報を含むＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、処理部２３２が出力したＤＮＳクエリ応答を、端末装置１００へ送信する。
【００２５】
（通信システムの動作の一例（その３））
図６は、本実施形態に係る通信システムの動作の一例（その３）を示すシーケンスチャートである。
ステップＳ５０１−Ｓ５０３は、図５を参照して説明したステップＳ２０１−Ｓ２０２を適用できる。端末装置１００が複数となる以外、同様である。
（ステップＳ５０４）  ＤＮＳサーバ装置２００の処理部２３２は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ２４０にヒットするか否かを判定する。
（ステップＳ５０５）  処理部２３２は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ２４０に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、一次キャッシュメモリ２４０から取得する。処理部２３２は、取得した資源を示す情報を含むＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、処理部２３２が出力したＤＮＳクエリ応答を、端末装置１００−１、端末装置１００−Ｎへ送信する。
（ステップＳ５０６）  処理部２３２は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ２４０に記憶されていない場合には、該当のＤＮＳクエリ要求は、再帰ＤＮＳクエリ中であるか否かを判定する。
（ステップＳ５０７）  ＤＮＳサーバ装置２００の処理部２３２は、該当のＤＮＳクエリ要求が再帰クエリ中であると判定した場合、そのＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報を、二次キャッシュメモリ２４２から検索する。
（ステップＳ５０８）  処理部２３２は、そのＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ２４２に記憶されているか否かを判定する。
（ステップＳ５０９）  処理部２３２は、ＤＮＳクエリ応答に含まれるドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ２４２に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、二次キャッシュメモリ２４２から取得する。処理部２３２は、ＤＮＳサーバ装置２００が設定した二次キャッシュ特有のＴＴＬを参照する。
（ステップＳ５１０）  処理部２３２は、参照した二次キャッシュ特有のＴＴＬが、権威ＤＮＳサーバ装置３００が設定したＴＴＬより短いか否かを判定する。
（ステップＳ５１１）  参照した二次キャッシュ特有のＴＴＬが、権威ＤＮＳサーバ装置３００が設定したＴＴＬより短い場合、処理部２３２は、取得した資源を示す情報と、参照した二次キャッシュ特有のＴＴＬとを含むＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、応答部２３８が出力したＤＮＳクエリ応答を、端末装置１００へ送信する。
（ステップＳ５１２）  参照した二次キャッシュ特有のＴＴＬが、権威ＤＮＳサーバ装置３００が設定したＴＴＬより長い場合、処理部２３２は、取得した資源を示す情報と、権威ＤＮＳサーバ装置３００が設定したＴＴＬとを含むＤＮＳクエリ応答を作成し、作成したＤＮＳクエリ応答を、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、応答部２３８が出力したＤＮＳクエリ応答を、端末装置１００−１、端末装置１００−Ｎへ送信する。
（ステップＳ５１３）  処理部２３２は、ＤＮＳクエリ応答に含まれるドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ２４２に記憶されていない場合には、ダミー応答を返すべきか否かを判定する。具体的には、図５ステップＳ２１０−２１２と同様である。
（ステップＳ５１４）  処理部２３２は、ダミー応答を返すべきと判定した場合、ダミー応答を参照する。端末装置１００からの無駄な再送を抑止する観点から、有効なダミー応答が選択される。選択したダミー応答を作成し、作成したダミー応答を、ＤＮＳクエリ応答として、応答部２３８に出力し、応答部２３８は通信部２１０へ出力する。通信部２１０は、応答部２３８が出力したダミー応答を、端末装置１００へ送信する。
（ステップＳ５１５）  処理部２３２は、該当のＤＮＳクエリ要求が、再帰ＤＮＳクエリ中でないと判定した場合、クエリ内容を記憶する。
（ステップＳ５１６）  処理部２３２は、記録したクエリ内容を含むＤＮＳクエリ要求を、要求部２３４へ出力する。要求部２３４は、再帰ＤＮＳクエリ要求を作成する。要求部２３４は、作成した再帰ＤＮＳクエリ要求を通信部２１０へ出力する。通信部２１０は、要求部２３４が出力した再帰ＤＮＳクエリ要求を、権威ＤＮＳサーバ装置３００へ送信する。なお、ステップＳ５１６は再帰ＤＮＳクエリ要求中であり、まだ名前解決が出来ていない状態を示す。図６は、端末装置から同じタイミングで同じ名前解決要求が一斉集中するケースにおいて、再帰ＤＮＳクエリを抑制出来ることで、ＤＮＳサーバ装置の負荷低減および、キャッシュポイズニングのリスク低減を図りながら、二次キャッシュを用いた名前解決サービスを継続出来る効果がある。
【００２６】
（通信システムの動作の一例（その４））
図７は、本実施形態に係る通信システムの動作の一例（その４）を示すシーケンスチャートである。図７は、図５のステップＳ２０２−Ｓ２０４の間の処理を示す。なお、ＤＮＳサーバ装置２００は、図７のステップＳ６０３−６０６に該当するドメイン及び権威ＤＮＳサーバ装置３００の状態を継続的に把握しているものとする。
（ステップＳ６０１）  ＤＮＳサーバ装置２００は、端末装置１００からＤＮＳクエリ要求を受信すると、一次キャッシュを検索する。一次キャッシュにヒットすれば、ＤＮＳサーバ装置２００は端末装置１００にＤＮＳクエリ応答を送信する。一方、一次キャッシュにヒットしない場合、ステップＳ６０２に進む。
（ステップＳ６０２）  ＤＮＳサーバ装置２００の処理部２３２は、ＤＮＳクエリ要求について、二次キャッシュメモリ２４２を参照できる有効時間内であるか否かを判定する。二次キャッシュメモリ２４２を参照できる有効時間内である場合、図５のステップＳ２０４（二次キャッシュを検索）へ移行する。
Ｓ２０４により、該当するドメインまたは権威ＤＮＳサーバ装置３００の状態に基づき再帰ＤＮＳクエリ要求による名前解決が適切ではない状態と判断している時間内には、ＤＮＳクエリ要求ごとにＳ６０３−Ｓ６１１の処理をスキップして再帰ＤＮＳクエリを行わず、ＤＮＳサーバ装置の負荷低減を図りながら二次キャッシュによる名前解決サービスを継続できる効果がある。
（ステップＳ６０３）  処理部２３２は、二次キャッシュメモリ２４２を参照できる有効時間内でない場合、継続的に把握しているドメイン及び権威ＤＮＳサーバ装置３００の状態に基づき、当該ＤＮＳクエリ要求に伴う権威ＤＮＳサーバ装置３００との通信において、単位時間に再帰ＤＮＳクエリ要求に紐付かない不正応答数が閾値を超過しているか否かを判定する。ステップＳ６０３は、キャッシュポイズニングのリスクの高低を判別し、リスクが高い場合は、再帰ＤＮＳクエリを行わず二次キャッシュによる名前解決サービスが継続できる効果がある。
（ステップＳ６０４）  処理部２３２は、単位時間に不正応答が閾値を超過していない場合、当該ＤＮＳクエリ要求に伴う権威ＤＮＳサーバ装置３００との単位時間あたりの再帰クエリ数が閾値を超過しているか否かを判定する。
（ステップＳ６０５）  処理部２３２は、当該ＤＮＳクエリ要求に伴う権威ＤＮＳサーバ装置３００との単位時間あたりの再帰クエリ数が閾値を超過している場合、単位時間あたりのネガティブ応答率や無応答率が閾値を超過しているか否かを判定する。ステップＳ６０４とＳ６０５により、権威ＤＮＳサーバ装置３００がダウンしている、又は、多くの攻撃が発生しているなどの場合において、再帰ＤＮＳクエリ要求を行わないことでＤＮＳサーバ装置の負荷低減を図りながら二次キャッシュによる名前解決サービスが継続できる効果がある。
（ステップＳ６０６）  処理部２３２は、当該ＤＮＳクエリ要求に伴う権威ＤＮＳサーバ装置３００との単位時間あたりの再帰クエリ数が閾値を超過していない場合、又は単位時間あたりのネガティブ応答・無応答率が閾値を超過していない場合に、単位時間あたりの該当ドメインに関する通信のダミー応答数及び率が閾値を超過しているか否かを判定する。ステップＳ６０６により、二次キャッシュに存在しない名前解決要求が多く発生していることで、ＤＮＳサーバ装置２００及び権威ＤＮＳサーバ装置３００に対し、多くの攻撃が継続しているかを判別して、再帰ＤＮＳクエリ要求を抑制することで、ＤＮＳサーバ装置の負荷低減を図りながら二次キャッシュを用いた名前解決サービスを継続できる効果がある。
（ステップＳ６０７）  処理部２３２は、単位時間あたりの該当ドメインに関する通信のダミー応答数及び率が閾値を超過していないと判定した場合、取得したＤＮＳクエリ要求を、要求部２３４へ出力する。
要求部２３４は、再帰ＤＮＳクエリ要求を作成する。要求部２３４は、作成した再帰ＤＮＳクエリ要求を通信部２１０へ出力する。通信部２１０は、要求部２３４が出力した再帰ＤＮＳクエリ要求を、権威ＤＮＳサーバ装置３００へ送信する。
なお、権威ＤＮＳサーバ装置３００から応答があった場合は、図４のステップＳ１０７に移行する。また、権威ＤＮＳサーバ装置３００から無応答であった場合は、図５のステップＳ２０４に移行する。
（ステップＳ６０８）  処理部２３２は、単位時間あたりの該当ドメインに関するダミー応答数及び率が閾値を超過していると判定した場合、二次キャッシュメモリ２４２の参照延長時間内であるか否かを判定する。二次キャッシュメモリ２４２の参照延長時間内である場合、図５のステップＳ２０４へ移行する。
（ステップＳ６０９）  処理部２３２は、二次キャッシュメモリ２４２の参照延長時間内でないと判定した場合、取得したＤＮＳクエリ要求を、要求部２３４へ出力する。
要求部２３４は、再帰ＤＮＳクエリ要求を作成する。要求部２３４は、作成した再帰ＤＮＳクエリ要求を通信部２１０へ出力する。通信部２１０は、要求部２３４が出力した再帰ＤＮＳクエリ要求を、権威ＤＮＳサーバ装置３００へ送信する。
なお、権威ＤＮＳサーバ装置３００から応答があった場合は、図４のステップＳ１０７に移行する。また、権威ＤＮＳサーバ装置３００から無応答であった場合は、図５のステップＳ２０４に移行する。
（ステップＳ６１０）  処理部２３２は、単位時間に再帰ＤＮＳクエリ要求に紐付かない不正応答が閾値を超過している場合、または、単位時間あたりの再帰ＤＮＳクエリ数が閾値を超過しかつネガティブ応答率や無応答率が閾値を超過している場合は、当該ドメイン又は権威ＤＮＳサーバ装置３００との再帰ＤＮＳクエリ要求を一定時間抑止するため、二次キャッシュメモリ２４２を参照させる有効時間を設定する。
（ステップＳ６１１）  処理部２３２は、二次キャッシュ参照時間を超えても、ダミー応答数＆率が閾値を超えている際に二次キャッシュ参照を延長し再帰クエリ要求を抑止するため、二次キャッシュメモリ２４２の参照延長時間を設定する。その後、図５のステップＳ２０４（二次キャッシュを検索）へ移行する。
図７に示されるシーケンスチャートによれば、ＤＮＳサーバ装置２００がＤＮＳクエリ要求を受信した場合に、ＤＮＳサーバ装置２００及び権威ＤＮＳサーバ装置３００への負荷を下げつつ、端末装置１００にＤＮＳクエリ応答をするにあたり、二次キャッシュメモリ２４２の参照又は権威ＤＮＳサーバ装置３００への再帰ＤＮＳクエリ要求のどちらが最適解かを判別することができる。
【００２７】
前述した実施形態では、通信システム１が、ＤＮＳサーバ装置２００、及び権威ＤＮＳサーバ装置３００の各々を一台備える場合について説明したが、この例に限られない。例えば、ＤＮＳサーバ装置２００、及び権威ＤＮＳサーバ装置３００の各々を複数台備えるようにしてもよい。
前述した実施形態では、リソースレコードに、ドメイン名と、Ｒデータと、Ｔｙｐｅと、クラスと、ＴＴＬとが関連付けて記憶される場合について説明したがこの例に限られない。例えば、ドメイン名と関連付けて、Ｒデータと、Ｔｙｐｅと、クラスと、ＴＴＬとに加え、再帰ＤＮＳクエリ応答のソースＩＰ、名前解決時のプロトコル（UDP、TCP）、再帰ＤＮＳクエリ時にトンネリング検出有無などの他の情報が記憶されてもよい。
前述した実施形態では、資源に、Ｒデータと、Ｔｙｐｅと、クラスと、ＴＴＬとが含まれる場合について説明したが、この例に限られない。例えば、資源に、ＲデータＴｙｐｅ、クラス、及びＴＴＬ以外の情報が含まれてもよい。
前述した実施形態では、ＤＮＳサーバ装置２００が、ポジティブキャッシュを記憶する際に、権威ＤＮＳサーバ装置３００が設定したＴＴＬと、そのＴＴＬよりも短い時間とを設定する場合について説明したが、この例に限られない。例えば、運用によって、二次キャッシュメモリ２４２で設定するＴＴＬと、権威ＤＮＳサーバ装置３００で設定済みのＴＴＬとを比較して、最適な一つに設定を切り替えるようにしてもよい。
前述した実施形態では、二次キャッシュメモリ２４２に設定される権威ＤＮＳサーバ装置３００が設定したＴＴＬよりも短い時間として、五分等の画一的な時間に設定される場合について説明したが、この例に限られない。例えば、二次キャッシュメモリ２４２に記憶される情報の性質によりＴＴＬを異ならせてもよい。具体的には、二次キャッシュメモリ２４２に記憶される性質に応じて情報を区分し、区分Ａの場合には一分とし、区分Ｂの場合には五分、・・・、区分Ｘの場合には十二時間などに設定してもよい。また、二次キャッシュメモリ２４２に記憶される情報の性質によりＴＴＬを、動的に変更してもよい。具体的には、最初は、デフォルトで五分に設定し、五分後に問い合わせがあり、二次キャッシュメモリ２４２に記憶される情報を使用する状況が継続されている場合は、二次キャッシュ特有のＴＴＬを十分等の長い時間に再設定する。
なお、相手方サービスの種類によって、最適なＴＴＬを決めてもよい。相手方サービスの更新頻度、各種検索エンジンが動作する相手方システムの回復予想時間等が考慮されてもよい。システムのサービス継続が前提で更新頻度が高いものは、二次キャッシュメモリ２４２のＴＴＬを短く設定する。他方で、システムのサービス継続が難しい場合にはＴＴＬを長く設定する。また、過去の履歴から最適なＴＴＬを割り出して、区分することによって、振分が可能である。
【００２８】
前述した実施形態では、二次キャッシュメモリ２４２が、記憶しているドメイン名と、資源を示す情報との関連付けの数が、予め設定されるキャッシュ数閾値を超える場合に、更新された時刻が古いものから消去する場合について説明したが、この例に限られない。例えば、二次キャッシュメモリ２４２は、ＤＮＳクエリ要求の数が少ないドメイン名から削除するようにしてもよい。このように構成することによって、重要性の低いものから削除することができる。また、予め設定したドメインリストに基づき優先して削除する、又は優先して残してもよい。
前述した実施形態において、二次キャッシュメモリ２４２を、複数のＤＮＳサーバ装置２００で共用するようにしてもよいし、ＤＮＳサーバ装置２００毎に二次キャッシュメモリ２４２を備えるようにしてもよい。また、ＤＮＳサーバ装置２００毎に二次キャッシュメモリ２４２を備える場合に、二次キャッシュメモリ２０２毎に同期をとるようにしてもよい。
前述した実施形態では、ＤＮＳサーバ装置２００は、再帰ＤＮＳクエリ要求を送信してから時間閾値経過しても、再帰ＤＮＳクエリ応答を取得できなかった場合に、二次キャッシュメモリ２４２に、再帰ＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ２４２に記憶されているか否かを判定する場合について説明したが、この例に限られない。例えば、ＤＮＳサーバ装置２００は、権威ＤＮＳサーバ装置３００が送信した再帰ＤＮＳクエリ応答を受信し、受信した再帰ＤＮＳクエリ応答に、ドメイン名の名前を解決できない情報が含まれる場合に、再帰ＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ２４２に記憶されているか否かを判定するようにしてもよい。
前述した実施形態では、端末装置１００からの無駄な再送を抑止する観点から、有効なダミー応答が選択しているが、選択したダミー応答の内容によっては抑止効果が得られない場合も考えられることから、例えば、単位時間あたりの該当するＤＮＳクエリ要求数、ダミー応答数および割合などから、動的にダミー応答内容を選択し直してもよい。加えて、抑止効果のあったダミー応答内容の自動的に記憶学習し、次回ダミー応答が発動される際に、抑止効果の高いダミー応答内容順で選択出来るようにしてもよい。また、学習する際には、端末装置１００やＤＮＳサーバ装置２００のＩＰアドレス、ポート番号、およびＤＮＳクエリ要求に含まれるドメインなどと組み合わせて記憶し、次回ダミー応答が発動される際に、優先して選択できる応答内容の条件に加えてもよい。また、ダミー応答を返しても抑止効果が得られない時には、動的に該当の端末装置からのＤＮＳクエリ要求を一時的に遮断してもよい。
前述した実施形態では、ユーザが操作部１４０を操作することによってドメイン名を示す情報を入力した場合に、そのドメイン名を示す情報を含み、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を問い合わせる情報であるＤＮＳクエリ要求を作成する場合について説明したがこの例に限られない。例えば、ユーザが操作部１４０を操作することによって入力されたドメイン名に限らず、端末装置１００で、何らかの処理が行われるのに伴って、ドメイン名の名前を解決するための問い合わせを行う場合についても適用できる。
【００２９】
以上説明した少なくとも一つの実施形態に係るＤＮＳサーバ装置によれば、ＤＮＳサーバ装置は、クライアント装置と、権威ＤＮＳサーバ装置との間に設けられる。ＤＮＳサーバ装置は、クライアント装置が送信したＤＮＳクエリ要求に基づき、権威ＤＮＳサーバ装置へ、資源を問い合わせ、その資源の問い合わせに応じて、権威ＤＮＳサーバ装置へ名前を問い合わせた結果を一次キャッシュメモリに記憶する。ＤＮＳサーバ装置は、一次キャッシュに記憶された問い合わせた結果のうち、ポジティブキャッシュを二次キャッシュメモリに記憶する。ＤＮＳサーバ装置は、資源の問い合わせに対して、権威ＤＮＳサーバ装置が送信した応答が名前を解決できないことを示す場合に、二次キャッシュへ、資源を問い合わせる。
このように構成することによって、二次キャッシュメモリを、権威ＤＮＳサーバ装置が攻撃を受けた場合、権威ＤＮＳサーバ装置がダウンした場合、キャッシュポイズニング、ネットワーク障害、輻輳、規制などによってドメイン名の名前を解決するのに問題が生じる場面において、一時的に名前を解決するための避難先として活用できる。このため、クライアント装置が送信したＤＮＳクエリ要求に対して、ドメイン名の名前を解決ができないことを低減することができ、ユーザに対してサービスを継続できる。
本実施形態に係るＤＮＳサーバ装置によれば、二次キャッシュは、一次キャッシュがキャッシュする時間よりも長い時間、ポジティブキャッシュを記憶する。このように構成することによって、一次キャッシュに記憶されている情報が消去されても、二次キャッシュに記憶されている情報が消去されないようにできるので、クライアント装置が送信したＤＮＳクエリ要求に対して、ドメイン名の名前を解決ができないことを低減することができ、ユーザに対してサービスを継続できる。また、ドメイン名の名前を解決ができないことを低減することができるため、ＤＮＳサーバ装置への過剰な負荷を下げることができるため、多数のユーザのサービスに悪影響を与えないようにすることができる。
【００３０】
本実施形態に係るＤＮＳサーバ装置によれば、資源のＴＴＬとして、権威ＤＮＳサーバ装置で設定されたＴＴＬと、二次キャッシュで設定されたＴＴＬとのうち、短いＴＴＬを、クライアント装置に応答する。ＤＮＳサーバ装置が、二次キャッシュに記憶している資源を示す情報を通知することによって、名前を解決することを優先することができるとともに、短いＴＴＬを、クライアント装置へ通知することによって、端末装置に、資源を示す情報が、長い期間キャッシュされないようにできる。
本実施形態に係るＤＮＳサーバ装置によれば、資源の問い合わせに対して、権威ＤＮＳサーバ装置からの応答がない場合に、二次キャッシュへ、資源を問い合わせる。このように構成することによって、ＤＮＳサーバ装置が、権威ＤＮＳサーバ装置へ、再帰ＤＮＳクエリ要求を送信した場合に、権威ＤＮＳサーバ装置が応答を送信しなかった場合でも、二次キャッシュメモリに、その再帰ＤＮＳクエリ要求に含まれるドメイン名を示す情報に関連付けて、資源を示す情報が記憶されている否かを判定することができる。これによって、ドメイン名の名前を解決することができるため、クライアント装置が送信したＤＮＳクエリ要求に対して、ドメイン名の名前を解決ができないことを低減することができ、ユーザに対してサービスを継続できる。また、ドメイン名の名前を解決ができないことを低減することができるため、ＤＮＳサーバ装置への過剰な負荷を下げることができるため、多数のユーザのサービスに悪影響を与えないようにすることができる。
本実施形態に係るＤＮＳサーバ装置によれば、資源の問い合わせを行っている間に、ＤＮＳクエリ要求に含まれる名前、タイプ、クラスと、複数の前記クライアント装置の各々が送信したＤＮＳクエリ要求に含まれる名前、タイプ、クラスとが一致する場合に、前記資源を、二次キャッシュから取得する。
このように構成することによって、キャッシュポイズニングのリスクを低減することができるとともに、スパイクトラヒックによるＤＮＳサーバ装置の負荷を低減できる。ここで、スパイクトラヒックとは、同一のドメイン名の名前を解決することを要求するＤＮＳクエリ要求が、複数のクライアントから一斉に送信された場合によって生じる。
本実施形態に係るＤＮＳサーバ装置によれば、権威ＤＮＳサーバ装置が送信した応答又は無応答であることに基づいて、クライアント装置が新たに送信したＤＮＳクエリ要求に対して、権威ＤＮＳサーバ装置へ、資源を問い合わせるか否かを判定する。このように構成することによって、ＤＮＳサーバ装置は、権威ＤＮＳサーバ装置との間の通信に基づいて、権威ＤＮＳサーバ装置に異常が発生していると想定される場合には再帰ＤＮＳクエリ要求を送信しないと判定し、権威ＤＮＳサーバ装置に異常が発生していないと想定される場合には再帰ＤＮＳクエリ要求を送信すると判定できる。
【００３１】
以上、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態及びその変形例は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、前述の端末装置、ＤＮＳサーバ装置、及び権威ＤＮＳサーバ装置は内部にコンピュータを有している。そして、前述した各装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００３２】
１…通信システム、５０…ネットワーク、１００、１００−１、１００−２、・・・、１００−Ｎ…端末装置、２００…ＤＮＳサーバ装置、３００…権威ＤＮＳサーバ装置、１１０、２１０、３１０…通信部、１２０、２２０、３２０…記憶部、１２２、２２２、３２２…プログラム、１３０、２３０、３３０…情報処理部、１３２、２３２、３３２…処理部、１３４…作成部、１４０…操作部、１６０…表示部、２３４…要求部、２３６…更新部、２３８…応答部、２４０…一次キャッシュメモリ、２４２…二次キャッシュメモリ、３２４…リソースレコードファイル
【図１】
2019068199.tif 000003
【図２】
2019068199.tif 000004
【図３】
2019068199.tif 000005
【図４】
2019068199.tif 000006
【図５】
2019068199.tif 000007
【図６】
2019068199.tif 000008
【図７】
2019068199.tif 000009