(57)【要約】【課題】  異なるネットワーク内に存在する通信装置間で通信するための通信経路情報を、通信が終了した際に中継装置を介して変更可能な方法及びシステムを提供する。【解決手段】  第一の通信装置が第二の通信装置との通信を終了した際に、第二の通信装置が第一及び第二の通信装置間の通信経路とは異なる通信経路の中継装置に対して通信経路情報の変更処理開始を要求する。中継装置が中継通信装置の外部アドレス情報を取得して第二の通信装置に通知し、第二の通信装置がその外部アドレス情報を用いて通信経路情報を変更するための変更データを中継装置に送信する。そして中継装置がその変更データを受信して通信経路情報の変更を確認する。【選択図】      図１２
2013172274.tif 000002
【特許請求の範囲】
【請求項１】
中継装置を介して接続された異なるネットワーク内に存在する通信装置間で通信するための通信経路情報を、通信が終了した際に前記通信装置間の通信経路とは異なる通信経路の中継装置を介して変更する情報変更方法であって、
第一の通信装置が第二の通信装置との通信を終了した際に、前記第二の通信装置が前記中継装置の前記通信経路情報の変更処理開始を前記中継装置と異なる中継装置に要求する要求工程と、
前記異なる中継装置が前記異なる中継装置の外部アドレス情報を取得して前記第二の通信装置に通知する通知工程と、
前記第二の通信装置が前記外部アドレス情報を用いて前記通信経路情報を変更するための変更データを前記異なる中継装置に送信する送信工程と、
前記異なる中継装置が前記変更データを受信して当該通信経路情報の変更を確認する確認工程と、
を有することを特徴とする情報変更方法。
【請求項２】
前記異なる中継装置が前記変更データを受信できなかった場合、前記外部アドレス情報を再取得して通知することを特徴とする請求項１に記載の情報変更方法。
【請求項３】
前記異なる中継装置は、前記通信経路情報の変更処理開始を要求されると、前記外部アドレス情報を維持することを特徴とする請求項１又は２に記載の情報変更方法。
【請求項４】
前記異なる中継装置は、前記通信経路情報の変更を確認し、確認できない場合に、前記外部アドレス情報の維持を終了して前記通信経路情報が無効になるまでの経過時間を前記第二の通信装置に通知することを特徴とする請求項３に記載の情報変更方法。
【請求項５】
前記要求工程では、前記中継装置のＩＰアドレス、ポート番号、通信プロトコル種別、及び変更対象の通信経路の数を指定して要求することを特徴とする請求項１に記載の情報変更方法。
【請求項６】
前記外部アドレス情報は、前記異なる中継装置のＩＰアドレス、ポート番号、及び通信プロトコル種別を含むことを特徴とする請求項１に記載の情報変更方法。
【請求項７】
中継装置を介して接続された異なるネットワーク内に存在する通信装置間で通信するための通信経路情報を、通信が終了した際に前記通信装置間の通信経路とは異なる通信経路の中継装置を介して変更するネットワークシステムであって、
第一の通信装置が第二の通信装置との通信を終了した際に、前記第二の通信装置が前記中継装置の前記通信経路情報の変更処理開始を前記中継装置と異なる中継装置に要求する要求手段と、
前記異なる中継装置が前記異なる中継装置の外部アドレス情報を取得して前記第二の通信装置に通知する通知手段と、
前記第二の通信装置が前記外部アドレス情報を用いて前記通信経路情報を変更するための変更データを前記異なる中継装置に送信する送信手段と、
前記異なる中継装置が前記変更データを受信して当該通信経路情報の変更を確認する確認手段と、
を有することを特徴とするネットワークシステム。
【請求項８】
請求項１乃至５の何れか１項に記載の情報変更方法の各工程を、前記第一の通信装置、前記第二の通信装置及び中継装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるネットワーク内に存在する通信装置間で通信するための通信経路情報を、通信が終了した際に中継装置を介して変更する技術に関する。
【背景技術】
【０００２】
異なるプライベートネットワーク内に存在する機器同士が直接接続し、通信を行う通信システムが存在する。この通信システムでは、機器が遠隔機器から送信されたパケットを自身に転送するための通信経路情報をＮＡＴ（Network Address Translation）上に生成する必要がある。また、通信終了後には、外部ネットワークからの不正なアクセスを防止するため、生成した通信経路情報を削除する必要がある。
【０００３】
また、通信経路情報を制御するために、ＵＰｎＰ（Universal Plug and Play）を用いたＩＧＤ（Internet Gateway Device）という技術がある。ＩＧＤの機能を有するＮＡＴ配下のプライベートネットワークに接続される通信機器は、規定された通信を行うことで通信経路情報を静的に生成及び削除することができる（非特許文献１）。
【０００４】
また、動的な通信経路情報の生成方法としては、ＳＴＵＮ（Simple Traversal of UDP through NATs）とUDP hole punchingとを組み合わせた方法が挙げられる。これによれば、ＮＡＴ配下のプライベートネットワークに接続される通信機器は、外部ネットワークに接続されるサーバを用いて規定された通信を行うことで、通信経路情報を動的に生成することができる（非特許文献２）。但し、一般に動的に生成された通信経路情報を削除する方法は存在しないため、ＮＡＴ配下の通信機器自身が電源オフやＩＰアドレスの変更等を行って通信不能状態に移行する必要がある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“UPnP Forum, Internet Gateway Device (IGD)”＜URL；http://www.upnp.org/＞
【非特許文献２】“RFC3489, STUN-Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)”＜URL；http://www.ietf.org/rfc/rfc3489.txt＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＮＡＴ配下の通信機器は他の機器と通信中もしくは通信予定である場合等、直ちに通信不能状態に移行できるとは限らない。また、一般に、ＮＡＴには通信経路情報の有効期間が定められているが、その期間はＮＡＴによって異なり、通信経路情報が長期間削除されない場合がある。そのため、ユーザが意図しない外部ネットワークからの不正なアクセスを受ける可能性がある。
【０００７】
本発明は、異なるネットワーク内に存在する通信装置間で通信するための通信経路情報を、通信が終了した際に中継装置を介して変更可能な方法及びシステムを提供する。
【課題を解決するための手段】
【０００８】
本発明は、中継装置を介して接続された異なるネットワーク内に存在する通信装置間で通信するための通信経路情報を、通信が終了した際に前記通信装置間の通信経路とは異なる通信経路の中継装置を介して変更する情報変更方法であって、
第一の通信装置が第二の通信装置との通信を終了した際に、前記第二の通信装置が前記中継装置の前記通信経路情報の変更処理開始を前記中継装置と異なる中継装置に要求する要求工程と、
前記異なる中継装置が前記異なる中継装置の外部アドレス情報を取得して前記第二の通信装置に通知する通知工程と、
前記第二の通信装置が前記外部アドレス情報を用いて前記通信経路情報を変更するための変更データを前記異なる中継装置に送信する送信工程と、
前記異なる中継装置が前記変更データを受信して当該通信経路情報の変更を確認する確認工程と、
を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、生成された通信経路情報が無効化できない場合にも、信頼ある機器宛ての通信経路情報に変更可能であり、他の機器との通信を遮断することなく、意図しない外部ネットワークからのアクセスを防止することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態におけるネットワークシステムの構成例を示す図。
【図２】デジタルカメラの構成の一例を示すブロック図。
【図３】携帯電話の構成の一例を示すブロック図。
【図４】リモート接続の要求側でリモート接続情報を生成するシーケンスを示す図。
【図５】リモート接続の応答側でリモート接続情報を生成するシーケンスを示す図。
【図６】リモート接続のシーケンスを示す図。
【図７】外部アドレス情報を取得するシーケンスを示す図。
【図８】ネットワーク環境判別処理を示すフローチャート。
【図９】ネットワーク環境と選択可能な接続形態との対応を示す図。
【図１０】リモート接続形態選択処理を示すフローチャート。
【図１１】通信経路無効化処理を示すフローチャート。
【図１２】通信経路情報変更処理のシーケンスを示す図。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。以下では、異なるネットワーク内に存在する通信装置間で通信するための通信経路情報を、通信が終了した際に、通信装置間の通信経路とは異なる通信経路の中継装置を介して変更するネットワークシステムを例に説明する。
【００１２】
まず、本実施形態におけるネットワークシステムの構成例を、図１を用いて説明する。図１に示すように、ネットワークは、デジタルカメラ１０１Ａ、携帯電話１０２Ａ、無線ＬＡＮのＡＰ１０３Ａ、携帯電話基地局１０４Ａ、プリンタ１０１Ｂ、携帯電話１０２Ｂ、無線ＬＡＮのＡＰ１０３Ｂ、携帯電話基地局１０４Ｂで構成される。ここで、デジタルカメラ１０１Ａ、携帯電話１０２Ａ、無線ＬＡＮのＡＰ１０３Ａ、プリンタ１０１Ｂ、携帯電話１０２Ｂ、無線ＬＡＮのＡＰ１０３Ｂはそれぞれ無線ＬＡＮの通信機能を有しているものとする。
【００１３】
無線ＬＡＮのＡＰ１０３Ａ（以下、ＡＰ１０３Ａと略す）、無線ＬＡＮのＡＰ１０３Ｂ（以下、ＡＰ１０３Ｂと略す）はバックボーンネットワーク１０７と接続している。また、携帯電話１０２Ａ及び携帯電話１０２Ｂは、それぞれ携帯電話基地局１０４Ａ及び携帯電話基地局１０４Ｂを介してバックボーンネットワーク１０７と接続可能である。バックボーンネットワーク１０７は、例えばインターネット等である。
【００１４】
ＡＰ１０３Ａ及びＡＰ１０３Ｂは、それぞれインフラストラクチャモードで無線ネットワーク１０５Ａ及び無線ネットワーク１０５Ｂを構築している。また、携帯電話１０２Ａ及び携帯電話１０２Ｂはそれぞれアドホックモードの無線ネットワーク１０６Ａ及び無線ネットワーク１０６Ｂを構築可能である。デジタルカメラ１０１Ａは、無線ネットワーク１０５Ａ及び無線ネットワーク１０６Ａにそれぞれ接続可能であり、プリンタ１０１Ｂは無線ネットワーク１０５Ｂ及び無線ネットワーク１０６Ｂにそれぞれ接続可能である。
【００１５】
次に、デジタルカメラ１０１Ａの構成の一例を図２に示すブロック図を用いて説明する。無線ＬＡＮ制御部２０１は、接続されたアンテナ２０２を介して無線ＬＡＮのＲＦ制御、通信処理、IEEE802.11シリーズに準拠した無線ＬＡＮ通信の各種制御を行うドライバや無線ＬＡＮ通信関連のプロトコル処理を制御する。制御部２０３は、記憶部２０４に記憶される制御プログラムを実行することにより、デジタルカメラ１０１Ａ全体を制御する。記憶部２０４は、制御部２０３が実行する制御プログラムと、通信に必要なパラメータ等の各種情報を記憶する。後述する各種動作は、記憶部２０４に記憶された制御プログラムを制御部２０３が実行することにより行われる。電源部２０５は、デジタルカメラ１０１Ａに電源を供給する。
【００１６】
操作部２０６は、デジタルカメラ１０１Ａを操作するためのものである。ネットワーク環境情報収集部２０７は、携帯電話１０２Ａと連携し、接続中のネットワークに関する情報の収集を行う。リモート接続形態選択部２０８は、ネットワーク環境情報収集部２０７で取得されたネットワーク環境情報に基づいてリモート接続形態の選択を行う。リモート接続制御部２０９は、リモート接続形態選択部２０８により選択された接続形態に従って、リモート機器との接続制御を行う。リモート接続情報生成部２１０は、リモート機器がリモート接続形態選択及びリモート接続を行うために必要な情報の生成を行う。通信経路情報無効化処理部２１１は、リモート機器との通信終了後、携帯電話１０２Ａと連携し、リモート接続に使用したＡＰ１０３Ａの通信経路情報の無効化処理を行う。パケット送受信部２１２は、各種通信に関するパケットを送受信する。リモートダイレクトボタン２１３はリモート接続モードに移行するためのものである。
【００１７】
尚、プリンタ１０１Ｂに関する機能ブロックの構成は、デジタルカメラ１０１Ａの機能ブロックと同様の構成で実現可能であるため、ここでの説明は省略する。
【００１８】
次に、携帯電話１０２Ａの構成の一例を図３に示すブロック図を用いて説明する。無線ＬＡＮ制御部３０１は、接続されたアンテナ３０２を介して無線ＬＡＮのＲＦ制御、通信処理、IEEE802.11シリーズに準拠した無線ＬＡＮ通信の各種制御を行うドライバや無線ＬＡＮ通信関連のプロトコル処理を制御する。制御部３０３は、記憶部３０４に記憶される制御プログラムを実行することにより、携帯電話１０２Ａ全体を制御する。記憶部３０４は、制御部３０３が実行する制御プログラムと、通信に必要なパラメータ等の各種情報を記憶する。尚、後述する各種動作は、記憶部３０４に記憶された制御プログラムを制御部３０３が実行することにより行われる。電源部３０５は、携帯電話１０２Ａに電源を供給する。
【００１９】
操作部３０６は、携帯電話１０２Ａを操作するためのもので、携帯電話１０２Ａに入力を行うための操作ボタン等が含まれる。表示部３０７は、各種表示を行うと共に、ＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、或いはスピーカ等の音出力が可能な機能を有する。通話部３０８は、マイク３０９によりユーザが通話を行うためのものである。公衆無線制御部３１０は、接続されたアンテナ３１１を介して公衆無線通信のＲＦ制御、公衆無線通信を行うための通信処理、公衆無線通信の各種制御を行うドライバや公衆無線通信関連のプロトコル処理を制御する。公衆無線通信は、例えばＩＭＴ（International Multimedia Telecommunications）規格やＬＴＥ（Long Term Evolution）規格などに準拠したものである。
【００２０】
外部接続情報通知部３１２は、携帯電話１０２Ａに公衆無線通信経由で接続するための情報をアドホック通信を用いて通知する。ネットワーク環境情報収集部３１３は、デジタルカメラ１０１Ａが接続中のネットワークに関する情報の収集を行う。外部アドレス情報取得部３１４は、公衆無線通信経由で受信した任意のデータから送信元の外部アドレス情報の取得を行う。リモート接続制御部３１５は、選択された接続形態に従ってリモート機器との接続制御を行う。通信経路情報無効化処理部３１６は、デジタルカメラ１０１Ａが使用したＡＰ１０３Ａの通信経路情報の無効化処理を行う。パケット送受信部３１７は、各種通信にかかわるパケットを送受信する。３１８はリモート接続モードに移行するためのリモートダイレクトボタンである。
【００２１】
尚、本実施形態における携帯電話１０２Ｂに関する機能ブロックの構成は、上述の携帯電話１０２Ａと同様の構成で実現可能であるため、ここでの説明は省略する。
【００２２】
また、ＡＰ１０３Ａ、ＡＰ１０３Ｂに関しては一般的な無線ＬＡＮのＡＰの構成で実現可能であるため、ここでの説明は省略する。
【００２３】
更に、携帯電話基地局１０４Ａ、携帯電話基地局１０４Ｂに関しては一般的な公衆無線通信の基地局の構成で実現可能であるため、ここでの説明は省略する。
【００２４】
全ての機能ブロックはソフトウェア若しくはハードウェア的に相互関係を有するものである。また、各機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００２５】
以上の構成において、第一の通信装置と第二の通信装置とが中継装置を介してリモート接続し、データ通信を行った後にリモート接続を切断し、通信経路情報を無効化する処理を説明する。尚、第一の通信装置をデジタルカメラ１０１Ａ、第二の通信装置をプリンタ１０１Ｂ、中継装置を携帯電話１０２Ａ、１０２Ｂとして説明する。
【００２６】
本実施形態では、デジタルカメラ１０１Ａが携帯電話１０２Ａと連携してネットワーク環境情報（ＡＰ１０３ＡのＩＰアドレス、ポート番号等）を取得し、リモート接続情報（ネットワーク環境情報、リモート接続形態等）を生成する。次に、デジタルカメラ１０１Ａが携帯電話１０２ＡのＳＭＳ等のメッセージング手法を用いてリモート接続情報を携帯電話１０２Ｂに転送する。そして、携帯電話１０２Ｂが受信したデジタルカメラ１０１Ａのリモート接続情報をプリンタ１０１Ｂに転送し、プリンタ１０１Ｂが携帯電話１０２Ｂと連携して自身のネットワーク環境情報を取得する。プリンタ１０１Ｂはデジタルカメラ１０１Ａのリモート接続情報及び自身のネットワーク環境情報を用いてリモート接続情報を生成する。その後、リモート接続情報に含まれるリモート接続形態に従って、リモート接続を行い、任意のデータ通信を行う。デジタルカメラ１０１Ａ及びプリンタ１０１Ｂがデータ通信を完了すると、リモート接続を切断し、通信経路情報の無効化処理等を行い、リモート接続を終了する。これらの処理に関して、図４乃至図１２を用いて説明する。
【００２７】
図４はリモート接続の要求側におけるリモート接続情報を生成するシーケンスを示す図、図５はリモート接続の応答側におけるリモート接続情報を生成するシーケンスを示す図である。図６はリモート接続のシーケンスを示す図、図７は外部アドレス情報を取得するシーケンスを示す図である。
【００２８】
図８はデジタルカメラ１０１Ａ及びプリンタ１０１Ｂが実施するネットワーク環境判別処理のフローチャートである。図９はネットワーク環境と選択可能な接続形態との対応表である。図１０はデジタルカメラ１０１Ａ及びプリンタ１０１Ｂが実施するリモート接続形態選択処理のフローチャートである。図１１はプリンタ１０１Ｂが実施する通信経路無効化処理のフローチャートである。図１２は本実施形態における通信経路情報変更処理のシーケンスを示す図である。
【００２９】
まず、デジタルカメラ１０１Ａが携帯電話１０２Ａと連携してリモート接続情報の生成を行う。この生成にあたり、デジタルカメラ１０１Ａ及び携帯電話１０２Ａはユーザ操作によりリモート接続モードになるように指示を受ける。これは例えば、ユーザがデジタルカメラ１０１Ａ及び携帯電話１０２Ａに表示されるメニューから『リモートダイレクトプリント』といった項目を選択することで実施される。尚、デジタルカメラ１０１Ａ及び携帯電話１０２Ａにおいて起動中のアプリケーションに連動して自動でリモート接続モードになるようにしてもよい。また、リモート接続情報をあらかじめ保持している場合には、リモート接続情報を新たに生成しなくてもよい。
【００３０】
リモート接続情報の生成処理が開始されると、携帯電話１０２Ａが無線ネットワーク１０６Ａを構築する。デジタルカメラ１０１Ａは無線ネットワーク１０６Ａを発見し、無線ネットワーク１０６ＡへＡｄｈｏｃ接続処理（Ｍ４０１）を行う。デジタルカメラ１０１Ａが無線ネットワーク１０６Ａへの接続を完了すると、携帯電話１０２Ａに公衆無線通信経由での接続を行うため、携帯電話１０２Ａに外部接続情報要求（Ｍ４０２）を行う。
【００３１】
次に、携帯電話１０２Ａが公衆無線通信のＩｎｔｅｒｎｅｔ接続処理（Ｍ４０３）を行い、デジタルカメラ１０１Ａに外部接続情報通知（Ｍ４０４）を行う。ここで例えば、外部接続情報は携帯電話１０２ＡのＩＰアドレス、ポート番号、通信プロトコル種別、認証鍵等である。携帯電話１０２Ａがデジタルカメラ１０１Ａへの外部接続情報通知を完了すると、公衆無線通信経由での接続の待ち受けを開始する。
【００３２】
その後、デジタルカメラ１０１ＡがＡＰ１０３Ａの無線ネットワーク１０５Ａを発見し、無線ネットワーク１０５ＡへＩｎｆｒａ接続処理（Ｍ４０５）を行う。尚、無線ＬＡＮの接続に必要なパラメータの受け渡しは既存の通信プロトコルを用いて行われる。ここでいう既存の通信プロトコルとは、例えばＷＰＳ、ＡＯＳＳ（登録商標）等であるが、これらに限定されるものではない。
【００３３】
次に、デジタルカメラ１０１Ａは取得した外部接続情報を用い、ＡＰ１０３Ａを介して携帯電話１０２Ａに公衆無線通信経由接続要求（Ｍ４０６）を行う。携帯電話１０２Ａが公衆無線通信経由接続要求を受信すると接続元の認証を行い、認証が成功した場合には、公衆無線通信経由接続完了通知（Ｍ４０７）を行う。
【００３４】
ここで、デジタルカメラ１０１Ａが携帯電話１０２Ａと公衆無線通信経由の接続を完了すると、ネットワーク環境判別処理（Ｍ４０８）を行う。このネットワーク環境判別処理により、図９に示すネットワーク環境ａ、ｂ、ｃ、ｄに判別される。図９に示すように、ネットワーク環境ａは、相手機器からの接続、UDP hole punchingによる接続、相手機器への接続、携帯電話を用いた公衆無線通信経由での接続が可能である。ネットワーク環境ｂは、UDP hole punchingによる接続、相手機器への接続、携帯電話を用いた公衆無線通信経由での接続が可能である。ネットワーク環境ｃは、相手機器への接続、携帯電話を用いた公衆無線通信経由での接続が可能である。ネットワーク環境ｄは、携帯電話を用いた公衆無線通信経由での接続のみ可能である。ここで、このネットワーク環境判別処理を、図８を用いて説明する。
【００３５】
Ｓ８０１にて、デジタルカメラ１０１ＡがＩｎｔｅｒｎｅｔに接続可能であるか否かの判定を行う。この判定には、例えばインターネット上の任意のサーバへｐｉｎｇパケットを送信し、応答を監視することにより行うが、これに限定されるものではない。インターネットに接続できない場合、ＡＰ１０３Ａを介したリモート接続は不可能であると判定し、ネットワーク環境ｄ（Ｓ８０７）と判別する。一方、インターネットに接続可能な場合はＳ８０２へ進み、Ｈｏｍｅネットワークであるか否かの判定を行う。例えば、デジタルカメラ１０１Ａに事前に記憶されたゲートウェイ機器のＭＡＣアドレスとＡＲＰパケットを用いて取得したゲートウェイ機器のＭＡＣアドレスの比較を行うことで判定する。但し、Ｈｏｍｅネットワークの判定方法はこれに限定されるものではない。
【００３６】
ここで、Ｈｏｍｅネットワークである場合は、ネットワーク環境ｃ（Ｓ８１０）と判別し、Ｈｏｍｅネットワークでない場合はＳ８０３へ進み、ネットワーク内にＮＡＴが存在するか否かを判定する。例えば、デジタルカメラ１０１Ａに付与されているＩＰアドレスがグローバルアドレスであるか、プライベートアドレスであるかにより判定する。但し、ＮＡＴが存在するか否かの判定方法はこれだけに限定されるものではない。判定の結果、ＮＡＴが存在しない場合にはネットワーク環境ａ（Ｓ８０８）と判別する。一方、ＮＡＴが存在する場合にはＳ８０４へ進み、ＮＡＴがUPnP IGDをサポートしているか否かを判定する。例えば、ＳＳＤＰプロトコルを用いてUPnP IGDサービスを持つデバイスを発見可能か否かにより判定することを想定している。但し、判定方法はこれに限定されるものではなく、ＮＡＴのサポートするプロトコルは他のプロトコル、例えばBonjour（登録商標）等でもよい。
【００３７】
Ｓ８０４でUPnP IGDをサポートしていないと判定した場合はＳ８０６へ進み、UPnP IGDをサポートしていると判定した場合はＳ８０５へ進む。Ｓ８０５では、多段ＮＡＴ構成であるか否かを判定する。例えば、tracert等のコマンドを用いて任意の外部サーバにＩＰパケットが到達するまでの経路を調査し、ＩＰアドレスの変換回数をカウントすることで判定を行う。但し、多段ＮＡＴ構成であるか否かの判定方法はこれに限定されるものではない。
【００３８】
Ｓ８０５で多段ＮＡＴ構成である場合はＳ８０６へ進み、多段ＮＡＴ構成でない場合はネットワーク環境ａ（Ｓ８０８）と判別する。Ｓ８０６では、携帯電話を用いた外部アドレス情報の取得が可能であるか否かの判定を行う。ここで携帯電話を用いた外部アドレス情報取得処理を、図７を用いて説明する。
【００３９】
まず、デジタルカメラ１０１Ａ及び携帯電話１０２Ａが外部アドレス情報取得モードに移行する。そして、デジタルカメラ１０１Ａが携帯電話１０２Ａにデータ受信開始要求（Ｍ７０１）を行う。携帯電話１０２Ａが外部アドレス情報を取得するためのデータ受信を開始し、デジタルカメラ１０１Ａにデータ受信準備完了通知（Ｍ７０２）を行う。
【００４０】
尚、携帯電話１０２Ａはデータ受信開始要求を受けた後にデータ受信を開始するようにしたが、他のタイミング、例えば外部アドレス情報取得モードに移行すると同時に受信を開始してもよい。
【００４１】
次に、デジタルカメラ１０１ＡがＡＰ１０３Ａを介して携帯電話１０２Ａに外部アドレス情報取得要求（Ｍ７０３）を行う。取得要求を受信した携帯電話１０２Ａは外部アドレス情報取得処理によりデジタルカメラ１０１Ａの外部アドレス情報を取得し、データ受信を終了する。
【００４２】
尚、携帯電話１０２Ａは外部アドレス情報取得処理を完了するとデータ受信を終了するようにしたが、他のタイミングで終了するようにしてもよい。例えば、デジタルカメラ１０１Ａと公衆無線通信経由での接続を開始すると同時にデータ受信を終了するようにしてもよい。
【００４３】
次に、携帯電話１０２Ａがデジタルカメラ１０１Ａに外部アドレス情報通知（Ｍ７０４）を行う。その後、携帯電話１０２Ａは取得した外部アドレス情報変更監視処理（Ｍ７０５）を行う。これは例えば、携帯電話１０２Ａが一定期間毎にデジタルカメラ１０１Ａに応答要求パケットを送信し、デジタルカメラ１０１Ａからの応答の有無を監視することにより行うが、外部アドレス情報変更監視処理はこれに限るものではない。
【００４４】
ここで図８のＳ８０６に戻り、外部アドレス情報が取得可能な場合はネットワーク環境ｂ（Ｓ８０９）と判別し、取得可能でない場合はネットワーク環境ｃ（Ｓ８１０）と判別する。
【００４５】
尚、上述のネットワーク環境判別処理は一例であり、異なる判定項目や順序を用いてもよい。例えば、携帯電話を用いた外部アドレス情報の取得が可能であるか否かを先に判定し、取得できない場合にはＮＡＴがUPnP IGDをサポートしているか否かを判定するようにしてもよい。
【００４６】
また、ネットワーク環境判別処理中に、エラー等のイベントが発生した場合、携帯電話１０２Ａはデジタルカメラ１０１Ａにアドホック通信を用いてその旨を通知することができる。例えば、携帯電話を用いた外部アドレス情報の取得エラー、外部アドレス情報の変更、公衆無線通信によるＩｎｔｅｒｎｅｔ接続処理のエラーなどである。これらの通知を受けたデジタルカメラ１０１Ａは通知内容に従って、その後の処理を変更するようにしてもよい。例えば、通知内容が外部アドレス情報の変更の場合、携帯電話を用いた外部アドレス情報取得処理を再度実施するようにしてもよい。  
上述のネットワーク環境判別処理を完了すると、図４に戻り、デジタルカメラ１０１Ａは判別されたネットワーク環境情報に従ってリモート接続形態選択を行い、リモート接続情報を生成する。次に、デジタルカメラ１０１Ａが携帯電話１０２Ａにリモート接続情報転送要求（Ｍ４０９）を行う。
【００４７】
一方、携帯電話１０２Ａが要求を受けると、ユーザ操作によりリモート接続情報を含むＳＭＳの送信先の指示を受ける。これは例えば、ユーザが携帯電話１０２Ａに表示される電話帳から希望の送信先電話番号を指定することで実施される。
【００４８】
次に、携帯電話１０２ＡはＳＭＳを作成し、ＳＭＳ送信処理（Ｍ４１０）を行う。送信処理が完了すると、携帯電話１０２Ａはデジタルカメラ１０１Ａにリモート接続情報転送完了通知（Ｍ４１１）を行う。尚、リモート接続情報を送信する手法としてＳＭＳを用いず、例えば電子メールなどを用いてもよい。この場合、ユーザは送信先として電子メールアドレスを指定する。
【００４９】
その後、デジタルカメラ１０１Ａが携帯電話１０２Ａにリモート接続情報取得要求（Ｍ４１２）を行い、プリンタ１０１Ｂからのリモート接続情報送信を待機する。尚、デジタルカメラ１０１Ａはリモート接続情報取得要求を行わず、選択されたリモート接続形態に従ってリモート接続を行ってもよい。
【００５０】
次に、図５において、携帯電話１０２ＢがＳＭＳ受信処理（Ｍ５０１）によりデジタルカメラ１０１Ａのリモート接続情報を含むＳＭＳを受信する。プリンタ１０１Ｂ及び携帯電話１０２Ｂはユーザ操作によりリモート接続モードになるように指示を受ける。これは例えば、ユーザがデジタルカメラ及び携帯電話に表示されるメニューから『リモートダイレクトプリント』といった項目を選択することで実施される。尚、ＳＭＳの内容を解析し、自動でリモート接続モードになるようにしてもよい。
【００５１】
このリモート接続モードに移行すると、携帯電話１０２Ｂは無線ネットワーク１０６Ｂを構築する。プリンタ１０１Ｂが無線ネットワーク１０６Ｂを発見し、無線ネットワーク１０６ＢへＡｄｈｏｃ接続処理（Ｍ５０２）を行う。
【００５２】
次に、プリンタ１０１Ｂが無線ネットワーク１０６Ｂへの接続を完了すると、携帯電話１０２Ｂへ公衆無線通信経由での接続を行うため、携帯電話１０２Ｂに外部接続情報要求（Ｍ５０３）を行う。携帯電話１０２Ｂは、公衆無線通信のＩｎｔｅｒｎｅｔ接続処理（Ｍ５０４）を行い、プリンタ１０１Ｂに外部接続情報通知（Ｍ５０５）を行う。プリンタ１０１Ｂが携帯電話１０２Ｂにリモート接続情報取得要求（Ｍ５０６）を行う。そして、携帯電話１０２Ｂがリモート接続情報通知（Ｍ５０７）を行い、公衆無線通信経由で接続の待ち受けを開始する。デジタルカメラ１０１Ａのリモート接続情報を取得したプリンタ１０１Ｂはリモート接続情報の解析を行い、Ｉｎｆｒａ接続処理（Ｍ５０８）を行う。尚、プリンタ１０１ＢはＩｎｆｒａ接続処理を行わなくてもよく、リモート接続情報の解析結果に従ってリモート接続をしてもよい。
【００５３】
これ以降、公衆無線通信経由接続要求（Ｍ５０９）からネットワーク環境判別処理（Ｍ５１１）はデジタルカメラ１０１Ａと同様の処理で実施可能なため、ここでの説明は省略する。
【００５４】
次に、プリンタ１０１Ｂがネットワーク環境情報の取得を完了すると、デジタルカメラ１０１Ａのリモート接続情報と自身のネットワーク環境情報に従ってリモート接続形態の選択を行う。ここで、リモート接続形態選択処理を、図１０を用いて説明する。
【００５５】
まず、デジタルカメラ１０１Ａのネットワーク環境が上述したネットワーク環境ａ〜ｄの何れであるかを判定する。ネットワーク環境ａである場合はＳ１００２へ進み、ネットワーク環境ａでない場合はＳ１００３へ進む。Ｓ１００２では、自身のネットワーク環境がネットワーク環境ｄであるか否かを判定する。ここでネットワーク環境ｄでない場合、プリンタ１０１Ｂは自身がＡＰ１０３Ｂ、ＡＰ１０３Ａを介してデジタルカメラ１０１Ａへ接続するリモート接続形態（Ｓ１００８）を選択し、このリモート接続形態選択処理を終了する。
【００５６】
また、ネットワーク環境ｄである場合、プリンタ１０１Ｂは自身が携帯電話１０２Ｂ、ＡＰ１０３Ａを介してデジタルカメラ１０１Ａに接続するリモート接続形態（Ｓ１００９）を選択し、このリモート接続形態選択処理を終了する。
【００５７】
Ｓ１００３でデジタルカメラ１０１Ａのネットワーク環境がネットワーク環境ｂ又はｃであるか否かを判定する。ここでネットワーク環境ｂ又はｃである場合はＳ１００５へ進み、ネットワーク環境ｂ又はｃでない場合はＳ１００４へ進む。Ｓ１００４では、自身のネットワーク環境がネットワーク環境ａであるか否かを判定する。ネットワーク環境ａである場合、プリンタ１０１Ｂはデジタルカメラ１０１Ａが携帯電話１０２Ａ、ＡＰ１０３Ｂを介してプリンタ１０１Ｂに接続するリモート接続形態（Ｓ１０１３）を選択し、このリモート接続形態選択処理を終了する。
【００５８】
また、ネットワーク環境ａでない場合、プリンタ１０１Ｂはデジタルカメラ１０１Ａが携帯電話１０２Ａ、携帯電話１０２Ｂを介してプリンタ１０１Ｂに接続するリモート接続形態（Ｓ１０１４）を選択し、このリモート接続形態選択処理を終了する。
【００５９】
Ｓ１００５で自身のネットワーク環境がネットワーク環境ａであるか否かを判定する。ネットワーク環境ａである場合、プリンタ１０１Ｂはデジタルカメラ１０１ＡがＡＰ１０３Ａ、ＡＰ１０３Ｂを介してプリンタ１０１Ｂに接続するリモート接続形態（Ｓ１０１０）を選択し、このリモート接続形態選択処理を終了する。
【００６０】
また、ネットワーク環境ａでない場合はＳ１００６へ進む。このＳ１００６では、自身のネットワーク環境がネットワーク環境ｂであるか否かを判定する。ネットワーク環境ｂでない場合、プリンタ１０１Ｂはデジタルカメラ１０１ＡがＡＰ１０３Ａ、携帯電話１０２Ｂを介してプリンタ１０１Ｂに接続するリモート接続形態（Ｓ１０１１）を選択し、このリモート接続形態選択処理を終了する。
【００６１】
また、ネットワーク環境ｂである場合はＳ１００７へ進む。このＳ１００７では、デジタルカメラ１０１Ａのネットワーク環境がネットワーク環境ｂであるか否かを判定する。ネットワーク環境ｂである場合、プリンタ１０１ＢはUDP hole punchingを用いて接続を行うリモート接続形態（Ｓ１０１２）を選択し、このリモート接続形態選択処理を終了する。
【００６２】
また、ネットワーク環境ｂでない場合、プリンタ１０１Ｂはデジタルカメラ１０１ＡがＡＰ１０３Ａ、携帯電話１０２Ｂを介してプリンタ１０１Ｂに接続するリモート接続形態（Ｓ１０１１）を選択し、このリモート接続形態選択処理を終了する。尚、このリモート接続形態選択処理は一例であり、異なるリモート接続形態を選択してもよい。
【００６３】
リモート接続形態の選択が完了すると、プリンタ１０１Ｂはリモート接続待機を行い、リモート接続情報生成を行う。尚、プリンタ１０１Ｂは選択するリモート接続形態により、リモート接続待機及びリモート接続情報生成を行わなくてもよい。
【００６４】
これ以降、プリンタ１０１Ｂのリモート接続情報転送（Ｍ５１２）から携帯電話１０２ＡのＳＭＳ受信処理（Ｍ６０１）はデジタルカメラ１０１Ａ及び携帯電話１０２Ａと同様の処理で実施可能なため、ここでの説明は省略する。
【００６５】
次に、図６に示すように、携帯電話１０２Ａがプリンタ１０１Ｂのリモート接続情報を含むＳＭＳを受信すると、デジタルカメラ１０１Ａにリモート接続情報通知（Ｍ６０２）を行う。一方、デジタルカメラ１０１Ａはプリンタ１０１Ｂのリモート接続情報に従ってリモート接続形態選択を行う。デジタルカメラ１０１Ａはリモート接続要求（Ｍ６０３）を行い、接続要求を受けたプリンタ１０１Ｂが接続元認証を行う。
【００６６】
認証が成功すると、デジタルカメラ１０１Ａ及びプリンタ１０１Ｂはリモート接続処理（Ｍ６０４）を行い、任意のデータ通信（Ｍ６０５）を行う。デジタルカメラ１０１Ａがデータ通信を完了すると、リモート接続切断要求（Ｍ６０６）を行い、リモート接続切断処理（Ｍ６０７）を行う。その後、切断が完了すると、プリンタ１０１Ｂが通信経路情報の無効化処理（Ｍ６０８）を行う。ここで、通信経路情報無効化処理を、図１１を用いて説明する。
【００６７】
Ｓ１１０１では、リモート接続でＡＰ１０３Ｂを使用したか否かを判定する。使用した場合はＳ１１０２へ進み、使用しなかった場合は携帯電話の通信経路情報削除（Ｓ１１０３）を行い、この通信経路情報無効化処理を終了する。Ｓ１１０２で、ＮＡＴが存在したか否かを判定する。判定の結果、存在した場合はＳ１１０４へ進み、存在しなかった場合は内部アドレス情報再取得（Ｓ１１１０９）を行い、この通信経路情報無効化処理を終了する。内部アドレス情報は例えば、ＩＰアドレス、サブネットマスク、デフォルトゲートウェイ等である。
【００６８】
Ｓ１１０４でUPnP IGDを使用したか否かを判定する。使用しなかった場合はＳ１１０５へ進み、使用した場合はUPnP IGDによる通信経路情報削除（Ｓ１１０６）を行い、この通信経路情報無効化処理を終了する。
【００６９】
Ｓ１１０５で携帯電話を用いた通信経路情報変更が可能か否かを判定する。例えば、携帯電話１０２Ｂからプリンタ１０１Ｂに変更対象の通信経路を用いて応答要求パケットを送信し、プリンタ１０１Ｂから応答があるか否かで判定する。尚、判定処理はこれに限るものではない。
【００７０】
通信経路情報の変更が可能な場合はＳ１１０７へ進み、変更が不可能な場合は内部アドレス情報再取得（Ｓ１１０９）を行い、この通信経路情報無効化処理を終了する。このＳ１１０７では、通信経路情報変更処理が正常に終了したか否かを判定する。
【００７１】
ここで、通信経路情報変更処理を、図１２を用いて説明する。まず、プリンタ１０１Ｂが携帯電話１０２Ｂに変更処理開始要求（Ｍ１２０１）を行う。具体的には、通信プロトコル種別、及び変更対象の通信経路の数を指定して要求する。携帯電話１０２Ｂでは、通信経路情報を変更するために、携帯電話１０２Ｂの外部アドレス情報の取得を行い、取得した外部アドレス情報の維持処理を開始する。この維持処理は例えば、携帯電話１０２Ｂがインターネット上の任意の機器と継続的にパケットの送受信を行う処理である。
【００７２】
次に、携帯電話１０２Ｂがプリンタ１０１Ｂに外部アドレス情報通知（Ｍ１２０２）を行う。これにより、プリンタ１０１Ｂでは携帯電話１０２Ｂにインターネット経由で変更データ送信（Ｍ１２０３）を行い、変更データ送信完了通知（Ｍ１２０４）を行う。
【００７３】
携帯電話１０２Ｂが、変更データ及び変更データ送信完了通知を受信すると、プリンタ１０１Ｂに通信経路情報の変更を確認するための確認データ送信（Ｍ１２０５）を行い、確認データ送信完了通知を行う。
【００７４】
プリンタ１０１Ｂが確認データ及び確認データ送信完了通知を受信すると、携帯電話１０２Ｂに変更処理完了通知（Ｍ１２０７）を行い、この通信経路情報変更処理を終了する。尚、通信経路情報変更処理中に、エラー等のイベントが発生した場合、プリンタ１０１Ｂ及び携帯電話１０２Ｂは近接通信路を用いてお互いにその旨を通知することができる。例えば、変更データ送信エラー、変更データ受信エラー、確認データ送信エラー、確認データ受信エラー等である。これらの通知を受けたプリンタ１０１Ｂ及び携帯電話１０２Ｂは通知内容に従って、その後の処理を変更するようにしてもよい。例えば、この通知内容が変更データ送信エラーである場合、携帯電話１０２Ｂが外部アドレス情報を再取得し、プリンタ１０１Ｂに通知する等である。
【００７５】
以上の処理により、通信経路情報変更処理が正常に終了しなかった場合は内部アドレス情報再取得（Ｓ１１０９）を行い、この通信経路情報無効化処理を終了する。また、正常に終了した場合は通信経路情報削除検出（Ｓ１１０８）を行い、この通信経路情報無効化処理を終了する。
【００７６】
ここで、通信経路情報削除検出は例えば、変更後の通信経路を用いて携帯電話１０２Ｂが一定期間毎にプリンタ１０１Ｂに応答要求パケットを送信し、プリンタ１０１Ｂからの応答の有無で判定する等である。尚、携帯電話１０２Ｂは、通信経路情報削除を検出した場合、通信経路情報無効化処理を終了する前に外部アドレス情報の維持を終了し、通信経路情報削除までの経過時間をプリンタ１０１Ｂに通知してもよい。
【００７７】
また、この通信経路情報無効化処理において内部アドレス情報再取得を直ちに行わなくてもよい。例えば、他の機器と通信中若しくは通信予定の場合は、他の機器との通信が完了した後に内部アドレス情報を再取得するようにしてもよい。
【００７８】
上述の通信経路情報無効化処理が完了すると、図６に戻り、プリンタ１０１Ｂ及び携帯電話１０２ＢはＡｄｈｏｃ切断処理（Ｍ６０９）を行う。但し、このＡｄｈｏｃ切断処理は行わなくてもよい。例えば、引き続き他の機器とリモート接続を行う場合等である。
【００７９】
デジタルカメラ１０１Ａで電源ボタンが押下されると、電源をＯＦＦし、通信不能状態に移行する。尚、デジタルカメラ１０１Ａで電源ボタンが押下されない場合は、通信経路情報無効化処理を行ってもよい。
【００８０】
本実施形態では、リモート接続要求側がリモート接続応答側に接続するようにしたが、リモート接続応答側がリモート接続要求側に接続するようにしてもよい。また、既存の接続方法、例えばUDP hole punching等を用いて接続するようにしてもよい。
【００８１】
更に、本実施形態では、デジタルカメラ１０１ＡがＡＰ１０３Ａ、ＡＰ１０３Ｂを介してプリンタ１０１Ｂに接続するようにしたが、ＡＰでなく携帯電話１０２Ａ、１０２Ｂを介して接続するようにしてもよい。例えば、プリンタ１０１Ｂが携帯電話１０２Ｂ、ＡＰ１０３Ａを介してデジタルカメラ１０１Ａにリモート接続してもよく、リモート接続形態はこれらに限るものではない。
【００８２】
本実施形態では、カメラ１０１Ａ及びプリンタ１０１ＢがＩｎｆｒａ通信及びＡｄｈｏｃ通信を同時に行うようにしたが、通信を切り替えてもよい。例えば、Ｉｎｆｒａ接続処理を行う前にＡｄｈｏｃ切断処理を行い、それぞれ携帯電話１０２Ａ及び携帯電話１０２Ｂと公衆無線通信経由で接続するようにしてもよい。
【００８３】
また、Ｉｎｆｒａ通信とＡｄｈｏｃ通信の切り替え回数を削減するため、Ａｄｈｏｃ通信による要求や通知を公衆無線通信経由で行ってもよい。例えば、Ａｄｈｏｃ通信による要求や通知はリモート接続情報転送要求やリモート接続情報通知等である。
【００８４】
本実施形態によれば、リモート機器同士のネットワーク環境に応じたリモート接続形態の選択及びリモート接続をユーザが意識することなく、自動で行うことができる。また、リモート機器との通信終了後、機器が通信不能状態に移行できない場合であっても、他の機器との通信を遮断することなく、セキュリティを考慮してリモート接続を終了することができる。
【００８５】
尚、本発明をIEEE802.11準拠の無線ＬＡＮに適用した場合について説明したが、これに限るものではない。例えば、ワイヤレスＵＳＢ、MBOA、Bluetooth（登録商標）、ＵＷＢ、ZigBee等の他の無線媒体において実施してもよい。また、有線ＬＡＮ等の有線通信媒体において実施してもよい。
【００８６】
ここで、MBOAは、Multi Band OFDM Allianceの略である。また、ＵＷＢは、ワイヤレスＵＳＢ、ワイヤレス１３９４、ＷＩＮＥＴなどが含まれる。
【００８７】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013172274.tif 000003
【図２】
2013172274.tif 000004
【図３】
2013172274.tif 000005
【図４】
2013172274.tif 000006
【図５】
2013172274.tif 000007
【図６】
2013172274.tif 000008
【図７】
2013172274.tif 000009
【図８】
2013172274.tif 000010
【図９】
2013172274.tif 000011
【図１０】
2013172274.tif 000012
【図１１】
2013172274.tif 000013
【図１２】
2013172274.tif 000014