JP3725376B2 - Dns問い合わせ装置、dns問い合わせ方法、および記録媒体 - Google Patents
Dns問い合わせ装置、dns問い合わせ方法、および記録媒体 Download PDFInfo
- Publication number
- JP3725376B2 JP3725376B2 JP27746299A JP27746299A JP3725376B2 JP 3725376 B2 JP3725376 B2 JP 3725376B2 JP 27746299 A JP27746299 A JP 27746299A JP 27746299 A JP27746299 A JP 27746299A JP 3725376 B2 JP3725376 B2 JP 3725376B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- response
- information
- dns
- inquiry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
Description
【発明の属する技術分野】
本発明は、インターネットでDNSを利用するホストにおいて、移動や回線の切断などよって複数のDNSサーバの構成ツリーに対して、問い合わせを行なわなければならない状況において、適切な応答を高速に得られるDNS問い合わせ方法に関する。
【0002】
【従来の技術】
近年、世界規模のコンピュータネットワーク「インターネット(Internet)」の利用が普及しており、インターネットと接続し公開された情報、サービスを利用したり、逆にインターネットを通してアクセスしてくる外部ユーザに対し、情報、サービスを提供することで新たなコンピュータビジネスが開拓されている。またインターネット利用に関して、新たな技術開発、展開がなされている。
【0003】
インターネットでは、各計算機がIPアドレスと呼ばれる識別子をもち、このIPアドレスを元に、パケットの交換が行われる。しかし、IPアドレスは数字の羅列であり、人間が覚えるのは困難を伴うが、インターネットを通して計算機にアクセスするためにはIPアドレスを指定しなければならない。この問題を解決するためにDomain Name System(DNS)が考案された。DNSは一種のデータベースシステムであり、この機能のうちの一つに数字の羅列であるIPアドレスと、人間が覚えやすい名前(Fully Qualified Domain Name,FQDN)を相互変換するための機能がある。これはすなわちDNSというデータベースシステムに対して、FQDNに対応するIPアドレスを検索するという行為に等しい。インターネットを使うアプリケーションは通常このDNSを利用して、ユーザが入力したホスト名(これは通常FQDNである)をIPアドレスに変換し、目的のインターネット上へとパケットを送出する。
【0004】
DNSは、分散DBとしての側面も持つ。インターネット上の全てのホストを1つのデータベースシステムで管理するのは不可能である。このためDNSはツリー構造を持った分散DBの形をとる。各DNSサーバは一般的に次の3つの情報を持っている。
【0005】
(1)頂点(root)となるサーバ
(2)ある特定のドメインの全てのデータ
(3)自サーバが権限を譲渡したサーバと、譲渡したドメイン名の組
FQDNは、.(ピリオド)で区切られたツリー構造を持つ名前空間のインスタンスである。例えば、foo.bar.com.などである。これは.を頂点として.com bar foo というツリーとなる。通常のツリーのleafはホスト名であり、それ以外の部分はドメインメイト呼ばれる。もし、bar.com.というドメイン名がインターネット上に存在するなら、bar.com.というドメインについてすべて知っているDNSサーバがインターネット上に存在することになる。
【0006】
次に、実際にドメイン名と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は、この答えをクライアントに通知する。
【0007】
このようにDNSは、ツリー構造を探索することによって検索を行なうことになるので、インターネット上のどのDNSサーバに対して問い合わせを行なっても、必ず同じ答えを得ることができる。この前提に基づき、移動する計算機は通常最も近い位置にあるDNSサーバを通知してもらい、それを利用するということが現在は行われている。
【0008】
しかし、この「同じ答えを得られる」という保証は、DNSサーバの構成ツリーがインターネット上で唯一である、という前提に基づいている。しかし近年、ファイアウォールの普及にしたがって、ファイアウォール内での独立したDNSサーバツリーが構築される場合がある。また、SOHO(Small Office, Home Office)等ではインターネットへの接続が間欠的である場合があり、その中のネットワークでは、独立したrootサーバを持つ場合がある。
【0009】
このようにrootサーバが複数存在する、すなわちDNSサーバのツリーが複数存在する場合、移動する計算機の場合では、単純に近いDNSサーバを通知されたとしても、そのサーバがどのツリーに属するかによって応答が変わってしまい、問題が生じる。具体的には、あるツリーに存在するFQDNを異なるツリーのネームサーバに問い合わせても、そのようなホストは存在しないという返答が返されてしまう。
【0010】
複数のDNSサーバに問い合わせるシステムも現存するが、現在の方法では、DNSのプロトコルとして正しい応答が得られるサーバに出会うまで順番に問い合わせにいくという方法である。この方法では、「存在しない」というDNSのプロトコル上正しい応答を得ることができるため、たとえそれぞれ異なるツリー上にある複数のDNSサーバを設定したとしても結果的に求める応答とは異なるという問題があった。
【0011】
【発明が解決しようとする課題】
上述したように、従来の方法では、DNSのサーバが構成するツリーが複数ある場合に、どのDNSサーバに問い合わせれば良いのかが不明であり、望ましい応答を得ることができなかった。本発明は上記事情を考慮してなされたのもであり、DNSのツリーが複数ある場合でも、望ましい応答を高速に得ることができるDNS問い合わせ装置及びその方法を提供することを目的とする。
【0012】
【課題を解決するための手段】
上記した課題を解決するため、本発明のDNS問い合わせ装置は、接続されているネットワーク上での自装置の位置情報を受信する現在位置情報受付手段と、現在位置情報受付手段で受信した位置情報を記憶する現在位置管理手段と、問い合わせ可能なDNSサーバに関するサーバ情報を受信するサーバ情報受付手段と、サーバ情報受付手段で受信したサーバ情報を記憶するサーバ管理手段と、クライアントからDNSサーバに対する問い合わせ要求を受信する要求受付手段と、要求受付手段で受信した問い合わせ要求を、位置情報及び又はサーバ情報に基づいて決定した少なくとも1つ以上のDNSサーバに転送する要求転送手段と、要求転送手段で転送した問い合わせ要求に対する応答を受信する応答受信手段と、応答受信手段で受信した応答によって前記サーバ情報の書き換えが生じた場合は、サーバ情報を書きかえるサーバ情報変更手段と、このサーバ情報に基づき、問い合わせ要求に対応する応答結果を選択し、クライアントに該応答結果を応答する要求応答手段とを具備する。
【0013】
これにより、最適でないDNSサーバへの問い合わせがなくなり、問い合わせに最適なDNSサーバを選択することができる。
【0014】
さらに本発明のDNS問い合わせ装置は、応答結果を選択するためのアルゴリズムを受け付けるアルゴリズム受付手段と、アルゴリズム受付手段で受け付けたアルゴリズムを記憶するアルゴリズム管理手段と、アルゴリズム管理手段に記憶されたアルゴリズムを用いて、要求応答手段における応答結果を選択するアルゴリズム処理部とを具備する。
【0015】
これにより、選択する際のアルゴリズムを変更することができる。
【0016】
また、本発明のDNS問い合わせ方法は、接続されているネットワーク上での自装置の位置情報を受信する第1のステップと、第1のステップにて受信した位置情報を記憶する第2のステップと、問い合わせ可能なDNSサーバに関するサーバ情報を受信する第3のステップと、第3のステップにより受信したサーバ情報を記憶する第4のステップと、クライアントからDNSサーバに対する問い合わせ要求を受信する第5のステップと、第5のステップにて受信した問い合わせ要求を、位置情報及び又はサーバ情報に基づいて決定した少なくとも1つ以上のDNSサーバに転送する第6のステップと、第6のステップにて転送した問い合わせ要求に対する応答を受信する第7のステップと、第7のステップにて受信した応答によって前記サーバ情報の書き換えが生じた場合は、サーバ情報を書きかえる第8のステップと、このサーバ情報に基づき、問い合わせ要求に対応する応答結果を選択し、クライアントに該応答結果を応答する第9のステップとからなる。
【0017】
さらに、本発明のDNS問い合わせ方法は、応答結果を選択するためのアルゴリズムを受け付ける第10のステップと、第10のステップにて受け付けたアルゴリズムを記憶する第11のステップと、第11のステップにて記憶されたアルゴリズムを用いて、第9のステップにおける応答結果を選択する第12のステップとを具備する。
【0018】
また本発明のDNS問い合わせ方法が記録されたコンピュータ読み取り可能な記録媒体は、接続されているネットワーク上での自装置の位置情報を受信する第1のステップと、第1のステップにて受信した位置情報を記憶する第2のステップと、問い合わせ可能なDNSサーバに関するサーバ情報を受信する第3のステップと、第3のステップにより受信したサーバ情報を記憶する第4のステップと、クライアントからDNSサーバに対する問い合わせ要求を受信する第5のステップと、第5のステップにて受信した問い合わせ要求を、位置情報及び又はサーバ情報に基づいて決定した少なくとも1つ以上のDNSサーバに転送する第6のステップと、第6のステップにて転送した問い合わせ要求に対する応答を受信する第7のステップと、第7のステップにて受信した応答によって前記サーバ情報の書き換えが生じた場合は、サーバ情報を書きかえる第8のステップと、このサーバ情報に基づき、問い合わせ要求に対応する応答結果を選択し、クライアントに該応答結果を応答する第9のステップとからなるDNS問い合わせ方法を具備する。
【0019】
【発明の実施の形態】
【0020】
【実施例】
以下、本発明の一実施例を図面を参照して詳細に説明する。
ここでは、問い合わせの発行元をクライアントと呼び、DNSが動いているサーバをDNSサーバと呼ぶ。本発明は、DNSの問い合わせ及び応答を中継する方法と、その装置に関するものである。
【0021】
クライアントが発行した問い合わせを本実施例のクライアント側装置(移動対応端末)は受信し、これをクライアント側装置が現在知っているDNSサーバに対して同時に問い合わせを行なう。
【0022】
ここでは、クライアントが発行した問い合わせを「元問い合わせ」、本装置が新たに発行した問い合わせを「仮問い合わせ」と呼ぶ。DNSサーバからの応答は「仮応答」、クライアントに対して応答する応答を「最適応答」と呼ぶ。
【0023】
DNSの問い合わせは、問い合わせパケット内に含まれるIDによって識別される。クライアントは自分の問い合わせに対する応答が帰ってきたことを、自分が問い合わせたIDに等しいIDを含む応答が帰ってきたことで認識する。すなわち問い合わせにおいては、送信元とIDの組は一意である。本装置では、元問い合わせのIDを「元ID」、仮問い合わせで使用するIDを「仮ID」と呼ぶ。
【0024】
図1に本実施例の構成図を示す。この構成図は、本発明のDNS問い合わせ装置の構成を示すものであり、クライアントである移動対応端末内に含まれるものとする。また、ここでは移動対応端末に含まれる例を用いて説明するが、単独の装置として機能するように構成してもよい。
【0025】
図1において、要求受付部1は、クライアントからDNSサーバに対する元問い合わせパケットを受信する。要求転送部2は現在、本装置が知っているDNSサーバに対して仮問い合わせを転送する。サーバ情報群管理部3は、サーバ管理部4と現在位置管理部5を含み、現在知っているDNSサーバに関する情報を総合的に管理する。キャッシュ管理部6は、問い合わせの結果を一時的に保存する。
【0026】
現在位置管理部5は、移動対応端末が現在接続されているネットワークの位置情報を管理する。サーバ管理部4は、現在知っているDNSサーバに関する情報を管理する。要求管理部7は、現在発行中である仮問い合わせについて管理する。現在位置情報受付部8は移動ホストの現在位置を受け付け現在位置管理部5へ通知する部分である。
【0027】
サーバ受付部9は、現在問い合わせ可能なDNSサーバや、それらに関する情報を受け付け、サーバ管理部4へ通知する。アルゴリズム管理部10は、アルゴリズム受付部11から入力されたアルゴリズムに基づいて、最適応答を選択するためのアルゴリズムを管理する。
【0028】
アルゴリズム処理部12は、得られた仮応答から、アルゴリズムを使用して最適応答を選び出す。要求応答部13は、最適答パケットをクライアントに対して送信する。応答受信部14は、仮応答を受信する。応答選択部15は、得られた仮応答を処理する。
【0029】
現在位置管理部5は、本装置及びクライアントである移動対応端末が現在どのようなネットワークアドレスを持っているかを管理する部分である。この情報を現在位置テーブルと呼ぶ。現在位置テーブルは、図2に示すように、現在位置アドレス(A1NE1)からなる。ここで現在位置アドレスの情報は複数あって良い。
【0030】
サーバ管理部4は、現在知っているDNSサーバを管理するためのサーバ管理テーブルと、各サーバに関する付加情報を管理するサーバ付加情報テーブルを持つ。サーバ管理テーブルは、図3に示すようにDNSサーバのアドレス、失敗カウンタ、サーバの有効期限、からなる。
【0031】
ここで失敗カウンタは、現在まで連続して何回問い合わせに失敗したかを数える。サーバ付加情報テーブルは、DNSサーバに関する、管理番号、サーバ位置ネットワーク領域、現在位置ネットワーク領域、問合わせタイプ、優先度、キャッシュ可能フラグ、という情報からなる。
【0032】
ここで管理番号は自然数で、テーブル内で一意である。ネットワーク領域はネットワークアドレスとネットワークプレフィックス長からなる。ネットワークプレフィクス長32なら (IPv4の場合)、ネットワークアドレスがサーバのアドレスに等しいことを示し、これはすなわちそのDNSサーバ専用の付加情報ということになる。
【0033】
ここでは、最も最適と判断されたDNSサーバに対する付加情報であるタプルを選択する。
【0034】
また現在位置領域はネットワークアドレスとネットワークプレフィックス長からなる。現在位置情報と合致するタプルが選ばれる。複数の現在位置を持つ場合は、表の上位にあるタプルが選ばれる。
【0035】
問合わせタイプはDNSの問い合わせタイプを表す。ただし、どのような問合わせタ イプにも合致する『任意』タイプを指示してもよい。優先度はそのDNSサーバの優先度を表す。キャッシュ可能フラグは、応答をキャッシュ管理部6に渡すことができるかを表している。
【0036】
要求管理部12は、現在仮問い合わせを行なっている問合せについての情報を管理するための要求管理テーブルを持つ。要求管理テーブルは、図4に示すように仮ID、最適応答終了フラグ、元問い合わせパケットすべて、サーバ情報群テーブルを示すフラグ、からなる。サーバ情報群テーブルは、サーバ情報群管理部3から得られる情報で構成され、図5に示すサーバアドレス、失敗カウンタ、優先度、キャッシュ可能フラグ、からなる。
【0037】
要求管理部12は、新しい仮問い合わせを発行する度に、この要求管理テーブルに適切なタプルを追加していく。また、ある元応答に対する処理が終了する度に、応答選択部からの要求にしたがって、適切なタプルを削除する。
【0038】
キャッシュ管理部6は、得られた仮応答を保存し、適宜消去する部分である。キャッシュ管理部6は、キャッシュ管理テーブルを持つ。キャッシュ管理テーブルは、図6や図7に示すようにサーバアドレス、元問い合わせパケットすべて、仮応答パケットすべて、からなる。
【0039】
応答選択部5は、得られた仮応答処理する部分である。応答選択部5は、仮応答一時保存テーブルと、仮問い合わせ処理テーブルを持つ。仮応答一時保存テーブルは、図得られた仮応答を一時的に保存するテーブルである。仮応答一時保存テーブルは、得られた仮応答パケット、からなる。
【0040】
仮問い合わせ処理テーブルは、図8や図9に示すように、仮ID、サーバ情報群表、仮問い合わせ開始時間、からなる。
【0041】
アルゴリズム管理部10は、最適仮応答を選択するためのアルゴリズムを管理する、アルゴリズムテーブルであるアルゴリズム管理表12を持つ。最適仮応答を選択するアルゴリズムは、問合わせタイプに対して 1つ設定される。アルゴリズム管理表は、問合わせタイプ、使用するアルゴリズム、からなる。ここでアルゴリズムは、最適仮応答を選択するために、サーバ情報群表と、現在までに得られている仮応答の結果を使うことができる。
【0042】
次に、図1における各部の動作を詳細に説明する。
【0043】
現在位置情報受付部8は、本装置が搭載される端末が、現在接続されているネットワーク上のアドレス、あるいは失ったアドレスを受け取る。現在位置情報受付部8は、これを現在位置管理部5に通知する。
【0044】
現在位置管理部5は、現在位置情報に関する情報を現在位置情報受付部から受け取り、現在位置管理表にタプルを追加あるは削除する。また現在位置情報要求を受け取ると、現在位置管理表の複製を要求元に出力する。
【0045】
ここで位置情報とは、移動対応端末が現在接続しているネットワークにおける現在位置アドレスを示す。本実施例ではそのネットワーク上で動的又は静的に付与された IPアドレスを用いる。
【0046】
要求受付部1は、クライアントからの元問い合わせパケットを受信し、要求転送部2へこのパケットを渡す。要求転送部2は、要求受付部1から元問い合わせパケットを受け取り、このパケットから問い合わせタイプを得る。この問い合わせタイプをサーバ情報群管理部3に示し、サーバ情報群表を得る。これにより要求転送部2は、サーバ情報群表から、問い合わせるサーバ群に関する情報を得る。
【0047】
次に要求転送部2は、現在使用中のどの仮IDとも等しくない、新しい仮IDを一つ生成する。そして元問い合わせデータの複製を生成し、この仮 ID と元問い合わせデータとサーバ情報群表の複製と、生成要求を要求管理部7へと渡す。要求管理部7は、仮 IDを応答選択部15に通知する。
【0048】
次に要求転送部7は、サーバ群表内にある各サーバアドレスについて、キャッシュ管理部6にサーバアドレスと元問い合わせデータを示す。キャッシュ管理部6から仮応答パケットが得られた場合、キャッシュであることを示すためのマークをつけ、パケット内の元IDを仮IDに変更し、応答選択部15へ送る。
【0049】
そうでなければ、元問い合わせと全く同じ問い合わせを行なう仮問い合わせを仮IDを使って生成し、サーバに送信する。これはすなわち、仮問い合わせパケットの送出元が本装置が動作している端末であり、問い合わせる相手先がDNSサーバ、そして問い合わせの IDが仮 IDである以外は、DNSの問い合わせパケットとしての意味は、元問い合わせパケットと変わらないことを意味している。
【0050】
次に要求管理部7は、仮 ID と元問い合わせデータと、サーバ情報群表と、生成要求を渡されると、これを使って要求管理テーブルに新しいタプルを生成する。このとき最適応答終了フラグは偽とする。
【0051】
また、仮IDと削除要求を受けると、要求管理テーブルから適合するタプル、すなわち渡された仮IDを含むタプルを削除する。要求管理部7は、仮IDと確認要求を受けると、要求管理テーブルから適合するタプルを探し、適合するタプルがあれば真を、なければ偽を要求した部に伝える。
【0052】
また、仮 IDと最適応答終了通知を受け取ると、要求管理テーブルから適合するタプルを探し、適合するタプルがあれば、そのタプルの最適応答終了フラグを真にする。
【0053】
また、仮 IDと要求管理情報要求を受けると、要求管理テーブルから適合するタプルを探し、適合するタプルを返す。適合するタプルがなければ空タプルを返す。
【0054】
次にサーバ情報群管理部3は、問い合わせタイプを受け取ると、まず現在位置情報管理部5から現在位置情報を得る。次にサーバ管理部4からサーバ管理表を得る。
【0055】
次にサーバ管理部4に現在位置情報と問い合わせタイプを示し、これに適合する(すなわち現在位置が現在位置領域に最も厳密に含まれ、かつ問い合わせタイプが等しいタプルの集合となる)サーバ付加情報表の部分表を得る。
【0056】
ここで得られたサーバ付加情報表の部分表について、サーバ管理表内の各サーバアドレスについて、これに適合する(すなわちサーバアドレスがサーバネットワーク領域に最も厳密に含まれる)タプルを得る。
【0057】
このタプルと、現在注目しているサーバアドレスに合致するサーバ管理表のタプルから、サーバ群情報表のタプルを生成する。
【0058】
問い合わせタイプに『任意』が入っているタプルについては、現在の問い合わせタイプに変更する。最終的にはサーバ管理表内の各サーバアドレスについてサーバ群情報表のタプルが生成され、これがサーバ群情報表となる。
【0059】
ここで、優先度が 0であるタプルは削除する。得られたサーバ群情報表は要求元へ出力する。
【0060】
サーバ管理部4は、サーバ受付部9からサーバの追加、削除の要求に従ってサーバ管理表の適切なタプルを追加あるいは削除する。サーバ管理部4は、サーバ受付部9からサーバ付加情報の追加、削除の要求に従ってサーバ付加情報表の適切なタプルを追加あるいは削除する。
【0061】
またサーバ管理部4は、サーバ管理表の要求があった場合、これを要求元へ複製して出力する。またサーバ管理部4は、定期的にサーバ管理表を調べ、有効期限の切れたタプルをその時点で削除する。
【0062】
次にサーバ管理部4は、サーバアドレスとサーバの失敗カウンタ増加要求を受け取ると、指定されたサーバの失敗カウンタを1 増加させる。またサーバ管理部4は、サーバアドレスとサーバの失敗カウンタ消去要求を受け取ると、指定されたサーバの失敗カウンタを0にする。
【0063】
またサーバ管理部4は、現在位置情報と、問い合わせタイプと、サーバ付加情報表の要求があった場合、サーバ付加情報表内の各タプルについて、まず現在位置情報表内の各タプルについて、(問合わせタイプと現在位置情報が現在位置領域に含まれている)タプルの複製を得る。
【0064】
このとき、一つのサーバ位置ネットワーク領域について、1つのタプルにしなければならない。もし一つのサーバ位置ネットワーク領域について、複数のタプルが存在するようであれば、まず問合わせタイプを調べる。一つのサーバ位置ネットワーク領域について問合わせタイプが任意タイプと示された問合わせタイプに等しい問合わせタイプのタプルがあるようであれば、任意タイプのタプルは削除する。
【0065】
一つのサーバ位置ネットワーク領域について、現在位置情報表内にある1 つの現在位置アドレスについて、これを含む現在位置領域が複数タプル存在する場合には、最も狭い領域のタプルを残し、残りは削除する。
【0066】
それでなお、一つのサーバ位置ネットワーク領域について複数のタプルが存在する場合には、もっとも管理番号の小さいタプルを残し、あとは削除する。
【0067】
これによって生成されたサーバ付加情報表の部分表を要求部に渡す。
【0068】
応答受信部14は、仮応答パケットを受け取ると、受け取った仮応答パケットから、仮応答の仮IDを得る。応答受信部14は、要求管理部7に、仮IDと確認要求を伝える。答えが真であれば、仮応答パケットを応答選択部に渡す。答えが偽であれば、仮応答パケットを破棄する。
【0069】
応答選択部15は、仮IDを受理すると要求管理部に仮IDと要求管理情報要求を渡し、要求管理情報を得る。得られた要求管理情報内のサーバ情報群表と、現在時間から、仮問合わせ処理表のタプルを生成し、仮問合わせ処理表に追加する。
【0070】
また応答選択部は、一定時間経過した仮問合わせ処理表のタプルがあるか調べる。この時間はプログラマブルであり、使用者が指示できる。もし一定時間経過したタプルが存在する場合、各タプルについて、まず仮IDを得る。まず仮応答一時保存表から、仮IDに合致する仮応答をすべて取り出す。
【0071】
一定時間経過したタプルからサーバ群表を得る。サーバ群表にあるサーバで、かつ仮応答を得られていないサーバを調べ、この各サーバについて、サーバの失敗カウンタ増加要求をサーバ管理部4に伝える。
【0072】
まず仮応答一時保存表から、仮IDに合致する仮応答をすべて消去する。要求管理部7に仮 ID と要求管理情報要求を渡し、要求管理情報を得る。要求管理情報の中の最適要求終了フラグを確認する。
【0073】
ここで最適要求終了フラグが偽なら、元問合わせパケットに対応したサーバ失敗応答を生成し、要求応答部13に渡す。
【0074】
そして要求管理部7に仮 IDと削除要求を示し、対象の仮問合わせ処理表のタプルを削除する。
【0075】
応答選択部15は、仮応答を受け取ると、受け取った応答から仮IDを得る。
【0076】
仮IDから、対応する仮問合わせ処理表のタプルを得る。サーバ管理部4に対して、サーバ管理表を要求する。得られたサーバ管理表から、仮問合わせ処理表のタプル内のサーバ情報群テーブル内の各サーバについての失敗カウンタの値を更新する。
【0077】
仮応答が、キャッシュから得られたものでなく、仮応答の内容がエラーではなく、仮問合わせ処理表のタプル内のサーバ群表内の仮応答を送信したDNSサーバに合致するタプルのキャッシュ可能フラグが真であれば、得られた仮応答の複製をキャッシュ管理部に渡す。得られた仮応答を仮応答一時保存表へ追加する。要求管理部に仮IDと要求管理情報要求を渡し、要求管理情報を得る。要求管理情報の最適応答終了フラグが真であれば、処理を終了する。仮 IDから、これに合致する仮応答すべてを仮応答一時保存表から複製して取り出す。
【0078】
得られた仮応答集合と、サーバ情報群表の複製をアルゴリズム処理部に渡し、応答を待つ。アルゴリズム処理部の応答が空であれば、現在まだ最適仮応答を得られていないことを意味しているので、この処理は終了する。アルゴリズム処理部の応答が、渡した仮応答の集合のうちの1要素であれば、その得られた仮応答が最適仮応答であることを意味している。
【0079】
現在処理中の仮IDについて、仮応答一時保存表にある、この仮IDに等しい仮応答をすべて削除する。要求管理部に、仮IDと最適応答終了通知を示す。要求管理部7に、仮IDと要求管理情報要求を示し、要求管理情報を得る。得られた要求管理情報と仮 IDから、クライアントに送信する最適応答を生成する。すなわち、最適仮応答のうち、仮IDを元問合わせパケットのIDに変更し、送信元と受信先を元問合わせパケットのそれを逆にしたものにする。そして、作られた最適応答を要求応答部13へ渡す。
【0080】
要求応答部13は、渡された最適応答をクライアントへと送信する。
【0081】
アルゴリズム管理部10は、アルゴリズム受付部11からのアルゴリズム追加、削除の要求にしたがって、アルゴリズム表に適切なタプルを追加および削除する。
【0082】
アルゴリズム管理部10は、問い合わせタイプとアルゴリズム要求を受け取った時は、問い合わせタイプが等しいタプルを要求した部に渡す。問い合わせタイプが等しいタプルがなければ、任意タイプのタプルを渡す。
【0083】
アルゴリズム処理部12は、仮応答の集合を受け取ると、問い合わせタイプを調べ、アルゴリズム管理部10に対して問い合わせタイプとアルゴリズム要求を示し、アルゴリズムを得る。ここで得られたアルゴリズムを使用して、最適仮応答が渡された仮応答の集合内に存在するかを判定する。最適仮応答が渡された仮応答の集合内に存在する場合、要求した部に対して、最適仮応答を渡し、残りは破棄する。
【0084】
最適仮応答が渡された仮応答の集合内に存在しない場合、要求した部に対して、空を返して、渡された仮応答を破棄する。
【0085】
キャッシュ管理部6は、定期的にキャッシュ表を調べ、有効期限が切れたキャッシュデータを探す。有効期限が切れたキャッシュデータはキャッシュ表から破棄する。またキャッシュ管理部は、サーバアドレスと問い合わせタイプを示されると、送信者がサーバアドレスと等しく、問い合わせタイプが等しい仮応答をキャッシュ表から検索する。適合する仮応答があれば、この複製を要求した部へ返す。適合する仮応答がなければ、空を要求した部へ返す。
【0086】
またキャッシュ管理部6は、応答パケットを渡されると、キャッシュ表にこの応答を追加する。
【0087】
次に本発明が用いられる計算機ネットワークの構成例を図10に示す。
【0088】
サブネットワークNE1は複数の組織が接続する解放されたネットワーク(たとえばインターネット)に属されたサブネットワークである。
【0089】
DE1は外部ネットワーク上のDNSサーバである。外部ネットワークの属するDNSサーバの構成ツリーをTEとする。DNSサーバDE1はDNS構成ツリーTEに属する。
【0090】
これに対し、NAはファイヤーウォールサーバFWに保護されたネットワーク(private.com)である。
【0091】
ファイヤーウォールサーバFWは、外部ネットワーク(たとえばインターネット)に接続されているが、ここでは外部からファイヤーウォールサーバFW内へのアクセスはできないものとする。
【0092】
このネットワークNA内のDNSサーバDA1及び図示しないDA2の構成ツリーはネットワークNA内で終端している。この構成ツリーをTAとする。NA1及びNA2はネットワークNAに属するサブネットワークである。DA1及び図示しないDA2は同一の構成ツリーTAに属するDNSサーバである。
【0093】
M1はネットワーク上を移動することが可能な移動対応端末である。移動対応端末M1はDNSサーバ問い合わせ機能を具備する端末である。移動対応端末M1は現在サブネットワーク NE1 に接続されており、動的または静的なアドレスA1NE1を取得しているとする。
【0094】
本実施例では、private.comは、DNS構成ツリーTAにのみ属するドメイン名であり、かつネットワークNAでしか使用できないドメイン名であり、他のDNS サーバの構成ツリーに問い合わせてもNXDomain(知らないということ)の応答しか得られないものとする。
【0095】
また本実施例では、DNSの問い合わせパケットを、送信者、宛先サーバ、ID、問い合わせタイプ、問い合わせデータ、応答データの7つの値で省略して表わすこととする。この状態での本装置の各部が保持する表は次のようになっているとする。
【0096】
現在位置テーブルは、図2となる。すなわち、本端末の現在位置を示すアドレスはA1NE1である。サーバ管理表は、図3となっているとする。すなわち、本端末は、問い合わせ可能なDNSサーバとして、DA1とDE1を知っている。また、DA1はこれまで連続して 5回問い合わせに失敗している。
【0097】
また本端末におけるDA1のサーバの有効期限は時刻ET1であり、この期日までにサーバ情報が更新されなかった場合、このサーバのタプルはサーバ管理表のテーブルから削除される。
【0098】
サーバ付加情報表は、図11となっているとする。サーバ付加情報表は、DNSサーバが位置するネットワーク領域と、本端末の現在位置のネットワーク領域と、各DNSサーバの問い合わせタイプと、優先度、キャッシュ可視フラグの真偽とからなっている。
【0099】
要求管理テーブルは、現在空である。すなわち、いまは何の処理も行っていないことを意味している。同様にキャッシュ管理表、仮応答一時保存表、仮問い合わせ処理表も空とする。
【0100】
アルゴリズム管理表は、図 12となっているとする。これは任意の問い合わせタイプについて、指定されたアルゴリズムXを使用することを意味している。
【0101】
ここでは一例としてアルゴリズムXを、「仮応答の中身がNXDomain(応答としては正しいが質問の答えをサーバが知らないという意味)でなく、かつAnsewerRRが0(応答に有効な回答が含まれておらず、参考情報しか含まれていない)でもなく、かつエラーでもないものを『良い仮応答』と定義する。得られた仮応答のうち、良い仮応答であり、かつその良い仮応答を答えたサーバよりもより高い優先度を持つサーバがサーバ管理表に無いか、あるいはそのより高い優先度のサーバの仮応答が良い仮応答でないのであれば、そのサーバからの仮応答が最適である。また、得られた会応答が全て『良い仮応答』ではなく、失敗カウンタが言って一定値以下のサーバ全員の仮応答を全て保持しているのであれば、得られた仮応答の中にNXDomainがあれば最適応答はその仮応答となる。また得られた仮応答の中にAnswerRRが0であるものがあれば、最適応答はその仮応答となり、得られた仮応答が全てエラーであればエラーが最適仮応答となる。
【0102】
失敗カウンターが3以下のサーバ全ての仮応答を、全て保持していないのであれば、まだ最適応答は決定できないので空を返す。」と定義する。
【0103】
このアルゴリズムは、アルゴリズム受付部11より受け付けた他のアルゴリズムに適宜変更することが可能である。
【0104】
ここで端末M1が、foo.private.comという名前に対するアドレスを知るためのDNS 問い合わせを行ったとする。この問い合わせパケットは、(M1、M1、 4321、 A、 foo.private.com、空)と表記されているとする。
【0105】
移動端末M1に含まれた本装置がこれを要求受付部1で受け取る。これは要求転送部2に送られる。要求転送部2は、このパケットから問い合わせタイプ『A』を得る。
【0106】
次にサーバ情報群管理部3にこの問い合わせタイプ『A』を示し、サーバ情報群テーブルを要求する。
【0107】
サーバ情報群管理部3は、この問い合わせタイプ『A』を受け取り、サーバ情報群テーブルを生成する。まず、現在位置情報管理部8に対して、現在位置情報を要求する。
【0108】
現在位置情報管理部8は、図2に示す現在位置テーブルから、現在位置を返す。次に、サーバ情報群管理部3は、サーバ管理部4から図3に示すサーバ管理表を得る。
【0109】
次に、サーバ情報群管理部3は、サーバ管理部4に現在位置情報と問い合わせタイプ『A』を示し、サーバ付加情報表の部分集合を要求する。
【0110】
サーバ管理部4は、これを受けて図11に示す現在のサーバ付加情報表から、サーバ付加情報表の部分集合を生成する。この結果は図13となり、これをサーバ情報群管理部3に返す。
【0111】
次に、サーバ情報群管理部3は、得られたサーバ管理表(図3)と、サーバ付加情報表(図13)の部分集合から、サーバ情報群管理テーブルを作成する。得られるサーバ情報群管理テーブルは、図5となり、これを要求転送部2に返す。
【0112】
要求転送部2は、仮IDを生成する。ここでは『1』が仮IDとして割り当てられたとする。要求転送部2は、生成した仮ID『1』と、元問い合わせである (M1、 M1、 4321、 A、 foo.private.com、 空)と、得られたサーバ群管理テーブル(図 5)を要求管理部7に渡し、要求管理テーブルの生成を求める。
【0113】
要求管理部7は、これを受けて要求管理テーブルに新しいタプルを追加する。
【0114】
これにより、要求管理テーブルは図14に示すようになる。
【0115】
要求転送部2は、生成した仮ID『1』を、応答選択部15に伝える。応答選択部15は、要求管理部7に仮ID『1』を示し、要求管理情報を要求する。要求管理部7は、これを受けて要求管理テーブル内の仮ID『1』をもつタプルを返す。
【0116】
これはすなわち、図14の仮ID『1』の行である。応答選択部15は、このタプルを受けて、仮問い合わせ処理表に新しいタプルを追加する。
【0117】
現在時刻をCT1とすると、仮問い合わせ処理表は図8のようになる。要求転送部2は、得られたサーバ群管理テーブル(図5)から、各サーバ、即ちDA1及び DE1について、元問い合わせである (M1、 M1、 4321、A、 foo.private.com、空) に対する応答がないかどうかをキャッシュ管理部6に問い合わせる。
【0118】
キャッシュ管理部6はキャッシュ表が空なので、どちらの問い合わせについても空を返す。要求転送部2は、キャッシュ管理部6からの応答が空のため、仮問い合わせを DA1及び DE1について作成する、生成される仮問い合わせは、(A1NE1、 DA1、 1、 A、 foo.private.com、 空)、 (A1NE1、 DE1、 1、 A、 foo.private.com、 空)の 2つである。
【0119】
現在、端末M1はファイヤーウォールサーバFWの保護領域の外にあり、DNSサーバDA1への到達は不可能なため、DNSサーバDA1からの応答を受けることはない。
【0120】
端末M1から DNSサーバDE1へはパケットが届くが、private.comはDNS構成ツリーTAにしか属さないため、DNS構成ツリーTEに属するDNSサーバDE1は private.comについての回答を得られない。したがってDNSサーバDE1の応答は(DE1、 A1NE1、 1、 A、foo.private.com、 NXDomain)となる。
【0121】
DNSサーバDE1の応答が端末M1に届くと、応答受信部14がこれを受け取る。応答受信部14は、受け取ったパケットから仮IDを調べ、得られた仮ID『1』が要求管理テーブルにあるかどうかを要求管理部7に問い合わせる。
【0122】
仮ID『1』は要求管理テーブル内に存在するので、この仮応答は応答選択部15へ渡される。サーバ管理部4は、DNSサーバDE1のアドレスとこのサーバの失敗カウンタ消去要求を出して、DNSサーバDE1の失敗カウンタを 0にする。
【0123】
応答選択部15は、仮応答を受け取り、仮IDを得る。仮IDに対応するタプルを仮問い合わせ処理表(図8)から得る。またサーバ管理表を取得し、失敗カウンタを更新する。ここで、仮問い合わせ処理表内のサーバ群管理テーブル内の DNSサーバDE1についてのキャッシュ可能フラグが真のため、キャッシュ管理部6にこの仮応答をキャッシュするよう要求する。この結果、キャッシュ表は図6のようになる。
【0124】
次に要求管理部7に仮 ID『1』に対する要求管理テーブルのタプルを要求する。ここでは最適応答終了フラグが偽であるので、応答選択部15は、この仮応答を一時保存表に追加する。
【0125】
次に、仮 ID『1』に関する仮応答を、仮応答一時保存表から複製する。この結果、(DE1、 A1NE1、 1、 A、foo.private.com、 NXDomain)が得られる。この仮応答の集合と、サーバ情報群管理テーブル(図5)をアルゴリズム処理部12に渡す。
【0126】
アルゴリズム処理部12は、問い合わせタイプAを得て、これをアルゴリズム管理部10に示し、アルゴリズムを得る。すべてのサーバから仮応答が来ていないが、DNSサーバDA1の失敗カウンタが 5で、アルゴリズムで規定された 3を上回っているので、(DE1、 A1NE1、 1、 A、 foo.private.com、 NXDomain)が最適応答となる。
【0127】
よってここでは、(DE1、A1NE1、 1、 A、 NXDomain)を応答選択部15に返す。応答選択部15は、仮最適応答を得られたので、まず仮応答一時保存表から、仮ID『1』に適合する仮応答を消去する。
【0128】
この結果仮応答一時保存表は空となる。次に要求管理部7に、仮ID『1』に対する要求管理テーブルのタプルの最適応答終了を通知する。これにより、仮ID『1』に対する要求管理テーブルのタプルの最適応答終了フラグは真となる。
【0129】
次に仮最適応答を最適応答に変換する。これにより最適応答は(M1、 M1、 4321、 A、foo.private.com、 NXDomain)となる。
【0130】
この最適応答を要求応答部15へ渡す。この後、端末M1が、アドレスA1NE1を所持したまま、モデム等を使いネットワークNA1に接続し、アドレスA1NA1を得たとする。
【0131】
この場合のネットワーク構成図を図15に示す。このとき、現在位置テーブルは、図16に示すようになる。
【0132】
この状態で端末M1が、bar.private.comという名前に対するメール交換機アドレスを知るためのDNS問い合わせを行ったとする。この問い合わせパケットは、(M1、 M1、 4322、A、 bar.private.com、 空)であったとする。
【0133】
端末M1に内蔵されたDNSサーバ問い合わせ装置がこれをまず、要求受付部1で受け取る。これは要求転送部2に送られる。
【0134】
要求転送部2は、このパケットから問い合わせタイプ『A』を得て、サーバ情報群管理部3にこの問い合わせタイプ『A』を示し、サーバ情報群テーブルを要求する。この結果は前回と同様、図5となる。要求転送部2は、仮 IDを生成する。ここでは『2』が仮 IDとして割り当てられたとする。要求転送部2は、生成した仮ID『2』と、元問い合わせである(M1、 M1、4322、 A、 bar.private.com、 空)と、得られたサーバ群管理テーブル(図5)を要求管理部7に渡し、要求管理テーブルの生成を求める。
【0135】
要求管理部7は、これを受けて要求管理テーブルに新しいタプルを追加する。これにより、要求管理テーブルは図4に示すようになる。要求転送部7は、生成した仮ID『2』を、応答選択部15に伝える。応答選択部15は、仮問い合わせ処理表に新しいタプルを追加する。
【0136】
ここで現在時刻を CT2とすると、仮問い合わせ処理表は図9のようになる。
【0137】
要求転送部2は、得られたサーバ群管理テーブル図5から、各DNSサーバ、即ち DA1 及び DE1について、元問い合わせである (M1、 M1、 4322、 A、 bar.private.com、空)に対する応答がないかどうかをキャッシュ管理部6に問い合わせる。
【0138】
キャッシュ管理部6は、この問い合わせに合致するキャッシュがキャッシュ表にないので、どちらの問い合わせについても空を返す。要求転送部2は、キャッシュ管理部6からの応答が空のため、仮問い合わせをDNSサーバDA1及びDE1について作成する。生成される仮問い合わせは、(A1NE1、 DA1、 2、 A、bar.private.com、 空)、 (A1NE1、 DE1、 2、 A、 bar.private.com、 空)の 2つである。
【0139】
これにより端末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)であったとする。
【0140】
また、パケットは DNSサーバDA1の方が早く端末M1に到着したとする。DNSサーバDA1の応答が端末M1に届くと、応答受信部14がこれを受け取る。ここでは仮ID『2』が要求管理テーブルにあるため、この仮応答は応答選択部15へ渡される。
【0141】
サーバ管理部4は、DNSサーバDA1のアドレスとこのサーバの失敗カウンタ消去要求出して、DNSサーバDA1の失敗カウンタを0にする。
【0142】
応答選択部15は、仮応答を受け取り、仮IDを得る。次にその仮IDに対応するタプルを仮問い合わせ処理表(図8)から得る。次にサーバ管理表を取得し、失敗カウンタを更新する。この結果、DNSサーバDA1の失敗カウンタは0になる。
【0143】
次に仮問い合わせ処理表(図8)内のサーバ群管理テーブル内のDNSサーバDA1についてのキャッシュ可能フラグが真のため、キャッシュ管理部にこの仮応答をキャッシュするよう要求する。この結果、キャッシュ管理テーブルは図7に示すようになる。
【0144】
次に要求管理部7に仮 ID『2』に対する要求管理テーブルのタプルを要求する。ここでは最適応答終了フラグが偽であるので、応答選択部15は、この仮応答を一時保存表に追加する。
【0145】
次に、仮 ID『2』に関する仮応答を、仮応答一時保存表から複製する。この結果、(DA1、 A1NA1、 2、 A、bar.private.com、 A3NA1)が得られる。
【0146】
この仮応答の集合と、サーバ情報群管理テーブル(図5)をアルゴリズム処理部12に渡す。アルゴリズム処理部12は、問い合わせタイプ Aを得て、これをアルゴリズム管理部10に示し、アルゴリズムを得る。すべてのDNSサーバから仮応答が来ていないが、この仮応答は良い仮応答で、より大きい優先度を持つDNSサーバはないので、(DA1、A1NA1、2、 A、 bar.private.com、 A3NA1)が仮最適応答であり、これを応答選択部15に返す。
【0147】
応答選択部15は、仮最適応答を得られたので、仮応答一時保存表から、仮ID『2』に適合する仮応答を消去し、要求管理部7に、仮ID『2』に対する要求管理テーブルのタプルの最適応答終了を通知する。この結果、仮ID『2』に対する要求管理テーブルのタプルの最適応答終了フラグは真となる。
【0148】
次にこの仮最適応答を最適応答に変換する、最適応答は (M1、 M1、 4322、 A、 bar.private.com、A3NA1)となり、これを要求応答部13へ渡す。
【0149】
これにより端末M1は、異なるDNSツリーを持つネットワークに接続するときでも、それぞれの接続における最適応答を得ることができる。
【0150】
【発明の効果】
以上、本発明によれば、異なるDNSサーバの構成ツリーに属する問い合わせにもDNSサーバへの接続が可能であれば、直ちに応答を得ることができる。また、所定のDNSサーバへ接続できなくなった場合には、一定の時間後にはそのDNSサーバからの応答を期待しなくなるので、DNSサーバへの接続がどのようになっていても、問い合わせ可能な範囲でより適した応答を高速な応答速度をもってユーザは得ることできる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態を示すDNS問い合わせ装置の構成図
【図2】 本発明の一実施の形態で用いられる現在位置テーブルの説明図
【図3】 本発明の一実施の形態で用いられるサーバ管理テーブルの説明図
【図4】 本発明の一実施の形態で用いられる要求管理テーブルの説明図
【図5】 本発明の一実施の形態で用いられるサーバ情報群テーブルの説明
図
【図6】 本発明の一実施の形態で用いられるキャッシュ管理テーブルの説明図
【図7】 本発明の一実施の形態で用いられるキャッシュ管理テーブルの説明図
【図8】 本発明の一実施の形態で用いられる仮問い合わせ処理テーブルの説明図
【図9】 本発明の一実施の形態で用いられる仮問い合わせ処理テーブルの説明図
【図10】 本発明の一実施の形態で用いられる計算機ネットワークの構成図
【図11】 本発明の一実施の形態で用いられるサーバ付加情報表の説明図
【図12】 本発明の一実施の形態で用いられるアルゴリズム管理表の説明図
【図13】 本発明の一実施の形態で用いられるサーバ付加情報表の説明図
【図14】 本発明の一実施の形態で用いられる要求管理テーブルの説明図
【図15】 本発明の一実施の形態で用いられる計算機ネットワークの構成
図
【図16】 本発明の一実施の形態で用いられる現在位置テーブルの説明図
【符号の説明】
1…要求受付部
2…要求転送部
3…サーバ情報群管理部
4…サーバ管理部
5…現在位置情管理部
6…キャッシュ管理部
7…要求管理部
8…現在位置情報受付部
9…サーバ受付部
10…アルゴリズム管理部
11…アルゴリズム受付部
12…アルゴリズム処理部
Claims (5)
- 接続されているネットワーク上での自装置の位置情報を受信する現在位置情報受付手段と、
前記現在位置情報受付手段で受信した位置情報を記憶する現在位置管理手段と、
問い合わせ可能なDNSサーバに関するサーバ情報を受信するサーバ情報受付手段と、
前記サーバ情報受付手段で受信したサーバ情報を記憶するサーバ管理手段と、
DNSサーバの位置と自装置の位置及びDNSサーバへの問い合わせタイプの関係を付加情報として記憶する付加情報管理手段と、
クライアントからDNSサーバに対する問い合わせ要求を受信する要求受付手段と、
前記要求受付手段で受信した問い合わせ要求を、前記位置情報、前記サーバ情報及び前記付加情報の組み合わせに基づいて少なくとも1つ以上のDNSサーバを決定し、この決定したサーバが複数であった場合にそれぞれのDNSサーバに対し並行して転送する要求転送手段と、
前記要求転送手段で転送した問い合わせ要求に対する応答を受信する応答受信手段と、
前記応答受信手段で受信した応答によって前記サーバ情報の書き換えが生じた場合は、前記サーバ情報を書きかえるサーバ情報変更手段と、
このサーバ情報に基づき、前記問い合わせ要求に対応する応答結果を選択し、前記クライアントに該応答結果を応答する要求応答手段とを具備したことを特徴とするDNS問い合わせ装置。 - 前記応答結果を選択するためのアルゴリズムを受け付けるアルゴリズム受付手段と、
前記アルゴリズム受付手段で受け付けたアルゴリズムを記憶するアルゴリズム管理手段と、
前記アルゴリズム管理手段に記憶されたアルゴリズムを用いて、前記要求応答手段における応答結果を選択するアルゴリズム処理部とを更に具備したことを特徴とする請求項1記載のDNS問い合わせ装置。 - 接続されているネットワーク上での自装置の位置情報を受信する第1のステップと、
前記第1のステップにて受信した位置情報を記憶する第2のステップと、
問い合わせ可能なDNSサーバに関するサーバ情報を受信する第3のステップと、
前記第3のステップにより受信したサーバ情報を記憶する第4のステップと、
DNSサーバの位置と自装置の位置及びDNSサーバへの問い合わせタイプの関係を付加情報として記憶する第5のステップと、
クライアントからDNSサーバに対する問い合わせ要求を受信する第6のステップと、
前記第6のステップにて受信した問い合わせ要求を、前記位置情報、前記サーバ情報及び前記付加情報の組み合わせに基づいて少なくとも1つ以上のDNSサーバを決定し、この決定したサーバが複数であった場合にそれぞれのDNSサーバに対し並行して転送する第7のステップと、
前記第7のステップにて転送した問い合わせ要求に対する応答を受信する第8のステップと、
前記第8のステップにて受信した応答によって前記サーバ情報の書き換えが生じた場合は、前記サーバ情報を書きかえる第9のステップと、
このサーバ情報に基づき、前記問い合わせ要求に対応する応答結果を選択し、前記クライアントに該応答結果を応答する第10のステップとからなることを特徴とするDNS問い合わせ方法。 - 前記応答結果を選択するためのアルゴリズムを受け付ける第11のステップと、
前記第11のステップにて受け付けたアルゴリズムを記憶する第12のステップと、
前記第12のステップにて記憶されたアルゴリズムを用いて、前記第10のステップにおける応答結果を選択する第13のステップとを更に具備したことを特徴とする請求項3記載のDNS問い合わせ方法。 - DNS問い合わせ方法が記録されたコンピュータ読み取り可能な記録媒体において、
前記DNS問い合わせ方法は、
接続されているネットワーク上での自装置の位置情報を受信する第1のステップと、
前記第1のステップにて受信した位置情報を記憶する第2のステップと、
問い合わせ可能なDNSサーバに関するサーバ情報を受信する第3のステップと、
前記第3のステップにより受信したサーバ情報を記憶する第4のステップと、
DNSサーバの位置と自装置の位置及びDNSサーバへの問い合わせタイプの関係を付加情報として記憶する第5のステップと、
クライアントからDNSサーバに対する問い合わせ要求を受信する第6のステップと、
前記第6のステップにて受信した問い合わせ要求を、前記位置情報、前記サーバ情報及び前記付加情報の組み合わせに基づいて少なくとも1つ以上のDNSサーバを決定し、この決定したサーバが複数であった場合にそれぞれのDNSサーバに対し並行して転送する第7のステップと、
前記第7のステップにて転送した問い合わせ要求に対する応答を受信する第8のステップと、
前記第8のステップにて受信した応答によって前記サーバ情報の書き換えが生じた場合は、前記サーバ情報を書きかえる第9のステップと、
このサーバ情報に基づき、前記問い合わせ要求に対応する応答結果を選択し、前記クライアントに該応答結果を応答する第10のステップとからなることを特徴とする記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27746299A JP3725376B2 (ja) | 1999-09-29 | 1999-09-29 | Dns問い合わせ装置、dns問い合わせ方法、および記録媒体 |
US09/671,245 US7197574B1 (en) | 1999-09-29 | 2000-09-28 | Domain name system inquiry apparatus, domain name system inquiry method, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27746299A JP3725376B2 (ja) | 1999-09-29 | 1999-09-29 | Dns問い合わせ装置、dns問い合わせ方法、および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001103092A JP2001103092A (ja) | 2001-04-13 |
JP3725376B2 true JP3725376B2 (ja) | 2005-12-07 |
Family
ID=17583939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27746299A Expired - Fee Related JP3725376B2 (ja) | 1999-09-29 | 1999-09-29 | Dns問い合わせ装置、dns問い合わせ方法、および記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7197574B1 (ja) |
JP (1) | JP3725376B2 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6671757B1 (en) | 2000-01-26 | 2003-12-30 | Fusionone, Inc. | Data transfer and synchronization system |
US8156074B1 (en) | 2000-01-26 | 2012-04-10 | Synchronoss Technologies, Inc. | Data transfer and synchronization system |
US8620286B2 (en) | 2004-02-27 | 2013-12-31 | Synchronoss Technologies, Inc. | Method and system for promoting and transferring licensed content and applications |
US7895334B1 (en) | 2000-07-19 | 2011-02-22 | Fusionone, Inc. | Remote access communication architecture apparatus and method |
US8073954B1 (en) | 2000-07-19 | 2011-12-06 | Synchronoss Technologies, Inc. | Method and apparatus for a secure remote access system |
US7818435B1 (en) * | 2000-12-14 | 2010-10-19 | Fusionone, Inc. | Reverse proxy mechanism for retrieving electronic content associated with a local network |
US8615566B1 (en) | 2001-03-23 | 2013-12-24 | Synchronoss Technologies, Inc. | Apparatus and method for operational support of remote network systems |
AU2003221019A1 (en) * | 2003-03-24 | 2004-10-18 | Allied Telesis K.K. | Data repeater, communication system, data relaying method, computer program for realizing it using computer |
WO2005010715A2 (en) | 2003-07-21 | 2005-02-03 | Fusionone, Inc. | Device message management system |
US7634509B2 (en) * | 2003-11-07 | 2009-12-15 | Fusionone, Inc. | Personal information space management system and method |
US20080082421A1 (en) * | 2004-05-12 | 2008-04-03 | Richard Onyon | Monetization of an advanced contact identification system |
ES2585353T3 (es) | 2004-05-12 | 2016-10-05 | Synchronoss Technologies, Inc. | Sistema de identificación de contactos avanzado |
US9542076B1 (en) | 2004-05-12 | 2017-01-10 | Synchronoss Technologies, Inc. | System for and method of updating a personal profile |
US7436783B2 (en) * | 2005-04-04 | 2008-10-14 | Apple Inc. | Method and apparatus for detecting a router that improperly responds to ARP requests |
JP2008546253A (ja) * | 2005-05-19 | 2008-12-18 | フュージョンワン インコーポレイテッド | 機密保護方法及び情報サービス提供方法 |
JP2006323786A (ja) * | 2005-05-20 | 2006-11-30 | Nippon Hoso Kyokai <Nhk> | 名前解決装置および名前解決プログラム |
KR100776047B1 (ko) | 2006-01-19 | 2007-11-16 | 삼성전자주식회사 | 서버의 주소 정보를 업데이트하는 dns의 동작 방법 및그 방법을 채용한 dns |
FI20065179A0 (fi) * | 2006-03-20 | 2006-03-20 | Nixu Sofware Oy | Kokonaisuudeksi koottu nimipalvelin |
US8181111B1 (en) | 2007-12-31 | 2012-05-15 | Synchronoss Technologies, Inc. | System and method for providing social context to digital activity |
US9244882B2 (en) * | 2009-02-26 | 2016-01-26 | Red Hat, Inc. | Provisioning network resources based on environment |
US8255006B1 (en) | 2009-11-10 | 2012-08-28 | Fusionone, Inc. | Event dependent notification system and method |
FR2955405B1 (fr) * | 2010-01-19 | 2015-08-21 | Alcatel Lucent | Procede et systeme de prevention d'empoisonnement des caches dns |
US8943428B2 (en) | 2010-11-01 | 2015-01-27 | Synchronoss Technologies, Inc. | System for and method of field mapping |
JP6326971B2 (ja) * | 2014-05-27 | 2018-05-23 | コニカミノルタ株式会社 | 中継装置、中継方法および中継プログラム |
US10270806B2 (en) * | 2015-12-15 | 2019-04-23 | Microsoft Technology Licensing, Llc | Defense against NXDOMAIN hijacking in domain name systems |
JP6569692B2 (ja) * | 2017-02-09 | 2019-09-04 | 日本電気株式会社 | 管理サーバ、通信システム、管理サーバの制御方法、及びプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560634B1 (en) * | 1997-08-15 | 2003-05-06 | Verisign, Inc. | Method of determining unavailability of an internet domain name |
US6092100A (en) * | 1997-11-21 | 2000-07-18 | International Business Machines Corporation | Method for intelligently resolving entry of an incorrect uniform resource locator (URL) |
US6650748B1 (en) * | 1998-04-13 | 2003-11-18 | Avaya Technology Corp. | Multiple call handling in a call center |
US6578066B1 (en) * | 1999-09-17 | 2003-06-10 | Alteon Websystems | Distributed load-balancing internet servers |
US6304913B1 (en) * | 1998-11-09 | 2001-10-16 | Telefonaktiebolaget L M Ericsson (Publ) | Internet system and method for selecting a closest server from a plurality of alternative servers |
EP1157524B1 (en) * | 1999-03-03 | 2007-12-19 | Ultradns, Inc. | Scalable and efficient domain name resolution |
US6298341B1 (en) * | 1999-09-22 | 2001-10-02 | Raredomains.Com, Llc | System and method for generating domain names and for facilitating registration and transfer of the same |
US6857009B1 (en) * | 1999-10-22 | 2005-02-15 | Nomadix, Inc. | System and method for network access without reconfiguration |
-
1999
- 1999-09-29 JP JP27746299A patent/JP3725376B2/ja not_active Expired - Fee Related
-
2000
- 2000-09-28 US US09/671,245 patent/US7197574B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001103092A (ja) | 2001-04-13 |
US7197574B1 (en) | 2007-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3725376B2 (ja) | Dns問い合わせ装置、dns問い合わせ方法、および記録媒体 | |
US9961164B2 (en) | DNS overriding-based methods of accelerating content delivery | |
US6016512A (en) | Enhanced domain name service using a most frequently used domain names table and a validity code table | |
US7194553B2 (en) | Resolving virtual network names | |
JP4592184B2 (ja) | 静的な識別子が付され、かつネットワークに断続的に接続される装置へのアクセス方法および装置 | |
US6262987B1 (en) | System and method for reducing latencies while translating internet host name-address bindings | |
US7707289B1 (en) | Method and system for enabling persistent access to virtual servers by an LDNS server | |
US9130970B2 (en) | Systems for accelerating content delivery via DNS overriding | |
US7937471B2 (en) | Creating a public identity for an entity on a network | |
US8819273B2 (en) | Logical routing system | |
US6374300B2 (en) | Method and system for storing load balancing information with an HTTP cookie | |
US10212127B2 (en) | Provisioning tool for a content delivery network (CDN) | |
JP2011517193A (ja) | ルーティングをリクエストするための方法とシステム | |
JP2004312609A (ja) | 動的dns登録方法、ドメイン名解決方法、代理サーバ、及びアドレス変換装置 | |
EP2426894B1 (en) | System and method of processing DNS request and DNS reply | |
CN100419729C (zh) | 一种内容服务器系统及其处理过程 | |
JP5241665B2 (ja) | 通信装置、通信システムおよび通信方法 | |
CN103380607A (zh) | Dns客户端地址、rr ttl更新的方法、装置及系统 | |
WO2002039699A1 (en) | Domain name system extensions to support reverse proxy operations and layer-7 redirection | |
JP3570606B2 (ja) | データ検索装置および方法 | |
JP3708085B2 (ja) | Dns問い合わせ装置およびdns問い合わせ方法 | |
JP4426183B2 (ja) | 論理経路制御システム | |
JP2000357119A (ja) | ディレクトリ・サービス・システム | |
WO2000001112A1 (en) | Decentralized name services | |
Patvarczki | Q1) A survey of work to distribute requests in a data center (Web cluster) was done by Cardellini, et al in a 2002 ACM Computing Surveys paper [Cardellini et al. 2002]. Briefly outline the primary architectural approaches described in this paper for distributing requests within a data center. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050307 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050414 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050921 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080930 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090930 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090930 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100930 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110930 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110930 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120930 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120930 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130930 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |