(57)【要約】  通信端末（１００ｃ）は、アドレス解決サーバ（２００）に対して相手側端末（１００ｄ）のホスト名を提示することで、アドレス解決サーバが属するグローバルネットワーク網（４０１）から相手側端末に至るまでの間のネットワーク経路を示す第２アドレス束（２２１）を取得する取得手段（１０１）と、第２アドレス束及びアドレス解決サーバが属するグローバルネットワーク網から通信端末に至るまでの間のネットワーク経路を示す第１アドレス束（２２１）に基づいて、通信端末と相手側端末との間のネットワーク上の位置関係を認識する認識手段（１０２）と、認識された位置関係に基づいて、第２アドレス束から相手側端末との間の通信に使用するホストアドレスを決定する決定手段（１０３）とを備える。
2010143286.tif 000002
【特許請求の範囲】
【請求項１】
同一のネットワーク網に属する又はルータを介して直接的に若しくは間接的に接続される他のネットワーク網に属する相手側端末と、前記相手側端末に固有のホスト名を用いて通信を行う通信端末であって、
前記相手側端末との間の通信を行うために必要な制御情報を送信するアドレス解決サーバに対して前記相手側端末の前記ホスト名を提示することで、前記アドレス解決サーバより、前記アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路を示す第２アドレス束を前記制御情報として取得する取得手段と、
前記取得手段により取得される前記第２アドレス束及び前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を示す第１アドレス束に基づいて、当該通信端末と前記相手側端末との間のネットワーク上の位置関係を認識する認識手段と、
前記認識手段により認識された当該通信端末と前記相手側端末との間のネットワーク上の位置関係に基づいて、前記取得手段により取得される前記第２アドレス束から前記相手側端末との間の通信に使用するホストアドレスを決定する決定手段と
を備えることを特徴とする通信端末。
【請求項２】
前記第１アドレス束は、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路に存在するルータの上位側ホストアドレス及び当該通信端末のホストアドレスを、前記ネットワーク経路順に含み、
前記第２アドレス束は、前記アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路に存在するルータの上位側ホストアドレス及び前記相手側端末のホストアドレスを、前記ネットワーク経路順に含み、
前記認識手段は、前記第１アドレス束に含まれるホストアドレスと前記第２アドレス束に含まれるホストアドレスとを、前記ネットワーク経路の上位側から下位側に向けて順番に比較することで、当該通信端末と前記相手側端末との間のネットワーク上の位置関係を認識することを特徴とする請求項１に記載の通信端末。
【請求項３】
前記認識手段は、前記第１アドレス束に含まれるホストアドレスのうちの所定階層のホストアドレスと前記第２アドレス束に含まれるホストアドレスのうちの前記所定階層のホストアドレスとが同一である場合には、前記第１アドレス束に含まれるホストアドレスのうちの前記所定階層の次の階層のホストアドレスと前記第２アドレス束に含まれるホストアドレスのうちの前記所定階層の次の階層のホストアドレスとを比較することを特徴とする請求項２に記載の通信端末。
【請求項４】
前記決定手段は、前記第１アドレス束に含まれるホストアドレスのうちの所定階層のホストアドレスと前記第２アドレス束に含まれるホストアドレスのうちの前記所定階層のホストアドレスとが異なる場合には、前記第２アドレス束に含まれるホストアドレスのうちの前記所定階層のホストアドレスを、前記相手側端末との間の通信に使用するホストアドレスとして決定することを特徴とする請求項３に記載の通信端末。
【請求項５】
前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を調査する調査手段と、
前記調査手段による調査結果に基づいて、前記第１アドレス束を前記アドレス解決サーバに登録する登録手段を更に備えることを特徴とする請求項１に記載の通信端末。
【請求項６】
前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路に存在するルータがＵＰｎＰ（Universal Plug and Play）対応ルータである場合には、前記調査手段は、当該通信端末に最も近い側に位置する前記ルータである第１ルータの下位側ホストアドレスにＵＰｎＰコマンドを用いることで、前記第１ルータの上位側ホストアドレスを取得することで、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を調査し、
前記登録手段は、前記調査手段により取得される、前記第１ルータの上位側ホストアドレス及び前記第１ルータが属するネットワーク網上における当該通信端末のホストアドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として前記アドレス解決サーバに登録することを特徴とする請求項５に記載の通信端末。
【請求項７】
前記第１ルータの上位側のネットワーク網に属する前記ルータである第２ルータが存在する場合には、前記調査手段は、先に(i)前記第１ルータの動作モードをブリッジモードに切り替えると共に、前記第２ルータより前記第２ルータが属するネットワーク網上における当該通信端末自身のホストアドレスをＤＨＣＰ（Dynamic Host Configuration Protocol）サーバより取得し、(ii)前記第２ルータの下位側ホストアドレスにＵＰｎＰコマンドを用いて、前記第２ルータの上位側ホストアドレスを取得し、(iii)前記第１ルータをルータモードに切り替えると共に、前記第１ルータより前記第１ルータが属するネットワーク網上における当該通信端末自身のホストアドレスを、上記(i)の状態の前の状態に戻し、(iv)前記第１ルータの下位側ホストアドレスにＵＰｎＰコマンドを用いて、前記第１ルータの上位側ホストアドレスを取得することで、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を調査し、
前記登録手段は、前記調査手段により取得される前記第２ルータの上位側ホストアドレスを更に含むアドレス束を、前記第１アドレス束として前記アドレス解決サーバに登録することを特徴とする請求項６に記載の通信端末。
【請求項８】
前記調査手段は、前記アドレス解決サーバが属するグローバルネットワーク網に属すると共に当該通信端末に至るまでの間のネットワーク経路を調査するアドレス調査サーバに対して、当該アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路に存在する前記ルータの上位側ホストアドレスを要求することで、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を調査し、
前記登録手段は、前記アドレス調査サーバから取得した前記上位側ホストアドレス及び当該通信端末のホストアドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として登録することを特徴とする請求項５に記載の通信端末。
【請求項９】
前記登録手段は、前記ルータの下位側ホストアドレス及び当該通信端末のホストアドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として登録することを特徴とする請求項５に記載の通信端末。
【請求項１０】
前記登録手段は、前記ルータの下位側ホストアドレス、当該通信端末のホストアドレス及び当該通信端末に固有の機器アドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として登録することを特徴とする請求項５に記載の通信端末。
【請求項１１】
前記調査手段は、前記ルータの上位側に位置する他の通信端末に対して、前記ルータの上位側ホストアドレスを取得するよう要求し、
前記登録手段は、前記他の通信端末から取得した前記上位側ホストアドレス及び当該通信端末のホストアドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として登録することを特徴とする請求項５に記載の通信端末。
【請求項１２】
前記取得手段は、前記アドレス解決サーバより、前記第１アドレス束を前記制御情報として取得することを特徴とする請求項１に記載の通信端末。
【請求項１３】
当該通信端末が属するネットワーク網よりも下位側のネットワーク網に属する他の通信端末からの要求に応じて、前記他の通信端末との間に介在するルータの上位側アドレスを取得すると共に、当該取得した上位側アドレスを前記他の通信端末に対して通知する通知手段を更に備えることを特徴とする請求項１に記載の通信端末。
【請求項１４】
通信端末が、前記通信端末が属するネットワーク網と同一のネットワーク網に属する又は前記通信端末が属するネットワーク網とルータを介して相互に接続されるネットワーク網に属する相手側端末と、前記相手側端末に固有のホスト名を用いて通信を行うために必要な制御情報を送信するアドレス解決サーバであって、
当該アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路を示すアドレス束を格納する格納手段と、
前記相手側端末の前記ホスト名を提示した前記通信端末からのアドレス解決要求に応じて、前記アドレス束を前記制御情報として前記通信端末へ送信する送信手段と
を備えることを特徴とするアドレス解決サーバ。
【請求項１５】
前記アドレス束は、当該アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路に存在する前記ルータの上位側ホストアドレス若しくは下位側ホストアドレス及び前記相手側端末のホストアドレスを、前記ネットワーク経路順に含むことを特徴とする請求項１４に記載のアドレス解決サーバ。
【請求項１６】
請求項１に記載された通信端末に備えられたコンピュータを制御するコンピュータプログラムであって、
該コンピュータを、前記取得手段、前記認識手段及び前記決定手段として機能させることを特徴とするコンピュータプログラム。
【請求項１７】
請求項１４に記載されたアドレス解決サーバに備えられたコンピュータを制御するコンピュータプログラムであって、
該コンピュータを、前記格納手段及び前記送信手段として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば相手側端末と通信を行う通信端末であって、特に当該通信端末が属するネットワーク網と同一のネットワーク網に属する又は当該通信端末が属するネットワーク網とルータを介して直接的に若しくは間接的に接続される他のネットワーク網に属する相手側端末と通信を行う通信端末、このような通信端末に対して、相手側端末と通信を行うために必要な制御情報（例えば、ホストアドレス等）を通知するアドレス解決サーバ並びにコンピュータをこのような通信端末又はアドレス解決サーバとして機能させるコンピュータプログラムの技術分野に関する。
【背景技術】
【０００２】
例えば、通信端末と相手側端末とがＴＣＰ／ＩＰを用いて通信を行う場合、送信元である通信端末や送信先である相手側端末を識別するアドレスとしてＩＰアドレスが使用される。この場合、特に、通信端末や相手側端末を識別し易くするために、通信端末や相手側端末に対して独自のホスト名を割り当てると共に、当該ホスト名を用いて通信を行う手法が知られている（例えば、特許文献１及び２参照）。具体的には、例えば、通信端末が相手側端末のホスト名を用いて相手側端末との通信を行う場合には、ＤＮＳ（Domain Name System）サーバが相手側端末のホスト名を相手側端末のＩＰアドレスに変換すると共に、該変換された相手側端末のＩＰアドレスを通信端末に通知する。その後、通信端末は、該変換された相手側端末のＩＰアドレスを送信先アドレスとして指定することで、相手側端末との通信を行う。これにより、通信端末のユーザは、該ユーザにとって相対的に識別し易いホスト名のみを用いて、相手側端末との通信を行うことができる。【０００３】
ところで、ＩＰアドレスには、グローバルアドレスとローカルアドレスとがある。グローバルアドレスは、世界的にユニークなアドレスである。一方、ローカルアドレスは、特定の通信ネットワークの中で独自に定められるアドレスである。更に、一般的なネットワークでは、グローバルアドレスを使用するグローバルネットワーク中に、ローカルアドレスを使用するローカルネットワークが複数存在する階層的なネットワーク構成を有している。この場合、上述したホスト名を使用した通信では、以下のような技術的な問題が生ずることがある。【０００４】
具体的には、ローカルアドレスが「１０．０．０．１２３」であり且つホスト名が「ＡＡ」であるサーバＡとローカルアドレスが「１０．０．０．３０」である端末Ａとを含むローカルネットワークが、ＬＡＮ側アドレス（つまり、ローカルアドレス）が「１０．０．０．１」であり且つＷＡＮ側アドレス（つまり、グローバルアドレス）が「１２３．４５．６７．８９」であるＮＡＴ（Network Address Translation）ルータを介してグローバルネットワークに接続されており、またグローバルアドレスが「１４１．１４０．１３９．１３８」であるＤＮＳサーバがグローバルネットワーク中に配置されているネットワーク構成において、端末Ａがホスト名を用いてサーバＡにアクセスする例を考える。この場合、端末Ａは、ホスト名「ＡＡ」を提示してＤＮＳサーバにアクセスすることで、サーバＡにアクセスするためのＩＰアドレスをＤＮＳサーバから取得する。この場合、ＤＮＳサーバは、ホスト名からグローバルアドレスへの変換を行うに過ぎないため、サーバＡが属するローカルネットワークに含まれるＮＡＴルータのＷＡＮ側アドレスである「１２３．４５．６７．８９」を、サーバＡにアクセスするためのＩＰアドレスとして端末Ａに通知する。その後、端末Ａは、ＤＮＳサーバより通知を受けた「１２３．４５．６７．８９」を送信先アドレスに設定した上で、データの送信を開始する。しかしながら、「１２３．４５．６７．８９」というＩＰアドレスを有する機器がローカルネットワーク中に存在しないため、端末Ａから送信されたデータはＮＡＴルータに送信される。この場合、端末Ａから送信されたデータの送信先がＮＡＴルータのＷＡＮ側アドレスとなっているため、ＮＡＴルータは、端末Ａから送信されたデータが自分宛に送信されているものとして認識する。その結果、端末ＡからサーバＡに対して送信されたデータが、サーバＡに対して送信されなくなってしまう。【０００５】
このような技術的な問題点を解決するために、例えば特許文献１には、各ローカルネットワーク中に固有のＤＮＳサーバを設置する構成が開示されている。また、特許文献２には、グローバルネットワーク中に、ホスト名から変換されるグローバルアドレスを、更にローカルアドレスに変換する中継センタを備える構成が開示されている。【０００６】
また、ＲＦＣ（Request for Comment）−４７８７に規定されているヘアピン対応ルータによれば、自身のＷＡＮ側アドレス宛に送信されるデータを、ローカルアドレス宛に送信し直すことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−３２０４１８号公報
【特許文献２】特開２００３−１８８９０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された構成によれば、ローカルネットワークの全てに固有のＤＮＳサーバを設ける必要がある。このため、ネットワーク構成が増大してしまうと共に、必要なコストも増大してしまう。【０００９】
また、特許文献２に開示された構成によれば、中継センタという特別なハードウェア（機器）を新たに設置する必要がある。このため、中継センタを設置するコストが増大してしまう。【００１０】
また、ヘアピン対応ルータを用いる場合であっても、現状のネットワーク網に存在する全てのルータがヘアピン対応ルータではないため、その置き換えのコストが膨大なものとなってしまう。【００１１】
本発明は、例えば上述した従来の問題点に鑑みなされたものであり、例えば異なる端末との間の通信を比較的容易に且つ相対的に低コストで行うことが可能な通信端末、異なる端末間の通信を比較的容易に且つ相対的に低コストで行わせることが可能なアドレス解決サーバ、及びコンピュータをこのような通信端末又はアドレス解決サーバとして機能させるコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の通信端末は、同一のネットワーク網に属する又はルータを介して直接的に若しくは間接的に接続される他のネットワーク網に属する相手側端末と、前記相手側端末に固有のホスト名を用いて通信を行う通信端末であって、前記相手側端末との間の通信を行うために必要な制御情報を送信するアドレス解決サーバに対して前記相手側端末の前記ホスト名を提示することで、前記アドレス解決サーバより、前記アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路を示す第２アドレス束を前記制御情報として取得する取得手段と、前記取得手段により取得される前記第２アドレス束及び前記アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路を示す第１アドレス束に基づいて、当該通信端末と前記相手側端末との間のネットワーク上の位置関係を認識する認識手段と、前記認識手段により認識された当該通信端末と前記相手側端末との間のネットワーク上の位置関係に基づいて、前記取得手段により取得される前記第２アドレス束から前記相手側端末との間の通信に使用するホストアドレスを決定する決定手段とを備える。【００１３】
上記課題を解決するために、本発明のアドレス解決サーバは、通信端末が、前記通信端末が属するネットワーク網と同一のネットワーク網に属する又は前記通信端末が属するネットワーク網とルータを介して相互に接続されるネットワーク網に属する相手側端末と、前記相手側端末に固有のホスト名を用いて通信を行うために必要な制御情報を送信するアドレス解決サーバであって、当該アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路を示すアドレス束を格納する格納手段と、前記相手側端末の前記ホスト名を提示した前記通信端末からのアドレス解決要求に応じて、前記アドレス束を前記制御情報として前記通信端末へ送信する送信手段とを備える。【００１４】
上記課題を解決するために、本発明の第１のコンピュータプログラムは、本発明の通信端末に備えられたコンピュータを制御するコンピュータプログラムであって、該コンピュータを、前記取得手段、前記認識手段及び前記決定手段として機能させる。【００１５】
上記課題を解決するために、本発明の第２のコンピュータプログラムは、本発明のアドレス解決サーバに備えられたコンピュータを制御するコンピュータプログラムであって、該コンピュータを、前記格納手段及び前記送信手段として機能させる。【００１６】
本発明の作用及び他の利得は次に説明する実施の形態から明らかにされよう。
【図面の簡単な説明】
【００１７】
【図１】本実施例に係る通信システムの全体構成を概念的に示すブロック図である。
【図２】本実施例に係る通信システムが備える通信端末の基本構成を概念的に示すブロック図である。
【図３】本実施例に係る通信システムが備えるアドレス解決サーバの基本構成を概念的に示すブロック図である。
【図４】アドレス管理テーブルを概念的に示すデータ構造図である。
【図５】本実施例に係る通信システムの動作の流れを概念的に示すフローチャートである。
【図６】アドレス束の第１の調査・登録方法を実行する通信端末の基本構成を概念的に示すブロック図である。
【図７】第２の調査・登録方法が実行された結果取得されるアドレス束を含むアドレス管理テーブルを概念的に示すデータ構造図である。
【図８】第３の調査・登録方法を実行する通信システムの基本構成を概念的に示すブロック図である。
【図９】アドレス束がＭＡＣアドレスやＮＡＴルータのＬＡＮ側のＩＰアドレスを含んでいる場合の通信システムの動作を概念的に示すフローチャートである。
【図１０】アドレス束がＭＡＣアドレスやＮＡＴルータのＬＡＮ側のＩＰアドレスを含んでいる場合の通信システムの動作を概念的に示すフローチャートである。
【図１１】アドレス束がＭＡＣアドレスやＮＡＴルータのＬＡＮ側のＩＰアドレスを含んでいる場合の通信システムの動作を概念的に示すフローチャートである。
【図１２】アドレス束がＭＡＣアドレスやＮＡＴルータのＬＡＮ側のＩＰアドレスを含んでいる場合の通信システムの動作を概念的に示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、発明を実施するための形態として、本発明の通信端末、アドレス解決サーバ、及びコンピュータプログラムに係る実施形態の説明を進める。
【００１９】
＜１＞
（通信端末の実施形態）
本発明の通信端末に係る実施形態は、同一のネットワーク網に属する又はルータを介して直接的に若しくは間接的に接続される他のネットワーク網に属する相手側端末と、前記相手側端末に固有のホスト名を用いて通信を行う通信端末であって、前記相手側端末との間の通信を行うために必要な制御情報を送信するアドレス解決サーバに対して前記相手側端末の前記ホスト名を提示することで、前記アドレス解決サーバより、前記アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路を示す第２アドレス束を前記制御情報として取得する取得手段と、前記取得手段により取得される前記第２アドレス束及び前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を示す第１アドレス束に基づいて、当該通信端末と前記相手側端末との間のネットワーク上の位置関係を認識する認識手段と、前記認識手段により認識された当該通信端末と前記相手側端末との間のネットワーク上の位置関係に基づいて、前記取得手段により取得される前記第２アドレス束から前記相手側端末との間の通信に使用するホストアドレスを決定する決定手段とを備える。
【００２０】
本発明の通信端末に係る実施形態によれば、相手側端末のホスト名をデータの送信先に指定することで、相手側端末と通信（例えば、データの送信）を行うことができる。尚、相手側端末は、通信端末が属するネットワーク網と同一のネットワーク網に属していてもよい。或いは、相手側端末は、通信端末が属するネットワーク網とルータを介して直接的に接続されるネットワーク網（つまり、通信端末が属するネットワーク網との間に１つのルータが介在するネットワーク網）に属していてもよい。或いは、相手側端末は、通信端末が属するネットワーク網とルータを介して間接的に接続されるネットワーク網（つまり、通信端末が属するネットワーク網との間に複数のルータが介在する又は更に他のネットワーク網が介在するネットワーク網）に属していてもよい。
【００２１】
本実施形態に係る通信端末は特に、相手側端末との通信を行うために、取得手段と、認識手段と、決定手段とを備えている。
【００２２】
取得手段は、アドレス解決サーバに対して相手側端末のホスト名を提示することで、アドレス解決サーバより、相手側端末のホスト名に対応する第２アドレス束を取得する。ここに、本実施形態に係る「アドレス解決サーバ」とは、ホスト名をアドレス束に変換するサーバを示す趣旨である。このようなアドレス解決サーバにより、通信端末（或いは、通信端末のユーザ）は、相手側端末のホストアドレス等を事前に認識する必要はなくなる。また、本実施形態に係る「アドレス束」とは、アドレス解決サーバが属するグローバルネットワーク網から端末（つまり、通信端末ないしは相手側端末）に至るまでの間のネットワーク経路を示す情報を意味する広い趣旨であって、ネットワーク経路を特定することができる限りはどのような情報であってもよい。典型的には、「アドレス束」は、アドレス解決サーバが属するグローバルネットワーク網から端末（つまり、通信端末ないしは相手側端末）に至るまでの間のネットワーク経路に存在する各種機器及び各種端末等のアドレス（例えば、ＩＰアドレス等のホストアドレスや、ＭＡＣアドレス等の機器アドレス）を一群として含むアドレス束である。
【００２３】
認識手段は、取得手段により取得される第２アドレス束及びアドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を示す第１アドレス束の夫々に基づいて、通信端末と相手側端末との間のネットワーク上の位置関係を認識する。具体的には、例えば、認識手段は、通信端末が属するネットワーク網と相手側端末が属するネットワーク網の位置関係等を認識する。
【００２４】
尚、認識手段の動作に用いられる第１アドレス束は、上述した取得手段の動作によりアドレス解決サーバから取得されてもよい。或いは、後述する調査手段の動作（つまり、通信端末自身の動作）により取得されてもよい。或いは、その他の何らかの手段により取得されてもよい。
【００２５】
決定手段は、認識手段により認識された通信端末と相手側端末との間のネットワーク上の位置関係に基づいて、相手側端末との間の通信に使用するホストアドレス（つまり、データの送信先となるホストアドレス）を決定する。具体的には、例えば、通信端末と相手側端末とが同一のネットワーク網に属していると認識手段により認識されている場合には、相手側端末のホストアドレスをそのまま用いて相手側端末と通信を行うことができると考えられる。このため、この場合には、決定手段は、相手側端末のホストアドレスを、相手側端末との間の通信に使用するホストアドレスとして決定する。或いは、通信端末と相手側端末とが異なるネットワーク網に属していると認識手段により認識されている場合には、相手側端末のホストアドレスを用いるだけでは、相手側端末と通信を行うことができないと考えられる。このため、この場合には、決定手段は、相手側端末が属するネットワーク網に位置するルータの上位側ホストアドレス（例えば、ＷＡＮ側ホストアドレス）を、相手側端末との間の通信に使用するホストアドレスとして決定する。或いは、通信端末と相手側端末とがその他の位置関係にある場合であっても、決定手段は、当該位置関係に応じて、相手側端末との間の通信を好適に行うことができるホストアドレスを決定することができる。
【００２６】
これにより、相手側端末がどのようなネットワーク網に属している場合であっても（言い換えれば、通信端末と相手側端末とがどのような位置関係にある場合であっても）、通信端末は、相手側端末との通信に必要なホストアドレスを好適に特定することができる。その結果、通信端末は、相手側端末との間の通信を好適に行うことができる。
【００２７】
加えて、本実施形態によれば、アドレス解決サーバに対して上述した動作を行うためのソフトウェアを組み込むと共に、端末（つまり、通信端末や相手側端末）に対して上述した動作を行うためのソフトウェアを組み込めば、上述した動作を行うことができる。従って、既存のネットワークに対して、新たなハードウェアを導入する必要がないという実践上大変有利な効果を享受することができる。つまり、上述した動作を行う通信端末（更には、アドレス解決サーバ）を低コストで導入することができるという実践上大変有利な効果を享受することができる。
【００２８】
＜２＞
本発明の通信端末に係る実施形態の一の態様では、前記第１アドレス束は、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路に存在するルータの上位側ホストアドレス及び当該通信端末のホストアドレスを、前記ネットワーク経路順に含み、前記第２アドレス束は、前記アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路に存在するルータの上位側ホストアドレス及び前記相手側端末のホストアドレスを、前記ネットワーク経路順に含み、前記認識手段は、前記第１アドレス束に含まれるホストアドレスと前記第２アドレス束に含まれるホストアドレスとを、前記ネットワーク経路の上位側から下位側に向けて順番に比較することで、当該通信端末と前記相手側端末との間のネットワーク上の位置関係を認識する。
【００２９】
この態様によれば、第１アドレス束には、アドレス解決サーバが属するグローバルネットワーク網から通信端末に至るまでの間のネットワーク経路に存在するルータの上位側ホストアドレス及び通信端末のホストアドレスが、アドレス解決サーバに近い側から順に又はアドレス解決サーバから遠い側から順に配列されたアドレス束が含まれている。同様に、第２アドレス束には、アドレス解決サーバが属するグローバルネットワーク網から相手側端末に至るまでの間のネットワーク経路に存在するルータの上位側ホストアドレス及び相手側端末のホストアドレスが、アドレス解決サーバに近い側から順に又はアドレス解決サーバから遠い側から順に配列されたアドレス束が含まれている。つまり、各アドレス束には、ネットワーク網の階層構造に対応する形式でアドレスが含まれている。その結果、第１アドレス束に含まれるルータの上位側ホストアドレスと第２アドレス束に含まれるルータの上位側ホストアドレスを比較したり、或いは通信端末のホストアドレスと相手側端末のホストアドレスとを比較したりすることで、認識手段は、通信端末と相手側端末との間のネットワーク上の位置関係を好適に認識することができる。特に、認識手段は、通信端末と相手側端末とが、どの程度の階層まで同一のネットワーク網に属しているかを好適に認識することができる。
【００３０】
＜３＞
上述の如く第１アドレス束に含まれるホストアドレスと第２アドレス束に含まれるホストアドレスとを、ネットワーク経路の上位側から下位側に向けて順番に比較する通信端末の態様では、前記認識手段は、前記第１アドレス束に含まれるホストアドレスのうちの所定階層のホストアドレスと前記第２アドレス束に含まれるホストアドレスのうちの前記所定階層のホストアドレスとが同一である場合には、前記第１アドレス束に含まれるホストアドレスのうちの前記所定階層の次の階層のホストアドレスと前記第２アドレス束に含まれるホストアドレスのうちの前記所定階層の次の階層のホストアドレスとを比較するように構成してもよい。
【００３１】
このように構成すれば、認識手段は、通信端末と相手側端末とが、どの程度の階層まで同一のネットワーク網に属しているかを好適に認識することができる。具体的には、例えば、同一階層のホストアドレス（例えば、ルータの上位側ホストアドレス）が同一であれば、認識手段は、その階層までは通信端末と相手側端末とが同一のネットワーク網に属していると認識することができる。従って、この場合は、認識手段は、更に次の階層（下の階層ないしはアドレス解決サーバから遠ざかる方向の階層）のホストアドレスの比較を行う。他方で、同一階層のホストアドレスが異なっていれば、認識手段は、その階層から、通信端末と相手側端末とが異なるネットワーク網に属することになると認識することができる。つまり、認識手段は、その階層から、通信端末の上位側に位置するルータと相手側端末の上位側に位置するルータとが異なるネットワーク網に属することになると認識することができる。従って、この場合は、相手側端末の上位側に位置するルータの上位側ホストアドレスを、相手側端末との間の通信に用いるアドレスとして決定すれば、相手側端末と好適に通信することができる。
【００３２】
＜４＞
上述の如く第１アドレス束に含まれるホストアドレスと第２アドレス束に含まれるホストアドレスとを、ネットワーク経路の上位側から下位側に向けて順番に比較する通信端末の態様では、前記決定手段は、前記第１アドレス束に含まれるホストアドレスのうちの所定階層のホストアドレスと前記第２アドレス束に含まれるホストアドレスのうちの前記所定階層のホストアドレスとが異なる場合には、前記第２アドレス束に含まれるホストアドレスのうちの前記所定階層のホストアドレスを、前記相手側端末との間の通信に使用するホストアドレスとして決定するように構成してもよい。
【００３３】
このように構成すれば、同一階層のホストアドレスが異なっていれば、認識手段は、その階層から、通信端末と相手側端末とが異なるネットワーク網に属することになると認識することができる。つまり、認識手段は、その階層から、通信端末の上位側に位置するルータと相手側端末の上位側に位置するルータとが異なるネットワーク網に属することになると認識することができる。従って、相手側端末の上位側に位置するルータの上位側ホストアドレスを、相手側端末との間の通信に用いるアドレスとして決定すれば、相手側端末と好適に通信することができる。
【００３４】
＜５＞
本発明の通信端末に係る実施形態の他の態様では、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を調査する調査手段と、前記調査手段による調査結果に基づいて、前記第１アドレス束を前記アドレス解決サーバに登録する登録手段を更に備える。
【００３５】
この態様によれば、通信端末自身によって調査されたアドレス束をアドレス解決サーバに登録することができる。このため、アドレス束を用いた上述の動作を好適に行うことができる。
【００３６】
＜６＞
上述の如く調査手段及び登録手段を備える通信端末の態様では、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路に存在するルータがＵＰｎＰ（Universal Plug and Play）対応ルータである場合には、前記調査手段は、当該通信端末に最も近い側に位置する前記ルータである第１ルータの下位側ホストアドレスにＵＰｎＰコマンドを用いることで、前記第１ルータの上位側ホストアドレスを取得することで、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を調査し、前記登録手段は、前記調査手段により取得される、前記第１ルータの上位側ホストアドレス及び前記第１ルータが属するネットワーク網上における当該通信端末のホストアドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として前記アドレス解決サーバに登録するように構成してもよい。
【００３７】
このように構成すれば、後に具体例を参照しながら詳述するように、通信端末自身が好適にアドレス束を調査することができる。その結果、通信端末自身によって調査されたアドレス束をアドレス解決サーバに登録することができる。このため、アドレス束を用いた上述の動作を好適に行うことができる。
【００３８】
＜７＞
上述の如く調査手段がＵＰｎＰコマンドを用いることで第１ルータの上位側ホストアドレスを取得する通信端末の態様では、前記第１ルータの上位側のネットワーク網に属する前記ルータである第２ルータが存在する場合には、前記調査手段は、先に、(i)前記第１ルータの動作モードをブリッジモードに切り替えると共に、前記第２ルータより前記第２ルータが属するネットワーク網上における当該通信端末自身のホストアドレスをＤＨＣＰ（Dynamic Host Configuration Protocol）サーバより取得し、(iii)前記第２ルータの下位側ホストアドレスにＵＰｎＰコマンドを用いて、前記第２ルータの上位側ホストアドレスを取得し、(iii)前記第１ルータをルータモードに切り替えると共に、前記第１ルータより前記第１ルータが属するネットワーク網上における当該通信端末自身のホストアドレスを、上記(i)の状態の前の状態に戻し、(iv)前記第１ルータの下位側ホストアドレスにＵＰｎＰコマンドを用いて、前記第１ルータの上位側ホストアドレスを取得することで、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を調査し、前記登録手段は、前記調査手段により取得される前記第２ルータの上位側ホストアドレスを更に含むアドレス束を、前記第１アドレス束として前記アドレス解決サーバに登録するように構成してもよい。
【００３９】
このように構成すれば、後に具体例を参照しながら詳述するように、アドレス解決サーバが属するグローバルネットワーク網と通信端末との間のネットワーク経路に複数のルータが存在する場合にも、通信端末自身が好適にアドレス束を調査することができる。その結果、通信端末自身によって調査されたアドレス束をアドレス解決サーバに登録することができる。このため、アドレス束を用いた上述の動作を好適に行うことができる。
【００４０】
＜８＞
上述の如く調査手段及び登録手段を備える通信端末の態様では、前記調査手段は、前記アドレス解決サーバが属するグローバルネットワーク網に属すると共に当該通信端末に至るまでの間のネットワーク経路を調査するアドレス調査サーバに対して、当該アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路に存在する前記ルータの上位側ホストアドレスを要求することで、前記アドレス解決サーバが属するグローバルネットワーク網から当該通信端末に至るまでの間のネットワーク経路を調査し、前記登録手段は、前記アドレス調査サーバから取得した前記上位側ホストアドレス及び当該通信端末のホストアドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として登録するように構成してもよい。
【００４１】
このように構成すれば、後に具体例を参照しながら詳述するように、外部のアドレス調査サーバの動作によって取得されたルータの上位側ホストアドレス等を含むアドレス束をアドレス解決サーバに登録することができる。このため、アドレス束を用いた上述の動作を好適に行うことができる。
【００４２】
＜９＞
上述の如く調査手段及び登録手段を備える通信端末の態様では、前記登録手段は、前記ルータの下位側ホストアドレス及び当該通信端末のホストアドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として登録する。
【００４３】
このように構成すれば、ルータの上位側ホストアドレスに加えて又は代えてルータの下位側ホストアドレス（例えば、ＬＡＮ側ホストアドレス）を含むアドレス束を登録しても、上述した動作を相応に行うことができる。
【００４４】
＜１０＞
上述の如く調査手段及び登録手段を備える通信端末の態様では、前記登録手段は、前記ルータの下位側ホストアドレス、当該通信端末のホストアドレス及び当該通信端末に固有の機器アドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として登録するように構成してもよい。
【００４５】
このように構成すれば、通信端末に固有の機器アドレス（例えば、ＭＡＣアドレス）を含むアドレス束を登録しても、上述した動作を相応に行うことができる。
【００４６】
＜１１＞
上述の如く調査手段及び登録手段を備える通信端末の態様では、前記調査手段は、前記ルータの上位側に位置する他の通信端末に対して、前記ルータの上位側ホストアドレスを取得するよう要求し、前記登録手段は、前記他の通信端末から取得した前記上位側ホストアドレス及び当該通信端末のホストアドレスを前記ネットワーク経路順に含むアドレス束を、前記第１アドレス束として登録するように構成してもよい。
【００４７】
このように構成すれば、後に具体例を参照しながら詳述するように、外部の他の通信端末の動作によって取得されたルータの上位側ホストアドレス等を含むアドレス束をアドレス解決サーバに登録することができる。このため、アドレス束を用いた上述の動作を好適に行うことができる。
【００４８】
＜１２＞
本発明の通信端末の他の態様では、前記取得手段は、前記アドレス解決サーバより、前記第１アドレス束を前記制御情報として取得する。
【００４９】
この態様によれば、アドレス解決サーバより第１アドレス束を取得することができるため、第１アドレス束を比較的容易に取得することができる。
【００５０】
＜１３＞
本発明の通信端末の他の態様では、当該通信端末が属するネットワーク網よりも下位側のネットワーク網に属する他の通信端末からの要求に応じて、前記他の通信端末との間に介在するルータの上位側アドレスを取得すると共に、当該取得した上位側アドレスを前記他の通信端末に対して通知する通知手段を更に備える。
【００５１】
この態様によれば、後に具体例を参照しながら詳述するように、自身が取得したルータの上位側ホストアドレス等を含むアドレス束を、他の通信端末に対応するアドレス束としてアドレス解決サーバに登録することができる。このため、アドレス束を用いた上述の動作を好適に行うことができる。
【００５２】
＜１４＞
（アドレス解決サーバの実施形態）
本発明のアドレス解決サーバに係る実施形態は、通信端末が、前記通信端末が属するネットワーク網と同一のネットワーク網に属する又は前記通信端末が属するネットワーク網とルータを介して相互に接続されるネットワーク網に属する相手側端末と、前記相手側端末に固有のホスト名を用いて通信を行うために必要な制御情報を送信するアドレス解決サーバであって、当該アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路を示すアドレス束を格納する格納手段と、前記相手側端末の前記ホスト名を提示した前記通信端末からのアドレス解決要求に応じて、前記アドレス束を前記制御情報として前記通信端末へ送信する送信手段とを備える。
【００５３】
本発明のアドレス解決サーバに係る実施形態によれば、格納手段に格納されているアドレス束（つまり、相手側端末に対応するアドレス束）を、相手側端末との通信を行おうとしている通信端末に対して送信することができる。従って、通信端末は、上述したように、相手側端末との間の通信に使用するホストアドレスを決定することができる。その結果、上述した各種効果を好適に享受することができる。
【００５４】
尚、上述した本発明の通信端末に係る実施形態における各種態様に対応して、本発明のアドレス解決サーバに係る実施形態も各種態様を採ることが可能である。
【００５５】
＜１５＞
本発明のアドレス解決サーバの他の態様では、前記アドレス束は、当該アドレス解決サーバが属するグローバルネットワーク網から前記相手側端末に至るまでの間のネットワーク経路に存在する前記ルータの上位側ホストアドレス若しくは下位側ホストアドレス及び前記相手側端末のホストアドレスを、前記ネットワーク経路順に含む。
【００５６】
この態様によれば、通信端末は、第１アドレス束に含まれるルータの上位側ホストアドレス（例えば、ＷＡＮ側ホストアドレス）と第２アドレス束に含まれるルータの上位側ホストアドレス（例えば、ＷＡＮ側ホストアドレス）を比較したり、或いは通信端末のホストアドレスと相手側端末のホストアドレスとを比較したりすることで、通信端末と相手側端末との間のネットワーク上の位置関係を好適に認識することができる。
【００５７】
＜１６＞
（コンピュータプログラムの実施形態）
本発明のコンピュータプログラムに係る第１実施形態は、上述した本発明の通信端末に係る実施形態（但し、その各種態様を含む）に備えられたコンピュータを制御するコンピュータプログラムであって、該コンピュータを、前記取得手段、前記認識手段及び前記決定手段として機能させる。
【００５８】
本発明のコンピュータプログラムに係る第１実施形態によれば、当該コンピュータプログラムを格納するＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク等の記録媒体から、当該コンピュータプログラムをコンピュータに読み込んで実行させれば、或いは、当該コンピュータプログラムを、通信手段を介してコンピュータにダウンロードさせた後に実行させれば、上述した本発明の通信端末に係る実施形態を比較的簡単に実現できる。
【００５９】
尚、上述した本発明の通信端末に係る実施形態における各種態様に対応して、本発明のコンピュータプログラムに係る第１実施形態も各種態様を採ることが可能である。
【００６０】
＜１７＞
本発明のコンピュータプログラムに係る第２実施形態は、上述した本発明のアドレス解決サーバに係る実施形態（但し、その各種態様を含む）に備えられたコンピュータを制御するコンピュータプログラムであって、該コンピュータを、前記格納手段及び前記送信手段として機能させる。
【００６１】
本発明のコンピュータプログラムに係る第２実施形態によれば、当該コンピュータプログラムを格納するＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク等の記録媒体から、当該コンピュータプログラムをコンピュータに読み込んで実行させれば、或いは、当該コンピュータプログラムを、通信手段を介してコンピュータにダウンロードさせた後に実行させれば、上述した本発明のアドレス解決サーバに係る実施形態を比較的簡単に実現できる。
【００６２】
尚、上述した本発明のアドレス解決サーバに係る実施形態における各種態様に対応して、本発明のコンピュータプログラムに係る第２実施形態も各種態様を採ることが可能である。
【００６３】
（コンピュータプログラム製品の実施形態）
本発明のコンピュータプログラム製品に係る第１実施形態は、上述した本発明の通信端末に係る実施形態（但し、その各種態様を含む）に備えられたコンピュータにより実行可能なプログラム命令を明白に具現化し、該コンピュータを、前記取得手段、前記認識手段及び前記決定手段として機能させる。
【００６４】
本発明のコンピュータプログラム製品に係る第１実施形態によれば、当該コンピュータプログラム製品を格納するＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク等の記録媒体から、当該コンピュータプログラム製品をコンピュータに読み込めば、或いは、例えば伝送波である当該コンピュータプログラム製品を、通信手段を介してコンピュータにダウンロードすれば、上述した本発明の通信端末に係る実施形態を比較的容易に実施可能となる。更に具体的には、当該コンピュータプログラム製品は、上述した本発明の通信端末に係る実施形態として機能させるコンピュータ読取可能なコード（或いはコンピュータ読取可能な命令）から構成されてよい。
【００６５】
尚、上述した本発明の通信端末に係る実施形態における各種態様に対応して、本発明のコンピュータプログラム製品に係る第１実施形態も各種態様を採ることが可能である。
【００６６】
本発明のコンピュータプログラム製品に係る第２実施形態は、上述した本発明のアドレス解決サーバに係る実施形態（但し、その各種態様を含む）に備えられたコンピュータにより実行可能なプログラム命令を明白に具現化し、該コンピュータを、前記格納手段及び前記送信手段として機能させる。
【００６７】
本発明のコンピュータプログラム製品に係る第２実施形態によれば、当該コンピュータプログラム製品を格納するＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク等の記録媒体から、当該コンピュータプログラム製品をコンピュータに読み込めば、或いは、例えば伝送波である当該コンピュータプログラム製品を、通信手段を介してコンピュータにダウンロードすれば、上述した本発明のアドレス解決サーバに係る実施形態を比較的容易に実施可能となる。更に具体的には、当該コンピュータプログラム製品は、上述した本発明のアドレス解決サーバに係る実施形態として機能させるコンピュータ読取可能なコード（或いはコンピュータ読取可能な命令）から構成されてよい。
【００６８】
尚、上述した本発明のアドレス解決サーバに係る実施形態における各種態様に対応して、本発明のコンピュータプログラム製品に係る第２実施形態も各種態様を採ることが可能である。
【００６９】
本実施形態のこのような作用及び他の利得は次に説明する実施例から更に明らかにされよう。
【００７０】
以上説明したように、本発明の再生装置に係る実施形態によれば、取得手段と、認識手段と、決定手段とを備える。本発明のアドレス解決サーバに係る実施形態によれば、格納手段と、送信手段とを備える。本発明のコンピュータプログラムに係る第１実施形態によれば、コンピュータを本発明の通信端末に係る実施形態として機能させる。本発明のコンピュータプログラムに係る第２実施形態によれば、コンピュータを本発明のアドレス解決サーバに係る実施形態として機能させる。従って、異なる端末との間の通信を比較的容易に且つ相対的に低コストで行うことができる。
【実施例】
【００７１】
以下、本発明の実施例を図面に基づいて説明する。【００７２】
（１）基本構成
初めに、図１から図４を参照して、本実施例に係る通信システム１の基本構成について説明する。【００７３】
（１−１）全体構成
初めに、図１を参照して、本実施例に係る通信システム１の全体構成について説明する。ここに、図１は、本実施例に係る通信システム１の全体構成を概念的に示すブロック図である。【００７４】
図１に示すように、本実施例に係る通信システム１は、データの送受信を行う複数の通信端末１００（具体的には、通信端末１００ａ、通信端末１００ｂ、通信端末１００ｃ、通信端末１００ｄ及び通信端末１００ｅ）と、通信端末１００からのアドレス解決要求に応じてホスト名をアドレス束２２１に変換すると共に該アドレス束２２１を通信端末１００に送信するアドレス解決サーバ２００と、異なるネットワークを接続する複数のＮＡＴルータ３００（具体的には、ＮＡＴルータ３００ａ、ＮＡＴルータ３００ｂ及びＮＡＴルータ３００ｃ）とを備えている。【００７５】
また、これらの機器は、グローバルネットワーク４０１やローカルネットワーク４０２（具体的には、ローカルネットワーク４０２ａ、ローカルネットワーク４０２ｂ及びローカルネットワーク４０２ｃ）を構成している。尚、グローバルネットワーク４０１やローカルネットワーク４０２は、有線或いは無線のいずれの形態を採ってもよいし、その一部を有線とし、他の一部を無線としてもよい。更に、専用回線であってもよいし、一般公衆回線或いは電話回線等であってもよいし、パケット網であってもよいし、回線交換網であってもよい。つまりは、グローバルネットワーク４０１やローカルネットワーク４０２は、データの送受信が可能なネットワークであればどのようなネットワークであってもよい。【００７６】
グローバルネットワーク４０１には、グローバルＩＰアドレスが「９８．７６．５４．３２」であり且つホスト名が「Ａ」である通信端末１００ａと、アドレス解決サーバ２００とが接続されている。また、グローバルネットワーク４０１には、ＷＡＮ側のグローバルＩＰアドレスが「１２３．４５．６７．８９」であるＮＡＴルータ３００ａが、ＷＡＮ側のネットワークポートを介して接続されている。【００７７】
ローカルネットワーク４０２ａには、ローカルＩＰアドレスが「１９２．１６８．０．３」であり且つホスト名が「Ｂ」である通信端末１００ｂが接続されている。また、ローカルネットワーク４０２ａには、ＬＡＮ側のローカルＩＰアドレスが「１９２．１６８．０．１」であるＮＡＴルータ３００ａが、ＬＡＮ側のネットワークポートを介して接続されている。また、ローカルネットワーク４０２ａには、ＷＡＮ側のローカルＩＰアドレスが「１９２．１６８．０．２」であるＮＡＴルータ３００ｂが、ＷＡＮ側のネットワークポートを介して接続されている。また、ローカルネットワーク４０２ａには、ＷＡＮ側のローカルＩＰアドレスが「１９２．１６８．０．９」であるＮＡＴルータ３００ｃが、ＷＡＮ側のネットワークポートを介して接続されている。【００７８】
ローカルネットワーク４０２ｂには、ローカルＩＰアドレスが「１９２．１６８．１．９９」であり且つホスト名が「Ｃ」である通信端末１００ｃと、ローカルＩＰアドレスが「１９２．１６８．１．１」であり且つホスト名が「Ｄ」である通信端末１００ｄとが接続されている。また、ローカルネットワーク４０２ｂには、ＬＡＮ側のローカルＩＰアドレスが「１９２．１６８．１．１」であるＮＡＴルータ３００ｂが、ＬＡＮ側のネットワークポートを介して接続されている。【００７９】
ローカルネットワーク４０２ｃには、ローカルＩＰアドレスが「１９２．１６８．１．１００」であり且つホスト名が「Ｅ」である通信端末１００ｅが接続されている。また、ローカルネットワーク４０２ｃには、ＬＡＮ側のローカルＩＰアドレスが「１９２．１６８．１．１」であるＮＡＴルータ３００ｃが、ＬＡＮ側のネットワークポートを介して接続されている。【００８０】
尚、このような通信システム１の一例として、マンション等の集合住宅に設けられる通信システムが一例としてあげられる。この場合、例えば、グローバルネットワーク４０１がインターネットに相当し、ローカルネットワーク４０２ａがマンション全体のローカルネットワークに相当し、且つローカルネットワーク４０２ｂ及び４０２ｃの夫々がマンション内の各部屋のローカルネットワークに相当する。【００８１】
（１−２）通信端末の基本構成
続いて、図２を参照して、本実施例に係る通信システム１が備える通信端末１００の基本構成について説明する。ここに、図２は、本実施例に係る通信システム１が備える通信端末１００の基本構成を概念的に示すブロック図である。【００８２】
図２に示すように、通信端末１００は、本発明における「取得手段」の一具体例を構成するアドレス取得部１０１と、本発明における「認識手段」の一具体例を構成するネットワーク構成認識部１０２と、本発明における「決定手段」の一具体例を構成するアドレス決定部１０３と、ＣＰＵ１０４と、メモリ１０５と、通信部１０６とを備えている。【００８３】
アドレス取得部１０１は、通信相手となる通信端末１００のホスト名をアドレス解決サーバ２００に対して提示することで、アドレス解決サーバ２００から、通信相手となる通信端末１００に対応するアドレス束２２１を取得する。尚、アドレス束２２１については、後に詳述する（図４参照）。【００８４】
ネットワーク構成認識部１０２は、アドレス取得部１０１によって取得されたアドレス束２２１に基づいて、通信端末１００自身と通信相手となる通信端末１００とのネットワーク上の位置関係（言い換えれば、通信システム内における位置関係）を調査、認識する。尚、ネットワーク構成認識部１０２の動作の詳細については、後に詳述する（図５や図９等参照）。【００８５】
アドレス決定部１０３は、ネットワーク構成認識部１０２における認識結果に基づいて、通信相手となる通信端末１００との間の通信を行うために使用されるＩＰアドレス（つまり、データの送信先のＩＰアドレス）を決定する。尚、アドレス決定部１０３の動作の詳細については、後に詳述する（図５や図９等参照）。【００８６】
ＣＰＵ１０４は、アドレス取得部１０１、ネットワーク構成認識部１０２、アドレス決定部１０３及び通信部１０６と、バス１１０を介して接続され、各種制御手段に指示を行うことで、通信端末１００全体の制御を行う。通常、ＣＰＵ１０４が動作するためのソフトウェア又はファームウェアは、メモリ１０５に格納されている。【００８７】
メモリ１０５は、通信端末１００におけるデータ処理全般において使用される。具体的には、メモリ１０５は、通信端末１００としての動作を行うためのプログラム（即ち、ファームウェアプログラム）が格納されるＲＯＭ領域と、データが一時に格納される又はファームウェアプログラム等の動作に必要な変数が格納されるＲＡＭ領域などから構成される。【００８８】
通信部１０６は、通信端末１００により行われるグローバルネットワーク４０１やローカルネットワーク４０２を介した通信（例えば、ＨＴＴＰ等による通信）を制御する。【００８９】
（１−３）アドレス解決サーバの基本構成
続いて、図３を参照して、本実施例に係る通信システム１が備えるアドレス解決サーバ２００の基本構成について説明する。ここに、図３は、本実施例に係る通信システム１が備えるアドレス解決サーバ２００の基本構成を概念的に示すブロック図である。【００９０】
図３に示すように、アドレス解決サーバ２００は、本発明における「格納手段」の一具体例を構成するアドレス管理テーブル格納部２０１と、本発明における「送信手段」の一具体例を構成するアドレス送信部２０２と、ＣＰＵ２０３と、メモリ２０４と、通信部２０５とを備えている。【００９１】
アドレス管理テーブル格納部２０１は、通信システム１内に含まれる複数の通信端末１００の夫々に対応するアドレス束２２１を含むアドレス管理テーブル２２０を格納する。このようなアドレス管理テーブル格納部２０１は、典型的には、ハードディスクや半導体メモリ等の記録媒体を含んで構成される。【００９２】
ここで、図４を参照して、アドレス管理テーブル２２０について説明する。ここに、図４は、アドレス管理テーブル２２０を概念的に示すデータ構造図である。【００９３】
図４に示すように、アドレス管理テーブル２２０には、通信システム１内に含まれる複数の通信端末１００の夫々に対応するアドレス束２２１が含まれる。より具体的には、アドレス管理テーブル２２０には、通信端末１００ａに対応するアドレス束２２１と、通信端末１００ｂに対応するアドレス束２２１と、通信端末１００ｃに対応するアドレス束２２１と、通信端末１００ｄに対応するアドレス束２２１と、通信端末１００ｅに対応するアドレス束２２１とが含まれる。【００９４】
アドレス束２２１には、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００に至るまでの間のネットワーク経路を特定することが可能な情報が含まれる。具体的には、例えば、アドレス束２２１は、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００に至るまでの間のネットワーク経路に存在するＮＡＴルータ３００のＷＡＮ側のＩＰアドレス及び通信端末１００のＩＰアドレスが含まれる。【００９５】
より具体的には、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００ａに至るまでの間のネットワーク経路には、アドレス管理サーバ２００と通信端末１００ａが含まれている。このため、通信端末１００ａに対応するアドレス束２２１には、通信端末１００ａのグローバルＩＰアドレスである「９８．７６．５４．３２」が含まれる。また、図４に示す例では、通信端末１００ａに対応するアドレス束２２１には、通信端末１００ａのグローバルＩＰアドレスに加えて、通信端末１００ａが通信に用いるポート番号である「５５５５５」が含まれている。従って、通信端末１００ａに対応するアドレス束２２１は、「９８．７６．５４．３２：５５５５５」というデータ配列を含んでいる。【００９６】
同様に、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００ｂに至るまでの間のネットワーク経路には、アドレス管理サーバ２００とＮＡＴルータ３００ａと通信端末１００ｂが含まれている。このため、通信端末１００ｂに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ｂのローカルＩＰアドレスである「１９２．１６８．０．３」とが含まれる。また、これらのアドレスは、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００ｂに至るまでの間のネットワーク経路の上位側から下位側に向かうように順に配列された状態で、アドレス束２２１に含まれている。つまり、通信端末１００ｂに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ｂのローカルＩＰアドレスである「１９２．１６８．０．３」とが、この順に配列されるように含まれている。また、図４に示す例では、通信端末１００ｂに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスに加えて、ＮＡＴルータ３００ａが通信端末１００ｂに対する通信を転送するときに用いるポート番号である「４００００」が、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスに対応付けられるように含まれている。同様に、通信端末１００ｂに対応するアドレス束２２１には、通信端末１００ｂのローカルＩＰアドレスに加えて、通信端末１００ｂが通信に用いるポート番号である「５４３２１」が、通信端末１００ｂのローカルＩＰアドレスに対応付けられるように含まれている。従って、通信端末１００ｂに対応するアドレス束２２１は、「１２３．４５．６７．８９：４００００−１９２．１６８．０．３：５４３２１」というデータ配列を含んでいる。【００９７】
同様に、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００ｃに至るまでの間のネットワーク経路には、アドレス管理サーバ２００とＮＡＴルータ３００ａとＮＡＴルータ３００ｂ通信端末１００ｃが含まれている。このため、通信端末１００ｃに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」とＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｃのローカルＩＰアドレスである「１９２．１６８．１．９９」とが含まれる。また、これらのアドレスは、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００ｃに至るまでの間のネットワーク経路の上位側から下位側に向かうように順に配列された状態で、アドレス束２２１に含まれている。つまり、通信端末１００ｂに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」とＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｃのローカルＩＰアドレスである「１９２．１６８．１．９９」とが、この順に配列されるように含まれている。また、図４に示す例では、通信端末１００ｃに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスに加えて、ＮＡＴルータ３００ａが通信端末１００ｃに対する通信を転送するときに用いるポート番号である「４０００１」が、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスに対応付けられるように含まれている。同様に、通信端末１００ｃに対応するアドレス束２２１には、ＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスに加えて、ＮＡＴルータ３００ｂが通信端末１００ｃに対する通信を転送するときに用いるポート番号である「４４４４４」が、ＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスに対応付けられるように含まれている。同様に、通信端末１００ｃに対応するアドレス束２２１には、通信端末１００ｃのローカルＩＰアドレスに加えて、通信端末１００ｃが通信に用いるポート番号である「５４３２１」が、通信端末１００ｃのローカルＩＰアドレスに対応付けられるように含まれている。従って、通信端末１００ｃに対応するアドレス束２２１は、「１２３．４５．６７．８９：４０００１−１９２．１６８．０．２：４４４４４−１９２．１６８．１．９９：５４３２１」というデータ配列を含んでいる。【００９８】
同様に、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００ｄに至るまでの間のネットワーク経路には、アドレス管理サーバ２００とＮＡＴルータ３００ａとＮＡＴルータ３００ｂ通信端末１００ｄが含まれている。このため、通信端末１００ｄに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」とＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｄのローカルＩＰアドレスである「１９２．１６８．１．１００」とが含まれる。また、これらのアドレスは、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００ｄに至るまでの間のネットワーク経路の上位側から下位側に向かうように順に配列された状態で、アドレス束２２１に含まれている。つまり、通信端末１００ｂに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」とＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｄのローカルＩＰアドレスである「１９２．１６８．１．１００」とが、この順に配列されるように含まれている。また、図４に示す例では、通信端末１００ｄに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスに加えて、ＮＡＴルータ３００ａが通信端末１００ｄに対する通信を転送するときに用いるポート番号である「４０００２」が、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスに対応付けられるように含まれている。同様に、通信端末１００ｄに対応するアドレス束２２１には、ＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスに加えて、ＮＡＴルータ３００ｂが通信端末１００ｄに対する通信を転送するときに用いるポート番号である「４４４４５」が、ＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスに対応付けられるように含まれている。同様に、通信端末１００ｄに対応するアドレス束２２１には、通信端末１００ｄのローカルＩＰアドレスに加えて、通信端末１００ｄが通信に用いるポート番号である「５４３２１」が、通信端末１００ｄのローカルＩＰアドレスに対応付けられるように含まれている。従って、通信端末１００ｄに対応するアドレス束２２１は、「１２３．４５．６７．８９：４０００２−１９２．１６８．０．２：４４４４５−１９２．１６８．１．１００：５４３２１」というデータ配列を含んでいる。【００９９】
同様に、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００ｅに至るまでの間のネットワーク経路には、アドレス管理サーバ２００とＮＡＴルータ３００ａとＮＡＴルータ３００ｃ通信端末１００ｅが含まれている。このため、通信端末１００ｅに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」とＮＡＴルータ３００ｃのＷＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．９」と通信端末１００ｅのローカルＩＰアドレスである「１９２．１６８．１．１００」とが含まれる。また、これらのアドレスは、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００ｅに至るまでの間のネットワーク経路の上位側から下位側に向かうように順に配列された状態で、アドレス束２２１に含まれている。つまり、通信端末１００ｂに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」とＮＡＴルータ３００ｃのＷＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．９」と通信端末１００ｅのローカルＩＰアドレスである「１９２．１６８．１．１００」とが、この順に配列されるように含まれている。また、図４に示す例では、通信端末１００ｅに対応するアドレス束２２１には、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスに加えて、ＮＡＴルータ３００ａが通信端末１００ｅに対する通信を転送するときに用いるポート番号である「４０００３」が、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスに対応付けられるように含まれている。同様に、通信端末１００ｅに対応するアドレス束２２１には、ＮＡＴルータ３００ｃのＷＡＮ側のローカルＩＰアドレスに加えて、ＮＡＴルータ３００ｃが通信端末１００ｅに対する通信を転送するときに用いるポート番号である「３３３３３」が、ＮＡＴルータ３００ｃのＷＡＮ側のローカルＩＰアドレスに対応付けられるように含まれている。同様に、通信端末１００ｅに対応するアドレス束２２１には、通信端末１００ｅのローカルＩＰアドレスに加えて、通信端末１００ｅが通信に用いるポート番号である「５４３２１」が、通信端末１００ｅのローカルＩＰアドレスに対応付けられるように含まれている。従って、通信端末１００ｅに対応するアドレス束２２１は、「１２３．４５．６７．８９：４０００２−１９２．１６８．０．９：３３３３３−１９２．１６８．１．１００：５４３２１」というデータ配列を含んでいる。【０１００】
尚、図４に示す例では、アドレス束として、アドレス管理サーバ２００が属するグローバルネットワーク４０１から通信端末１００に至るまでの間のネットワーク経路に存在するＮＡＴルータ３００のＷＡＮ側のＩＰアドレス及び通信端末１００のＩＰアドレス（更には、通信端末１００やＮＡＴルータ３００が通信に用いるポート番号）が含まれているが、後に詳述するように、これらのＩＰアドレスやポート番号に加えて又は代えて、更に他の情報（例えば、後述するＮＡＴルータ３００のＬＡＮ側のＩＰアドレスや、通信端末１００及びＮＡＴルータ３００のＭＡＣアドレス）が含まれていてもよい。【０１０１】
再び図３において、アドレス送信部２０２は、通信端末１００からの要求に応じて、アドレス管理テーブル格納部２０１に格納されているアドレス管理テーブル２２０から所望のアドレス束２２１を抽出すると共に、該抽出されたアドレス束２２１を通信端末１００に対して送信する。【０１０２】
ＣＰＵ２０３は、アドレス管理テーブル格納部２０１、アドレス送信部２０２、及び通信部２０５と、バス２１０を介して接続され、各種制御手段に指示を行うことで、通信端末１００全体の制御を行う。通常、ＣＰＵ２０３が動作するためのソフトウェア又はファームウェアは、メモリ２０４に格納されている。【０１０３】
メモリ２０４は、アドレス管理サーバ２００におけるデータ処理全般において使用される。具体的には、メモリ２０４は、アドレス管理サーバ２００としての動作を行うためのプログラム（即ち、ファームウェアプログラム）が格納されるＲＯＭ領域と、データが一時に格納される又はファームウェアプログラム等の動作に必要な変数が格納されるＲＡＭ領域などから構成される。【０１０４】
通信部２０５は、アドレス管理テーブル２００により行われるグローバルネットワーク４０１やローカルネットワーク４０２を介した通信（例えば、ＨＴＴＰ等による通信）を制御する。【０１０５】
（２）動作例
続いて、図５を参照して、本実施例に係る通信システム１の動作の流れを説明する。ここに、図５は、本実施例に係る通信システム１の動作の流れを概念的に示すフローチャートである。【０１０６】
図５に示すように、まず、データの送信元となる通信端末１００（以降、便宜的に、“送信元通信端末１００”と称する）が備えるアドレス取得部１０１の動作により、送信元通信端末１００に対応するアドレス束２２１及びデータの送信先となる通信端末１００（以降、便宜的に、“送信先通信端末１００”と称する）に対応するアドレス束２２１の夫々が、アドレス解決サーバ２００から取得される（ステップＳ１０１）。このとき、送信元通信端末１００は、送信先通信端末１００のホスト名を提示して、送信先通信端末１００に対応するアドレス束２２１の送信をアドレス解決サーバ２００に対して要求する。その結果、アドレス解決サーバ２００が備えるアドレス送信部２０２は、送信元通信端末１００からの要求に応じて、送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々をアドレス管理テーブル格納部２０１から読み出すと共に、読み出したアドレス束２２１を送信元通信端末１００に対して送信する。【０１０７】
尚、図６や図８等を参照しながら後に詳述するように、送信元通信端末１００に対応するアドレス束２２１については、アドレス調査部１０７（図６参照）やアドレス調査サーバ５００（図８参照）を利用することで、送信元通信端末１００自身が調査することができる。このため、送信元通信端末１００自身が送信元通信端末１００に対応するアドレス束２２１を調査する場合には、図５に示すステップＳ１０１においては、送信元通信端末１００に対応するアドレス束２２１はアドレス解決サーバ２００から取得されなくともよい。言い換えれば、図５に示すステップＳ１０１においては、送信元通信端末１００に対応するアドレス束２２１がアドレス解決サーバ２００から取得されることに代えて、送信元通信端末１００自身が送信元通信端末１００に対応するアドレス束２２１を調査することで送信元通信端末１００に対応するアドレス束２２１を取得されるように構成してもよい。【０１０８】
続いて、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、ステップＳ１０１において取得された送信元通信端末１００に対応するアドレス束２２１の左端のＩＰアドレス（つまり、アドレス解決サーバ２００（或いは、アドレス解決サーバ２００が属するグローバルネットワーク４０１）に最も近い側のＩＰアドレス）と、ステップＳ１０１において取得された送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスとが異なるか否かが判定される（ステップＳ１０２）。【０１０９】
ステップＳ１０２における判定の結果、送信元通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスとが異なると判定された場合には（ステップＳ１０２：Ｙｅｓ）、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスが、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ１０３）。その後、ステップＳ１０３において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が行われる（ステップＳ１０４）。【０１１０】
他方、ステップＳ１０２における判定の結果、送信元通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスとが同一であると判定された場合には（ステップＳ１０２：Ｎｏ）、続いて、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々の中に、更に次段のＩＰアドレスが存在するか否かが判定される（ステップＳ１０５）。つまり、送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々の中に、左端のＩＰアドレスに続くＩＰアドレス（以降、適宜“第２段目のＩＰアドレス”と称する）が存在するか否かが判定される。【０１１１】
ステップＳ１０５における判定の結果、送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々の中に、更に次段のＩＰアドレス（つまり、第２段目のＩＰアドレス）が存在すると判定された場合には（ステップＳ１０５：Ｙｅｓ）、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信元通信端末１００に対応するアドレス束２２１の第２段目のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１の第２段目のＩＰアドレスとが異なるか否かが判定される（ステップＳ１０６）。【０１１２】
ステップＳ１０６における判定の結果、送信元通信端末１００に対応するアドレス束２２１の第２段目のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１の第２段目のＩＰアドレスとが異なると判定された場合には（ステップＳ１０６：Ｙｅｓ）、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１の第２段目のＩＰアドレスが、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ１０３）。その後、ステップＳ１０７において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が行われる（ステップＳ１０４）。【０１１３】
他方、ステップＳ１０６における判定の結果、送信元通信端末１００に対応するアドレス束２２１の第２段目のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１の第２段目のＩＰアドレスとが異なると判定された場合には（ステップＳ１０６：Ｎｏ）、ステップＳ１０５へと戻り、ステップＳ１０６における判定動作の対象となるＩＰアドレスが送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々の中に存在しなくなるまで、ステップＳ１０５及びステップＳ１０６の動作が繰り返される。その結果、送信元通信端末１００に対応するアドレス束２２１の更に次段のＩＰアドレス（つまり、第３段目のＩＰアドレス、第４段目のＩＰアドレス、・・・）と送信先通信端末１００に対応するアドレス束２２１の更に次段のＩＰアドレスとが同一となる場合には、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１の更に次段のＩＰアドレスが、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ１０７）。その後、ステップＳ１０７において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が行われる（ステップＳ１０４）。【０１１４】
他方で、ステップＳ１０５における判定の結果、送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々の中に、更に次段のＩＰアドレスが存在しないと判定された場合には（ステップＳ１０５：Ｎｏ）、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスが、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ１０８）。この動作は、ＮＡＴルータ３００がヘアピン対応ルータである可能性がある場合に行われることが好ましい。【０１１５】
その後、送信元通信端末１００が備えるＣＰＵ１００の制御の下に、ステップＳ１０８において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が可能か否か判定される（ステップＳ１０９）。ＮＡＴルータ３００がヘアピン対応ルータであれば、データの送信は可能である。【０１１６】
ステップＳ１０９の判定の結果、送信元通信端末１００から送信先通信端末１００へとデータの送信が可能であると判定された場合には（ステップＳ１０９：Ｙｅｓ）、そのままデータの送信が継続される（ステップＳ１０４）。他方で、ステップＳ１０９の判定の結果、送信元通信端末１００から送信先通信端末１００へとデータの送信が可能でないと判定された場合には（ステップＳ１０９：Ｎｏ）、データの送信を行うことなく、動作を終了する。【０１１７】
ここで、より明確な説明のために、図１に示す通信システム１に含まれる通信端末１００ｃから、通信端末１００ａ、通信端末１００ｂ、通信端末１００ｄ及び通信端末１００ｅの夫々に対してデータを送信する場合の動作例について説明する。【０１１８】
（２−１）通信端末１００ｃから通信端末１００ａへのデータの送信
通信端末１００ｃから通信端末１００ａへとデータを送信する場合には、通信端末１００ｃは、通信端末１００ａのホスト名である「Ａ」をアドレス解決サーバ２００に提示することで、通信端末１００ｃに対応するアドレス束２２１及び通信端末１００ａに対応するアドレス束２２１の夫々をアドレス解決サーバ２００から取得する。【０１１９】
その後、通信端末１００ｃは、通信端末１００ｃに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ａに対応するアドレス束２２１の左端のＩＰアドレスである「９８．７６．５４．３２」とを比較する。その結果、通信端末１００ｃに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ａに対応するアドレス束２２１の左端のＩＰアドレスである「９８．７６．５４．３２」とが異なるＩＰアドレスであるため、通信端末１００ｃは、通信端末１００ａに対応するアドレス束２２１の左端のＩＰアドレスである「９８．７６．５４．３２」を、通信端末１００ｃが通信端末１００ａとの間の通信を行うために用いられるＩＰアドレスとして決定する。更には、通信端末１００ｃは、通信端末１００ａに対応するアドレス束２２１の左端のＩＰアドレスに対応するポート番号である「５５５５５」を、通信端末１００ｃが通信端末１００ａとの間の通信を行うために用いられる送信先ポート番号として決定する。【０１２０】
その後、通信端末１００ｃは、「９８．７６．５４．３２」というＩＰアドレスを送信先アドレスに設定し且つ「５５５５５」というポート番号を送信先ポート番号に設定した上で、通信端末１００ａに対してデータを送信する。その結果、通信端末１００ｃから送信されたデータは、ＮＡＴ３００ｂ及びＮＡＴ３００ａを介して通信端末１００ａへと到達する。従って、通信端末１００ｃから通信端末１００ａへのデータの送信を好適に行うことができる。【０１２１】
（２−２）通信端末１００ｃと通信端末１００ｂとの間の通信
通信端末１００ｃから通信端末１００ｂへとデータを送信する場合には、通信端末１００ｃは、通信端末１００ｂのホスト名である「Ｂ」をアドレス解決サーバ２００に提示することで、通信端末１００ｃに対応するアドレス束２２１及び通信端末１００ｂに対応するアドレス束２２１の夫々をアドレス解決サーバ２００から取得する。【０１２２】
その後、通信端末１００ｃは、通信端末１００ｃに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ｂに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」とを比較する。その結果、通信端末１００ｃに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ｂに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」とが同一のＩＰアドレスであるため、通信端末１００ｃは、更に次段のＩＰアドレスの比較を行う。具体的には、通信端末１００ｃは、通信端末１００ｃに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｂに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．３」とを比較する。その結果、通信端末１００ｃに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｂに対応するアドレス束２２１の左端のＩＰアドレスである「１９２．１６８．０．３」とが異なるＩＰアドレスであるため、通信端末１００ｃは、通信端末１００ｂに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．３」を、通信端末１００ｃが通信端末１００ｂとの間の通信を行うために用いられるＩＰアドレスとして決定する。更には、通信端末１００ｃは、通信端末１００ｂに対応するアドレス束２２１の第２段目のＩＰアドレスに対応するポート番号である「５４３２１」を、通信端末１００ｃが通信端末１００ｂとの間の通信を行うために用いられる送信先ポート番号として決定する。【０１２３】
その後、通信端末１００ｃは、「１９２．１６８．０．３」というＩＰアドレスを送信先アドレスに設定し且つ「５４３２１」というポート番号を送信先ポート番号に設定した上で、通信端末１００ｂに対してデータを送信する。その結果、通信端末１００ｃから送信されたデータは、ＮＡＴ３００ｂを介して通信端末１００ｂへと到達する。従って、通信端末１００ｃから通信端末１００ｂへのデータの送信を好適に行うことができる。【０１２４】
尚、いわゆる既存のＤＮＳサーバを備える通信システムでは、通信端末１００ｂのホスト名である「Ｂ」をＤＮＳサーバに提示することで得られる通信端末１００ｂのＩＰアドレスは、通信端末１００ｂが属するローカルネットワーク４０２ａとグローバルネットワーク４０１とを直接的に接続するＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」である。この場合、通信端末１００ｃは、「１２３．４５．６７．８９」というＩＰアドレスを送信先アドレスに設定した上で、通信端末１００ｂに対してデータを送信する。しかしながら、このデータは、ＮＡＴルータ３００ａまでは到達するものの、その後にＮＡＴルータ３００ａから通信端末１００ｂには転送されない。従って、既存のＤＮＳサーバを備える通信システムでは、通信端末１００ｃから通信端末１００ｂへとデータを送信するためには、背景技術において説明したように、各ローカルネットワーク４０２にＤＮＳサーバを設けるか又は特別なハードウェアである中継センタを設ける必要がある。【０１２５】
しかしながら、本実施例では、上述したように、各ローカルネットワーク４０２にＤＮＳサーバを設けるか又は特別なハードウェアである中継センタを設けることなく、通信端末１００ｃから通信端末１００ｂへとデータを送信することができる。より具体的には、既存のＤＮＳサーバに対して上述したアドレス管理サーバ２００としての動作を行うためのソフトウェアを組み込むと共に、既存の通信端末に対して上述した通信端末１００としての動作を行うためのソフトウェアを組み込めば、上述した動作を行うことができるため、既存の通信システムに対して新たなハードウェアを導入する必要がないという実践上大変有利な効果を享受することができる。つまり、上述した動作を行う通信端末１００やアドレス解決サーバ２００を低コストで導入することができるという実践上大変有利な効果を享受することができる。【０１２６】
（２−３）通信端末１００ｃと通信端末１００ｄとの間の通信
通信端末１００ｃから通信端末１００ｄへとデータを送信する場合には、通信端末１００ｃは、通信端末１００ｄのホスト名である「Ｄ」をアドレス解決サーバ２００に提示することで、通信端末１００ｃに対応するアドレス束２２１及び通信端末１００ｄに対応するアドレス束２２１の夫々をアドレス解決サーバ２００から取得する。【０１２７】
その後、通信端末１００ｃは、通信端末１００ｃに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ｄに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」とを比較する。その結果、通信端末１００ｃに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ｄに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」とが同一のＩＰアドレスであるため、通信端末１００ｃは、更に次段のＩＰアドレスの比較を行う。具体的には、通信端末１００ｃは、通信端末１００ｃに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｄに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．２」とを比較する。その結果、通信端末１００ｃに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｄに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．２」とが同一のＩＰアドレスであるため、通信端末１００ｃは、更に次段のＩＰアドレスの比較を行う。具体的には、通信端末１００ｃは、通信端末１００ｃに対応するアドレス束２２１の第３段目のＩＰアドレスである「１９２．１６８．１．９９」と通信端末１００ｄに対応するアドレス束２２１の第３段目のＩＰアドレスである「１９２．１６８．１．１００」とを比較する。その結果、通信端末１００ｃに対応するアドレス束２２１の第３段目のＩＰアドレスである「１９２．１６８．１．９９」と通信端末１００ｄに対応するアドレス束２２１の第３段目のＩＰアドレスである「１９２．１６８．１．１００」とが異なるＩＰアドレスであるため、通信端末１００ｃは、通信端末１００ｄに対応するアドレス束２２１の第３段目のＩＰアドレスである「１９２．１６８．１．１００」を、通信端末１００ｃが通信端末１００ｄとの間の通信を行うために用いられるＩＰアドレスとして決定する。更には、通信端末１００ｃは、通信端末１００ｄに対応するアドレス束２２１の第３段目のＩＰアドレスに対応するポート番号である「５４３２１」を、通信端末１００ｃが通信端末１００ｄとの間の通信を行うために用いられる送信先ポート番号として決定する。【０１２８】
その後、通信端末１００ｃは、「１９２．１６８．１．１００」というＩＰアドレスを送信先アドレスに設定し且つ「５４３２１」というポート番号を送信先ポート番号に設定した上で、通信端末１００ｄに対してデータを送信する。その結果、通信端末１００ｃから送信されたデータは、直接通信端末１００ｄへと到達する。【０１２９】
尚、いわゆる既存のＤＮＳサーバを備える通信システムでは、通信端末１００ｄのホスト名である「Ｄ」をＤＮＳサーバに提示することで得られる通信端末１００ｄのＩＰアドレスは、通信端末１００ｄが属するローカルネットワーク４０２ｂとグローバルネットワーク４０１とを間接的に接続するＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」である。この場合、通信端末１００ｃは、「１２３．４５．６７．８９」というＩＰアドレスを送信先アドレスに設定した上で、通信端末１００ｄに対してデータを送信する。しかしながら、このデータは、ＮＡＴルータ３００ａまでは到達するものの、その後にＮＡＴルータ３００ａから通信端末１００ｄには転送されない。しかしながら、本実施例では、上述したように、各ローカルネットワーク４０２にＤＮＳサーバを設けるか又は特別なハードウェアである中継センタを設けることなく、通信端末１００ｃから通信端末１００ｄへとデータを送信することができる。つまり、上述した動作を行う通信端末１００やアドレス解決サーバ２００を低コストで導入することができるという実践上大変有利な効果を享受することができる。【０１３０】
（２−４）通信端末１００ｃと通信端末１００ｅとの間の通信
通信端末１００ｃから通信端末１００ｅへとデータを送信する場合には、通信端末１００ｃは、通信端末１００ｅのホスト名である「Ｅ」をアドレス解決サーバ２００に提示することで、通信端末１００ｃに対応するアドレス束２２１及び通信端末１００ｅに対応するアドレス束２２１の夫々をアドレス解決サーバ２００から取得する。【０１３１】
その後、通信端末１００ｃは、通信端末１００ｃに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ｅに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」とを比較する。その結果、通信端末１００ｃに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」と通信端末１００ｅに対応するアドレス束２２１の左端のＩＰアドレスである「１２３．４５．６７．８９」とが同一のＩＰアドレスであるため、通信端末１００ｃは、更に次段のＩＰアドレスの比較を行う。具体的には、通信端末１００ｃは、通信端末１００ｃに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｅに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．９」とを比較する。その結果、通信端末１００ｃに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．２」と通信端末１００ｅに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．９」とが異なるＩＰアドレスであるため、通信端末１００ｃは、通信端末１００ｅに対応するアドレス束２２１の第２段目のＩＰアドレスである「１９２．１６８．０．９」を、通信端末１００ｃが通信端末１００ｅとの間の通信を行うために用いられるＩＰアドレスとして決定する。更には、通信端末１００ｃは、通信端末１００ｅに対応するアドレス束２２１の第２段目のＩＰアドレスに対応するポート番号である「３３３３３」を、通信端末１００ｃが通信端末１００ｅとの間の通信を行うために用いられる送信先ポート番号として決定する。【０１３２】
その後、通信端末１００ｃは、「１９２．１６８．０．９」というＩＰアドレスを送信先アドレスに設定し且つ「３３３３３」というポート番号を送信先ポート番号に設定した上で、通信端末１００ｅに対してデータを送信する。その結果、通信端末１００ｃから送信されたデータは、ＮＡＴルータ３００ｂ及びＮＡＴルータ３００ｃを介して通信端末１００ｅへと到達する。【０１３３】
尚、いわゆる既存のＤＮＳサーバを備える通信システムでは、通信端末１００ｅのホスト名である「Ｅ」をＤＮＳサーバに提示することで得られる通信端末１００ｅのＩＰアドレスは、通信端末１００ｅが属するローカルネットワーク４０３ｂとグローバルネットワーク４０１とを間接的に接続するＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」である。この場合、通信端末１００ｃは、「１２３．４５．６７．８９」というＩＰアドレスを送信先アドレスに設定した上で、通信端末１００ｅに対してデータを送信する。しかしながら、このデータは、ＮＡＴルータ３００ａまでは到達するものの、その後にＮＡＴルータ３００ａから通信端末１００ｅには転送されない。しかしながら、本実施例では、上述したように、各ローカルネットワーク４０２にＤＮＳサーバを設けるか又は特別なハードウェアである中継センタを設けることなく、通信端末１００ｃから通信端末１００ｅへとデータを送信することができる。つまり、上述した動作を行う通信端末１００やアドレス解決サーバ２００を低コストで導入することができるという実践上大変有利な効果を享受することができる。【０１３４】
（３）アドレス束の調査・登録方法
続いて、図６から図８を参照して、アドレス解決サーバ２００が備えるアドレス管理テーブル格納部２０１に格納されるアドレス束２２１の調査・登録方法について説明する。【０１３５】
（３−１）第１の調査・登録方法
初めに、図６を参照して、アドレス解決サーバ２００が備えるアドレス管理テーブル格納部２０１に格納されるアドレス束２２１の第１の調査・登録方法について説明する。ここに、図６は、アドレス束２２１の第１の調査・登録方法を実行する通信端末１００−１の基本構成を概念的に示すブロック図である。尚、上述した通信端末１００と同一の構成については、同一の参照符号を付してその詳細な説明については省略する。【０１３６】
図６に示すように、通信端末１００−１は、上述した通信端末１００と同様に、アドレス取得部１０１と、ネットワーク構成認識部１０２と、アドレス決定部１０３と、ＣＰＵ１０４と、メモリ１０５と、通信部１０６とを備えている。【０１３７】
通信端末１００−１は特に、アドレス束２２１の第１の調査・登録方法を実行するために、本発明における「調査手段」の一具体例を構成するアドレス調査部１０７と、本発明における「登録手段」の一具体例を構成するアドレス登録部１０８とを備えている。【０１３８】
ここで、第１の調査・登録方法を実行する場合には、通信システム１中に含まれるＮＡＴルータ３００が、ＵＰｎＰ（Universal Plug and Play）対応ルータであるものとする。逆に言えば、通信システム１中に含まれるＮＡＴルータ３００が、ＵＰｎＰ（Universal Plug and Play）対応ルータである場合には、第１の調査・登録方法を実行することで、アドレス束２２１を調査すると共に当該調査の結果得られたアドレス束２２１をアドレス管理テーブル格納部２０１に格納する（つまり、登録する）ことができる。従って、以下では、通信システム１中に含まれるＮＡＴルータ３００が、ＵＰｎＰ（Universal Plug and Play）対応ルータであることを前提として説明を進める。【０１３９】
この場合、アドレス調査部１０７は、以下に示す動作を行う。まず、アドレス調査部１０７は、アドレス解決サーバ２００のＩＰアドレスを引数に設定した「traceroute」コマンドを実行する。その結果、アドレス調査部１０７は、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００−１に至るまでのネットワーク経路に存在するＮＡＴルータ３００のＬＡＮ側のＩＰアドレスを取得することができる。【０１４０】
続いて、アドレス調査部１０７は、ＵＰｎＰにより、通信端末１００−１に最も近い側のＮＡＴルータ３００（以降、通信端末１００−１にｎ番目に近いＮＡＴルータ３００を、適宜“第ｎ段目のＮＡＴルータ３００”と称する）のＷＡＮ側のＩＰアドレスを取得する。また、ＮＡＴルータ３００のＷＡＮ側のＩＰアドレスを取得する際に、ＮＡＴルータ３００の上位側からの要求が当該通信端末１００−１に届くように、ＮＡＴルータ３００の性的ルーティング設定を同時に行ってもよい。【０１４１】
アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００−１に至るまでの間のネットワーク経路に存在するＮＡＴルータ３００が１つだけである場合には、上述の動作によって取得された第１段目のＮＡＴルータ３００のＷＡＮ側のＩＰアドレス及び通信端末１００−１自身のＩＰアドレスが、アドレス登録部１０８の動作により、上述したアドレス束２２１の形式に変換される。その後、アドレス登録部１０８の動作により、アドレス束２２１がアドレス解決サーバ２００へと送信される。その結果、アドレス解決サーバ２００へと送信されたアドレス束２２１は、アドレス管理テーブル２２０の一部としてアドレス管理テーブル格納部２０１に格納される。【０１４２】
一方で、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００−１に至るまでの間のネットワーク経路に存在するＮＡＴルータ３００が複数である場合には、上述した動作に加えて更に以下の動作が継続して行われる。【０１４３】
続いて、アドレス調査部１０７は、第１段目のＮＡＴルータ３００の動作モードをルータモードからブリッジモードへと切り替える。その結果、通信端末１００−１の状態は、第１段目のＮＡＴルータ３００が他のネットワークとの境界となるネットワーク（例えば、ローカルネットワーク）に属していた状態から、第１段目のＮＡＴルータ３００の更に１段上位に位置する第２段目のＮＡＴルータ３００が他のネットワークとの境界となるネットワークに属している状態へと切り替わる。つまり、通信端末１００−１と第１段目のＮＡＴルータ３００とが属していたネットワークは、第２段目のＮＡＴルータ３００が属しているネットワークと統合される。【０１４４】
その後、アドレス調査部１０７は、ＤＨＣＰ（Dynamic Host Configuration Protocol）を用いて、第２段目のＮＡＴルータ３００から、第２段目のＮＡＴルータ３００が属しているネットワークにおけるＩＰアドレスを取得する。これにより、通信端末１００−１は、第２段目のＮＡＴルータ３００が属しているネットワーク内におけるアクセスが可能となる。【０１４５】
続いて、その結果、アドレス調査部１０７は、ＵＰｎＰコマンドにより、第２段目のＮＡＴルータ３００のＷＡＮ側のＩＰアドレスを取得する。また、ＮＡＴルータ３００のＷＡＮ側のＩＰアドレスを取得する際に、ＮＡＴルータ３００の上位側からの要求が当該通信端末１００−１に届くように、ＮＡＴルータ３００の性的ルーティング設定を同時に行ってもよい。【０１４６】
以降、第ｋ（但し、ｋは２以上の整数）段目のＮＡＴルータ３００の更に１段上位の第ｋ＋１段目のＮＡＴルータ３００が存在する場合には、アドレス調査部１０７は、第ｋ段目のＮＡＴルータ３００の動作モードをルータモードからブリッジモードへと切り替え、ＤＨＣＰを用いて、第ｋ＋１段目のＮＡＴルータ３００から、第ｋ＋１段目のＮＡＴルータ３００が属しているネットワークにおけるＩＰアドレスを取得し、ＵＰｎＰコマンドが実行されることで、第ｋ＋１段目のＮＡＴルータ３００のＷＡＮ側のＩＰアドレスを取得する。【０１４７】
他方で、第２段目のＮＡＴルータ３００の更に１段上位の第３段目のＮＡＴルータ３００が存在しない場合には、アドレス調査部１０７は、第１段目のＮＡＴルータ３００の動作モードをブリッジモードからルータモードへと切り替える。同様に、第ｋ（但し、ｋは２以上の整数）段目のＮＡＴルータ３００の更に１段上位の第ｋ＋１段目のＮＡＴルータ３００が存在しない場合には、アドレス調査部１０７は、第ｋ−１段目から第１段目のＮＡＴルータ３００の夫々の動作モードをブリッジモードからルータモードへと切り替える。【０１４８】
続いて、アドレス調査部１０７は、ＤＨＣＰを用いて、第１段目のＮＡＴルータ３００から、第１段目のＮＡＴルータ３００が属しているネットワークにおけるＩＰアドレスを取得する。その後、アドレス調査部１０７は、「ipconfig」コマンドを用いて、通信端末１００−１自身のＩＰアドレスを取得する。【０１４９】
以上のような動作により、アドレス調査部１０７は、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００−１に至るまでのネットワーク経路に存在する一又は複数のＮＡＴルータ３００の夫々のＷＡＮ側のＩＰアドレス及び通信端末１００−１のＩＰアドレスを取得することができる。このように取得された一又は複数のＮＡＴルータ３００の夫々のＷＡＮ側のＩＰアドレス及び通信端末１００−１のＩＰアドレスは、アドレス登録部１０８の動作により、上述したアドレス束２２１の形式に変換される。その後、アドレス登録部１０８の動作により、アドレス束２２１がアドレス解決サーバ２００へと送信される。その結果、アドレス解決サーバ２００へと送信されたアドレス束２２１は、アドレス管理テーブル２２０の一部としてアドレス管理テーブル格納部２０１に格納される。【０１５０】
尚、上述した説明では、通信端末１００−１に近い側に位置するＮＡＴルータ３００から順にＷＡＮ側ＩＰアドレスを取得する例について説明している。しかしながら、通信端末１００−１に遠い側に位置する（言い換えれば、グローバルネットワーク４０１に近い側に位置する）ＮＡＴルータ３００から順にＷＡＮ側ＩＰアドレスを取得するように構成してもよい。【０１５１】
具体的には、通信端末１００−１とグローバルネットワーク４０１との間にｋ個のＮＡＴルータが存在する場合には、以下に示す動作によってｋ個のＮＡＴルータ３００の夫々のＷＡＮ側ＩＰアドレスが取得されてもよい。この場合、まず、アドレス調査部１０７は、アドレス解決サーバ２００のＩＰアドレスを引数に設定した「traceroute」コマンドを実行する。続いて、アドレス調査部１０７は、第１段目のＮＡＴルータ３００から第ｋ−１段目のＮＡＴルータ３００の夫々の動作モードをルータモードからブリッジモードへと切り替える。その後、アドレス調査部１０７は、ＤＨＣＰ（Dynamic Host Configuration Protocol）を用いて、第ｋ段目のＮＡＴルータ３００から、第ｋ段目のＮＡＴルータ３００が属しているネットワークにおけるＩＰアドレスを取得する。その後、アドレス調査部１０７は、ＵＰｎＰコマンドにより、第ｋ段目のＮＡＴルータ３００のＷＡＮ側のＩＰアドレスを取得する。続いて、アドレス調査部１０７は、第ｋ−１段目のＮＡＴルータ３００の動作モードをブリッジモードからルータモードへと切り替える。その後、アドレス調査部１０７は、ＤＨＣＰ（Dynamic Host Configuration Protocol）を用いて、第ｋ−１段目のＮＡＴルータ３００から、第ｋ−１段目のＮＡＴルータ３００が属しているネットワークにおけるＩＰアドレスを取得する。その後、アドレス調査部１０７は、ＵＰｎＰコマンドにより、第ｋ−１段目のＮＡＴルータ３００のＷＡＮ側のＩＰアドレスを取得する。以降、このような動作が第１段目のＮＡＴルータ３００の動作モードがルータモードに切り替えられるまで繰り返される。その結果、アドレス調査部１０７は、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００−１に至るまでのネットワーク経路に存在する一又は複数のＮＡＴルータ３００の夫々のＷＡＮ側のＩＰアドレス及び通信端末１００−１のＩＰアドレスを取得することができる。【０１５２】
尚、上述した各種コマンド（例えば、「traceroute」コマンドや「ipconfig」コマンド）は一例であって、これらのコマンドと同等の機能を実現する他のコマンド（例えば、「tracert」コマンドや「tracepath」コマンド等）を用いてもよい。或いは、これらのコマンドを実行することに代えて、これらのコマンドと同等の機能を実現する固有の処理部を通信端末１００−１に実装してもよい。いずれにせよ、上述した動作を実現する何らかの処理部を利用すれば、アドレス束２２１の調査・登録を好適に行うことができる。【０１５３】
ここで、より明確な説明のために、図１に示す通信システム１に含まれる通信端末１００ｃが図６に示す構成を有すると共に当該通信端末１００ｃ（つまり、１００−１ｃ）がアドレス束２２１を調査・登録する場合の動作例について説明する。【０１５４】
まず、通信端末１００−１ｃが備えるアドレス調査部１０７は、アドレス解決サーバ２００のＩＰアドレスを引数に設定した「traceroute」コマンドを実行する。その結果、アドレス調査部１０７は、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００−１ｃに至るまでのネットワーク経路に存在するＮＡＴルータ３００のＬＡＮ側のＩＰアドレスを取得することができる。つまり、アドレス調査部１０７は、ＮＡＴルータ３００ａのＬＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．１」とＮＡＴルータ３００ｂのＬＡＮ側のローカルＩＰアドレスである「１９２．１６８．１．１」とを取得する。【０１５５】
続いて、アドレス調査部１０７は、ＵＰｎＰコマンドにより、第１段目のＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．２」を取得する。【０１５６】
続いて、アドレス調査部１０７は、第１段目のＮＡＴルータ３００ｂの動作モードをルータモードからブリッジモードへと切り替える。その結果、通信端末１００−１ｃと通信端末１００ｄと第１段目のＮＡＴルータ３００ｂとが属していたローカルネットワーク４０２ｂは、通信端末１００ｂと第２段目のＮＡＴルータ３００ａとが属しているローカルネットワーク４０１と統合される。【０１５７】
その後、アドレス調査部１０７は、ＤＨＣＰを用いて、ローカルネットワーク４０２ａにおけるローカルＩＰアドレスを取得する。続いて、アドレス調査部１０７は、ＵＰｎＰコマンドにより、第２段目のＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」を取得する。【０１５８】
続いて、アドレス調査部１０７は、第１段目のＮＡＴルータ３００ｂの動作モードをブリッジモードからルータモードへと切り替える。その後、アドレス調査部１０７は、ＤＨＣＰを用いて、ローカルネットワーク４０２ｂにおけるローカルＩＰアドレスを取得する。その後、アドレス調査部１０７は、「ipconfig」コマンドを用いて、通信端末１００−１ｃ自身のローカルＩＰアドレスである「１９２．１６８．１．９９」を取得する。【０１５９】
以上のような動作により、通信端末１００−１ｃが備えるアドレス調査部１０７は、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」と、ＮＡＴルータ３００ｂのＷＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．２」と、通信端末１００−１ｃのローカルＩＰアドレスである「１９２．１６８．１．９９」とを取得することができる。その結果、図４に示したアドレス束２２１が生成される。【０１６０】
このように、第１の調査・登録方法によれば、通信端末１００−１自身によってアドレス束２２１を取得することができる。その結果、アドレス束２２１をアドレス解決サーバ２００が備えるアドレス管理テーブル格納部２０１に確実に登録することができる。【０１６１】
（３−２）第２の調査・登録方法
続いて、図７を参照して、アドレス解決サーバ２００が備えるアドレス管理テーブル格納部２０１に格納されるアドレス束２２１の第２の調査・登録方法について説明する。ここに、図７は、第２の調査・登録方法が実行された結果取得されるアドレス束２２１を含むアドレス管理テーブル２２０を概念的に示すデータ構造図である。【０１６２】
既存のネットワーク中に存在するＮＡＴルータ３００は、その全てがＵＰｎＰ対応ルータであるとは限らない。この場合、第１の調査・登録方法によって、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００−１に至るまでのネットワーク経路に存在する一又は複数のＮＡＴルータ３００の夫々のＷＡＮ側のＩＰアドレスの全てを取得することは困難であるとも考えられる。【０１６３】
従って、ＮＡＴルータ３００がＵＰｎＰ非対応ルータを含む場合には、図７（ａ）に示すように、通信端末１００のＭＡＣ（Media Access Control）アドレスをアドレス束２２１に含めるように構成してもよい。或いは、図７（ｂ）に示すように、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスをアドレス束２２１に含めるように構成してもよい。尚、図７（ｂ）では、括弧書きによってＮＡＴルータ３００のＬＡＮ側のＩＰアドレスを括ることで、ＮＡＴルータ３００のＷＡＮ側のＩＰアドレスと区別して表現している。【０１６４】
この場合であって、上述した効果を相応に享受することができる。尚、アドレス束２２１がＭＡＣアドレスやＮＡＴルータ３００のＬＡＮ側のＩＰアドレスを含んでいる場合には、通信端末１００は、図５に示すフローチャートを多少変えたフローに従って動作することが好ましい。この動作については、後に詳述する（図９等参照）。【０１６５】
尚、ＮＡＴルータ３００がＵＰｎＰ対応ルータを含む場合においても、通信端末１００のＭＡＣ（Media Access Control）アドレスやＮＡＴルータ３００のＬＡＮ側のＩＰアドレスをアドレス束２２１に含めるように構成してもよいことは言うまでもない。【０１６６】
（３−３）第３の調査・登録方法
続いて、図８を参照して、アドレス解決サーバ２００が備えるアドレス管理テーブル格納部２０１に格納されるアドレス束２２１の第３の調査・登録方法について説明する。ここに、図８は、第３の調査・登録方法を実行する通信システム２の基本構成を概念的に示すブロック図である。【０１６７】
既存のネットワーク中に存在するＮＡＴルータ３００は、その全てがＵＰｎＰ対応ルータであるとは限らない。この場合、第１の調査・登録方法によって、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００に至るまでのネットワーク経路に存在する一又は複数のＮＡＴルータ３００の夫々のＷＡＮ側のＩＰアドレスの全てを取得することは困難であるとも考えられる。【０１６８】
従って、ＮＡＴルータ３００がＵＰｎＰ非対応ルータを含む場合には、図８に示すように、通信システム２に対して、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００に至るまでのネットワーク経路に存在する一又は複数のＮＡＴルータ３００のうちの最上位のＮＡＴルータ３００（つまり、グローバルネットワーク４０１に属するＮＡＴルータ３００）のＷＡＮ側のＩＰアドレス（言い換えれば、通信端末１００ｃ−１自身のグローバルＩＰアドレス）を取得可能なアドレス調査サーバ５００を、グローバルネットワーク４０１上に（言い換えれば、アドレス解決サーバ２００が属するネットワーク上に）に新たに設けるように構成してもよい。【０１６９】
ここで、より明確な説明のために、図８に示す通信システム２に含まれる通信端末１００ｃが、アドレス調査サーバ５００を利用してアドレス束２２１を取得・登録する場合の動作例について説明する。【０１７０】
まず、通信端末１００−１ｃが備えるアドレス調査部１０７は、アドレス解決サーバ２００のＩＰアドレスを引数に設定した「traceroute」コマンドを実行する。その結果、アドレス調査部１０７は、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００−１ｃに至るまでのネットワーク経路に存在するＮＡＴルータ３００のＬＡＮ側のＩＰアドレスを取得することができる。つまり、アドレス調査部１０７は、ＮＡＴルータ３００ａのＬＡＮ側のローカルＩＰアドレスである「１９２．１６８．０．１」とＮＡＴルータ３００ｂのＬＡＮ側のローカルＩＰアドレスである「１９２．１６８．１．１」とを取得する。【０１７１】
続いて、アドレス調査部１０７は、「ipconfig」コマンドを用いて、通信端末１００−１ｃ自身のローカルＩＰアドレスである「１９２．１６８．１．９９」を取得する。【０１７２】
続いて、アドレス調査部１０７は、アドレス調査サーバ５００に問い合わせを行うことで、通信端末１００ｃ−１自身のグローバルＩＰアドレス（つまり、最上位のＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレス）を取得する。このような要求を受けるため、アドレス調査サーバ５００は、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスを取得することが好ましい。【０１７３】
以上のような動作により、通信端末１００−１ｃが備えるアドレス調査部１０７は、ＮＡＴルータ３００ａのＷＡＮ側のグローバルＩＰアドレスである「１２３．４５．６７．８９」と、ＮＡＴルータ３００ｂのＬＡＮ側のローカルＩＰアドレスである「１９２．１６８．１．１」と、通信端末１００−１ｃのローカルＩＰアドレスである「１９２．１６８．１．９９」とを取得することができる。その結果、図７（ｂ）に示したアドレス束２２１が生成される。【０１７４】
このように、第３の調査・登録方法によれば、アドレス調査サーバ５００を利用してアドレス束２２１を取得することができる。その結果、アドレス束２２１をアドレス解決サーバ２００が備えるアドレス管理テーブル格納部２０１に登録することができる。【０１７５】
尚、図８に示す例では、アドレス調査サーバ５００を独立して設ける例について説明している。しかしながら、アドレス調査サーバ５００を独立して設けることに代えて、アドレス調査サーバ５００と同様の動作を行う機能ブロックを、アドレス解決サーバ２００に追加してもよい。【０１７６】
或いは、通信端末１００に対して、アドレス調査サーバ５００と同様の機能を行う機能ブロックを追加してもよい。この場合、例えばアドレス束２２１を調査・登録しようとしている通信端末１００は、当該通信端末１００以外の他の通信端末１００に問い合わせを行うことで、他の通信端末１００との間に位置するＮＡＴルータ３００のＷＡＮ側のグローバルＩＰアドレス）を取得することができる。【０１７７】
（３−４）第４の調査・登録方法
続いて、アドレス解決サーバ２００が備えるアドレス管理テーブル格納部２０１に格納されるアドレス束２２１の第４の調査・登録方法について説明する。【０１７８】
上述した説明では、通信端末１００自身の動作によって、アドレス束２２１を生成する動作について説明している。しかしながら、一般的なＮＡＴルータ３００では、ＷＥＢブラウザ等を用いたＮＡＴルータ用の設定画面を用いて、ＮＡＴルータ３００のＷＡＮ側のＩＰアドレスをユーザが調べることができる。このため、このようなＮＡＴルータ用の設定画面が存在することを考慮して、通信端末１００のユーザの手によって、アドレス解決サーバ２００が属するグローバルネットワーク４０１から通信端末１００に至るまでのネットワーク経路に存在する一又は複数のＮＡＴルータ３００の夫々のＷＡＮ側のＩＰアドレスを取得するように構成してもよい。【０１７９】
（３−５）ＬＡＮ側アドレスやＭＡＣアドレスを登録した場合の動作例
上述したように、アドレス束２２１がＭＡＣアドレスやＮＡＴルータ３００のＬＡＮ側のＩＰアドレスを含んでいる場合には、通信端末１００は、図５に示すフローチャートとは異なるフローに従って動作することが好ましい。この動作について、図９から図１２を参照して説明を進める。ここに、図９から図１２は、アドレス束２２１がＭＡＣアドレスやＮＡＴルータ３００のＬＡＮ側のＩＰアドレスを含んでいる場合の通信システム１の動作を概念的に示すフローチャートである。尚、図５に示すフローチャートと同様の動作については、同一の参照符号を付してその詳細な説明については省略する。【０１８０】
図９に示すように、まず、送信元通信端末１００が備えるアドレス取得部１０１の動作により、送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々が、アドレス解決サーバ２００から取得される（ステップＳ１０１）。【０１８１】
続いて、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、ステップＳ１０１において取得された送信元通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスと、ステップＳ１０１において取得された送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスとが異なるか否かが判定される（ステップＳ１０２）。【０１８２】
ステップＳ１０２における判定の結果、送信元通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスとが異なると判定された場合には（ステップＳ１０２：Ｙｅｓ）、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスが、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ１０３）。その後、ステップＳ１０３において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が行われる（ステップＳ１０４）。【０１８３】
他方、ステップＳ１０２における判定の結果、送信元通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスとが同一であると判定された場合には（ステップＳ１０２：Ｎｏ）、図１０に示すように、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々の中に、更に次段のＩＰアドレス（以降、適宜“第ｍ（但し、ｍは２以上の整数）段目のＩＰアドレス”と称する）が存在するか否かが判定される（ステップＳ１０５）。【０１８４】
ステップＳ１０５における判定の結果、送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々の中に、第ｍ段目のＩＰアドレスが存在しないと判定された場合には（ステップＳ１０５：Ｎｏ）、図１１に示すように、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１の左端のＩＰアドレスが、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ１０８）。この動作は、ＮＡＴルータ３００がヘアピン対応ルータである可能性がある場合に行われることが好ましい。【０１８５】
その後、送信元通信端末１００が備えるＣＰＵ１００の制御の下に、ステップＳ１０８において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が可能か否か判定される（ステップＳ１０９）。ＮＡＴルータ３００がヘアピン対応ルータであれば、データの送信は可能である。【０１８６】
ステップＳ１０９の判定の結果、送信元通信端末１００から送信先通信端末１００へとデータの送信が可能であると判定された場合には（ステップＳ１０９：Ｙｅｓ）、そのままデータの送信が継続される（ステップＳ１０４）。他方で、ステップＳ１０９の判定の結果、送信元通信端末１００から送信先通信端末１００へとデータの送信が可能でないと判定された場合には（ステップＳ１０９：Ｎｏ）、データの送信を行うことなく、動作を終了する。【０１８７】
再び図１０において、他方で、ステップＳ１０５における判定の結果、送信元通信端末１００に対応するアドレス束２２１及び送信先通信端末１００に対応するアドレス束２２１の夫々の中に、第ｍ段目のＩＰアドレスが存在すると判定された場合には（ステップＳ１０５：Ｙｅｓ）、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレス及び送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスの少なくとも一方が、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスであるか否かが判定される（ステップＳ２０１）。【０１８８】
ステップＳ２０１における判定の結果、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレス及び送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスの少なくとも一方が、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスであると判定された場合には（ステップＳ２０１：Ｙｅｓ）、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスが、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスであるか否かが判定される（ステップＳ２０２）。【０１８９】
ステップＳ２０２における判定の結果、送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスが、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスでないと判定された場合には（ステップＳ２０２：Ｎｏ）、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＩＰアドレス（つまり、送信先通信端末１００のローカルＩＰアドレス）が、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ２０７）。その後、ステップＳ２０７において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が行われる（ステップＳ１０４）。【０１９０】
他方で、ステップＳ２０２における判定の結果、送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスが、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスであると判定された場合には（ステップＳ２０２：Ｙｅｓ）、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレス及び送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスの双方が、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスであるか否かが判定される（ステップＳ２０３）。【０１９１】
ステップＳ２０３における判定の結果、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレス及び送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスの双方が、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスでないと判定された場合には（ステップＳ２０３：Ｎｏ）、図１１のステップＳ１０８、ステップＳ１０９及びステップＳ１０４の動作が行われる。但し、ここでは、送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＩＰアドレスを引数とするＡＲＰ（Address Resolution Protocol）を利用することで送信先通信端末１００のＭＡＣアドレスを取得してもよい。この場合、取得したＭＡＣアドレスが送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＭＡＣアドレスと同一である場合には、図１１のステップＳ１０８、ステップＳ１０９及びステップＳ１０４の動作を行うことに代えて、送信先通信端末１００のＩＰアドレス（つまり、送信先通信端末１００のローカルＩＰアドレス）を送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が行われてもよい（ステップＳ２０７）。【０１９２】
他方で、ステップＳ２０３における判定の結果、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレス及び送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスの双方が、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスであると判定された場合には（ステップＳ２０３：Ｙｅｓ）、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスとが異なるか否かが判定される（ステップＳ２０４）。【０１９３】
ステップＳ２０４における判定の結果、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスとが異なると判定された場合には（ステップＳ２０４：Ｙｅｓ）、図１１のステップＳ１０８、ステップＳ１０９及びステップＳ１０４の動作が行われる。【０１９４】
他方で、ステップＳ２０４における判定の結果、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスとが同一であると判定された場合には（ステップＳ２０４：Ｎｏ）、ステップＳ１０５へ戻り、アドレス束２２１中に含まれる更に次段のＩＰアドレスを対象にして、ステップＳ２０１以降の動作が行われる。【０１９５】
他方で、ステップＳ２０１における判定の結果、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレス及び送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスの双方が、ＮＡＴルータ３００のＬＡＮ側のＩＰアドレスでないと判定された場合には（ステップＳ２０１：Ｙｅｓ）、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスとが異なるネットワークに属するものであるか否かが判定される（ステップＳ２０５）。【０１９６】
ステップＳ２０５における判定の結果、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスとが異なるネットワークに属すると判定された場合には（ステップＳ２０５：Ｙｅｓ）、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＩＰアドレス（つまり、送信先通信端末１００のローカルＩＰアドレス）が、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ２０７）。その後、ステップＳ２０７において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が行われる（ステップＳ１０４）。【０１９７】
他方で、ステップＳ２０５における判定の結果、送信元通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスと送信先通信端末１００に対応するアドレス束２２１中の第ｍ段目のＩＰアドレスとが異なるネットワークに属さないと判定された場合には（ステップＳ２０５：Ｎｏ）、続いて、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、アドレス束２２１の更に前段に（つまり、第ｍ−１段目から第１段目に）、ＮＡＴルータ３００のＬＡＮ側アドレスが含まれているか否かが判定される（ステップＳ２０６）。【０１９８】
ステップＳ２０６における判定の結果、アドレス束２２１の更に前段に（つまり、第ｍ−１段目から第１段目に）、ＮＡＴルータ３００のＬＡＮ側アドレスが含まれていないと判定された場合には（ステップＳ２０６：Ｎｏ）、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＩＰアドレス（つまり、送信先通信端末１００のローカルＩＰアドレス）が、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ２０７）。その後、ステップＳ２０７において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が行われる（ステップＳ１０４）。【０１９９】
他方で、ステップＳ２０６における判定の結果、アドレス束２２１の更に前段に（つまり、第ｍ−１段目から第１段目に）、ＮＡＴルータ３００のＬＡＮ側アドレスが含まれていると判定された場合には（ステップＳ２０６：Ｙｅｓ）、図１２に示すように、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＩＰアドレスを引数とするＡＲＰ（Address Resolution Protocol）を利用することで送信先通信端末１００のＭＡＣアドレスが取得される（ステップＳ２０８）。【０２００】
続いて、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、送信先通信端末１００のＭＡＣアドレスが取得されたか否かが判定される（ステップＳ２０９）。【０２０１】
ステップＳ２０９における判定の結果、送信先通信端末１００のＭＡＣアドレスが取得されなかったと判定された場合には（ステップＳ２０９：Ｎｏ）、図１１のステップＳ１０８、ステップＳ１０９及びステップＳ１０４の動作が行われる。【０２０２】
他方で、ステップＳ２０９における判定の結果、送信先通信端末１００のＭＡＣアドレスが取得されたと判定された場合には（ステップＳ２０９：Ｙｅｓ）、送信元通信端末１００が備えるネットワーク構成認識部１０２の動作により、ステップＳ２０８において取得されたＭＡＣアドレスが送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＭＡＣアドレスと同一であるか否かが判定される（ステップＳ２１０）。【０２０３】
ステップＳ２１０における判定の結果、ステップＳ２０８において取得されたＭＡＣアドレスが送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＭＡＣアドレスと同一でないと判定された場合には（ステップＳ２１０：Ｎｏ）、図１１のステップＳ１０８、ステップＳ１０９及びステップＳ１０４の動作が行われる。【０２０４】
他方で、ステップＳ２１０における判定の結果、ステップＳ２０８において取得されたＭＡＣアドレスが送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＭＡＣアドレスと同一であると判定された場合には（ステップＳ２１０：Ｙｅｓ）、送信元通信端末１００が備えるアドレス決定部１０３の動作により、送信先通信端末１００に対応するアドレス束２２１に含まれる送信先通信端末１００のＩＰアドレス（つまり、送信先通信端末１００のローカルＩＰアドレス）が、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスとして決定される（ステップＳ２０７）。その後、ステップＳ２０７において決定されたＩＰアドレスを送信先アドレスに設定した上で、送信元通信端末１００から送信先通信端末１００へとデータの送信が行われる（ステップＳ１０４）。【０２０５】
以上のような動作を行うことで、アドレス束２２１がＭＡＣアドレスやＮＡＴルータ３００のＬＡＮ側のＩＰアドレスを含んでいる場合であっても、送信元通信端末１００が送信先通信端末１００との間の通信を行うために用いられるＩＰアドレスを好適に決定することができる。その結果、上述した各種効果を好適に享受することができる。【０２０６】
本発明は、上述した実施例に限られるものではなく、請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う通信端末、アドレス解決サーバ、及びコンピュータプログラムもまた本発明の技術的範囲に含まれるものである。
【符号の説明】
【０２０７】
１  通信システム
１００  通信端末
１０１  アドレス取得部
１０２  ネットワーク構成認識部
１０３  アドレス決定分
１０４  ＣＰＵ
１０５  メモリ
１０６  通信部
１０７  アドレス調査部
１０８  アドレス登録部
２００  アドレス解決サーバ
２０１  アドレス管理テーブル格納部
２０２  アドレス送信部
２０３  ＣＰＵ
２０４  メモリ
２０５  通信部
２２０  アドレス管理テーブル
２２１  アドレス束
３００  ＮＡＴルータ
４０１  グローバルネットワーク
４０２  ローカルネットワーク
【図１】
2010143286.tif 000003
【図２】
2010143286.tif 000004
【図３】
2010143286.tif 000005
【図４】
2010143286.tif 000006
【図５】
2010143286.tif 000007
【図６】
2010143286.tif 000008
【図７】
2010143286.tif 000009
【図８】
2010143286.tif 000010
【図９】
2010143286.tif 000011
【図１０】
2010143286.tif 000012
【図１１】
2010143286.tif 000013
【図１２】
2010143286.tif 000014
【国際調査報告】
2010143286.tif 000015
2010143286.tif 000016