(57)【特許請求の範囲】
【請求項１】
マルチレベルのネットワークアドレスネームスペースの共通のネームスペースレベルにそれぞれ関連する複数のネットワークアドレスサーバのうちの１つであり、ターゲットドメインネームラベルを問合わせに応答してネットワークアドレスにより分解するネットワークアドレスサーバにおいて、
共通のネームスペースレベルのアドレスネームのサブセットと関連し、アドレスネームラベルおよびそのアドレスネームラベルに特有に関連するネットワークアドレスを含んでいる複数のデータベース記録を含んでいるアドレスネームデータベースと、
アドレスネームデータベースと通信するアドレスネームプロセッサとを具備し、
前記アドレスネームプロセッサは、
ターゲットドメインネームラベルと、共通のネームスペースレベルのアドレスネームのサブセットとの間の相関を決定するための相関プロセッサと、
少なくとも１つの他のネットワークアドレスサーバの相関プロセッサと通信して前記少なくとも１つの他のネットワークアドレスサーバから相関の指示を受信するように構成されている相関トランシーバと、
相関プロセッサおよび相関トランシーバと通信して決定された相関にしたがって問合わせに応答するように応答に対応した出力信号を提供する応答プロセッサとを具備しているネットワークアドレスサーバ。
【請求項２】
アドレスネームデータベースは、各前記データベース記録に対して、得られたハッシュコードを対応するアドレスネームラベルに特有に関連付けるハッシング機能から得られたハッシュコードを含んでいる請求項１記載のネットワークアドレスサーバ。
【請求項３】
相関プロセッサはターゲットドメインネームラベルをハッシング関数でコード化するハッシュコードプロセッサと、ハッシュされたデータベース記録をハッシュされたドメインネームラベルにより問合わせるために相関プロセッサと通信する検索エンジンとを含んでいる請求項２記載のネットワークアドレスサーバ。
【請求項４】
各前記データベース記録は、記録文字セットタイプを有する少なくとも１つの記録文字と、記録文字セットタイプを識別する記録文字セット識別子とを含んでいる請求項１記載のネットワークアドレスサーバ。
【請求項５】
マルチレベルネットワークアドレスネームスペースにおいてターゲットドメインネームラベルをネットワークアドレスにより分解する方法において、
第１のネットワークアドレスサーバにおいて、ターゲットドメインネームラベルに対応するネットワークアドレスに対する問合わせを受信し、第１のネットワークアドレスサーバはネットワークアドレスネームスペースの共通のネームスペースレベルにそれぞれ関連する複数のネットワークアドレスサーバの１つであり、ネットワークアドレスサーバはそれぞれ共通のネームスペースレベルのアドレスネームサブセットを規定し、各アドレスサーバは複数のデータベース記録を含み、それら複数のデータベース記録はそれぞれアドレスネームラベルと、そのアドレスネームラベルに特有に関連されているネットワークアドレスとを含んでおり、
第１のネットワークアドレスサーバにおいて、受信されたターゲットドメインネームラベルと、共通のネームスペースレベルの対応するアドレスネームサブセットとの間の相関を決定し、
第１のネットワークアドレスサーバにおいて、少なくとも１つの他のネットワークアドレスサーバから対応する決定された相関の指示を受信し、
第１のネットワークアドレスサーバにおいて、決定された相関にしたがって問合わせに対して応答する出力信号を提供するステップを含んでいる方法。
【請求項６】
各前記ネットワークアドレスサーバは相関応答時間を有し、第１のネットワークアドレスサーバは最も短い１つの相関指示応答時間を有する請求項５記載の方法。
【請求項７】
データベース記録はそれぞれ、記録文字セットタイプを有する少なくとも１つの記録文字と、記録文字セットタイプを識別する記録文字セット識別子とを含んでおり、ターゲットドメインネームラベルはアドレスネーム文字セットタイプを有する少なくとも１つのアドレスネーム文字と、アドレスネーム文字セットタイプを識別するアドレスネーム文字セット識別子とを含んでおり、相関を決定するステップは、受信されたアドレスネームラベルによりそれぞれのデータベース記録に問合わせ、少なくとも１つのアドレスネーム文字および関連するアドレスネーム文字セット識別子と各前記少なくとも１つの記録文字および関連する記録文字セット識別子との相関を得るステップを含んでいる請求項５記載の方法。
【請求項８】
データベース記録はハッシング関数でコード化され、相関を得るステップは、ターゲットアドレスネームラベルをハッシング関数でコード化し、ハッシュされたデータベース記録をハッシュされたドメインネームラベルにより問合わせるステップを含んでいる請求項７記載の方法。
【請求項９】
ネットワークドメインネームの分解方法において、
複数のレベルを有する階層化したネットワークアドレスネームスペースをマップするために複数のネットワークアドレスサーバを提供し、前記各ネットワークアドレスサーバは少なくとも１つの他の前記ネットワークアドレスサーバおよびネットワークアドレスネームスペースの共通のネームスペースレベルと関連され、各前記ネットワークアドレスサーバは関連する共通のネームスペースレベルのアドレスネームのサブセットを規定するデータベース記録を含み、前記各データベース記録はアドレスネームラベルと、そのアドレスネームラベルに特有に関連するネットワークアドレスとを含んでおり、
ネットワークアドレスサーバの１つにおいて、複数のアドレスネームラベルを含んでいるターゲットドメインネームを分解するためにターゲットドメインネームを受信し、前記各アドレスネームラベルは共通のネームスペースレベルのそれぞれのアドレスネームのサブセット１つと関連され、
各アドレスラベルに対して、１つの共通のネームスペースレベルを規定する複数のネットワークアドレスサーバに問合わせるステップを含んでいる方法。
【請求項１０】
ネットワークアドレスを受信するステップは、各前記問合わせられたネットワークアドレスサーバにおいて、問合わせられたアドレスネームラベルとそれぞれの規定されたアドレスネームスペースサブセットとの間の相関を決定し、他の問合わせられたネットワークアドレスサーバにその相関の指示を与え、他の問合わせられたネットワークアドレスサーバから相関指示を受信し、相関指示にしたがって問合わせに対する応答を送信するステップを含んでいる請求項９記載の方法。
【請求項１１】
各前記問合わせられたネットワークアドレスサーバは相関指示応答時間を有し、応答を送信するステップは最も短い１つの相関指示応答時間を有する問合わせられたネットワークアドレスサーバから応答を送信することを含んでいる請求項１０記載の方法。
【請求項１２】
データベース記録はそれぞれ、記録文字セットタイプを有する少なくとも１つの記録文字と、記録文字セットタイプを識別する記録文字セット識別子とを含んでおり、問合わせられたアドレスネームラベルはアドレスネーム文字セットタイプを有する少なくとも１つのアドレスネーム文字と、アドレスネーム文字セットタイプを識別するアドレスネーム文字セット識別子とを含んでおり、相関を決定するステップは、問合わせられたアドレスネームラベルを受信し、少なくとも１つのアドレスネーム文字および関連するアドレス文字セット識別子をそれぞれのデータベース記録に問合わせて、前記少なくとも１つの記録文字と関連する記録文字セット識別子とのそれぞれの相関を得るステップを含んでいる請求項１０記載の方法。
【請求項１３】
データベース記録はハッシング関数でコード化され、それぞれのデータベース記録に問合わせるステップは、ハッシング関数によりそれぞれ問合わせられたアドレスネームラベルをコード化し、ハッシュされたデータベース記録をハッシュされたドメインネームラベルを問合わせるステップを含んでいる請求項１２記載の方法。
【請求項１４】
共通ネームスペースレベルのアドレスネームのサブセットは、Ｂｉｇ５アドレスネームを含んでいる請求項１記載のネットワークアドレスサーバ。
【請求項１５】
共通ネームスペースレベルのアドレスネームのサブセットは、ユニコードアドレスネームを含んでいる請求項１記載のネットワークアドレスサーバ。
【請求項１６】
共通ネームスペースレベルのアドレスネームのサブセットは、ＵＴＦ−８アドレスネームを含んでいる請求項１記載のネットワークアドレスサーバ。
【請求項１７】
共通ネームスペースレベルのアドレスネームのサブセットは、１ＡＳＣＩＩアドレスネームを含んでいる請求項１記載のネットワークアドレスサーバ。
【請求項１８】
共通ネームスペースレベルのアドレスネームのサブセットは、Ｂｉｇ５アドレスネームを含んでいる請求項５記載の方法。
【請求項１９】
共通ネームスペースレベルのアドレスネームのサブセットは、ユニコードアドレスネームを含んでいる請求項５記載の方法。
【請求項２０】
共通ネームスペースレベルのアドレスネームのサブセットは、ＵＴＦ−８アドレスネームを含んでいる請求項５記載の方法。
【請求項２１】
共通ネームスペースレベルのアドレスネームのサブセットは、１ＡＳＣＩＩアドレスネームを含んでいる請求項５記載の方法。
【請求項２２】
ドメインネームをネットワークアドレスにより分解するためのコンピュータネットワーク装置において、
第１のネットワークアドレスサーバと、
第２のネットワークアドレスサーバとを具備し、
前記第１のネットワークアドレスサーバは、第１のアドレスネームデータベースを記憶し、その第１のアドレスネームデータベースは、
ｉ）コンピュータネットワークドメインに対する第１の複数のドメインネームと、
ii）第１の複数のドメインネームにそれぞ対応する複数のネットワークアドレスとを含み、第１の複数のドメインネームはＡＳＣII文字セットに対応しており、
前記第１のネットワークアドレスサーバはさらに、受信された問合わせが第１のアドレスネームデータベース中に記憶されているドメインネームをリクエストしているとき回答を行うように構成されている第１のアドレスネームプロセッサを具備し、
第２のネットワークアドレスサーバは、前記第１のネットワークアドレスサーバと通信し、第２のアドレスネームデータベースを記憶しており、
その第２のアドレスネームデータベースは、
ｉ）コンピュータネットワークドメインに対する第２の複数のドメインネームと、
ii）第２の複数のドメインネームにそれぞ対応する複数のネットワークアドレスとを含み、第２の複数のドメインネームはＡＳＣIIではない文字セットに対応しており、
前記第２のネットワークアドレスサーバはさらに、受信された問合わせが第２のアドレスネームデータベース中に記憶されているドメインネームをリクエストしているとき、回答を行うように構成されている第２のアドレスネームプロセッサを具備しているコンピュータネットワーク装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は広域ネットワークのドメイン間の通信を容易にするシステムおよび方法に関し、特にネットワークアドレスネームを物理的ネットワークアドレスに関連付けるネットワークサーバに関する。
【０００２】
【従来の技術】
ネットワーク上で通信装置間の通信を容易にするために、各ネットワーク装置には典型的に特有の数字のネットワークアドレスが割当てられる。１つのネットワーク装置に関連するユーザはターゲットと通信するために、ネットワーク転送層に目的地のターゲットの数字のネットワークアドレスを与えることだけを必要とする。このシステムはユーザが少数のネットワーク通信装置とだけ通信する小さいネットワークで適切に機能するが、システムは各ネットワークユーザが多数の特有の数字のネットワークアドレスを覚えることを必要とするので、大きいネットワークへ容易に転送されることができない。この理由で、ドメインネームシステム（ＤＮＳ）はインターネットによって通信装置間の通信を容易にするための機構として１９８７年にMockapetris により提案された（ＲＦＣ1034およびＲＦＣ1035、ネットワークワーキンググループ、現在“http://www.ietf.org ”で有効である）。
【０００３】
ＤＮＳはドメインネームを数字（ＩＰ、“インターネットプロトコル”）ネットワークアドレスに関連付けることによりインターネット通信を容易にする。ＤＮＳは基本的にリソース記録、ドメインネームサーバ、レゾルバからなる。各リソース記録はネットワークノードのＩＰアドレスを含む各ネットワークノードに関する情報と、ＩＰアドレスに関係するドメインネームとを含んでいる。共に、リソース記録はインターネットにツリー構造にされたドメインネームスペースを与える。ドメインネームサーバはドメインネームスペースに関する情報を維持するインターネットサーバである。特に、各ドメインネームサーバはドメインネームスペースのその固有のサブセットに関係するリソース記録を維持するファイル（“ゾーンファイル”）を有する。これらの記録は“権威のある”記録と呼ばれる。またレゾルバからの問合わせにより、ドメインネームサーバはローカルではないデータがレゾルバによりリクエストされたとき検索プロセスの性能を改良するために他のドメインネームサーバから獲得したリソース記録のコピーを一時的にキャッシュする。レゾルバはクライアントのリクエストに応答してドメインネームサーバから情報を抽出するローカルプログラムである。
【０００４】
典型的に、特定のＩＰアドレスにおけるネットワーク装置に関連するドメインネームはトップレベルのラベルフィールドと、１以上の低いレベルのラベルフィールドとを有する。ドメインネームを含むラベルフィールドは区切り符号（“．”）により相互に分離され、ドメインネーム階層のそれらのそれぞれの相対レベルにしたがってドメインネームでそれぞれ位置される。（遠隔ネットワーク装置に存在するｅメールアカウントを有する受取人へｅメールメッセージを送信することを含む）特定のネットワーク装置にアクセスするために、ユーザはインターネットブラウザを経てレゾルバにターゲットネットワーク装置に関連するドメインネームを与える。レゾルバはトップレベルのドメインに関係するゾーンファイルを有するＤＮＳサーバのＩＰアドレスを獲得するためにドメインネームで識別されるトップレベルのラベルによりルートＤＮＳサーバへ問い合わせる。レゾルバはその後、獲得されたＩＰアドレスを使用して、識別されたＤＮＳサーバにアクセスし、ドメインネーム階層で次に高い位置を占めるラベル（ドメインネームのトップレベルのラベルのすぐ左側のラベル）は問合わせられたラベルに関連するゾーンファイルを有するＤＮＳサーバのＩＰアドレスを得る。このプロセスは、ドメインネームの各ラベルが分解されるまで、即ち最後に問合わせられたＤＮＳサーバがレゾルバに特別なドメインネームを有するネットワーク装置のＩＰアドレスを与える点まで継続する。ＤＮＳは世界的規模で適切に構成されているが、少なくとも３つの主要な欠点を有する。
【０００５】
第１に、ＤＮＳにより構成されるドメインネームはＡＲＰＡＮＥＴホスト名の規則にしたがわなければならない。結果として、各ラベルは“文字”または０乃至９の中の数字で開始し、終了し、“文字”、数字０乃至９またはその間のハイフンのみを含む。さらに、各“文字”は“Ａ”から“Ｚ”および“ａ”から“ｚ”のうちの１つだけである。結果として、使用可能なドメインネームの数は非常に限定される。第２に、ＤＮＳシステムはケースに鈍感であり、それ故、同一のスペリングを有するがそのコンポーネント文字がそれらのそれぞれのケースに関して対応しない２つのドメインは同一のネットワークアドレスに分解する。明らかに、この要求は使用されることができるドメインネームの数をさらに限定する。第３に、各サブドメインのリソース記録はゾーンファイルに記憶されるので、ドメインネームの数と、分解プロセスの速度はドメインネームサーバのハードウェア制限により限定される。
【０００６】
【発明が解決しようとする課題】
ＤＮＳの設定される以前からｅメールシステムが存在しているが、既存のｅメールシステムに固有の問題はＤＮＳの問題と緊密に平行している。特に、ほとんどのｅメールシステムはｅメールアカウント名の一部として含まれるために、ハイフン、数字０乃至９および文字“Ａ”から“Ｚ”と“ａ”から“ｚ”だけを受け、それによって、有効なアカウント名の数を限定する。ほとんどのｅメールシステムはまたケースに鈍感であり、さらに有効なアカウント名の数を限定する。
【０００７】
既存のネットワークアドレスネーム称システムの幾つかの欠点を解決する試みが行われている。例えばRealNames （www.realnames.com ）とｉＤＮＳ（www.idns.org）は既存のドメインネームシステムに対して変更を提案しており、有効なドメインネームの数を拡大しようとしている。両システムによりユーザは名称をＡＲＰＡＮＥＴホスト名の規則に従わせずに、ドメインネームをそれらのブラウザのＵＲＬフィールドへ入力できる。例えば加入者は符号、および／または英語ではない言語の文字セットからの文字を含むドメインネームをそれらのインターネットブラウザに入力する。ドメインネームは所有者のRealNames またはｉＤＮＳサーバへ送信され、その後、既存のＤＮＳにより分解されるためにそれらはドメインネームをＡＲＰＡＮＥＴコンプライアントドメインネームに翻訳する。明白であるように、これらの解決策は各ドメインネームが最初にドメインネームサーバによる分解前に所有者サーバによって翻訳されなければならないので、計算のボトルネックを生じる。さらに、これらの解決策はｅメールメッセージの発信者および受取人を識別するｅメールアドレス部分が受取人のｅメールＰＯＰ３サーバにより翻訳される必要があるのでｅメールアドレスには適していない。
【０００８】
マイクロソフト社は解決案（http://search.ietf.orf/internet-drafts/draft-skwan-utf8-dns-02.txt）を提案しており、これはドメインネームに有効な文字セットのサイズを増加する。提案によれば、ＤＮＳパケットは既存のＡＳＣＩＩフォーマットからＵＴＦ−８フォーマットへ移動される。しかしながら、ＵＴＦ−８文字はダブルバイト構造を使用して符号化されているので、後者の解決案はＵＴＦ−８文字を使用するドメインネームが使用される前に全てのインターネットブラウザが更新されることを必要とする。したがって、例えばＢＩＮＤを使用して構成されるドメインネームサーバは通常のブラウザから受信されたＵＴＦ−８文字を１つではなく２つの文字として誤って解釈し、ドメインネームを誤って分解する。
【０００９】
それ故、計算のボトルネックを生ぜず、既存のブラウザソフトウェアに対する大きな変更を必要としない有効なドメインネームの数を拡大するネットワークアドレスネーミングシステムが必要とされる。さらに、ｅメールアドレスのアカウント名コンポーネントに有効な文字セットのサイズを拡張するネットワークアドレスネーミングシステムが必要とされる。
【００１０】
【課題を解決するための手段】
本発明の１特徴によれば、ターゲットネットワークアドレスネームをネットワークアドレスにより分解するネットワークアドレスサーバおよび方法が提供され、これは従来技術のネットワークアドレスネーミングシステムの欠点を克服する。
【００１１】
本発明の１特徴によるネットワークアドレスサーバはターゲットアドレスネームラベルをネットワークアドレスと、マルチレベルのネットワークアドレスネームスペースの１つのレベルのブランチを規定するターゲットアドレスネームラベルにより分解するように構成されている。ネットワークアドレスサーバはそれぞれアドレスネームスペースレベルの各領域に特有に関連している複数のネットワークアドレスサーバのうちの１つである。ネットワークアドレスサーバはアドレスネームデータベースと、ターゲットアドレスネームラベルに対応するネットワークアドレスに対する問合わせに対して応答を与えるためにアドレスネームデータベースと通信するアドレスネームプロセッサとを含んでいる。アドレスネームデータベースは特有のアドレスネームラベルと、アドレスネームラベルに特有に関連するネットワークアドレスとをそれぞれ識別する複数のデータベース記録を含んでいる。アドレスネームプロセッサは、相関プロセッサと、相関プロセッサと通信する相関トランシーバと、相関プロセッサおよび相関トランシーバと通信する応答プロセッサとを含んでいる。相関プロセッサはターゲットアドレスネームラベルとそれぞれの特有のアドレスネーム区域との間の相関を決定するように構成されている。相関トランシーバは他のネットワークアドレスサーバに決定された相関のそれぞれの指示を与え、少なくとも１つの他のネットワークアドレスサーバから対応する相関指示を受信するように構成されている。応答プロセッサは相関指示にしたがって問合わせに対して応答を与えるように構成されている。
【００１２】
本発明の第１の特徴にしたがって、ターゲットネットワークアドレスネームを分解する方法は、（１）第１のネットワークアドレスサーバで、ターゲットアドレスネームラベルに対応するネットワークアドレスに対する問合わせを受信し、第１のネットワークアドレスサーバはアドレスネームスペースレベルの特有の領域を規定するデータベース記録をそれぞれ含んでいる複数のネットワークアドレスサーバの１つであり、各データベース記録は特有のアドレスネームラベルを対応するネットワークアドレスに関連付け、（２）第１のネットワークアドレスサーバにおいて、受信されたターゲットアドレスネームラベルと、それぞれの特有のアドレスネーム領域との間の相関を決定し、（３）第１のドメインネームサーバにおいて、他のネットワークアドレスサーバにそれぞれの相関の指示を与え、対応する相関の指示を少なくとも１つの他のネットワークアドレスサーバから受信し、（４）第１のネットワークアドレスサーバにおいて、相関の指示にしたがって問合わせに対して応答するステップを含んでいる。
【００１３】
本発明の第２の特徴にしたがって、従来技術のネットワークアドレスネーミングシステムの欠点を克服するネットワークアドレスネームを分解する方法が提供される。本発明の第２の特徴によるネットワークアドレスネームの分解方法は、（１）複数のレベルを有する階層化したネットワークアドレスネームをマップするために複数のネットワークアドレスサーバを提供し、各ネットワークアドレスサーバはアドレスネームスペースのそれぞれのレベルの特有のサブセットを規定するデータベース記録を含み、各データベース記録は特有のアドレスネームを対応するネットワークアドレスに関連付け、（２）複数のアドレスネームラベルを含んでいるターゲットアドレスネームを分解するためにターゲットアドレスネームを受信し、各アドレスネームラベルはそれぞれのアドレスネームスペースレベルのサブセットの１つに関連され、（３）各アドレスネームラベルに対して、関連するアドレスネームスペースレベルを規定する少なくとも１つのネットワークアドレスサーバに問合わせるステップを含んでいる。
【００１４】
本発明の第３の特徴にしたがって、ターゲットネットワークアドレスネームラベルをネットワークアドレスにより分解するデータパケットが提供される。本発明の第３の特徴によるデータパケットは（アドレスネーム文字セットタイプを有する少なくとも１つのアドレスネーム文字により）ターゲットアドレスネームラベルを識別する少なくとも１つのアドレスネーム文字と、アドレスネーム文字セットタイプを識別するアドレスネーム識別子とを含んでいる。
【００１５】
本発明の第４の特徴にしたがって、ターゲットアドレスネームラベルをネットワークアドレスにより分解するアドレスネームデータベースが提供される。アドレスネームデータベースは本発明の第４の特徴にしたがって、少なくとも１つのデータベース記録を含んでおり、それぞれ（記録文字セットタイプを有する少なくとも１つの記録文字を含んでいるアドレスネームラベルにより）ネットワークアドレスネームを識別するアドレスネームラベルと、記録文字セットタイプを識別する記録文字セット識別子と、アドレスネームラベルに特有に関連するネットワークアドレスとを含んでいる。
【００１６】
本発明の好ましい実施形態では、ネットワークアドレスサーバはターゲットドメインネームラベルをネットワークアドレスにより分解するドメインネームサーバを具備している。各ドメインネームサーバは相関指示応答時間を有し、問合わせに対して返答するドメインネームサーバは最も短い相関指示応答時間を有する。好ましくは、各データベース記録は記録文字セットタイプを有する少なくとも１つの記録文字と、記録文字セットタイプを識別する記録文字セット識別子とを含んでいる。ターゲットドメインネームラベルはドメインネーム文字セットタイプを有する少なくとも１つのドメインネーム文字と、ドメインネーム文字セットタイプを識別するドメインネーム文字セット識別子を含んでいる。相関プロセッサは、ターゲットドメインネームラベルによりそれぞれのデータベース記録に問合わせ、ドメインネーム文字および関連するドメインネーム文字セット識別子と記録文字の各データベース記録および関連する記録文字セット識別子との相関を得ることによって、ターゲットドメインネームラベルとそれぞれの特有のドメインネーム区域との相関を決定する。
【００１７】
さらに、各データベース記録のドメインネームラベルは、得られたハッシュコードを対応するドメインネームラベルと特有に関連付けるハッシング関数から得られるハッシュコードに関連付けされる。相関プロセッサはターゲットドメインネームラベルをハッシング関数でコード化するハッシュコードプロセッサと、ハッシュされたデータベース記録をハッシュされたドメインネームラベルにより問合わせるために相関プロセッサと通信する検索エンジンとを含んでいる。相関プロセッサはターゲットドメインネームラベルをハッシング関数でコード化し、ハッシュされたデータベース記録をハッシュされたドメインネームラベルで問合わせることにより相関を得る。
【００１８】
【発明の実施の形態】
本発明の好ましい実施形態を図面を参照して、以下、単なる例示として説明する。
図１を参照すると、全体を100 で示されているネットワークアドレスネーム分解システムが示されており、複数のネットワーククライアント102 と、複数のネットワークサーバ104 と、複数のネットワークアドレスサーバ200 と、複数のネーム分解サーバ250 と、ネットワーククライアント102 とネットワークサーバ104 とネットワークアドレスサーバ200 とネーム分解サーバ205 を相互接続する通信ネットワーク106 とを具備している。好ましくは、各ネットワーククライアント102 は通信ネットワーク106 によってネットワークサーバ104 と通信するソフトウェアを備えているパーソナルコンピュータを具備している。
【００１９】
典型的に、通信ネットワーク106 はインターネットを具備するが、通信ネットワーク106 はイントラネットのような他のネットワーク形態で構成されてもよい。さらに、ネットワークアドレスネーム分解システム100 をドメインネーム分解システムとして以下説明するが、ネットワークアドレスネーム分解システム100 はｅメールユーザアカウントネーム名分解システムとして動作することを含む他のアプリケーションを有することができることを理解すべきである。ネットワークアドレスネーム分解システム100 の他のアプリケーションは当業者に明白であり、本発明に含まれる。
【００２０】
図２で示されているように、各ネットワークアドレスサーバ200 は通信ネットワーク106 によってネットワーククライアント102 と通信するためのネットワークインターフェース202 と、ネットワークインターフェース202 と通信する中央処理装置（ＣＰＵ）204 と、ＣＰＵ 204と通信する不揮発性メモリ（ＮＶＭ）206 および揮発性メモリ（ＲＡＭ）208 とを具備している。好ましくはＮＶＭ 206は磁気または光学記憶装置を具備し、ドメインネームをネットワークアドレスに関連付ける記録を有するゾーンファイル210 を含んでいる。ＮＶＭ 206はまたゾーンファイル210 のコピーとしてネットワークアドレスネームデータベース212 をＲＡＭ 208に設定するＣＰＵ 204のプロセッサ指令と、アドレスネームデータベース212 と通信するアドレスネームプロセッサ214 を規定するメモリオブジェクトも含んでいる。認識されるように、ネットワークアドレスネームデータベース212 はプロセスを分解する速度を増加するためにＲＡＭ 208に設定され、速度が最も重要な問題ではないアプリケーションでは省略されてもよい。
【００２１】
インターネットの現在の構造にしたがって、ネットワークサーバ104 のドメインネーム（それぞれ特定のネットワークアドレスに関連され、複数のドメインネームラベルを有している）は複数のアドレスネームスペースレベルを有する階層化されたネットワークアドレスネームスペースを共に規定する。例えばＣＯＭ、ＥＤＵ、ＭＩＬ、ＮＥＴ、ＯＲＧのような一般的なトップレベルのドメインネームラベルと、ＣＡ、ＵＫ、ＪＰ等の国特定のトップレベルのドメインネームラベルはそれぞれネットワークアドレスネームスペースの最上部レベルに存在する。各トップレベルのドメインネームラベルの下には複数の第２のレベルのドメインネームラベルが存在し、各第２のレベルのドメインネームラベルの下には典型的に少なくとも１つの低いレベルのドメインネームラベルが存在する。各ネットワークアドレスサーバ200 のアドレスネームデータベース212 はそれぞれアドレスネームスペースレベルの特有の区域を規定する複数のデータベース記録300 を含んでいる。
【００２２】
分解プロセスの速度を強化するために、好ましくはネットワークアドレスネームスペースの各レベルは複数の異なるネットワークアドレスサーバ200 を横切って分配され、各アドレスネームデータベース212 は特定のアドレスネームスペースレベルで規定されるドメインネームラベルの特有のサブセットに関連されている。本質的に、各ネットワークアドレスサーバ200 はアドレスネームスペース全体の特有の区域と、関連するアドレスネームスペースレベルで規定される全てのドメインネームラベルを共に識別する特定のアドレスネームスペースレベルに関連する全てのネットワークアドレスサーバ200 のアドレスネームデータベース212 とに関連付けされる。しかしながら、既存のＤＮＳ構造と一致して、好ましくはネットワークアドレスネーム分解システム100 は冗長または２次ネットワークアドレスサーバ200 を含んでおり、それによってアドレスネームスペースの特有の各区域は２以上のネットワークアドレスサーバ200 によりサービスされる。
【００２３】
典型的なデータベース記録300a、300b、300c、300dの構造は図３でテキストフォーマットで示されている。明らかにされるように、データベース記録300 は、各データベース記録300 が特定のドメインネームを識別するアドレスネームラベル302 と、アドレスネームラベル302 に関連する少なくとも１つのネットワークアドレス304 とを含む点で、Mockapetris により記載されているＵＤＳで現在使用されているＢＩＮＤベースのテキストゾーンファイルリソース記録と実質的に類似している。既存のＤＮＳ規定にしたがって、各ネットワークアドレス304 は（１）アドレスネームデータベース212 に、ネットワークアドレスネームスペースの次に低いレベルに関連するネットワークアドレスネームを含んでいるネットワークアドレスサーバ200 のネットワークアドレスサーバネットワークアドレス304 または（２）分解されるドメインネームのドメインネームネットワークアドレス304bのいずれかである。
【００２４】
しかしながら、既存のＢＩＮＤベースのゾーンファイル記録で使用されるＡＳＣＩＩテキストと異なって、通常のドメインネームシステムに固有の文字セットの制限を克服するために、ユニコード文字セットが複数の異なる言語からの符号および文字を含むので、好ましくは各アドレスネームラベル302 はユニコード文字セット（ＩＳＯ 10646）からの文字を使用して規定される。しかしながら、ネットワークアドレスネーム分解システム100 を任意の特定の文字セットに限定することを避けるために、各アドレスネームラベル302 が任意の複数の文字セットからの文字を使用してもよいことが考慮される。それ故、好ましくは、各データベース記録300 はアドレスネームラベル302 を規定するのに使用される文字セットタイプを識別する文字セット識別子も含んでいる。
【００２５】
例えば、データベース記録300bは、文字セット識別子306 として、Ｂｉｇ５中国語文字セットを示すためのストリング“Ｂｉｇ５”を含み、データベース記録300cは、文字セット識別子306 として、ＵＴＦ８ダブルバイト中国語文字セットを示すためのストリング“ＵＴＦ８”を含んでいる。さらに、マイクロソフトインターネットエクスプローラブラウザのための中国語拡張では誤って各ＵＴＦ８ダブルバイト文字を２つの別々の文字として扱い、それによってＵＴＦ８文字の誤った変換を行う。それ故、データベース記録300dはインターネットエクスプローラユーザにＵＴＦ８文字により規定されるドメインネームの正確な分解を透明に与えるために文字セット識別子306 としてストリング“ＵＴＦ８−Ｂｉｇ５”を含んでいる。さらに、好ましくは各データベース記録300 はまた８ビットコンプライアントではないネーム分解サーバ250 とインターフェースするために、文字セット識別子306 としてストリング“ＵＴＦ７”を含んでいる。
【００２６】
図２で示されているように、１つの変形では、アドレスネームデータベース212 はそれぞれアドレスネームラベル302 の１つから獲得される複数のハッシュ値を有するハッシュテーブル308 も含んでいる。説明するように、ハッシュテーブル308 はドメインネーム分解プロセスの速度を改良し、速度が最も重要な問題ではないならば、またはアドレスネームデータベース212 が多数の記録300 を含んでいないならば除去されてもよい。
【００２７】
ターゲットドメインネームによりネットワークアドレスサーバ200 に問合わせるためのデータパケット400 部分が図４に示されている。全体的なデータパケット400 の構造は、データパケットがＨＥＡＤＥＲ、ＱＵＥＳＴＩＯＮ、ＡＮＳＷＥＲ、ＡＵＴＨＯＲＩＴＹ、ＡＤＤＩＴＩＯＮＡＬ記録（図示せず）を含んでいるので、一般的なＤＮＳ問合わせでMockapetris により記載されているデータグラムメッセージフォーマットと実質的に類似している。さらに、Mockapetris により記載されているように、ＱＵＥＳＴＩＯＮ、ＡＮＳＷＥＲ、ＡＵＴＨＯＲＩＴＹ  ＡＮＤ  ＡＤＤＩＴＩＯＮＡＬ記録は１以上のＱＮＡＭＥ、ＱＴＹＰＥ、ＱＣＬＡＳＳ、ＴＴＬ、ＲＤＬＥＮＧＴＨおよびＲＤＡＴＡフィールド（図示せず）を含んでいる。
【００２８】
さらにMockapetris により提案されるように、ＱＮＡＭＥフィールドはターゲットドメインネームを識別するターゲットドメインネームラベル402 と、ターゲットドメインネームラベル402 に先行し、ドメインネームラベルの文字数を識別する８ビット文字カウント識別子403 を含んでいる。しかしながら、Mockapetris により提案されるように、ＡＳＣＩＩ文字のみを含む各ターゲットドメインネームではなく、好ましくは各アドレスネームラベル402 はユニコード文字セットからの文字を使用して規定される。他方で、前述したように、ネットワークアドレスネーム分解システム100 を任意の特定の文字セットに限定することを避けるために、各ターゲットドメインネームラベル402 が任意の複数の文字セットからの文字を使用してもよいことが考慮される。それ故、好ましくは各データパケット400 はまたターゲットドメインネームラベル402 を規定するために使用される文字セットタイプを識別する１６ビット文字セット識別子404 を含んでいる。示されているように、文字セット識別子404 はネットワークアドレスサーバ200 にデータパケット400 が非ＡＳＣＩＩ文字を含んでいることを示す２ビット接頭部分404aと、将来の強化目的の２ビットフラグ部分404bと、文字セットタイプを識別する１２ビットコード部分404cとを含んでいる。
【００２９】
好ましくは、コード部分404cはＲＦＣ 1700 で提案されたＭＩＢｅｎｕｍ仕様のような文字セットの識別のための標準化仕様を使用する。したがってＲＦＣ 1700 から明白であるように、値“１０００”はコード部分404cで使用されるとき後続するドメインネームラベルがユニコード文字セットからの文字からなることを示す。しかしながら、ネットワークアドレスネーム分解システム100 の１つの目標として、任意の多数の国の文字を認識できる共通の文字セットの使用を促進することであり、これは全てのネットワーク分解アドレスサーバ200 がドメインネームラベルを表示するための共通の文字セットを一度採択すると、１２ビットコード部分404c、２ビット接頭部分404a、２ビットフラグ部分404bが共に除去されてもよいことが予測される。他方で、商標として使用されるグラフィック表示またはロゴ等のような任意の認識された文字セットの一部ではない符号をドメインネームラベルが含まれてもよいことも予測され、この場合コード部分404cはその符号に関連する文字セットを識別するために維持される。
【００３０】
図４で示されているように、好ましくは２ビット接頭部分404aは後続するドメインネームラベルが非ＡＳＣＩＩ文字を含んでいることを識別するために“１０”に設定される。しかしながら、ＲＦＣ 1035 から明白であるように、ドメインネームラベルは長さが６３オクテットに限定されるので、８ビット文字カウンタ識別子403 の２つの上位桁ビットは典型的に“００”である。それ故、Mockapetris により記載されたＤＮＳ標準規格との両立性を促進し、従来技術のネーム分解サーバ205 （非ＡＳＣＩＩ文字を認識しない）との過去への両立性を促進するために、ターゲットドメインネームラベル402 がＡＳＣＩＩ文字のみからなるならば、そうでなければドメインネームラベル402 の文字カウント識別子403 に先行する好ましくは１６ビットの文字セット識別子404 は除去される。例えば、データパケット400 のデータの最後の２つの“行”は（ドメインネームの最後のドメインネームラベルが３ＡＳＣＩＩ文字を有することを識別する）８ビット文字カウンタ識別子403 と、文字が共に“ｃｏｍ”ドメインネームラベルを規定するターゲットドメインネームラベル402 だけを含んでいる。したがって、８ビット文字カウンタ識別子403 の２つの上位桁ビットはＡＳＣＩＩ文字のみからなるドメインネームラベルでは“１０”ではないので、ネーム分解サーバ205 は従来技術のＤＮＳアルゴリズムに変形せずにこのようなドメインネームラベルを分解できる。
【００３１】
図２を再度参照すると、（アドレスネームデータベース212 と通信する）アドレスネームプロセッサ214 が示されており、それは相関プロセッサ216 と、相関プロセッサ216 と通信する相関トランシーバ218 と、相関プロセッサ216 および相関トランシーバ218 と通信する応答プロセッサ220 とを具備している。相関プロセッサ216 は分解されるドメインネームラベル402 と、特定のネットワークアドレスサーバ200 と関連する特有のアドレスネーム区域との相関を決定するように構成されている。換言すると、各ネットワークアドレスサーバ200 の相関プロセッサ216 は（１つのネットワーククライアント102 により問合わせられたとき）ターゲットドメインネームラベル402 がネットワークアドレスサーバ200 のアドレスネームデータベース212 に対応するエントリを有するか否かを決定するように構成されている。
【００３２】
相関プロセッサ216 は、ターゲットドメインネームラベル402 によりネットワークアドレスサーバ200 のデータベース記録300 に問合わせ、その後ドメインネーム文字および関連するドメインネーム文字セット識別子404 を、（アドレスネームラベル302 の）記録文字および関連する記録文字セット識別子306 と比較することによって、ターゲットドメインネームラベル402 とネットワークアドレスサーバ200 の割当てられた特有のドメインネーム区域との間の相関を決定するように構成されている。以下、明らかにされるように、相関プロセッサ216 は一致するデータベース記録300 がそれぞれのアドレスネームデータベース212 に位置するまで、またはそれぞれのアドレスネームデータベース212 中の全てのデータベース記録300 が解析されるまで各データベース記録300 の解析を続ける。
【００３３】
相関プロセッサ216 は、ドメインネームラベルによりデータベース記録に問合わせるために検索エンジン222 を含んでいる。しかしながら、アドレスネームデータベース212 がハッシュテーブル308 を含んでいる変形では、前述したように、好ましくは相関プロセッサ216 は、ターゲットドメインネームラベルをハッシング機能でコード化するハッシュコードプロセッサ224 と、ハッシュされたデータベース記録をハッシュされたドメインネームラベルにより問合わせるためにハッシュコードプロセッサ224 と通信する検索エンジン222 も含んでいる。この変形では、相関プロセッサ216 はターゲットドメインネームラベルをハッシュコード308 の生成に使用されるハッシング関数でコード化し、その後、ハッシュされたデータベース記録をハッシュされたドメインネームラベル402 により問合わせることによって相関を得る。
【００３４】
各ネットワークアドレスサーバ200 の相関トランシーバ218 は決定された相関のそれぞれの指示を他のネットワークアドレスサーバ200 に与え、少なくとも１つの他のネットワークアドレスサーバ200 から対応する相関指示を受信するように構成されている。応答プロセッサ220 は相関指示にしたがって問合わせに対する応答を与えるように構成されている。
【００３５】
ネットワークアドレスネーム分解システム100 の動作を図５を参照して説明する。分解プロセスを示すため、ネーム“www.Φ.com”は１つのネットワークアドレスサーバ200 により処理されるときのターゲットドメインネームとして使用されている。明らかにされるように、ネットワークアドレスネーム分解システム100 の全てのネットワークアドレスサーバ200 は類似の方法で機能する。
【００３６】
一度ネットワークアドレスサーバ200 が配備され、パワーアップされると、各ネットワークアドレスサーバ200 はそのゾーンファイル210 をそのＮＶＭ 206から読取り、ＲＡＭ 208にそのネットワークアドレスネームデータベース212 を作成する（コピーとして）。その後、ステップ500 で、図４で示されているものに類似するデータパケット400 を使用して、１つのネットワーククライアント102 はターゲットドメインネームをネットワークアドレスに分解するために（１つのネットワークサーバ104 と通信するための）ターゲットドメインネーム問合わせリクエストを１つのネーム分解サーバ250 へ送信する。前述したように、ネットワーククライアント102 がここで説明したネーム分解プロトコルとコンプライアントであるならば、ターゲットドメインネームは文字“Φ”を含むので、８ビット文字カウンタ識別子403 の２つの上位桁ビットは“１０”である。
【００３７】
データパケット400 を受信するとき、ネーム分解サーバ250 はアドレスネームスペースのトップレベルに関連する全てのネットワークアドレスサーバ200 に問合わせを送信する。この例では、問合わせは“ＣＯＭ”ドメインネームスペースに割当てられる１つのネットワークアドレスサーバ200 のネットワークアドレスを識別するためにルートネットワークアドレスサーバ200 へ送信される。トップレベルのネットワークアドレスサーバ200 のネットワークインターフェース202 は問合わせを受信し、問合わせをそれらのそれぞれのアドレスネームプロセッサ214 へ送信する。ステップ502 で、各トップレベルのネットワークアドレスサーバ200 のアドレスネームプロセッサ214 はターゲットドメインネームラベル402 および関連する文字セット識別子404 をデータパケット400 から抽出する。アドレスネームプロセッサ212 はその後、ターゲットアドレスネームラベル402 と、それぞれのネットワークアドレスサーバ200 に割当てられた特有のアドレスネーム区域との相関を決定する。
【００３８】
それを行うため、ステップ504 で、最初にドメインネーム問合わせを受信し処理するトップレベルのネットワークアドレスサーバ200 （以後“第１のトップレベルのネットワークアドレスサーバ200 ”とする）の相関プロセッサ216 は、他のトップレベルのネットワークアドレスサーバ200 がそれらのそれぞれの応答を第１のトップレベルのネットワークアドレスサーバ200 へ送信すべきであることを示すフラグと共に、問合わせを他のトップレベルのネットワークアドレスサーバ200 へ送信する。分解プロセスの速度の増加に加えて、以下説明するように、このステップはネットワーククライアント102 がドメインネームの問合わせに対する１つの応答を受信するだけであることを確実にする。
【００３９】
通知の送信後、ステップ506 で、各トップレベルのネットワークアドレスサーバ200 の相関プロセッサ216 のハッシュコードプロセッサ224 は抽出されたターゲットドメインネームラベル402 および関連する文字セット識別子404 からハッシュコードを導出する。各トップレベルのネットワークアドレスサーバ200 の相関プロセッサ216 の検索エンジン222 はその後、ネットワークアドレスネームデータベース212 に一致したエントリが存在するかについて、得られたハッシュコードによってそれらのそれぞれのネットワークアドレスネームデータベース212 のデータベース記録300 に問合わせる。一致が検出されないならば、ステップ508 で各トップレベルのネットワークアドレスサーバ200 の相関トランシーバ218 は第１のトップレベルのネットワークアドレスサーバ200 に、ドメインネームがネットワークアドレスサーバのアドレスネームデータベース212 で発見されなかったことを示すデータパケットを与える。
【００４０】
他方で、一致が検出されたならば、ステップ510 で、一致するエントリを有するトップレベルのネットワークアドレスサーバ200 は、“ｃｏｍ”ドメインネームスペースに割当てられた１つのネットワークアドレスサーバ200 のネットワークアドレスにより第１のトップレベルのネットワークアドレスサーバ200 に返答する。代わりに、トップレベルのネットワークアドレスサーバ200 がドメインネームの信頼性のある記録を有するならば、ネットワークアドレスサーバ200 はドメインネームに関連するネットワークアドレスにより第１のトップレベルのネットワークアドレスサーバ200 に返答する。
【００４１】
ステップ512 において、第１のトップレベルのネットワークアドレスサーバ200 は検索されたネットワークアドレスにより、問合わせを開始したネーム分解サーバ250 に応答する。第１のトップレベルのネットワークアドレスサーバ200 が１つのネットワークアドレスサーバ200 のネットワークアドレスにのみ応答するならば、ネーム分解サーバ250 はその問合わせを、検索されたネットワークアドレスを有するネットワークアドレスサーバ200 へ送信する。このプロセスはステップ500 乃至512 にしたがって反復されるが、問合わせは“Φ.com”ドメインネームスペースに割当てられた１つのネットワークアドレスサーバ200 のネットワークアドレスを識別するために“ｃｏｍ”ネットワークアドレスサーバ200 に送信される。認識されるように、ステップ512 で、第１の“ｃｏｍ”ネットワークアドレスサーバ200 はネットワーククライアント102 に応答し、このネットワーククライアント102 は“Φ.com”ドメインネームスペースに割当てられた１つのネットワークアドレスサーバ200 のネットワークアドレスにより、または検索されたネットワークアドレスによって問合わせを開始する。
【００４２】
このプロセスはステップ500 乃至512 にしたがって反復されるが、問合わせは“www.Φ.com”ドメインネームスペースに割当てられた１つのネットワークアドレスサーバ200 のネットワークアドレスを識別するために“Φ.com”ネットワークアドレスサーバ200 に送信される。ステップ512 で、第１の“Φ.com”ネットワークアドレスサーバ200 はネーム分解サーバ250 に応答し、このネーム分解サーバ250 はターゲットドメインネームスペースに関連するネットワークアドレスにより、またはターゲットドメインネームが発見されなかった指示によって問合わせを開始する。ネットワーククライアント102 はその後、ネットワーククライアント102 がターゲットネットワークサーバ104 との通信を設定することを可能にするためにネットワーククライアント102 へ応答を送信する。
【００４３】
任意の反復ステップ512 で、他のネットワークアドレスサーバ200 から応答が何も受信されず、一致するエントリが第１のネットワークアドレスサーバにより発見されることができないならば、第１のネットワークアドレスサーバはステップ512 でタイムアウトエラーによりネーム分解サーバ250 に応答する。
【００４４】
本発明は従来技術に比較して多くの複数の利点を与える。第１に、ドメインネームスペースの各レベルを異なる部分へ分離し、各ドメインネーム部分を異なるネットワークアドレスサーバ200 に割当てることによって、利用可能なドメインネームの数は任意の１つのドメインネームサーバのハードウェアによる制限によって限定されない。第２に、ドメインネームスペースを多数のネットワークアドレスサーバ200 中に分配することによって、ネットワークアドレスサーバ200 を設けるスタートアップ価格が減少される。第３に、通常のドメインネームサーバにより使用されるＡＳＣＩＩ文字セットではなくユニコード文字セットを使用することにより、ドメインネームの数は非常に増大されることができる。第４に、ドメインネームラベルの文字セットを識別するための文字セット識別子を使用することによって、ネットワークアドレスネーム分解システム100 は新しい文字セットを認識して既存の文字セットに対する強化を受けるように容易に構成されることができる。さらに、ｅメールシステムのアカウントネットワークアドレスサーバとしてネットワークアドレスサーバ200 を使用することによって、ｅメールアカウントに割当てられたアカウント名に使用されることができる文字のタイプも著しく強化されることができる。
【００４５】
以上の説明は本発明の好ましい実施形態の例示であり、本発明は添付の特許請求の範囲により規定される。当業者は前述の実施形態に対するある付加、削除および／または変更を考慮することが可能であり、これはここでは明確に説明されていないが、特許請求の範囲により規定されている本発明の技術的範囲を逸脱しない。
【図面の簡単な説明】
【図１】  複数のネットワーククライアントと、複数のネットワークアドレスサーバと、ネットワーククライアントとネットワークアドレスサーバとを相互接続する通信ネットワークとを示している本発明にしたがったネットワークアドレスネーム分解システムの概略図。
【図２】  アドレスネームデータベースと、相関プロセッサと、相関トランシーバと、アドレスネームプロセッサの応答プロセッサとを示している図１で示したネットワークアドレスサーバの概略図。
【図３】  図２で示されているアドレスネームデータベースを具備しているサンプルデータベース記録の概略図。
【図４】  ネームネットワークアドレスサーバに問合わせるために使用されるデータパケットの概略図。
【図５】  ネットワークアドレスサーバが実行するターゲットネットワークアドレスネームラベルをネットワークアドレスにより分解するステップのシーケンスを示したフローチャート。
【図１】
0004975926.tif 000002
【図２】
0004975926.tif 000003
【図３】
0004975926.tif 000004
【図４】
0004975926.tif 000005
【図５】
0004975926.tif 000006