(57)【特許請求の範囲】
【請求項１】
ドメイン・ネーム・サービス（ＤＮＳ）データベースへのアクセスを管理するコンピュータ実施方法であって、
ユーザがクライアントから発信した、要求および前記ユーザに固有の非暗号化識別情報であるユーザ固有識別情報を含むＤＮＳ要求メッセージを受信すること、
前記ＤＮＳ要求メッセージに含まれるクライアント・アドレス情報および前記ユーザ固有識別情報に基づいて、前記ユーザが前記ＤＮＳデータベースへのアクセスを許可されているかどうかを判定すること、ならびに
前記ユーザが許可されていると判定したのに応答して、前記要求を実行することを含み、
前記ＤＮＳ要求メッセージのヘッダの識別子（ＩＤ）フィールドの一部分が、前記ユーザ固有識別情報を含み、前記クライアント・アドレス情報および前記ユーザ固有識別情報に基づいて前記ユーザが前記ＤＮＳデータベースへのアクセスを許可されているかどうかを判定することが、前記ＩＤフィールドの前記一部分から前記ユーザ固有識別情報を抽出することを含む、方法。
【請求項２】
前記クライアント・アドレス情報および前記ユーザ固有識別情報に基づいて前記ユーザが前記ＤＮＳデータベースへのアクセスを許可されているかどうかを判定することが、アクセス制御リスト上のドメイン名のルックアップを実行することを含む、請求項１に記載の方法。
【請求項３】
前記ユーザ固有識別情報が、ユーザ識別子を含む、請求項１に記載の方法。
【請求項４】
前記ユーザ固有識別情報が、特権識別子を含む、請求項１に記載の方法。
【請求項５】
前記要求が、更新要求である、請求項１に記載の方法。
【請求項６】
前記要求が、問合せである、請求項１に記載の方法。
【請求項７】
ドメイン・ネーム・サービス（ＤＮＳ）データベースへのアクセスを管理するコンピュータ・プログラムであって、
ユーザがクライアントから発信した、要求および前記ユーザに固有の非暗号化識別情報であるユーザ固有識別情報を含むＤＮＳ要求メッセージを受信するように構成されたコンピュータ可読プログラム・コードと、
前記ＤＮＳ要求メッセージに含まれるクライアント・アドレス情報および前記ユーザ固有識別情報に基づいて、前記ユーザが前記ＤＮＳデータベースへのアクセスを許可されているかどうかを判定するように構成されたコンピュータ可読プログラム・コードと、
前記ユーザが許可されていると判定したのに応答して、前記要求を実行するように構成されたコンピュータ可読プログラム・コードとを含み、
前記ＤＮＳ要求メッセージのヘッダの識別子（ＩＤ）フィールドの一部分が、前記ユーザ固有識別情報を含み、前記クライアント・アドレス情報および前記ユーザ固有識別情報に基づいて前記ユーザが前記ＤＮＳデータベースへのアクセスを許可されているかどうかを判定するように構成されたコンピュータ可読プログラム・コードが、前記ＩＤフィールドの前記一部分から前記ユーザ固有識別情報を抽出するように構成されたコンピュータ可読プログラム・コードを含む、コンピュータ・プログラム。
【請求項８】
前記クライアント・アドレス情報および前記ユーザ固有識別情報に基づいて前記ユーザが前記ＤＮＳデータベースへのアクセスを許可されているかどうかを判定するように構成されたコンピュータ可読プログラム・コードが、アクセス制御リスト上のドメイン名のルックアップを実行するように構成されたコンピュータ可読プログラム・コードを含む、請求項７に記載のコンピュータ・プログラム。
【請求項９】
前記ユーザ固有識別情報が、ユーザ識別子を含む、請求項７に記載のコンピュータ・プログラム。
【請求項１０】
前記ユーザ固有識別情報が、特権識別子を含む、請求項７に記載のコンピュータ・プログラム。
【請求項１１】
前記要求が、更新要求である、請求項７に記載のコンピュータ・プログラム。
【請求項１２】
前記要求が、問合せである、請求項７に記載のコンピュータ・プログラム。
【請求項１３】
ドメイン・ネーム・サービス（ＤＮＳ）データベースへのアクセスを管理するシステムであって、
プロセッサと、
前記プロセッサに動作可能に結合されたコンピュータ・メモリとを含み、
前記コンピュータ・メモリの内部に、
ユーザがクライアントから発信した、要求および前記ユーザに固有の非暗号化識別情報であるユーザ固有識別情報を含むＤＮＳ要求メッセージを受信するように構成されたコンピュータ可読プログラム・コードと、
前記ＤＮＳ要求メッセージに含まれるクライアント・アドレス情報および前記ユーザ固有識別情報に基づいて、前記ユーザが前記ＤＮＳデータベースへのアクセスを許可されているかどうかを判定するように構成されたコンピュータ可読プログラム・コードと、
前記ユーザが許可されていると判定したのに応答して、前記要求を実行するように構成されたコンピュータ可読プログラム・コードとが配置され、
前記ＤＮＳ要求メッセージのヘッダの識別子（ＩＤ）フィールドの一部分が、前記ユーザ固有識別情報を含み、前記クライアント・アドレス情報および前記ユーザ固有識別情報に基づいて前記ユーザが前記ＤＮＳデータベースへのアクセスを許可されているかどうかを判定するように構成されたコンピュータ可読プログラム・コードが、前記ＩＤフィールドの前記一部分から前記ユーザ固有識別情報を抽出するように構成されたコンピュータ可読プログラム・コードを含む、システム。
【請求項１４】
前記クライアント・アドレス情報および前記ユーザ固有識別情報に基づいて前記ユーザが前記ＤＮＳデータベースへのアクセスを許可されているかどうかを判定するように構成されたコンピュータ可読プログラム・コードが、アクセス制御リスト上のドメイン名のルックアップを実行するように構成されたコンピュータ可読プログラム・コードを含む、請求項１３に記載のシステム。
【請求項１５】
前記ユーザ固有識別情報が、ユーザ識別子を含む、請求項１３に記載のシステム。
【請求項１６】
前記ユーザ固有識別情報が、特権識別子を含む、請求項１３に記載のシステム。
【請求項１７】
ドメイン・ネーム・サービス（ＤＮＳ）要求メッセージにおいてユーザを識別するコンピュータ実施方法であって、
ユーザに関連付けられたクライアントから発信される、前記ユーザに固有の非暗号化識別情報であるユーザ固有識別情報を含むＤＮＳメッセージ・セクションを含むＤＮＳ要求メッセージを作成すること、ならびに
前記ＤＮＳ要求メッセージをＤＮＳサーバに送信することを含み、
前記ユーザに関連付けられた前記クライアントから発信される前記ＤＮＳ要求メッセージを作成することが、
前記ユーザ固有識別情報を、前記ＤＮＳ要求メッセージのヘッダ・セクションの識別子（ＩＤ）フィールドの予め規定された特定のビット位置に挿入すること、
前記識別子（ＩＤ）フィールドの、前記ユーザ固有識別情報がない残りのビット位置に適合するように構成された一意メッセージ識別子を生成すること、ならびに
前記一意メッセージ識別子を、前記識別子（ＩＤ）フィールドの前記残りのビット位置に挿入することを含む、方法。
【請求項１８】
ドメイン・ネーム・サービス（ＤＮＳ）要求メッセージにおいてユーザを識別するコンピュータ・プログラムであって、
ユーザに関連付けられたクライアントから発信される、前記ユーザに固有の非暗号化識別情報であるユーザ固有識別情報を含むＤＮＳメッセージ・セクションを含むＤＮＳ要求メッセージを作成するように構成されたコンピュータ可読プログラム・コードと、
前記ＤＮＳ要求メッセージをＤＮＳサーバに送信するように構成されたコンピュータ可読プログラム・コードとを含み、
前記ユーザに関連付けられた前記クライアントから発信される前記ＤＮＳ要求メッセージを作成するように構成されたコンピュータ可読プログラム・コードが、
前記ユーザ固有識別情報を、前記ＤＮＳ要求メッセージのヘッダ・セクションの識別子（ＩＤ）フィールドの予め規定された特定のビット位置に挿入するように構成されたコンピュータ可読プログラム・コードと、
前記識別子（ＩＤ）フィールドの、前記ユーザ固有識別情報がない残りのビット位置に適合するように構成された一意メッセージ識別子を生成するように構成されたコンピュータ可読プログラム・コードと、
前記一意メッセージ識別子を、前記識別子（ＩＤ）フィールドの前記残りのビット位置に挿入するように構成されたコンピュータ可読プログラム・コードとを含む、コンピュータ・プログラム。
【請求項１９】
ドメイン・ネーム・サービス（ＤＮＳ）要求メッセージにおいてユーザを識別するシステムであって、
プロセッサと、
前記プロセッサに動作可能に結合されたコンピュータ・メモリとを含み、
前記コンピュータ・メモリの内部に、
ユーザに関連付けられたクライアントから発信される、前記ユーザに固有の非暗号化識別情報であるユーザ固有識別情報を含むＤＮＳメッセージ・セクションを含むＤＮＳ要求メッセージを作成するように構成されたコンピュータ可読プログラム・コードと、
前記ＤＮＳ要求メッセージをＤＮＳサーバに送信するように構成されたコンピュータ可読プログラム・コードとが配置され、
前記ユーザに関連付けられた前記クライアントから発信される前記ＤＮＳ要求メッセージを作成するように構成されたコンピュータ可読プログラム・コードが、
前記ユーザ固有識別情報を、前記ＤＮＳ要求メッセージのヘッダ・セクションの識別子（ＩＤ）フィールドの予め規定された特定のビット位置に挿入するように構成されたコンピュータ可読プログラム・コードと、
前記識別子（ＩＤ）フィールドの、前記ユーザ固有識別情報がない残りのビット位置に適合するように構成された一意メッセージ識別子を生成するように構成されたコンピュータ可読プログラム・コードと、
前記一意メッセージ識別子を、前記識別子（ＩＤ）フィールドの前記残りのビット位置に挿入するように構成されたコンピュータ可読プログラム・コードとを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ドメイン・ネーム・サービス（ＤＮＳ）データベースへのアクセスを管理する方法、システムおよびコンピュータ・プログラムに関する。
【背景技術】
【０００２】
ドメイン・ネーム・システムは、インターネットまたはプライベート・ネットワークに接続されたコンピュータ、サービスまたはその他のリソースの階層的命名システムである。ネットワーキング・デバイスは、ネットワーク上でデバイスの位置を検出してアドレス指定するための数値識別子であるインターネット・プロトコル・アドレス（ＩＰアドレス）と関連付けられる。ドメイン・ネーム・システムは、各参加者に割り当てられたドメイン名を、参加者のデバイスのＩＰアドレスと関連付ける。
【０００３】
ドメイン・ネーム・サービス（ＤＮＳ）は、ドメイン名を含むユニフォーム・リソース・ロケータ（ＵＲＬ）をそれぞれのＩＰアドレスに変換して、ネットワーク通信を可能にする。インターネット上に分散したＤＮＳサーバは、ドメイン名をそれぞれ関連するＩＰアドレスにマッピングするデータベースを保持している。クライアント・コンピュータは、ＤＮＳリゾルバを使用して、そのＤＮＳサーバを位置検出し、当該ＤＮＳサーバにＵＲＬを変換するように問い合わせる。当該ＤＮＳサーバが宛先ドメインに対して権限がない場合、または当該ＤＮＳサーバのキャッシュにその情報がない場合には、当該ＤＮＳサーバは、クライアントの問合せに対して直ちに回答することはできない。その代わりに、ＤＮＳサーバは、ＤＮＳフォワーダとして作用する、または再帰的問合せを発行する、あるいはその両方を行う。ＤＮＳフォワーダは、問合せを別のＤＮＳサーバに転送するものである。再帰的問合せが可能である場合には、ＤＮＳサーバは、宛先ドメインに権限を有するホストのＩＰアドレスをルート・ネーム・サーバに尋ね、その権限を有するサーバにコンタクトし、クライアントに報告を戻す。あるいは、ＤＮＳサーバのキャッシュに答えが見つかった場合には、クライアントがＤＮＳサーバから権限のない回答を受信することもある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明の目的は、問合せや更新要求などの要求を実行するか拒絶するか判断するため、ユーザおよびネットワークのアドレス情報に応じた問合せや更新要求などのＤＮＳ要求メッセージの許可を与えることを可能ならしめることにある。
【課題を解決するための手段】
【０００５】
ドメイン・ネーム・サービス（ＤＮＳ）データベースへのアクセスを管理する方法、システム、およびコンピュータ・プログラムである。本開示の実施形態は、ユーザおよびネットワークのアドレス情報に応じた問合せや更新要求などのＤＮＳ要求メッセージの許可を可能にするものである。この許可機能は、既存のＤＮＳシステムに組み込むこともできる。
【０００６】
第１の一般的な実施形態では、本発明は、ユーザがクライアントから発信した、要求およびユーザに固有の非暗号化識別情報を含むＤＮＳ要求メッセージを受信すること、ＤＮＳ要求メッセージに含まれるクライアント・アドレス情報および非暗号化ユーザ固有識別情報に基づいて、クライアントがＤＮＳデータベースへのアクセスを許可されているかどうかを判定すること、ならびにユーザが許可されていると判定したのに応答して、要求を実行することを含む方法を含む。この方法は、ＤＮＳメッセージのＩＤフィールドの一部分からユーザ固有識別情報を抽出することをさらに含むこともある。
【０００７】
他の一般的な実施形態としては、ドメイン・ネーム・サービス（ＤＮＳ）データベースへのアクセスを管理するシステムがある。データ処理システムは、プロセッサ、およびこのプロセッサに動作可能に結合されたコンピュータ・メモリを含む。これらのシステムの１つまたは複数が有するコンピュータ・メモリの内部には、プロセッサ上で実行されて、上述の方法の実施形態の１つまたは複数を実施するコンピュータ・プログラム命令が配置される。
【０００８】
本開示の上記その他の目的、特徴、および利点は、添付の図面に図示する、以下の本発明の例示的な実施形態のさらに詳細な説明から明らかになるであろう。添付の図面では、一般に、同じ参照番号は、本発明の様々な例示的な実施形態を通じて同じ部分を表している。
【図面の簡単な説明】
【０００９】
【図１】本発明の１つまたは複数の実施形態によるユースケース（使用事例）を示す図である。
【図２】本発明の１つまたは複数の実施形態によるユースケース（使用事例）を示す図である。
【図３】本発明の１つまたは複数の実施形態によるユースケース（使用事例）を示す図である。
【図４】本発明の一実施形態によるメッセージのフォーマットを示す図である。
【図５】本発明の一実施形態によるメッセージのフォーマットを示す図である。
【図６】本発明の一実施形態によるメッセージのフォーマットを示す図である。
【図７】本発明の１つまたは複数の実施形態によるコンピュータを示すブロック図である。
【図８】ドメイン・ネーム・サービス（ＤＮＳ）データベースへのアクセスを管理する方法の一実施形態によるデータ・フロー図である。
【図９】本発明の一実施形態によるデータ構造を示す図である。
【図１０】本発明の一実施形態によるデータ構造を示す図である。
【図１１】本発明の一実施形態による、ＤＮＳ要求メッセージにおいてユーザを識別する流れ図である。
【発明を実施するための形態】
【００１０】
当業者には明らかなように、本発明の実施形態は、システム、方法、またはコンピュータ・プログラムとして実施することができる。したがって、本発明の実施形態は、完全にハードウェアで構成された実施形態、完全にソフトウェアで構成された実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、またはソフトウェアの実施形態とハードウェアの実施形態を組み合わせた実施形態の形態をとることができ、本明細書では、これらを全てまとめて「回路」、「モジュール」、または「システム」と呼ぶことがある。さらに、本発明の実施形態は、コンピュータ可読プログラム・コードが実装された１つまたは複数のコンピュータ可読媒体に実装されたコンピュータ・プログラムの形態をとることもある。
【００１１】
１つまたは複数のコンピュータ可読媒体は、任意の組合せで使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体、またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、装置、またはデバイス、あるいはそれらの任意の適当な組合せとすることができるが、これらに限定されるわけではない。コンピュータ可読記憶媒体のさらに具体的な例としては（これらに限定されるわけではない）、１本または複数本のワイヤを有する電気接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラム可能読取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、携帯型コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、あるいはそれらの任意の適当な組合せなども挙げられる。本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって使用される、あるいはそれらに接続されて使用される、プログラムを収容または記憶することができる任意の有形媒体とすることができる。
【００１２】
コンピュータ可読媒体に実装されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、またはＲＦ、あるいはそれらの任意の適当な組合せなど（ただしこれらに限定されない）の任意の適当な媒体を用いて伝送することができる。
【００１３】
本発明の実施形態の動作を実行するコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、「Ｃ」プログラミング言語などの従来の手続き形プログラミング言語、または同様のプログラミング言語など、１つまたは複数のプログラミング言語の任意の組合せで書き込むことができる。
【００１４】
以下、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラムの流れ図またはブロック図あるいはその両方を参照して、本発明の実施形態について述べる。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ・プログラム命令によって実施することができることは理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、またはその他のプログラム可能データ処理装置のプロセッサに提供してマシンを生成し、コンピュータまたはその他のプログラム可能データ処理装置を介して実行される命令によって、流れ図またはブロック図あるいはその両方の１つまたは複数のブロックで指定された機能／作用を実施する手段が生成されるようにすることができる。
【００１５】
これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶させて、コンピュータ、その他のプログラム可能データ処理装置、またはその他のデバイスを特定の方法で機能させ、コンピュータ可読媒体に記憶された命令によって、流れ図またはブロック図あるいはその両方の１つまたは複数のブロックで指定された機能／作用を実施する命令を含む製品を生成するようにすることもできる。
【００１６】
コンピュータ・プログラム命令は、コンピュータ、その他のプログラム可能データ処理装置、またはその他のデバイスにロードして、コンピュータ、その他のプログラム可能データ処理装置、またはその他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成し、コンピュータまたはその他のプログラム可能装置上で実行される命令が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロックで指定された機能／作用を実施するプロセスを提供するようにすることもできる。
【００１７】
ドメイン・ネーム・サービス（ＤＮＳ）は、接続されたデバイス間の情報通信を促進する。この促進は、クライアントがＤＮＳサーバに問合せを行う、ＤＮＳサーバが問合せに返答する、ＤＮＳサーバが問合せを転送する、ＤＮＳサーバ上のＤＮＳ情報を動的に更新するなど、様々な動作を通じて実現される。これらの動作は、インターネット上の名前およびオブジェクトに関する情報を交換しているデバイス間でメッセージを送信することによって行われる。
【００１８】
図１〜図３は、本発明の一実施形態によるユースケース（使用事例）を示す図である。図１を参照すると、ユーザ１０２は、クライアント・コンピュータ１０４において作業している。クライアント・コンピュータ１０４上で動作しているクライアント１０６は、修正ＤＮＳ要求メッセージ１０８を作成し、ＤＮＳ要求メッセージ１０８をインターネットを介してＤＮＳサーバ１１０に送信する。クライアント１０６は、例えば、ユーザ・データグラム・プロトコル（ＵＤＰ）、伝送制御プロトコル（ＴＣＰ）、または当業者が思いつくその他の任意の伝送プロトコルなど、様々なプロトコルによってメッセージを伝送することができる。
【００１９】
クライアント１０６は、リゾルバ、すなわち例えばドメイン名からＩＰアドレスへの変換など、所望のリソースの完全翻訳に最終的につながる問合せの開始および順序付けを担うソフトウェア・ユーティリティのセットとすることができる。ＤＮＳ要求メッセージ１０８は、ＤＮＳサーバにあるＤＮＳデータベースへのアクセスを求める要求を含む。ＤＮＳ要求メッセージ１０８は、ドメイン・ネーム・システムの機能を実行するための、当業者が思いつく任意の形態をとることができる。この要求を問合せ要求にして、ＤＮＳ要求メッセージがＤＮＳ問合せメッセージになるようにすることもできる。あるいは、この要求を更新要求にして、ＤＮＳ要求メッセージがＤＮＳ更新メッセージになるようにすることもできる。
【００２０】
ＤＮＳ要求メッセージは、以下でさらに詳細に述べるように、本開示の実施形態では、ユーザに固有の非暗号化識別情報（ユーザ固有識別情報１０９）を含むように修正されている。例えば、ユーザ固有識別情報は、ユーザ識別子（ＩＤ）（例えばユーザ名やユーザ識別番号など）や特権識別子（例えば多層セキュリティのための特権を識別する）などを含むこともできる。
【００２１】
さらに図１を参照すると、ＤＮＳサーバ１１０は、修正済みのＤＮＳ要求メッセージ１０８を受信する。ＤＮＳサーバ１１０は、ＤＮＳ要求メッセージ１０８に含まれるユーザ固有情報１０９およびクライアント・アドレス情報に基づいて、クライアントがＤＮＳデータベースにアクセスすることを許可されているかどうかを判定する。クライアント・アドレス情報は、インターネット・プロトコル（ＩＰ）アドレスやＭＡＣアドレスなどを含むこともできる。例えば、ＩＰアドレスは、当技術分野では周知の方法に従って、伝送されたパケットから取得することもできる。
【００２２】
図２を参照すると、ＤＮＳサーバは、ユーザが許可されていると判定した場合には、要求を実行する。例えば、ＤＮＳ要求メッセージ１０８がＤＮＳ問合せメッセージである場合には、ＤＮＳサーバ１１０は、問合せに対する答えを付して、ＤＮＳ返答メッセージ１１２をクライアント１０６に返送する。
【００２３】
図４は、本発明の一実施形態による修正済みＤＮＳ問合せメッセージ２００を示す図である。ＤＮＳ問合せメッセージ２００のフォーマットは、Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ（ＲＦＣ）１０３５に定義される標準に準拠するように構成することができる。これらの標準では、ドメイン・プロトコルの内部の通信は、単一のメッセージ・フォーマットで行われるものと指定されている。メッセージの最上位フォーマットは、いくつかのセクションに分割されるが、特にＤＮＳメッセージでは、一部のセクションは空であってもよい。これらのセクションには、ヘッダ２０２、質問セクション２０４、回答セクション２０６、権限セクション２０８、および追加セクション２１０が含まれる。修正済みＤＮＳメッセージでは、ユーザ固有情報１０９は、セクション２０２〜２１０の１つに入るが、ＤＮＳの機能は依然として保持している。図４のＤＮＳ問合せメッセージ２００では、ユーザ固有情報１０９は、ヘッダ・セクション２０２に入るが、他の実施態様では、他のセクション２０４〜２１０にユーザ固有情報１０９を入れることもできる。
【００２４】
図５を参照すると、ヘッダ２０２は、残りのセクションのうちのいずれが残っているかを指定し、またメッセージが問合せであるか、応答であるか、またはその他の何らかの動作であるかを指定するフィールドを含む。ヘッダ２０２は空ではなく、長さは一定である。ヘッダ２０２は、ＤＮＳメッセージのタイプを記述し、それについての情報を提供するフィールド、およびメッセージのその他のセクション中のエントリの数を示すフィールドを含む。識別子（ＩＤ）フィールド２１２は、ＤＮＳ要求メッセージ１０８の作成時にクライアント１０６によって生成される１６ビット識別フィールドである。ＤＮＳサーバ１１０は、ＩＤフィールド２１２の内容を応答メッセージ１１２のＩＤフィールド２１２に含ませ、クライアント１０６がそれを使用して、問合せを対応する返答と突き合わせることができるようにしている。ＩＤフィールド２１２は、ユーザ固有情報１０９を含む。
【００２５】
フラグおよびコードの群２１４が、ＩＤフィールド２１２の後に続く。図６を参照すると、ＱＲフラグ・フィールド２２４は、メッセージが問合せであるか応答であるかを示す。オペレーション・コード（オペコード）フィールド２２６は、ＤＮＳメッセージの問合せのタイプを指定する４ビット・フィールドである。その値は、標準問合せ（ＱＵＥＲＹ）が０、逆問合せ（ＩＱＵＥＲＹ）が１、サーバ状態要求（ＳＴＡＴＵＳ）が２である。権限のある回答ビット（ＡＡ）２２８は、応答では有効であり、応答側のネーム・サーバを質問セクション２０４のドメイン名の権限を持つものとして指定する。切捨てフィールド（ＴＣ）２３０は、長さが許容範囲を超えるためにメッセージが切り捨てられたことを示す。再帰要求ビット（ＲＤ）２３２を設定すると、ＤＮＳサーバ１１０に再帰的に問合せを遂行させることができる。これは、応答メッセージ１１２にコピーされる。再帰可能ビット（ＲＡ）２３４は、応答中で設定または消去され、再帰的問合せサポートがＤＮＳサーバ１１０で利用可能であるかどうかを示す。ゼロ・フィールド２３６は、将来の使用に備えて残してあるフィールドであり、全ての問合せおよび応答においてゼロでなければならない。応答コード・フィールド２３８は、応答の一部として設定される４ビット・フィールドである。
【００２６】
ＱＤＣｏｕｎｔフィールド２１６は、質問セクション中のエントリの数を指定する符号なしの１６ビット整数を含む。ＡＮＣｏｕｎｔフィールド２１８は、回答セクションのリソース・レコードの数を指定する符号なしの１６ビット整数を含む。ＮＳＣｏｕｎｔフィールド２２０は、権限レコード・セクション中のネーム・サーバ・リソース・レコードの数を指定する符号なしの１６ビット整数を含む。ＡＲＣｏｕｎｔフィールド２２２は、追加レコード・セクション中のリソース・レコードの数を指定する符号なしの１６ビット整数を含む。いくつかの実施形態では、カウント・フィールド２１６〜２２２に、ユーザ固有情報が入っていてもよい。
【００２７】
図４を参照すると、質問セクション２０４は、１つまたは複数の「質問」、すなわちＤＮＳサーバ１１０に送信されている情報についての問合せを規定するパラメータを含む。回答セクション２０６、権限セクション２０８、および追加セクション２１０は、共通のフォーマットを共用している。これらのセクションは、可変数のリソース・レコードを含む。回答セクション２０６は、質問セクションに示される質問（１つまたは複数）に回答する１つまたは複数のリソース・レコードを含む。権限セクション２０８は、１つまたは複数の権限レコードを含む。権限レコードは、クライアントが要求した情報を受信側サーバが有していないときに変換プロセスを継続するために使用することができる権限のあるネーム・サーバを識別するリソース・レコードである。したがって、権限レコードは、複数のサーバを階層的にリンクするものである。追加セクション２１０は、メッセージ中の質問に回答するために絶対に必要というわけではない、問合せに関係する追加情報を含む１つまたは複数のリソース・レコードを含む。追加セクション２１０は、予想される後続の質問に対する回答を供給することによってＤＮＳの効率を向上させるために使用することもできる。
【００２８】
図１を参照すると、クライアント１０６は、適当なヘッダ情報および質問セクション２０４中の１つまたは複数の問合せ（情報を求める要求）を備えたメッセージ１０８を作成することによって、問合せを開始する。ＱＲフラグ２２４は、メッセージ１０８が問合せメッセージであることを示すために、０に設定する。クライアント１０６は、ＱＤＣｏｕｎｔフィールド２１６中の数字によって、質問セクション２０４中の質問の数を示す。その他のセクションのエントリの数は、ゼロであってもよい。したがって、これらのセクションのカウント・フィールド、ＡＮＣｏｕｎｔ２１８、ＮＳＣｏｕｎｔ２２０、およびＡＲＣｏｕｎｔ２２２は、０に設定される。
【００２９】
図２を参照すると、ユーザ１０２が許可された場合には、問合せ要求の実行は、可能なら、当該問合せを処理して、要求された情報検出動作を実行することによって行うことができる。ＤＮＳサーバ１１０は、ＤＮＳ要求メッセージ１０８を、ＤＮＳ返答メッセージ１１２の基礎として使用する。ヘッダ・セクション２０２および質問セクション２０４は、ＤＮＳ返答メッセージ１１２にコピーされ、ＱＲフラグ２２４は１に設定されて、メッセージが返答であることを示す。ヘッダ２０２中の個々のフィールドも、情報をクライアントに提供するように修正される。例えば、サーバは、応答コード・フィールド２３８を、問合せが成功したかどうか、またはエラーが発生したかどうかを示し、かつエラーが発生した場合には当該エラーを示すように設定する。ＤＮＳサーバ１１０は、ＤＮＳ返答メッセージの回答セクション２０６、権限セクション２０８、および追加セクション２１０中にＤＮＳリソース・レコードも適宜含む。各セクションは、ゼロ個以上のレコードを含むことができる。意味は、レコードが入っているセクションに応じて導出される。例えば、回答セクション２０６に含まれるリソース・レコードは、問合せに対する回答であると理解される。
【００３０】
ＤＮＳは、ゾーンについてプライマリ・サーバのマスタ・ファイル上のＤＮＳ情報を定期的に更新することによって動作する。次いで、ゾーン全体が、スレーブ・サーバにコピーされる。特定のメッセージ構文を用いて、ＤＮＳ更新メッセージは、ゾーンについてマスタ・ネーム・サーバ内のリソース・レコードの追加、削除、または修正を可能にする。
【００３１】
本発明のいくつかの実施形態では、ＤＮＳ要求メッセージ１０８は、更新メッセージであってもよい。ＤＮＳ更新メッセージのフォーマットは、「ドメイン・ネーム・システム内の動的更新（ＤＮＳ  ＵＰＤＡＴＥ）」と題するＲＦＣ２１３６に定義される標準に準拠するように構成することができる。これらの標準は、ＤＮＳ更新メッセージのフォーマットなどのＤＮＳ情報を動的に更新できるようにする基本的なＤＮＳ動作の向上を指定するものである。ＲＦＣ２１３６では、ＤＮＳ更新メッセージを、ＤＮＳメッセージ・タイプとして定義している。この標準では、ＤＮＳ更新メッセージを構成する構文およびヘッダについてのフォーマットを定義している。ＤＮＳ更新メッセージは、他のＤＮＳメッセージと同じ構造を有するように設計されるが、いくつかのフィールドの意味は再定義されている。
【００３２】
例えば、質問セクション２０４は、更新しているレコードのゾーンを示すために使用されるゾーン・セクションに対応する。回答セクション２０６は、プライマリ・マスタ・サーバがＵＰＤＡＴＥパケットを受信した時点で満たされていなければならない１組のリソース・レコード・セット前提条件を含む前提条件セクションに対応する。権限セクション２０８は、ゾーンに追加する、またはゾーンから削除するリソース・レコードを含む更新セクションに対応する。追加セクション２１０は、更新自体に関係する、または更新によって追加されている新しいリソース・レコードに関係するリソース・レコードを含む。その他のコードも修正される。例えば、更新メッセージのオペレーション・コード・フィールド２２６は、メッセージが更新メッセージであることを示すために５に設定される。
【００３３】
図３を参照すると、ＤＮＳ要求メッセージ１０８は、ＤＮＳサーバ１１０に直接伝送されないこともある。その代わりに、ＤＮＳ要求メッセージ１０８は、１つまたは複数の中間ＤＮＳサーバ１１４に伝送することができる。ＤＮＳ要求メッセージ１０８は、それらの中間ＤＮＳサーバ１１４からＤＮＳサーバ１１０に転送される。ここで、本出願の文脈で述べられるクライアント１０６は、クライアント／サーバ・コンピューティングの状況でしばしば使用される「クライアント」という用語の用法と混同しないように留意されたい。特殊な場合には、中間ＤＮＳサーバ１１４がクライアントとして作用することもある、すなわち問合せを送信することによって通信を開始することもあるが、本開示の文脈では、中間サーバ１１４をクライアントとは呼ばない。
【００３４】
本開示の実施形態は、以下に述べるコンピュータ実施方法を含む。いくつかの実施形態では、これらの方法は、その全体をシステムの１つの装置またはコンピュータ上で実行することができる。あるいは、これらの方法の一部分を、１つまたは複数のローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、有線ネットワークまたは携帯電話網、イントラネット、あるいはインターネットなどのネットワークによって接続された２つ以上のコンピュータ上で実行することもできる。本明細書に記載する方法の要素の順序は、必ずしもそれらの要素を実行できる順序を限定するわけではない。
【００３５】
デスクトップ、ワークステーション、無線通信によってインターネットに接続されたスマート・フォン、ラップトップ・コンピュータ、共用コンピューティング・システム、またはネットワーク・コンピューティング用に設計されたその他の任意のコンピューティング・デバイスなどのクライアント・コンピュータは、ネットワークを介して、ＤＮＳサーバ・アプリケーションを実行しているＤＮＳサーバ・コンピュータに接続することができる。各クライアント・コンピュータは、それぞれの上で実行されてＤＮＳメッセージをフォーマット化し、インターネット・プロトコル・スイート（ＴＣＰ／ＩＰ）またはその他の通信プロトコルを使用して本発明に従ってＤＮＳサーバ・コンピュータに修正済みＤＮＳメッセージを送信するクライアント・ソフトウェアを含む。
【００３６】
ネットワークは、１つまたは複数のローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、有線ネットワークまたは携帯電話網、イントラネット、あるいはインターネットを、単独で、または組み合わせて含むことができる。本発明の実施形態は、本開示の実施形態に従ってクライアント・コンピュータおよびＤＮＳサーバのいずれかで実施されるコンピュータ実施方法を含む。本開示の実施形態は、これらのデバイスのいずれかまたは全てを含むことができる。
【００３７】
これらのデバイスは、例示のために示したものであって、限定のために示したものではない。本発明の実施形態は、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）や特定用途向け集積回路（ＡＳＩＣ）などとして論理が実施されるデバイスなど、当業者なら思いつく、論理およびメモリを含む任意の実施可能なコンピューティング・デバイス、または実行するコンピュータ・プログラム命令をそれ自体が含むソフトウェア・モジュールとして実施することもできる。
【００３８】
開示の本発明の実施形態は、ある程度までは、サーバ、ワークステーション、タブレット・コンピュータ、ＰＣ、携帯個人端末（ＰＤＡ）、スマート・フォンなどの１つまたは複数のデータ処理システム（コンピュータ）にインストールされ、実行されるソフトウェア・モジュールとして実施される。図７は、本開示の実施形態で使用される例示的なコンピュータを示すブロック図である。コンピュータ３０２は、少なくとも１つのコンピュータ・プロセッサ３５４、ならびに揮発性ランダム・アクセス・メモリ（ＲＡＭ）３０４と、ハード・ディスク・ドライブ、光ディスク・ドライブ、または電気的消去可能プログラム可能読取り専用メモリ・スペース（ＥＥＰＲＯＭまたはフラッシュ・メモリとも呼ぶ）などの何らかの１つまたは複数の形態の不揮発性コンピュータ・メモリ３５０とを両方とも含むコンピュータ・メモリを含む。コンピュータ・メモリは、システム・バス３４０を介してプロセッサ３５４およびその他のシステム構成要素に接続される。したがって、ソフトウェア・モジュールは、コンピュータ・メモリに記憶されたプログラム命令である。
【００３９】
オペレーティング・システム３１０が、コンピュータ・メモリに記憶されている。オペレーティング・システム３１０は、Ｗｉｎｄｏｗｓ  ＸＰ（Ｒ）、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ（Ｒ）、Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ（Ｒ）、Ｍａｃ  ＯＳ  Ｘ（Ｒ）、ＵＮＩＸ（Ｒ）、ＬＩＮＵＸ（Ｒ）、Ｓｏｌａｒｉｓ（Ｒ）、またはＩＢＭ社（米国ニューヨーク州アーモンク）製のＡＩＸ（Ｒ）など、任意の適当なオペレーティング・システムとすることができる。ネットワーク・スタック３１２も、メモリに記憶されている。ネットワーク・スタック３１２は、コンピュータ・ネットワーキング・プロトコルを協働させてネットワーク通信を容易にするソフトウェア・インプリメンテーションである。
【００４０】
コンピュータ３０２は、１つまたは複数の入出力インタフェース・アダプタ３５６も含む。入出力インタフェース・アダプタ３５６は、コンピュータのディスプレイ画面などの出力デバイス３７２への出力、およびキーボードやマウスなどの入力デバイス３７０からのユーザ入力を制御するためのソフトウェア・ドライバおよびコンピュータ・ハードウェアを介して、ユーザ指向入出力を実現することができる。
【００４１】
コンピュータ３０２は、他のデバイス３６０とのデータ通信を実施する通信アダプタ３５２も含む。通信アダプタ３５２は、１つのコンピュータがネットワークを介して別のコンピュータにデータ通信を送信するための、ハードウェア・レベルのデータ通信を実施する。
【００４２】
コンピュータ・メモリには、ＤＮＳモジュール３０８も記憶されている。ＤＮＳモジュール３０８は、ＤＮＳを実施するためのデバイス固有コンピュータ・プログラム命令を含むことができる。ＤＮＳモジュール３０８は、その一部を、ユーザによって操作または開始されるデスクトップまたはワークステーション上で動作するウェブ・ブラウザ（またはその他のクライアント・アプリケーション）内で動作するリゾルバとして実施することもできる。ＤＮＳモジュール３０８は、その一部を、ＤＮＳサーバ上で動作する１つまたは複数のサーバ・アプリケーションとして実施することもできる。ＤＮＳモジュール３０８は、ユーザ・ベース・アクセス・モジュール３０６を含む。ＤＮＳモジュール３０８およびユーザ・ベース・アクセス・モジュール３０６の機能は、クライアント・デバイスと・サーバ・デバイスとで異なる。クライアントのユーザ・ベース・アクセス・モジュール３０６は、図１〜図３および図４から図６を参照して上述したように、ユーザ固有情報１０９を含む要求を形成するように動作する。サーバのユーザ・ベース・アクセス・モジュール３０６は、図１〜図３および図４から図６を参照して上述したように、ユーザを許可し、条件付きで要求に応答するように動作する。
【００４３】
ＤＮＳモジュール３０８は、別個のソフトウェア・レイヤまたは同じレイヤ内で動作する１つまたは複数のサブモジュールとして実施することもできる。ＤＮＳモジュール３０８あるいはサブモジュールの１つまたは複数は、オペレーティング・システム３１０とは別個のモジュールとして図示してあるが、オペレーティング・システム３１０、あるいはメモリ中の協調サービス・アーキテクチャまたはその他のアプリケーションの一部として組み込むこともできる。様々な実施形態で、ＤＮＳモジュール３０８は、ソフトウェア・スタック内、またはファームウェア内に実施することができる。
【００４４】
説明を進めるために、図８は、本発明の一実施形態によるＤＮＳデータベースへのアクセスを管理する方法を示すデータ流れ図である。最初に、ＤＮＳサーバが、ＤＮＳ要求メッセージ４０２を受信する（ブロック４０８）。ＤＮＳ要求メッセージ４０２は、ユーザがクライアントから発信することができる。ＤＮＳ要求メッセージ４０２は、要求４０４、およびユーザ４０６に固有の識別情報を含む。
【００４５】
ＤＮＳサーバは、クライアントがＤＮＳデータベースへのアクセスを許可されているかどうかを判定する（ブロック４１０）。クライアントが許可されているかどうかの判定は、ＤＮＳ要求メッセージ４０２に含まれるクライアント・アドレス情報４１２およびユーザ固有識別情報４０６に基づいて実行することができる。クライアント・アドレス情報４１２は、クライアントのＩＰアドレスや地理的情報などを含むことができる。クライアントが許可されているかどうかの判定は、アクセス制御リスト上のドメイン名のルックアップを実行することを含むこともある（ブロック４１４）。アクセス制御リスト（ＡＣＬ）は、オブジェクトに付与された許可のデータ構造（リスト、マトリックス、テーブルなど）である。ＡＣＬは、どのユーザまたはシステム・プロセスがオブジェクトへのアクセスを許可されているかを指定する。ＤＮＳサーバを初期構成する際には、クライアントのＩＰアドレスを、ユーザのユーザ情報とともにアクセス制御リスト（ＡＣＬ）に記憶することを含む。
【００４６】
図９は、本発明の実施形態によるＤＮＳリソース・レコードのアクセス制御リストを示す図である。アクセス制御リスト４５０は、ドメイン名４５２をリストしたテーブルを含む。このテーブルは、ドメイン名４５２を、ＤＮＳリソース・レコードへのアクセスを許可されたＩＰアドレス４５４およびユーザ識別番号４５６の組合せと関連付ける。例えばＤＮＳ問合せ要求やＤＮＳ更新要求など、異なる要求メッセージに対しては、別個のＤＮＳリソース・レコードを保持し、使用することができる。例えば、アクセス制御リスト４５０は、ｅｘａｍｐｌｅ．ｃｏｍ、ＩＢＭ．ｃｏｍ、ｘｙｚ．ｇｏｖなどのドメイン名を含む。ドメイン名ｅｘａｍｐｌｅ．ｃｏｍには、ＩＰアドレスが１９２．１１２．３６．４であり、ユーザ識別番号が２７９４４２５２０５または１２６９８４２５２１であるユーザがアクセスすることができる。アクセス制御リスト４５０は、当業者が思いつく様々な構成で実施することができる。
【００４７】
図８を参照すると、ＤＮＳサーバは、ユーザが許可されていると判定した（ブロック４１６）のに応答してのみ、要求に対して作用する。ユーザが許可されている場合（４２０）には、ＤＮＳサーバは、要求を実行する（ブロック４２２）。ユーザが許可されていない場合（４１８）には、ＤＮＳサーバは、要求を拒絶する（ブロック４２４）。要求の拒絶は、要求を無視する、要求が拒絶されたことをクライアントに通知する、または追加の安全措置を講じることを含むことがある。例えば、特定のユーザからの要求、または特定のアドレス位置から受信した要求のうちの拒絶された数を実行中に作表して保存しておくこともできる。
【００４８】
クライアント・アドレス情報およびユーザ固有識別情報に基づいてユーザがＤＮＳデータベースへのアクセスを許可されているかどうかを判定する（ブロック４１０）ことは、ＤＮＳ要求メッセージからユーザ固有識別情報を抽出することを含むこともある。いくつかの実施形態では、ユーザ固有識別情報（例えばユーザ識別番号）をＤＮＳ要求メッセージ１０８のヘッダ２０２の一部分に挿入して、ヘッダ２０２の当該部分がユーザ固有識別情報を含むことができるようにすることもできる。これらの実施形態では、クライアント・アドレス情報およびユーザ固有識別情報に基づくユーザがＤＮＳデータベースへのアクセスを許可されているかどうかの判定（ブロック４１０）は、ヘッダの当該部分からユーザ固有識別情報を抽出することによって実行することができる。
【００４９】
図１０は、本発明の実施形態によるＤＮＳ要求メッセージのヘッダのＩＤフィールドを示す図である。図１０を参照すると、ＤＮＳ要求メッセージのヘッダのＩＤフィールドの一部分が、ユーザ固有識別情報を含んでいる。ＩＤフィールド５００は、例えば無作為に生成された数など、特定の問合せ５０４に対する一意識別子（一意的なメッセージ識別子５０４）を含む。ＩＤフィールド５００は、例えば数値ユーザＩＤなどのユーザ固有識別情報５０２も含む。
【００５０】
ユーザ固有識別情報を指定するために使用されるビットの数は、ＤＮＳサーバに対して同時に問合せを行うユーザの数、および各ユーザがサーバに同時に送信する問合せの数によって決まることがある。一意識別子は、クライアントが問合せに対する応答をサーバから受信した後で、再使用することができる。数値ユーザＩＤおよび一意識別子に割り当てられるビットの最適な数は、実施されるシステムの利用パターンによって変わることがある。
【００５１】
例えば、図１０の実施形態では、数値ユーザＩＤ５０２は、ＩＤフィールド５００の前半の１０ビットを占め、問合せの一意識別子５０４は、ＩＤフィールド５００の後半の６ビットを占める。ＩＤフィールドの中の１０ビットをユーザＩＤに使用し、６ビットをユーザからの問合せの一意識別子に使用することにより、２１０（すなわち１０２４）のユーザが、２６（すなわち６４）の未処理の問合せを有することができる。ＩＤフィールドは、各クライアントに対して一意的でありさえすればよい。上記の解決策を考えると、各クライアントは１０２４のユーザを有することができ、各ユーザは６４の未処理の問合せを有することができる。他の実施形態では、ユーザ固有識別情報５０２が占める数字の数をこれより増やしたり減らしたりすることもできるし、あるいは、例えば任意のビット位置の特定の組など他の構成でＩＤフィールド５００に組み込むこともできる。
【００５２】
本開示によるＤＮＳレコードへのアクセスのユーザ・ベース許可を実施するのに必要な帯域幅および処理能力のオーバヘッドは、極めて低い。ＩＤフィールド５００からユーザ固有識別情報５０２を抽出するように構成されていないＤＮＳサーバは、ＩＤフィールド５００の内容を一意識別子として扱い、ＩＤフィールド５００の内容を返答メッセージ１１２にコピーすることになる。
【００５３】
このように、いくつかの実施形態では、クライアント・アドレス情報およびユーザ固有識別情報に基づくユーザがＤＮＳデータベースへのアクセスを許可されているかどうかの判定（ブロック４１０）は、ＩＤフィールド５００の一部分からユーザ固有識別情報を抽出することによって実行することができる。
【００５４】
本発明の実施形態によれば、クライアント１０６は、非暗号化ユーザ固有識別情報１０９を、ＤＮＳ要求メッセージ１０８に追加する。ＤＮＳ要求メッセージ１０８は、ユーザに固有の非暗号化識別情報（ユーザ固有識別情報１０９）を含むＤＮＳメッセージ・セクションを含むことができる。
【００５５】
図１１は、ユーザ固有識別情報１０９を含むＤＮＳメッセージ・セクションを含むＤＮＳ要求メッセージ１０８を作成すること（ブロック６０８）、およびＤＮＳ要求メッセージ１０８をＤＮＳサーバ１１０に送信すること（ブロック６１０）を含む、ＤＮＳ要求メッセージ１０８においてユーザを識別する方法を示す流れ図である。ＤＮＳ要求メッセージ１０８を作成すること（ブロック６０８）は、ＤＮＳメッセージ１０８のヘッダ・セクション２０２の識別子（ＩＤ）フィールド５００の予め規定された特定のビット位置（例えば０〜９）にユーザ固有識別情報５０２を挿入すること（ブロック６０２）、識別子（ＩＤ）フィールド５００のユーザ固有識別情報が入っていない残りのビット位置（例えばビットＡ〜Ｆ）に適合するように構成された一意メッセージ識別子５０４を生成すること（ブロック６０４）、および一意メッセージ識別子を、識別子（ＩＤ）フィールドの残りのビット位置に挿入すること（ブロック６０６）を含むことができる。ユーザ固有識別情報が入っていないビットの一意メッセージ識別子を生成すること（ブロック６０４）、および一意メッセージ識別子を識別子（ＩＤ）フィールドの残りのビット位置に挿入すること（ブロック６０６）は、ＤＮＳメッセージ１０８のヘッダ・セクション２０２の識別子（ＩＤ）フィールド５００の予め規定されたビット位置にユーザ固有識別情報を挿入する（ブロック６０２）前に実行することもできることに留意されたい。様々な実施形態で、クライアント１０６は、ユーザ固有識別情報５０２と一意メッセージ識別子５０４を結合するために、様々な数値的論理技術、代数的論理技術、および組合せ論理技術を利用することができる。例えば、クライアント１０６は、ユーザ固有識別情報５０２と一意メッセージ識別子５０４とを別個に生成し、その目的のために特別に設計されたハードウェア回路を使用して、または当技術分野で既知のソフトウェア技術によって、ユーザ固有識別情報５０２と一意メッセージ識別子５０４とを連結することもできる。クライアント１０６は、ユーザ固有識別情報５０２と一意メッセージ識別子５０４とを、同時に生成することもできる。
【００５６】
本明細書に開示の本発明の概念には、多くの修正を加えることができることを理解されたい。これらの修正としては、ハードウェアおよびソフトウェアの実施形態の様々な組合せ、ユーザ固有情報を含む様々なデータ構造、ソフトウェア・アーキテクチャの変更、記憶した情報を検索し、クライアントの許可を判定するための様々な機能およびプロセスの使用などが含まれる。これらの修正は、添付の特許請求の範囲およびそれらの均等物の範囲内に収まる限り、本特許によってカバーされるものとする。
【符号の説明】
【００５７】
１０２  ユーザ
１０４  クライアント・コンピュータ
１０６  クライアント
１０８  ＤＮＳ要求メッセージ
１０９  ユーザ固有情報
１１０  ＤＮＳサーバ
１１２  ＤＮＳ返答メッセージ
１１４  中間ＤＮＳサーバ
【図１】
0005587732.tif 000002
【図２】
0005587732.tif 000003
【図３】
0005587732.tif 000004
【図４】
0005587732.tif 000005
【図５】
0005587732.tif 000006
【図６】
0005587732.tif 000007
【図７】
0005587732.tif 000008
【図８】
0005587732.tif 000009
【図９】
0005587732.tif 000010
【図１０】
0005587732.tif 000011
【図１１】
0005587732.tif 000012