(57)【要約】【課題】ネットワークの途中で、ＩＰｖ６接続性のみが切断している場合（ＩＰｖ４接続性は保たれている場合）には、ＩＰｖ６アドレスは取得できるので、ＩＰｖ６を利用した通信を試みるが、ＩＰｖ６ではサーバとの通信はできないので、数十秒のタイムアウトを経てから、ＩＰｖ４アドレスを取得して、ＩＰｖ４を利用した通信を行っていた。【解決手段】サーバ１０７との第１の接続時に（８０１）、サーバ１０７のアドレスをネームサーバモジュール３０５から取得し（８０２、８０３）、取得したアドレスを使用してサーバ１０７との接続試験を行い（８０６、８０７）、サーバ１０７との第２の接続時には、接続試験（８０６、８０７）に失敗したアドレスは、使用しない（８１６）。【選択図】      図１０
2004350133.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置との第１の接続時に、第１の装置のアドレスを第２の装置から取得し、前記アドレスを使用して前記第１の装置との接続試験を行い、前記第１の装置との第２の接続時には、前記接続試験に失敗したアドレスは、使用しないことを特徴とする接続制御方法。
【請求項２】
第１の装置との第１の接続時に、第１の装置のアドレスを第２の装置から取得し、前記アドレスを使用して前記第１の装置との接続試験を行い、前記第１の装置との第２の接続時には、前記接続試験に失敗したアドレスは、使用しないことを特徴とする接続制御プログラム。
【請求項３】
ネットワークを接続する接続手段と、
前記接続手段に接続されたネットワークを介して第１の装置と接続するときに、前記接続手段に接続されたネットワークを介して接続される第２の装置から、第１の装置のアドレスを取得し、前記アドレスを使用して前記第１の装置との接続試験を行う制御手段とを有し、
前記制御手段は、前記第１の装置との第２の接続時には、前記接続試験に失敗したアドレスは、使用しないことを特徴とする接続装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、接続制御方法、接続制御プログラム、及び、接続装置に関する。
【０００２】
【従来の技術】
近年、現在のインターネットを支える基盤プロトコルであるＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ４）の次世代バージョンであるＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ６）の検討が開始された。
【０００３】
ＩＰｖ６はＩＰｖ４に置き換わる技術であるが、これまでのＩＰｖ４のネットワークを排除するものではなく、ＩＰｖ４からＩＰｖ６への移行技術も検討されている。移行技術にはトンネル技術、トランスレート技術、デュアル技術が存在する。
【０００４】
このうち、デュアル技術は、ＩＰｖ４とＩＰｖ６を同一のネットワーク上で運用することにより、ネットワーク上で利用する機器やアプリケーションのスムーズな移行を助ける技術である。これからは、このデュアル技術を用いたＩＰｖ４／ＩＰｖ６デュアル環境のネットワークが広がり、インターネット上で利用されるすべてのアプリケーションがＩＰｖ６に完全に移行されるまでの相当長い期間、このデュアル環境ネットワークが利用されると考えられる。
【０００５】
このデュアル環境におけるＩＰｖ４／ＩＰｖ６アクセス可能なＥ−ＭａｉｌやＷｅｂなどのサービスを利用した際、ＩＰｖ４とＩＰｖ６のどちらの通信プロトコルを利用して通信するかを決定する「通信プロトコル選択手順」では、通信相手のサーバの指定をＩＰｖ４／ＩＰｖ６アドレスで指定した場合、それぞれ指定された通信プロトコルを利用する。
【０００６】
しかしながら、通信相手のサーバの指定をＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）で指定した場合、どちらの通信プロトコルを利用して通信するかは、以下の手順で決定される。
【０００７】
すなわち、
１．ＩＰｖ６アドレスをＤＮＳに問合せる。
２．ＩＰｖ６アドレスの取得に成功すればＩＰｖ６で通信を行う。
３．ＩＰｖ６アドレスの取得に失敗した場合、続いてＩＰｖ４アドレスをＤＮＳに問合せる。
４．ＩＰｖ４アドレスの取得に成功すればＩＰｖ４で通信を行う。
５．ＩＰｖ４アドレスの取得も失敗した場合は、サーバが存在しないことになりエラー終了となる。
【０００８】
これは、現状の各種アプリケーションの動作内容を解析しても、ＩＥＴＦ（Ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）にて規定している「Ｂａｓｉｃ  Ｓｏｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ  Ｅｘｔｅｎｓｉｏｎｓ  ｆｏｒ  ＩＰｖ６」（ＲＦＣ２１３３、ＲＦＣ２５５３）を参照しても、上記の通信プロトコル選択手順を行っている。
【０００９】
ＷｅｂやＥ−Ｍａｉｌなど、一般的なインターネットアプリケーションでは、ＤＮＳを利用した通信相手の特定を行っている。
【００１０】
しかしながら、ＩＰｖ４／ＩＰｖ６アクセス可能なサーバでは、一つのネットワークインターフェースにＩＰｖ４／ＩＰｖ６それぞれのアドレスを設定しているが、サーバ名としてはＦＱＤＮを一つだけ登録することがしばしばである。
【００１１】
つまり、ＩＰｖ４／ＩＰｖ６アクセス可能なＷｅｂサーバ「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」が存在した場合、このサーバにはＩＰｖ４アドレスとＩＰｖ６アドレスが対応していることになる。ＤＮＳへの登録内容においても、ＩＰｖ４アドレスを設定する「Ａ」レコードと、ＩＰｖ６アドレスを設定する「ＡＡＡＡ」レコードの二つを、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」に設定することが一般的に多い。
【００１２】
通信相手のサーバの指定をＩＰｖ４／ＩＰｖ６アドレスで指定する通信プロトコル選択手順は利用されにくく、通信相手のサーバの指定をＦＱＤＮで指定することが多いので、ＩＰｖ６通信プロトコルを優先的に使用するアクセスがしばしばである。
【００１３】
クライアントやサーバが属しているデュアル環境のネットワークでは、ＩＰｖ４もＩＰｖ６も同一の物理回線上にて通信しているが、そのネットワークの外部、あるいは、そのネットワークを提供しているＩＳＰの外部では、ＩＰｖ４とＩＰｖ６はまったくの別回線上で通信が行われていることが多い。事実、現在サービス提供されているＩＰｖ６接続サービスの多くは、トンネル接続によるものである。
【００１４】
また、日本のＩＸにおいて、同一の回線口においてＩＳＰ同士がＩＰｖ４／ＩＰｖ６両方の通信トラフィックを交換しているところはまずない。
【００１５】
ＩＳＰ内部においても、ＩＰｖ６バックボーンを別途構築したり、トンネル技術やＭＰＬＳなどを利用して仮想的に独立したネットワークを構築したりするなどして、ＩＰｖ４とＩＰｖ６を区別した運用を行っていることがしばしばである。
【００１６】
これより、デュアル環境におけるＩＰｖ４／ＩＰｖ６通信品質は、同一のデュアルネットワーク内では同等だが、外部のネットワークとの通信に関しては、通信プロトコルにより帯域や輻輳、クオリティは全く異なる。
【００１７】
また、ＩＰｖ６はいまだ実験運用が主であり、運用ノウハウや対応機器の信頼性を現在高めている最中である。つまり、ＩＰｖ６通信プロトコルだけが通信不通となることが、比較的頻度に発生する。
【００１８】
一方、ＤＮＳサーバの問合せに利用する通信プロトコルはＩＰｖ４を利用するものが一般的に多い。例えば、ＩＳＣ（Ｉｎｔｅｒｎｅｔ  Ｓｏｆｔｗａｒｅ  Ｃｏｎｓｏｒｔｉｕｍ）提供のＢＩＮＤは現在、ＢＩＮＤ４、ＢＩＮＤ８が広く世界で利用されているが、ＩＰｖ６通信プロトコルを利用して問合せ・返信を行うことができるバージョンはＢＩＮＤ９のみである。つまり、ＤＮＳに「ＡＡＡＡ」レコードの登録は可能だが、ＩＰｖ６通信プロトコルを利用しての問合せ・返信はできないのである。
【００１９】
また、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰでは、サポート外でありながら、ＩＰｖ６プロトコルスタックを搭載したＯＳであるが、リゾルバはＩＰｖ６通信によるＤＮＳ問合せが行えない。
【００２０】
このような状況から、ＩＰｖ６通信が途中切断している場合でも、通信相手となるサーバのＤＮＳ問合せはＩＰｖ４通信プロトコルを利用して行うことができ、対象サーバに「ＡＡＡＡ」レコードでの登録がある場合は、ＩＰｖ６アドレスを取得できてしまう。
【００２１】
【発明が解決しようとする課題】
以上のような状況から、途中のネットワークにおいて、ＩＰｖ６接続性のみが切断している場合（ＩＰｖ４接続性は保たれている場合）には、ＩＰｖ６アドレスは取得できるので、ＩＰｖ６を利用した通信を試みるが、ＩＰｖ６ではサーバとの通信はできないので、数十秒のタイムアウトを経てから、ＩＰｖ４アドレスを取得して、ＩＰｖ４を利用した通信を行う現象が現れる。
【００２２】
この現象は、特に、ＷｅｂやＥ−Ｍａｉｌといった、何度もアクセスするようなアプリケーションでは、そのたびにタイムアウト待ちをすることとなり、ユーザにとって大変フラストレーションがたまるものといえる。また、ＩＰｖ６の利用に際し、ユーザにとってデュアル環境が「利用しにくい環境」と認識されてしまう可能性がある。
【００２３】
本発明は、この問題を解決するために成されるものであり、アドレスが取得できても、接続できない事態を減らすことを目的とする。
【００２４】
【課題を解決するための手段】
本発明の接続制御方法、接続制御プログラム、及び、接続装置は、第１の装置との第１の接続時に、第１の装置のアドレスを第２の装置から取得し、前記アドレスを使用して前記第１の装置との接続試験を行い、前記第１の装置との第２の接続時には、前記接続試験に失敗したアドレスは、使用しないことを特徴とする。
【００２５】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態を詳細に説明する。
【００２６】
図１は本発明の一実施形態のネットワークの構成図である。
【００２７】
図１において、１０１はユーザの所属するＩＰｖ４／ＩＰｖ６デュアル環境なネットワークである。ユーザネットワーク１０１には、ユーザの利用するＩＰｖ４／ＩＰｖ６アクセス可能なＷｅｂクライアント１０６が接続している。
【００２８】
１０７はＩＰｖ４／ＩＰｖ６アクセス可能なＷｅｂサーバであり、ＩＰｖ４／ＩＰｖ６デュアル環境のサーバネットワーク１０３に接続している。１０８はＩＰｖ４／ＩＰｖ６アクセス可能なＤＮＳサーバであり、ＩＰｖ４／ＩＰｖ６デュアル環境のドメイン管理ネットワーク１０２に接続している。
【００２９】
Ｗｅｂサーバ１０７にはＦＱＤＮが割当ててあり、そのＦＱＤＮの属するドメインを管理するＤＮＳサーバがＤＮＳサーバ１０８である。
【００３０】
ユーザネットワーク１０１とドメイン管理ネットワーク１０２とサーバネットワーク１０３は、ＩＰｖ４インターネット１０４を介してＩＰｖ４通信プロトコルを利用して相互に通信が可能である。また、ユーザネットワーク１０１とドメイン管理ネットワーク１０２とサーバネットワーク１０３は、ＩＰｖ６インターネット１０５を介したＩＰｖ６通信プロトコルを利用して相互に通信が可能である。
【００３１】
Ｗｅｂクライアント１０６は、Ｗｅｂサーバ（第１の装置）１０７との第１の接続時に、Ｗｅｂサーバ（第１の装置）１０７のアドレスをＤＮＳサーバ（第２の装置）１０８から取得し、前記アドレスを使用してＷｅｂサーバ（第１の装置）１０７との接続試験を行い、Ｗｅｂサーバ（第１の装置）１０７との第２の接続時には、前記接続試験に失敗したアドレスは、使用しない。
【００３２】
図２は図１において説明した各ネットワークの属するドメイン名と、各ホストに割当てたＦＱＤＮの一例である。また、各ネットワークに割当てたＩＰｖ４ネットワークアドレスと、各ホストに割当てたＩＰｖ４アドレスの一例も示す。また、各ネットワークに割当てたＩＰｖ６ネットワークアドレスと、各ホストに割当てたＩＰｖ６アドレスの一例も示す。
【００３３】
ドメイン管理ネットワーク１０２に属するＤＮＳサーバ１０８は、「ｓｅｒｖｅｒ．ｎｅｔ」ドメインを管理するマスタゾーンファイルを保持している。
【００３４】
図３は、本実施形態での機能を実現するソフトウェアプログラムを動作させる構成の一例を示したものである。
【００３５】
例えば、Ｗｅｂクライアント１０６は、上記図３に示すコンピュータ９００の機能により、本実施形態での機能を実現する。コンピュータ９００は、ＣＰＵ９０１と、ＲＯＭ９０２と、ＲＡＭ９０３と、ハードディスク（ＨＤ）９０７及びフロッピー（登録商標）ディスク（ＦＤ）９０８のディスクコントローラ（ＤＣ）９０５と、ネットワークインタフェースカード（ＮＩＣ）９０６とが、システムバス９０４を介して互いに通信可能に接続された構成としている。そして、システムバス９０４が、図１に示したネットワーク１０１とネットワークインタフェースカード９０６を介して接続される。
【００３６】
ＣＰＵ９０１は、ＲＯＭ９０２あるいはＨＤ９０７に記憶されたソフトウェア、あるいはＦＤ９０８より供給されるソフトウェアを実行することで、システムバス９０４に接続された各構成部を統括的に制御する。すなわち、ＣＰＵ９０１は、本実施形態にて説明したような処理シーケンスに従った処理プログラムを、ＲＯＭ９０２、あるいはＨＤ９０７、あるいはＦＤ９０８から読み出して実行することで、本実施例での動作を実現するための制御を行う。
【００３７】
ＲＡＭ９０３は、ＣＰＵ９０１の主メモリあるいはワークエリア等として機能する。ＤＣ９０５は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、および本実施形態における下記処理プログラム等を記憶するＨＤ９０７、およびＦＤ９０８とのアクセスを制御する。ＮＩＣ９０６は、ネットワーク１０１を通じてＩＰｖ４インターネット１０４に接続するサーバ１０７等と、ＩＰｖ４通信プロトコルを用いて相互にデータのやり取りをする。また、ＮＩＣ９０６は、ネットワーク１０１を通じてＩＰｖ６インターネット１０５に接続するサーバ１０７等と、ＩＰｖ６通信プロトコルを用いて相互にデータのやり取りをする。
【００３８】
ＮＩＣ９０６は、ネットワーク１０１を接続する接続手段である。また、ＣＰＵ９０１は、ＮＩＣ（接続手段）９０６に接続されたネットワーク１０１を介してＷｅｂサーバ（第１の装置）１０７と接続するときに、ＮＩＣ９０６（接続手段）に接続されたネットワーク１０１を介して接続されるＤＮＳサーバ（第２の装置）１０８から、Ｗｅｂサーバ（第１の装置）１０７のアドレスを取得し、前記アドレスを使用してＷｅｂサーバ（第１の装置）１０７との接続試験を行う制御手段である。ＣＰＵ９０１（制御手段）は、Ｗｅｂサーバ１０７（第１の装置）との第２の接続時には、前記接続試験に失敗したアドレスは、使用しない。
【００３９】
なお、Ｗｅｂサーバ１０７、ＤＮＳサーバ１０８も、Ｗｅｂクライアント１０６と同様に、図３に示すコンピュータ９００のように構成可能である。Ｗｅｂサーバ１０７、ＤＮＳサーバ１０８は、夫々、ＮＩＣ９０６を介して、ネットワーク１０３、１０２に接続される。
【００４０】
図４はＷｅｂクライアント１０６とＷｅｂサーバ１０７の通信確立までの処理概要を示したモジュール図である。
【００４１】
３０１〜３０４はＷｅｂクライアント１０６内のモジュールである。３０５、３０６はＤＮＳサーバ１０８内のモジュールである。３１１はＷｅｂサーバ１０７内のモジュールである。
【００４２】
なお、Ｗｅｂクライアント１０６において、モジュール３０１、３０２、３０４は、Ｗｅｂクライアント１０６のＲＯＭ９０２あるいはＨＤ９０７に記憶されたソフトウェア、あるいはＦＤ９０８より供給されるソフトウェアにより実現される。ＣＰＵ９０１は、モジュール３０１、３０２、３０４を実現するためのプログラムを、ＲＯＭ９０２、あるいはＨＤ９０７、あるいはＦＤ９０８から読み出して実行することで、モジュール３０１、３０２、３０４の機能を実現する。また、キャッシュデータ３０３は、ＲＡＭ９０３、又は、ＨＤ９０７に格納される。
【００４３】
リゾルバモジュール３０２及び通信プロトコルチェックモジュール３０４は、Ｗｅｂサーバ（第１の装置）１０７との第１の接続時に、Ｗｅｂサーバ（第１の装置）１０７のアドレスをＤＮＳサーバ（第２の装置）１０８から取得し、前記アドレスを使用してＷｅｂサーバ（第１の装置）１０７との接続試験を行い、Ｗｅｂサーバ（第１の装置）１０７との第２の接続時には、前記接続試験に失敗したアドレスは、使用しない接続制御プログラムを構成する。
【００４４】
ＤＮＳサーバ１０８においても、モジュール３０５は、ソフトウェアにより実現され、マスタゾーンファイル３０６は、ＲＡＭ９０３、又は、ＨＤ９０７に格納される。Ｗｅｂサーバ１０８においても、サーバアプリケーション３１１は、ソフトウェアにより実現される。
【００４５】
次に、Ｗｅｂクライアント１０６とＷｅｂサーバ１０７の通信確立までの処理を説明する。
【００４６】
まず、クライアントアプリケーション３０１にて、通信相手となるサーバアプリケーションが指定される。指定方法としては本実施形態のＷｅｂの場合、「ｈｔｔｐ：／／ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」というＵＲＬの形にて指定される。クライアントアプリケーション３０１は、このＵＲＬより、サーバアプリケーションのホスト名であるＦＱＤＮ「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」を抽出し、リゾルバモジュール３０２に、指定したＦＱＤＮに対応するＩＰｖ４／ＩＰｖ６どちらかのアドレスを問合せる。
【００４７】
ＦＱＤＮからのアドレス問合せを受け取ったリゾルバモジュール３０２は、以前に問合せた結果が記録されているキャッシュデータ３０３に、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のアドレス情報が存在するかを調査する。リゾルバモジュール３０２は、まずは、キャッシュデータ３０３に、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」に対応するＩＰｖ６アドレスがあるかどうかをチェックする。キャッシュデータ３０３に対応するＩＰｖ６アドレスが存在しない場合、続いて、ＩＰｖ４アドレスに関してもキャッシュデータ３０３を調査する。
【００４８】
どちらのアドレスもキャッシュデータ３０３に存在しない場合、リゾルバモジュール３０２は、ＤＮＳサーバ１０８に対して、指定したＦＱＤＮに対するＩＰｖ４／ＩＰｖ６アドレスの問合せ（以降、正引き問合せと言う）を行う。
【００４９】
ここで正引き問合せで利用する通信プロトコルとして選択される通信プロトコルは、Ｗｅｂクライアント１０６のＯＳに設定しているＤＮＳサーバのアドレスを、どちらの通信プロトコルで指定したかによって決定される。一方、リゾルバモジュール３０２から送られる正引き問合せは、前述したとおり、「ＡＡＡＡ」ＤＮＳ  Ｑｕｅｒｙメッセージ（つまり、ＩＰｖ６アドレスの正引き問合せ）を初めに送信する。この送信に用いられる通信プロトコルは、Ｗｅｂクライアント１０６のＯＳに設定しているＤＮＳサーバのアドレスがＩＰｖ６アドレスであれば、ＩＰｖ６であり、ＩＰｖ４アドレスであれば、ＩＰｖ４である。
【００５０】
このリゾルバモジュール３０２が送信した正引き問合せはユーザネットワーク１０１を管理するＤＮＳサーバを経由し、最終的には問合せ先のＦＱＤＮを管理しているＤＮＳサーバ１０８のネームサーバモジュール３０５にて受信される。このリゾルバモジュール３０２における正引き問合せは、ＲＦＣ１０３４ならびにＲＦＣ１０３５にて規定されるアルゴリズムに即して行われる。まず、Ｗｅｂクライアント１０６の属するネットワークのドメインを管理しているＤＮＳサーバ（クライアントのＯＳに設定しているＤＮＳサーバ）に対して問合せが送信される。その後、先のＷｅｂクライアント１０６の属するネットワークのドメインを管理しているＤＮＳサーバが、Ｗｅｂクライアント１０６からの正引き問合せを中継する形となり、ルートＤＮＳサーバ、「ｎｅｔ」ＤＮＳサーバ、「ｓｅｒｖｅｒ．ｎｅｔ」ＤＮＳサーバと順番に配下のドメインを問合せていく。
【００５１】
この流れにより、最終的に「ｓｅｒｖｅｒ．ｎｅｔ」ドメインの管理サーバであるＤＮＳサーバ１０８内部のネームサーバモジュール３０５に対して、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」に対する正引き問合せが送信される。
【００５２】
この問合せの中継にて利用される通信プロトコルは、それぞれのＤＮＳサーバ（ルートＤＮＳサーバ、「ｎｅｔ」ＤＮＳサーバ、「ｓｅｒｖｅｒ．ｎｅｔ」ＤＮＳサーバ）の指定で、ＩＰｖ４アドレスを利用しているか、ＩＰｖ６アドレスを指定しているかによって決定される。
【００５３】
現状では、ルートＤＮＳサーバや「ｎｅｔ」ＤＮＳサーバの指定にはＩＰｖ６アドレスでのレコード登録を受け付けていないので、Ｗｅｂクライアント１０６が属するドメインを管理するＤＮＳサーバから中継される正引き問合せは、ＩＰｖ４通信プロトコルを利用して行われる。
【００５４】
「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」の正引き問合せを受けたＤＮＳサーバ１０８のネームサーバモジュール３０５は、マスタゾーンファイル３０６に記載されている「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のレコードを検索し、該当のアドレスを抽出する。前述したとおり、上記での正引き問合せの全てにおいて、ＩＰｖ６アドレスの正引き問合せを初めに送信する。ネームサーバモジュール３０５は、マスタゾーンファイル３０６より抽出した「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ６アドレスを、ＤＮＳ  Ｒｅｓｐｏｎｓｅとして、Ｗｅｂクライアント１０６の属するドメインを管理しているＤＮＳサーバを経由して、リゾルバモジュール３０２に返信する。
【００５５】
ネームサーバモジュール３０５からの返信を受信したリゾルバモジュール３０２は、受信したデータをキャッシュデータ３０３に記録する。同時に、受信した「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ６アドレスを通信プロトコルチェックモジュール３０４に渡し、チェック処理を行う。通信プロトコルチェックモジュール３０４は、渡されたＩＰｖ６アドレスのチェック処理（接続試験）を行い、その結果をキャッシュデータ３０３に記録する。また、リゾルバモジュール３０２は、ネームサーバモジュール３０５からの返信を受信すると同時に、クライアントアプリケーション３０１に対して「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ６アドレスを通知する。
【００５６】
仮に、返信されたデータに有効なＩＰｖ６アドレスが存在しなかった場合、リゾルバモジュール３０２は、通信相手となる「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」にはＩＰｖ６アドレスが存在しないと判断し、新たに、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」の「Ａ」ＤＮＳ  Ｑｕｅｒｙメッセージ（つまり、ＩＰｖ４アドレスの正引き問合せ）を、ＤＮＳサーバ１０８のネームサーバモジュール３０５に送信する。以下、処理内容はＩＰｖ６アドレスの正引き問合せと同じである。このＩＰｖ４アドレスの正引き問合せの結果、ＩＰｖ４アドレスも存在しないと判断した場合には、その旨を、クライアントアプリケーション３０１に通知する。
【００５７】
クライアントアプリケーション３０１は、リゾルバモジュール３０２への「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」アドレス問合せに対する返信として、ＩＰｖ６アドレス、もしくは、ＩＰｖ４アドレスを取得すると、取得したアドレスを用いて通信相手１０７のサーバアプリケーション３１１を特定し、通信を開始する。
【００５８】
図５で、Ｗｅｂクライアント１０６のキャッシュデータ３０３におけるエントリデータの内容を説明する。
【００５９】
図中の一列が一つのエントリデータである。エントリデータにはいくつかの項目情報が含まれており、それぞれは以下のような情報を含んでいる。
【００６０】
７０１「ＦＱＤＮ」はキャッシュデータとして保持するターゲットホストのＦＱＤＮを保持する。
【００６１】
７０２「Ｔｙｐｅ」はそのＦＱＤＮに定義されたレコードタイプを示している。このレコードタイプでは、ＤＮＳサーバのマスタゾーンファイル中の記述で、ＩＰｖ４アドレスの定義レコードは「Ａ」、ＩＰｖ６アドレスの定義レコードは「ＡＡＡＡ」としているので、キャッシュデータ３０３内でも同一の表記を用いている。正引き問合せに含まれる情報は、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」の「ＡＡＡＡ」を問合せという内容なので、ＦＱＤＮ（例えば、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」）とレコードタイプ（例えば、「ＡＡＡＡ」）を保持することで、キャッシュデータ３０３内に該当する情報があるかを検索することが可能となる。
【００６２】
次の項目である７０３「Ａｄｄｒｅｓｓ」にはＩＰｖ４アドレスもしくはＩＰｖ６アドレスが保持される。図からも明らかなように、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」というＦＱＤＮにＩＰｖ６アドレスとＩＰｖ４アドレスの両方がＤＮＳにて登録されていた場合、二つのエントリ７１１、７１２を持つこととなる。
【００６３】
７０４「Ｃ−ＴＴＬ」は、ネームサーバモジュール３０５から返信されるＩＰｖ４／ＩＰｖ６アドレスに含まれるキャッシュ可能な時間の値であり、実際にキャッシュデータ３０３にて保持していられる時間を意味している。
【００６４】
最後の７０５「Ｃｈｅｃｋ」には、通信プロトコルチェックモジュール３０４における有効性チェックの結果を保持する。保持する値としては、「ＯＫ」が有効（接続試験成功）を、「ＮＧ」が無効（接続試験失敗）を示しており、「−」がチェック前のデータであることを示している。
【００６５】
図中７１３、７１４の「ｍａｉｌ．ｄｕａｌ．ｂｉｚ」のＩＰｖ６アドレス、「ｗｗｗ．ｖ４ｏｎｌｙ．ｃｏｍ」のＩＰｖ４アドレスは、ＤＮＳサーバへの正引き問合せには成功したものの、アドレスの有効性チェックにてＩＰｖ６での到達性がなかったので、無効なデータとしてキャッシュデータに保持されている例である。本形態では、「ｍａｉｌ．ｄｕａｌ．ｂｉｚ」のＩＰｖ６アドレスが無効であり、ＩＰｖ４アドレスが有効であることを記憶しているので、この無効なＩＰｖ６アドレスを用いてアクセスが行われることを防ぎ、迅速に、有効なＩＰｖ４アドレスを用いて、「ｍａｉｌ．ｄｕａｌ．ｂｉｚ」のサーバにアクセスすることが可能になる。
【００６６】
また、７１６「ｍａｉｌ．ｅｎｔｒｙ．ｎｅ．ｊｐ」はリゾルバモジュール３０２から新規にキャッシュデータに記録されたデータであるので、有効性チェックはチェック前の状態である。このとき、リゾルバモジュール３０２はクライアントアプリケーション３０１に対し、初めての正引き問合せに対しては、アドレスの有効性チェックの結果を待たずに、速やかに、取得したアドレス情報を返信する。
【００６７】
図６、図７を用いて、Ｗｅｂクライアント１０６のリゾルバモジュール３０２にて処理されるフローを説明する。このフローは、Ｗｅｂクライアント１０６のＲＯＭ９０２あるいはＨＤ９０７に記憶されたプログラム、あるいはＦＤ９０８より供給されるプログラムの一部を示す。ＣＰＵ９０１は、モジュール３０４を実現するためのプログラムを、ＲＯＭ９０２、あるいはＨＤ９０７、あるいはＦＤ９０８から読み出して実行することで、以下の処理を実現する。
【００６８】
４０１はクライアントアプリケーション３０１からのアドレス問合せを待ち受けるループである。クライアントアプリケーション３０１からの「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のアドレス問合せを受け取った場合、４０２へと処理が進む。この際、ＩＰｖ６アドレスの問合せでもＩＰｖ４アドレスの問合せでも同様に機能する。
【００６９】
４０２ではキャッシュデータ３０３に問合せのＦＱＤＮに対応するＩＰｖ４／ＩＰｖ６アドレス（クライアントアプリケーション３０１から問合せられた方）が存在するかを検索する。検索の結果は４０３にて判定され、該当データ（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ４アドレス、またはＩＰｖ６アドレス）が発見された場合は４０４に進み、該当データが発見されなかった場合には４０９へ進む。
【００７０】
キャッシュデータ３０３に該当するデータが存在する場合、４０４ではキャッシュデータ３０３に存在する該当のアドレスに対し、その有効性を検証する。アドレスの有効性の処理に関しては、通信プロトコルチェックモジュール３０４にて行われており、その結果がキャッシュデータ３０３のエントリに記録されている。（この通信プロトコルチェック処理に関しては後に説明する）。４０４では、そのチェック結果をキャッシュデータ３０３から抽出し、４０５にて判定する。４０５での判定では、キャッシュデータ３０３のエントリ内にある「ｃｈｅｃｋ」項目７０５を参照し、この項目が「ＯＫ」の場合は有効な（接続試験に成功した）アドレス、「ＮＧ」の場合は無効な（接続試験に失敗した）アドレスと判定する。「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ６アドレス問合せを受けた場合、「ｃｈｅｃｋ」項目７０５が「ＯＫ」なので、そのチェックの結果、有効なアドレスと判定する。
【００７１】
なお、この判定項目７０５で「−」の場合が存在するが、それは通信プロトコルチェックモジュール３０４にてチェック前のデータであることを示し、チェック処理の結果（「ＯＫ」または「ＮＧ」）を待っている状態であることを示している。
【００７２】
４０１にて受け付けた「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のアドレス問合せがＩＰｖ６アドレスを求めるものである場合は、４０６にて有効なＩＰｖ６アドレスをキャッシュデータ３０３より抽出し、クライアントアプリケーション３０１に対してＩＰｖ６アドレスを返答する。
【００７３】
また、４０１にて受け付けた「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のアドレス問合せがＩＰｖ４アドレスを求めるものである場合は、４０８にて有効なＩＰｖ４アドレスをキャッシュデータ３０３より抽出し、クライアントアプリケーション３０１に対してＩＰｖ４アドレスを返答する。
【００７４】
なお、判定項目７０５が「‐」のＩＰｖ６アドレス又はＩＰｖ４アドレスは、４０６又は４０８で、そのＩＰｖ６又はＰｉｖ４アドレスを、クライアントアプリケーション３０１に返答する。
【００７５】
また、４０５での有効性のチェックにて無効なアドレスと判定した場合は、４０７にてアドレスなしを返答する。以上、４０６〜４０８の処理が終了した場合は、４０１の待ち受けループに処理が戻る。
【００７６】
すなわち、リゾルバモジュール３０２は、Ｗｅｂサーバ（第１の装置）１０７との接続時に、キャッシュデータ３０３にＷｅｂサーバ（第１の装置）１０７のアドレスが登録されていない場合（第２の接続時）には（４０３）、無効な（接続試験に失敗した）アドレスは、使用しない（図６の４０７）。
【００７７】
一方、４０３にてキャッシュデータ３０３に該当するデータが存在しない場合、リゾルバモジュール３０２は、ＤＮＳサーバ１０８のネームサーバモジュール３０５に「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」の正引き問合せを４０９にて行う。ここでクライアントアプリケーション３０１より委託されたアドレス問合せ内容に応じ、ＩＰｖ６アドレスを求める要求の場合は「ＡＡＡＡ」Ｑｕｅｒｙを、ＩＰｖ４アドレスを求める要求の場合は「Ａ」Ｑｕｅｒｙを、最終的には、ＤＮＳサーバ１０７のネームサーバモジュール３０５に送信する。
【００７８】
そして、４１０にて外部ＤＮＳサーバ１０７から、問合せに対する返信を受信する。４１１では４１０にて受信した正引き問合せに対する返信の内容をチェックし、場合分けを行う。以下、４１２〜４１５がその場合分けである。
【００７９】
４１２は、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ６アドレスを求める正引き問合せが成功した場合であり、ＩＰｖ６アドレス情報が含まれたＲｅｓｐｏｎｓｅ  ＡＡＡＡメッセージを受信する。４１３は、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ４アドレスを求める正引き問合せが成功した場合であり、ＩＰｖ４アドレス情報が含まれたＲｅｓｐｏｎｓｅ  Ａメッセージを受信する。以上の４１２、４１３はともに４０９における正引き問合せに対して成功した場合であり、どちらも４１６の処理に進む。
【００８０】
一方、４１４は、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」にＩＰｖ６アドレスまたはＩＰｖ４アドレスを求める正引き問合せに対して、該当のアドレス情報を持ったレコードが存在しない場合であり、アドレス情報が含まれていないＲｅｓｐｏｎｓｅ（ｎｏｔｈｉｎｇ）メッセージを受信する。
【００８１】
４１５は、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」にＩＰｖ６アドレスまたはＩＰｖ４アドレスを求める正引き問合せに対して、何らかのエラーが発生した場合（外部ＤＮＳサーバにて問合せのレコードタイプが理解できなかった場合や、ターゲットとなる外部ＤＮＳサーバが見つからなかった場合など）であり、Ｅｒｒｏｒメッセージを受信する。
【００８２】
これら４１４、４１５はともに４０９における正引き問合せに対して失敗した場合であり、どちらも４２０にてクライアントアプリケーション３０１に返信内容（Ｒｅｓｐｏｎｓｅ（ｎｏｔｈｉｎｇ）メッセージあるいはＥｒｒｏｒメッセージ）に応じた返答を行い、処理を終了する。
【００８３】
正引き問合せに成功した場合は、４１６にてクライアントアプリケーション３０１に対して要求されたＩＰｖ４／ＩＰｖ６アドレスを返答する。４１７ではキャッシュデータ３０３に登録するエントリのデータ作成を行う。ここで作成されるアドレス情報は、通信プロトコルチェックモジュール３０４でのアドレス有効性チェックが行われる前の情報なので、キャッシュデータに記録するエントリの「ｃｈｅｃｋ」項目には「−」を指定する。この作成されたエントリは、４１８にてキャッシュデータ３０３に記録される。
【００８４】
そして４１９においてキャッシュデータ３０３に記録したアドレスが有効であるかのチェックを通信プロトコルチェックモジュール３０４に依頼し、処理を終了する。
【００８５】
すなわち、リゾルバモジュール３０５は、Ｗｅｂサーバ（第１の装置）１０７との接続時に、キャッシュデータ３０３にＷｅｂサーバ（第１の装置）１０７のアドレスが登録されていない場合（第１の接続時）には（４０３）、Ｗｅｂサーバ（第１の装置）１０７のアドレスをＤＮＳサーバ（第２の装置）１０８から取得する（４０９、４１０）。さらに、通信プロトコルチェックモジュール３０４で、この取得したアドレスを使用してＷｅｂサーバ（第１の装置）１０７との接続試験を行う。
【００８６】
図８、図９で、Ｗｅｂクライアント１０６の通信プロトコルチェックモジュール３０３における処理フローを説明する。このフローは、Ｗｅｂクライアント１０６のＲＯＭ９０２あるいはＨＤ９０７に記憶されたプログラム、あるいはＦＤ９０８より供給されるプログラムの一部を示す。ＣＰＵ９０１は、モジュール３０８を実現するためのプログラムを、ＲＯＭ９０２、あるいはＨＤ９０７、あるいはＦＤ９０８から読み出して実行することで、以下の処理を実現する。
【００８７】
この通信プロトコルチェック処理は、二つのタイミングで起動される。まず一つはリゾルバモジュール３０２からＩＰｖ４／ＩＰｖ６アドレスを通知された場合（図７の４１９）である。これは、新規にキャッシュデータ３０３にアドレス情報が記録された際に発生する事例であり、そのＩＰｖ４／ＩＰｖ６アドレスの有効性をチェックする必要がある。
【００８８】
もう一つの起動のタイミングは、ある一定時間（例えば５分）が経過した場合である。これは、キャッシュデータ３０３に記録されているＩＰｖ４／ＩＰｖ６アドレスの有効性を定期的にチェックし、刻々と変化するネットワーク情報に適した評価を行うためである。
【００８９】
６０１では以上の二つのタイミングによる起動（リゾルバモジュール３０２からのチェック要請、または、ある一定時間経過による定期チェック）を判定する。リゾルバモジュール３０２からＩＰｖ４／ＩＰｖ６アドレスを受信した場合は、すなわち、リゾルバモジュール３０２の処理において、外部サーバ１０８から有効なＩＰｖ４／ＩＰｖ６アドレスが得た場合、６０２において該当アドレスの有効性チェック処理（外部サーバ１０８から取得したアドレスを使用した接続試験）を行う。
【００９０】
本実施形態でのアドレス（例えば、Ｗｅｂサーバ１０７のアドレス）の有効性チェック（そのアドレスを使用したＷｅｂサーバ（第１の装置）１０７との接続試験）は、ＩＰｖ４／ＩＰｖ６アドレスがＷｅｂクライアント１０６からＷｅｂサーバ１０７までのそれぞれの通信プロトコルでの接続性を確認する（接続試験を行う）ことで、アドレスの有効性を判定している。そこで、６０２にて、疎通チェックを対象となるＩＰｖ４／ＩＰｖ６アドレスに対して、それぞれの通信プロトコルを利用して、所定のメッセージを送信し、そのメッセージに対する応答を判断し、その判断に基づき、アドレスの有効性を確認する。このチェック処理に関しては６１１〜６１４にて詳しく説明する。
【００９１】
６０２でのアドレス有効性チェック処理を行ったデータは、６０３にてキャッシュデータ３０３に既に記録されているエントリデータを上書き修正し、６０１へ戻る。
【００９２】
一方、ある一定時間（例えば、５分）を経過した場合の処理は６０４に進む。６０４ではキャッシュデータ３０３に記録されているエントリデータを取得する。そして、６０５において取得したエントリからＩＰｖ４／ＩＰｖ６アドレスを抽出し、６０６においてアドレス有効性チェック処理（接続試験）を行う。６０６のチェック処理も６０２と同様の処理を行う。そして、６０７にて６０３と同様に６０６のチェック処理の結果を、キャッシュデータ３０３に反映させる。この６０４、６０５、６０６の処理は、キャッシュデータ３０３に格納されているエントリのそれぞれについて、すなわち、キャッシュデータ３０３に格納されているアドレスのそれぞれについてチェック処理を行い、その結果を６０７にて反映する。
【００９３】
引き続き、図９で、６０２、６０６で行われるアドレス有効性チェック（接続試験）の処理フローを説明する。
【００９４】
本実施形態でのアドレス有効性チェックは、ＩＰｖ４／ＩＰｖ６アドレスがＷｅｂクライアント１０６からＷｅｂサーバ１０７までのそれぞれの通信プロトコルでの接続性を確認する（接続試験を行う）ことで、アドレスの有効性を判定している。
【００９５】
すなわち、疎通チェックを対象となるＩＰｖ４／ＩＰｖ６アドレスに対して、それぞれの通信プロトコルを利用して、所定のメッセージを送信し、そのメッセージに対する応答を判断し、その判断に基づき、アドレスの有効性を確認する。
【００９６】
本実施形態では、アドレスの有効性をチェックする（接続性を試験する）ためのメッセージとして、ＩＣＭＰ  ｅｃｈｏメッセージを用いる。すなわち、６１１にてＩＣＭＰ  ｅｃｈｏメッセージによる疎通チェックを対象となるＩＰｖ４／ＩＰｖ６アドレスに対して、それぞれの通信プロトコルを利用して送信する。ＩＰｖ６アドレスのチェックには、ＩＰｖ６の通信プロトコルを用いて、ＩＣＭＰ  ｅｃｈｏメッセージを送信し、ＩＰｖ４アドレスのチェックには、ＩＰｖ４の通信プロトコルを用いて、ＩＣＭＰ  ｅｃｈｏメッセージを送信する。
【００９７】
６１２にて、６０２あるいは６０６で発行したＩＣＭＰ  ｅｃｈｏに対する返信があるかを、ある一定時間（例えば１秒）待つことで判定し、返信があった場合にはそのアドレスは有効であると判断し、６１３にて、キャッシュデータ３０３に記録するエントリデータ内の項目であるチェック判定結果の欄（「ｃｈｅｃｋ」欄）に「ＯＫ」を代入する。
【００９８】
一方、所定時間内に（例えば、１秒）ＩＣＭＰ  ｅｃｈｏに対する返信がない場合は、そのアドレスは無効と判断し、６１４にて、キャッシュデータ３０３に記録するエントリデータ内の項目であるチェック判定結果の欄に「ＮＧ」を代入し、チェック処理を終了する。なお、所定時間内に（例えば、１秒以内）、ＩＣＭＰ  ｅｃｈｏメッセージが宛先に届かないことを示すメッセージを受信した場合も、チェック判定結果の欄に「ＮＧ」を代入する。
【００９９】
６１３、６１４で作成したエントリデータは、６０３、６０７において、キャッシュデータ３０３に格納される。なお、６０６では、キャッシュデータ３０３に記録されているＩＰｖ４／ＩＰｖ６アドレスのそれぞれに対して、それぞれの通信プロトコルを利用して、所定のメッセージを送信し、６１２で返信があれば、６１３の処理を行い、所定時間内に、返信がない場合、６１４の処理を行う。
【０１００】
なお、このアドレスの有効性をチェックするために送信したメッセージの返信を待つ時間は、１秒に限らず、例えば、３０秒に設定してもよい。
【０１０１】
他の形態では、６０２でのアドレス有効性チェックと６０６でのアドレス有効性チェックで、返信を待つ時間として、異なる時間を用いる。例えば、６０２でのアドレス有効性チェックでは、３０秒、６０６のアドレス有効性チェックでは、１秒、メッセージの返信を待って、アドレス有効性を判断する。
【０１０２】
なお、キャッシュデータは、ＴＴＬ値を越える時間、キャッシュすることが許されない仕組みとなっている。そのため、図には示さないが、例えば、１秒ごとに、キャッシュ時間Ｃ−ＴＴＬ７０４の値を１つ減らして、Ｃ−ＴＴＬ値７０４の判定を行い、既に期限切れのエントリは、キャッシュデータ３０３から削除する。
【０１０３】
このように、リゾルバモジュール３０２（図６、図７）及び通信プロトコルチェックモジュール３０４（図８、図９）は、以下のような処理を行う接続制御プログラムを構成する。すなわち、Ｗｅｂサーバ（第１の装置）１０７との第１の接続時に、Ｗｅｂサーバ（第１の装置）１０７のアドレスをＤＮＳサーバ（第２の装置）１０８から取得し（図７の４０９、４１０）、前記アドレスを使用してＷｅｂサーバ（第１の装置）１０７との接続試験を行い（図７の４１９、図８の６０２、図９の６１１）、Ｗｅｂサーバ（第１の装置）１０７との第２の接続時には、前記接続試験に失敗したアドレスは、使用しない（図６の４０７）。
【０１０４】
図１０は本実施形態の通信の流れにおいて、Ｗｅｂクライアント１０６のクライアントアプリケーション３０１からＷｅｂサーバ１０７のサーバアプリケーション３１１に対し、ＩＰｖ６通信プロトコルでの到達が不可能な状況でのアドレス問合せからアプリケーションの通信確立までのフローである。以下のフローにおいて、Ｗｅｂクライアント１０６の動作は、Ｗｅｂクライアント１０６のＲＯＭ９０２あるいはＨＤ９０７に記憶されたソフトウェア、あるいはＦＤ９０８より供給されるソフトウェアであるモジュール３０１、３０２、３０４により実現される。
【０１０５】
クライアントアプリケーション３０１はリゾルバモジュール３０２に対して８０１のアドレス問合せ（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」に対するＩＰｖ６アドレスの問合せ）を行う。
【０１０６】
リゾルバモジュール３０２は、問合せを受けると（図６の４０１）、キャッシュデータ３０３を検索し（４０２）、該当するデータがないことから（４０３）、対象となるＦＱＤＮの管理を行っているＤＮＳサーバ１０８のネームサーバモジュール３０５に、正引き問合せ（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」に対する「ＡＡＡＡ」（ＩＰｖ６アドレス）の問合せ）８０２を行う（４０９）。
【０１０７】
問合せ８０２に対し、ネームサーバモジュール３０５は、問合せのＦＱＤＮに対するＩＰｖ６アドレスを８０３の問合せへの返信（Ｒｅｓｐｏｎｓｅ  ＡＡＡＡメッセージ）（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」の「ＡＡＡＡ」は「２００１：３４０：０：１：：１」、「ＴＴＬ＝１００００」）をリゾルバモジュール３０２に送信する。ここで、「ＴＴＬ＝１００００」は、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ６アドレスが「２００１：３４０：０：１：：１」であることを、Ｗｅｂクライアント１０６が保持する期限を示す。
【０１０８】
リゾルバモジュール３０２は、返信（Ｒｅｓｐｏｎｓｅ  ＡＡＡＡメッセージ）８０３を受信すると（４１０、４１１、４１２）、迅速にクライアントアプリケーション３０１に対して問合せの返答（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ６アドレスは「２００１：３４０：０：１：：１」）を８０４にて答える（４１６）。
【０１０９】
返答８０４を受け取ったクライアントアプリケーション３０１は、Ｗｅｂサーバ「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」１０７のＩＰｖ６アドレス「２００１：３４０：０：１：：１」を取得したので、目的のＷｅｂサーバ１０７内のサーバアプリケーション３１１にＩＰｖ６通信プロトコルを利用して８０５の接続を試みるが、途中でネットワークが切断状態であるために接続はできない。
【０１１０】
一方、通信プロトコルチェックモジュール３０４でも、８０４のＩＰｖ６アドレスの返答とほぼ同時刻に、ＩＰｖ６アドレスの有効性チェックのために、８０６のＩＣＭＰ  ｅｃｈｏメッセージを対象アドレス「２００１：３４０：０：１：：１」に送信する（図９の６１１）。ＩＣＭＰ  ｅｃｈｏメッセージ８０６の通信に関しても、Ｗｅｂサーバ１０７には到達しないので、ＩＣＭＰ  Ｒｅｓｐｏｎｓｅメッセージの返信は受信されず（６１２）、８０７のアドレス有効性チェックはＮＧ（接続試験失敗）となる（６１４）。このＩＰｖ６アドレスの接続性試験は、ＩＰｖ６の通信プロトコルを用いて行う。
【０１１１】
すなわち、Ｗｅｂサーバ（第１の装置）１０７との第１の接続時に（８０１）、８０２、８０３で、Ｗｅｂサーバ（第１の装置）１０７のＩＰｖ６アドレスをＤＮＳサーバ（第２の装置）１０８から取得し（図７の４０９、４１０）、８０６、８０７で、前記ＩＰｖ６アドレスを使用してＷｅｂサーバ（第１の装置）１０７との接続試験を行う（図７の４１９、図８の６０２、図９の６１１）。
【０１１２】
クライアントアプリケーション３０１は、接続８０５からタイムアウト待ちを行い、タイムアウトすると、通信確立が失敗したと判断して、ＩＰｖ４アドレスを取得すべくリゾルバモジュール３０２に対して８０８のアドレス問合せ（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」に対するＩＰｖ４アドレスの問合せ）を行う。
【０１１３】
リゾルバモジュール３０２は、問合せ８０８を受けると（図６の４０１）、キャッシュデータ３０３を検索し（４０２）、該当するデータがないことから（４０３）、対象となるＦＱＤＮの管理を行っているＤＮＳサーバ１０６のネームサーバモジュール３０５に８０９の正引き問合せ（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」に対する「Ａ」の問合せ）を行う（４０９）。
【０１１４】
問合せ８０９に対し、ＤＮＳサーバ１０８のネームサーバモジュール３０５は、問合せのＦＱＤＮに対するＩＰｖ４アドレスを含む問合せへの返信（Ｒｅｓｐｏｎｓｅ  Ａメッセージ）８１０（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」の「Ａ」は「１７２．１６．０．１」、「ＴＴＬ＝１００００」）をリゾルバモジュール３０２に送信する。
【０１１５】
リゾルバモジュール３０２は、返信（Ｒｅｓｐｏｎｓｅ  Ａメッセージ）８１０を受信すると（４１０、４１１、４１３）、迅速にクライアントアプリケーション３０１に対して問合せの返答（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ４アドレスは「１７２．１６．０．１」）を８１１にて答える（４１６）。
【０１１６】
返答８１１を受け取ったクライアントアプリケーションは、「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ４アドレス「１７２．１６．０．１」を取得したので、目的のＷｅｂサーバ１０７内のサーバアプリケーションにＩＰｖ４通信プロトコルを利用して８１２の接続を試みる。この接続８１２は成功するので、クライアントアプリケーション３０１には、サーバアプリケーション３１１のデータが受信される。
【０１１７】
一方、通信プロトコルチェックモジュール３０４でも、８１１のＩＰｖ４アドレス通知とほぼ同時刻に、ＩＰｖ４アドレスの有効性チェックのために、８１３のＩＣＭＰ  ｅｃｈｏメッセージを対象アドレスに送信する（図９の６１１）。メッセージ８１３に対する返信が、Ｗｅｂサーバ１０７より８１４のＩＣＭＰ  Ｒｅｓｐｏｎｓｅとして送信されるので（６１２）、アドレス有効性チェックはＯＫ（接続試験成功）となる（６１３）。なお、このＩＰｖ４アドレスの接続性試験は、ＩＰｖ４の通信プロトコルを用いて行う。
【０１１８】
すなわち、Ｗｅｂサーバ（第１の装置）１０７との第１の接続時に（８０１）、８０２、８０３で、Ｗｅｂサーバ（第１の装置）１０７のＩＰｖ６アドレス（第１のアドレス）をＤＮＳサーバ（第２の装置）１０８から取得するとともに（図７の４０９、４１０）、８０９、９１０で、Ｗｅｂサーバ（第１の装置）１０７のＩＰｖ４アドレス（第２のアドレス）をＤＮＳサーバ（第２の装置）１０８から取得する（図７の４０９、４１０）。さらに、８１３、８１４で、前記ＩＰｖ４アドレス（第２のアドレス）を使用してＷｅｂサーバ（第１の装置）１０７との接続試験を行う（図７の４１９、図８の６０２、図９の６１１）。
【０１１９】
その後、新たにサーバアプリケーション３１１への接続要求が発生した際（例えば、Ｗｅｂ表示上のリンクを選択し、同じＷｅｂサーバ内の別のデータを取得するような場合）、クライアントアプリケーション３０１はもう一度リゾルバモジュール３０２にＩＰｖ６アドレスの問合せ８１５を行う。
【０１２０】
リゾルバモジュール３０２は、問合せ８０８を受けると（図６の４０１）、キャッシュデータ３０３を検索し（４０２）、該当するデータを得る（４０３）。この場合、リゾルバモジュール３０２は、アドレス有効性チェックの行われたキャッシュデータ３０３から、ＩＰｖ６アドレスのチェック結果が「ＮＧ」であることを知り（４０４、４０５）、クライアントアプリケーション３０１への返答には、８１６のアドレス無しメッセージ（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ６アドレスはありません）を答える（４０７）。
【０１２１】
すなわち、Ｗｅｂサーバ（第１の装置）１０７との第２の接続時には（８１５）、前記８０６、８０７の接続試験に失敗したアドレスは、使用しない（８１６）。
【０１２２】
この返信８１６を受けたクライアントアプリケーションは、続いてＩＰｖ４アドレスの問合せ（８１７）を行う。
【０１２３】
リゾルバモジュール３０２は、同様に、問合せ８０８を受けると（図６の４０１）、キャッシュデータ３０３を検索し（４０２）、該当するデータを得る（４０３）。この場合、リゾルバモジュール３０２は、アドレス有効性チェックの行われたキャッシュデータ３０３から、ＩＰｖ４アドレスのチェック結果が「ＯＫ」であることを確認し（４０４、４０５）、８１８にて、問合せ返答（「ｗｗｗ．ｓｅｒｖｅｒ．ｎｅｔ」のＩＰｖ４アドレスは「１７２．１６．０．１」）を答える（４０８）。
【０１２４】
返答８１８によりサーバアプリケーション３１１のＩＰｖ４アドレス取得に成功したクライアントアプリケーション３０１は、ＩＰｖ４通信プロトコルを利用した８１９の接続を行い、サーバアプリケーション３１１からデータを取得する。
【０１２５】
すなわち、Ｗｅｂサーバ（第１の装置）１０７との第２の接続時には（８１５）、前記８０６、８０７の接続試験に失敗したＩＰｖ６アドレス（第１のアドレス）は、使用せず（８１６）、前記８１３、８１４の接続試験に成功したＩＰｖ４アドレス（第２のアドレス）を、使用する（８１８、８１９）。このＩＰｖ６アドレス（第１のアドレス）の接続試験には、ＩＰｖ６のプロトコル（第１のアドレスに対応した第１のプロトコル）を使用して、所定のメッセージを送信し、応答の有無により、接続試験を行い、このＩＰｖ４アドレス（第２のアドレス）の接続試験には、ＩＰｖ４のプロトコル（第２のアドレスに対応する第２のプロトコル）を使用して、所定のメッセージを送信し、応答の有無により、接続試験を行う。
【０１２６】
＜他の実施の形態＞
上記実施形態において、Ｗｅｂクライアント１０６とＷｅｂサーバ１０７は、Ｗｅｂアプリケーションに限定されるものではなく、どのようなネットワークアプリケーションであってもよい。
【０１２７】
上記実施形態において、ドメイン管理ネットワーク１０２とサーバネットワーク１０３は必ずしも独立したネットワークである必要はなく、同一のネットワーク上にＤＮＳサーバ１０８とＷｅｂサーバ１０７が存在してもよい。
【０１２８】
上記実施形態において、各ホストに割当てたドメイン名、ＦＱＤＮ、ＩＰｖ４ネットワークアドレス、ＩＰｖ４アドレス、ＩＰｖ６ネットワークアドレス、ＩＰｖ６アドレスは一例に過ぎず、その他の任意のドメイン名、ＦＱＤＮ、ＩＰｖ４ネットワークアドレス、ＩＰｖ４アドレス、ＩＰｖ６ネットワークアドレス、ＩＰｖ６アドレスであってもよい。
【０１２９】
上記実施の形態において、クライアントアプリケーション３０１からリゾルバモジュール３０２の正引き問合せの順番に関し、この順番に即していなくともよい。例えば、ＩＰｖ６の問合せとＩＰｖ４の正引き問合せを同時にリゾルバモジュール３０２に対して要求してもよく、また、ＩＰｖ６の問合せの返答を待たずしてＩＰｖ４の正引き問合せを行う処理を行ってもよい。
【０１３０】
【発明の効果】
本発明によれば、アドレスが取得できても、接続できない事態を減らすことが可能となる。
【図面の簡単な説明】
【図１】ネットワークの構成図である。
【図２】各ネットワークの属するドメイン名と、各ホストに割当てたＦＱＤＮの一例の図である。
【図３】本発明を実現するための装置のハードウエア構成図である。
【図４】ＷｅｂクライアントとＷｅｂサーバの通信確立までの処理概要を示したモジュール図である。
【図５】キャッシュデータにおけるエントリデータの内容の図である。
【図６】リゾルバモジュールの処理フローの図である。
【図７】リゾルバモジュールの処理フローの図である。
【図８】通信プロトコルチェックモジュールの処理フローの図である。
【図９】アドレス有効性チェック（接続試験）の処理フローの図である。
【図１０】クライアントアプリケーション３０１からサーバアプリケーション３１１への通信確立のフローである。
【符号の説明】
１０６  Ｗｅｂクライアント
１０７  Ｗｅｂサーバ
１０８  ＤＮＳサーバ
【図１】
2004350133.tif 000003
【図２】
2004350133.tif 000004
【図３】
2004350133.tif 000005
【図４】
2004350133.tif 000006
【図５】
2004350133.tif 000007
【図６】
2004350133.tif 000008
【図７】
2004350133.tif 000009
【図８】
2004350133.tif 000010
【図９】
2004350133.tif 000011
【図１０】
2004350133.tif 000012