(57)【要約】【課題】名前解決処理にかかる負荷を低減すること。【解決手段】実施形態に係るキャッシュサーバは、要求部と、受信部と、記憶部と、監視部と、削除部とを有する。要求部は、名前解決の問い合わせを権威サーバに要求する。受信部は、要求部による要求に応じて権威サーバから、名前解決を他の権威サーバに問い合わせる旨の委任回答と、名前解決の問い合わせに対する解決結果を示す最終回答とを受信する。記憶部は、委任回答及び最終回答をキャッシュデータとして記憶する。監視部は、記憶部に記憶可能な空き領域である記憶可能領域が所定の上限値に達しているか否かを監視する。削除部は、記憶部の記憶可能領域が所定の上限値に達している場合に、委任回答よりも最終回答を優先的に記憶部から削除する。【選択図】図２
2013179496.tif 000002
【特許請求の範囲】
【請求項１】
名前解決の問い合わせを権威サーバに要求する要求部と、
前記要求部による要求に応じて前記権威サーバから受信した回答として、前記名前解決を他の権威サーバに問い合わせる旨の回答内容を示す委任回答と、前記名前解決の問い合わせに対する解決結果を示す最終回答とを受信する受信部と、
前記受信部によって受信された委任回答及び最終回答をキャッシュデータとして記憶する記憶部と、
前記記憶部に記憶可能な空き領域である記憶可能領域が所定の上限値に達しているか否かを監視する監視部と、
前記記憶部の記憶可能領域が所定の上限値に達している場合に、前記委任回答よりも前記最終回答を優先的に前記記憶部から削除する削除部と
を備えたことを特徴とするキャッシュサーバ。
【請求項２】
前記記憶部は、
前記権威サーバから受信した回答毎に、当該回答を保持する残り時間を示す保持残時間を記憶し、
前記削除部は、
前記記憶部の記憶可能領域が所定の上限値に達している場合に、前記最終回答のうち保持残時間が所定の第１閾値よりも小さい最終回答を当該記憶部から削除する
ことを特徴とする請求項１に記載のキャッシュサーバ。
【請求項３】
前記削除部は、
保持残時間が前記第１閾値よりも小さい最終回答のうち、保持残時間が短い最終回答ほど優先的に前記記憶部から削除する
ことを特徴とする請求項２に記載のキャッシュサーバ。
【請求項４】
前記監視部は、
前記削除部によって前記最終回答が優先的に削除された前記記憶部の記憶可能領域が所定の上限値に達しているか否かを監視し、
前記削除部は、
前記最終回答が優先的に削除された前記記憶部の記憶可能領域が所定の上限値に達している場合に、前記委任回答のうち保持残時間が所定の第２閾値よりも小さい委任回答を当該記憶部から削除する
ことを特徴とする請求項２又は３に記載のキャッシュサーバ。
【請求項５】
前記削除部は、
保持残時間が前記第２閾値よりも小さい委任回答のうち、保持残時間が短い委任回答ほど優先的に前記記憶部から削除する
ことを特徴とする請求項４に記載のキャッシュサーバ。
【請求項６】
クライアント装置から名前解決の依頼を受け付けた場合に、当該名前解決に対応する委任回答又は最終回答が前記記憶部に記憶されているか否かを判定する判定部をさらに備え、
前記要求部は、
前記判定部によって前記名前解決に対応する最終回答が記憶されておらず委任回答が前記記憶部に記憶されていると判定された場合には、当該委任回答を用いて、当該名前解決の問い合わせ先とする権威サーバを決定する
ことを特徴とする請求項１〜５のいずれか一つに記載のキャッシュサーバ。
【請求項７】
キャッシュサーバが実行するキャッシュデータ削除方法であって、
名前解決の問い合わせを権威サーバに要求する要求工程と、
前記要求工程における要求に応じて前記権威サーバから受信した回答として、前記名前解決を他の権威サーバに問い合わせる旨の回答内容を示す委任回答と、前記名前解決の問い合わせに対する解決結果を示す最終回答と受信する受信工程と、
前記受信工程において受信された委任回答及び最終回答をキャッシュデータとして記憶部に格納する格納工程と、
前記記憶部に記憶可能な空き領域である記憶可能領域が所定の上限値に達しているか否かを監視する監視工程と、
前記記憶部の記憶可能領域が所定の上限値に達している場合に、前記委任回答よりも前記最終回答を優先的に前記記憶部から削除する削除工程と
を含んだことを特徴とするキャッシュデータ削除方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、キャッシュサーバ及びキャッシュデータ削除方法に関する。
【背景技術】
【０００２】
従来、ドメイン名とＩＰアドレス（Internet  Protocol  Address）とを対応させる名前管理システム（ＤＮＳ：Domain  Name  System）が知られている。名前管理システムは、一般的には、権威サーバ群とキャッシュサーバとから構成される。各権威サーバは、階層的な木構造を有する名前空間（「ドメイン名前空間」等とも呼ばれる）の中にある特定のゾーンを管理する。
【０００３】
キャッシュサーバは、クライアント装置からの名前解決の依頼（ＤＮＳクエリ）に応じて、権威サーバ群に名前解決のための問い合わせを行うとともに、かかる問い合わせに応じて権威サーバ群から送信される回答データをキャッシュデータとしてキャッシュに保持する。そして、キャッシュサーバは、クライアント装置から受け付けた名前解決の依頼に対応する回答データがキャッシュデータとしてキャッシュに存在する場合には、かかるキャッシュデータを用いて名前解決処理を行う。このように、キャッシュサーバは、キャッシュデータを用いることにより、名前解決処理にかかる負荷を低減する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】川原龍人、伊藤宏通、野津新著  「設定から運用管理までＢＩＮＤ９によるＤＮＳサーバ構築」技術評論社，平成18年12月1日，P123
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、名前解決処理にかかる負荷が増大する場合があった。具体的には、上記従来のキャッシュサーバは、キャッシュに記憶可能な空き領域が所定の上限値に達した場合に、基本的には古いキャッシュデータから順に削除する。例えば、キャッシュサーバは、権威サーバによって回答データ毎に指定されるＴＴＬ（Time  To  Live）を参照して、キャッシュデータとして保持される残り時間が所定時間よりも少ない回答データを削除する。このため、従来のキャッシュサーバは、キャッシュデータを削除する基準がＴＴＬであるので、処理負荷低減への貢献度が低いキャッシュデータよりも先に、処理負荷低減への貢献度が高いキャッシュデータを削除する場合もある。この結果、従来のキャッシュサーバでは、名前解決処理にかかる負荷の増大を招くおそれがあった。
【０００６】
本願の開示する技術は、上記に鑑みてなされたものであって、名前解決処理にかかる負荷を低減することができるキャッシュサーバ及びキャッシュデータ削除方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態に係るキャッシュサーバは、名前解決の問い合わせを権威サーバに要求する要求部と、前記要求部による要求に応じて前記権威サーバから受信した回答として、前記名前解決を他の権威サーバに問い合わせる旨の回答内容を示す委任回答と、前記名前解決の問い合わせに対する解決結果を示す最終回答と受信する受信部と、前記受信部によって受信された委任回答及び最終回答をキャッシュデータとして記憶する記憶部と、前記記憶部に記憶可能な空き領域である記憶可能領域が所定の上限値に達しているか否かを監視する監視部と、前記記憶部の記憶可能領域が所定の上限値に達している場合に、前記委任回答よりも前記最終回答を優先的に前記記憶部から削除する削除部とを備えることを特徴とする。
【発明の効果】
【０００８】
実施形態に係るキャッシュサーバ及びキャッシュデータ削除方法は、名前解決処理にかかる負荷を低減することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態に係る名前解決システムの構成例を示す図である。
【図２】図２は、第１の実施形態に係るキャッシュサーバの構成例を示す図である。
【図３】図３は、第１の実施形態に係る名前解決システムによる名前解決処理の一例を示すシーケンス図である。
【図４】図４は、参考例に係るキャッシュサーバによるキャッシュデータの削除処理手順を示すフローチャートである。
【図５】図５は、第１の実施形態に係るキャッシュサーバによるキャッシュデータの削除処理手順を示すフローチャートである。
【図６】図６は、第１の実施形態に係るキャッシュ制御部による最終回答削除処理手順を示すフローチャートである。
【図７】図７は、第１の実施形態に係るキャッシュ制御部による委任回答削除処理手順を示すフローチャートである。
【図８】図８は、第１の実施形態に係る名前解決システムによる名前解決処理の一例を示すシーケンス図である。
【図９】図９は、キャッシュ制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係るキャッシュサーバ及びキャッシュデータ削除方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係るキャッシュサーバ及びキャッシュデータ削除方法が限定されるものではない。
【００１１】
（第１の実施形態）
［第１の実施形態に係る名前解決システムの構成］
まず、図１を用いて、第１の実施形態に係る名前解決システムについて説明する。図１は、第１の実施形態に係る名前解決システムの構成例を示す図である。図１に示す名前解決システム１は、クライアント装置１０、権威サーバ群２０、キャッシュサーバ１００を有する。図１に示す各装置は、インターネット等のネットワークを介して通信可能な状態で接続される。
【００１２】
クライアント装置１０は、例えば、ＰＣ（Personal  Computer）、携帯電話機、ＰＤＡ（Personal  Digital  Assistant）等であり、キャッシュサーバ１００に対して、名前解決の依頼を送信する。具体的には、クライアント装置１０は、キャッシュサーバ１００に対して、ホスト名を通知することでＩＰアドレスの検索を要求したり、その逆にＩＰアドレスを通知することでホスト名の検索を要求したりする。このようなクライアント装置１０で動作するプログラムは「リゾルバ」と呼ばれる。なお、図１では、キャッシュサーバ１００に接続されるクライアント装置１０を１台のみ示しているが、実際には、キャッシュサーバ１００には複数台のクライアント装置が接続される。
【００１３】
権威サーバ群２０は、名前空間の中にある特定のゾーンを管理する複数のサーバから構成される。図１に示した例では、権威サーバ群２０には、権威サーバ２０１、２０２及び２０３が含まれる。なお、図１では、権威サーバ群２０に３台の権威サーバが含まれる例を示したが、権威サーバ群２０には、２台以下の権威サーバや４台以上の権威サーバが含まれてもよい。
【００１４】
キャッシュサーバ１００は、クライアント装置１０から所定のドメイン名（例えば、「aaa.sample.jp」）の名前解決の依頼を受け付ける。そして、キャッシュサーバ１００は、権威サーバ群２０に、依頼されたドメイン名の名前解決のための問い合わせを行うとともに、権威サーバ群２０からの回答データをキャッシュする。
【００１５】
［第１の実施形態に係るキャッシュサーバの構成］
次に、図２を用いて、図１に示したキャッシュサーバ１００の構成について説明する。図２は、第１の実施形態に係るキャッシュサーバ１００の構成例を示す図である。図２に例示するように、キャッシュサーバ１００は、応答部１１１と、要求部１１２と、メモリ部１１３と、キャッシュ制御部１２０とを有する。
【００１６】
応答部１１１は、クライアント装置１０から名前解決の依頼を受け付け、名前解決の依頼内容を要求部１１２に転送する。なお、応答部１１１は、メモリ部１１３にキャッシュデータが記憶されているか否かを判定するが、かかる処理についてはメモリ部１１３の後に説明する。
【００１７】
要求部１１２は、応答部１１１から転送された依頼内容に基づいて、権威サーバ群２０に対して名前解決のための問い合わせを行う。そして、要求部１１２は、権威サーバ群２０から受信した回答データをメモリ部１１３に格納する。このように、要求部１１２は、名前解決のための問い合わせを権威サーバ群２０に要求するだけでなく、権威サーバ群２０から回答データを受信する受信部、受信した回答データをメモリ部１１３に格納する格納部としても動作する。
【００１８】
ここで、要求部１１２は、回答データとして、名前解決の問い合わせ先となる他の権威サーバに関する情報（ホスト名、ＩＰアドレス等）を含む回答データ（以下、「委任回答」と表記する場合がある）を権威サーバ群２０から受信する場合がある。例えば、要求部１１２は、委任回答として、名前解決の問い合わせ対象であるドメイン名（例えば、「aaa.sample.jp」）と、かかるドメイン名に対応するＩＰアドレス等を管理する権威サーバのホスト名とを含むＮＳ（Name  Server）レコードを受信する。また、例えば、要求部１１２は、委任回答として、ＮＳレコードに含まれる権威サーバのホスト名と、かかるホスト名に対応するＩＰアドレスとを含むｇｌｕｅレコードを受信する。かかるｇｌｕｅレコードは、ＮＳレコードの追加情報として権威サーバ群２０から送信される。要求部１１２は、このような委任回答を受信した場合には、委任回答に応じて、他の権威サーバに対して名前解決の問い合わせを再度行う。
【００１９】
また、要求部１１２は、回答データとして、問い合わせ対象のドメイン名に対応するＩＰアドレス等を含む回答データ（以下、「最終回答」と表記する場合がある）を権威サーバ群２０から受信する場合がある。例えば、要求部１１２は、最終回答として、名前解決の問い合わせ対象であるドメイン名（例えば、「aaa.sample.jp」）と、かかるドメイン名に対応するＩＰアドレスとを含むＡ（Address）レコードを受信する。
【００２０】
要求部１１２は、このような委任回答及び最終回答を受信した場合に、受信した委任回答及び最終回答をキャッシュデータとしてメモリ部１１３に格納する。このとき、要求部１１２は、権威サーバ群２０から送信された回答データが名前解決の問い合わせに対する解決結果を示すか否かに応じて、かかる回答データが委任回答又は最終回答のいずれであるかを判定する。そして、要求部１１２は、委任回答を受信した場合には、委任回答であることを示す識別情報（以下、「回答識別情報」と表記する）とともに、受信した委任回答をメモリ部１１３に格納する。また、要求部１１２は、最終回答を受信した場合には、最終回答であることを示す回答識別情報とともに、受信した最終回答をメモリ部１１３に格納する。
【００２１】
メモリ部１１３は、いわゆるキャッシュメモリであり、ＲＡＭ（Random  Access  Memory）等によって実現される。かかるメモリ部１１３は、要求部１１２によって格納される委任回答や最終回答等の回答データをキャッシュデータとして記憶する。例えば、メモリ部１１３は、ＮＳレコード及びｇｌｕｅレコードを委任回答のキャッシュデータとして記憶する。また、例えば、メモリ部１１３は、Ａレコードを最終回答のキャッシュデータとして記憶する。
【００２２】
上述した応答部１１１は、メモリ部１１３に最終回答が記憶されている場合には、かかる名前解決の依頼内容を要求部１１２に転送せずに、メモリ部１１３に記憶されている最終回答をクライアント装置１０に送信する。これにより、応答部１１１は、権威サーバ群２０に対する名前解決のための問い合わせを省略できるので、名前解決処理にかかる負荷を低減できる。
【００２３】
また、応答部１１１は、メモリ部１１３に最終回答が記憶されておらず、委任回答が記憶されている場合には、かかる委任回答から名前解決の問い合わせ先となる権威サーバを特定できるか否かを判定する。そして、応答部１１１は、名前解決の問い合わせ先となる権威サーバを特定した場合には、かかる権威サーバが問い合わせ先であることを示す情報を含む名前解決の依頼内容を要求部１１２に転送する。これにより、要求部１１２は、例えば、委任回答を受信することなく、最終回答を送信する権威サーバに対して、名前解決の問い合わせを行うことができる。すなわち、要求部１１２は、委任回答を受信するための問い合わせ処理を省略できるので、名前解決処理にかかる負荷を低減できる。
【００２４】
また、応答部１１１は、メモリ部１１３に委任回答及び最終回答が記憶されていない場合には、クライアント装置１０から受け付けた名前解決の依頼内容を要求部１１２に転送する。かかる場合には、要求部１１２は、権威サーバ群２０に対する問い合わせを何度か行うことになるが、以降の名前解決処理に備えて権威サーバ群２０から受信した委任回答及び最終回答をキャッシュデータとしてメモリ部１１３に格納する。
【００２５】
キャッシュ制御部１２０は、メモリ部１１３に記憶可能な空き領域（以下、「記憶可能領域」と表記する場合がある）を監視し、記憶可能領域が上限値に達した場合には、メモリ部１１３から回答データ（委任回答や最終回答）を削除する処理を行う。第１の実施形態に係るキャッシュサーバ１００は、かかるキャッシュ制御部１２０による削除処理によって、名前解決処理にかかる負荷の低減を実現する。キャッシュ制御部１２０による削除処理については、後に詳述する。
【００２６】
なお、上記の応答部１１１、要求部１１２及びキャッシュ制御部１２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。また、例えば、応答部１１１、要求部１１２及びキャッシュ制御部１２０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、図示しない記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。
【００２７】
［第１の実施形態に係るキャッシュサーバによる名前解決処理］
次に、図３を用いて、第１の実施形態に係る名前解決システム１による名前解決処理について説明する。図３は、第１の実施形態に係る名前解決システム１による名前解決処理の一例を示すシーケンス図である。なお、図３では、メモリ部１１３に最終回答が記憶されていないケースと、メモリ部１１３に最終回答が記憶されているケースについて説明する。
【００２８】
また、図３では、図１に示した権威サーバ２０１がルートサーバ２０１であり、権威サーバ２０２がjp.サーバ２０２であり、権威サーバ２０３がsample.jp.サーバ２０３であるものとする。かかるルートサーバ２０１は、階層的な木構造を有する名前空間のうち最上位ゾーンであるルートゾーンを管理するサーバであり、例えば「jp」や「com」等のドメイン名（ＴＬＤ：Top  Level  Domain）を管理する権威サーバのインターネット上の位置（ＩＰアドレス）を管理する。また、jp.サーバ２０２は、「jp」のＴＬＤサーバであり、「jp」で管理される「sample.jp」や「ad.jp」などのインターネット上の位置（ＩＰアドレス）を管理する。また、sample.jp.サーバ２０３は、sample.jp.サーバ２０３自身が管理する名前空間の中にあるホスト、例えば、「aaa.sample.jp」や「ftp.sample.jp」のインターネット上の位置（ＩＰアドレス）を管理する。
【００２９】
また、図３では、ルートサーバ２０１のＩＰアドレスが「１．１．１．１」あり、jp.サーバ２０２のＩＰアドレスが「１．１．１．２」であり、sample.jp.サーバ２０３のＩＰアドレスが「１．１．１．３」であるものとする。また、以下では、クライアント装置１０が「aaa.sample.jp」のＩＰｖ４（Internet  Protocol  version  4）アドレスを要求するものとし、かかる「aaa.sample.jp」のＩＰアドレスが「192.168.100.1」であるものとする。
【００３０】
図３に示すように、クライアント装置１０は、キャッシュサーバ１００の応答部１１１に対して、「aaa.sample.jp」のＡレコードを問い合わせる名前解決の依頼を行う（ステップＳ１０１）。名前解決の依頼を受け付けた応答部１１１は、依頼された名前解決に対応する最終回答や委任回答が記憶されているかをメモリ部１１３に問い合わせる（ステップＳ１０２）。
【００３１】
ここでは、メモリ部１１３は、かかる名前解決に対応する最終回答や委任回答を記憶していないものとする。かかる場合に、応答部１１１は、クライアント装置１０から受け付けた名前解決の依頼内容を要求部１１２に転送する（ステップＳ１０３）。そして、要求部１１２は、ルートサーバ２０１に「aaa.sample.jp」のＡレコードを問い合わせる（ステップＳ１０４）。
【００３２】
「aaa.sample.jp」のＡレコードの問い合わせを受け付けたルートサーバ２０１は、「jp.サーバ２０２に問い合わせて下さい」といった委任回答を要求部１１２に返信する（ステップＳ１０５）。具体的には、ルートサーバ２０１は、ＮＳレコード「aaa.sample.jp  IN  NS  jpサーバのホスト名」と、ｇｌｕｅレコード「jpサーバのホスト名  IN  A  1.1.1.2」とを含む委任回答を要求部１１２に返信する。このとき、ルートサーバ２０１は、委任回答（ＮＳレコード、ｇｌｕｅレコード）をキャッシュサーバ１００にてキャッシュする期間を示すＴＴＬについても送信する。このように、ルートサーバ２０１は、「aaa.sample.jp」のＩＰアドレスを解決できない場合には、名前解決を他の権威サーバ（下層の権威サーバ）に問い合わせる旨の委任回答を返信する。
【００３３】
そして、要求部１１２は、ルートサーバ２０１から受信した委任回答（ＮＳレコード、ＮＳレコードのＴＴＬ、ｇｌｕｅレコード、ｇｌｕｅレコードのＴＴＬ）と、委任回答であることを示す回答識別情報とをメモリ部１１３にキャッシュする（ステップＳ１０６）。続いて、要求部１１２は、jp.サーバ２０２に「aaa.sample.jp」のＡレコードを問い合わせる（ステップＳ１０７）。
【００３４】
「aaa.sample.jp」のＡレコードの問い合わせを受け付けたjp.サーバ２０２は、「sample.jp.サーバ２０３に問い合わせて下さい」といった委任回答を要求部１１２に返信する（ステップＳ１０８）。具体的には、jp.サーバ１００２は、ＮＳレコード「aaa.sample.jp  IN  NS  sample.jpサーバのホスト名」と、ｇｌｕｅレコード「sample.jpサーバのホスト名  IN  A  1.1.1.3」と、ＴＴＬと含む委任回答を要求部１１２に返信する。
【００３５】
そして、要求部１１２は、jp.サーバ２０２から受信した委任回答（ＮＳレコード、ＮＳレコードのＴＴＬ、ｇｌｕｅレコード、ｇｌｕｅレコードのＴＴＬ）と、委任回答であることを示す回答識別情報とをメモリ部１１３にキャッシュする（ステップＳ１０９）。続いて、要求部１１２は、sample.jp.サーバ２０３に「aaa.sample.jp」のＡレコードを問い合わせる（ステップＳ１１０）。
【００３６】
「aaa.sample.jp」のＡレコードの問い合わせを受け付けたsample.jp.サーバ２０３は、「aaa.sample.jp」のＡレコードとＴＴＬとを含む最終回答を要求部１１２に返信する（ステップＳ１１１）。具体的には、sample.jp.サーバ２０３は、Ａレコード「aaa.sample.jp  IN  A  192.168.100.1」を要求部１１２に返信する。
【００３７】
そして、要求部１１２は、sample.jp.サーバ２０３から受信した最終回答（Ａレコード、ＡレコードのＴＴＬ）と、最終回答であることを示す回答識別情報とをメモリ部１１３にキャッシュする（ステップＳ１１２）。また、要求部１１２は、かかる最終回答（Ａレコード）を応答部１１１に転送する（ステップＳ１１３）。応答部１１１は、要求部１１２から転送された最終回答（Ａレコード）をクライアント装置１０に送信する（ステップＳ１１４）。これにより、クライアント装置１０は、名前解決の依頼に対する回答データとして、Ａレコード「aaa.sample.jp  IN  A  192.168.100.1」を受信し、「aaa.sample.jp」のＩＰアドレス「192.168.100.1」を取得することができる。
【００３８】
この後に、クライアント装置１０が、「aaa.sample.jp」のＡレコードを問い合わせる名前解決の依頼を再度行ったものとする（ステップＳ１１５）。かかる場合に、応答部１１１は、依頼された名前解決に対応する最終回答や委任回答が記憶されているかをメモリ部１１３に問い合わせる（ステップＳ１１６）。ここでは、メモリ部１１３は、かかる名前解決に対応する最終回答を記憶しているものとする。かかる場合に、応答部１１１は、メモリ部１１３に記憶されている最終回答（Ａレコード）をクライアント装置１０に送信する（ステップＳ１１７）。
【００３９】
このように、キャッシュサーバ１００は、メモリ部１１３に最終回答が記憶されている場合には、上記ステップＳ１０３〜Ｓ１１３における処理手順を省略できるので、名前解決処理にかかる負荷を低減できる。
【００４０】
［参考例に係るキャッシュサーバによるキャッシュ制御］
ここで、第１の実施形態に係るキャッシュ制御部１２０による削除処理を説明する前に、かかるキャッシュ制御部１２０による削除処理との比較用として、参考例に係るキャッシュサーバによるキャッシュ制御について説明する。参考例に係るキャッシュサーバは、一般的なキャッシュサーバに該当し、第１の実施形態に係るキャッシュサーバ１００とは異なるものである。
【００４１】
参考例に係るキャッシュサーバは、第１の実施形態に係るキャッシュサーバ１００と同様に、権威サーバ群２０からの回答データをキャッシュデータとして所定のメモリ部にキャッシュする。そして、参考例に係るキャッシュサーバは、所定のメモリ部に格納したキャッシュデータのうち、キャッシュ期間が過ぎたキャッシュデータ（すなわち、ＴＴＬ＝「０」となったキャッシュデータ）を削除する。
【００４２】
また、参考例に係るキャッシュサーバは、キャッシュ期間が過ぎたキャッシュデータが存在しない場合であっても、所定のメモリ部の記憶可能領域が上限値に達した際には、ＴＴＬを参照して、メモリ部に保持される残り時間が少ないキャッシュデータを削除する。この点について、図４を用いて説明する。図４は、参考例に係るキャッシュサーバによるキャッシュデータの削除処理手順を示すフローチャートである。
【００４３】
図４に示した例のように、参考例に係るキャッシュサーバは、キャッシュ領域が上限値に達している場合に（ステップＳ９１肯定）、メモリ部に記憶されているキャッシュデータのうち、ＴＴＬが所定の閾値Ｘ（単位は、「秒」）よりも小さいか否かを判定する（ステップＳ９２）。そして、参考例に係るキャッシュサーバは、ＴＴＬが所定の閾値Ｘよりも小さいキャッシュデータが存在する場合に（ステップＳ９２肯定）、かかるキャッシュデータを削除する（ステップＳ９３）。参考例に係るキャッシュサーバは、メモリ部にキャッシュデータが記憶されており（ステップＳ９４肯定）、キャッシュ領域が上限値に達している場合には（ステップＳ９１肯定）、上記ステップＳ９２及びＳ９３における処理手順を行う。
【００４４】
参考例に係るキャッシュサーバは、上記例のようにＴＴＬに基づいてキャッシュデータを削除するので、処理負荷低減への貢献度が低いキャッシュデータよりも先に、処理負荷低減への貢献度が高いキャッシュデータを削除する場合もある。この結果、参考例に係るキャッシュサーバでは、名前解決処理にかかる負荷の増大や、権威サーバ群との間におけるネットワーク帯域の圧迫を招くおそれがあった。
【００４５】
［第１の実施形態に係るキャッシュ制御部によるキャッシュ制御］
そこで、第１の実施形態に係るキャッシュサーバ１００は、キャッシュ制御部１２０による削除処理によって、名前解決処理にかかる負荷や、権威サーバ群との間におけるネットワーク帯域にかかる負荷の低減を実現する。以下、かかるキャッシュ制御部１２０によるキャッシュ制御について説明する。第１の実施形態に係るキャッシュ制御部１２０は、図２に例示したように、監視部１２１と、削除部１２２とを有する。
【００４６】
監視部１２１は、メモリ部１１３の記憶可能領域が所定の上限値に達しているか否かを判定する。具体的には、メモリ部１１３は、削除部１２２によってキャッシュ期間が過ぎたキャッシュデータ（すなわち、ＴＴＬ＝「０」となったキャッシュデータ）が削除されるが、このようなキャッシュデータが削除された場合であっても、記憶可能領域が不足する場合もある。このため、監視部１２１は、新たな回答データが格納できるように、メモリ部１１３の記憶可能領域が所定の上限値に達しているか否かを判定する。
【００４７】
削除部１２２は、監視部１２１によってメモリ部１１３の記憶可能領域が所定の上限値に達していると判定された場合に、メモリ部１１３に記憶されているキャッシュデータ（委任回答、最終回答）のうち、委任回答よりも最終回答を優先的に削除する。
【００４８】
具体的には、削除部１２２は、監視部１２１によってメモリ部１１３の記憶可能領域が所定の上限値に達していると判定された場合に、メモリ部１１３から最終回答に対応するキャッシュデータを抽出し、抽出したキャッシュデータのＴＴＬが所定の閾値α（「０」より大きい値であって、単位は「秒」）よりも小さいか否かを判定する。すなわち、削除部１２２は、最終回答に対応するキャッシュデータがメモリ部１１３に保持される残り時間を示す保持残時間が閾値αよりも小さいか否かを判定する。そして、削除部１２２は、ＴＴＬが閾値αよりも小さい最終回答を削除する。なお、閾値αは、図４に示した閾値Ｘと同値であってもよい。
【００４９】
さらに、監視部１２１は、削除部１２２によって最終回答がメモリ部１１３から削除された後にも、かかるメモリ部１１３の記憶可能領域が所定の上限値に達しているか否かを監視する。そして、削除部１２２は、最終回答が削除されたメモリ部１１３の記憶可能領域が所定の上限値に達している場合には、メモリ部１１３に記憶されている委任回答のうちＴＴＬが所定の閾値β（「０」より大きい値であって、単位は「秒」）よりも小さい委任回答をメモリ部１１３から削除する。
【００５０】
すなわち、キャッシュ制御部１２０は、最初に、ＴＴＬが閾値αよりも小さい最終回答をメモリ部１１３から削除し、その後に、ＴＴＬが閾値βよりも小さい委任回答をメモリ部１１３から削除する。このように、キャッシュ制御部１２０は、委任回答よりも最終回答を優先的に削除する。
【００５１】
ここで、委任回答よりも最終回答を優先的に削除する理由について説明する。図３のステップＳ１０４〜Ｓ１１１を用いて説明したように、キャッシュサーバ１００は、名前解決処理を行う場合に、権威サーバ群２０に対する問い合わせを再帰的に行う。すなわち、キャッシュサーバ１００は、１回の名前解決処理を行う際に、権威サーバ群２０に対して複数回の問い合わせ処理を行うことになる。このため、キャッシュサーバ１００は、キャッシュデータが存在しない場合には、処理負荷の高い再帰的な問い合わせを行うこととなる結果、処理負荷の高い名前解決処理を行うこととなる。
【００５２】
しかし、第１の実施形態に係るキャッシュサーバ１００は、単にＴＴＬに基づいてキャッシュデータを削除するのではなく、委任回答よりも最終回答を優先的に削除する。言い換えれば、キャッシュサーバ１００は、委任回答が極力削除されないようにキャッシュデータの削除処理を行う。ここで、キャッシュサーバ１００は、委任回答がキャッシュデータとして存在する場合には、最終回答の問い合わせ先となる権威サーバ（図３の例では、sample.jp.サーバ２０３）を特定できるので、特定した権威サーバに対して１回だけ問い合わせを行えば最終回答を得ることができる。すなわち、第１の実施形態に係るキャッシュサーバ１００は、委任回答よりも最終回答を優先的に削除することにより、処理負荷の高い再帰的な問い合わせ処理を省略することができる。これにより、第１の実施形態に係るキャッシュサーバ１００は、名前解決処理にかかる負荷やネットワーク帯域にかかる負荷を低減することができる。
【００５３】
［第１の実施形態に係るキャッシュサーバによるキャッシュデータの削除処理手順］
次に、図５を用いて、第１の実施形態に係るキャッシュサーバ１００によるキャッシュデータの削除処理の手順について説明する。図５は、第１の実施形態に係るキャッシュサーバ１００によるキャッシュデータの削除処理手順を示すフローチャートである。
【００５４】
図５に示すように、第１の実施形態に係るキャッシュサーバ１００のキャッシュ制御部１２０は、最終回答削除処理を行った後に（ステップＳ１０）、委任回答削除処理を行う（ステップＳ２０）。キャッシュ制御部１２０は、最終回答削除処理及び委任回答削除処理を繰り返し行う。以下に、図５を用いて、最終回答削除処理手順について説明し、図６を用いて、委任回答削除処理手順について説明する。
【００５５】
図６は、第１の実施形態に係るキャッシュ制御部１２０による最終回答削除処理手順を示すフローチャートである。図６に示すように、監視部１２１は、メモリ部１１３の記憶可能領域が所定の上限値に達しているか否かを判定する（ステップＳ１１）。このとき、記憶可能領域が所定の上限値に達していない場合には（ステップＳ１１否定）、キャッシュ制御部１２０は、最終回答削除処理手順を終了する。
【００５６】
一方、記憶可能領域が所定の上限値に達している場合には（ステップＳ１１肯定）、削除部１２２は、メモリ部１１３からキャッシュデータを抽出し、抽出したキャッシュデータが最終回答であるか否かを判定する（ステップＳ１２）。そして、削除部１２２は、キャッシュデータが最終回答ではなく委任回答である場合には（ステップＳ１２否定）、ステップＳ１５の処理を行う。
【００５７】
一方、削除部１２２は、キャッシュデータが最終回答である場合には（ステップＳ１２肯定）、かかるキャッシュデータのＴＴＬが閾値αよりも小さいか否かを判定する（ステップＳ１３）。すなわち、削除部１２２は、最終回答であるキャッシュデータがメモリ部１１３に保持される残り時間が閾値αよりも小さいか否かを判定する。
【００５８】
そして、削除部１２２は、ＴＴＬが閾値αよりも小さい場合には（ステップＳ１３肯定）、かかるキャッシュデータを削除する（ステップＳ１４）。一方、削除部１２２は、ＴＴＬが閾値αよりも小さくない場合には（ステップＳ１３否定）、かかるキャッシュデータを削除しない。
【００５９】
キャッシュ制御部１２０は、メモリ部１１３から抽出していないキャッシュデータが存在する場合には（ステップＳ１５肯定）、ステップＳ１１〜Ｓ１４における処理手順を行う。一方、キャッシュ制御部１２０は、メモリ部１１３に記憶されている全てのキャッシュデータについてステップＳ１１〜Ｓ１４における処理手順を行った場合には（ステップＳ１５否定）、最終回答削除処理手順を終了する。
【００６０】
図７は、第１の実施形態に係るキャッシュ制御部１２０による委任回答削除処理手順を示すフローチャートである。図７に示すように、監視部１２１は、キャッシュ制御部１２０によって図６に示した最終回答削除処理が行われた後に、削除部１２２によって最終回答が削除されたメモリ部１１３の記憶可能領域が所定の上限値に達しているか否かを判定する（ステップＳ２１）。このとき、記憶可能領域が所定の上限値に達していない場合には（ステップＳ２１否定）、キャッシュ制御部１２０は、委任回答削除処理手順を終了する。
【００６１】
一方、記憶可能領域が所定の上限値に達している場合には（ステップＳ２１肯定）、削除部１２２は、メモリ部１１３からキャッシュデータを抽出し、抽出したキャッシュデータが委任回答であるか否かを判定する（ステップＳ２２）。そして、削除部１２２は、キャッシュデータが委任回答ではなく最終回答である場合には（ステップＳ２２否定）、ステップＳ２５の処理を行う。
【００６２】
一方、削除部１２２は、キャッシュデータが委任回答である場合には（ステップＳ２２肯定）、かかるキャッシュデータのＴＴＬが閾値βよりも小さいか否かを判定する（ステップＳ２３）。すなわち、削除部１２２は、委任回答であるキャッシュデータがメモリ部１１３に保持される残り時間が閾値βよりも小さいか否かを判定する。
【００６３】
そして、削除部１２２は、ＴＴＬが閾値βよりも小さい場合には（ステップＳ２３肯定）、かかるキャッシュデータを削除する（ステップＳ２４）。一方、削除部１２２は、ＴＴＬが閾値βよりも小さくない場合には（ステップＳ２３否定）、かかるキャッシュデータを削除しない。
【００６４】
キャッシュ制御部１２０は、メモリ部１１３から抽出していないキャッシュデータが存在する場合には（ステップＳ２５肯定）、ステップＳ２１〜Ｓ２４における処理手順を行う。一方、キャッシュ制御部１２０は、メモリ部１１３に記憶されている全てのキャッシュデータについてステップＳ２１〜Ｓ２４における処理手順を行った場合には（ステップＳ２５否定）、委任回答削除処理手順を終了する。
【００６５】
［第１の実施形態に係るキャッシュサーバによる名前解決処理］
次に、図８を用いて、第１の実施形態に係る名前解決システム１による名前解決処理について説明する。図８は、第１の実施形態に係る名前解決システム１による名前解決処理の一例を示すシーケンス図である。なお、図８では、メモリ部１１３に最終回答が記憶されておらず、委任回答が記憶されているケースについて説明する。具体的には、図７に示した例では、図３に示したステップＳ１０１〜Ｓ１１２における処理が行われたことでメモリ部１１３の記憶可能領域が上限値に達し、キャッシュ制御部１２０によってステップＳ１１３において格納された最終回答のみが削除されたものとする。その他の状況は、図３に示した例と同様である。
【００６６】
図８に示すように、クライアント装置１０は、キャッシュサーバ１００の応答部１１１に対して、「aaa.sample.jp」のＡレコードを問い合わせる名前解決の依頼を行う（ステップＳ２０１）。名前解決の依頼を受け付けた応答部１１１は、依頼された名前解決に対応する最終回答や委任回答が記憶されているかをメモリ部１１３に問い合わせる（ステップＳ２０２）。具体的には、応答部１１１は、メモリ部１１３に記憶されている回答識別情報に基づいて、最終回答や委任回答が記憶されているか否かを判定する。
【００６７】
ここでは、メモリ部１１３は、かかる名前解決に対応する最終回答を記憶していないものの、委任回答を記憶している。したがって、応答部１１１は、メモリ部１１３から委任回答を取得し、取得した委任回答に基づいて、最終回答の問い合わせ先となる権威サーバとしてsample.jp.サーバ２０３を特定する。そして、応答部１１１は、問い合わせ先の権威サーバがsample.jp.サーバ２０３であることを示す情報とともに、名前解決の依頼内容を要求部１１２に転送する（ステップＳ２０３）。
【００６８】
そして、要求部１１２は、応答部１１１から名前解決の依頼内容が転送された場合に、sample.jp.サーバ２０３に「aaa.sample.jp」のＡレコードを問い合わせる（ステップＳ２０４）。すなわち、要求部１１２は、応答部１１１から問い合わせ先としてsample.jp.サーバ２０３が指定されているので、ルートサーバ２０１やjp.サーバ２０２には問い合わせを行わない。
【００６９】
「aaa.sample.jp」のＡレコードの問い合わせを受け付けたsample.jp.サーバ２０３は、「aaa.sample.jp」のＡレコード「aaa.sample.jp  IN  A  192.168.100.1」とＴＴＬとを含む最終回答を要求部１１２に返信する（ステップＳ２０５）。
【００７０】
そして、要求部１１２は、sample.jp.サーバ２０３から受信した最終回答（Ａレコード、ＡレコードのＴＴＬ）と、最終回答であることを示す回答識別情報とをメモリ部１１３にキャッシュする（ステップＳ２０６）。また、要求部１１２は、かかる最終回答（Ａレコード）を応答部１１１に転送する（ステップＳ２０７）。応答部１１１は、要求部１１２から転送された最終回答（Ａレコード）をクライアント装置１０に送信する（ステップＳ２０８）。
【００７１】
このように、キャッシュサーバ１００は、最終回答がキャッシュデータとして存在しなくても、委任回答がキャッシュデータとして存在する場合には、処理負荷の高い再帰的な問い合わせ処理を省略することができる。具体的には、キャッシュサーバ１００は、図３に示したステップＳ１０４〜Ｓ１０９における負荷の高い処理を省略することができる。この結果、キャッシュサーバ１００は、名前解決処理にかかる負荷やネットワーク帯域にかかる負荷を低減することができる。
【００７２】
［第１の実施形態の効果］
上述してきたように、第１の実施形態に係るキャッシュサーバ１００は、要求部１１２と、メモリ部１１３と、監視部１２１と、削除部１２２とを有する。要求部１１２は、名前解決の問い合わせを権威サーバ群２０に要求する。メモリ部１１３は、要求部１１２による要求に応じて権威サーバ群２０から受信した回答として、名前解決を他の権威サーバに問い合わせる旨の回答内容を示す委任回答と、名前解決の問い合わせに対する解決結果を示す最終回答とをキャッシュデータとして記憶する。監視部１２１は、メモリ部１１３に記憶可能な空き領域である記憶可能領域が所定の上限値に達しているか否かを監視する。削除部１２２は、メモリ部１１３の記憶可能領域が所定の上限値に達している場合に、委任回答よりも最終回答を優先的にメモリ部１１３から削除する。
【００７３】
これにより、第１の実施形態に係るキャッシュサーバ１００は、委任回答をメモリ部１１３に極力保持させることで、処理負荷の高い再帰的な問い合わせ処理を省略することができる。この結果、第１の実施形態に係るキャッシュサーバ１００は、名前解決処理にかかる負荷を低減できるとともに、権威サーバ群２０との間におけるネットワーク帯域にかかる負荷を低減することができる。
【００７４】
また、第１の実施形態に係るキャッシュサーバ１００において、メモリ部１１３は、権威サーバ群２０から受信した回答データ毎に、かかる回答データを保持する残り時間を示すＴＴＬを記憶する。また、削除部１２２は、メモリ部１１３の記憶可能領域が所定の上限値に達している場合に、ＴＴＬが所定の閾値αよりも小さい最終回答をメモリ部１１３から削除する。
【００７５】
これにより、第１の実施形態に係るキャッシュサーバ１００は、ＴＴＬが「０」でない最終回答を削除する際に、近い将来（現時点から、閾値αによって示される時間が経過するまでの間）に削除される最終回答を削除することができる。この結果、キャッシュサーバ１００は、ＴＴＬが「０」となったキャッシュデータを削除する処理と同等の処理を行うとともに、名前解決処理にかかる負荷やネットワーク帯域にかかる負荷を低減することができる。
【００７６】
また、第１の実施形態に係るキャッシュサーバ１００において、監視部１２１は、削除部１２２によって最終回答が優先的に削除されたメモリ部１１３の記憶可能領域が所定の上限値に達しているか否かを監視する。また、削除部１２２は、最終回答が優先的に削除されたメモリ部１１３の記憶可能領域が所定の上限値に達している場合に、ＴＴＬが所定の閾値βよりも小さい委任回答をメモリ部１１３から削除する。
【００７７】
これにより、第１の実施形態に係るキャッシュサーバ１００は、最終回答を優先的に削除したメモリ部１１３の記憶可能領域が不足している場合には、近い将来に削除される委任回答を削除することで、メモリ部１１３の記憶可能領域を確保することができる。
【００７８】
また、第１の実施形態に係るキャッシュサーバ１００において、応答部１１１は、クライアント装置１０から名前解決の依頼を受け付けた場合に、かかる名前解決に対応する委任回答又は最終回答がメモリ部１１３に記憶されているか否かを判定する。また、要求部１１２は、応答部１１１によって名前解決に対応する最終回答が記憶されておらず委任回答がメモリ部１１３に記憶されていると判定された場合には、かかる委任回答を用いて、名前解決の問い合わせ先とする権威サーバを決定する。
【００７９】
これにより、第１の実施形態に係るキャッシュサーバ１００は、メモリ部１１３に極力保持させた委任回答を用いることで、処理負荷の高い再帰的な問い合わせ処理を省略することができる。この結果、第１の実施形態に係るキャッシュサーバ１００は、名前解決処理にかかる負荷やネットワーク帯域にかかる負荷を低減することができる。
【００８０】
（第２の実施形態）
上述したキャッシュサーバ１００は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、第２の実施形態では、上記のキャッシュサーバ１００の他の実施形態について説明する。
【００８１】
［最終回答削除処理］
上記第１の実施形態では、図６を用いて説明したように、削除部１２２が、ＴＴＬが閾値αよりも小さい最終回答をメモリ部１１３から削除する例について説明した。しかし、削除部１２２は、ＴＴＬが閾値αよりも小さい最終回答のうち、ＴＴＬが０に近い順に最終回答を削除してもよい。そして、監視部１２１は、削除部１２２によって、ＴＴＬが０に近い順に、１つの最終回答が削除されるたびに、ステップＳ１１における監視処理を行ってもよい。これにより、キャッシュサーバ１００は、ＴＴＬが「０」となったキャッシュデータを削除する処理と同等の処理を行うことができる。
【００８２】
［委任回答削除処理］
また、上記第１の実施形態では、図７を用いて説明したように、削除部１２２が、ＴＴＬが閾値βよりも小さい委任回答をメモリ部１１３から削除する例について説明した。しかし、削除部１２２は、ＴＴＬが閾値βよりも小さい委任回答のうち、ＴＴＬが０に近い順に委任回答を削除してもよい。そして、監視部１２１は、削除部１２２によって、ＴＴＬが０に近い順に、１つの委任回答が削除されるたびに、ステップＳ２１における監視処理を行ってもよい。これにより、キャッシュサーバ１００は、ＴＴＬが「０」となったキャッシュデータを削除する処理と同等の処理を行うことができる。
【００８３】
［回答識別情報］
また、上記第１の実施形態では、要求部１１２が、委任回答又は最終回答とともに回答識別情報をメモリ部１１３に格納する例を示した。ここで、要求部１１２は、最終回答を受信した場合には、かかる最終回答と回答識別情報とをメモリ部１１３に格納し、委任回答を受信した場合には、かかる委任回答のみをメモリ部１１３に格納してもよい。また、その逆に、要求部１１２は、最終回答を受信した場合には、かかる最終回答のみをメモリ部１１３に格納し、委任回答を受信した場合には、かかる委任回答と回答識別情報とをメモリ部１１３に格納してもよい。このように、キャッシュサーバ１００は、委任回答又は最終回答のいずれか一方のみに回答識別情報を割り当てる場合であっても、メモリ部１１３に記憶されているキャッシュデータが委任回答又は最終回答のいずれであるかを判別できる。
【００８４】
［問い合わせ内容］
また、上記第１の実施形態では、クライアント装置１０が、キャッシュサーバ１００に対して、Ａレコードを問い合わせる名前解決の依頼を行う例について説明した。しかし、クライアント装置１０が問い合わせる名前解決の依頼は、Ａレコードに限られない。例えば、クライアント装置１０は、メールサーバの名前解決を依頼する場合には、キャッシュサーバ１００に対して、ＭＸレコードを問い合わせる名前解決の依頼を行ってもよい。
【００８５】
［システム構成］
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、図３及び図８に示したＮＳレコード、ｇｌｕｅレコード及びＡレコードは一例であって任意に変更することができる。
【００８６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示した監視部１２１と削除部１２２とは統合されてもよい。
【００８７】
［プログラム］
また、上記実施形態において説明したキャッシュサーバ１００が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、キャッシュサーバ１００が実行する処理をコンピュータが実行可能な言語で記述したキャッシュ制御プログラムを作成することもできる。この場合、コンピュータがキャッシュ制御プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるキャッシュ制御プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたキャッシュ制御プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、図２に示したキャッシュサーバ１００と同様の機能を実現するキャッシュ制御プログラムを実行するコンピュータの一例を説明する。
【００８８】
図９は、キャッシュ制御プログラムを実行するコンピュータ１０００を示す図である。図９に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００８９】
メモリ１０１０は、図９に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図９に例示するように、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、図９に例示するように、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１０４１に挿入される。シリアルポートインタフェース１０５０は、図９に例示するように、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、図９に例示するように、例えばディスプレイ１０６１に接続される。
【００９０】
ここで、図９に例示するように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記のキャッシュ制御プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０３１に記憶される。例えば、図２に例示した応答部１１１と同様の情報処理を実行する応答手順と、要求部１１２と同様の情報処理を実行する要求手順と、監視部１２１と同様の情報処理を実行する監視手順と、削除部１２２と同様の情報処理を実行する削除手順とが記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００９１】
また、上記第１の実施形態で説明したメモリ部１１３が保持する各種データは、プログラムデータとして、例えばメモリ１０１０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、応答手順、要求手順、監視手順、削除手順を実行する。
【００９２】
なお、キャッシュ制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、キャッシュ制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００９３】
１  名前解決システム  
１０  クライアント装置
２０  権威サーバ群
１００  キャッシュサーバ
１１１  応答部
１１２  要求部
１１３  メモリ部
１２０  キャッシュ制御部
１２１  監視部
１２２  削除部
【図１】
2013179496.tif 000003
【図２】
2013179496.tif 000004
【図３】
2013179496.tif 000005
【図４】
2013179496.tif 000006
【図５】
2013179496.tif 000007
【図６】
2013179496.tif 000008
【図７】
2013179496.tif 000009
【図８】
2013179496.tif 000010
【図９】
2013179496.tif 000011