JP2007243248A - 検索処理装置、検索処理方法および検索処理プログラム - Google Patents

検索処理装置、検索処理方法および検索処理プログラム Download PDF

Info

Publication number
JP2007243248A
JP2007243248A JP2006058669A JP2006058669A JP2007243248A JP 2007243248 A JP2007243248 A JP 2007243248A JP 2006058669 A JP2006058669 A JP 2006058669A JP 2006058669 A JP2006058669 A JP 2006058669A JP 2007243248 A JP2007243248 A JP 2007243248A
Authority
JP
Japan
Prior art keywords
hash value
domain name
label
delegation destination
search
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.)
Granted
Application number
JP2006058669A
Other languages
English (en)
Other versions
JP4331733B2 (ja
Inventor
Yuichi Shimamura
祐一 島村
Mamoru Hirano
衛 平野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006058669A priority Critical patent/JP4331733B2/ja
Publication of JP2007243248A publication Critical patent/JP2007243248A/ja
Application granted granted Critical
Publication of JP4331733B2 publication Critical patent/JP4331733B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことを課題とする。
【解決手段】権威サーバ30は、受信したDNSクエリ要求に係るドメイン名に基づいて、ハッシュ値計算アルゴリズム(ハッシュ関数)を用いて、当該ドメインの末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する。そして、権威サーバ30は、算出された末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて当該ドメイン名に対するリソースレコードを検索し、算出された当該ドメイン名の末尾から各ラベルまでのハッシュ値を用いて当該ドメイン名の委譲先を検索する。
【選択図】 図1

Description

この発明は、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理装置、検索処理方法および検索処理プログラムに関する。
従来より、一般的に多く利用されているインターネットサービスにおいて、ホスト名(ドメイン名)とIPアドレス(Internet Protocol Address)とを対応させるDNSシステム(Domain Name System)がある。かかるDNSシステムにおいて、階層的なドメイン名からなる名前空間は、複数の権威サーバにより管理されている。この名前空間の一番最上位を管理する権威サーバは、ルートサーバと呼ばれ、その他の権威サーバは、ルートサーバから直接的または間接的に管理する名前空間の委譲を受けている。
このような構成のもと、名前解決問合せ(DNSクエリ)を受信すると、権威サーバは、リソースレコード検索処理(RR検索処理)を行うとともに、そのドメイン名が他の権威サーバに委譲されていないか確認を行う委譲先検索処理(NS−RR検索処置)を行う。そして、他の権威サーバに委譲されている場合、権威サーバは、NS−RRという委譲を示すリソースレコードをクエリ応答として返信する。
具体的に説明すると、図7に示したように、DNSクライアントから送信された名前解決問合せ(QNAME=ns2.sales.ntt.co.jp.)を受信したキャッシュサーバは、「ntt.co.jp.」ゾーンを管理する権威サーバAに、受信した名前解決問合せを送信する。そして、名前解決問合せを受信した権威サーバAは、リソースレコード検索処理と委譲先検索処理を実行し、委譲先処理にて「sales.ntt.co.jp.」ゾーンが権威サーバBに委譲されていることを確認すると、権威サーバBを示すNS−RRをクエリ応答としてキャッシュサーバに送信する。その後、再び、キャッシュサーバは「sales.ntt.co.jp.」ゾーンを管理する権威サーバBに名前解決問合せ(QNAME=ns2.sales.ntt.co.jp.)を送信し、権威サーバBは、リソースレコード検索処理と委譲先処理とを実行して、得られたリソースレコード(Answer=A-RR;192.168.1.1)をクエリ応答としてキャッシュサーバに送信する。そして、キャッシュサーバは、名前解決問合せを送信したDNSクライアントに、受信したクエリ応答を送信することで、DNSクライアントは、「ns2.sales.ntt.co.jp.」の名前解決を行うことができる。
このように、名前解決問合せ(DNSクエリ)を受信すると、権威サーバは、リソースレコード検索処理を行うとともに、委譲先検索処理を行うため、各々の処理を効率的に行う必要があった。そこで、処理を効率的に行う技術として、権威サーバ内データベースのインデックスにツリーを採用した技術やハッシュテーブルを採用した技術(例えば、特許文献1)が開示されている。
例えば、インデックスにツリーを採用した技術の場合、図8に示したように、名前解決問合せ(QNAME=ns2.sales.ntt.co.jp.)を受信した権威サーバAは、自身が管理するツリーを順に検索していき、委譲されているドメインを発見する。ここでは、まず、ftp1ドメインを検索し、次に、ns1ドメインを検索し、そして、salesドメインを検索して、委譲先(権威サーバB)を発見し、この発見した委譲先を正式回答としてクエリ応答を送信する。
また、インデックスにハッシュテーブルを採用した技術の場合、図9に示したように、
名前解決問合せ(QNAME=ns2.sales.ntt.co.jp.)を受信した権威サーバAは、はじめに、「ns2.sales」のハッシュ値を計算してハッシュテーブルを検索し、この検索結果を正式回答(クエリ回答)の候補とする。次に、「sales」のハッシュ値を計算してハッシュテーブルを検索し、検索結果に委譲先(NS−RR)が存在するので、このNS−RRレコードを正式回答としてクエリ応答を送信する。
特開2005−44125号公報
ところで、上記した従来の技術は、インデックスにツリーを採用した技術の場合、リソースレコード検索処理と委譲先検索処理とを、必ずしも効率的に行うことができず検索処理を高速に行えないという課題があり、また、ハッシュテーブルを採用した技術の場合、リソースレコード検索処理と委譲先検索処理とで別個のハッシュ値を算出する必要があるため、処理が効率的でなく高速に行うことができないという課題がある。
この課題をそれぞれ具体的に説明すると、ツリーを採用した場合、リソースレコード検索処理におけるツリーの検索過程で、委譲先を示すNS−RRを発見することが可能であるため、別個に委譲先(NS−RR)処理を行う必要がない。しかしながら、ツリーの高さが深ければ、検索に時間がかかるため、必ずしも効率的に処理を行えるとは言い難い。
また、ハッシュテーブルを採用した技術の場合、各ドメインごとにハッシュ値を算出して、委譲されているか否かを確認するために、ラベル数(ドメイン名を「.」で区切った単位)を短くしながら、ハッシュテーブルを検索する必要があるため、何度もハッシュ値の計算が必要であり、処理が効率的でない。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ハッシュテーブルによるインデックスを採用する場合において、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である検索処理装置、検索処理方法および検索処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理装置であって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出するハッシュ値算出手段と、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対してリソースレコードを検索するリソースレコード検索手段と、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手段と、を備えたことを特徴とする。
また、請求項2に係る発明は、上記の発明において、前記委譲先検索手段は、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該末尾に近いラベルまでのハッシュ値から順に前記ドメイン名の委譲先を検索することを特徴とする。
また、請求項3に係る発明は、上記の発明において、前記委譲先の情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、前記ハッシュ値算出手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出することを特徴とする。
また、請求項4に係る発明は、上記の発明において、前記委譲先を示す情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、前記委譲先検索手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いて前記ドメイン名の委譲先を検索することを特徴とする。
また、請求項5に係る発明は、上記の発明において、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理方法であって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出工程と、前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対してリソースレコードを検索するリソースレコード検索工程と、前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索工程と、を含んだことを特徴とする。
また、請求項6に係る発明は、上記の発明において、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する方法をコンピュータに実行させる検索処理プログラムであって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出手順と、前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対してリソースレコードを検索するリソースレコード検索手順と、前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手順と、をコンピュータに実行させることを特徴とする。
請求項1、5または6の発明によれば、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出し、ドメイン名の先頭までのハッシュ値を用いてドメイン名に対してリソースレコードを検索し、ドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索するので、ハッシュテーブルによるインデックスを採用する場合において、リソースレコード検索処理および委譲先検索処理それぞれで別個にハッシュ値を算出する必要がなくなり、ツリーによるインデックスを採用する場合と比較しても、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である。
また、請求項2の発明によれば、ドメイン名の末尾から各ラベルまでのハッシュ値のうち、末尾に近いラベルまでのハッシュ値から順にドメイン名の委譲先を検索するので、ドメイン名の先頭方向から委譲先を検索する手法に比較して、委譲先を早く発見する可能性が高く、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。
また、請求項3の発明によれば、委譲先の情報が含まれるラベルを示す委譲先情報(例えば、末尾から2ラベル目、4ラベル目)を予め記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値(例えば、末尾から2ラベル目までのハッシュ値、4ラベル目までのハッシュ値)のみを算出するので、委譲先の情報が含まれないラベルまでのハッシュ値を算出する必要がなくなり、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。
また、請求項4の発明によれば、委譲先の情報が含まれるラベルを示す委譲先情報(例えば、末尾から2ラベル目、4ラベル目)を予め記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値(例えば、末尾から2ラベル目までのハッシュ値、4ラベル目までのハッシュ値)のみを用いてドメイン名の委譲先を検索するので、委譲先の情報が含まれないラベルまでのハッシュ値について委譲先を検索する必要がなくなり、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。
以下に添付図面を参照して、この発明に係る検索処理装置、検索処理方法および検索処理プログラムの実施例を詳細に説明する。
以下では、実施例1に係る検索処理装置の概要および特徴、検索処理装置の構成および処理の流れを説明し、最後に実施例1による効果を説明する。なお、以下の実施例1に登場する「権威サーバ」とは、特許請求の範囲に記載の「検索処理装置」に対応する。
[検索処理装置(権威サーバ)の概要および特徴]
まず最初に、図1を用いて、実施例1に係る検索処理装置の概要および特徴を説明する。図1は、実施例1に係る検索処理装置(権威サーバ)を含むDNSシステムの全体構成を示すDNSシステム構成図である。
同図に示すように、かかるDNSシステムにおいて、複数の権威サーバ30と複数のキャッシュサーバ20とがインターネットを介して接続される。また、キャッシュサーバ20には、それぞれ複数のDNSクライアント10がインターネットを介して接続されている。
このような構成のもと、実施例1に係る権威サーバ30は、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索することを概要とするものであり、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である点に主たる特徴がある。
この主たる特徴を具体的に説明すると、DNSクライアント10は、DNSクエリ要求をキャッシュサーバ20に送信する(図1の(1))。そして、キャッシュサーバ20は、受信したDNSクエリ要求に対応したドメインを管理する権威サーバ30に、DNSクエリ要求を送信する(図1の(2))。権威サーバ30は、受信したDNSクエリ要求に基づいて、ハッシュ値計算を行い、検索処理を実行する(図1の(3))。そして、権威サーバ30は、検索結果をクエリ応答としてキャッシュサーバ20に送信する(図1の(4))。キャッシュサーバ20は、受信したクエリ応答をDNSクエリ要求の送信元であるDNSクライアント10に送信する(図1の(5))。
ここで、権威サーバ30による検索処理について、例を挙げて説明する。DNSクエリ要求として「www.lab.ntt.co.jp.」の検索要求を受信すると、権威サーバ30は、図3に示したハッシュ値計算アルゴリズム(ハッシュ関数)を用いて、「www.lab.ntt.co.jp.」を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する。具体的には、図4に示したように、まず、「.jp.」をハッシュ関数に入力し、ハッシュ値H(1)を算出する(図4の(1))。次に、算出したH(1)を用いて「.co.jp.」のハッシュ値H(2)を算出する(図4の(2))。このようにして、「www.lab.ntt.co.jp.」の各ラベルのハッシュ値H(1)からH(5)を、直前のラベルのハッシュ値を用いて算出する。
また、権威サーバ30は、算出した「www.lab.ntt.co.jp.」の末尾から各ラベルのハッシュ値(H(1)からH(5))のうち、「www.lab.ntt.co.jp.」の先頭までのハッシュ値H(5)を用いて「www.lab.ntt.co.jp.」のリソースレコードを検索する。ここで、リソースレコードが発見されれば、権威サーバ30は、発見したリソースレコードをクエリ応答候補とする。
続いて、権威サーバ30は、算出した「www.lab.ntt.co.jp.」の末尾から各ラベルのハッシュ値(H(1)からH(5))を用いて「www.lab.ntt.co.jp.」の委譲先を検索する。委譲先が発見されれば、権威サーバ30は、委譲先をクエリ応答としてキャッシュサーバ20に送信する。一方、委譲先が発見されなければ、権威サーバ30は、応答候補としていたリソースレコードをクエリ応答としてキャッシュサーバ20に送信する。
このように、実施例1に係る権威サーバ30は、ハッシュテーブルによるインデックスを採用する場合において、リソースレコード検索処理および委譲先検索処理それぞれで別個にハッシュ値を算出する必要がなくなり、上記した主たる特徴のごとく、ツリーによるインデックスを採用する場合と比較しても、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である。
[検索処理装置(権威サーバ)の構成]
次に、図2から図4を用いて、図1に示した権威サーバの構成を説明する。図2は、権威サーバ30の構成を示すブロック図であり、図3は、ハッシュ値計算アルゴリズムを示すハッシュ関数の例を示した図であり、図4は、ハッシュ値計算の例を示した図である。図2に示すように、この権威サーバ30は、通信制御I/F部31と、記憶部32と、制御部33とから構成される。
このうち、通信制御I/F部31は、キャッシュサーバ20またはDNSクライアント10との間でやり取りする各種情報に関する通信を制御する手段である。具体的には、キャッシュサーバ20から送信されるDNSクエリ要求を受信し、クエリ応答を送信元のキャッシュサーバ20に送信する。
記憶部32は、制御部33による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、具体的には、制御部33で算出されたハッシュ値を一時記憶領域に記憶したり、権威サーバ部30が管理するゾーンへのクエリ要求に応答するためのリソースレコードなどを記憶する。
制御部33は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、ハッシュ値算出部33aと、リソースレコード検索部33bと、委譲先検索部33cとを備える。なお、ハッシュ値算出部33aは、特許請求の範囲に記載の「ハッシュ値算出手段」に対応し、リソースレコード検索部33bは、同様に、「リソースレコード検索手段」に対応し、委譲先検索部33cは、「委譲先検索手段」に対応する。
このうち、ハッシュ値算出部33aは、図3に示したハッシュ値計算アルゴリズムを用いて、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する手段である。具体的には、例えば、「www.lab.ntt.co.jp.」(ラベル数5)のハッシュ値を計算する場合、まず、図3に示したハッシュ関数H(i)を用いて、「www.lab.ntt.co.jp.」の末尾である「.jp.」のハッシュ値H(1)を算出する。そして、H(1)を用いて、「.co.jp.」のハッシュ値H(2)を算出する。このように、ハッシュ値H(1)からH(5)を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する。
そして、リソースレコード検索部33bは、ハッシュ値算出部33aによって算出されたドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いてドメイン名のリソースレコードを検索する手段である。具体的には、「www.lab.ntt.co.jp.」(ラベル数5)のリソースレコードを検索する場合、ハッシュ値算出部33aにより算出されたハッシュ値H(5)を用いて、リソースレコードを検索する。
また、委譲先検索部33cは、ハッシュ値算出部33aによって算出されたドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索する手段である。具体的には、「www.lab.ntt.co.jp.」(ラベル数5)のドメイン名の委譲先検索する場合、「www.lab.ntt.co.jp.」に基づいて算出されたハッシュ値H(1)からH(5)を用いて委譲先を検索する。
[検索処理装置(権威サーバ)による検索処理(実施例1)]
次に、図5を用いて、検索処理装置(権威サーバ)による検索処理を説明する。図5は、検索処理の流れを示すフローチャートである。
図5に示すように、DNSクエリを受信すると(ステップS501肯定)、権威サーバ30は、検索対象ドメイン名のラベル数をX(ステップS502)、検索対象ドメイン名のゾーン名のラベル数をYに代入する(ステップS503)。例を挙げると、「.co.jp.」ゾーンで、検索対象が「www.lab.ntt.co.jp.」であった場合、検索対象ドメイン名のラベル数は5、ゾーン名のラベル数は2であるので、Xは5であり、Yは2となる。
そして、権威サーバ30は、検索処理を実行するための変数として「i」に1を代入する(ステップS504)。続いて、権威サーバ30は、検索対象ドメイン名の右(末尾)からi番目のラベルのハッシュ値H(i)を計算し一時記憶領域に記憶する(ステップS505)。そして、iとXとが等しい値か否かを判定し(ステップS506)、等しい値でない場合(ステップS506否定)、iを1増やして(ステップS507)、上記スップS506に戻る。
例を挙げると、まず、「www.lab.ntt.co.jp.」の右から1番目のラベル「.jp.」のハッシュ値H(1)を計算し一時記憶領域に記憶する。そして、i(1)とX(5)とが等しい値でないので、iを1増やして(ここで、iは2)、次に、「www.lab.ntt.co.jp.」の右から2番目のラベル「.co」のハッシュ値H(2)を計算し一時記憶領域に記憶する。このように、iとiとが等しい値になるまで、つまり、iが5になるまで、iを1ずつ増やしてハッシュ値H(i)を計算し一時記憶領域に記憶する。最終的には、H(1)からH5)までのハッシュ値が計算されることとなる。
一方、iとXとが等しい値である場合(ステップS506肯定)、権威サーバ30は、ハッシュ値H(X)に対応するデータをハッシュテーブルから検索し(ステップS508)、リソースレコード(RR)が存在するか否かを判定する(ステップS509)。具体的には、権威サーバ30は、「www.lab.ntt.co.jp.」の末尾から各ラベルまでのハッシュ値のうち、「www.lab.ntt.co.jp.」の先頭までのハッシュ値H(5)に対応するデータをハッシュテーブルから検索し、リソースレコード(RR)が存在するか否かを判定する。
そして、RRが存在した場合(ステップS509肯定)、権威サーバ30は、検索したRRをクエリ回答候補にする(ステップS510)。一方、RRが存在しない場合、権威サーバ30は、非存在のエラー(NXDOMAIN)をクエリ回答候補にする(ステップS511)。
続いて、権威サーバ30は、変数「i」に「Y+1」の値を代入する(ステップS512)。そして、権威サーバ30は、ハッシュ値H(i)に対応するデータをハッシュテーブルから検索し(ステップS513)、NS−RR(委譲先)が存在するか否かを判定する(ステップS514)。続いて、NS−RRが存在しない場合(ステップS514否定)、権威サーバ30は、iとXとの値が等しいか否かを判定する(ステップS515)。一方、NS−RRが存在した場合(ステップS514肯定)、権威サーバ30は、検索したNS−RRを回答候補とし(ステップS517)、この回答候補をクエリ応答として応答する(ステップS518)。
そして、iとXとの値が等しくない場合(ステップS515否定)、権威サーバ30は、iを1増やして(ステップS516)、上記ステップS514およびステップS514に戻る。一方、iとXとの値が等しい場合(ステップS515肯定)、権威サーバ30は、記憶する回答候補を応答する(ステップS517)。
例を挙げて説明すると、権威サーバ30は、算出された「www.lab.ntt.co.jp.」の末尾から各ラベルまでのハッシュ値のうち、当該末尾に近いラベルまでのハッシュ値から順に「www.lab.ntt.co.jp.」の委譲先を検索するので、権威サーバ30は、変数「i」に「Y(2)+1」として「3」を代入する。そして、権威サーバ30は、まず、ハッシュ値H(3)に対応するデータをハッシュテーブルから検索し、NR−RRが存在するか否かを判定する。続いて、NS−RRが存在しない場合、権威サーバ30は、i(3)と(5)との値が等しいか否かを判定する。一方、NS−RRが存在した場合、権威サーバ30は、検索したNS−RRを回答候補とし、この回答候補をクエリ応答として応答する。
そして、i(3)とX(5)との値が等しくない場合、権威サーバ30は、iを1増やして、ハッシュ値H(4)に対応するデータをハッシュテーブルから検索し、NS−RR(委譲先)が存在するか否かを判定する。ここで、NS−RRが存在しない場合、再び、iを1増やして、ハッシュ値H(5)に対応するデータをハッシュテーブルから検索し、NS−RR(委譲先)が存在するか否かを判定する。ここでも、NS−RRが存在しない場合、iとXとの値が等しいので、以前に記憶していた回答候補をクエリ応答として応答する。しかし、ハッシュ値H(4)または(5)にて、NS−RRが存在した場合、権威サーバ30は、NS−RRをクエリ応答として回答する。
[実施例1による効果]
上述してきたように、実施例1によれば、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出し、ドメイン名の先頭までのハッシュ値を用いてドメイン名のリソースレコードを検索し、ドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索するので、ハッシュテーブルによるインデックスを採用する場合において、リソースレコード検索処理および委譲先検索処理それぞれで別個にハッシュ値を算出する必要がなくなり、ツリーによるインデックスを採用する場合と比較しても、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である。
また、実施例1によれば、ドメイン名の末尾から各ラベルまでのハッシュ値のうち、末尾に近いラベルまでのハッシュ値から順にドメイン名の委譲先を検索するので、ドメイン名の先頭方向から委譲先を検索する手法に比較して、委譲先を早く発見する可能性が高く、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例2として、本発明に含まれる他の実施例について説明する。
また、実施例1では、キャッシュサーバ20からDNSクエリ要求を受信して、権威サーバ30は検索処理を実行する場合について説明したが、本発明はこれに限定されるものではなく、DNSクライアント10からDNSクエリ要求を受信してもよい。
また、実施例1では、ハッシュ値算出処置、リソースレコード(RR)検索処理および委譲先(NS−RR)検索処理を順に行う場合を説明したが、本発明はこれに限定されるものではなく、それぞれの処理を並行して行ってもよい。例えば、ハッシュ値計算処理を行った後、リソースレコード検索処理および委譲先検索処理を並行して行うようにしてもよい。
また、実施例1では、図4に示したように、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する場合を説明したが、本発明はこれに限定されるものではなく、委譲先の情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶部をさらに備え、委譲先情報記憶部に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出するようにしてもよい。
例えば、図6に示したように、委譲先情報が含まれるラベルを示す末尾から2ラベル目、4ラベルを予め記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値として末尾から2ラベル目までのハッシュ値、4ラベル目までのハッシュ値のみを算出するようにしてもよい。これにより、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する場合(図4参照)に比べて、委譲先の情報が含まれないラベルまでのハッシュ値を算出する必要がなくなり、図4と図6を比較してもわかるように、ハッシュ値の計算を5回から4回に減らすことができ、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。
また、実施例1では、算出されたドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索する場合を説明したが、本発明はこれに限定されるものではなく、委譲先を示す情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶部をさらに備え、委譲先情報記憶部に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いてドメイン名の委譲先を検索するようにしてもよい。
例えば、委譲先情報が含まれるラベルを示す末尾から2ラベル目、4ラベル目を予め権威サーバ単位やゾーン単位に記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値として、末尾から2ラベル目までのハッシュ値、4ラベル目までのハッシュ値のみを用いてドメイン名の委譲先を検索するようにしてもよい。これにより、委譲先の情報が含まれないラベルまでのハッシュ値について委譲先を検索する必要がなくなり、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図2に示した検索処理装置(権威サーバ装置)の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、検索処理装置にて行なわれる各処理機能(例えば、ハッシュ値算出処理など)は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
なお、上記の実施例では、本発明を実現する検索処理装置を機能面から説明したが、検索処理装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。すなわち、上記の実施例で説明した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。つまり、例を挙げれば、実施例に示したような検索処理プログラムを格納したCD−ROM(装置ごとに別個のCD−ROMであってもよい)を配布し、このCD−ROMに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。
以上のように、本発明に係る検索処理装置、検索処理方法および検索処理プログラムは、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索するのに有用であり、特に、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことに適する。
検索処理装置(権威サーバ)を含むDNSシステムの全体構成を示すシステム構成図である。 実施例1に係る検索処理装置(権威サーバ)の構成を示すブロック図である。 実施例1に係るハッシュ値計算アルゴリズムを示すハッシュ関数の例を示す図である。 実施例1に係るハッシュ値計算の例を示す図である。 実施例1に係る検索処理装置(権威サーバ)による検索処理の流れを示すフローチャートである。 実施例2に係るハッシュ値計算の例を示す図である。 従来技術に係るDNSシステムの処理の流れを説明するための図である。 従来技術に係る権威サーバ内データベースのインデックスにツリーを採用した場合の検索処理の流れを説明するための図である。 従来技術に係る権威サーバ内データベースのインデックスにハッシュテーブルを採用した場合の検索処理の流れを説明するための図である。
符号の説明
10 DNSクライアント
20 キャッシュサーバ
30 権威サーバ
31 通信制御I/F部
32 記憶部
33 制御部
33a ハッシュ値算出部
33b リソースレコード検索部
33c 委譲先検索部

Claims (6)

  1. DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理装置であって、
    前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出するハッシュ値算出手段と、
    前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索手段と、
    前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手段と、
    を備えたことを特徴とする検索処理装置。
  2. 前記委譲先検索手段は、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該末尾に近いラベルまでのハッシュ値から順に前記ドメイン名の委譲先を検索することを特徴とする請求項1に記載の検索処理装置。
  3. 前記委譲先の情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、
    前記ハッシュ値算出手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出することを特徴とする請求項1または2に記載の検索処理装置。
  4. 前記委譲先を示す情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、
    前記委譲先検索手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いて前記ドメイン名の委譲先を検索することを特徴とする請求項1または2に記載の検索処理装置。
  5. DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理方法であって、
    前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出工程と、
    前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索工程と、
    前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索工程と、
    を含んだことを特徴とする検索処理方法。
  6. DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する方法をコンピュータに実行させる検索処理プログラムであって、
    前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出手順と、
    前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索手順と、
    前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手順と、
    をコンピュータに実行させることを特徴とする検索処理プログラム。


JP2006058669A 2006-03-03 2006-03-03 検索処理装置、検索処理方法および検索処理プログラム Active JP4331733B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006058669A JP4331733B2 (ja) 2006-03-03 2006-03-03 検索処理装置、検索処理方法および検索処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006058669A JP4331733B2 (ja) 2006-03-03 2006-03-03 検索処理装置、検索処理方法および検索処理プログラム

Publications (2)

Publication Number Publication Date
JP2007243248A true JP2007243248A (ja) 2007-09-20
JP4331733B2 JP4331733B2 (ja) 2009-09-16

Family

ID=38588392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006058669A Active JP4331733B2 (ja) 2006-03-03 2006-03-03 検索処理装置、検索処理方法および検索処理プログラム

Country Status (1)

Country Link
JP (1) JP4331733B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009094820A (ja) * 2007-10-09 2009-04-30 Nippon Telegraph & Telephone West Corp 通信装置および通信方法
JP2009177398A (ja) * 2008-01-23 2009-08-06 Net Agent Kk ドメイン名管理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009094820A (ja) * 2007-10-09 2009-04-30 Nippon Telegraph & Telephone West Corp 通信装置および通信方法
JP4514780B2 (ja) * 2007-10-09 2010-07-28 西日本電信電話株式会社 通信装置および通信方法
JP2009177398A (ja) * 2008-01-23 2009-08-06 Net Agent Kk ドメイン名管理システム

Also Published As

Publication number Publication date
JP4331733B2 (ja) 2009-09-16

Similar Documents

Publication Publication Date Title
JP6643760B2 (ja) ショートリンクの処理方法、デバイス、及びサーバ
JP5404766B2 (ja) ルーティングをリクエストするための方法とシステム
US20060277196A1 (en) Data management system, data server, data management method and storage medium thereof
JP2007310673A (ja) P2pネットワークのストレージ構成方法およびストレージシステム
JP5666719B2 (ja) ピアツーピア・ネットワークにおける検索
JP2007108905A (ja) ファイルサーバ、ファイル提供方法及びプログラム
US8688681B1 (en) Identifying internet protocol addresses for internet hosting entities
WO2016054818A1 (zh) 数据处理方法和装置
US20170339252A1 (en) Generating a response to a client device in an internet of things domain
US10834222B1 (en) Server utilizing multiple object retrieval candidates
JP4331733B2 (ja) 検索処理装置、検索処理方法および検索処理プログラム
US20150019755A1 (en) Data-centric communications system, node, and data forwarding method
JP4757063B2 (ja) キャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラム
JP2008269141A (ja) オーバレイ検索装置、オーバレイ検索システム、オーバレイ検索方法およびオーバレイ検索用プログラム
US10516628B2 (en) Transfer device, transfer system, and transfer method
JP2018500671A (ja) コンテンツ配信フレームワークにおけるリクエスト処理
RU2016130453A (ru) Система и способ получения идентификационных отпечатков операционных систем и приложений программного обеспечения на основе шаблона доступа к сетевым ресурсам
JP5345577B2 (ja) 名前解決装置、名前解決方法および名前解決プログラム
JP3873975B2 (ja) ドメイン名別ビューアクセス制御方法及びdnsサーバシステム装置及びドメイン名別ビューアクセス制御プログラム及びドメイン名別ビューアクセス制御プログラムを格納した記憶媒体
JP2009116496A (ja) ディレクトリサーバ装置、ディレクトリサーバプログラム、ディレクトリサービスシステム、およびディレクトリサービス管理方法
KR100658299B1 (ko) 데이터베이스 구조변화에 대응하는 웹기반 통신망성능감시 방법
JP2021093104A5 (ja)
JP2021068365A5 (ja)
JP4217725B2 (ja) 再帰問合わせを高度化するためのキャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラム
US9306900B2 (en) Communication device, communication system, and communication method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090216

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: 20090616

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090618

R150 Certificate of patent or registration of utility model

Ref document number: 4331733

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130626

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140626

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350