(57)【要約】【課題】ＤＮＳクエリ要求に対する検索処理（リソースレコード検索処理および委譲先検索処理）を高速に行うことを課題とする。【解決手段】権威サーバ３０は、受信したＤＮＳクエリ要求に係るドメイン名に基づいて、ハッシュ値計算アルゴリズム（ハッシュ関数）を用いて、当該ドメインの末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する。そして、権威サーバ３０は、算出された末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて当該ドメイン名に対するリソースレコードを検索し、算出された当該ドメイン名の末尾から各ラベルまでのハッシュ値を用いて当該ドメイン名の委譲先を検索する。【選択図】        図１
2007243248.tif 000002
【特許請求の範囲】
【請求項１】
ＤＮＳクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理装置であって、
前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出するハッシュ値算出手段と、
前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索手段と、
前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手段と、
を備えたことを特徴とする検索処理装置。
【請求項２】
前記委譲先検索手段は、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該末尾に近いラベルまでのハッシュ値から順に前記ドメイン名の委譲先を検索することを特徴とする請求項１に記載の検索処理装置。
【請求項３】
前記委譲先の情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、
前記ハッシュ値算出手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出することを特徴とする請求項１または２に記載の検索処理装置。
【請求項４】
前記委譲先を示す情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、
前記委譲先検索手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いて前記ドメイン名の委譲先を検索することを特徴とする請求項１または２に記載の検索処理装置。
【請求項５】
ＤＮＳクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理方法であって、
前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出工程と、
前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索工程と、
前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索工程と、
を含んだことを特徴とする検索処理方法。
【請求項６】
ＤＮＳクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する方法をコンピュータに実行させる検索処理プログラムであって、
前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出手順と、
前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索手順と、
前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手順と、
をコンピュータに実行させることを特徴とする検索処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＤＮＳクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理装置、検索処理方法および検索処理プログラムに関する。
【背景技術】
【０００２】
従来より、一般的に多く利用されているインターネットサービスにおいて、ホスト名（ドメイン名）とＩＰアドレス（Internet Protocol Address）とを対応させるＤＮＳシステム（Domain Name System）がある。かかるＤＮＳシステムにおいて、階層的なドメイン名からなる名前空間は、複数の権威サーバにより管理されている。この名前空間の一番最上位を管理する権威サーバは、ルートサーバと呼ばれ、その他の権威サーバは、ルートサーバから直接的または間接的に管理する名前空間の委譲を受けている。
【０００３】
このような構成のもと、名前解決問合せ（ＤＮＳクエリ）を受信すると、権威サーバは、リソースレコード検索処理（ＲＲ検索処理）を行うとともに、そのドメイン名が他の権威サーバに委譲されていないか確認を行う委譲先検索処理（ＮＳ−ＲＲ検索処置）を行う。そして、他の権威サーバに委譲されている場合、権威サーバは、ＮＳ−ＲＲという委譲を示すリソースレコードをクエリ応答として返信する。
【０００４】
具体的に説明すると、図７に示したように、ＤＮＳクライアントから送信された名前解決問合せ（QNAME=ns2.sales.ntt.co.jp.）を受信したキャッシュサーバは、「ntt.co.jp.」ゾーンを管理する権威サーバＡに、受信した名前解決問合せを送信する。そして、名前解決問合せを受信した権威サーバＡは、リソースレコード検索処理と委譲先検索処理を実行し、委譲先処理にて「sales.ntt.co.jp.」ゾーンが権威サーバＢに委譲されていることを確認すると、権威サーバＢを示すＮＳ−ＲＲをクエリ応答としてキャッシュサーバに送信する。その後、再び、キャッシュサーバは「sales.ntt.co.jp.」ゾーンを管理する権威サーバＢに名前解決問合せ（QNAME=ns2.sales.ntt.co.jp.）を送信し、権威サーバＢは、リソースレコード検索処理と委譲先処理とを実行して、得られたリソースレコード（Answer＝A-RR;192.168.1.1）をクエリ応答としてキャッシュサーバに送信する。そして、キャッシュサーバは、名前解決問合せを送信したＤＮＳクライアントに、受信したクエリ応答を送信することで、ＤＮＳクライアントは、「ns2.sales.ntt.co.jp.」の名前解決を行うことができる。
【０００５】
このように、名前解決問合せ（ＤＮＳクエリ）を受信すると、権威サーバは、リソースレコード検索処理を行うとともに、委譲先検索処理を行うため、各々の処理を効率的に行う必要があった。そこで、処理を効率的に行う技術として、権威サーバ内データベースのインデックスにツリーを採用した技術やハッシュテーブルを採用した技術（例えば、特許文献１）が開示されている。
【０００６】
例えば、インデックスにツリーを採用した技術の場合、図８に示したように、名前解決問合せ（QNAME=ns2.sales.ntt.co.jp.）を受信した権威サーバＡは、自身が管理するツリーを順に検索していき、委譲されているドメインを発見する。ここでは、まず、ftp１ドメインを検索し、次に、ns１ドメインを検索し、そして、salesドメインを検索して、委譲先（権威サーバＢ）を発見し、この発見した委譲先を正式回答としてクエリ応答を送信する。
【０００７】
また、インデックスにハッシュテーブルを採用した技術の場合、図９に示したように、
名前解決問合せ（QNAME=ns2.sales.ntt.co.jp.）を受信した権威サーバＡは、はじめに、「ns2.sales」のハッシュ値を計算してハッシュテーブルを検索し、この検索結果を正式回答（クエリ回答）の候補とする。次に、「sales」のハッシュ値を計算してハッシュテーブルを検索し、検索結果に委譲先（ＮＳ−ＲＲ）が存在するので、このＮＳ−ＲＲレコードを正式回答としてクエリ応答を送信する。
【０００８】
【特許文献１】特開２００５−４４１２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、上記した従来の技術は、インデックスにツリーを採用した技術の場合、リソースレコード検索処理と委譲先検索処理とを、必ずしも効率的に行うことができず検索処理を高速に行えないという課題があり、また、ハッシュテーブルを採用した技術の場合、リソースレコード検索処理と委譲先検索処理とで別個のハッシュ値を算出する必要があるため、処理が効率的でなく高速に行うことができないという課題がある。
【００１０】
この課題をそれぞれ具体的に説明すると、ツリーを採用した場合、リソースレコード検索処理におけるツリーの検索過程で、委譲先を示すＮＳ−ＲＲを発見することが可能であるため、別個に委譲先（ＮＳ−ＲＲ）処理を行う必要がない。しかしながら、ツリーの高さが深ければ、検索に時間がかかるため、必ずしも効率的に処理を行えるとは言い難い。
【００１１】
また、ハッシュテーブルを採用した技術の場合、各ドメインごとにハッシュ値を算出して、委譲されているか否かを確認するために、ラベル数（ドメイン名を「.」で区切った単位）を短くしながら、ハッシュテーブルを検索する必要があるため、何度もハッシュ値の計算が必要であり、処理が効率的でない。
【００１２】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ハッシュテーブルによるインデックスを採用する場合において、ＤＮＳクエリ要求に対する検索処理（リソースレコード検索処理および委譲先検索処理）を高速に行うことが可能である検索処理装置、検索処理方法および検索処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、ＤＮＳクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理装置であって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出するハッシュ値算出手段と、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対してリソースレコードを検索するリソースレコード検索手段と、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手段と、を備えたことを特徴とする。
【００１４】
また、請求項２に係る発明は、上記の発明において、前記委譲先検索手段は、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該末尾に近いラベルまでのハッシュ値から順に前記ドメイン名の委譲先を検索することを特徴とする。
【００１５】
また、請求項３に係る発明は、上記の発明において、前記委譲先の情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、前記ハッシュ値算出手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出することを特徴とする。
【００１６】
また、請求項４に係る発明は、上記の発明において、前記委譲先を示す情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、前記委譲先検索手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いて前記ドメイン名の委譲先を検索することを特徴とする。
【００１７】
また、請求項５に係る発明は、上記の発明において、ＤＮＳクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理方法であって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出工程と、前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対してリソースレコードを検索するリソースレコード検索工程と、前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索工程と、を含んだことを特徴とする。
【００１８】
また、請求項６に係る発明は、上記の発明において、ＤＮＳクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する方法をコンピュータに実行させる検索処理プログラムであって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出手順と、前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対してリソースレコードを検索するリソースレコード検索手順と、前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１９】
請求項１、５または６の発明によれば、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出し、ドメイン名の先頭までのハッシュ値を用いてドメイン名に対してリソースレコードを検索し、ドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索するので、ハッシュテーブルによるインデックスを採用する場合において、リソースレコード検索処理および委譲先検索処理それぞれで別個にハッシュ値を算出する必要がなくなり、ツリーによるインデックスを採用する場合と比較しても、ＤＮＳクエリ要求に対する検索処理（リソースレコード検索処理および委譲先検索処理）を高速に行うことが可能である。
【００２０】
また、請求項２の発明によれば、ドメイン名の末尾から各ラベルまでのハッシュ値のうち、末尾に近いラベルまでのハッシュ値から順にドメイン名の委譲先を検索するので、ドメイン名の先頭方向から委譲先を検索する手法に比較して、委譲先を早く発見する可能性が高く、ＤＮＳクエリ要求に対する検索処理を一層高速に行うことが可能である。
【００２１】
また、請求項３の発明によれば、委譲先の情報が含まれるラベルを示す委譲先情報（例えば、末尾から２ラベル目、４ラベル目）を予め記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値（例えば、末尾から２ラベル目までのハッシュ値、４ラベル目までのハッシュ値）のみを算出するので、委譲先の情報が含まれないラベルまでのハッシュ値を算出する必要がなくなり、ＤＮＳクエリ要求に対する検索処理を一層高速に行うことが可能である。
【００２２】
また、請求項４の発明によれば、委譲先の情報が含まれるラベルを示す委譲先情報（例えば、末尾から２ラベル目、４ラベル目）を予め記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値（例えば、末尾から２ラベル目までのハッシュ値、４ラベル目までのハッシュ値）のみを用いてドメイン名の委譲先を検索するので、委譲先の情報が含まれないラベルまでのハッシュ値について委譲先を検索する必要がなくなり、ＤＮＳクエリ要求に対する検索処理を一層高速に行うことが可能である。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明に係る検索処理装置、検索処理方法および検索処理プログラムの実施例を詳細に説明する。
【実施例１】
【００２４】
以下では、実施例１に係る検索処理装置の概要および特徴、検索処理装置の構成および処理の流れを説明し、最後に実施例１による効果を説明する。なお、以下の実施例１に登場する「権威サーバ」とは、特許請求の範囲に記載の「検索処理装置」に対応する。
【００２５】
［検索処理装置（権威サーバ）の概要および特徴］
まず最初に、図１を用いて、実施例１に係る検索処理装置の概要および特徴を説明する。図１は、実施例１に係る検索処理装置（権威サーバ）を含むＤＮＳシステムの全体構成を示すＤＮＳシステム構成図である。
【００２６】
同図に示すように、かかるＤＮＳシステムにおいて、複数の権威サーバ３０と複数のキャッシュサーバ２０とがインターネットを介して接続される。また、キャッシュサーバ２０には、それぞれ複数のＤＮＳクライアント１０がインターネットを介して接続されている。
【００２７】
このような構成のもと、実施例１に係る権威サーバ３０は、ＤＮＳクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索することを概要とするものであり、ＤＮＳクエリ要求に対する検索処理（リソースレコード検索処理および委譲先検索処理）を高速に行うことが可能である点に主たる特徴がある。
【００２８】
この主たる特徴を具体的に説明すると、ＤＮＳクライアント１０は、ＤＮＳクエリ要求をキャッシュサーバ２０に送信する（図１の（１））。そして、キャッシュサーバ２０は、受信したＤＮＳクエリ要求に対応したドメインを管理する権威サーバ３０に、ＤＮＳクエリ要求を送信する（図１の（２））。権威サーバ３０は、受信したＤＮＳクエリ要求に基づいて、ハッシュ値計算を行い、検索処理を実行する（図１の（３））。そして、権威サーバ３０は、検索結果をクエリ応答としてキャッシュサーバ２０に送信する（図１の（４））。キャッシュサーバ２０は、受信したクエリ応答をＤＮＳクエリ要求の送信元であるＤＮＳクライアント１０に送信する（図１の（５））。
【００２９】
ここで、権威サーバ３０による検索処理について、例を挙げて説明する。ＤＮＳクエリ要求として「www.lab.ntt.co.jp.」の検索要求を受信すると、権威サーバ３０は、図３に示したハッシュ値計算アルゴリズム（ハッシュ関数）を用いて、「www.lab.ntt.co.jp.」を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する。具体的には、図４に示したように、まず、「.jp.」をハッシュ関数に入力し、ハッシュ値Ｈ（１）を算出する（図４の（１））。次に、算出したＨ（１）を用いて「.co.jp.」のハッシュ値Ｈ（２）を算出する（図４の（２））。このようにして、「www.lab.ntt.co.jp.」の各ラベルのハッシュ値Ｈ（１）からＨ（５）を、直前のラベルのハッシュ値を用いて算出する。
【００３０】
また、権威サーバ３０は、算出した「www.lab.ntt.co.jp.」の末尾から各ラベルのハッシュ値（Ｈ（１）からＨ（５））のうち、「www.lab.ntt.co.jp.」の先頭までのハッシュ値Ｈ（５）を用いて「www.lab.ntt.co.jp.」のリソースレコードを検索する。ここで、リソースレコードが発見されれば、権威サーバ３０は、発見したリソースレコードをクエリ応答候補とする。
【００３１】
続いて、権威サーバ３０は、算出した「www.lab.ntt.co.jp.」の末尾から各ラベルのハッシュ値（Ｈ（１）からＨ（５））を用いて「www.lab.ntt.co.jp.」の委譲先を検索する。委譲先が発見されれば、権威サーバ３０は、委譲先をクエリ応答としてキャッシュサーバ２０に送信する。一方、委譲先が発見されなければ、権威サーバ３０は、応答候補としていたリソースレコードをクエリ応答としてキャッシュサーバ２０に送信する。
【００３２】
このように、実施例１に係る権威サーバ３０は、ハッシュテーブルによるインデックスを採用する場合において、リソースレコード検索処理および委譲先検索処理それぞれで別個にハッシュ値を算出する必要がなくなり、上記した主たる特徴のごとく、ツリーによるインデックスを採用する場合と比較しても、ＤＮＳクエリ要求に対する検索処理（リソースレコード検索処理および委譲先検索処理）を高速に行うことが可能である。
【００３３】
［検索処理装置（権威サーバ）の構成］
次に、図２から図４を用いて、図１に示した権威サーバの構成を説明する。図２は、権威サーバ３０の構成を示すブロック図であり、図３は、ハッシュ値計算アルゴリズムを示すハッシュ関数の例を示した図であり、図４は、ハッシュ値計算の例を示した図である。図２に示すように、この権威サーバ３０は、通信制御Ｉ／Ｆ部３１と、記憶部３２と、制御部３３とから構成される。
【００３４】
このうち、通信制御Ｉ／Ｆ部３１は、キャッシュサーバ２０またはＤＮＳクライアント１０との間でやり取りする各種情報に関する通信を制御する手段である。具体的には、キャッシュサーバ２０から送信されるＤＮＳクエリ要求を受信し、クエリ応答を送信元のキャッシュサーバ２０に送信する。
【００３５】
記憶部３２は、制御部３３による各種処理に必要なデータおよびプログラムを格納する格納手段（記憶手段）であり、具体的には、制御部３３で算出されたハッシュ値を一時記憶領域に記憶したり、権威サーバ部３０が管理するゾーンへのクエリ要求に応答するためのリソースレコードなどを記憶する。
【００３６】
制御部３３は、ＯＳ（Operating System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、ハッシュ値算出部３３ａと、リソースレコード検索部３３ｂと、委譲先検索部３３ｃとを備える。なお、ハッシュ値算出部３３ａは、特許請求の範囲に記載の「ハッシュ値算出手段」に対応し、リソースレコード検索部３３ｂは、同様に、「リソースレコード検索手段」に対応し、委譲先検索部３３ｃは、「委譲先検索手段」に対応する。
【００３７】
このうち、ハッシュ値算出部３３ａは、図３に示したハッシュ値計算アルゴリズムを用いて、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する手段である。具体的には、例えば、「www.lab.ntt.co.jp.」（ラベル数５）のハッシュ値を計算する場合、まず、図３に示したハッシュ関数Ｈ（ｉ）を用いて、「www.lab.ntt.co.jp.」の末尾である「.jp.」のハッシュ値Ｈ（１）を算出する。そして、Ｈ（１）を用いて、「.co.jp.」のハッシュ値Ｈ（２）を算出する。このように、ハッシュ値Ｈ（１）からＨ（５）を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する。
【００３８】
そして、リソースレコード検索部３３ｂは、ハッシュ値算出部３３ａによって算出されたドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いてドメイン名のリソースレコードを検索する手段である。具体的には、「www.lab.ntt.co.jp.」（ラベル数５）のリソースレコードを検索する場合、ハッシュ値算出部３３ａにより算出されたハッシュ値Ｈ（５）を用いて、リソースレコードを検索する。
【００３９】
また、委譲先検索部３３ｃは、ハッシュ値算出部３３ａによって算出されたドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索する手段である。具体的には、「www.lab.ntt.co.jp.」（ラベル数５）のドメイン名の委譲先検索する場合、「www.lab.ntt.co.jp.」に基づいて算出されたハッシュ値Ｈ（１）からＨ（５）を用いて委譲先を検索する。
【００４０】
［検索処理装置（権威サーバ）による検索処理（実施例１）］
次に、図５を用いて、検索処理装置（権威サーバ）による検索処理を説明する。図５は、検索処理の流れを示すフローチャートである。
【００４１】
図５に示すように、ＤＮＳクエリを受信すると（ステップＳ５０１肯定）、権威サーバ３０は、検索対象ドメイン名のラベル数をＸ（ステップＳ５０２）、検索対象ドメイン名のゾーン名のラベル数をＹに代入する（ステップＳ５０３）。例を挙げると、「.co.jp.」ゾーンで、検索対象が「www.lab.ntt.co.jp.」であった場合、検索対象ドメイン名のラベル数は５、ゾーン名のラベル数は２であるので、Ｘは５であり、Ｙは２となる。
【００４２】
そして、権威サーバ３０は、検索処理を実行するための変数として「i」に１を代入する（ステップＳ５０４）。続いて、権威サーバ３０は、検索対象ドメイン名の右（末尾）からi番目のラベルのハッシュ値Ｈ（ｉ）を計算し一時記憶領域に記憶する（ステップＳ５０５）。そして、iとＸとが等しい値か否かを判定し（ステップＳ５０６）、等しい値でない場合（ステップＳ５０６否定）、iを１増やして（ステップＳ５０７）、上記スップＳ５０６に戻る。
【００４３】
例を挙げると、まず、「www.lab.ntt.co.jp.」の右から１番目のラベル「.jp.」のハッシュ値Ｈ（１）を計算し一時記憶領域に記憶する。そして、i（１）とＸ（５）とが等しい値でないので、iを１増やして（ここで、iは２）、次に、「www.lab.ntt.co.jp.」の右から２番目のラベル「.co」のハッシュ値Ｈ（２）を計算し一時記憶領域に記憶する。このように、iとiとが等しい値になるまで、つまり、iが５になるまで、iを１ずつ増やしてハッシュ値Ｈ（ｉ）を計算し一時記憶領域に記憶する。最終的には、Ｈ（１）からＨ５）までのハッシュ値が計算されることとなる。
【００４４】
一方、iとＸとが等しい値である場合（ステップＳ５０６肯定）、権威サーバ３０は、ハッシュ値Ｈ（Ｘ）に対応するデータをハッシュテーブルから検索し（ステップＳ５０８）、リソースレコード（ＲＲ）が存在するか否かを判定する（ステップＳ５０９）。具体的には、権威サーバ３０は、「www.lab.ntt.co.jp.」の末尾から各ラベルまでのハッシュ値のうち、「www.lab.ntt.co.jp.」の先頭までのハッシュ値Ｈ（５）に対応するデータをハッシュテーブルから検索し、リソースレコード（ＲＲ）が存在するか否かを判定する。
【００４５】
そして、ＲＲが存在した場合（ステップＳ５０９肯定）、権威サーバ３０は、検索したＲＲをクエリ回答候補にする（ステップＳ５１０）。一方、ＲＲが存在しない場合、権威サーバ３０は、非存在のエラー（ＮＸＤＯＭＡＩＮ）をクエリ回答候補にする（ステップＳ５１１）。
【００４６】
続いて、権威サーバ３０は、変数「i」に「Ｙ＋１」の値を代入する（ステップＳ５１２）。そして、権威サーバ３０は、ハッシュ値Ｈ（ｉ）に対応するデータをハッシュテーブルから検索し（ステップＳ５１３）、ＮＳ−ＲＲ（委譲先）が存在するか否かを判定する（ステップＳ５１４）。続いて、ＮＳ−ＲＲが存在しない場合（ステップＳ５１４否定）、権威サーバ３０は、iとＸとの値が等しいか否かを判定する（ステップＳ５１５）。一方、ＮＳ−ＲＲが存在した場合（ステップＳ５１４肯定）、権威サーバ３０は、検索したＮＳ−ＲＲを回答候補とし（ステップＳ５１７）、この回答候補をクエリ応答として応答する（ステップＳ５１８）。
【００４７】
そして、iとＸとの値が等しくない場合（ステップＳ５１５否定）、権威サーバ３０は、iを１増やして（ステップＳ５１６）、上記ステップＳ５１４およびステップＳ５１４に戻る。一方、iとＸとの値が等しい場合（ステップＳ５１５肯定）、権威サーバ３０は、記憶する回答候補を応答する（ステップＳ５１７）。
【００４８】
例を挙げて説明すると、権威サーバ３０は、算出された「www.lab.ntt.co.jp.」の末尾から各ラベルまでのハッシュ値のうち、当該末尾に近いラベルまでのハッシュ値から順に「www.lab.ntt.co.jp.」の委譲先を検索するので、権威サーバ３０は、変数「i」に「Ｙ（２）＋１」として「３」を代入する。そして、権威サーバ３０は、まず、ハッシュ値Ｈ（３）に対応するデータをハッシュテーブルから検索し、ＮＲ−ＲＲが存在するか否かを判定する。続いて、ＮＳ−ＲＲが存在しない場合、権威サーバ３０は、i（３）と（５）との値が等しいか否かを判定する。一方、ＮＳ−ＲＲが存在した場合、権威サーバ３０は、検索したＮＳ−ＲＲを回答候補とし、この回答候補をクエリ応答として応答する。
【００４９】
そして、i（３）とＸ（５）との値が等しくない場合、権威サーバ３０は、iを１増やして、ハッシュ値Ｈ（４）に対応するデータをハッシュテーブルから検索し、ＮＳ−ＲＲ（委譲先）が存在するか否かを判定する。ここで、ＮＳ−ＲＲが存在しない場合、再び、iを１増やして、ハッシュ値Ｈ（５）に対応するデータをハッシュテーブルから検索し、ＮＳ−ＲＲ（委譲先）が存在するか否かを判定する。ここでも、ＮＳ−ＲＲが存在しない場合、iとＸとの値が等しいので、以前に記憶していた回答候補をクエリ応答として応答する。しかし、ハッシュ値Ｈ（４）または（５）にて、ＮＳ−ＲＲが存在した場合、権威サーバ３０は、ＮＳ−ＲＲをクエリ応答として回答する。
【００５０】
［実施例１による効果］
上述してきたように、実施例１によれば、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出し、ドメイン名の先頭までのハッシュ値を用いてドメイン名のリソースレコードを検索し、ドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索するので、ハッシュテーブルによるインデックスを採用する場合において、リソースレコード検索処理および委譲先検索処理それぞれで別個にハッシュ値を算出する必要がなくなり、ツリーによるインデックスを採用する場合と比較しても、ＤＮＳクエリ要求に対する検索処理（リソースレコード検索処理および委譲先検索処理）を高速に行うことが可能である。
【００５１】
また、実施例１によれば、ドメイン名の末尾から各ラベルまでのハッシュ値のうち、末尾に近いラベルまでのハッシュ値から順にドメイン名の委譲先を検索するので、ドメイン名の先頭方向から委譲先を検索する手法に比較して、委譲先を早く発見する可能性が高く、ＤＮＳクエリ要求に対する検索処理を一層高速に行うことが可能である。
【実施例２】
【００５２】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として、本発明に含まれる他の実施例について説明する。
【００５３】
また、実施例１では、キャッシュサーバ２０からＤＮＳクエリ要求を受信して、権威サーバ３０は検索処理を実行する場合について説明したが、本発明はこれに限定されるものではなく、ＤＮＳクライアント１０からＤＮＳクエリ要求を受信してもよい。
【００５４】
また、実施例１では、ハッシュ値算出処置、リソースレコード（ＲＲ）検索処理および委譲先（ＮＳ−ＲＲ）検索処理を順に行う場合を説明したが、本発明はこれに限定されるものではなく、それぞれの処理を並行して行ってもよい。例えば、ハッシュ値計算処理を行った後、リソースレコード検索処理および委譲先検索処理を並行して行うようにしてもよい。
【００５５】
また、実施例１では、図４に示したように、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する場合を説明したが、本発明はこれに限定されるものではなく、委譲先の情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶部をさらに備え、委譲先情報記憶部に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出するようにしてもよい。
【００５６】
例えば、図６に示したように、委譲先情報が含まれるラベルを示す末尾から２ラベル目、４ラベルを予め記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値として末尾から２ラベル目までのハッシュ値、４ラベル目までのハッシュ値のみを算出するようにしてもよい。これにより、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する場合（図４参照）に比べて、委譲先の情報が含まれないラベルまでのハッシュ値を算出する必要がなくなり、図４と図６を比較してもわかるように、ハッシュ値の計算を５回から４回に減らすことができ、ＤＮＳクエリ要求に対する検索処理を一層高速に行うことが可能である。
【００５７】
また、実施例１では、算出されたドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索する場合を説明したが、本発明はこれに限定されるものではなく、委譲先を示す情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶部をさらに備え、委譲先情報記憶部に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いてドメイン名の委譲先を検索するようにしてもよい。
【００５８】
例えば、委譲先情報が含まれるラベルを示す末尾から２ラベル目、４ラベル目を予め権威サーバ単位やゾーン単位に記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値として、末尾から２ラベル目までのハッシュ値、４ラベル目までのハッシュ値のみを用いてドメイン名の委譲先を検索するようにしてもよい。これにより、委譲先の情報が含まれないラベルまでのハッシュ値について委譲先を検索する必要がなくなり、ＤＮＳクエリ要求に対する検索処理を一層高速に行うことが可能である。
【００５９】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６０】
また、図２に示した検索処理装置（権威サーバ装置）の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、検索処理装置にて行なわれる各処理機能（例えば、ハッシュ値算出処理など）は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６１】
なお、上記の実施例では、本発明を実現する検索処理装置を機能面から説明したが、検索処理装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。すなわち、上記の実施例で説明した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。つまり、例を挙げれば、実施例に示したような検索処理プログラムを格納したＣＤ−ＲＯＭ（装置ごとに別個のＣＤ−ＲＯＭであってもよい）を配布し、このＣＤ−ＲＯＭに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。
【産業上の利用可能性】
【００６２】
以上のように、本発明に係る検索処理装置、検索処理方法および検索処理プログラムは、ＤＮＳクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索するのに有用であり、特に、ＤＮＳクエリ要求に対する検索処理（リソースレコード検索処理および委譲先検索処理）を高速に行うことに適する。
【図面の簡単な説明】
【００６３】
【図１】検索処理装置（権威サーバ）を含むＤＮＳシステムの全体構成を示すシステム構成図である。
【図２】実施例１に係る検索処理装置（権威サーバ）の構成を示すブロック図である。
【図３】実施例１に係るハッシュ値計算アルゴリズムを示すハッシュ関数の例を示す図である。
【図４】実施例１に係るハッシュ値計算の例を示す図である。
【図５】実施例１に係る検索処理装置（権威サーバ）による検索処理の流れを示すフローチャートである。
【図６】実施例２に係るハッシュ値計算の例を示す図である。
【図７】従来技術に係るＤＮＳシステムの処理の流れを説明するための図である。
【図８】従来技術に係る権威サーバ内データベースのインデックスにツリーを採用した場合の検索処理の流れを説明するための図である。
【図９】従来技術に係る権威サーバ内データベースのインデックスにハッシュテーブルを採用した場合の検索処理の流れを説明するための図である。
【符号の説明】
【００６４】
１０  ＤＮＳクライアント
２０  キャッシュサーバ
３０  権威サーバ
３１  通信制御Ｉ／Ｆ部
３２  記憶部
３３  制御部
３３ａ  ハッシュ値算出部
３３ｂ  リソースレコード検索部
３３ｃ  委譲先検索部
【図１】
2007243248.tif 000003
【図２】
2007243248.tif 000004
【図３】
2007243248.tif 000005
【図４】
2007243248.tif 000006
【図５】
2007243248.tif 000007
【図６】
2007243248.tif 000008
【図７】
2007243248.tif 000009
【図８】
2007243248.tif 000010
【図９】
2007243248.tif 000011