(57)【特許請求の範囲】
【請求項１】
接続されているネットワーク上での自装置の位置情報を受信する現在位置情報受付手段と、
前記現在位置情報受付手段で受信した位置情報を記憶する現在位置管理手段と、
問い合わせ可能なＤＮＳサーバに関するサーバ情報を受信するサーバ情報受付手段と、
前記サーバ情報受付手段で受信したサーバ情報を記憶するサーバ管理手段と、
ＤＮＳサーバの位置と自装置の位置及びＤＮＳサーバへの問い合わせタイプの関係を付加情報として記憶する付加情報管理手段と、
クライアントからＤＮＳサーバに対する問い合わせ要求を受信する要求受付手段と、
前記要求受付手段で受信した問い合わせ要求を、前記位置情報、前記サーバ情報及び前記付加情報の組み合わせに基づいて少なくとも１つ以上のＤＮＳサーバを決定し、この決定したサーバが複数であった場合にそれぞれのＤＮＳサーバに対し並行して転送する要求転送手段と、
前記要求転送手段で転送した問い合わせ要求に対する応答を受信する応答受信手段と、
前記応答受信手段で受信した応答によって前記サーバ情報の書き換えが生じた場合は、前記サーバ情報を書きかえるサーバ情報変更手段と、
このサーバ情報に基づき、前記問い合わせ要求に対応する応答結果を選択し、前記クライアントに該応答結果を応答する要求応答手段とを具備したことを特徴とするＤＮＳ問い合わせ装置。
【請求項２】
前記応答結果を選択するためのアルゴリズムを受け付けるアルゴリズム受付手段と、
前記アルゴリズム受付手段で受け付けたアルゴリズムを記憶するアルゴリズム管理手段と、
前記アルゴリズム管理手段に記憶されたアルゴリズムを用いて、前記要求応答手段における応答結果を選択するアルゴリズム処理部とを更に具備したことを特徴とする請求項１記載のＤＮＳ問い合わせ装置。
【請求項３】
接続されているネットワーク上での自装置の位置情報を受信する第１のステップと、
前記第１のステップにて受信した位置情報を記憶する第２のステップと、
問い合わせ可能なＤＮＳサーバに関するサーバ情報を受信する第３のステップと、
前記第３のステップにより受信したサーバ情報を記憶する第４のステップと、
ＤＮＳサーバの位置と自装置の位置及びＤＮＳサーバへの問い合わせタイプの関係を付加情報として記憶する第５のステップと、
クライアントからＤＮＳサーバに対する問い合わせ要求を受信する第６のステップと、
前記第６のステップにて受信した問い合わせ要求を、前記位置情報、前記サーバ情報及び前記付加情報の組み合わせに基づいて少なくとも１つ以上のＤＮＳサーバを決定し、この決定したサーバが複数であった場合にそれぞれのＤＮＳサーバに対し並行して転送する第７のステップと、
前記第７のステップにて転送した問い合わせ要求に対する応答を受信する第８のステップと、
前記第８のステップにて受信した応答によって前記サーバ情報の書き換えが生じた場合は、前記サーバ情報を書きかえる第９のステップと、
このサーバ情報に基づき、前記問い合わせ要求に対応する応答結果を選択し、前記クライアントに該応答結果を応答する第１０のステップとからなることを特徴とするＤＮＳ問い合わせ方法。
【請求項４】
前記応答結果を選択するためのアルゴリズムを受け付ける第１１のステップと、
前記第１１のステップにて受け付けたアルゴリズムを記憶する第１２のステップと、
前記第１２のステップにて記憶されたアルゴリズムを用いて、前記第１０のステップにおける応答結果を選択する第１３のステップとを更に具備したことを特徴とする請求項３記載のＤＮＳ問い合わせ方法。
【請求項５】
ＤＮＳ問い合わせ方法が記録されたコンピュータ読み取り可能な記録媒体において、
前記ＤＮＳ問い合わせ方法は、
接続されているネットワーク上での自装置の位置情報を受信する第１のステップと、
前記第１のステップにて受信した位置情報を記憶する第２のステップと、
問い合わせ可能なＤＮＳサーバに関するサーバ情報を受信する第３のステップと、
前記第３のステップにより受信したサーバ情報を記憶する第４のステップと、
ＤＮＳサーバの位置と自装置の位置及びＤＮＳサーバへの問い合わせタイプの関係を付加情報として記憶する第５のステップと、
クライアントからＤＮＳサーバに対する問い合わせ要求を受信する第６のステップと、
前記第６のステップにて受信した問い合わせ要求を、前記位置情報、前記サーバ情報及び前記付加情報の組み合わせに基づいて少なくとも１つ以上のＤＮＳサーバを決定し、この決定したサーバが複数であった場合にそれぞれのＤＮＳサーバに対し並行して転送する第７のステップと、
前記第７のステップにて転送した問い合わせ要求に対する応答を受信する第８のステップと、
前記第８のステップにて受信した応答によって前記サーバ情報の書き換えが生じた場合は、前記サーバ情報を書きかえる第９のステップと、
このサーバ情報に基づき、前記問い合わせ要求に対応する応答結果を選択し、前記クライアントに該応答結果を応答する第１０のステップとからなることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットでDNSを利用するホストにおいて、移動や回線の切断などよって複数のDNSサーバの構成ツリーに対して、問い合わせを行なわなければならない状況において、適切な応答を高速に得られるDNS問い合わせ方法に関する。
【０００２】
【従来の技術】
近年、世界規模のコンピュータネットワーク「インターネット(Internet)」の利用が普及しており、インターネットと接続し公開された情報、サービスを利用したり、逆にインターネットを通してアクセスしてくる外部ユーザに対し、情報、サービスを提供することで新たなコンピュータビジネスが開拓されている。またインターネット利用に関して、新たな技術開発、展開がなされている。
【０００３】
インターネットでは、各計算機がIPアドレスと呼ばれる識別子をもち、このIPアドレスを元に、パケットの交換が行われる。しかし、IPアドレスは数字の羅列であり、人間が覚えるのは困難を伴うが、インターネットを通して計算機にアクセスするためにはIPアドレスを指定しなければならない。この問題を解決するためにDomain Name System(DNS)が考案された。DNSは一種のデータベースシステムであり、この機能のうちの一つに数字の羅列であるIPアドレスと、人間が覚えやすい名前(Fully Qualified Domain Name,FQDN)を相互変換するための機能がある。これはすなわちDNSというデータベースシステムに対して、FQDNに対応するIPアドレスを検索するという行為に等しい。インターネットを使うアプリケーションは通常このDNSを利用して、ユーザが入力したホスト名（これは通常FQDNである）をIPアドレスに変換し、目的のインターネット上へとパケットを送出する。
【０００４】
DNSは、分散DBとしての側面も持つ。インターネット上の全てのホストを１つのデータベースシステムで管理するのは不可能である。このためDNSはツリー構造を持った分散DBの形をとる。各DNSサーバは一般的に次の３つの情報を持っている。
【０００５】
（１）頂点（root）となるサーバ
（２）ある特定のドメインの全てのデータ
（３）自サーバが権限を譲渡したサーバと、譲渡したドメイン名の組
FQDNは、．（ピリオド）で区切られたツリー構造を持つ名前空間のインスタンスである。例えば、foo.bar.com.などである。これは．を頂点として．com bar foo というツリーとなる。通常のツリーのleafはホスト名であり、それ以外の部分はドメインメイト呼ばれる。もし、bar.com.というドメイン名がインターネット上に存在するなら、bar.com.というドメインについてすべて知っているDNSサーバがインターネット上に存在することになる。
【０００６】
次に、実際にドメイン名とIPアドレスの変換が具体的にどのように行なわれるかを簡単に説明する。インターネット上に分散して配置されたDNSサーバは、クライアントとなる計算機から、“foo.bar.com”をIPアドレスに変換して欲しいという要求を受ける。このとき、要求を受けたDNSサーバ（仮にこれをサーバAと呼ぶ）は、自分がbar.com.の全てのデータを持っていれば、そこで変換した結果を返す。しかしそうでない場合は、rootサーバに対して問い合わせを行なう。rootサーバは、bar.com.のデータを持ってはいないが、ツリーの枝であるcom.の権限を移譲したサーバを知っているので、そのサーバをサーバAに通知する。サーバAはcom.のDNSサーバに対して問い合わせを行なう。com.のサーバはbar.com.のデータを持ってはいないがツリーの枝であるbar.com.の権限を移譲したサーバを知っているので、そのサーバをサーバAに通知する。サーバAはbar.com.のDNSサーバに対して問い合わせを行なう。bar.com.のサーバは、bar.com.について全てのデータを持っているので、foo.bar.comをIPアドレスに変換すことができる。この答えをサーバAに返す。サーバAは、この答えをクライアントに通知する。
【０００７】
このようにDNSは、ツリー構造を探索することによって検索を行なうことになるので、インターネット上のどのDNSサーバに対して問い合わせを行なっても、必ず同じ答えを得ることができる。この前提に基づき、移動する計算機は通常最も近い位置にあるDNSサーバを通知してもらい、それを利用するということが現在は行われている。
【０００８】
しかし、この「同じ答えを得られる」という保証は、DNSサーバの構成ツリーがインターネット上で唯一である、という前提に基づいている。しかし近年、ファイアウォールの普及にしたがって、ファイアウォール内での独立したDNSサーバツリーが構築される場合がある。また、SOHO(Small Office, Home Office）等ではインターネットへの接続が間欠的である場合があり、その中のネットワークでは、独立したrootサーバを持つ場合がある。
【０００９】
このようにrootサーバが複数存在する、すなわちDNSサーバのツリーが複数存在する場合、移動する計算機の場合では、単純に近いDNSサーバを通知されたとしても、そのサーバがどのツリーに属するかによって応答が変わってしまい、問題が生じる。具体的には、あるツリーに存在するFQDNを異なるツリーのネームサーバに問い合わせても、そのようなホストは存在しないという返答が返されてしまう。
【００１０】
複数のDNSサーバに問い合わせるシステムも現存するが、現在の方法では、DNSのプロトコルとして正しい応答が得られるサーバに出会うまで順番に問い合わせにいくという方法である。この方法では、「存在しない」というDNSのプロトコル上正しい応答を得ることができるため、たとえそれぞれ異なるツリー上にある複数のDNSサーバを設定したとしても結果的に求める応答とは異なるという問題があった。
【００１１】
【発明が解決しようとする課題】
上述したように、従来の方法では、DNSのサーバが構成するツリーが複数ある場合に、どのDNSサーバに問い合わせれば良いのかが不明であり、望ましい応答を得ることができなかった。本発明は上記事情を考慮してなされたのもであり、DNSのツリーが複数ある場合でも、望ましい応答を高速に得ることができるDNS問い合わせ装置及びその方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記した課題を解決するため、本発明のDNS問い合わせ装置は、接続されているネットワーク上での自装置の位置情報を受信する現在位置情報受付手段と、現在位置情報受付手段で受信した位置情報を記憶する現在位置管理手段と、問い合わせ可能なDNSサーバに関するサーバ情報を受信するサーバ情報受付手段と、サーバ情報受付手段で受信したサーバ情報を記憶するサーバ管理手段と、クライアントからDNSサーバに対する問い合わせ要求を受信する要求受付手段と、要求受付手段で受信した問い合わせ要求を、位置情報及び又はサーバ情報に基づいて決定した少なくとも１つ以上のDNSサーバに転送する要求転送手段と、要求転送手段で転送した問い合わせ要求に対する応答を受信する応答受信手段と、応答受信手段で受信した応答によって前記サーバ情報の書き換えが生じた場合は、サーバ情報を書きかえるサーバ情報変更手段と、このサーバ情報に基づき、問い合わせ要求に対応する応答結果を選択し、クライアントに該応答結果を応答する要求応答手段とを具備する。
【００１３】
これにより、最適でないDNSサーバへの問い合わせがなくなり、問い合わせに最適なDNSサーバを選択することができる。
【００１４】
さらに本発明のDNS問い合わせ装置は、応答結果を選択するためのアルゴリズムを受け付けるアルゴリズム受付手段と、アルゴリズム受付手段で受け付けたアルゴリズムを記憶するアルゴリズム管理手段と、アルゴリズム管理手段に記憶されたアルゴリズムを用いて、要求応答手段における応答結果を選択するアルゴリズム処理部とを具備する。
【００１５】
これにより、選択する際のアルゴリズムを変更することができる。
【００１６】
また、本発明のDNS問い合わせ方法は、接続されているネットワーク上での自装置の位置情報を受信する第1のステップと、第1のステップにて受信した位置情報を記憶する第2のステップと、問い合わせ可能なDNSサーバに関するサーバ情報を受信する第３のステップと、第3のステップにより受信したサーバ情報を記憶する第4のステップと、クライアントからDNSサーバに対する問い合わせ要求を受信する第5のステップと、第5のステップにて受信した問い合わせ要求を、位置情報及び又はサーバ情報に基づいて決定した少なくとも１つ以上のDNSサーバに転送する第6のステップと、第6のステップにて転送した問い合わせ要求に対する応答を受信する第７のステップと、第７のステップにて受信した応答によって前記サーバ情報の書き換えが生じた場合は、サーバ情報を書きかえる第８のステップと、このサーバ情報に基づき、問い合わせ要求に対応する応答結果を選択し、クライアントに該応答結果を応答する第9のステップとからなる。
【００１７】
さらに、本発明のDNS問い合わせ方法は、応答結果を選択するためのアルゴリズムを受け付ける第10のステップと、第10のステップにて受け付けたアルゴリズムを記憶する第11のステップと、第11のステップにて記憶されたアルゴリズムを用いて、第9のステップにおける応答結果を選択する第12のステップとを具備する。
【００１８】
また本発明のDNS問い合わせ方法が記録されたコンピュータ読み取り可能な記録媒体は、接続されているネットワーク上での自装置の位置情報を受信する第1のステップと、第1のステップにて受信した位置情報を記憶する第2のステップと、問い合わせ可能なDNSサーバに関するサーバ情報を受信する第３のステップと、第3のステップにより受信したサーバ情報を記憶する第4のステップと、クライアントからDNSサーバに対する問い合わせ要求を受信する第5のステップと、第5のステップにて受信した問い合わせ要求を、位置情報及び又はサーバ情報に基づいて決定した少なくとも１つ以上のDNSサーバに転送する第6のステップと、第6のステップにて転送した問い合わせ要求に対する応答を受信する第７のステップと、第７のステップにて受信した応答によって前記サーバ情報の書き換えが生じた場合は、サーバ情報を書きかえる第８のステップと、このサーバ情報に基づき、問い合わせ要求に対応する応答結果を選択し、クライアントに該応答結果を応答する第9のステップとからなるDNS問い合わせ方法を具備する。
【００１９】
【発明の実施の形態】
【００２０】
【実施例】
以下、本発明の一実施例を図面を参照して詳細に説明する。
ここでは、問い合わせの発行元をクライアントと呼び、DNSが動いているサーバをDNSサーバと呼ぶ。本発明は、DNSの問い合わせ及び応答を中継する方法と、その装置に関するものである。
【００２１】
クライアントが発行した問い合わせを本実施例のクライアント側装置（移動対応端末）は受信し、これをクライアント側装置が現在知っているDNSサーバに対して同時に問い合わせを行なう。
【００２２】
ここでは、クライアントが発行した問い合わせを「元問い合わせ」、本装置が新たに発行した問い合わせを「仮問い合わせ」と呼ぶ。DNSサーバからの応答は「仮応答」、クライアントに対して応答する応答を「最適応答」と呼ぶ。
【００２３】
DNSの問い合わせは、問い合わせパケット内に含まれるIDによって識別される。クライアントは自分の問い合わせに対する応答が帰ってきたことを、自分が問い合わせたIDに等しいIDを含む応答が帰ってきたことで認識する。すなわち問い合わせにおいては、送信元とIDの組は一意である。本装置では、元問い合わせのIDを「元ID」、仮問い合わせで使用するIDを「仮ID」と呼ぶ。
【００２４】
図１に本実施例の構成図を示す。この構成図は、本発明のDNS問い合わせ装置の構成を示すものであり、クライアントである移動対応端末内に含まれるものとする。また、ここでは移動対応端末に含まれる例を用いて説明するが、単独の装置として機能するように構成してもよい。
【００２５】
図１において、要求受付部１は、クライアントからDNSサーバに対する元問い合わせパケットを受信する。要求転送部２は現在、本装置が知っているDNSサーバに対して仮問い合わせを転送する。サーバ情報群管理部３は、サーバ管理部４と現在位置管理部５を含み、現在知っているDNSサーバに関する情報を総合的に管理する。キャッシュ管理部６は、問い合わせの結果を一時的に保存する。
【００２６】
現在位置管理部５は、移動対応端末が現在接続されているネットワークの位置情報を管理する。サーバ管理部４は、現在知っているDNSサーバに関する情報を管理する。要求管理部７は、現在発行中である仮問い合わせについて管理する。現在位置情報受付部８は移動ホストの現在位置を受け付け現在位置管理部５へ通知する部分である。
【００２７】
サーバ受付部９は、現在問い合わせ可能なDNSサーバや、それらに関する情報を受け付け、サーバ管理部４へ通知する。アルゴリズム管理部１０は、アルゴリズム受付部１１から入力されたアルゴリズムに基づいて、最適応答を選択するためのアルゴリズムを管理する。
【００２８】
アルゴリズム処理部１２は、得られた仮応答から、アルゴリズムを使用して最適応答を選び出す。要求応答部１３は、最適答パケットをクライアントに対して送信する。応答受信部１４は、仮応答を受信する。応答選択部１５は、得られた仮応答を処理する。
【００２９】
現在位置管理部５は、本装置及びクライアントである移動対応端末が現在どのようなネットワークアドレスを持っているかを管理する部分である。この情報を現在位置テーブルと呼ぶ。現在位置テーブルは、図２に示すように、現在位置アドレス(A1NE1)からなる。ここで現在位置アドレスの情報は複数あって良い。
【００３０】
サーバ管理部４は、現在知っているDNSサーバを管理するためのサーバ管理テーブルと、各サーバに関する付加情報を管理するサーバ付加情報テーブルを持つ。サーバ管理テーブルは、図３に示すようにDNSサーバのアドレス、失敗カウンタ、サーバの有効期限、からなる。
【００３１】
ここで失敗カウンタは、現在まで連続して何回問い合わせに失敗したかを数える。サーバ付加情報テーブルは、DNSサーバに関する、管理番号、サーバ位置ネットワーク領域、現在位置ネットワーク領域、問合わせタイプ、優先度、キャッシュ可能フラグ、という情報からなる。
【００３２】
ここで管理番号は自然数で、テーブル内で一意である。ネットワーク領域はネットワークアドレスとネットワークプレフィックス長からなる。ネットワークプレフィクス長３２なら (IPv4の場合)、ネットワークアドレスがサーバのアドレスに等しいことを示し、これはすなわちそのDNSサーバ専用の付加情報ということになる。
【００３３】
ここでは、最も最適と判断されたDNSサーバに対する付加情報であるタプルを選択する。
【００３４】
また現在位置領域はネットワークアドレスとネットワークプレフィックス長からなる。現在位置情報と合致するタプルが選ばれる。複数の現在位置を持つ場合は、表の上位にあるタプルが選ばれる。
【００３５】
問合わせタイプはDNSの問い合わせタイプを表す。ただし、どのような問合わせタ          イプにも合致する『任意』タイプを指示してもよい。優先度はそのDNSサーバの優先度を表す。キャッシュ可能フラグは、応答をキャッシュ管理部６に渡すことができるかを表している。
【００３６】
要求管理部１２は、現在仮問い合わせを行なっている問合せについての情報を管理するための要求管理テーブルを持つ。要求管理テーブルは、図４に示すように仮ID、最適応答終了フラグ、元問い合わせパケットすべて、サーバ情報群テーブルを示すフラグ、からなる。サーバ情報群テーブルは、サーバ情報群管理部３から得られる情報で構成され、図５に示すサーバアドレス、失敗カウンタ、優先度、キャッシュ可能フラグ、からなる。
【００３７】
要求管理部１２は、新しい仮問い合わせを発行する度に、この要求管理テーブルに適切なタプルを追加していく。また、ある元応答に対する処理が終了する度に、応答選択部からの要求にしたがって、適切なタプルを削除する。
【００３８】
キャッシュ管理部６は、得られた仮応答を保存し、適宜消去する部分である。キャッシュ管理部６は、キャッシュ管理テーブルを持つ。キャッシュ管理テーブルは、図６や図７に示すようにサーバアドレス、元問い合わせパケットすべて、仮応答パケットすべて、からなる。
【００３９】
応答選択部５は、得られた仮応答処理する部分である。応答選択部５は、仮応答一時保存テーブルと、仮問い合わせ処理テーブルを持つ。仮応答一時保存テーブルは、図得られた仮応答を一時的に保存するテーブルである。仮応答一時保存テーブルは、得られた仮応答パケット、からなる。
【００４０】
仮問い合わせ処理テーブルは、図８や図９に示すように、仮ID、サーバ情報群表、仮問い合わせ開始時間、からなる。
【００４１】
アルゴリズム管理部１０は、最適仮応答を選択するためのアルゴリズムを管理する、アルゴリズムテーブルであるアルゴリズム管理表１２を持つ。最適仮応答を選択するアルゴリズムは、問合わせタイプに対して 1つ設定される。アルゴリズム管理表は、問合わせタイプ、使用するアルゴリズム、からなる。ここでアルゴリズムは、最適仮応答を選択するために、サーバ情報群表と、現在までに得られている仮応答の結果を使うことができる。
【００４２】
次に、図１における各部の動作を詳細に説明する。
【００４３】
現在位置情報受付部８は、本装置が搭載される端末が、現在接続されているネットワーク上のアドレス、あるいは失ったアドレスを受け取る。現在位置情報受付部８は、これを現在位置管理部５に通知する。
【００４４】
現在位置管理部５は、現在位置情報に関する情報を現在位置情報受付部から受け取り、現在位置管理表にタプルを追加あるは削除する。また現在位置情報要求を受け取ると、現在位置管理表の複製を要求元に出力する。
【００４５】
ここで位置情報とは、移動対応端末が現在接続しているネットワークにおける現在位置アドレスを示す。本実施例ではそのネットワーク上で動的又は静的に付与された IPアドレスを用いる。
【００４６】
要求受付部１は、クライアントからの元問い合わせパケットを受信し、要求転送部２へこのパケットを渡す。要求転送部２は、要求受付部１から元問い合わせパケットを受け取り、このパケットから問い合わせタイプを得る。この問い合わせタイプをサーバ情報群管理部３に示し、サーバ情報群表を得る。これにより要求転送部２は、サーバ情報群表から、問い合わせるサーバ群に関する情報を得る。
【００４７】
次に要求転送部２は、現在使用中のどの仮IDとも等しくない、新しい仮IDを一つ生成する。そして元問い合わせデータの複製を生成し、この仮 ID と元問い合わせデータとサーバ情報群表の複製と、生成要求を要求管理部７へと渡す。要求管理部７は、仮 IDを応答選択部１５に通知する。
【００４８】
次に要求転送部７は、サーバ群表内にある各サーバアドレスについて、キャッシュ管理部６にサーバアドレスと元問い合わせデータを示す。キャッシュ管理部６から仮応答パケットが得られた場合、キャッシュであることを示すためのマークをつけ、パケット内の元IDを仮IDに変更し、応答選択部１５へ送る。
【００４９】
そうでなければ、元問い合わせと全く同じ問い合わせを行なう仮問い合わせを仮IDを使って生成し、サーバに送信する。これはすなわち、仮問い合わせパケットの送出元が本装置が動作している端末であり、問い合わせる相手先がDNSサーバ、そして問い合わせの IDが仮 IDである以外は、DNSの問い合わせパケットとしての意味は、元問い合わせパケットと変わらないことを意味している。
【００５０】
次に要求管理部７は、仮 ID と元問い合わせデータと、サーバ情報群表と、生成要求を渡されると、これを使って要求管理テーブルに新しいタプルを生成する。このとき最適応答終了フラグは偽とする。
【００５１】
また、仮IDと削除要求を受けると、要求管理テーブルから適合するタプル、すなわち渡された仮IDを含むタプルを削除する。要求管理部７は、仮IDと確認要求を受けると、要求管理テーブルから適合するタプルを探し、適合するタプルがあれば真を、なければ偽を要求した部に伝える。
【００５２】
また、仮 IDと最適応答終了通知を受け取ると、要求管理テーブルから適合するタプルを探し、適合するタプルがあれば、そのタプルの最適応答終了フラグを真にする。
【００５３】
また、仮 IDと要求管理情報要求を受けると、要求管理テーブルから適合するタプルを探し、適合するタプルを返す。適合するタプルがなければ空タプルを返す。
【００５４】
次にサーバ情報群管理部３は、問い合わせタイプを受け取ると、まず現在位置情報管理部５から現在位置情報を得る。次にサーバ管理部４からサーバ管理表を得る。
【００５５】
次にサーバ管理部４に現在位置情報と問い合わせタイプを示し、これに適合する（すなわち現在位置が現在位置領域に最も厳密に含まれ、かつ問い合わせタイプが等しいタプルの集合となる）サーバ付加情報表の部分表を得る。
【００５６】
ここで得られたサーバ付加情報表の部分表について、サーバ管理表内の各サーバアドレスについて、これに適合する（すなわちサーバアドレスがサーバネットワーク領域に最も厳密に含まれる）タプルを得る。
【００５７】
このタプルと、現在注目しているサーバアドレスに合致するサーバ管理表のタプルから、サーバ群情報表のタプルを生成する。
【００５８】
問い合わせタイプに『任意』が入っているタプルについては、現在の問い合わせタイプに変更する。最終的にはサーバ管理表内の各サーバアドレスについてサーバ群情報表のタプルが生成され、これがサーバ群情報表となる。
【００５９】
ここで、優先度が 0であるタプルは削除する。得られたサーバ群情報表は要求元へ出力する。
【００６０】
サーバ管理部４は、サーバ受付部９からサーバの追加、削除の要求に従ってサーバ管理表の適切なタプルを追加あるいは削除する。サーバ管理部４は、サーバ受付部９からサーバ付加情報の追加、削除の要求に従ってサーバ付加情報表の適切なタプルを追加あるいは削除する。
【００６１】
またサーバ管理部４は、サーバ管理表の要求があった場合、これを要求元へ複製して出力する。またサーバ管理部４は、定期的にサーバ管理表を調べ、有効期限の切れたタプルをその時点で削除する。
【００６２】
次にサーバ管理部４は、サーバアドレスとサーバの失敗カウンタ増加要求を受け取ると、指定されたサーバの失敗カウンタを1 増加させる。またサーバ管理部４は、サーバアドレスとサーバの失敗カウンタ消去要求を受け取ると、指定されたサーバの失敗カウンタを0にする。
【００６３】
またサーバ管理部４は、現在位置情報と、問い合わせタイプと、サーバ付加情報表の要求があった場合、サーバ付加情報表内の各タプルについて、まず現在位置情報表内の各タプルについて、（問合わせタイプと現在位置情報が現在位置領域に含まれている）タプルの複製を得る。
【００６４】
このとき、一つのサーバ位置ネットワーク領域について、1つのタプルにしなければならない。もし一つのサーバ位置ネットワーク領域について、複数のタプルが存在するようであれば、まず問合わせタイプを調べる。一つのサーバ位置ネットワーク領域について問合わせタイプが任意タイプと示された問合わせタイプに等しい問合わせタイプのタプルがあるようであれば、任意タイプのタプルは削除する。
【００６５】
一つのサーバ位置ネットワーク領域について、現在位置情報表内にある1 つの現在位置アドレスについて、これを含む現在位置領域が複数タプル存在する場合には、最も狭い領域のタプルを残し、残りは削除する。
【００６６】
それでなお、一つのサーバ位置ネットワーク領域について複数のタプルが存在する場合には、もっとも管理番号の小さいタプルを残し、あとは削除する。
【００６７】
これによって生成されたサーバ付加情報表の部分表を要求部に渡す。
【００６８】
応答受信部１４は、仮応答パケットを受け取ると、受け取った仮応答パケットから、仮応答の仮IDを得る。応答受信部１４は、要求管理部７に、仮IDと確認要求を伝える。答えが真であれば、仮応答パケットを応答選択部に渡す。答えが偽であれば、仮応答パケットを破棄する。
【００６９】
応答選択部１５は、仮IDを受理すると要求管理部に仮IDと要求管理情報要求を渡し、要求管理情報を得る。得られた要求管理情報内のサーバ情報群表と、現在時間から、仮問合わせ処理表のタプルを生成し、仮問合わせ処理表に追加する。
【００７０】
また応答選択部は、一定時間経過した仮問合わせ処理表のタプルがあるか調べる。この時間はプログラマブルであり、使用者が指示できる。もし一定時間経過したタプルが存在する場合、各タプルについて、まず仮IDを得る。まず仮応答一時保存表から、仮IDに合致する仮応答をすべて取り出す。
【００７１】
一定時間経過したタプルからサーバ群表を得る。サーバ群表にあるサーバで、かつ仮応答を得られていないサーバを調べ、この各サーバについて、サーバの失敗カウンタ増加要求をサーバ管理部４に伝える。
【００７２】
まず仮応答一時保存表から、仮IDに合致する仮応答をすべて消去する。要求管理部７に仮 ID と要求管理情報要求を渡し、要求管理情報を得る。要求管理情報の中の最適要求終了フラグを確認する。
【００７３】
ここで最適要求終了フラグが偽なら、元問合わせパケットに対応したサーバ失敗応答を生成し、要求応答部１３に渡す。
【００７４】
そして要求管理部７に仮 IDと削除要求を示し、対象の仮問合わせ処理表のタプルを削除する。
【００７５】
応答選択部１５は、仮応答を受け取ると、受け取った応答から仮IDを得る。
【００７６】
仮IDから、対応する仮問合わせ処理表のタプルを得る。サーバ管理部４に対して、サーバ管理表を要求する。得られたサーバ管理表から、仮問合わせ処理表のタプル内のサーバ情報群テーブル内の各サーバについての失敗カウンタの値を更新する。
【００７７】
仮応答が、キャッシュから得られたものでなく、仮応答の内容がエラーではなく、仮問合わせ処理表のタプル内のサーバ群表内の仮応答を送信したDNSサーバに合致するタプルのキャッシュ可能フラグが真であれば、得られた仮応答の複製をキャッシュ管理部に渡す。得られた仮応答を仮応答一時保存表へ追加する。要求管理部に仮IDと要求管理情報要求を渡し、要求管理情報を得る。要求管理情報の最適応答終了フラグが真であれば、処理を終了する。仮 IDから、これに合致する仮応答すべてを仮応答一時保存表から複製して取り出す。
【００７８】
得られた仮応答集合と、サーバ情報群表の複製をアルゴリズム処理部に渡し、応答を待つ。アルゴリズム処理部の応答が空であれば、現在まだ最適仮応答を得られていないことを意味しているので、この処理は終了する。アルゴリズム処理部の応答が、渡した仮応答の集合のうちの1要素であれば、その得られた仮応答が最適仮応答であることを意味している。
【００７９】
現在処理中の仮IDについて、仮応答一時保存表にある、この仮IDに等しい仮応答をすべて削除する。要求管理部に、仮IDと最適応答終了通知を示す。要求管理部７に、仮IDと要求管理情報要求を示し、要求管理情報を得る。得られた要求管理情報と仮 IDから、クライアントに送信する最適応答を生成する。すなわち、最適仮応答のうち、仮IDを元問合わせパケットのIDに変更し、送信元と受信先を元問合わせパケットのそれを逆にしたものにする。そして、作られた最適応答を要求応答部１３へ渡す。
【００８０】
要求応答部１３は、渡された最適応答をクライアントへと送信する。
【００８１】
アルゴリズム管理部１０は、アルゴリズム受付部１１からのアルゴリズム追加、削除の要求にしたがって、アルゴリズム表に適切なタプルを追加および削除する。
【００８２】
アルゴリズム管理部１０は、問い合わせタイプとアルゴリズム要求を受け取った時は、問い合わせタイプが等しいタプルを要求した部に渡す。問い合わせタイプが等しいタプルがなければ、任意タイプのタプルを渡す。
【００８３】
アルゴリズム処理部１２は、仮応答の集合を受け取ると、問い合わせタイプを調べ、アルゴリズム管理部１０に対して問い合わせタイプとアルゴリズム要求を示し、アルゴリズムを得る。ここで得られたアルゴリズムを使用して、最適仮応答が渡された仮応答の集合内に存在するかを判定する。最適仮応答が渡された仮応答の集合内に存在する場合、要求した部に対して、最適仮応答を渡し、残りは破棄する。
【００８４】
最適仮応答が渡された仮応答の集合内に存在しない場合、要求した部に対して、空を返して、渡された仮応答を破棄する。
【００８５】
キャッシュ管理部６は、定期的にキャッシュ表を調べ、有効期限が切れたキャッシュデータを探す。有効期限が切れたキャッシュデータはキャッシュ表から破棄する。またキャッシュ管理部は、サーバアドレスと問い合わせタイプを示されると、送信者がサーバアドレスと等しく、問い合わせタイプが等しい仮応答をキャッシュ表から検索する。適合する仮応答があれば、この複製を要求した部へ返す。適合する仮応答がなければ、空を要求した部へ返す。
【００８６】
またキャッシュ管理部６は、応答パケットを渡されると、キャッシュ表にこの応答を追加する。
【００８７】
次に本発明が用いられる計算機ネットワークの構成例を図１０に示す。
【００８８】
サブネットワークNE1は複数の組織が接続する解放されたネットワーク（たとえばインターネット）に属されたサブネットワークである。
【００８９】
DE1は外部ネットワーク上のDNSサーバである。外部ネットワークの属するDNSサーバの構成ツリーをTEとする。DNSサーバDE1はDNS構成ツリーTEに属する。
【００９０】
これに対し、NAはファイヤーウォールサーバFWに保護されたネットワーク(private.com)である。
【００９１】
ファイヤーウォールサーバFWは、外部ネットワーク（たとえばインターネット）に接続されているが、ここでは外部からファイヤーウォールサーバFW内へのアクセスはできないものとする。
【００９２】
このネットワークNA内のDNSサーバDA1及び図示しないDA2の構成ツリーはネットワークNA内で終端している。この構成ツリーをTAとする。NA1及びNA2はネットワークNAに属するサブネットワークである。DA1及び図示しないDA2は同一の構成ツリーTAに属するDNSサーバである。
【００９３】
M1はネットワーク上を移動することが可能な移動対応端末である。移動対応端末M1はDNSサーバ問い合わせ機能を具備する端末である。移動対応端末M1は現在サブネットワーク NE1 に接続されており、動的または静的なアドレスA1NE1を取得しているとする。
【００９４】
本実施例では、private.comは、DNS構成ツリーTAにのみ属するドメイン名であり、かつネットワークNAでしか使用できないドメイン名であり、他のDNS サーバの構成ツリーに問い合わせてもNXDomain(知らないということ)の応答しか得られないものとする。
【００９５】
また本実施例では、DNSの問い合わせパケットを、送信者、宛先サーバ、ID、問い合わせタイプ、問い合わせデータ、応答データの７つの値で省略して表わすこととする。この状態での本装置の各部が保持する表は次のようになっているとする。
【００９６】
現在位置テーブルは、図２となる。すなわち、本端末の現在位置を示すアドレスはA1NE1である。サーバ管理表は、図３となっているとする。すなわち、本端末は、問い合わせ可能なDNSサーバとして、DA1とDE1を知っている。また、DA1はこれまで連続して 5回問い合わせに失敗している。
【００９７】
また本端末におけるDA1のサーバの有効期限は時刻ET1であり、この期日までにサーバ情報が更新されなかった場合、このサーバのタプルはサーバ管理表のテーブルから削除される。
【００９８】
サーバ付加情報表は、図１１となっているとする。サーバ付加情報表は、DNSサーバが位置するネットワーク領域と、本端末の現在位置のネットワーク領域と、各DNSサーバの問い合わせタイプと、優先度、キャッシュ可視フラグの真偽とからなっている。
【００９９】
要求管理テーブルは、現在空である。すなわち、いまは何の処理も行っていないことを意味している。同様にキャッシュ管理表、仮応答一時保存表、仮問い合わせ処理表も空とする。
【０１００】
アルゴリズム管理表は、図 １２となっているとする。これは任意の問い合わせタイプについて、指定されたアルゴリズムXを使用することを意味している。
【０１０１】
ここでは一例としてアルゴリズムXを、「仮応答の中身がNXDomain（応答としては正しいが質問の答えをサーバが知らないという意味）でなく、かつAnsewerRRが0（応答に有効な回答が含まれておらず、参考情報しか含まれていない）でもなく、かつエラーでもないものを『良い仮応答』と定義する。得られた仮応答のうち、良い仮応答であり、かつその良い仮応答を答えたサーバよりもより高い優先度を持つサーバがサーバ管理表に無いか、あるいはそのより高い優先度のサーバの仮応答が良い仮応答でないのであれば、そのサーバからの仮応答が最適である。また、得られた会応答が全て『良い仮応答』ではなく、失敗カウンタが言って一定値以下のサーバ全員の仮応答を全て保持しているのであれば、得られた仮応答の中にNXDomainがあれば最適応答はその仮応答となる。また得られた仮応答の中にAnswerRRが0であるものがあれば、最適応答はその仮応答となり、得られた仮応答が全てエラーであればエラーが最適仮応答となる。
【０１０２】
失敗カウンターが３以下のサーバ全ての仮応答を、全て保持していないのであれば、まだ最適応答は決定できないので空を返す。」と定義する。
【０１０３】
このアルゴリズムは、アルゴリズム受付部11より受け付けた他のアルゴリズムに適宜変更することが可能である。
【０１０４】
ここで端末M1が、foo.private.comという名前に対するアドレスを知るためのDNS      問い合わせを行ったとする。この問い合わせパケットは、(M1、M1、 4321、 A、 foo.private.com、空)と表記されているとする。
【０１０５】
移動端末M1に含まれた本装置がこれを要求受付部1で受け取る。これは要求転送部2に送られる。要求転送部2は、このパケットから問い合わせタイプ『A』を得る。
【０１０６】
次にサーバ情報群管理部3にこの問い合わせタイプ『A』を示し、サーバ情報群テーブルを要求する。
【０１０７】
サーバ情報群管理部3は、この問い合わせタイプ『A』を受け取り、サーバ情報群テーブルを生成する。まず、現在位置情報管理部8に対して、現在位置情報を要求する。
【０１０８】
現在位置情報管理部8は、図2に示す現在位置テーブルから、現在位置を返す。次に、サーバ情報群管理部3は、サーバ管理部4から図3に示すサーバ管理表を得る。
【０１０９】
次に、サーバ情報群管理部3は、サーバ管理部4に現在位置情報と問い合わせタイプ『A』を示し、サーバ付加情報表の部分集合を要求する。
【０１１０】
サーバ管理部４は、これを受けて図１１に示す現在のサーバ付加情報表から、サーバ付加情報表の部分集合を生成する。この結果は図１３となり、これをサーバ情報群管理部３に返す。
【０１１１】
次に、サーバ情報群管理部３は、得られたサーバ管理表（図３）と、サーバ付加情報表（図１３）の部分集合から、サーバ情報群管理テーブルを作成する。得られるサーバ情報群管理テーブルは、図５となり、これを要求転送部２に返す。
【０１１２】
要求転送部２は、仮IDを生成する。ここでは『1』が仮IDとして割り当てられたとする。要求転送部２は、生成した仮ID『1』と、元問い合わせである (M1、 M1、 4321、 A、 foo.private.com、 空)と、得られたサーバ群管理テーブル（図 ５）を要求管理部７に渡し、要求管理テーブルの生成を求める。
【０１１３】
要求管理部７は、これを受けて要求管理テーブルに新しいタプルを追加する。
【０１１４】
これにより、要求管理テーブルは図１４に示すようになる。
【０１１５】
要求転送部２は、生成した仮ID『1』を、応答選択部１５に伝える。応答選択部１５は、要求管理部７に仮ID『1』を示し、要求管理情報を要求する。要求管理部７は、これを受けて要求管理テーブル内の仮ID『1』をもつタプルを返す。
【０１１６】
これはすなわち、図1４の仮ID『1』の行である。応答選択部１５は、このタプルを受けて、仮問い合わせ処理表に新しいタプルを追加する。
【０１１７】
現在時刻をCT1とすると、仮問い合わせ処理表は図８のようになる。要求転送部２は、得られたサーバ群管理テーブル（図５）から、各サーバ、即ちDA1及び DE1について、元問い合わせである (M1、 M1、 4321、A、 foo.private.com、空) に対する応答がないかどうかをキャッシュ管理部６に問い合わせる。
【０１１８】
キャッシュ管理部６はキャッシュ表が空なので、どちらの問い合わせについても空を返す。要求転送部２は、キャッシュ管理部６からの応答が空のため、仮問い合わせを DA1及び DE1について作成する、生成される仮問い合わせは、(A1NE1、 DA1、 1、 A、 foo.private.com、 空)、 (A1NE1、 DE1、 1、 A、 foo.private.com、 空)の 2つである。
【０１１９】
現在、端末M1はファイヤーウォールサーバFWの保護領域の外にあり、DNSサーバDA1への到達は不可能なため、DNSサーバDA1からの応答を受けることはない。
【０１２０】
端末M1から DNSサーバDE1へはパケットが届くが、private.comはDNS構成ツリーTAにしか属さないため、DNS構成ツリーTEに属するDNSサーバDE1は private.comについての回答を得られない。したがってDNSサーバDE1の応答は(DE1、 A1NE1、 1、 A、foo.private.com、 NXDomain)となる。
【０１２１】
DNSサーバDE1の応答が端末M1に届くと、応答受信部１４がこれを受け取る。応答受信部１４は、受け取ったパケットから仮IDを調べ、得られた仮ID『1』が要求管理テーブルにあるかどうかを要求管理部７に問い合わせる。
【０１２２】
仮ID『1』は要求管理テーブル内に存在するので、この仮応答は応答選択部１５へ渡される。サーバ管理部４は、DNSサーバDE1のアドレスとこのサーバの失敗カウンタ消去要求を出して、DNSサーバDE1の失敗カウンタを 0にする。
【０１２３】
応答選択部１５は、仮応答を受け取り、仮IDを得る。仮IDに対応するタプルを仮問い合わせ処理表（図８）から得る。またサーバ管理表を取得し、失敗カウンタを更新する。ここで、仮問い合わせ処理表内のサーバ群管理テーブル内の DNSサーバDE1についてのキャッシュ可能フラグが真のため、キャッシュ管理部６にこの仮応答をキャッシュするよう要求する。この結果、キャッシュ表は図６のようになる。
【０１２４】
次に要求管理部７に仮 ID『1』に対する要求管理テーブルのタプルを要求する。ここでは最適応答終了フラグが偽であるので、応答選択部１５は、この仮応答を一時保存表に追加する。
【０１２５】
次に、仮 ID『1』に関する仮応答を、仮応答一時保存表から複製する。この結果、(DE1、 A1NE1、 1、 A、foo.private.com、 NXDomain)が得られる。この仮応答の集合と、サーバ情報群管理テーブル（図５）をアルゴリズム処理部１２に渡す。
【０１２６】
アルゴリズム処理部１２は、問い合わせタイプAを得て、これをアルゴリズム管理部１０に示し、アルゴリズムを得る。すべてのサーバから仮応答が来ていないが、DNSサーバDA1の失敗カウンタが 5で、アルゴリズムで規定された 3を上回っているので、(DE1、 A1NE1、 1、 A、 foo.private.com、 NXDomain)が最適応答となる。
【０１２７】
よってここでは、(DE1、A1NE1、 1、 A、 NXDomain)を応答選択部１５に返す。応答選択部１５は、仮最適応答を得られたので、まず仮応答一時保存表から、仮ID『1』に適合する仮応答を消去する。
【０１２８】
この結果仮応答一時保存表は空となる。次に要求管理部７に、仮ID『1』に対する要求管理テーブルのタプルの最適応答終了を通知する。これにより、仮ID『1』に対する要求管理テーブルのタプルの最適応答終了フラグは真となる。
【０１２９】
次に仮最適応答を最適応答に変換する。これにより最適応答は(M1、 M1、 4321、 A、foo.private.com、 NXDomain)となる。
【０１３０】
この最適応答を要求応答部１５へ渡す。この後、端末M1が、アドレスA1NE1を所持したまま、モデム等を使いネットワークNA1に接続し、アドレスA1NA1を得たとする。
【０１３１】
この場合のネットワーク構成図を図15に示す。このとき、現在位置テーブルは、図1６に示すようになる。
【０１３２】
この状態で端末M1が、bar.private.comという名前に対するメール交換機アドレスを知るためのDNS問い合わせを行ったとする。この問い合わせパケットは、(M1、 M1、 4322、A、 bar.private.com、 空)であったとする。
【０１３３】
端末M1に内蔵されたDNSサーバ問い合わせ装置がこれをまず、要求受付部１で受け取る。これは要求転送部２に送られる。
【０１３４】
要求転送部２は、このパケットから問い合わせタイプ『A』を得て、サーバ情報群管理部３にこの問い合わせタイプ『A』を示し、サーバ情報群テーブルを要求する。この結果は前回と同様、図５となる。要求転送部２は、仮 IDを生成する。ここでは『2』が仮 IDとして割り当てられたとする。要求転送部２は、生成した仮ID『2』と、元問い合わせである(M1、 M1、4322、 A、 bar.private.com、 空)と、得られたサーバ群管理テーブル（図５）を要求管理部７に渡し、要求管理テーブルの生成を求める。
【０１３５】
要求管理部７は、これを受けて要求管理テーブルに新しいタプルを追加する。これにより、要求管理テーブルは図４に示すようになる。要求転送部７は、生成した仮ID『2』を、応答選択部１５に伝える。応答選択部１５は、仮問い合わせ処理表に新しいタプルを追加する。
【０１３６】
ここで現在時刻を CT2とすると、仮問い合わせ処理表は図９のようになる。
【０１３７】
要求転送部２は、得られたサーバ群管理テーブル図５から、各DNSサーバ、即ち DA1 及び DE1について、元問い合わせである (M1、 M1、 4322、 A、 bar.private.com、空)に対する応答がないかどうかをキャッシュ管理部6に問い合わせる。
【０１３８】
キャッシュ管理部6は、この問い合わせに合致するキャッシュがキャッシュ表にないので、どちらの問い合わせについても空を返す。要求転送部2は、キャッシュ管理部6からの応答が空のため、仮問い合わせをDNSサーバDA1及びDE1について作成する。生成される仮問い合わせは、(A1NE1、 DA1、 2、 A、bar.private.com、 空)、 (A1NE1、 DE1、 2、 A、 bar.private.com、 空)の 2つである。
【０１３９】
これにより端末M1はモデムの回線を通してDNSサーバDA1へ到達することが確認でいたため、DNSサーバDA1からの応答を受けることができる。ここでは、DNSサーバDA1の応答は(DA1、 A1NA1、 2、 A、 bar.private.com、 A3NA1)、DNSサーバDE1の応答は (DE1、 A1NE1、 2、 A、 bar.private.com、NXDomain)であったとする。
【０１４０】
また、パケットは DNSサーバDA1の方が早く端末M1に到着したとする。DNSサーバDA1の応答が端末M1に届くと、応答受信部１４がこれを受け取る。ここでは仮ID『2』が要求管理テーブルにあるため、この仮応答は応答選択部１５へ渡される。
【０１４１】
サーバ管理部４は、DNSサーバDA1のアドレスとこのサーバの失敗カウンタ消去要求出して、DNSサーバDA1の失敗カウンタを0にする。
【０１４２】
応答選択部１５は、仮応答を受け取り、仮IDを得る。次にその仮IDに対応するタプルを仮問い合わせ処理表（図8）から得る。次にサーバ管理表を取得し、失敗カウンタを更新する。この結果、DNSサーバDA1の失敗カウンタは0になる。
【０１４３】
次に仮問い合わせ処理表（図８）内のサーバ群管理テーブル内のDNSサーバDA1についてのキャッシュ可能フラグが真のため、キャッシュ管理部にこの仮応答をキャッシュするよう要求する。この結果、キャッシュ管理テーブルは図７に示すようになる。
【０１４４】
次に要求管理部７に仮 ID『2』に対する要求管理テーブルのタプルを要求する。ここでは最適応答終了フラグが偽であるので、応答選択部１５は、この仮応答を一時保存表に追加する。
【０１４５】
次に、仮 ID『2』に関する仮応答を、仮応答一時保存表から複製する。この結果、(DA1、 A1NA1、 2、 A、bar.private.com、 A3NA1)が得られる。
【０１４６】
この仮応答の集合と、サーバ情報群管理テーブル（図５）をアルゴリズム処理部１２に渡す。アルゴリズム処理部１２は、問い合わせタイプ Aを得て、これをアルゴリズム管理部１０に示し、アルゴリズムを得る。すべてのDNSサーバから仮応答が来ていないが、この仮応答は良い仮応答で、より大きい優先度を持つDNSサーバはないので、(DA1、A1NA1、2、 A、 bar.private.com、 A3NA1)が仮最適応答であり、これを応答選択部１５に返す。
【０１４７】
応答選択部１５は、仮最適応答を得られたので、仮応答一時保存表から、仮ID『2』に適合する仮応答を消去し、要求管理部７に、仮ID『2』に対する要求管理テーブルのタプルの最適応答終了を通知する。この結果、仮ID『2』に対する要求管理テーブルのタプルの最適応答終了フラグは真となる。
【０１４８】
次にこの仮最適応答を最適応答に変換する、最適応答は (M1、 M1、 4322、 A、 bar.private.com、A3NA1)となり、これを要求応答部１３へ渡す。
【０１４９】
これにより端末M1は、異なるDNSツリーを持つネットワークに接続するときでも、それぞれの接続における最適応答を得ることができる。
【０１５０】
【発明の効果】
以上、本発明によれば、異なるDNSサーバの構成ツリーに属する問い合わせにもDNSサーバへの接続が可能であれば、直ちに応答を得ることができる。また、所定のDNSサーバへ接続できなくなった場合には、一定の時間後にはそのDNSサーバからの応答を期待しなくなるので、DNSサーバへの接続がどのようになっていても、問い合わせ可能な範囲でより適した応答を高速な応答速度をもってユーザは得ることできる。
【図面の簡単な説明】
【図１】  本発明の一実施の形態を示すDNS問い合わせ装置の構成図
【図２】  本発明の一実施の形態で用いられる現在位置テーブルの説明図
【図３】  本発明の一実施の形態で用いられるサーバ管理テーブルの説明図
【図４】  本発明の一実施の形態で用いられる要求管理テーブルの説明図
【図５】  本発明の一実施の形態で用いられるサーバ情報群テーブルの説明
図
【図６】  本発明の一実施の形態で用いられるキャッシュ管理テーブルの説明図
【図７】  本発明の一実施の形態で用いられるキャッシュ管理テーブルの説明図
【図８】  本発明の一実施の形態で用いられる仮問い合わせ処理テーブルの説明図
【図９】  本発明の一実施の形態で用いられる仮問い合わせ処理テーブルの説明図
【図１０】  本発明の一実施の形態で用いられる計算機ネットワークの構成図
【図１１】  本発明の一実施の形態で用いられるサーバ付加情報表の説明図
【図１２】  本発明の一実施の形態で用いられるアルゴリズム管理表の説明図
【図１３】  本発明の一実施の形態で用いられるサーバ付加情報表の説明図
【図１４】  本発明の一実施の形態で用いられる要求管理テーブルの説明図
【図１５】  本発明の一実施の形態で用いられる計算機ネットワークの構成
図
【図１６】  本発明の一実施の形態で用いられる現在位置テーブルの説明図
【符号の説明】
１…要求受付部
２…要求転送部
３…サーバ情報群管理部
４…サーバ管理部
５…現在位置情管理部
６…キャッシュ管理部
７…要求管理部
８…現在位置情報受付部
９…サーバ受付部
１０…アルゴリズム管理部
１１…アルゴリズム受付部
１２…アルゴリズム処理部
【図１】
0003725376.tif 000002
【図２】
0003725376.tif 000003
【図３】
0003725376.tif 000004
【図４】
0003725376.tif 000005
【図５】
0003725376.tif 000006
【図６】
0003725376.tif 000007
【図７】
0003725376.tif 000008
【図８】
0003725376.tif 000009
【図９】
0003725376.tif 000010
【図１０】
0003725376.tif 000011
【図１１】
0003725376.tif 000012
【図１２】
0003725376.tif 000013
【図１３】
0003725376.tif 000014
【図１４】
0003725376.tif 000015
【図１５】
0003725376.tif 000016
【図１６】
0003725376.tif 000017