(57)【要約】【課題】ＤＮＳリゾルバにおけるキャッシュに対し、最適な優先度情報を与えること。【解決手段】本発明は、サーバ装置に名前解決要求を送信する要求送信手段と、名前解決要求の送信時刻を記憶する送信時刻記憶手段と、サーバ装置から名前解決応答を受信する応答受信手段と、名前解決応答の受信時刻を記憶する受信時刻記憶手段と、送信時刻と受信時刻から応答時間を算出する応答時間算出手段と、名前解決応答と応答時間とを記憶し、新たな名前解決応答を記憶しようとする際に容量に空きがない場合、最も短い応答時間に対応する名前解決応答を消去してから新たな名前解決応答を記憶する一時記憶手段と、名前解決要求に対応する名前解決応答が一時記憶手段に記憶されているか検索する検索手段と、検索手段により名前解決応答が検索された場合、検索された名前解決応答の少なくとも一部を出力する応答出力手段とを有するクライアント装置を提供する。【選択図】図２
2007214671.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたサーバ装置に、名前解決要求を送信する要求送信手段と、
前記要求送信手段により名前解決要求が送信された時刻である送信時刻を記憶する送信時刻記憶手段と、
前記サーバ装置から、前記名前解決要求に対する名前解決応答を受信する応答受信手段と、
前記応答受信手段により名前解決応答が受信された時刻である受信時刻を記憶する受信時刻記憶手段と、
前記送信時刻記憶手段に記憶された送信時刻と、前記受信時刻記憶手段に記憶された受信時刻とに基づいて、前記名前解決要求に対する名前解決応答を取得するのに要した応答時間を算出する応答時間算出手段と、
ある容量を有し、前記応答受信手段により受信された名前解決応答の少なくとも一部と、その名前解決応答を取得するのに要した応答時間とを記憶する一時記憶手段であって、新たな名前解決応答を記憶しようとする際に前記容量に空きがない場合、最も短い応答時間に対応する名前解決応答を消去してから前記新たな名前解決応答の少なくとも一部を記憶する一時記憶手段と、
前記要求送信手段により名前解決要求が送信される前に、その名前解決要求に対応する名前解決応答の少なくとも一部が前記一時記憶手段に記憶されているか検索する検索手段と、
前記検索手段により前記名前解決要求に対応する名前解決応答の少なくとも一部が検索された場合、検索された名前解決応答の少なくとも一部を出力する応答出力手段と
を有するクライアント装置。
【請求項２】
クライアント装置を、
ネットワークを介して接続されたサーバ装置に、名前解決要求を送信する要求送信手段と、
前記要求送信手段により名前解決要求が送信された時刻である送信時刻を記憶する送信時刻記憶手段と、
前記サーバ装置から、前記名前解決要求に対する名前解決応答を受信する応答受信手段と、
前記応答受信手段により名前解決応答が受信された時刻である受信時刻を記憶する受信時刻記憶手段と、
前記送信時刻記憶手段に記憶された送信時刻と、前記受信時刻記憶手段に記憶された受信時刻とに基づいて、前記名前解決要求に対する名前解決応答を取得するのに要した応答時間を算出する応答時間算出手段と、
ある容量を有し、前記応答受信手段により受信された名前解決応答の少なくとも一部と、その名前解決応答を取得するのに要した応答時間とを記憶する一時記憶手段であって、新たな名前解決応答を記憶しようとする際に前記容量に空きがない場合、最も短い応答時間に対応する名前解決応答を消去してから前記新たな名前解決応答の少なくとも一部を記憶する一時記憶手段と、
前記要求送信手段により名前解決要求が送信される前に、その名前解決要求に対応する名前解決応答の少なくとも一部が前記一時記憶手段に記憶されているか検索する検索手段と、
前記検索手段により前記名前解決要求に対応する名前解決応答の少なくとも一部が検索された場合、検索された名前解決応答の少なくとも一部を出力する応答出力手段と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＮＳ（Domain Name Server）リゾルバにおいてキャッシュの優先度情報を提供する技術に関する。
【背景技術】
【０００２】
インターネットにおいて、そこに接続されている全てのホスト（コンピュータ装置）には、ＩＰ（Internet Protocol）アドレスが割り当てられている。しかし、ＩＰアドレスは単なる数字の羅列であるため、人間が取り扱うには不便である。そこで、各ホストには、「www.epson.co.jp」というように、人間が取り扱うのに便利なホスト名（ドメイン名）が割り当てられている。人間が入力したホスト名に従って所望のホストと通信を行うには、ホスト名をＩＰアドレスに変換する必要がある。ＤＮＳ（ネームサーバあるいはＤＮＳサーバと呼ばれることもある）は、ホスト名とＩＰアドレスの相互変換を行うためのデータベースを有する装置である。また、ＤＮＳに対しホスト名からＩＰアドレスへの変換、あるいはその逆を依頼するための、クライアントにおけるプログラムをＤＮＳリゾルバあるいは単にリゾルバという。ＩＰアドレスやホスト名を必要とする場合、アプリケーションソフトは、リゾルバを介してＤＮＳに問い合わせを行う。このようにしてホスト名とＩＰアドレスの相互変換を行うことを、「名前解決」という。
【０００３】
ネットワークのトラフィックを抑制するため、あるいは、処理負荷を削減するため、リゾルバにキャッシュを設けることがある（非特許文献１参照）。キャッシュとは、使用頻度の高いデータを記憶装置に蓄えておくことにより、ネットワークを介してそのデータを再度読み出す無駄を省いて高速化すること、また、その際に使われる記憶装置をいう。キャッシュを用いることにより、リゾルバは、以前問い合わせた内容と同一の問い合わせが発生した場合には、ネットワークを介してＤＮＳに問い合わせを行うことなく、名前解決をすることができる。
【０００４】
リゾルバにキャッシュを実装するには、その容量に見合うメモリなど物理的なリソースが必要である。汎用のＰＣ（Personal Computer）に比べて物理的なリソースが少ない組み込み機器では、キャッシュの実装に必要なリソースを確保できない場合が多い。また、ＰＣにおいても、キャッシュの容量を大きくし過ぎると、その分キャッシュ検索量も増えてしまう。すなわち、結果的に処理負荷が増大してしまうことになる。
【非特許文献１】「ＤＮＳ導入に向けての予備知識」、［online］、［平成１８年１月１６日検索］、インターネット＜URL：http://www.atmarkit.co.jp/fnetwork/rensai/dns03/dns02.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
以上の理由から、キャッシュ容量には、制限が設けられることが多い。キャッシュ残量が無くなった場合、優先度の低い情報は削除される。この際に用いることができる優先度情報は、ＴＴＬ（Time To Live、有効時間）しかない。ＴＴＬは、あるホストから送信されるパケットの有効時間を示す値である。ＴＴＬは、送信元のホストにより指定される値を有する。したがって、ＴＴＬは、リゾルバ（クライアント装置）にとって必ずしも最適な優先度情報ではないという問題があった。
【０００６】
本発明は、リゾルバにおけるキャッシュに対し、最適な優先度情報を与える技術を提供する。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明は、ネットワークを介して接続されたサーバ装置に、名前解決要求を送信する要求送信手段と、前記要求送信手段により名前解決要求が送信された時刻である送信時刻を記憶する送信時刻記憶手段と、前記サーバ装置から、前記名前解決要求に対する名前解決応答を受信する応答受信手段と、前記応答受信手段により名前解決応答が受信された時刻である受信時刻を記憶する受信時刻記憶手段と、前記送信時刻記憶手段に記憶された送信時刻と、前記受信時刻記憶手段に記憶された受信時刻とに基づいて、前記名前解決要求に対する名前解決応答を取得するのに要した応答時間を算出する応答時間算出手段と、ある容量を有し、前記応答受信手段により受信された名前解決応答の少なくとも一部と、その名前解決応答を取得するのに要した応答時間とを記憶する一時記憶手段であって、新たな名前解決応答を記憶しようとする際に前記容量に空きがない場合、最も短い応答時間に対応する名前解決応答を消去してから前記新たな名前解決応答の少なくとも一部を記憶する一時記憶手段と、前記要求送信手段により名前解決要求が送信される前に、その名前解決要求に対応する名前解決応答の少なくとも一部が前記一時記憶手段に記憶されているか検索する検索手段と、前記検索手段により前記名前解決要求に対応する名前解決応答の少なくとも一部が検索された場合、検索された名前解決応答の少なくとも一部を出力する応答出力手段とを有するクライアント装置を提供する。
このクライアント装置によれば、一時記憶手段に記憶された情報は、容量に空きがないときは、応答時間の短いものから順に消去される。したがって、取得に長時間を要する情報を優先的に一時記憶手段に残しておくことができる。
【０００８】
また、本発明は、クライアント装置に上述の機能を実現するプログラムを提供する。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明の一実施形態に係る名前解決システム１の構成を示す図である。ルータ１００は、ＰＣ（Personal Computer）２００を含むローカルネットワークと、インターネット３００とを相互接続するクライアント装置である。なお、図１においては図面が煩雑となるのを避けるため、ローカルネットワークを構成する装置としてＰＣ２００のみを図示したが、ローカルネットワークはこれ以外の装置を含んでもよい。ＰＣ２００は、汎用のルータ１００を介してインターネット３００に接続する機能を有するコンピュータ装置である。ＰＣ２００は、インターネット３００に接続された装置との間でデータを送受信することができる。
【００１０】
ＤＮＳサーバ４００は、名前解決を行うためのサーバ装置である。ＤＮＳサーバ４００は、ＩＰアドレスとホスト名とを相互変換するためのデータベースを記憶している。ＤＮＳサーバ４００は、インターネット３００に接続されている。名前解決処理において、ルータ１００はクライアント装置として機能する。インターネット３００を介してルータ１００から名前解決要求を受信すると、ＤＮＳサーバ４００は、データベースを参照して名前解決応答を生成する。ＤＮＳサーバ４００は、生成した名前解決応答を、名前解決要求の送信元であるルータ１００に送信する。以下の説明において、「サーバ装置」とは、ネットワークを介して他の装置と接続された装置であって、他の装置から送信された要求に対して応答を返信する装置をいう。また、「クライアント装置」とは、ネットワークを介してサーバ装置に接続された装置であって、サーバ装置に対して要求を送信する装置をいう。さらに、以下ではネットワークの例としてインターネット３００を用いるが、ネットワークは、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等、インターネット以外のネットワークであってもよい。
【００１１】
図２は、ルータ１００の機能構成を示すブロック図である。計時部Ｔは、時刻を計測する機能を有する内部時計である。要求入力部１０８は、ＰＣ２００から名前解決要求を受信する。検索部１０５は、一時記憶部１０６に、その名前解決要求に対応する名前解決応答（の少なくとも一部）が記憶されているか検索する。一時記憶部１０６は、ある容量を有するキャッシュメモリである。一時記憶部１０６は、過去の名前解決要求、それに対応する名前解決応答、その優先度情報を記憶している。その名前解決要求に対応する名前解決応答が記憶されていた場合、一時記憶部１０６は、その記憶内容に基づいて名前解決応答を出力する。
【００１２】
その名前解決要求に対応する名前解決応答が記憶されていない場合、要求送信部１０２は、名前解決要求をＤＮＳサーバ４００に送信する。送信時刻記憶部１０１は、計時部Ｔから、名前解決要求の送信時刻を取得する。送信時刻記憶部１０１は、取得した送信時刻を記憶する。
【００１３】
応答受信部１０３は、ＤＮＳサーバ４００から名前解決応答を受信する。応答出力部１０９は、受信した名前解決応答をＰＣ２００に出力する。受信時刻記憶部１０４は、計時部Ｔから、名前解決応答の受信時刻を取得する。受信時刻記憶部１０４は、取得した受信時刻を記憶する。
【００１４】
応答時間算出部１０７は、送信時刻および受信時刻に基づいて、名前解決要求に対する名前解決応答を受信するのに要した応答時間を算出する。一時記憶部１０６は、受信した名前解決応答を記憶する。一時記憶部１０６は、その名前解決応答を受信するのに要した応答時間を、その名前解決応答の優先度情報として記憶する。
【００１５】
図３は、ルータ１００のハードウェア構成を示すブロック図である。ＣＰＵ１１０は、ルータ１００の各構成要素を制御する制御装置である。ＲＯＭ（Read Only Memory）１２０は、ルータ１００の起動に必要な起動プログラムや、名前解決処理を行う名前解決プログラム（リゾルバ）を記憶する記憶装置である。ＣＰＵ１１０が名前解決プログラムを実行することにより、ルータ１００は、図２に示される機能構成を具備する。ＲＡＭ（Random Access Memory）１３０は、ＣＰＵ１１０の作業領域として機能する記憶装置である。ＮＶＲＡＭ（Non-Volatile Random Access Memory）１４０は、ルータ１００の動作を規定する設定ファイルなど記憶する不揮発性の記憶装置である。また、ＮＶＲＡＭ１４０は、名前解決応答を一時記憶するキャッシュメモリとして機能する。ネットワークＩＦ１５０は、ローカルネットワークとの間でデータの送受信を行うインターフェースである。ネットワークＩＦ１６０は、インターネット３００との間でデータの送受信を行うインターフェースである。計時部Ｔは、時刻を計測する。計時部Ｔは、ＣＰＵ１１０の制御下で、時刻を出力する。以上で説明した各構成要素は、バス１９０により相互に接続されている。
【００１６】
図４は、ルータ１００の動作を示すフローチャートである。ステップＳ１００において、ルータ１００は、ＰＣ２００から名前解決要求を、ネットワークＩＦ１５０を介して受信する。名前解決要求は、名前解決の対象となる情報を含んでいる。例えば、名前解決要求は、その名前解決要求がホスト名をＩＰアドレスに変換する要求であることを示す識別子と、「ｗｗｗ．ａａａ．ｃｏｍ」というホスト名と、名前解決に用いるサーバ装置（ここではＤＮＳサーバ４００）を特定するＩＰアドレスとを含んでいる。
【００１７】
次に、ステップＳ１０１において、ルータ１００のＣＰＵ１１０は、キャッシュメモリ（ＮＶＲＡＭ１４０）に、処理対象の名前解決要求に対応する名前解決応答が記憶されているか判断する。本実施形態において、キャッシュメモリにはまだ何のデータも記憶されていない。したがってＣＰＵ１１０は、キャッシュメモリに、処理対象の名前解決要求に対応する名前解決応答が記憶されていないと判断する（ステップＳ１０１：ＮＯ）。処理対象の名前解決要求に対応する名前解決応答が記憶されていないと判断した場合、ＣＰＵ１１０は、処理をステップＳ１０２に移行する。ステップＳ１０２において、ＣＰＵ１１０は、ネットワークＩＦ１６０およびインターネット３００を介して、名前解決要求をＤＮＳサーバ４００に送信する。ＤＮＳサーバ４００に送信される名前解決要求は、送信元であるルータ１００を特定する情報を含んでいる。また、ＣＰＵ１１０は、名前解決要求を送信した時刻である送信時刻を、計時部Ｔから取得する。ＣＰＵ１１０は、送信時刻を、対応する名前解決要求と共にＲＡＭ１３０に記憶する。
【００１８】
ＤＮＳサーバ４００は、ホスト名と、ＩＰアドレスとを対応付けて記憶したデータベースを記憶している。名前解決要求を受信すると、ＤＮＳサーバ４００は、データベースから、名前解決要求により要求されている情報を検索する。ここでは、名前解決要求は「ホスト名をＩＰアドレスに変換する要求」であり、処理対象のホスト名として「ｗｗｗ．ａａａ．ｃｏｍ」を含んでいる。ＤＮＳサーバ４００は、データベースから、ホスト名「ｗｗｗ．ａａａ．ｃｏｍ」に対応するＩＰアドレスを検索する。ＤＮＳサーバ４００は、ホスト名「ｗｗｗ．ａａａ．ｃｏｍ」に対応するＩＰアドレスとして、データベースから、ＩＰアドレス「１１１．２２２．３３．４４」を検出する。ＤＮＳサーバ４００は、検出したＩＰアドレスを含む名前解決応答を生成する。ＤＮＳサーバ４００は、生成した名前解決応答を、名前解決要求の送信元であるルータ１００に送信する。ＤＮＳサーバ４００から送信される名前解決応答は、送信先であるルータ１００を特定する情報を含んでいる。ルータ１００は、名前解決要求の元々の要求元であるＰＣ２００と、名前解決応答を対応させる情報を記憶している。
【００１９】
次に、ステップＳ１０３において、ルータ１００は、名前解決応答を受信する。ルータ１００のＣＰＵ１１０は、受信した名前解決応答をＲＡＭ１３０に記憶する。また、ＣＰＵ１１０は、名前解決応答を受信した時刻である受信時刻を、計時部Ｔから取得する。ＣＰＵ１１０は、名前解決応答と共に、受信時刻をＲＡＭ１３０に記憶する。
【００２０】
次に、ステップＳ１０４において、ＣＰＵ１１０は、名前解決応答を受信するのに要した時間である応答時間を算出する。すなわち、ＣＰＵ１１０は、受信時刻から送信時刻を減算し、応答時間を算出する。ＣＰＵ１１０は、算出した応答時間をＲＡＭ１３０に記憶する。
【００２１】
次に、ステップＳ１０５において、ＣＰＵ１１０は、キャッシュの容量に空きがあるか判断する。本実施形態において、キャッシュにはまだ何のデータも記憶されていない。したがって、ＣＰＵ１１０は、キャッシュに空きがあると判断する（ステップＳ１０５：ＹＥＳ）。キャッシュに空きがあると判断すると、ＣＰＵ１１０は、処理をステップＳ１０７に移行する。
【００２２】
ステップＳ１０７において、ＣＰＵ１１０は、データをキャッシュに追加する。詳細には以下のとおりである。ＣＰＵ１１０は、名前解決応答から、処理対象のホスト名およびＩＰアドレスを抽出する。ＣＰＵ１１０は、抽出したホスト名およびＩＰアドレスと、ステップＳ１０４において算出された応答時間とを含むデータセットをキャッシュに記憶する。なお、ＣＰＵ１１０は、名前解決要求からホスト名を抽出し、名前解決応答からＩＰアドレスを抽出してもよい。ＩＰアドレスをホスト名に変換する名前解決処理の場合はこの逆である。
【００２３】
次に、ステップＳ１０８において、ＣＰＵ１１０は、ＤＮＳサーバ４００から受信した名前解決応答を、ＰＣ２００に出力する。ＰＣ２００は、こうして処理対象のホスト名に対するＩＰアドレスを取得することができる。異なる処理対象ホスト名に対し以上で説明した処理を行うことにより、キャッシュには、ホスト名、ＩＰアドレス、および応答時間を含むデータセットが複数記憶される。キャッシュの容量が満たされるまでは、受信した全ての名前解決応答に関する情報がキャッシュに記憶される。
【００２４】
図５は、キャッシュの記憶内容を例示する図である。キャッシュは、複数のデータセットを含むテーブルを記憶している。各データセットは、ホスト名、ＩＰアドレス、および応答時間を含む。
【００２５】
再び図４を参照して説明する。キャッシュには、図５に示されるデータセットが複数記憶されている。キャッシュの容量は満たされている。以下、この状態で、新たな名前解決要求が送られてきた場合にについて説明する。ステップＳ１００において、ルータ１００は、ＰＣ２００から名前解決要求を、ネットワークＩＦ１５０を介して受信する。例えば、名前解決要求は、処理対象のホスト名「ｗｗｗ．ａａａ．ｃｏｍ」を含んでいる。
【００２６】
ステップＳ１０１において、ＣＰＵ１１０は、キャッシュに、処理対象の名前解決要求に対応する名前解決応答が記憶されているか判断する。すなわち、ＣＰＵ１１０は、図５に示されるテーブルに、処理対象のホスト名「ｗｗｗ．ａａａ．ｃｏｍ」が含まれているか判断する。図５に示されるように、キャッシュには処理対象のホスト名に関するデータが記憶されている（ステップＳ１０１：ＹＥＳ）。ＣＰＵ１１０は、キャッシュから、処理対象のホスト名に対応するＩＰアドレスを抽出する。ＣＰＵ１１０は、抽出したＩＰアドレスを含む名前解決応答を生成する。ステップＳ１０９において、ＣＰＵ１１０は、生成した名前解決応答をＰＣ２００に出力する。ＰＣ２００は、こうして処理対象のホスト名に対するＩＰアドレスを取得することができる。この際、ルータ１００は、ＤＮＳサーバ４００との間でデータの送受信を行うことなく、処理対象のホスト名に対するＩＰアドレスを取得することができる。したがって、ネットワークの負荷を低減することができる。また、名前解決応答を高速に取得することができる。
【００２７】
次に、この状態で、ステップＳ１００において、対応するデータがキャッシュに記憶されていない名前解決要求が入力された場合の動作について説明する。対応するデータが記憶されていないので、ルータ１００のＣＰＵ１１０は、ステップＳ１０２〜Ｓ１０４の処理を実行する。ステップＳ１０５において、ＣＰＵ１１０は、キャッシュには空きがないと判断する（ステップＳ１０５：ＮＯ）。キャッシュに空きがないと判断すると、ＣＰＵ１１０は、処理をステップＳ１０６に移行する。
【００２８】
ステップＳ１０６において、ＣＰＵ１１０は、キャッシュに記憶されているデータセットのうち、最も優先度の低いデータセットを消去する。ここで、優先度情報として、応答時間が用いられる。応答時間が長いほど優先度が高く、応答時間が短いほど優先度が低い。図５に示される例では、最短の応答時間「０．５ｍｓｅｃ」を含むデータセット（「１１１．２２２．３３．４４」、「ｗｗｗ．ａａａ．ｃｏｍ」、および「０．５ｍｓｅｃ」を含むデータセット）が消去される。優先度が低いデータセットが消去されることにより、キャッシュの容量に空きが生じる。ステップＳ１０７において、ＣＰＵ１１０は、キャッシュの空き領域に処理対象の名前解決応答に関するデータを記憶する。
【００２９】
従来、キャッシュに記憶されたデータを消去する際の優先度情報としては、ＴＴＬが用いられてきた。ＴＴＬは、データの有効時間を示す情報である。ＴＴＬは、データの送信元であるホスト（本実施形態においてはＤＮＳサーバ４００）により指定される値を有する。したがって、クライアント装置（本実施形態においてはルータ１００）の環境などは考慮されない。キャッシュのデータのうち、ＴＴＬが最も短いデータを消去すると、応答時間の長いデータが消去されてしまうおそれがある。すなわち、消去されたデータを、インターネット３００を介して再取得するには長時間を要する。これにより名前解決システム１全体のパフォーマンスが低下してしまうという問題が生じる。
【００３０】
しかし、本実施形態によれば、キャッシュのデータは、応答時間に基づいて消去される。短い応答時間に対応するデータは、再取得に要する時間が短いことが期待されるため、名前解決システム１全体のパフォーマンスが低下するおそれが少ない。このように、本実施形態によれば、クライアント装置にとって最適なデータを記憶したキャッシュが提供される。
【００３１】
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。
ルータ１００（クライアント装置）のハードウェア構成は、図３に示されるものに限定されない。図２に示される機能構成を実現できるものであれば、どのようなハードウェア構成であってもよい。例えば、クライアント装置は、図２に示される各機能構成要素に相当する電子回路を有してもよい。なお、クライアント装置は、計時部Ｔを有さなくてもよい。この場合、クライアント装置は、ＰＣ２００等の内部時計を有する他の装置から、時刻を取得してもよい。
【００３２】
また、クライアント装置の動作フローは、図４に示されるものに限定されない。例えば、ステップＳ１０４における応答時間の算出は、データをキャッシュに追加する処理（ステップＳ１０７）の直前に行ってもよい。
【００３３】
また、上述の実施形態においては、ホスト名をＩＰアドレスに変換する処理を例にとり説明したが、本発明は、ＩＰアドレスをホスト名に変換する処理に対しても適用が可能である。
【００３４】
上述の実施形態においては、クライアント装置の例としてルータを用いて説明を行った。しかし本発明は、ルータ以外のいかなる種類のクライアント装置にも適用が可能である。なお、本発明は、リソースに物理的な制限がある、いわゆる組み込み機器に対して特に好適である。また、本発明の対象となるクライアント装置は、上述の実施形態で説明したルータ１００とＰＣ２００の双方の機能を有してもよい。例えば、インターネットなどのネットワークに接続する機能を有する携帯電話機やネットワーク端末など、名前解決を要求する装置に対して本発明を適用してもよい。
【００３５】
図６は、他の実施形態に係る携帯電話機５００の構成を示すブロック図である。図６において、図３のルータ１００と共通する構成要素には、共通の参照番号を付与している。携帯電話機５００は、図１におけるルータ１００とＰＣ２００の機能を兼ね備えたクライアント装置である。無線通信部５６０は、基地局（図示略）との間で無線通信を行う機能を有する。携帯電話機５００は、無線通信部５６０の機能により、基地局（図示略）を介してネットワーク３００との間で通信を行う。キーパッド５７０およびディスプレイ５８０は、携帯電話機５００のユーザが、携帯電話機５００に対して指示入力を行うためのユーザインターフェースである。
【００３６】
ＲＯＭ１２０は、名前解決プログラム（リゾルバ）を記憶している。ＲＡＭ１３０は、名前解決要求を生成するアプリケーションプログラム（例えば、ウェブブラウザ）を記憶している。アプリケーションプログラムを実行するＣＰＵ１１０は、ユーザの操作入力に応じて、名前解決要求を生成する。名前解決要求が生成されると、ＣＰＵ１１０は、リゾルバを実行する。リゾルバを実行すると、ＣＰＵ１１０は、この名前解決要求に対して図４に示されるフローを実行する。この場合、ステップＳ１０８あるいはＳ１０９において、リゾルバを実行するＣＰＵ１１０は、名前解決応答をアプリケーションプログラムに引き渡す。アプリケーションプログラムを実行するＣＰＵ１１０は、こうして、名前解決の結果を取得することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態に係る名前解決システム１の構成を示す図である。
【図２】ルータ１００の機能構成を示すブロック図である。
【図３】ルータ１００のハードウェア構成を示すブロック図である。
【図４】ルータ１００の動作を示すフローチャートである。
【図５】キャッシュの記憶内容を例示する図である。
【図６】他の実施形態に係る携帯電話機５００の構成を示すブロック図である。
【符号の説明】
【００３８】
１…名前解決システム、１００…ルータ、１０１…送信時刻記憶部、１０２…要求送信部、１０３…応答受信部、１０４…受信時刻記憶部、１０５…検索部、１０６…一時記憶部、１０７…応答時間算出部、１０８…要求入力部、１０９…応答出力部、１１０…ＣＰＵ、１２０…ＲＯＭ、１３０…ＲＡＭ、１４０…ＮＶＲＡＭ、１５０…ネットワークＩＦ、１６０…ネットワークＩＦ、１９０…バス、２００…ＰＣ、３００…インターネット、４００…ＤＮＳサーバ、５００…携帯電話機、５６０…無線通信部、５７０…キーパッド、５８０…ディスプレイ、Ｔ…計時部
【図１】
2007214671.tif 000003
【図２】
2007214671.tif 000004
【図３】
2007214671.tif 000005
【図４】
2007214671.tif 000006
【図５】
2007214671.tif 000007
【図６】
2007214671.tif 000008