(57)【特許請求の範囲】
【請求項１】
ＤＮＳサーバと、
所定の記述形式で記述したＤＮＳ名情報を含み、前記ＤＮＳサーバを宛先とした、ＤＮＳ問合せパケットを生成し、送信する端末と、
前記端末から送信されたＤＮＳ問合せパケットを捕獲し、捕獲したＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、前記端末にてＤＮＳ名情報を記述した前記所定の記述形式の情報にしたがって解析し、解析結果に基づいて選択した返信情報を含むＤＮＳ応答パケットを前記端末に返信するオーバーライドエージェントと、を含み、
前記ＤＮＳ名情報は、前記所定の記述形式の情報と、特定のサービスの属性に対応する、返信すべき情報を示す付加情報と、を含む
ＤＮＳ名解決システム。
【請求項２】
前記オーバーライドエージェントは、
前記端末と前記ＤＮＳサーバとの間の通信経路上に配置され、
前記端末から送信されたＤＮＳ問合せパケットを捕獲する捕獲部と、
前記捕獲部で捕獲したＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、前記端末にてＤＮＳ名情報を記述した前記所定の記述形式の情報にしたがって解析し、前記ＤＮＳ名情報に含まれる情報を認識し、認識した情報に基づいて前記端末に返信すべき返信情報を選択する解析部と、
前記解析部にて選択された返信情報を含み、前記端末を宛先としたＤＮＳ応答パケットを生成して送信する返信部と、を有することを特徴とする請求項１に記載のＤＮＳ名解決システム。
【請求項３】
前記オーバーライドエージェントに接続されるオーバーライドヘルパーをさらに有し、
前記解析部は、
前記解析結果を前記オーバーライドヘルパーに格納された情報と照合することで、前記返信情報を選択する、ことを特徴とする請求項１又は請求項２に記載のＤＮＳ名解決システム。
【請求項４】
前記ＤＮＳ名情報は、
固定の値となる固定情報と、
動的な値となり得る前記付加情報と、を含み、
前記所定の記述形式が、前記付加情報を前記ＤＮＳ名情報中にエンコードするときのエンコード方式を規定する、
ことを特徴とする請求項１から請求項３の何れかに記載のＤＮＳ名解決システム。
【請求項５】
端末から送信された、所定の記述形式で記述したＤＮＳ名情報を含み、ＤＮＳサーバを宛先としたＤＮＳ問合せパケットを捕獲し、捕獲したＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、前記端末にてＤＮＳ名情報を記述した前記所定の記述形式の情報にしたがって解析し、選択した返信情報を含むＤＮＳ応答パケットを前記端末に返信し、
前記ＤＮＳ名情報は、前記所定の記述形式の情報と、特定のサービスの属性に対応する、返信すべき情報を示す付加情報と、を含む
ことを特徴とするオーバーライドエージェント。
【請求項６】
前記端末と前記ＤＮＳサーバとの間の通信経路上に配置され、
前記端末から送信されたＤＮＳ問合せパケットを捕獲する捕獲部と、
前記捕獲部で捕獲したＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、当該ＤＮＳ名情報を前記端末で記述したときの所定の記述形式にしたがって解析し、前記ＤＮＳ名情報に含まれる情報を認識し、認識した情報に基づいて前記端末に返信すべき返信情報を選択する解析部と、
前記解析部にて選択された返信情報を含み、前記端末を宛先としたＤＮＳ応答パケットを生成し送信する返信部と、を有することを特徴とする請求項５に記載のオーバーライドエージェント。
【請求項７】
前記解析部は、
前記解析結果を外部のオーバーライドヘルパーに格納された情報と照合することで、前記返信情報を選択する、ことを特徴とする請求項５又は請求項６に記載のオーバーライドエージェント。
【請求項８】
前記ＤＮＳ名情報は、
固定の値となる固定情報と、
動的な値となり得る前記付加情報と、を含み、
前記所定の記述形式が、前記付加情報を前記ＤＮＳ名情報中にエンコードするときのエンコード方式を規定する、
ことを特徴とする請求項５から請求項７の何れかに記載のオーバーライドエージェント。
【請求項９】
オーバーライドエージェントで、
端末から送信された、所定の記述形式で記述したＤＮＳ名情報を含み、ＤＮＳサーバを宛先としたＤＮＳ問合せパケットを捕獲し、
捕獲したＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、前記端末にてＤＮＳ名情報を記述した前記所定の記述形式の情報にしたがって解析し、解析結果に基づいて選択した返信情報を含むＤＮＳ応答パケットを前記端末に返信し、
前記ＤＮＳ名情報は、前記所定の記述形式の情報と、特定のサービスの属性に対応する、返信すべき情報を示す付加情報と、を含む
ことを特徴とするＤＮＳ名解決方法。
【請求項１０】
端末とＤＮＳサーバとの間の通信経路上に配置された前記オーバーライドエージェント
で、
捕獲したＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、当該ＤＮＳ名情報を前記端末で記述したときの所定の記述形式にしたがって解析し、前記ＤＮＳ名情報に含まれる情報を認識し、認識した情報に基づいて前記端末に返信すべき返信情報を選択する解析ステップと、
前記選択された返信情報を含み、前記端末を宛先としたＤＮＳ応答パケットを生成し送信する返信ステップと、を有することを特徴とする請求項９に記載のＤＮＳ名解決方法。
【請求項１１】
前記解析ステップでは、
前記解析結果を外部のオーバーライドヘルパーに格納された情報と照合することで、前記返信情報を選択する、ことを特徴とする請求項９又は請求項１０に記載のＤＮＳ名解決方法。
【請求項１２】
前記ＤＮＳ名情報は、
固定の値となる固定情報と、
動的な値となり得る前記付加情報と、を含み、
前記所定の記述形式が、
前記付加情報を前記ＤＮＳ名情報中にエンコードするときのエンコード方式を規定する、
ことを特徴とする請求項９から請求項１２の何れかに記載のＤＮＳ名解決方法。
【請求項１３】
オーバーライドエージェントを構成するコンピュータ装置に、
端末から送信された、所定の記述形式で記述したＤＮＳ名情報を含み、ＤＮＳサーバを宛先としたＤＮＳ問合せパケットを捕獲する処理と、
捕獲したＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、前記端末にてＤＮＳ名情報を記述した前記所定の記述形式の情報にしたがって解析し、解析結果に基づいて選択した返信情報を含むＤＮＳ応答パケットを前記端末に返信する処理とを、実行させ、
前記ＤＮＳ名情報は、前記所定の記述形式の情報と、特定のサービスの属性に対応する、返信すべき情報を示す付加情報と、を含む
ことを特徴とするプログラム。
【請求項１４】
端末とＤＮＳサーバとの間の通信経路上に配置された前記オーバーライドエージェントに、
捕獲したＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、当該ＤＮＳ名情報を前記端末で記述したときの所定の記述形式にしたがって解析し、前記ＤＮＳ名情報に含まれる情報を認識し、認識した情報に基づいて前記端末に返信すべき返信情報を選択する解析処理と、
前記選択された返信情報を含み、前記端末を宛先としたＤＮＳ応答パケットを生成し送信する返信処理とを、実行させることを特徴とする請求項１３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＮＳ（Domain Name System）名解決システム、オーバーライドエージェント、ＤＮＳ名解決方法に関する。
【背景技術】
【０００２】
一般的なＤＮＳ名解決システムの関連技術が、非特許文献１に記載されている。【０００３】
非特許文献１に記載のＤＮＳ名解決システムは、ユーザプログラム（User Program）と、リゾルバ（Resolver）と、ネームサーバ（Name Server）とを含んでいる。【０００４】
このような構成を有する非特許文献１に記載のＤＮＳ名解決システムは、次のように作する。【０００５】
すなわち、ユーザプログラムは、クライアントが解決したいＤＮＳ名（例えば、ドメイン名）を示すＤＮＳ名情報をユーザ問い合わせ（user queries）としてリゾルバに伝える。リゾルバは、そのＤＮＳ名情報を含むＤＮＳ問合せ（DNS queries）パケットを生成し、生成したＤＮＳ問合せパケットをネームサーバに送信する。【０００６】
ネームサーバは、ＤＮＳ名の実際の解決処理を行い、その解決結果（例えば、ドメイン名に対応するＩＰアドレス）を示す解決情報を含むＤＮＳ応答（DNS responses）パケットを生成し、生成したＤＮＳ応答パケットをリゾルバに送信する。ユーザプログラムは、リゾルバからユーザ応答（user
responses）として解決情報を受け取る。【０００７】
なお、一般的なＤＮＳ名解決システムの概念およびＤＮＳ名情報に用いる文字列の例が、非特許文献２に記載されている。【０００８】
また、ＵＲＬ（Uniform Resource Locator）についての定義が、非特許文献３に記載されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】RFC1035 “DOMAIN NAMES -IMPLEMENTATION AND SPECIFICATION”、１９８７年１１月、［平成２１年２月１９日検索］、インターネット＜ＵＲＬ：http://www.ietf.org/rfc/rfc1035.txt＞
【非特許文献２】RFC1034 “DOMAIN NAMES -CONCEPTS AND FACILITIES”、１９８７年１１月、［平成２１年２月１９日検索］、インターネット＜ＵＲＬ：http://www.ietf.org/rfc/rfc1034.txt＞
【非特許文献３】RFC1738 “Uniform ResourceLocators (URL)”、１９９４年１２月、［平成２１年２月１９日検索］、インターネット＜ＵＲＬ：http://www.ietf.org/rfc/rfc1738.txt＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、一般的なサービスの提供方法は、サービスを提供するサーバが固定の有限個のＩＰアドレス（多くの場合一つ）を持ち、その固定の有限個のＩＰアドレスを通して複数のサービスを提供する形態をとっている。【００１１】
従って、クライアントが、ＤＮＳ名解決処理を通して、サービスを提供するサーバのＩＰアドレスを得たとしても、実際のサービスに到達するためには、そのサーバが提供する複数のサービスの中から、さらに自分が接続したいサービスを特定するための情報を指定する必要がある。ＤＮＳ名解決処理だけは実際のサービスに到達することができない。【００１２】
また、サービスの提供方法の他の形態としては、特殊な形態であるが、サービスを提供するサーバが固定ではない大量のＩＰアドレスを持ち、そのサーバにおいて、一つのサービスにはそれ専用のＩＰアドレスを割り当てて、そのＩＰアドレスを通してサービスを提供するという形態が考えられる。この形態の場合は、クライアントは、ＩＰアドレスの情報さえ取得できれば、自分が接続したいサービスを特定でき、ＤＮＳ名解決処理だけで実際のサービスに到達することができるようになる。【００１３】
従って、今後は、後者のようなサービスの提供形態を想定し、クライアントがＤＮＳ名解決処理だけで実際のサービスに到達できるＤＮＳ名解決システムを構築することが必要になってくると考えられる。【００１４】
しかし、非特許文献１に記載の技術には、上記のようなＤＮＳ名解決システムを構築するにあたって、以下のような問題点がある。【００１５】
第１の問題点は、ＤＮＳ問合せパケットに含めるＤＮＳ名情報は、固定的な名称情報（例えば、サーバノードのドメイン名）に限られ、名称情報以外の動的に変わる可能性がある付加情報（例えば、サービスの情報）を用いることができないことである。【００１６】
その理由は、ＤＮＳ名解決システム自体が、元々、固定的な名称情報（例えば、ＩＰアドレス）を解決情報として提供することを目的に設計実装されているためである。【００１７】
第２の問題点は、ＤＮＳ問合せパケットに含めるＤＮＳ名情報に、動的に変わる可能性がある付加情報を用いたとしても、そのＤＮＳ名情報を解析する機能が存在しないことである。【００１８】
その理由は、ＤＮＳサーバ自体が、元々、動的な付加情報を含んだＤＮＳ名情報を解析する機能を持たないためである。【００１９】
第３の問題点は、ＤＮＳ問合せパケットに含めるＤＮＳ名情報に、動的に変わる可能性がある付加情報を用いることができるのは、通信アプリケーションの中でも、ｈｔｔｐ（Hyper Text Transfer Protocol）を用いて付加情報をＵＲＬという形で指定できるＷｅｂアプリケーションに限られることである。【００２０】
その理由は、全ての通信アプリケーションは、ＤＮＳ名を解決するという機能を備えていても、ＵＲＬを解釈する機能を備えておらず、ＵＲＬを解釈する機能を備えているのはＷｅｂアプリケーションに限られるためである。【００２１】
そこで、本発明の目的は、クライアントノード上の全ての通信アプリケーションが、ＤＮＳ問合せパケットに含めるＤＮＳ名情報に、固定的な名称情報以外の動的に変わる可能性がある付加情報を用いることができるＤＮＳ名解決システム、オーバーライドエージェント、ＤＮＳ名解決方法を提供することにある。
【課題を解決するための手段】
【００２２】
本発明のＤＮＳ名解決システムは、
ＤＮＳサーバと、
所定の記述形式で記述したＤＮＳ名情報を含み、前記ＤＮＳサーバを宛先としたＤＮＳ問合せパケットを生成し送信する端末と、
前記端末と前記ＤＮＳサーバとの間の通信経路上に配置されたオーバーライドエージェントと、を有し、
前記オーバーライドエージェントは、
前記端末から送信されたＤＮＳ問合せパケットを捕獲する捕獲部と、
前記端末にてＤＮＳ名情報を記述した前記所定の記述形式の情報を予め記憶しており、前記捕獲部にて捕獲されたＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、前記所定の記述形式にしたがって解析し、該解析結果を基に前記端末に返信すべき返信情報を選択する解析部と、
前記解析部にて選択された返信情報を含み、前記端末を宛先としたＤＮＳ応答パケットを生成し送信する返信部と、を有する。【００２３】
本発明のオーバーライドエージェントは、
端末とＤＮＳサーバとの間の通信経路上に配置されたオーバーライドエージェントであって、
前記端末から送信されたＤＮＳ問合せパケットを捕獲する捕獲部と、
前記捕獲部にて捕獲されたＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、当該ＤＮＳ名情報を前記端末で記述したときの所定の記述形式にしたがって解析し、該解析結果を基に前記端末に返信すべき返信情報を選択する解析部と、
前記解析部にて選択された返信情報を含み、前記端末を宛先としたＤＮＳ応答パケットを生成し送信する返信部と、を有する。【００２４】
本発明のＤＮＳ名解決方法は、
端末とＤＮＳサーバとの間の通信経路上に配置されたオーバーライドエージェントによるＤＮＳ名解決方法であって、
前記端末から送信されたＤＮＳ問合せパケットを捕獲する捕獲ステップと、
前記捕獲されたＤＮＳ問合せパケットに含まれるＤＮＳ名情報を、当該ＤＮＳ名情報を前記端末で記述したときの所定の記述形式にしたがって解析し、該解析結果を基に前記端末に返信すべき返信情報を選択する解析ステップと、
前記選択された返信情報を含み、前記端末を宛先としたＤＮＳ応答パケットを生成し送信する返信ステップと、を有する。
【発明の効果】
【００２５】
本発明によれば、端末とＤＮＳサーバとの間の通信経路上に配置されたオーバーライドエージェントにおいて、端末から送信されたＤＮＳ問合せパケットを捕獲する機能と、端末にてＤＮＳ名情報を記述した所定の記述形式にしたがってＤＮＳ問合せパケットに含まれるＤＮＳ名情報を解析し、返信すべき情報を選択する機能と、返信すべき情報を含むＤＮＳ応答パケットを生成し端末に返信する機能と、を備えている。【００２６】
このように、オーバーライドエージェント内でＤＮＳ名情報を解析する機能を備えているため、端末上の全ての通信アプリケーションは、所定の記述形式に従ってＤＮＳ名情報を記述することにより、ＤＮＳ名情報として、固定的な名称情報以外の動的に変わる可能性がある付加情報をも用いることができるという効果が得られる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１の実施形態のＤＮＳ名解決システムの構成例を示す図である。
【図２】クライアントノードとＤＮＳサーバとの間の通信経路上に配置するオーバーライドエージェントの配置例を示す図である。
【図３】本発明の第１の実施形態のＤＮＳ名解決システムの動作例を説明するシーケンス図である。
【図４】ＤＮＳ名情報の記述方式の例を示す図である。
【図５】本発明の第２の実施形態のＤＮＳ名解決システムの構成例を示す図である。
【図６】本発明の第２の実施形態のＤＮＳ名解決システムの動作例を説明するシーケンス図である。
【発明を実施するための形態】
【００２８】
以下に、本発明を実施するための形態について図面を参照して説明する。
【００２９】
（第１の実施形態）
まず、本実施形態のＤＮＳ名解決システムの構成について、図１を参照して説明する。
【００３０】
図１を参照すると、本実施形態のＤＮＳ名解決システムは、クライアントノード１１０と、ＤＮＳサーバ１２０と、オーバーライドエージェント（Override Agent）１３０と、を有している。
【００３１】
クライアントノード１１０上では通信アプリケーションが動作する。この通信アプリケーションは、ＤＮＳ名を所定の記述方式で記述したＤＮＳ名情報を含むＤＮＳ問合せ（DNS query）パケットを生成し、生成したＤＮＳ問合せパケットを送信する。
【００３２】
ＤＮＳサーバ１２０は、クライアントノード１１０上の通信アプリケーションから送信されるＤＮＳ問合せパケットの宛先となる。
【００３３】
オーバーライドエージェント１３０は、クライアントノード１１０とＤＮＳサーバ１２０との間の通信経路上のＤＮＳ問合せパケットを捕獲可能な位置に配置される。
【００３４】
図２を参照すると、オーバーライドエージェント１３０の配置例は、大きく分けて３つの例がある。
【００３５】
第１の例は、オーバーライドエージェント１３０をクライアントノード１１０上に配置する例である。
【００３６】
第２の例は、オーバーライドエージェント１３０を、クライアントノード１１０とＤＮＳサーバ１２０との間の通信経路途中のノード上に配置する例である。
【００３７】
第３の例は、オーバーライドエージェント１３０をＤＮＳサーバ１２０上に配置する例である。例外的ではあるが、仮に、ＤＮＳサーバ１２０がクライアントノード１１０上で動作するような場合であれば、第１の例と第３の例とは同じものとみなすことができる。
【００３８】
第１の例の場合も第３の例の場合も、オーバーライドエージェント１３０は、ＤＮＳ問合せパケットが確実に通過する、ＤＮＳ問合せパケットの送受信端点のノード上で動作しているため、ＤＮＳ問合せパケットの捕獲を確実に行うことができる。
【００３９】
第２の例の場合、通信経路途中のノードとは一般にルータを意味する。オーバーライドエージェント１３０は、ルータ上で動作させれば、ＤＮＳ問合せパケットの捕獲を行うことができる。一般的ではないが、ルータ以外のノードでも、通信経路途中のノードとなることが可能である。クライアントノード１１０やＤＮＳサーバ１２０が位置するセグメントなどでＩＰ（Internet Protocol）アドレスとＬ２（Layer 2）アドレスとの対応付けをしているＡＲＰ（Address
Resolution Protocol）テーブル（ARP Table）や近隣キャッシュ（Neighbor Cache）などを制御すれば、そのセグメント上でオーバーライドエージェント１３０を動作させることも可能である。
【００４０】
再度図１を参照すると、オーバーライドエージェント１３０は、ＤＮＳ問合せ捕獲部１３１と、ＤＮＳ応答（DNS Reply）返信部１３２と、ＤＮＳ名解析部１３３と、を含む。
【００４１】
これらの構成要素は、それぞれ概略次のように動作する。
【００４２】
ＤＮＳ問合せ捕獲部１３１は、クライアントノード１１０から送信されたＤＮＳ問合せパケットを捕獲し、それをＤＮＳ名解析部１３３に渡す。
【００４３】
ＤＮＳ名解析部１３３は、ＤＮＳ問合せ捕獲部１３１から渡されたＤＮＳ問合せパケットから、ＤＮＳ名情報を抽出する。
【００４４】
ここで、ＤＮＳ名解析部１３３は、クライアントノード１１０にてＤＮＳ名情報を記述した所定の記述方式に関する情報を予め記憶している。この記述方式は、詳細は後述するが、ＤＮＳ名情報中に動的に変わる可能性がある付加情報をエンコードするときのエンコード方式を規定したものである。
【００４５】
そのため、ＤＮＳ名解析部１３３は、ＤＮＳ名情報をクライアントノード１１０にて記述された記述方式にしたがって解析することで、ＤＮＳ名情報中にエンコードされた付加情報や、固定的な名称情報を認識することができる。
【００４６】
そして、ＤＮＳ名解析部１３３は、ＤＮＳ名情報の解析結果（認識した付加情報や固定的な名称情報）を基に、クライアントノード１１０に返信すべき情報を選択して、それをＤＮＳ応答返信部１３２に渡す。
【００４７】
ＤＮＳ応答返信部１３２は、ＤＮＳ問合せ捕獲部１３１で捕獲されたＤＮＳ問合せパケットとＤＮＳ名解析部１３３から渡された返信すべき情報とを基に、ＤＮＳ応答パケットを生成し、生成したＤＮＳ応答パケットをクライアントノード１１０へ返信する。
【００４８】
次に、本実施形態のＤＮＳ名解決システムの全体動作について、図３のシーケンス図を参照して詳細に説明する。ここでは、クライアントが指定したサービスが、サーバノード１４０にて提供されているものとする。
【００４９】
図３を参照すると、まず、クライアントノード１１０上で動作する通信アプリケーション（例えば、telnetプログラム）は、ステップＳ３１において、ＤＮＳ名を所定の記述方式で記述したＤＮＳ名情報を含むＤＮＳ問合せパケットを生成し、生成したＤＮＳ問合せパケットを送信する。
【００５０】
ＤＮＳ名情報には、固定的な名称情報以外に、動的に変わる可能性がある付加情報も含まれる。
【００５１】
名称情報は、例えば、サーバノード１４０のドメイン名である。
【００５２】
付加情報は、例えば、サーバノード１４０が提供するサービスの属性を示す属性情報であり、具体的には、サーバノード１４０が地図提供サービスを提供する場合は、例えば、地図データの緯度、経度等の情報である。
【００５３】
なお、ＤＮＳ名情報は、“xa--sel?key1=val1&key2=val2---server.example.com”のような情報であるが、詳細は後述する。
【００５４】
また、ＤＮＳ問合せパケットの宛先は、クライアントノード１１０でＤＮＳサーバ１２０に設定しており、ＤＮＳサーバ１２０に届くように経路制御などがなされる。
【００５５】
クライアントノード１１０とＤＮＳサーバ１２０との間の通信経路上に配置されたオーバーライドエージェント１３０のＤＮＳ問合せ捕獲部１３１は、ステップＳ３２において、クライアントノード１１０から送信されたＤＮＳ問合せパケットを捕獲する。
【００５６】
次に、オーバーライドエージェント１３０のＤＮＳ名解析部１３３は、ステップＳ３３において、ＤＮＳ問合せ捕獲部１３１により捕獲したＤＮＳ問合せパケットからＤＮＳ名情報を抽出し、抽出したＤＮＳ名情報をクライアントノード１１０にて記述された記述方式にしたがって解析し、ＤＮＳ名情報に含まれる名前情報と付加情報を認識し、その認識した付加情報に基づいてクライアントノード１１０に返信すべき情報を選択する。
【００５７】
返信すべき情報は、例えば、サーバノード１４０において、クライアントノード１１０がＤＮＳ名情報において付加情報として指定したサービスの属性に割り当てているＩＰｖ４やＩＰｖ６のＩＰアドレスである。例えば、サーバノード１４０が地図提供サービスを提供し、クライアントノード１１０がサービスの属性として緯度、経度を付加情報で指定した場合は、サーバノード１４０において、クライアントが指定した緯度、経度を中心とする地図データに割り当てているＩＰｖ４やＩＰｖ６のＩＰアドレスが返信すべき情報となる。
ここで、解析の結果に基づいた返信情報の選択について説明する。
例えば、付加情報として指定した記述内容に誤りがあってＤＮＳ名解析部１３３で付加情報を正しく認識できない場合には、その旨を指摘する情報あるいはエラー情報を返信する情報として選択してクライアントノード１１０に返信する。
また、付加情報として指定した記述を解析することで付加情報を正しく認識できた場合には、オーバーライドエージェント１３０が、付加情報として指定した属性（例えば、緯度と経度等）に関する情報（例えば、地図データに割り当てているＩＰｖ４やＩＰｖ６アドレス）を、例えば、外部の知識ベース（地図ベース等）から取得し、取得した情報を返信する情報として選択する。
なお、解析結果に基づいてどのような情報をどのように選択するかは、上記の例に限定されず、本システムの利用形態に応じて異なることは言うまでもない。
【００５８】
次に、オーバーライドエージェント１３０のＤＮＳ応答返信部１３２は、ステップＳ３４において、ＤＮＳ名解析部１３３にて選択された返信すべき情報を基に、ＤＮＳ応答パケットを生成し、ステップＳ３５において、生成したＤＮＳ応答パケットをクライアントノード１１０に返信する。
【００５９】
最終的に、ＤＮＳ応答パケットに含まれる返信すべき情報は、ＤＮＳ名の解決情報としてクライアントノード１１０上の通信アプリケーションに渡される。この解決情報は、通信アプリケーションがサーバノード１４０とのメインの通信を行う宛先情報として用いられる。
【００６０】
ここで、ＤＮＳ名情報の記述方式の例について、図４を参照して説明する。
【００６１】
図４を参照すると、例えば、ＦＱＤＮ（Fully Qualified Domain Name）が“server.example.com”であるサーバノードにおいて提供する、例えば、“sel”というサービスに関し、“key1”という項目の値が“val1”であり、“key2”という項目の値が“val2”である属性を指定したい場合、以下のようなＤＮＳ名情報を用いることになる。
【００６２】
“xa--sel?key1=val1&key2=val2---server.example.com”
頭の“xa--”の部分は、サービスの詳細情報などの付加情報を含むＤＮＳ名情報であることを示している。
【００６３】
また、付加情報をＤＮＳ名情報中にエンコードするときのエンコード方式としては、複数の方式が考えられる。
【００６４】
そのため、頭の“xa--”の部分は、付加情報を含むＤＮＳ名情報であることを示すと同時に、どのようなエンコード方式（エンコードタイプ）を用いているかを示している。
【００６５】
“---”の部分は、“xa--”というエンコード方式の付加情報の終了を示している。
【００６６】
“sel?key1=val1&key2=val2”というエンコード方式は、ＵＲＬなどで用いられている表現方式に似せたものである。
【００６７】
他のエンコード方式の例としては、Ｃ言語の関数呼び出し方式のように、例えば、サービスを指定する場合における項目数およびその順番が予め決められている例を挙げることができる。このエンコード方式では、上記の例のサービスを指定する場合、以下のようなＤＮＳ名情報を用いることになる。
【００６８】
“ya--sel(val1,val2)---server.example.com”
頭の“ya--”の部分は、このエンコード方式を用いていることを示している。
【００６９】
ＤＮＳ名には、一般に使えない文字があるという制限がある。非特許文献２などにＤＮＳ名情報の定義が記載されている。ＤＮＳ名に使えない文字がある場合は、利用可能な文字を利用してエスケープするという機能を用いる（ＤＮＳ名に使えない文字かどうかのチェックをするのは、通信アプリケーションの役目であり、文字チェックを行わない通信アプリケーションの場合は、必ずしもエスケープの必要はない）。
【００７０】
上記の例のサービスを指定する場合、エンコード方式の指定後は、“--”をエスケープのリーディング文字として用い、以下のようにエスケープ方式を指定したＤＮＳ名情報を用いることが考えられる。
【００７１】
“xb--sel--2Fkey1--2Dval1--26key2--2Dval2---server.example.com”
“yb--sel--28val1--2Cval2--29---server.example.com”
なお、エスケープ方式も広い意味でエンコード方式と考えることができ、頭のエンコードタイプを指定する部分で、エスケープ方式を指定することもできる。
【００７２】
さらに、応用的な方式として、人間にもっとわかりやすい簡素な表現方式を、エスケープ方式のバリエーション例として考えることができる。例えば、上記の例のサービスを指定する場合、以下のようにエスケープ方式を指定したＤＮＳ名情報を用いることが考えられる。
【００７３】
“xc--sel--key1.val1.key2.val2---server.example.com”
“yc--sel--val1.val2---server.example.com”
なお、図４の具体例としては、クライアントノード１１０上の通信アプリケーションが、“sel”という地図提供サービスにおいて、“key1”という緯度の項目で値“val1”を指定し、また、“key2”という経度の項目で値“val2”を指定することが考えられる。
【００７４】
この場合、クライアントノード１１０上の通信アプリケーションは、サーバノード１４０において、緯度“val1”、経度“val2”を中心とする地図データに割り当てているＩＰアドレスを、オーバーライドエージェント１３０から取得することができる。
【００７５】
次に、本実施形態の効果について説明する。
【００７６】
本実施形態においては、クライアントノード１１０とＤＮＳサーバ１２０との間の通信経路上に配置されたオーバーライドエージェント１３０において、クライアントノード１１０から送信されたＤＮＳ問合せパケットを捕獲する機能と、クライアントノード１１０にてＤＮＳ名情報を記述した記述形式にしたがってＤＮＳ問合せパケットに含まれるＤＮＳ名情報を解析し、返信すべき情報を選択する機能と、返信すべき情報を含むＤＮＳ応答パケットを生成しクライアントノード１１０に返信する機能と、を備えている。
【００７７】
このように、オーバーライドエージェント１３０内でＤＮＳ名情報を解析する機能を備えているため、クライアントノード１１０上の通信アプリケーションは、上記の記述形式に従ってＤＮＳ名情報を記述することにより、ＤＮＳ名情報として、固定的な名称情報以外の動的に変わる可能性がある付加情報をも用いることができるという効果が得られる。
【００７８】
そのため、簡素な機能しか持たない通信アプリケーション（例えば、telnetプログラム）であっても、例えば、サービスを提供するサーバノードの固定的な名称情報以外にも、提供を受けたいサービスを付加情報として細かく指定することができる。
【００７９】
このとき、クライアントノード１１０およびその上の通信アプリケーションは、ＤＮＳ応答パケットが、ＤＮＳ問合せパケットの宛先だったＤＮＳサーバ１２０から返信されたものと理解する。
【００８０】
そのため、クライアントノード１１０およびその上の通信アプリケーションは、ＤＮＳ名情報として付加情報を用いるという機能の実現のために、改造などを施す必要がないという効果が得られる。
【００８１】
（第２の実施形態）
まず、本実施形態のＤＮＳ名解決システムの構成について、図５を参照して説明する。
【００８２】
図５を参照すると、本実施形態のＤＮＳ名解決システムは、クライアントノード２１０と、ＤＮＳサーバ２２０と、オーバーライドエージェント２３０と、オーバーライドヘルパー（Override Helper）２４０と、を有している。
【００８３】
クライアントノード２１０上では通信アプリケーションが動作する。この通信アプリケーションは、ＤＮＳ名を所定の記述方式で記述したＤＮＳ名情報を含むＤＮＳ問合せパケットを生成し、生成したＤＮＳ問合せパケットを送信する。
【００８４】
ＤＮＳサーバ２２０は、クライアントノード２１０上の通信アプリケーションから送信されるＤＮＳ問合せパケットの宛先となる。
【００８５】
オーバーライドエージェント２３０は、クライアントノード２１０とＤＮＳサーバ２２０との間の通信経路上のＤＮＳ問合せパケットを捕獲可能な位置に配置される。なお、オーバーライドエージェント２３０の具体的な配置例は、第１の実施形態のオーバーライドエージェント１３０と同様であるため（図３参照）、説明は省略する。
【００８６】
オーバーライドヘルパー２４０は、オーバーライドエージェント２３０と通信し、オーバーライドエージェント２３０の機能を支援する。
【００８７】
オーバーライドエージェント２３０は、ＤＮＳ問合せ捕獲部２３１と、ＤＮＳ応答返信部２３２と、ＤＮＳ名解析部２３３と、を含む。
【００８８】
オーバーライドヘルパー２４０は、選択判断用情報格納部２４１を含む。この選択判断用情報格納部２４１には、オーバーライドエージェント２３０のＤＮＳ名解析部２３３によってＤＮＳ名情報を解析することで認識した付加情報に応じて返信すべき情報が予め格納されている。例えば、付加情報が緯度、経度を指定する場合、その緯度、経度を中心とする地図データに割り当てているＩＰｖ４やＩＰｖ６のＩＰアドレスが情報として格納されている。
【００８９】
これらの構成要素は、それぞれ概略次のように動作する。
【００９０】
ＤＮＳ問合せ捕獲部２３１は、クライアントノード２１０から送信されたＤＮＳ問合せパケットを捕獲し、それをＤＮＳ名解析部２３３に渡す。
【００９１】
ＤＮＳ名解析部２３３は、ＤＮＳ問合せ捕獲部２３１から渡されたＤＮＳ問合せパケットから、ＤＮＳ名情報を抽出する。
【００９２】
ここで、ＤＮＳ名解析部２３３は、クライアントノード２１０にてＤＮＳ名情報を記述した所定の記述方式の情報を予め記憶している。この記述方式は、第１の実施形態と同様に、ＤＮＳ名情報中に、動的に変わる可能性がある付加情報をエンコードするときのエンコード方式を規定したものである。
【００９３】
そのため、ＤＮＳ名解析部２３３は、ＤＮＳ名情報をクライアントノード１１０にて記述された記述方式にしたがって解析することで、ＤＮＳ名情報中にエンコードされた付加情報や、固定的な名称情報を認識することができる。
【００９４】
そして、ＤＮＳ名解析部２３３は、ＤＮＳ名情報の解析結果を基に、クライアントノード２１０に返信すべき情報の選択を試みる。
【００９５】
もし、ＤＮＳ名解析部２３３は、返信すべき情報を自力で選択できない場合、オーバーライドヘルパー２４０と通信を行い、解析結果（解析によって認識した付加情報）を選択判断用情報格納部２４１に格納された情報と照合することで、クライアントノード２１０に返信すべき情報を選択判断用情報格納部２４１から選択して、それをＤＮＳ応答返信部２３２に渡す。
【００９６】
ＤＮＳ応答返信部２３２は、ＤＮＳ問合せ捕獲部２３１で捕獲されたＤＮＳ問合せパケットとＤＮＳ名解析部２３３から渡された返信すべき情報とを基に、ＤＮＳ応答パケットを生成し、生成したＤＮＳ応答パケットをクライアントノード２１０へ返信する。
【００９７】
次に、本実施形態のＤＮＳ名解決システムの全体動作について、図６のシーケンス図を参照して詳細に説明する。ここでは、クライアントが指定したサービスが、サーバノード２５０にて提供されているものとする。
【００９８】
図６を参照すると、まず、クライアントノード２１０上で動作する通信アプリケーション（例えば、telnetプログラム）は、ステップＳ６１において、ＤＮＳ名を所定の記述方式で記述したＤＮＳ名情報を含むＤＮＳ問合せパケットを生成し、生成したＤＮＳ問合せパケットを送信する。
【００９９】
ＤＮＳ名情報には、固定的な名称情報以外に、動的に変わる可能性がある付加情報も含まれる。なお、ＤＮＳ名情報は、“xa--sel?key1=val1&key2=val2---server.example.com”のような情報であり、第１の実施形態と同様であるため（図４参照）、説明は省略する。
【０１００】
また、ＤＮＳ問合せパケットの宛先は、クライアントノード２１０でＤＮＳサーバ２２０に設定しており、ＤＮＳサーバ２２０に届くように経路制御などがなされる。
【０１０１】
クライアントノード２１０とＤＮＳサーバ２２０との間の通信経路上に配置されたオーバーライドエージェント２３０のＤＮＳ問合せ捕獲部２３１は、ステップＳ６２において、クライアントノード２１０から送信されたＤＮＳ問合せパケットを捕獲する。
【０１０２】
次に、オーバーライドエージェント２３０のＤＮＳ名解析部２３３は、ステップＳ６３において、ＤＮＳ問合せ捕獲部２３１により捕獲されたＤＮＳ問合せパケットからＤＮＳ名情報を抽出し、抽出したＤＮＳ名情報をクライアントノード２１０にて記述された記述方式にしたがって解析し、クライアントノード２１０に返信すべき情報の選択を試みる。ＤＮＳ名解析部２３３は、返信すべき情報が自力で選択できない場合には、オーバーライドヘルパー２４０と通信を行い、解析結果を選択判断用情報格納部２４１に格納された情報と照合することで、返信すべき情報を選択する。なお、返信すべき情報は、第１の実施形態と同様であるため、説明は省略する。
【０１０３】
次に、オーバーライドエージェント２３０のＤＮＳ応答返信部２３２は、ステップＳ６４において、ＤＮＳ名解析部２３３にて選択された返信すべき情報を基に、ＤＮＳ応答パケットを生成し、ステップＳ６５において、生成したＤＮＳ応答パケットをクライアントノード２１０に返信する。
【０１０４】
最終的に、ＤＮＳ応答パケットに含まれる返信すべき情報は、ＤＮＳ名の解決情報としてクライアントノード２１０上の通信アプリケーションに渡される。この解決情報は、通信アプリケーションがサーバノード１４０とのメインの通信を行う宛先情報として用いられる。
【０１０５】
次に、本実施形態の効果について説明する。
【０１０６】
本実施形態においては、クライアントノード２１０とＤＮＳサーバ２２０との間の通信経路上に配置されたオーバーライドエージェント２３０において、クライアントノード２１０から送信されたＤＮＳ問合せパケットを捕獲する機能と、クライアントノード２１０にてＤＮＳ名情報を記述した記述形式にしたがってＤＮＳ問合せパケットに含まれるＤＮＳ名情報を解析し、返信すべき情報を選択する機能と、返信すべき情報を含むＤＮＳ応答パケットを生成しクライアントノード２１０に返信する機能と、を備えている。
【０１０７】
このように、オーバーライドエージェント２３０内でＤＮＳ名情報を解析する機能を備えているため、クライアントノード２１０上の通信アプリケーションは、上記の記述形式に従ってＤＮＳ名情報を記述することにより、ＤＮＳ名情報として、固定的な名称情報以外の動的に変わる可能性がある付加情報をも用いることができるという効果が得られる。
【０１０８】
そのため、簡素な機能しか持たない通信アプリケーション（例えば、telnetプログラム）であっても、例えば、サービスを提供するサーバノードの固定的な名称情報以外にも、提供を受けたいサービスを付加情報として細かく指定することができる。
【０１０９】
このとき、クライアントノード２１０およびその上の通信アプリケーションは、ＤＮＳ応答パケットが、ＤＮＳ問合せパケットの宛先だったＤＮＳサーバ２２０から返信されたものと理解する。
【０１１０】
そのため、クライアントノード２１０およびその上の通信アプリケーションは、ＤＮＳ名情報として付加情報を用いるという機能の実現のために、改造などをする必要がないという効果が得られる。
【０１１１】
また、本実施形態においては、オーバーライドエージェント２３０において、オーバーライドヘルパー２４０と通信を行い、解析結果をオーバーライドエージェント２３０に格納された情報と照合することで、返信すべき情報を選択する機能を備えている。
【０１１２】
そのため、オーバーライドエージェント２３０内だけでは解決できない複雑なサービスを指定したＤＮＳ名情報であっても、外部のオーバーライドヘルパー２４０の支援を得ることにより、対応することができるという効果が得られる。
なお、図１及び図５のオーバーライドエージェント１３０、２３０が有する機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。例えば、ＤＮＳ問合せ捕獲部１３１、２３１、ＤＮＳ応答返信部１３２、２３２、ＤＮＳ名解析部１３３、２３３の処理は、１または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現することも可能である。
ずなわち、オーバーライドエージェント１３０、２３０を構成するコンピュータ装置上で、ＤＮＳ問合せ捕獲部１３１、２３１、ＤＮＳ応答返信部１３２、２３２、ＤＮＳ名解析部１３３、２３３の各機能を提供するプログラムを実行することにより、ソフトウェア的に実現することが可能である。
【０１１３】
この出願は、２００９年３月２６日に出願された日本出願特願２００９−０７６１３９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１１４】
本発明は、ＤＮＳ名解決を行う全ての通信アプリケーションで、アプリケーション自身を修正することなく、接続先サービスを詳細に指定できる用途に適用できる。
【図１】
0005573835.tif 000002
【図２】
0005573835.tif 000003
【図３】
0005573835.tif 000004
【図４】
0005573835.tif 000005
【図５】
0005573835.tif 000006
【図６】
0005573835.tif 000007