(57)【要約】【課題】複数のＮＡＴ機能搭載ルータにより階層的に構成される宅内ネットワークにおいて、異なるサブネットワークに接続された通信装置間で高速に通信路を確立可能な通信装置を提供する。【解決手段】接続対象機器との通信開始前に、自身からの接続対象機器のネットワーク上の相対位置を判定し、その判定結果に応じて適切な方法で接続することで、接続対象機器が異なるサブネットワークに存在する場合も、通信路確立に失敗することなく高速に通信路を確立することを可能とする。【選択図】図１
2007274063.tif 000002
【特許請求の範囲】
【請求項１】
複数のアドレス変換装置によりサブネットワークが
階層的に構成されているネットワークに接続された通信装置であって、
前記アドレス変換装置により、
前記通信装置が送信したメッセージの送信元アドレスが変換されるサブネットワークを
前記通信装置が接続されたサブネットワークの上層側ネットワーク、
メッセージの送信先アドレスが変換されるサブネットワークを
前記通信装置が接続されたサブネットワークの下層側サブネットワークとするとき、
接続の可能性のある相手である接続対象機器が、
前記通信装置が接続されたサブネットワークに対し、
上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークの
いずれに接続されているかを判定する相対位置判定部と、
前記相対位置判定部の判定結果に応じて、
前記接続対象機器との間の通信電文が直接相互に到達可能とするための設定が
行なわれていることを意味する通信路の確立の方法を変更する接続部
を備えた通信装置。
【請求項２】
前記接続部は、前記相対位置判定部の判定結果として、
前記接続対象機器が上層側サブネットワークまたは同一サブネットワークに
接続されていると判定した場合は、
通信路確立要求メッセージを前記接続対象機器へ送信することにより、
前記接続対象機器との通信路を確立する方法を選択する、
請求項１に記載の通信装置。
【請求項３】
前記接続部は、前記相対位置判定部の判定結果として、
前記接続対象機器が下層側サブネットワークに接続されていると判定した場合は、
前記通信装置および前記接続対象機器との間に通信路を確立している
接続支援サーバに対して通信路確立要求依頼メッセージを送信し、
前記接続対象機器に対して通信路確立の依頼を伝え、
前記接続対象機器からの通信路確立要求メッセージを受信することにより
前記接続対象機器との通信路を確立する方法を選択する、
請求項１に記載の通信装置。
【請求項４】
前記相対位置判定部は、Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ  （ＴＴＬ）を操作したパケットを送信し、
前記アドレス変換装置からの応答により前記ネットワーク内に接続された前記通信装置の上層側サブネットワークに接続されている複数の前記アドレス変換装置のアドレス情報を取得し、
取得した前記アドレス情報からネットワークアドレスを推測して、
前記接続対象機器のＩＰアドレスから推測したネットワークアドレスと比較を行い、
一致するネットワークアドレスが存在しない場合は、
前記接続対象機器は下層側サブネットワークに接続されていると判定する、
請求項１記載の通信装置。
【請求項５】
前記相対位置判定部は、ＴＴＬを操作したパケットを送信し、前記アドレス変換装置からの応答により前記ネットワーク内に接続された前記通信装置の上層側サブネットワークに接続されている複数の前記アドレス変換装置のアドレス情報を取得し、
取得した前記アドレス情報と、
前記接続対象機器が接続されている前記アドレス変換装置のアドレス情報とを比較し、
一致するアドレスが存在しない場合は、
前記接続対象機器は下層側サブネットワークに接続されていると判定する、
請求項１記載の通信装置。
【請求項６】
前記通信装置は、前記相対位置判定部により判定された、
前記接続対象機器の相対位置を記憶する記憶部を更に備え、
前記接続部は、前記記憶部に記憶された前記接続対象機器の相対位置情報を使用して
前記接続対象機器への接続手法を選択し、通信路を確立する、
請求項１記載の通信装置。
【請求項７】
前記接続部は、前記接続対象機器との通信路の確立が失敗した場合に、
前記相対位置判定部に再判定を依頼する、
請求項６に記載の通信装置。
【請求項８】
前記相対位置判定部は、
定期的に、前記接続対象機器の相対位置を再判定する、
請求項７に記載の通信装置。
【請求項９】
前記相対位置判定部は、
前記接続対象機器の相対位置再判定に成功した場合に、
再判定結果を
通信路確立失敗時に使用した前記接続対象機器の相対位置情報に
更新することを前記記憶部に依頼し、
前記接続対象機器と接続する際に、前記更新情報を使用する、
請求項８に記載の通信装置。
【請求項１０】
前記相対位置判定部は、
前記接続対象機器の相対位置再判定に失敗した場合に、
通信路確立失敗時に使用した前記接続対象機器の相対位置情報の削除を前記記憶部に依頼し、通信路確立失敗時に使用した情報を後に使用しないようにする、
請求項８に記載の通信装置。
【請求項１１】
複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、
通信装置は、接続対象機器が前記通信装置に対して上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定するステップと、
前記判定ステップの結果に応じて、
前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が
行なわれていることを意味する通信路の確立の方法を変更するステップとを備える、通信方法。
【請求項１２】
複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、
通信装置は、接続対象機器が前記通信装置に対して上層側サブネットワーク、  同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定するステップと、
前記判定ステップの結果に応じて、
前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が行なわれていることを意味する通信路の確立の方法を変更するステップとを備えるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（宅内Ｐ２Ｐ通信技術について記述）
本発明は、宅内ネットワークに接続された通信装置間の通信に関し、特に宅内ネットワークが１台以上のルータで構成される場合においても通信装置間の通信を可能とする通信装置に関する。
【背景技術】
【０００２】
（「宅内ネットワーク構築」について記述）
近年、インターネットに代表されるＩＰ(Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：インターネットプロトコル)ネットワーク網の整備が進み、パーソナルコンピュータの他、ＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）機器や監視カメラ、ＩＰ電話等の様々な家電機器がＩＰネットワークに接続する傾向にある。また、家庭内にＩＰネットワークを構築し、家電機器間での通信サービスを提供する機運も高まり、ネットワークを利用したサービスの多様化が進んでいる。しかし、宅内のネットワーク構成によっては、宅外から宅内、また宅内機器同士の通信が不可能な場合がある。
【０００３】
（ＮＡＴの説明文を記述）
これは、一般家庭ユーザ向けに市販されているルータの多くに搭載されたＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）またはＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）と呼ばれる機能が原因となっている。
【０００４】
ＮＡＴは、インターネットに関する技術の標準を定める団体であるＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）が正式に発行する文書であるＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔ）の１６３１で規定され、ＮＡＰＴは、ＲＦＣ２６６３で規定されている公知の技術である（以降、ＮＡＰＴもＮＡＴと記す）。
【０００５】
ＮＡＴは、インターネット上で機器を一意に識別することができるグローバルＩＰアドレスが不足する問題に対処するために開発され、グローバルＩＰアドレスと、インターネット上における通信では使用することができないプライベートＩＰアドレスとを透過的に相互変換するためのアドレス変換技術である。
【０００６】
この技術によって、プライベートＩＰアドレスを用いて通信が行われている、あるプライベートネットワークに存在する複数の機器は、ＮＡＴ機能を有する機器を介して、インターネット上の機器と通信することが可能となる。
【０００７】
ＮＡＴ機能においては、プライベートＩＰアドレスを有する宅内機器からインターネット上の宅外の機器へ通信が開始された場合にのみ、ＮＡＴ機能搭載ルータにて、その宅内機器と宅外機器間の通信のためのアドレス変換が行われる。
【０００８】
そして、その宅内機器のプライベートＩＰアドレスと宅外機器のグローバルＩＰアドレスを対応付けた情報が、“ＮＡＴテーブル”として自動的に作成される（ＮＡＰＴの場合は、ＩＰアドレスに加えて、通信サービスを特定するために用いられている“ポート番号”もアドレス変換ルールに含めてＮＡＴテーブルが作成される）。
【０００９】
しかし、グローバルＩＰアドレスを有する宅外機器からプライベートＩＰアドレスを有する宅内機器へ通信が開始された場合は、セキュリティの観点から、ＮＡＴ機能搭載ルータにおいてＮＡＴテーブルは自動的に作成されない仕組みになっている。
【００１０】
そのため、宅内機器から宅外機器への通信が開始された場合においては、宅内機器と宅外機器との間で相互通信が可能となるが、宅外機器から宅内機器宛ての通信が開始された場合は、ルータにてＮＡＴテーブルが自動的に作成されないため、通信が拒絶されることになり、相互通信が不可能となる。
【００１１】
（宅内ルータ多段構成環境におけるＮＡＴの問題点について記述）
上記現象は、宅外から宅内の通信だけでなくＮＡＴ機能搭載ルータが宅内ネットワークに複数台設置されている環境での宅内機器同士の通信においても発生する。
【００１２】
図１３は、２つのＮＡＴ機能搭載ルータが宅内のネットワークに直列に接続されたネットワーク構成を示す図である（以降、このような複数のルータで階層的にサブネットワークが構築されるネットワーク構成をルータ多段構成と呼ぶ）。図１３では、ＮＡＴ機能搭載ルータ２００を境界として宅内サブネットワークＬＡＮ１０と宅内サブネットワークＬＡＮ２０が構成され、サブネットワークＬＡＮ１０は、サブネットワークＬＡＮ２０に対して上層側サブネットワークに、一方サブネットワークＬＡＮ２０は、サブネットワークＬＡＮ１０に対して下層側サブネットワークに位置する。
【００１３】
この時、サブネットワークＬＡＮ１０に属する機器１０１からサブネットワークＬＡＮ２０に属する機器２０１宛ての通信は、ＮＡＴ機能搭載ルータ２００にとって上層側サブネットワークから下層側サブネットワークへの通信であり、前述のインターネット上の宅外機器から宅内機器への通信と同様の状況になる。そのため、ＮＡＴ機能搭載ルータ２００においてＮＡＴテーブルが作成されず通信が拒絶されることになる。
【００１４】
上記問題は、一般的に使用される家庭用ルータ（家庭用無線ルータ含む）にＮＡＴまたはＮＡＰＴ機能が標準搭載されていることに加えて、ユーザが宅内ネットワークを構築する際に集線装置であるＨＵＢの代わりとしてＨＵＢ機能搭載ルータを設置したり、無線アクセスポイントの代わりとして無線ルータが設置されたりすることによってルータ多段構成ネットワークが構築されてしまうために発生する。
【００１５】
また、このようなルータ多段構成ネットワークの構築は、ルータおよび無線ルータの低価格化によって増加している。
【００１６】
これらネットワーク構成により相互通信が不可能になる問題は、ユーザ自身が宅内ネットワークの構成を把握し、ＮＡＴ機能搭載ルータにて、上層側サブネットワーク機器から下層側サブネットワーク機器への通信を許可するＮＡＴ設定を施す作業（静的ＮＡＴ設定）を正確に行うことで回避可能だが、この作業を実施するにはネットワーク技術に関する専門的な知識が必要となるため、一般ユーザには困難である。
【００１７】
これに対し、通信不可能となる問題をユーザの専門知識を必要とせず解決する方法として、接続先となる機器（接続対象機器）に対し直接通信ができない場合には、接続対象機器から接続を開始することで、機器間通信を可能とする方法が知られている（例えば、特許文献１参照）。図１５は、前記特許文献１に記載された従来の機器間通信方法を示すものである。
【００１８】
図１５においては、機器１０１と機器１０２によって宅内ネットワークが構築され、機器００１は宅外ネットワーク００に存在している。
【００１９】
また、宅外ネットワーク００と宅内ネットワーク０１の境界部分に設置されているルータ１１０は汎用的なルータではなく、特許文献１記載のシステム専用のＮＡＴ機能搭載ルータである。
【００２０】
このシステム専用ルータ１１０は、宅内ネットワーク０１内の機器との相互接続を要求している機器が特許文献１記載の機器００１であれば、機器００１から宅内ネットワーク０１に存在する機器に対して送信されたメッセージを宅内ネットワーク０１内の機器へ転送する機能を備えている。
【００２１】
そのため、機器１０１、機器１０２、そして機器００１は、このルータと連係動作することで相互通信が可能となる。
【００２２】
ここで、図１５において、相互接続を要求している機器（接続要求元機器）である宅外機器００１から接続対象機器である宅内機器１０１宛ての通信が開始された場合について詳しく説明する。
【００２３】
宅外機器００１はまず、宅内機器１０１のＩＰアドレスを送信先ＩＰアドレスとして直接接続を行うために、宅内機器１０１へ接続要求メッセージを送信する。
【００２４】
しかし、宅外ネットワーク００と宅内ネットワーク０１の境界部分に存在するグローバルＩＰアドレスとプライベートＩＰアドレスとの付け替えを行うＮＡＴ機能搭載ルータ１１０によって、グローバルＩＰアドレスを有する宅外機器からプライベートＩＰアドレスを有する宅内機器宛ての通信は拒絶される。
【００２５】
このとき、ルータ１１０は、宅外機器００１に対して通信拒絶を知らせるメッセージと共に、ルータ１１０のグローバルＩＰアドレスを通知する。
【００２６】
ルータ１１０からの通信拒絶メッセージを受信した宅外機器００１は、通信失敗を認識した後に、ルータ１１０のグローバルＩＰアドレス宛てに、宅内機器１０１から接続してもらうための接続要求依頼メッセージを送信する。
【００２７】
上記メッセージは、ルータ１１０のグローバルＩＰアドレス宛てであるため、ルータ１１０で通信が拒絶されることはなく、ルータ１１０にて処理が行われ、ルータ１１０から宅内機器１０１へ前記接続要求依頼メッセージが転送される。
【００２８】
そして、宅外機器００１からの接続要求依頼メッセージを受信した宅内機器１０１は、宅外機器００１に対して接続要求メッセージを送信して通信が開始される。
【００２９】
そのため、ＮＡＴ機能搭載ルータが存在する場合でも、宅外機器００１と宅内機器１０１の間での機器間接続を可能としていた。
【特許文献１】特開２００４−２３５９７号公報（第１３頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００３０】
（先行特許における課題を記述）
しかしながら、特許文献１では、接続要求元機器は接続対象機器が自身に対してどのネットワークに存在するのか把握出来ないため、まず接続対象機器１０１への直接接続を試行し、接続が失敗した後にＮＡＴ機能搭載ルータに接続要求依頼メッセージの転送を頼んで接続対象機器１０１との通信路の確立を試みる。
【００３１】
直接接続試行時、接続対象機器が接続要求元機器にとって異なるネットワークに存在し、且つ接続対象機器へ明確な通信経路が明示されていない場合は、接続対象機器宛のメッセージは接続要求元機器にとってのデフォルトルータ（接続要求元機器が所属するネットワークから別のネットワークに存在する機器へ通信する際に、接続要求元機器から送信されたメッセージが始めに経由することになるルータ）へ送信され、そのデフォルトルータにおいてもパケットの転送先が不明な場合は、更に別のルータに転送される。
【００３２】
そのため、直接接続を試行して接続対象機器との通信路が確立出来ない場合は、ある一定時間待つことになり、通信路確立までに時間を要するという問題がある。
【００３３】
特に、信頼性を重視した相互通信を行うプロトコル（通信規約）であるＴｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ（ＴＣＰ）を用いた通信においては、接続対象機器との通信路を確立する処理にて、接続対象機器からの応答メッセージを一定時間待つため、次の処理を行うまで数分程時間を要する場合もある。
【００３４】
このことは、ネットワークサービスを利用するユーザを待たせてしまうということになる。
【００３５】
また、接続要求元機器が宅内ネットワークに存在し、接続対象機器のＩＰアドレスが接続要求元機器とは異なるネットワークアドレスであるプライベートＩＰアドレスとなっている場合、通信イベント発生時に何らかの理由により接続対象機器が存在していなければ接続要求元機器から送信された接続対象機器宛てのパケットはインターネット上に流出するという問題がある。
【００３６】
これは、異なるネットワークのＩＰアドレスを送信先とするパケットは、まず接続要求元機器にとってのデフォルトルータへ送信され、そのデフォルトルータにおいてもパケットの転送先が不明な場合は、更に上層のルータ（例えばインターネット上のプロバイダ）へ転送され、結果としてプライベートＩＰアドレスを宛先としたパケットが、インターネット上に流出するからである。
【００３７】
このことは、特にセキュリティ面においてユーザに悪影響を与えることになる。
【００３８】
更に、特許文献１では、専用のルータが必要となるため、様々な種類の一般家庭用ルータが混在するネットワーク環境においては、その技術を適用することが非常に困難となる。
【００３９】
（本発明の目的）
本発明は、前記従来の課題を解決するものであり、専用ルータを必要とすることなく、通信開始前に接続要求元機器に対する接続対象機器の相対位置関係を判定し、相対位置関係から適切な接続手法を選択して接続処理を実行することで、通信路確立に要する時間の短縮を実現すると共に、通信路確立時にプライベートＩＰアドレス宛てのパケットがインターネット上に流出することを防ぐことを実現する通信装置を提供することを目的とする。
【課題を解決するための手段】
【００４０】
本発明の請求項１に係る通信装置は、複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークに接続された通信装置であって、前記アドレス変換装置により、前記通信装置が送信したメッセージの送信元アドレスが変換されるサブネットワークを前記通信装置が接続されたサブネットワークの上層側ネットワーク、メッセージの送信先アドレスが変換されるサブネットワークを前記通信装置が接続されたサブネットワークの下層側サブネットワークとするとき、接続の可能性のある相手である接続対象機器が、前記通信装置が接続されたサブネットワークに対し、上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定する相対位置判定部と、前記相対位置判定部の判定結果に応じて、前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が行なわれていることを意味する“通信路の確立”の方法を変更する接続部を備えたことを特徴とする。
【００４１】
この場合、通信装置は接続対象機器が自身から見て、上層側サブネットワーク又は同一のサブネットワークに存在するのか、あるいは下層側サブネットワークに存在するのかを判断して接続方法を選択することにより、接続対象機器と必ず通信路の確立を行うことができる方法を選択することが可能となる。
【００４２】
結果として、通信路の確立の安定性と高速化が可能となる。
【００４３】
本発明の請求項２に係る通信装置における、前記接続部は、前記相対位置判定部の判定結果として、前記接続対象機器が上層側サブネットワークまたは同一サブネットワークに接続されていると判定した場合は、通信路確立要求メッセージを前記接続対象機器へ送信することにより、前記接続対象機器との通信路を確立する方法を選択することを特徴とする。
【００４４】
この場合、前記接続対象機器が上層側サブネットワークまたは同一サブネットワークに接続されていれば、前記通信装置が通信路確立要求メッセージを前記接続対象機器へ送信することにより、失敗することなく通信路を確立することができる。
【００４５】
そのため、通信路の確立の安定性と高速化が可能となる。
【００４６】
本発明の請求項３に係る通信装置における、前記接続部は、前記相対位置判定部の判定結果として、前記接続対象機器が下層サブネットワークに接続されていると判定した場合は、前記通信装置および前記接続対象機器との間に通信路を確立している接続支援サーバに対して通信路確立要求依頼メッセージを送信することで、前記接続対象機器に対して通信路確立の依頼を伝え、前記接続対象機器からの通信路確立要求メッセージを受信することにより前記接続対象機器との通信路を確立する方法を選択することを特徴とする。
【００４７】
前記接続対象機器が下層サブネットワークに接続されている場合、前記通信装置が通信路確立要求メッセージを前記接続対象機器へ送信しても通信路の確立に失敗する。
【００４８】
しかし、この場合、前記相対位置判定部の判定結果により、前記通信装置および前記接続対象機器との間に通信路を確立している接続支援サーバに対して通信路確立要求依頼メッセージを送信することで、前記接続対象機器に対して通信路確立の依頼を伝え、前記接続対象機器からの通信路確立要求メッセージを受信することにより、失敗すること無く通信路の確立を行うことができる。
【００４９】
そのため、通信路の確立の安定性と高速化が可能となる。
【００５０】
本発明の請求項４に係る通信装置における、前記相対位置判定部は、Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ  （ＴＴＬ）を操作したパケットを送信し、前記アドレス変換装置からの応答により前記ネットワーク内に接続された前記通信装置の上層側サブネットワークに接続されている複数の前記アドレス変換装置のアドレス情報を取得し、取得した前記アドレス情報からネットワークアドレスを推測し、前記接続対象機器のＩＰアドレスから推測したネットワークアドレスを比較し、一致するネットワークアドレスが存在しない場合は、前記接続対象機器は下層側サブネットワークに接続されていると判定することにより、接続対象機器のネットワーク上の相対位置を判定することが可能である。
【００５１】
本発明の請求項５に係る通信装置における、前記相対位置判定部は、Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ  （ＴＴＬ）を操作したパケットを送信し、前記アドレス変換装置からの応答により前記ネットワーク内に接続された前記通信装置の上層側サブネットワークに接続されている複数の前記アドレス変換装置のアドレス情報を取得し、取得した前記アドレス情報と、前記接続対象機器が接続されている前記アドレス変換装置のアドレス情報を比較し、一致するアドレスが存在しない場合は、前記接続対象機器は下層側サブネットワークに接続されていると判定するにより、接続対象機器のネットワーク上の相対位置を判定することが可能である。
【００５２】
本発明の請求項６に係る通信装置における、前記通信装置は、前記相対位置判定部により判定された、前記接続対象機器の相対位置を記憶する記憶部を更に備え前記接続部は、前記記憶部に記憶された前記接続対象機器の相対位置情報を使用して前記接続対象機器への接続手法を選択して通信路を確立することにより、相対位置判定の処理を省略することが可能であるため、通信路確立までの時間を短縮することが可能となる。
【００５３】
また、相対位置判定のためのパケットがネットワーク上に流れないことにより、ネットワーク内のトラヒックを軽減することも可能となる。
【００５４】
本発明の請求項７に係る通信装置における、前記接続部は、前記接続対象機器との通信路の確立が失敗した場合に、前記相対位置判定部に再判定を依頼することにより、ネットワーク全体の構成が変化したことを検出することが可能となる。
【００５５】
また、接続対象機器との相対位置を見直して再接続することが可能となる。
【００５６】
本発明の請求項８に係る通信装置における、前記相対位置判定部は、定期的に、前記接続対象機器の相対位置を再判定することにより、常に最新の相対位置情報を把握しておくことが可能である。
【００５７】
本発明の請求項９に係る通信装置における、前記相対位置判定部は、前記接続対象機器の相対位置再判定に成功した場合に、再判定結果を通信路確立失敗時に使用した前記接続対象機器の相対位置情報に更新することを前記記憶部に依頼することにより、次回の通信路確立時に誤情報による通信路確立の失敗を防ぐことが可能となる。
【００５８】
本発明の請求項１０に係る通信装置における、前記相対位置判定部は、前記接続対象機器の相対位置再判定に失敗した場合に、通信路確立失敗時に使用した前記接続対象機器の相対位置情報の削除を前記記憶部に依頼することにより、記憶部に誤情報が残り、その誤情報による通信路確立の失敗を防ぐことが可能となると共に、記憶部の領域を有効活用することが可能である。
【００５９】
また本発明は、複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、前記通信装置は、前記接続対象機器が前記通信装置に対して上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定するステップと、前記判定ステップの結果に応じて、前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が行なわれていることを意味する“通信路の確立”の方法を変更するステップとを備える。
【００６０】
なお本発明は、複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、前記通信装置は、前記接続対象機器が前記通信装置に対して上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定するステップと、前記判定ステップの結果に応じて、前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が行なわれていることを意味する“通信路の確立”の方法を変更するステップとを備えるプログラムを記録した記録媒体により提供されてもよい。
【発明の効果】
【００６１】
以上説明したように、本発明では、接続対象機器との通信路確立前に予め接続対象機器の相対位置を判定し、判定結果に応じて通信路確立方法を切り替えることで、複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、接続対象機器がどのサブネットワークに接続されていても短時間で通信路確立を可能とし、且つ、通信路確立時にプライベートＩＰアドレス宛てのパケットがインターネット上に流出しない通信装置を提供することを可能とする。
【発明を実施するための最良の形態】
【００６２】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００６３】
（実施の形態１）
（環境について記述）
図１は、本発明の実施の形態１における“通信装置”が用いられるネットワークの一例を示す図である。
【００６４】
図１において、ＮＡＴ機能搭載ルータ（以降単にルータと記す）１００およびＮＡＴ機能搭載ルータ２００は、通信に利用するＩＰアドレス領域が異なる２つのサブネットワークを接続する機能を持つ装置であり、ルータ１００およびルータ２００は、接続する２つのネットワークのＩＰアドレスを持つ。
【００６５】
ここで、各ルータが接続する２つのサブネットワークにおいて、ルータが接続する第１のサブネットワークから第２のサブネットワークにパケットを中継する時に、ルータがパケットの送信先アドレスを変換してパケットを中継する場合、第１のサブネットワークをこのルータの上層側サブネットワークと呼ぶことにする。また、第２のサブネットワークをこのルータの下層側サブネットワークと呼ぶことにする。なお、この場合、第２のサブネットワークから第１のサブネットワークにパケットを中継する時、ルータはパケットの送信元アドレスを第１のサブネットワークのアドレスに変換する。
【００６６】
通常、図１のような宅外ネットワークに接続される宅内ネットワークにおいては、各ルータ（ルータ１００、ルータ２００）の上層側サブネットワークに向けて送信したパケットが宅外ネットワークに送信されるように接続される。つまり、各ルータにおいて、宅外ネットワークに近いサブネットワークが上層側サブネットワークとなる。
【００６７】
すなわち、ルータ１００にとっては、ＩＰアドレスとして“２００．１６８．１．２００”が設定されている側が上層側ネットワーク、ＩＰアドレスとして“１９２．１６８．１．１”が設定されている側が下層側サブネットワークとなる。
【００６８】
また、ルータ２００にとっては、ＩＰアドレスとして“１９２．１６８．１．２”が設定されている側が上層側サブネットワーク、ＩＰアドレスとして“１９２．１６８．２．１”が設定されている側が下層側サブネットワークとなる。
【００６９】
そして、グローバルＩＰアドレスを用いて通信が行われる宅外ネットワーク００とプライベートＩＰアドレスを用いて通信が行われる宅内ネットワーク０１とが、ルータ１００を介して接続されている。
【００７０】
また、サブネットワークＬＡＮ１０とサブネットワークＬＡＮ２０とが、ルータ２００を介して接続されている。
【００７１】
このサブネットワークＬＡＮ１０及びサブネットワークＬＡＮ２０に接続された機器１０１、１０２、２０１、２０２は、本発明に係る“通信装置”であり、この機器１０１、１０２、２０１、２０２は、例えば、ＰＣやネットワーク対応の家電機器（ネット家電）である。
【００７２】
なお本実施の形態においては、機器１０１と機器２０２を“直接通信を要求する機器（接続要求元機器）”、機器１０２と機器２０１を“接続要求元機器にとって直接通信の対象となる機器（接続対象機器）”とするが、接続要求元機器、接続対象機器どちらか一方の機能のみを有するのではなく、接続要求元機器と接続対象機器双方の機能を有してもよい。
【００７３】
また、接続支援サーバ１１１は、接続要求元機器から送信された接続対象機器に対する接続要求依頼メッセージを接続対象機器へ転送する機能が搭載された機器である。
【００７４】
本実施の形態においては、接続支援サーバ１１１は、サブネットワークＬＡＮ１０に接続され、プライベートＩＰアドレス“１９２．１６８．１．１１１”を有するものとする。
【００７５】
なお、接続支援サーバは、宅内ネットワーク０１内の全ての機器と双方向通信可能な通信路を確立する機能を有し、上記接続要求依頼メッセージの転送が可能である。
【００７６】
接続支援サーバ１１１が、宅内ネットワーク０１内の全ての機器と双方向通信路を確立する過程を簡単に説明する。図１のように接続管理サーバが宅外ネットワーク００と宅内ネットワーク０１との境界に接続されたルータ１００に接続されている場合、接続支援サーバ１１１は各機器から見ると、同じサブネットワークにあるか、又は上層側のサブネットワークに存在することになる。そのため、各機器が接続支援サーバ１１１のアドレスを取得すれば、各機器から接続支援サーバ１１１に直接、通信路を接続することができ、結果として、接続支援サーバ１１１から、各機器に対してもパケットを送信することが可能となる。
【００７７】
また、接続支援サーバ１１１がルータ２００のような宅外ネットワーク００との境界ではないルータに接続されている場合、機器１０１や機器１０２のように接続支援サーバ１１１が接続しているサブネットワークの上層側サブネットワークに接続している機器から接続支援サーバ１１１に通信路を接続することはできない。しかし、接続支援サーバ１１１が上層側サブネットワークに接続している機器１０１及び機器１０２のアドレス情報を取得している場合、接続支援サーバ１１１から機器１０１及び機器１０２に直接、通信路を接続することができ、結果として、機器１０１及び機器１０２から接続支援サーバ１１１に対してもパケットを送信することが可能となる。
【００７８】
このように、各機器から上層側に接続された接続支援サーバ１１１に通信路の接続を行い、接続支援サーバ１１１から上層側に接続された機器に通信路の接続を行うことにより、接続支援サーバが図１の宅内ネットワーク０１のどのルータに接続している場合でも、各機器との間に通信路を接続することが可能である。
【００７９】
ここで、通信路接続とは、ＴＣＰによる通信路接続でも良いし、各機器又は接続支援サーバ１１１が定期的にＵＤＰパケットを送信することで、通信経路上に存在する各ルータの設定を保持し、接続支援サーバ１１１から各機器への通信を可能とした接続でも良い。また、接続支援サーバ１１１及び各機器が、それぞれ、機器のアドレス情報、接続支援サーバのアドレス情報を取得する方法としては、ユーザによるアドレス情報の設定等の方法が考えられる。
【００８０】
なお、本特許の本質は、接続支援サーバ１１１と各機器との間で通信路を利用して、各機器間（接続要求元機器と接続対象機器との間）に、短時間で通信路確立し、且つ、通信路確立時にプライベートＩＰアドレス宛てのパケットがインターネット上に流出しない制御を実現することである。そのため、本特許においては、接続支援サーバ１１１と各機器との間で通信路が形成されていればよく、その接続過程は本特許の範疇外である。ゆえに、本実施の形態で記載した接続支援サーバ１１１と各機器との間で通信路を確立する過程は、一例であって本特許を限定するものではない。
【００８１】
（発明装置の機能ブロックについて記述）
図１２（Ａ）は、接続要求元機器１０１の基本構成を示す機能ブロック図である。
【００８２】
図１２（Ｂ）は、接続対象機器２０１の基本構成を示す機能ブロック図である。
【００８３】
また図１２（Ｃ）は、接続支援サーバ１１１の基本構成を示す機能ブロック図である。
【００８４】
図１２（Ａ）において接続要求元機器１０１は、機器１０１から宅外ネットワークに到達するまでに経由するルータのアドレス情報を取得するための通信経路調査部１００４と通信経路調査結果を記憶する記憶部１００２を備える。
【００８５】
また、自身のアドレス情報を、宅内機器のアドレスを収集している機器に登録するアドレス情報登録部１００５と、接続対象機器のアドレスを取得するためのアドレス情報取得部１００６を備え、アドレス情報取得部１００６にて取得した情報も記憶部１００２に記憶する。
【００８６】
更に、通信経路調査部１００４にて調査した、接続要求元機器１０１から宅外ネットワークまでの通信経路の情報と、アドレス情報取得部１００６にて取得した接続対象機器のアドレス情報を基に、接続要求元機器１０１自身に対する接続対象機器のネットワーク上の相対位置の判定を行う相対位置判定部１００１を備え、この判定結果も記憶部１００２に記憶する。
【００８７】
また、記憶部１００２に記憶した相対位置判定結果に従って、接続対象機器との間で通信路を確立するための接続処理を行う接続部１００３と、他機器と通信するための通信機能部１００７を備える。
【００８８】
なお、記憶部１００２においては、後に記すその他処理に必要な情報および処理結果も記憶する。
【００８９】
図１２（Ｂ）において接続対象機器２０１は、接続支援サーバとの通信路を確立するための処理や、接続要求元機器から送信されたメッセージに応じた接続処理を行う接続部２００１と、自身のアドレス情報を、宅内機器のアドレス情報を収集している機器に登録するアドレス情報登録部２００２と、他機器と通信するための通信機能部２００３を備える。
【００９０】
図１２（Ｃ）において接続支援サーバ１１１は、自身のアドレス情報を、宅内機器のアドレスを収集している機器（ここでは接続支援サーバ自身）に登録するアドレス情報登録部１１１３と、自身のアドレス情報および他の宅内機器から送信されたアドレス情報を記憶する記憶部１１１１と、他の機器から宅内機器のアドレス情報の提供を求められた際に、記憶部１１１１に記憶されている宅内機器のアドレス情報を提供するアドレス情報提供部１１１４を備える。
【００９１】
また、接続要求元機器にとって接続対象となる機器が下層側サブネットワークに存在する場合に、接続要求元機器から送信されてくるメッセージを、接続要求元機器にとっての接続対象機器へ転送するメッセージ転送部１１１２と、他機器と通信するための通信機能部１１１５を備える。
【００９２】
なお、接続要求元機器２０２は接続要求元機器１０１と同一の機能を、接続対象機器１０２は接続対象機器２０１と同一の機能を有しているのでそれぞれの機器についての説明は省略することとする。
【００９３】
以下、本実施の形態では、接続要求元機器１０１と接続対象機器２０１との間で通信路を確立する際の動作を中心に説明する。
【００９４】
まず、図２を用いて、当該通信装置と、当該通信装置にとって接続対象機器となる機器との間に通信路を確立するための４つのフェーズについて、その概要を説明する。
【００９５】
（４つのフェーズの概要について記述）
接続対象機器との通信路を確立するためには、通信経路調査フェーズ（ステップＳ２０１）、機器一覧情報取得フェーズ（ステップＳ２０２）、相対位置判定フェーズ（ステップＳ２０３）、接続フェーズ（ステップＳ２０４）の４つのフェーズがある。
【００９６】
通信経路調査フェーズと機器一覧情報取得フェーズの実施順序は前後してもよく、通信経路調査フェーズおよび機器一覧情報取得フェーズ後に相対位置判定フェーズを実施し、続いて接続フェーズを実施する。
【００９７】
次に、各フェーズの概要を説明する。
【００９８】
ステップＳ２０１に示す通信経路調査フェーズにおいて、接続要求元機器は、自身から宅外ネットワーク上の所定の機器００１宛に通信経路調査を実施する。
【００９９】
この通信経路調査によって、接続要求元機器１０１は自身が接続されたルータのアドレス情報と、その上層側サブネットワークに接続されたルータのアドレス情報を取得する。
【０１００】
ステップＳ２０２に示す機器一覧情報取得フェーズにおいて、機器１０１は、接続対象機器となりうる機器のアドレス情報を取得するために、機器一覧情報を接続支援サーバから取得する。
【０１０１】
ステップＳ２０３に示す相対位置判定フェーズにおいて、機器１０１に対しての相対位置を判定する必要がある機器について、ステップ２０１の通信経路調査フェーズで取得したルータのアドレス情報とステップ２０２で取得した接続対象機器のアドレス情報を用いて、相対位置判定を行い、記憶部１００２に判定結果を記憶する。
【０１０２】
ステップＳ２０４に示す接続フェーズにおいて、機器１０１の記憶部１００２がステップ２０３の相対位置判定フェーズで記憶した相対位置判定結果を用いて、接続対象機器との通信路を確立する。
【０１０３】
本実施の形態においては、接続フェーズ以外の３つのフェーズ（通信経路調査フェーズ、機器一覧取得フェーズ、相対位置判定フェーズ）を、接続対象機器との通信イベントが発生する前に予め実施するものとして説明するが、接続要求元機器が、ネットワークに接続された直後に通信イベントが発生した等の場合には、即座に接続対象機器との間に通信路を確立するための４つのフェーズをステップＳ２０１からＳ２０４まで連続的に実施してもよい。
【０１０４】
なお、通信経路調査フェーズと機器一覧情報取得フェーズは前後して実施してもよい。
【０１０５】
以下、前記４つの各フェーズについて、図３〜９を用いて詳細に説明する。
【０１０６】
（通信経路調査フェーズについて詳細説明）
図３は、図２におけるステップＳ２０１の通信経路調査フェーズでの通信シーケンスを示した図である。
【０１０７】
機器１０１の通信経路調査部１００４は、パケットのＩＰヘッダに設定するＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）の値を１ずつ増加させながらＵＤＰパケット（通信経路調査メッセージ）を宅外ネットワーク上の所定の機器宛てに送信することにより得られた、前記ＵＤＰパケットが通過するルータからのＩＣＭＰ時間超過メッセージを用いて通信経路調査を行う。
【０１０８】
ＩＣＭＰ時間超過メッセージとは、ルータを通過する度に１ずつ減らされるＴＴＬの値が０になったときに、該当パケットがルータにて破棄された際にルータから該当パケット送信元に対して送られるメッセージのことであり、このＩＣＭＰ時間超過メッセージの送信元アドレスは、通常、ルータの下層側ネットワーク用ＩＰアドレスとなる。
【０１０９】
このことを利用すると、ＩＣＭＰ時間超過メッセージ（以降、通信経路調査応答メッセージと記すこととする）の送信元アドレスがグローバルアドレスとなるまで通信経路調査を実施することで、宅内に設置されているルータの下層側ネットワーク用ＩＰアドレスを把握することが可能となる。
【０１１０】
なお、下層側ネットワーク用ＩＰアドレスがグローバルアドレスであるか、そうでないかを判断する際は、アドレスがプライベートアドレス（１０．０．０．０〜１０．２５５．２５５．２５５、１７２．１６．０．０〜１７２．２５５．２５５．２５５、１９２．１６８．０．０〜１９２．１６８．２５５．２５５）であるか、そうでないかを確認することによって判断する。
【０１１１】
本実施の形態においては、接続要求元機器１０１から宅外ネットワーク上の機器００１宛てに、ＴＴＬを１ずつ増加（ＴＴＬ＝１から開始）させながら通信経路調査メッセージを送信する（ステップＳ３０１）と、まず、ＴＴＬ＝１と設定して通信経路調査メッセージを送信したときの応答として、下層側ネットワーク用ＩＰアドレスが“１９２．１６８．１．１”であるルータ１００から送られた通信経路調査応答メッセージを受信することにより、通信経路調査を実施する（ステップＳ３０２）。
【０１１２】
続いて、ＴＴＬ＝２と設定して通信経路調査メッセージを送信したときの応答として、下層側ネットワーク用ＩＰアドレスが“２００．１６８．１．１０”である宅外ルータ０１０から送られた通信経路調査応答メッセージを受信する（ステップＳ３０３）。
【０１１３】
このとき、宅外ルータ０１０から送られた応答メッセージの送信元アドレスはグローバルアドレスとなっていることがわかるので、ここで通信経路調査は終了し、調査結果を記憶部１００２に記憶する（ステップＳ３０４）。
【０１１４】
なお、いわゆるマンションＬＡＮのように、宅外ネットワークがインターネットではない環境において通信経路調査を実施する際は、通信経路調査を実施する前に、宅内ネットワーク０１と宅外ネットワーク００の境界部分に設置されているルータ１００の上層側ネットワーク用ＩＰアドレスをアプリケーション等から取得し、そのアドレスを宛先として通信経路調査を実施してもよい。
【０１１５】
また、通信経路調査の際は、ｔｒａｃｅｒｏｕｔｅコマンドのようなネットワーク経路調査ツールを用いても、他のツールを用いてもよく、記憶された通信経路調査結果は、記憶部１００２内部で一定期間または相対位置判定部からの削除要求を受信するまで記憶する。
【０１１６】
このように、通信経路調査結果を記憶部１００２にて記憶することによって、通信経路調査結果を利用する処理が必要となった場合に、即座に処理を実行することが可能となる。
【０１１７】
また、記憶期間を設けたり、削除要求に従って記憶情報を削除することによって、現状に即した情報を保持することが可能となると共に、不要な情報を削除することで、現状に即していない情報を用いた処理を行わないことが可能となる。
【０１１８】
（機器一覧情報取得フェーズの詳細説明）
図４は、図２におけるステップＳ２０２の機器一覧情報取得フェーズでの通信シーケンスを示した図である。
【０１１９】
まず、機器１０１、１０２、２０１、２０２、接続支援サーバ１１１は、ネットワークに接続した際に、それぞれの機器に備わっているアドレス情報登録部１００５、２００２、１１１３により、自身のアドレス情報を、宅内機器のアドレス情報を収集している機器に登録する。
【０１２０】
そして、機器１０１のアドレス情報取得部１００６は、接続対象機器を含む宅内ネットワーク機器一覧情報を取得するための処理を行う。
【０１２１】
本実施の形態においては、宅内機器一覧情報は、接続支援サーバ１１１が保持しているため、接続支援サーバ１１１に対して宅内機器一覧情報取得要求メッセージを送信する（ステップＳ４０１）。
【０１２２】
機器１０１からの宅内機器一覧情報取得要求メッセージを受信した接続支援サーバ１１１のアドレス情報提供部１１１４は、宅内機器一覧情報を含む宅内機器一覧情報取得応答メッセージを機器１０１へ送信する（ステップＳ４０２）。
【０１２３】
宅内機器一覧情報を含む宅内機器一覧情報取得応答メッセージを受信した機器１０１は、宅内機器一覧情報の取得に成功したことを記憶部１００２に記憶すると共に、記憶部１００２に宅内機器一覧情報を記憶する（ステップＳ４０３）。
【０１２４】
前記機器一覧情報は、機器１０１の記憶部１００２にて、例えば図１０に示すようにＩＰアドレスと機器名等の識別名を対応付けて記憶するが、識別名がない場合はＩＰアドレスのみを記憶する。
【０１２５】
また前記機器一覧情報は、記憶部１００２が一定期間または削除要求を受信するまで記憶する。
【０１２６】
このように、機器一覧情報を記憶部１００２にて記憶することによって、機器一覧情報を利用する処理が必要となった場合に、即座に処理を実行することが可能となる。
【０１２７】
また、記憶期間を設けたり、削除要求に従って記憶情報を削除することによって、現状に即した情報を保持することが可能となると共に、不要な情報を削除することで、現状に即していない情報を用いた処理を行わないことが可能となる。
【０１２８】
なお、図２のステップＳ２０２の機器一覧取得フェーズは、ステップＳ２０１の通信経路調査フェーズの前に実施してもよく、機器１０１におけるアドレス情報取得部１００６が相対位置判定部１００１からの機器一覧取得要求を受信したときに実施してもよい。
【０１２９】
また本実施の形態では、接続要求元機器が接続支援サーバから機器一覧情報を取得することとしているが、接続支援サーバ以外の機器が保持している機器一覧情報を取得してもよい。
【０１３０】
（相対位置判定フェーズの詳細説明）
図５は、図２におけるステップＳ２０３の相対位置判定フェーズでの処理のフローチャートを示した図である。
【０１３１】
なお、ここでは、機器１０１を接続対象機器、機器２０１を接続対象機器として説明する。
【０１３２】
まず、機器１０１の相対位置判定部１００１は、自身が保持する通信経路調査結果と、機器一覧情報に記されている接続対象機器２０１のＩＰアドレスを記憶部１００２から読み込む。
【０１３３】
続いて、通信経路調査結果に記された、機器１０１から送信されたパケットが宅外ネットワークに至るまでに経由するルータの下層側ネットワーク用ＩＰアドレス“１９２．１６８．１．１”からネットワークアドレスを推測し、“１９２．１６８．１”を抽出する。
【０１３４】
また、同様に接続対象機器である機器２０１のＩＰアドレス“１９２．１６８．２．２０１”から、ネットワークアドレスを推測し、“１９２．１６８．２”も抽出する（ステップＳ５０１）。
【０１３５】
ここで、家庭用ルータにおいてネットワークアドレスは、プライベートアドレスのクラスに応じて設定されているため、ＩＰアドレスが判明すれば、そのネットワークアドレスを推測することが可能である。この家庭用ルータのネットワークアドレスの設定では、通常、クラスＣのアドレスが用いられており、そのネットワークアドレスは１９２．１６８．ｘ（ｘは０〜２５５）である。
【０１３６】
そして、通信経路調査結果に記述されている各機器から抽出したネットワークアドレスと、接続対象機器２０１のネットワークアドレスを比較し、通信経路調査結果に、機器２０１のネットワークアドレスと同一のネットワークアドレスが存在しないかどうかを調査する（ステップＳ５０２）。
【０１３７】
本実施の形態においては、通信経路調査結果の中に、機器２０１のネットワークアドレスと同一のネットワークアドレス“１９２．１６８．２”が付与されたルータ２００は存在しない。
【０１３８】
これは、機器１０１が機器２０１と同一ネットワークに存在していないことに加えて、機器１０１から送信されたパケットが、機器１０１が所属するサブネットワークＬＡＮ１０よりも上層側ネットワークである宅外ネットワーク００に到達するまでに、機器２０１が所属するサブネットワークＬＡＮ２０を通過しない、すなわち、サブネットワークＬＡＮ２０は、機器１０１が所属するサブネットワークＬＡＮ１０に対して同一または上層側サブネットワークには存在しないことを意味している。
【０１３９】
よって、機器２０１が属するサブネットワークは、機器１０１が属するサブネットワークより下層側に存在することが明らかになるため、機器２０１は機器１０１が属するサブネットワークより下層側サブネットワークに存在するものと判定することが可能となる（ステップＳ５０３）。
【０１４０】
仮に、接続対象機器が機器１０２であった場合は、機器１０２のネットワークアドレスは“１９２．１６８．１”であり、通信経路調査結果の中に、機器１０２のネットワークアドレスと同一のネットワークアドレスが付与されたルータが存在する、すなわち、機器１０２は、機器１０１が属するサブネットワークと同一または上層側サブネットワークに存在するものと判定することが可能となる（ステップＳ５０４）。
【０１４１】
ここで判定された結果は、接続対象機器のＩＰアドレスと対応付けて、例えば図１１に示すような形式で記憶部１００２に記憶する（ステップＳ５０５）。
【０１４２】
なお、機器１０１の相対位置判定部１００１は、図６の相対位置判定フェーズでの処理のフローチャートに示すように、接続対象機器のＩＰアドレスの他に、接続対象機器におけるデフォルトルータのＩＰアドレスを利用してもよい。
【０１４３】
その際は、記憶部１００２に記憶されている接続対象機器におけるデフォルトルータのＩＰアドレスと通信経路調査結果を抽出して（ステップＳ６０１）、通信経路調査結果の中に、接続対象機器におけるデフォルトルータ（機器が、自身とは異なるネットワークに所属する通信相手への特別な通信経路情報を持たない場合にパケットが最初に送られるルータ）のＩＰアドレスと同一のＩＰアドレスが存在しないかどうか調査して（ステップＳ６０２）、接続対象機器の相対位置を判定してもよい（ステップＳ６０３、Ｓ６０４）。
【０１４４】
そして、判定結果は、接続対象機器のＩＰアドレスと対応付けて、例えば図１１に示すような形式で記憶部１００２に記憶する（ステップＳ６０５）。
【０１４５】
また、機器１０１の相対位置判定部１００１は、機器一覧情報取得直後や任意のタイミング、または、定期的に図２におけるステップＳ２０３の相対位置判定フェーズにおける判定処理を実施してもよい。
【０１４６】
あるいは、相対位置判定部１００１からの再判定の要求を受信した場合に、判定処理を実施してもよい。
【０１４７】
このことは、接続要求元機器において接続対象機器に対する通信イベントが発生する前に、判定処理を予め実施してもよいということを意味している。
【０１４８】
（接続フェーズについての詳細説明）
図７は、図２におけるステップＳ２０４の接続フェーズでの処理のフローチャートを示した図である。
【０１４９】
まず、機器１０１の接続部１００３は、図１１に示すような形式で記憶部１００２に記憶している接続対象機器に対する情報を記憶部１００２から読み込む（ステップＳ７０１）。
【０１５０】
続いて、接続要求元機器に対する接続対象機器の相対位置判定結果に応じて、接続処理を選択する（ステップＳ７０２）。
【０１５１】
接続対象機器が接続要求元機器に対して下層側サブネットワークに存在する場合は、接続対象機器が下層側サブネットワークに存在する場合の接続処理を（ステップＳ７０３）、接続対象機器が接続要求元機器に対して同一または上層側サブネットワークに存在する場合は、接続対象機器が同一／上層側サブネットワークに存在する場合の接続処理を行う（ステップＳ７０４）。
【０１５２】
そして、ステップＳ７０３（またはＳ７０４）の後、通信路が確立出来たか否かを判定する（ステップＳ７０５）。
【０１５３】
接続対象機器との通信路が確立された場合は、接続要求元機器である機器１０１では“通信路確立成功”という内部情報を保持し（ステップＳ７０６）、通信路が確立出来なかった場合は、“通信路確立失敗”という内部情報を保持する（ステップＳ７０７）。
【０１５４】
図８は、図１に示す状況下で、図７におけるステップＳ７０３の接続処理において接続対象機器が下層側サブネットワークに存在している場合にＴＣＰ通信路を確立する際の通信シーケンスを示した図である。
【０１５５】
まず機器１０１の接続部１００２は、機器２０１に対する“接続要求依頼メッセージ”を接続支援サーバ１１１に送信する（ステップＳ８０１）。
【０１５６】
なお、本実施の形態において、この“接続要求メッセージ”は、“ＴＣＰ通信におけるｓｙｎパケットの送信を依頼するメッセージ”を指す。
【０１５７】
続いて、接続支援サーバ１１１は、機器１０１から送信された機器２０１宛ての“接続要求依頼メッセージ”を機器２０１宛てに転送する（ステップＳ８０２）。
【０１５８】
接続支援サーバ１１１と機器２０１との間には、通信路が予め確立されているため、ルータ２００にて前記接続要求依頼メッセージは機器２０１に転送される。
【０１５９】
機器１０１からの前記接続要求依頼メッセージを受信した機器２０１は、機器１０１宛てに“接続要求メッセージ（ｓｙｎパケット８００１）”を送信する（ステップＳ８０３）。
【０１６０】
ここで機器２０１は、ルータ２００の下層側ネットワークに接続されているため、ルータ２００の上層側ネットワークに接続されている機器１０１に対して、直接メッセージを送信することが出来る。
【０１６１】
機器２０１からの前記接続要求メッセージ（ｓｙｎパケット８００１）を受信した機器１０１は、機器２０１に対して“接続要求メッセージおよび機器２０１から送信された接続要求メッセージに対する受信確認応答メッセージ（ｓｙｎ／ａｃｋパケット８００２）”を送信する（ステップＳ８０４）。
【０１６２】
なお、前記“接続要求メッセージおよび受信確認応答メッセージ”は、ＴＣＰ通信における“ｓｙｎ／ａｃｋパケット（８００２）”である。
【０１６３】
機器１０１からの“接続要求メッセージと受信確認応答メッセージ”を受信した機器２０１は、機器１０１に対して“受信確認応答メッセージ（ａｃｋパケット８００３）”を送信する（ステップＳ８０５）。
【０１６４】
機器２０１からの“受信確認応答メッセージ（ａｃｋパケット８００３）”を受信した機器１０１は、機器１０１と機器２０１との間で通信路が確立されたことを認識し（ステップＳ８０６）、以後、機器１０１と機器２０１との間で通信が行われることとなる。
【０１６５】
なお、本実施の形態におけるステップＳ８０３〜Ｓ８０５は、ＴＣＰ通信における“３ウェイ・ハンドシェーク”と呼ばれる通信路確立シーケンスであり、機器１０１は、以降機器２０１とＴＣＰ通信を行う際は、この通信路を用いる。
【０１６６】
図９は、図１に示す状況下で、図７におけるステップＳ７０４の接続処理において接続対象機器が同一または上層側サブネットワークに存在している場合にＴＣＰ通信路を確立する際の通信シーケンスを示した図である。
【０１６７】
なおここでは、接続要求元機器を機器２０２として、接続要求元機器に対して上層側サブネットワークに存在する機器１０２を、接続対象機器として説明する。
【０１６８】
まず、機器２０２は、機器１０２に対する“接続要求メッセージ（ｓｙｎパケット９００１）”を送信する（ステップＳ９０１）。
【０１６９】
これは、接続対象機器が下層側サブネットワークに接続されている場合とは異なり、直接通信が可能であるため、接続支援サーバを介さずに通信を開始している。
【０１７０】
機器２０２からの“接続要求メッセージ（ｓｙｎパケット９００１）”を受信した機器１０２の接続部２００１は、機器２０２に対して“接続要求メッセージおよび受信確認応答メッセージ（ｓｙｎ／ａｃｋパケット９００２）”を送信する（ステップＳ９０２）。
【０１７１】
機器１０２からの“接続要求メッセージおよび受信確認応答メッセージ（ｓｙｎ／ａｃｋパケット９００２）”を受信した機器１０１は、機器１０２に対して“受信確認応答メッセージ（ａｃｋパケット９００３）”を送信する（ステップＳ９０３）。
【０１７２】
機器２０２からの“受信確認応答メッセージ（ａｃｋパケット９００３）”を受信した機器１０２は、機器２０２と機器１０２との間で通信路が確立されたことを認識し（ステップＳ９０４）、以降機器２０２とＴＣＰ通信を行う際は、この通信路を用いる。
【０１７３】
このように、接続要求元機器に対する接続対象機器のネットワーク上の相対位置を判定し、判定結果に応じて接続方法を切り替えることで、接続対象機器との直接接続に失敗したことを検出した後に接続方法を切り替える必要がないため、通信イベント発生後すぐに適切な方法で接続対象機器との通信路を確立することが可能となる。
【０１７４】
更に、相対位置判定の際に、“通信経路調査結果に接続対象機器に関する情報が含まれていない場合は、接続対象機器は接続要求元機器が所属するサブネットワークより下層側に存在する”と判定するため、接続対象機器が宅内ネットワーク内に存在するかしないか不明な場合には、自身より下層側ネットワークに向かって接続処理を実施するため、自身より上層側ネットワーク、つまりインターネットを含む宅外ネットワークに向かって接続処理は行われず、プライベートＩＰアドレスを宛先としたパケットが宅外ネットワークへ流出することを防止することが可能となる。
【０１７５】
なお、本実施の形態においては、ＴＣＰ通信の際の通信シーケンスを説明したが、ＴＣＰパケットを使用せずとも本実施の形態に記す通信シーケンスを実現することは可能である。
【０１７６】
例えば、ＴＣＰのような繁雑な処理を省き高速処理を行うプロトコルであるＵｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ（ＵＤＰ）等のＴＣＰ以外のプロトコルに基づいて通信路を確立することも可能である。
【０１７７】
ＵＤＰの場合は、ＴＣＰとは異なり、オペレーティングシステム（ＯＳ）内部のネットワークソフトウェアの一種であるトランスポートモジュールで、接続対象機器との相互通信のための通信路確立は行わないため、ＯＳ内部のモジュールと比べてより具体的な機能を提供しているミドルウェアまたはアプリケーションソフトウェアにて、ＴＣＰで提供されている通信路確立機能を模倣した処理を行い、接続対象機器との通信路を確立することが可能となる。
【０１７８】
更に、接続対象機器と接続要求元機器間で、一定期間毎にＵＤＰパケットを送受信し合うことにより、一旦確立した通信路を維持し続けることが可能となる。
【０１７９】
また、接続対象機器の相対位置は、図２におけるステップＳ２０１〜Ｓ２０３のシーケンスにより記憶部１００３に記憶されているため、ステップＳ２０４の接続フェーズは、ステップＳ２０３が完了している状態であればいつ実施してもよい。
【０１８０】
なお、ステップＳ２０１〜Ｓ２０３は一連のシーケンスとして処理が行われているが、記憶部１００２に記憶している相対位置を参照して接続してもよい。
【０１８１】
（接続失敗時の処理について記述）
図１４は、図２におけるステップＳ２０４の接続フェーズにおいて、機器１０１の接続部１００３にて通信路の確立が失敗した場合の処理のフローチャートを示した図である。
【０１８２】
通信路の確立が失敗する状況としては、接続要求元機器および接続要求元機器が接続しているルータ、または、接続対象機器および接続対象機器が接続しているルータが移設される、つまり、サブネットワーク全体が移設されたことにより、接続対象機器のＩＰアドレスに変更はないが、接続要求元機器が存在するサブネットワークと接続対象機器が存在するサブネットワークの、ネットワーク上の位置関係に変化が生じた場合が考えられる。
【０１８３】
接続部１００３は、記憶部１００２に記憶されている情報を用いて通信路の確立に失敗した際、機器一覧情報の再取得を行い（ステップＳ１４０１）、再判定依頼を相対位置判定部１００１に対して行う（ステップＳ１４０２）。
【０１８４】
再判定依頼を受けた相対位置判定部１００１は、機器１０１の記憶部１００２に記憶されている最新の情報を用いて、図５のステップＳ５０１〜Ｓ５０５（またはステップＳ６０１〜Ｓ６０５）に示す相対位置判定を行う（ステップＳ１４０３）。
【０１８５】
上記再判定に成功した場合、機器１０１の相対位置判定部１００１は、再判定前の結果と再判定後の結果を比較し、再判定前後で結果に違いが生じた場合は、再判定結果で通信路確立失敗時に使用した情報を更新するよう記憶部１００２に依頼する（ステップＳ１４０４）。
【０１８６】
なお、再判定前後での判定結果の違いが、接続対象機器が移設等されたことにより相対位置が変化したものであった場合（ＩＰアドレスの変化があった場合）は、通信路確立失敗時に使用した記憶情報を一旦削除して、再判定結果を新たに記憶部１００２に記憶することにより更新し、サブネットワーク全体が移設した場合（ＩＰアドレスは変化しないがネットワーク上の相対位置が変化した場合）は、再判定結果で通信路確立失敗時に使用した情報を単に上書きすることにより更新するとよい。
【０１８７】
なお、再判定結果の更新方法は、旧情報削除と新規記憶または上書きと統一してもよい。
【０１８８】
再判定に失敗した場合、機器１０１の相対位置判定部１００１は、通信路確立失敗時に使用した記憶情報の削除と、再判定時に使用した情報の削除を記憶部１００２に依頼する（ステップＳ１４０５）。
【０１８９】
（方法クレームと記憶媒体クレームについて記述）
なお、本実施の形態において、接続要求元機器、接続対象機器、接続支援サーバそれぞれは、図２〜９に示す通信シーケンスを遂行するものとしたが、その全てをソフトウェアとして実装してもよい。
【０１９０】
このようにすることによって、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置に前記ソフトウェアをインストールすることで、ＰＣ等の情報処理装置を接続要求元機器、接続対象機器、接続支援サーバとして動作させることが可能となる。
【０１９１】
また、前記ソフトウェアを、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｅ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、メモリカード、フロッピー（登録商標）ディスク等の記憶媒体に記憶してもよい。
【０１９２】
このようにすることによって、前記記憶媒体を用いてＰＣ等の情報処理装置に前記ソフトウェアをインストールすることが可能となる。
【０１９３】
また、図１６に示すようなハードウェア構成にて、本発明の通信装置を実現してもよい。
【０１９４】
その際は、図１２（Ａ）、（Ｂ）、（Ｃ）にて示している、通信機能部以外の機能部１００１〜１００６、２００１、２００２、１１１１、１１１２、１１１３、１１１４を、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ  （ＲＯＭ）そしてＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ  （ＲＡＭ）等の記憶装置１６０１に書き込み、Ｐｒｏｇｒａｍｍｅｄ  Ｉ／Ｏ  （ＰＩＯ）方式のように、記憶装置１６０１内のデータを中央処理装置１６０２を介してデータを通信機能部１００７へ転送（１６１１）、または、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  （ＤＭＡ）方式のように、記憶装置１６０１内のデータを中央処理装置１６０２を介さず、データを通信機能部１００７へ転送（１６１２）するなどして実現してもよい。
【０１９５】
また、本発明の通信装置により実現する機能を、Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ  （ＬＳＩ）のような集積回路に組み込んでもよい。
【０１９６】
なお、接続支援サーバは、全ての機器との通信路が確立されていなくてもよく、接続要求元機器と接続対象機器それぞれとの間でのみ通信路が確立されていればよい。
【０１９７】
また、本実施の形態で説明している構成は一例であって、本発明の通信装置および接続対象機器、そして接続支援サーバはどのサブネットワークに接続されていてもよい。
【産業上の利用可能性】
【０１９８】
本発明の通信装置は、宅内ネットワークのような局所的なネットワークにて、複数のルータを設置することによりサブネットワークが階層的に構築された環境において、異なるサブネットワークに接続されている機器間でネットワーク環境に影響されることなく、安定して迅速に通信路を確立することが可能であり、かつ、プライベートＩＰアドレスを宛先としたパケットが宅外ネットワークへ流出することを防いで宅内機器同士連携動作する際に有用である。
【図面の簡単な説明】
【０１９９】
【図１】本発明の実施の形態１におけるネットワーク構成を示す図
【図２】本発明の実施の形態１において接続対象機器との通信路を確立するための４つの代表的なフェーズを示す図
【図３】本発明の実施の形態１において通信路を調査するフェーズにおける通信シーケンスを示した図
【図４】本発明の実施の形態１において宅内機器一覧情報を取得するフェーズにおける通信シーケンスを示した図
【図５】本発明の実施の形態１において接続対象機器のＩＰアドレスを用いて相対位置を判定するフェーズにおける処理内容を示した図
【図６】本発明の実施の形態１において接続対象機器におけるデフォルトルータのＩＰアドレスを用いて相対位置を判定するフェーズにおける処理内容を示した図
【図７】接続フェーズにおいて、相対位置判定結果に応じて接続する際の処理内容を示した図
【図８】接続対象機器が下層側ネットワークに接続されている場合における接続時の通信シーケンスを示した図
【図９】接続対象機器が同一または上層側ネットワークに接続されている場合における接続時の通信シーケンスを示した図
【図１０】本発明の通信装置内部に記憶される、接続対象機器のＩＰアドレス、機器の識別名を含む宅内機器一覧情報を示した図
【図１１】本発明の通信装置内部に記憶される、接続対象機器のＩＰアドレス、相対位置、情報取得経過時間を含む相対位置判定結果記憶情報を示した図
【図１２】本発明の通信装置における機能構成を示した図
【図１３】宅内ネットワークを示す図
【図１４】本発明の実施の形態１において接続対象機器との接続に失敗した場合における処理内容を示した図
【図１５】特許文献１の実施の形態によるネットワーク構成を示す図
【図１６】図１２の装置を、ＣＰＵを用いて実現した場合のハードウェア構成を示した図
【符号の説明】
【０２００】
００    宅外ネットワーク
０１    宅内ネットワーク
１０，２０    サブネットワーク
００１    宅外ネットワーク上の機器
１００，２００    ＮＡＴ機能搭載ルータ
１１０    特許文献１記載のＮＡＴ機能搭載ルータ
１０１，１０２    サブネットワークＬＡＮ１０に接続されている機器
２０１，２０２    サブネットワークＬＡＮ２０に接続されている機器
１１１    接続支援サーバ
１００１    相対位置判定部
１００２，１１１１    記憶部
１００３，２００１    接続部
１００４    通信経路調査部
１００５，１１１３，２００２    アドレス情報登録部
１００６    アドレス情報取得部
１００７，１１１５，２００３    通信機能部
１１１２    メッセージ転送部
１１１４    アドレス情報提供部
１６０１    記憶装置
１６０２    中央演算装置（ＣＰＵ）
１６１１    ＰＩＯ転送方式の際に使用する信号線
１６１２    ＤＭＡ転送方式の際に使用する信号線
【図１】
2007274063.tif 000003
【図２】
2007274063.tif 000004
【図３】
2007274063.tif 000005
【図４】
2007274063.tif 000006
【図５】
2007274063.tif 000007
【図６】
2007274063.tif 000008
【図７】
2007274063.tif 000009
【図８】
2007274063.tif 000010
【図９】
2007274063.tif 000011
【図１０】
2007274063.tif 000012
【図１１】
2007274063.tif 000013
【図１２】
2007274063.tif 000014
【図１３】
2007274063.tif 000015
【図１４】
2007274063.tif 000016
【図１５】
2007274063.tif 000017
【図１６】
2007274063.tif 000018