(57)【特許請求の範囲】
【請求項１】
通信装置であって、
第１の通信方式で通信する第１の通信手段と、
前記第１の通信手段により接続可能な第１の他の通信装置が構築しているネットワークの情報を、前記第１の通信方式とは異なる第２の通信方式により、前記第１の他の通信装置とは異なる第２の他の通信装置から受信する第２の通信手段と、
前記通信装置と前記第２の他の通信装置との間の距離に応じて、前記情報を用いて前記第１の通信手段が前記第１の他の通信装置が構築しているネットワークに接続するか否かを判定する判定手段と、
前記判定手段により前記第１の他の通信装置が構築しているネットワークに接続すると判定された場合には、前記第１の他の通信装置と通信するために、前記情報を用いて当該ネットワークとの接続を確立する確立手段と、を有し、
前記判定手段により前記第１の他の通信装置が構築しているネットワークに接続すると判定されなかった場合には、前記確立手段は、前記第１の他の通信装置が構築しているネットワークと接続を確立せず、前記第２の通信手段は、前記第１の他の通信装置とは異なる第３の他の通信装置が構築しているネットワークにおいて通信することを特徴とする通信装置。
【請求項２】
前記距離は、前記第２の通信手段により受信される信号の受信強度と、前記通信装置の位置の計測精度と、前記第２の通信手段による前記第２の他の通信装置との通信におけるリンク状態との少なくともいずれかに基づいて推定されることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記判定手段は、前記距離が第１の閾値よりも小さい場合に、前記第１の他の通信装置が構築しているネットワークに接続すると判定することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記距離が第２の閾値よりも大きい場合であって、前記第２の他の通信装置が所定の範囲を超えた移動をしていない場合、前記第２の通信手段は、前記第３の他の通信装置が構築しているネットワークにおいて通信することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記第１の閾値よりも前記第２の閾値の方が大きいことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記第２の通信手段は、前記距離が前記第２の閾値よりも大きい場合、前記第２の他の通信装置へ、前記情報の送信を停止することを指示する信号を送信することを特徴とする請求項４又は５に記載の通信装置。
【請求項７】
前記確立手段は、前記距離が前記第１の閾値よりも大きく前記第２の閾値よりも小さい場合、前記情報で示されたネットワークを検索し、当該ネットワークが発見され、かつ、当該ネットワークにおける電波強度が閾値以上である場合に、当該ネットワークとの接続を確立することを特徴とする請求項４から６のいずれか１項に記載の通信装置。
【請求項８】
前記第２の通信手段は、前記第２の他の通信装置の位置または移動に関する情報を、当該第２の他の通信装置から受信することを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
前記情報は、前記第１の通信手段による接続先候補となるネットワークのＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）、ＢＳＳＩＤ（Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）、暗号方式、暗号キー、通信チャネル、の少なくとも１つを含むことを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記第１の通信手段は、ＩＥＥＥ８０２．１１規格シリーズに準拠した無線ＬＡＮによる通信を行うことを特徴とする請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
前記第２の通信方式は、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙによる通信を行うことを特徴とする請求項１から１０のいずれか１項に記載の通信装置。
【請求項１２】
第１の通信方式で通信する第１の通信手段と、前記第１の通信手段により接続可能な第１の他の通信装置が構築しているネットワークの情報を、前記第１の通信方式とは異なる第２の通信方式により、前記第１の他の通信装置とは異なる第２の他の通信装置から受信する第２の通信手段と、を有する通信装置によって実行される制御方法であって、
前記通信装置と前記第２の他の通信装置との間の距離に応じて、前記情報を用いて前記第１の通信手段が前記第１の他の通信装置が構築しているネットワークに接続するか否かを判定する判定工程と、
前記判定工程により前記第１の他の通信装置が構築しているネットワークに接続すると判定された場合には、前記第１の他の通信装置と通信するために、前記情報を用いて当該ネットワークとの接続を確立する確立工程と、
前記判定工程により前記第１の他の通信装置が構築しているネットワークに接続すると判定されなかった場合には、前記第１の他の通信装置が構築しているネットワークと接続を確立せず、前記第２の通信手段によって、前記第１の他の通信装置とは異なる第３の他の通信装置が構築しているネットワークにおいて通信する工程と、を含むことを特徴とする制御方法。
【請求項１３】
第１の通信方式で通信する第１の通信手段と、前記第１の通信手段により接続可能な第１の他の通信装置が構築しているネットワークの情報を、前記第１の通信方式とは異なる第２の通信方式により、前記第１の他の通信装置とは異なる第２の他の通信装置から受信する第２の通信手段と、を有する通信装置に備えられたコンピュータに、請求項１２に記載の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置の接続確立制御技術に関する。
【背景技術】
【０００２】
近年、スマートデバイス、デジタルカメラ等の多くの端末機器が、無線ＬＡＮによる通信機能を搭載し、無線ＬＡＮのネットワークを介してデータの送受信を行うようになってきている。特許文献１には、移動しながら無線ＬＡＮのアクセスポイント（以下、「ＡＰ」と呼ぶ。）を検索し、ＡＰを検出すると、そのＡＰに接続してサーバからデータをダウンロードするデジタルカメラが記載されている。特許文献１に記載の技術によれば、ユーザが、多数のＡＰが設置されている空間を移動する場合に、そのユーザが所有するデジタルカメラが自動的に接続先のＡＰを切り替えて無線ＬＡＮによる通信を継続することができる。
【０００３】
一方、無線ＬＡＮでは、複数の周波数（チャネル）を用いることが可能であり、ＡＰごとに使用するチャネルが異なりうる。このため、通信装置は、周囲のＡＰを検索する際に、周囲のＡＰが利用するチャネルにおいて検索処理を行う必要がある。これに対して、特許文献２には、通信装置が、周囲のＡＰの検索を代理で行った通信装置と異なる外部端末（スマートデバイス等）から、接続対象のＡＰに関する情報の通知を受ける方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１２４３０８号公報
【特許文献２】特開２０１３−２５１８７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２に記載の方法では通信装置と外部端末とが互いに近隣に位置することを前提としており、双方が離れた場所に位置する場合については考慮されていない。通信装置と外部端末とが互いに離れた場所に位置する場合、外部装置におけるＡＰの検索結果が、そのまま通信装置に適用されうるとは限らない。すなわち、外部装置の位置において通信相手として適したＡＰであっても、通信装置の位置において通信相手としては適していない場合があるという課題があった。
【０００６】
本発明は上記課題に鑑みてなされたものであり、通信装置が、外部から通知された、接続先として適切でない装置に接続する可能性を低減する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る通信装置は、第１の通信方式で通信する第１の通信手段と、前記第１の通信手段により接続可能な第１の他の通信装置が構築しているネットワークの情報を、前記第１の通信方式とは異なる第２の通信方式により、前記第１の他の通信装置とは異なる第２の他の通信装置から受信する第２の通信手段と、前記通信装置と前記第２の他の通信装置との間の距離に応じて、前記情報を用いて前記第１の通信手段が前記第１の他の通信装置が構築しているネットワークに接続するか否かを判定する判定手段と、前記判定手段により前記第１の他の通信装置が構築しているネットワークに接続すると判定された場合には、前記第１の他の通信装置と通信するために、前記情報を用いて当該ネットワークとの接続を確立する確立手段と、を有し、前記判定手段により前記第１の他の通信装置が構築しているネットワークに接続すると判定されなかった場合には、前記確立手段は、前記第１の他の通信装置が構築しているネットワークと接続を確立せず、前記第２の通信手段は、前記第１の他の通信装置とは異なる第３の他の通信装置が構築しているネットワークにおいて通信することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、通信装置が、外部から通知された、接続先として適切でない装置に接続する可能性を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】無線通信システムの構成例を示す図。
【図２】デジタルカメラの構成例を示すブロック図。
【図３】スマートデバイスの構成例を示すブロック図。
【図４】デジタルカメラが実行する処理の流れの例を示すフローチャート。
【図５】ネットワーク検索処理の流れの例を示すフローチャート。
【図６】ネットワーク確認処理の流れの例を示すフローチャート。
【図７】スマートデバイスが実行する処理の流れの例を示すフローチャート。
【図８】接続先候補のネットワークを判定する処理の流れの例を示すフローチャート。
【図９Ａ】無線通信システムで実行される第１の処理例の流れを示すシーケンス図。
【図９Ｂ】無線通信システムで実行される第１の処理例の流れを示すシーケンス図。
【図１０Ａ】無線通信システムで実行される第２の処理例の流れを示すシーケンス図。
【図１０Ｂ】無線通信システムで実行される第２の処理例の流れを示すシーケンス図。
【図１１】無線通信システムで実行される第３の処理例の流れを示すシーケンス図。
【図１２Ａ】無線通信システムで実行される第４の処理例の流れを示すシーケンス図。
【図１２Ｂ】無線通信システムで実行される第４の処理例の流れを示すシーケンス図。
【図１２Ｃ】無線通信システムで実行される第４の処理例の流れを示すシーケンス図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、本発明の技術範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１１】
（無線通信システムの構成例）
図１に、本実施形態に係る無線通信システム１００の構成例を示す。図１の無線通信システム１００は、例えば、デジタルカメラ１０１Ａ〜１０１Ｂ、スマートデバイス１０２、及びアクセスポイント（ＡＰ）１０３Ａ〜１０３Ｂを含んで構成される。なお、デジタルカメラ１０１Ａ〜１０１Ｂ、スマートデバイス１０２、及びＡＰ１０３Ａ〜１０３Ｂは、それぞれ、無線ＬＡＮによる通信機能を有する無線通信装置である。ＡＰ１０３Ａ〜１０３Ｂは、それぞれ、インフラストラクチャ・モードで無線ＬＡＮのネットワーク１０６Ａ〜１０６Ｂを構築している。また、デジタルカメラ１０１Ａ〜１０１Ｂおよびスマートデバイス１０２は、ネットワーク１０６Ａ〜１０６Ｂの少なくともいずれかに接続し、無線ＬＡＮの信号１０４を介して無線通信を行うことができる。また、ＡＰ１０３Ａ〜１０３Ｂは、バックボーンネットワーク１０７と接続されている。なお、バックボーンネットワーク１０７は、例えばＩｎｔｅｒｎｅｔであるが、ローカルネットワーク等の他のネットワークであってもよい。さらに、デジタルカメラ１０１Ａ〜１０１Ｂは、それぞれ、スマートデバイス１０２との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙ（以下、「ＢＬＥ」と呼ぶ。）の信号１０５を用いた通信を行うことができる。
【００１２】
本実施形態では、デジタルカメラ１０１Ａ〜１０１Ｂは、スマートデバイス１０２から、接続候補となるＡＰに関するネットワーク情報をＢＬＥによる通信を介して取得して、その通知されたＡＰと接続することができる。ここで、スマートデバイス１０２は、自身が接続可能な、すなわち自身の近傍のＡＰを検索して、その近傍のＡＰに関するネットワーク情報を、接続候補のＡＰに関するネットワーク情報をデジタルカメラ１０１Ａ〜１０１Ｂへ送信する。デジタルカメラ１０１Ａ〜１０１Ｂは、スマートデバイス１０２との間の距離に応じて、スマートデバイス１０２から通知されたネットワーク情報に従うかを決定する。すなわち、デジタルカメラ１０１Ａ〜１０１Ｂは、スマートデバイス１０２との距離が大きく離れている場合には、そのスマートデバイス１０２から取得したネットワーク情報には従わない。スマートデバイス１０２の近傍のＡＰが、デジタルカメラ１０１Ａ〜１０１Ｂの近傍に存在するとは限らないからである。
【００１３】
以下では、このような動作を行うデジタルカメラ１０１Ａ〜１０１Ｂと、スマートデバイス１０２との構成と、これらの装置が実行する処理とについて説明する。なお、本実施形態では、デジタルカメラとスマートデバイスとの間で、ＢＬＥ通信を用いて、デジタルカメラが無線ＬＡＮのネットワークに接続するための処理を行うが、これに限られない。例えば、処理は、デジタルカメラが無線ＬＡＮと異なるネットワークに接続するために用いられてもよいし、本処理のためにＢＬＥではない別の通信方式による通信が用いられてもよい。なお、無線ＬＡＮは、ＩＥＥＥ８０２．１１規格シリーズに準拠するものであってもよいし、他の規格に従うものであってもよい。また、無線ＬＡＮではなく、例えば、ワイヤレスＵＳＢ、ＭＢＯＡ、Ｂｌｕｅｔｏｏｔｈ、ＵＷＢ、ＺｉｇＢｅｅ等の他の無線媒体が用いられてもよい。また、有線ＬＡＮ等の有線通信媒体が用いられてもよい。なお、ＭＢＯＡは、Ｍｕｌｔｉ  Ｂａｎｄ  ＯＦＤＭ  Ａｌｌｉａｎｃｅの頭字語である。また、ＵＷＢには、ワイヤレスＵＳＢ、ワイヤレス１３９４、ＷＩＮＥＴなどが含まれる。
【００１４】
また、デジタルカメラ及びスマートデバイスは、後述の処理を実行する通信装置の一例に過ぎず、一方の通信装置が、他の通信装置と連携してネットワークに接続するための処理を実行可能であれば、どのような装置が用いられてもよい。すなわち、デジタルカメラは、例えば、ノートパソコン、タブレット端末、ポータブルゲーム機、パーソナルデジタルアシスタント（ＰＤＡ）などの、通信機能を有する任意の装置と置き換えられうる。また、スマートデバイスも、同様に任意の装置で置き換えられうる。例えば、後述のスマートデバイスの機能をデジタルカメラが実行してもよい。
【００１５】
（デジタルカメラの構成）
図２に、本実施形態に係るデジタルカメラ１０１Ａ〜１０１Ｂの構成例を示す。デジタルカメラ１０１Ａ〜１０１Ｂは、例えば、Ｈｏｓｔ部２０とＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５とを含んで構成される。なお、Ｈｏｓｔ部２０及びＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５は、それぞれ、ハードウェア構成として、ＣＰＵやＭＰＵ等のプロセッサと、ＲＯＭやＲＡＭ等の記憶装置と、アンテナや増幅器等の通信装置とを含んで構成される。ここで、ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの頭字語であり、ＭＰＵはＭｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの頭字語である。また、ＲＯＭはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの、ＲＡＭはＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの頭字語である。なお、以下の各機能部の少なくとも一部は、例えばプロセッサによって記憶装置によって記憶されたプログラムが読み出されて実行されることにより実現されうるが、その一部は別のハードウェアによって実現されうる。
【００１６】
ここで、Ｈｏｓｔ部２０は、例えば、無線ＬＡＮ通信部２０１、パケット送受信部２０３、制御部２０４、記憶部２０５、電源部２０６、表示部２０７、操作部２０８、撮像部２０９、画像処理部２１０、符号／復号化部２１１、及び記録再生部２１２を有する。なお、Ｈｏｓｔ部２０は、さらに、ＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５との間のインタフェースとして、ＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉ／Ｆ２１３を含む。
【００１７】
一方、ＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５は、一例として、ＢＬＥ通信部２５１、パケット送受信部２５３、制御部２５４、記憶部２５６及び電源部２５７を有する。また、ＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５は、Ｈｏｓｔ部２０との間のインタフェースとして、Ｈｏｓｔ  Ｉ／Ｆ２５５を含む。
【００１８】
無線ＬＡＮ通信部２０１は、無線ＬＡＮの、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）制御、通信処理、ＩＥＥＥ８０２．１１シリーズに準拠した通信の各種制御を行うドライバや関連するプロトコルの処理を行う。無線ＬＡＮ通信部２０１は、アンテナ２０２を介して、無線ＬＡＮの通信を行う。パケット送受信部２０３は、無線ＬＡＮの各種通信に係るパケットの送受信を行う。制御部２０４は、記憶部２０５に記憶される制御プログラムを実行することにより、Ｈｏｓｔ部２０を制御する。記憶部２０５は、制御部２０４が実行する制御プログラムと、通信に必要なパラメータ等の各種情報を記憶する。後述するＨｏｓｔ部２０の各種動作は、記憶部２０５に記憶された制御プログラムを制御部２０４が実行することにより行われうる。
【００１９】
電源部２０６は、Ｈｏｓｔ部２０に電源を供給する。表示部２０７は各種表示を行う機能部であり、ＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、またはスピーカ等の音出力を行うことができる。操作部２０８は、デジタルカメラ１０１Ａ〜１０１Ｂに対する操作を受け付ける。撮像部２０９は、被写体の光学像を撮像する。画像処理部２１０は、撮像部２０９から出力された撮像画像を所定フォーマットの画像データに変換し、画像データの輝度や色補正等の各種処理を実行する。符号／復号化部２１１は、画像処理部２１０から出力された画像データに対して、所定の高能率符号化（例えば、ＤＣＴ変換、量子化後の可変長符号化）を行う。記録再生部２１２は、圧縮符号化された画像データを不図示の記録媒体に記録再生する。
【００２０】
ＢＬＥ通信部２５１は、ＢＬＥの、ＲＦ制御、通信処理、規格に準拠した通信のための各種制御を行うドライバや関連するプロトコルの処理を行う。ＢＬＥ通信部２５１は、アンテナ２５２を介してＢＬＥの通信を行う。パケット送受信部２５３は、ＢＬＥ通信に係るパケットの送受信を行う。制御部２５４は、記憶部２５６に記憶された制御プログラムを実行することによりＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５を制御する。記憶部２５６は、制御部２５４が実行する制御プログラムと、ＢＬＥ通信に必要なパラメータ等の各種情報を記憶する。後述するＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５の各種動作は、記憶部２５６に記憶された制御プログラムを制御部２５４が実行することにより行われうる。電源部２５７は、ＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５に電源を供給する。
【００２１】
本実施形態では、ＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５を上述のように構成することにより、ＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５とＨｏｓｔ部２０とがそれぞれ独立して動作することができる。すなわち、ＢＬＥ  Ｃｏｎｔｒｏｌｌｅｒ部２５は、電源部２０６がＨｏｓｔ部２０に対する電源供給を停止していても、電源部２５７からの電源供給により起動し、外部装置とＢＬＥによる通信を行うことができる。
【００２２】
（スマートデバイスの構成）
図３に、本実施形態に係るスマートデバイス１０２の構成例を示す。スマートデバイス１０２は、例えば、無線ＬＡＮ通信部３０１、公衆無線通信部３０３、ＢＬＥ通信部３０５、パケット送受信部３０７、制御部３０８、記憶部３０９、電源部３１０、表示部３１１、操作部３１２、通話部３１３及びマイク３１４を有する。
【００２３】
無線ＬＡＮ通信部３０１は、無線ＬＡＮの、ＲＦ制御、通信処理、ＩＥＥＥ８０２．１１シリーズに準拠した通信の各種制御を行うドライバや関連するプロトコルの処理を行う。無線ＬＡＮ通信部３０１は、アンテナ３０２を介して、無線ＬＡＮの通信を行う。公衆無線通信部３０３は、公衆無線通信の、ＲＦ制御、通信処理、規格に準拠した通信の各種制御を行うドライバや関連するプロトコルの処理を行う。公衆無線通信は、例えばＩＭＴ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｕｌｔｉｍｅｄｉａ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ）規格やＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）規格などに準拠した通信でありうる。公衆無線通信部３０３は、アンテナ３０４を介して通信を行う。ＢＬＥ通信部３０５は、ＢＬＥの、ＲＦ制御、通信処理、規格に準拠した通信の各種制御を行うドライバや関連するプロトコルの処理を行う。ＢＬＥ通信部３０５は、アンテナ３０６を介して通信を行う。パケット送受信部３０７は、各種通信にかかわるパケットを送受信する。制御部３０８は、記憶部３０９に記憶される制御プログラムを実行することにより、スマートデバイス１０２全体を制御する。記憶部３０９は、制御部３０８が実行する制御プログラムと、通信に必要なパラメータ等の各種情報を記憶する。後述する各種動作は、記憶部３０９に記憶された制御プログラムを制御部３０８が実行することにより行われうる。電源部３１０は、スマートデバイス１０２に電源を供給する。表示部３１１は、各種表示を行う機能部であり、ＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、またはスピーカ等の音出力を行うことができる。操作部３１２は、スマートデバイス１０２に対する操作を受け付ける。通話部３１３は、マイク３１４を介して、ユーザへ通話機能を提供する。
【００２４】
上述の全ての機能ブロックは、ソフトウェアまたはハードウェアにおける相互関係を有するものである。また、上述の機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分けられてもよい。
【００２５】
（処理の流れ）
以下では、デジタルカメラ１０１Ａ又は１０１Ｂと、スマートデバイス１０２がそれぞれ実行する処理について説明した後に、いくつかの状況においてシステム内で実行される処理の流れの例について説明する。なお、以下の説明では、スマートデバイス１０２に、接続先の候補となりうるＡＰのネットワーク情報が予め登録されているものとする。ここで、ネットワーク情報は、ＡＰが生成するネットワークのＢＳＳＩＤ（Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）や通信チャネルでありうるが、これらに限られない。例えば、ＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）、暗号方式、暗号キー、通信チャネル、電波強度又はネットワークを識別可能とする所定の識別情報等の少なくともいずれかがネットワーク情報として用いられてもよい。また、以下の説明では、ＢＬＥ通信は、ＧＡＴＴ（Ｇｅｎｅｒｉｃ  Ａｔｔｒｉｂｕｔｅ）プロファイルでのリンクが確立された状態であるものとする。
【００２６】
（（デジタルカメラの処理））
図４は、デジタルカメラ１０１Ａが、他の装置を介した無線ＬＡＮの接続制御を開始した場合の処理の流れの例を示すフローチャートである。ここで、この、他の装置を介した無線ＬＡＮの接続制御を、以下では「連携接続処理」と呼ぶ。本処理は、例えばデジタルカメラ１０１Ａにおけるユーザのボタン操作やメニュー選択を契機に開始されうるが、これに限られない。例えば、デジタルカメラ１０１Ａは、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）によって、スマートデバイス１０２の近接を検知した場合に、本処理を開始しうる。なお、デジタルカメラ１０１Ｂも同様の動作をすることができる。
【００２７】
まず、デジタルカメラ１０１Ａは、外部装置であるスマートデバイス１０２との距離を推定する（Ｓ４０１）。以下では、距離の推定は、一例として、ＢＬＥ通信における信号１０５の受信強度（ＲＳＳＩ）に基づいた、Ｉｍｍｅｄｉａｔｅ（至近距離）、Ｎｅａｒ（近距離）、Ｆａｒ（遠距離）等の３段階の結果を与えるものとする。なお、Ｉｍｍｅｄｉａｔｅ、Ｎｅａｒ、Ｆａｒの３段階の評価結果は、例えばデジタルカメラ１０１Ａからの距離が短い順に短い第１の範囲、第２の範囲、及び第３の範囲、のように一般化することができる。この場合、距離の推定では、所定の基準に従って、デジタルカメラ１０１Ａとスマートデバイス１０２との距離がどの範囲に属するかが判定されうる。なお、この他の距離推定技術が用いられてもよい。例えば、ＢＬＥ通信における位置の計測精度やリンク状態等を用いて、距離推定が行われてもよい。デジタルカメラ１０１Ａは、計測精度を用いる場合、計測精度の値が閾値以下であるか否かを判定することにより、スマートデバイス１０２が一定以上離れた位置に存在するか否かを推定することができる。また、デジタルカメラ１０１Ａは、リンク状態を用いる場合、接続中のＢＬＥ通信のリンクが切断された場合に、スマートデバイス１０２が一定以上離れた位置に存在すると推定しうる。なお、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離を、上述の基準を組み合せて推定してもよい。
【００２８】
次に、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離推定結果がＦａｒであるか否かを判定する（Ｓ４０２）。なお、ここでは、上述の３段階での距離推定と異なる手法で距離が推定された場合には、デジタルカメラ１０１Ａとスマートデバイス１０２との間の距離が所定距離以上離れているかが判定されてもよい。デジタルカメラ１０１Ａは、距離推定結果がＦａｒである場合（Ｓ４０２でＹＥＳ）は処理をＳ４０３へ進める一方で、距離推定結果がＦａｒでない場合（Ｓ４０２でＮＯ）は処理をＳ４１１へ進める。
【００２９】
まず、デジタルカメラ１０１Ａが、スマートデバイス１０２がＦａｒと判定されるよりも近い位置に存在する場合（Ｓ４０２でＮＯ）について説明する。この場合、デジタルカメラ１０１Ａは、スマートデバイス１０２へ処理停止通知を送信したか否かを判定し（Ｓ４１１）、処理停止通知を送信した場合（Ｓ４１１でＹＥＳ）は、処理開始通知を送信して（Ｓ４１２）、処理をＳ４０１へ戻す。なお、Ｓ４１２の判定は、以前に処理開始通知が送信されて以降、処理停止通知が送信されたかの判定でありうる。この場合、デジタルカメラ１０１Ａは、処理をＳ４０１へ戻した後にスマートデバイス１０２との距離がＦａｒの状態とならない限り、処理を再度Ｓ４１１へ戻すこととなる。一方、デジタルカメラ１０１Ａは、処理停止通知を送信していない場合（Ｓ４１１でＮＯ）は、処理をＳ４１３へ進める。
【００３０】
ここで、処理停止通知は、デジタルカメラ１０１Ａが、他の装置（スマートデバイス１０２）から取得した情報に基づくＡＰの検索処理、すなわち連携接続処理を停止することを当該他の装置に通知するための信号である。また、処理開始通知は、連携接続処理を開始することを当該他の装置に通知するための信号である。なお、他の装置（スマートデバイス１０２）は、処理開始通知および処理停止通知のそれぞれによって、ネットワークの選択と、そのネットワークに関する情報の通知の開始および停止を行う。処理開始通知および処理停止通知は、ＢＬＥ通信における信号１０５として送受信されうる。
【００３１】
Ｓ４１３では、デジタルカメラ１０１Ａは、スマートデバイス１０２から、ネットワーク情報を受信したか否かを判定する。デジタルカメラ１０１Ａは、ネットワーク情報を受信した場合（Ｓ４１３でＹＥＳ）は、処理をＳ４１４へ進める一方で、受信していない場合（Ｓ４１３でＮＯ）は、処理をＳ４０１へ戻す。Ｓ４１４では、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離推定結果がＩｍｍｅｄｉａｔｅであるか否かを判定する。なお、ここでは、上述の３段階での距離推定と異なる手法で距離が推定された場合には、デジタルカメラ１０１Ａとスマートデバイス１０２との間の距離が所定距離より短いかが判定されてもよい。ここでの所定距離は、Ｓ４０２での判定に用いられうる所定距離より短い第２の所定距離であってもよいし、Ｓ４０２での判定に用いられうる所定距離と同じであってもよい。デジタルカメラ１０１Ａは、スマートデバイス１０２との距離の推定結果がＩｍｍｅｄｉａｔｅである場合（Ｓ４１４でＹＥＳ）は、処理をＳ４１７へ進める一方、Ｉｍｍｅｄｉａｔｅでない場合（Ｓ４１４でＮＯ）は処理をＳ４１５へ進める。
【００３２】
デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅと判定されない程度であった場合（Ｓ４１４でＮＯ）、受信した接続先候補のネットワークに接続するかの判定を行うネットワーク確認処理を実行する（Ｓ４１５）。なお、スマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅと判定されない程度である場合とは、例えば、スマートデバイス１０２との距離がＮｅａｒと判定される程度の距離の場合である。なお、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離が、Ｓ４０２での判定に用いられる第１の所定距離より短く、かつ、上述の第２の所定距離以上である場合に、Ｓ４１４においてＮＯと判定してもよい。ネットワーク確認処理については、図６を用いて後述する。なお、ここでは、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＮｅａｒである場合にのみ、ネットワーク確認処理を実行するようにしたが、距離に関係なくネットワーク確認処理を実行してもよい。これにより、デジタルカメラ１０１Ａは、スマートデバイス１０２と自身との無線ＬＡＮの通信特性が異なり、接続先候補として選択されたネットワークが不適切である場合に、そのネットワークに接続することを防ぐことができる。
【００３３】
Ｓ４１６では、デジタルカメラ１０１Ａは、Ｓ４１５のネットワーク確認処理における判定に基づいて、スマートデバイス１０２から受信した接続先候補のネットワークに接続するか否かを判定する。デジタルカメラ１０１Ａは、接続先候補のネットワークへ接続する場合（Ｓ４１６でＹＥＳ）、そのネットワークへの接続を行い（Ｓ４１７）、処理をＳ４１９へ進める。一方、デジタルカメラ１０１Ａは、接続先候補のネットワークへ接続しない場合（Ｓ４１６でＮＯ）は、スマートデバイス１０２から受信したネットワーク情報を破棄し（Ｓ４１８）、処理をＳ４１９へ進める。
【００３４】
Ｓ４１４において、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅと判定された場合（Ｓ４１４でＹＥＳ）、スマートデバイス１０２から受信した情報を用いて、接続先候補のネットワークに接続する（Ｓ４１７）。そして、デジタルカメラ１０１Ａは、処理をＳ４１９へ進める。デジタルカメラ１０１Ａは、例えば、スマートデバイス１０２からＡＰ１０３Ａに関するネットワーク情報を取得して、ＡＰ１０３が提供するネットワーク１０６Ａに参加する。
【００３５】
Ｓ４０２において、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＦａｒであると判定した場合（Ｓ４０２でＹＥＳ）、続いて、スマートデバイス１０２が移動したか否かを判定する（Ｓ４０３）。そして、デジタルカメラ１０１Ａは、スマートデバイス１０２が移動した場合（Ｓ４０３でＹＥＳ）は処理をＳ４０４へ進める一方で、移動していない場合（Ｓ４０３でＮＯ）は処理をＳ４０５へ進める。
【００３６】
スマートデバイス１０２が移動したか否かの判定は、スマートデバイス１０２からＢＬＥ通信を介して移動通知を受信したか否かにより行われうる。なお、移動通知は、スマートデバイス１０２における移動の有無を示すデータであるが、移動検出の精度や手段、時刻等のデータが含まれていてもよい。また、デジタルカメラ１０１Ａは、スマートデバイス１０２の移動判定を、自身が有するＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）や加速度、ジャイロ等の各種センサや周囲のネットワーク情報を用いた自身の移動検出により判定しうる。例えば、デジタルカメラ１０１Ａは、自身の移動を検出した場合であって、スマートデバイス１０２との距離が前回推定時よりも離れた場合には、デジタルカメラ１０１Ａが移動したと判定し、スマートデバイス１０２が移動していないと判定しうる。
【００３７】
デジタルカメラ１０１Ａは、スマートデバイス１０２が移動したと判定した場合（Ｓ４０３でＹＥＳ）、続いて、スマートデバイス１０２からネットワーク情報を受信したか否かを判定する（Ｓ４０４）。そして、デジタルカメラ１０１Ａは、ネットワーク情報を受信した場合（Ｓ４０４でＹＥＳ）は、受信したネットワーク情報を破棄して（Ｓ４０９）、また、受信していない場合（Ｓ４０４でＮＯ）は何もせずに、処理をＳ４１０へ進める。Ｓ４１０では、デジタルカメラ１０１Ａは、スマートデバイス１０２に対して、処理停止通知の送信を行う。これにより、デジタルカメラ１０１Ａは、スマートデバイス１０２が離れた位置に存在する場合に、スマートデバイス１０２から受信した不適切なネットワーク情報に基づいた接続設定を行うことを防ぐことができる。
【００３８】
なお、図４では、デジタルカメラ１０１Ａが、すでに何らかのネットワークとの間で接続を確立していて、その後、連携接続処理を行っているスマートデバイス１０２との距離が離れた場合の処理について示している。このため、図４では、Ｓ４０３において、外部装置が移動したと判定した場合は、デジタルカメラ１０１Ａは、その時点で確立されているネットワークとの接続を維持すればよいため、その後のネットワーク接続処理は行わない。一方、デジタルカメラ１０１Ａがいずれのネットワークとも接続を確立していない場合はありうる。この場合、デジタルカメラ１０１Ａは、スマートデバイス１０２からのネットワーク情報によらず、後述のネットワーク検索処理のようにして、自律的に接続先のネットワークを検索して接続を確立してもよい。
【００３９】
一方、デジタルカメラ１０１Ａは、スマートデバイス１０２が移動していないと判定した場合（Ｓ４０３でＮＯ）、ネットワーク検索処理を実行する（Ｓ４０５）。ネットワーク検索処理では、デジタルカメラ１０１Ａは、自身が接続すべきネットワークを検索して、そのようなネットワークが存在する場合には、そのネットワークに関するネットワーク情報を記憶する。ネットワーク検索処理については、図５を用いて後述する。
【００４０】
デジタルカメラ１０１Ａは、ネットワーク検索処理の結果として、接続先候補のネットワーク情報が記憶されたか否かを判定する（Ｓ４０６）。デジタルカメラ１０１Ａは、ネットワーク情報が記憶されている場合（Ｓ４０６でＹＥＳ）は処理をＳ４０７へ進め、ネットワーク情報が記憶されていない場合（Ｓ４０６でＮＯ）は接続先候補を発見しなかったものとして処理をＳ４１０へ進める。Ｓ４０７では、デジタルカメラ１０１Ａは、記憶されているネットワークが、デジタルカメラ１０１Ａが接続中のネットワークと同一であるかを判定する。そして、デジタルカメラ１０１Ａは、これらのネットワークが同一である場合（Ｓ４０７でＹＥＳ）には受信したネットワーク情報を破棄する（Ｓ４０９）。一方、デジタルカメラ１０１Ａは、これらのネットワークが同一でない場合（Ｓ４０７でＮＯ）は、記憶されていたネットワークに接続する（Ｓ４０８）。その後、デジタルカメラ１０１Ａは、スマートデバイス１０２に対して、処理停止通知を送信して（Ｓ４１０）、処理をＳ４１９へ進める。
【００４１】
Ｓ４１９では、デジタルカメラ１０１Ａは、連携接続処理を終了するか否かを判定し、終了すると判定した場合（Ｓ４１９でＹＥＳ）は処理を終了し、終了しないと判定した場合（Ｓ４１９でＮＯ）は処理をＳ４０１へ戻す。ここでは、デジタルカメラ１０１Ａは、ユーザのボタン操作やメニュー選択を契機に本処理を終了すると判定しうるが、これに限られない。例えば、デジタルカメラ１０１Ａは、一定期間にわたって無操作状態が続いた場合や、ＢＬＥ通信のリンク切断等を契機に、処理を終了すると判定してもよい。これにより、デジタルカメラ１０１Ａは、不要な電力消費を抑制することができる。
【００４２】
次に、図５を用いて、デジタルカメラ１０１Ａが実行するネットワーク検索処理の流れについて説明する。本処理において、デジタルカメラ１０１Ａは、まず、データ通信中であるか否かを判定し（Ｓ５０１）、データ通信中である場合（Ｓ５０１でＹＥＳ）は処理をＳ５０２へ進め、データ通信中でない場合（Ｓ５０１でＮＯ）は処理をＳ５０３へ進める。Ｓ５０２では、デジタルカメラ１０１Ａは、データ通信中の状態が所定時間に達したかを観測することによってタイムアウトが発生したか否かを判定する。そして、デジタルカメラ１０１Ａは、タイムアウトが発生した場合（Ｓ５０２でＹＥＳ）は、データ通信中のために、ネットワークのスキャンを実行できる状況ではないと判定し、そのまま処理を終了する。一方、デジタルカメラ１０１Ａは、タイムアウトが発生していない場合（Ｓ５０２でＮＯ）は、処理をＳ５０１へ戻す。
【００４３】
Ｓ５０３では、デジタルカメラ１０１Ａは、周囲のネットワークの全通信チャネルに対してスキャンを行う。なお、デジタルカメラ１０１Ａは、本実施形態では全通信チャネルに対してスキャンを実行するものとするが、自身に事前に登録されたネットワークに対応する通信チャネルのみをスキャンするようにしてもよい。これにより、ネットワークのスキャンにかかる時間を短縮することができ、データ通信が必要な場合に、早期にスキャンからデータ通信へと戻ることができる。この後、デジタルカメラ１０１Ａは、接続先候補を判定するために、Ｓ５０３のスキャンによって得られた各ネットワークに対して、Ｓ５０４〜Ｓ５０８の処理を繰り返し実行する。
【００４４】
Ｓ５０４では、デジタルカメラ１０１Ａは、対象のネットワークが事前に登録されていたネットワークであるか否かを判定する。デジタルカメラ１０１Ａは、対象のネットワークが事前に登録されていた場合（Ｓ５０４でＹＥＳ）は、対象のネットワークの電波強度が一定値以上、すなわち、閾値Ｔｒ以上であるか否かを判定する（Ｓ５０５）。そして、デジタルカメラ１０１Ａは、対象のネットワークの電波強度が閾値以上である場合（Ｓ５０５でＹＥＳ）は、対象のネットワークの電波強度が、スキャンで得られた他のネットワークの電波強度よりも大きいか否かを判定する（Ｓ５０６）。なお、Ｓ５０６では、これまでにＳ５０４〜Ｓ５０８の処理の対象となったネットワークについて、上述の判定が行われる。すなわち、例えば１つのネットワークしか発見されなかった場合には、Ｓ５０６の処理は行われなくてもよい。デジタルカメラ１０１Ａは、対象のネットワークの電波強度が、それまでに判定されたネットワークの電波強度より大きい場合（Ｓ５０６でＹＥＳ）は、処理をＳ５０７へ進める。Ｓ５０７では、デジタルカメラ１０１Ａは、対象のネットワークの電波強度が、現在接続中のネットワークにおける電波強度より強いか否かを判定する。なお、接続中のネットワークが存在しない、すなわち、デジタルカメラ１０１Ａがネットワークと接続を確立していない場合は、Ｓ５０７の処理は行われなくてもよい。そして、デジタルカメラ１０１Ａは、対象のネットワークの電波強度が、現在接続中のネットワークの電波強度より強い場合（Ｓ５０７でＹＥＳ）は、対象のネットワークの情報を接続先候補のネットワークのネットワーク情報として記憶する（Ｓ５０８）。また、デジタルカメラ１０１Ａは、Ｓ５０４〜Ｓ５０７のいずれかの判定がＮＯである場合には、対象のネットワークに接続しないと判定し、別の接続先候補のネットワークに対してＳ５０４〜Ｓ５０８の処理を実行する。Ｓ５０３で発見されたネットワークの全てに対して、Ｓ５０４〜Ｓ５０８の処理が繰り返し実行された後に、本処理は終了する。
【００４５】
なお、デジタルカメラ１０１は、Ｓ５０６において、Ｓ５０８で記憶された情報に対応するネットワークについての電波強度と、対象のネットワークの電波強度とを比較しうる。ここで、Ｓ５０８において対象のネットワークの情報が記憶される前に、ネットワーク情報として、現在接続中のネットワークの情報が記憶されていてもよい。例えば、周期的に、現在接続中のネットワークについて記憶されるようにしてもよい。この場合、Ｓ５０６における１回目の判定は、対象のネットワークの電波強度と、現在接続中のネットワークの電波強度との比較によるものとなるため、Ｓ５０７の処理は省略されうる。また、現在接続中のネットワークのＳ５０７の１回目の判定において、現在接続中のネットワークの電波強度が、対象のネットワークの電波強度より大きい場合に、現在接続中のネットワークの電波強度を記憶するようにしてもよい。また、現在接続中のネットワークについても接続先候補のネットワークとして、Ｓ５０４〜Ｓ５０８の処理が実行されてもよい。この場合、Ｓ５０７の処理は省略されてもよい。
【００４６】
なお、デジタルカメラ１０１は、Ｓ５０３においてスキャンを実行する前に現在接続中のネットワークの電波の受信強度を取得し、その受信強度が閾値以上である場合に、Ｓ５０３からＳ５０８の処理を省略してもよい。この場合、デジタルカメラ１０１は、接続先候補のネットワークがないものとして本処理を終了しうる。これにより、既に安定したネットワークへ接続している場合に、不要なネットワーク検索および切り替えを抑制することができ、データ通信が必要な場合に、早期にデータ通信へ戻ることができる。
【００４７】
なお、図５の例では、デジタルカメラ１０１Ａは、データ通信中は周囲のネットワークのスキャンを実行しないようにしたが、データ通信中であってもスキャンを実行してもよい。例えば、デジタルカメラ１０１Ａは、接続中のネットワークの電波強度が閾値より小さくなっている場合はデータ通信中であってもスキャンを実行してもよい。これにより、データ通信が不安定となりスループットが低下している場合に、デジタルカメラ１０１Ａは、より安定したネットワークへ接続を切り替えてデータ通信を行うことができる。
【００４８】
次に、図６を用いて、デジタルカメラ１０１Ａが実行するネットワーク確認処理の流れについて説明する。本処理において、デジタルカメラ１０１Ａは、まず、データ通信中であるか否かを判定し（Ｓ６０１）、データ通信中である場合（Ｓ６０１でＹＥＳ）は処理をＳ６０２へ進め、データ通信中でない場合（Ｓ６０１でＮＯ）は処理をＳ６０３へ進める。Ｓ６０２では、デジタルカメラ１０１Ａは、データ通信中の状態が所定時間に達したかを観測することによってタイムアウトが発生したか否かを判定する。そして、デジタルカメラ１０１Ａは、タイムアウトが発生した場合（Ｓ６０２でＹＥＳ）は、データ通信中のために、ネットワークのスキャンを実行できる状況ではないと判定し、そのまま処理を終了する。一方、デジタルカメラ１０１Ａは、タイムアウトが発生していない場合（Ｓ６０２でＮＯ）は、処理をＳ６０１へ戻す。
【００４９】
Ｓ６０３では、デジタルカメラ１０１Ａは、スマートデバイス１０２から受信した接続先候補のネットワーク情報に基づいて、そのネットワークが存在する通信チャネルにおいてスキャンを実行する。このように、確認すべきネットワークの通信チャネルのみをスキャンすることで、スキャン時間を短縮することができ、データ通信におけるスループット低下を抑制することができる。その後、デジタルカメラ１０１Ａは、接続先候補のネットワークが周囲に存在するか否かを判定する（Ｓ６０４）。デジタルカメラ１０１Ａは、接続先候補のネットワークが存在した場合（Ｓ６０４でＹＥＳ）は処理をＳ６０５へ進める。Ｓ６０５では、デジタルカメラ１０１Ａは、接続先候補のネットワークの電波強度が一定以上、例えば、閾値Ｔｒ以上であるか否かを判定する。デジタルカメラ１０１Ａは、接続先候補のネットワークの電波強度が閾値以上である場合（Ｓ６０５でＹＥＳ）は処理をＳ６０６へ進める。一方で、デジタルカメラ１０１Ａは、接続先候補のネットワークが周囲に存在しなかった場合（Ｓ６０４でＮＯ）、電波強度が閾値未満である場合（Ｓ６０５でＮＯ）は、接続先候補のネットワークへ接続しないと判定して処理を終了する。
【００５０】
Ｓ６０６では、デジタルカメラ１０１Ａは、接続先候補のネットワークの電波強度が、現在接続中のネットワークの電波強度よりも大きいか否かを判定する。そして、デジタルカメラ１０１Ａは、接続先候補のネットワークの方が現在接続中のネットワークよりも電波強度が大きい場合（Ｓ６０６でＹＥＳ）、接続先候補のネットワークに接続すると判定し（Ｓ６０７）、本処理を終了する。一方、デジタルカメラ１０１Ａは、接続先候補のネットワークの方が現在接続中のネットワークよりも電波強度以下である場合（Ｓ６０６でＮＯ）、接続先候補のネットワークへの接続は行わないと判定して本処理を終了する。
【００５１】
なお、上述の説明では、受信したネットワーク情報に係るネットワークが存在する通信チャネルのみをスキャンするようにしたが、デジタルカメラ１０１Ａは、他の通信チャネルを同時にスキャンしてもよい。これにより、デジタルカメラ１０１Ａは、受信したネットワーク情報に係るネットワークが自身にとって適切でなかった場合でも、周囲の他の適切なネットワークに接続することができる。
【００５２】
また、デジタルカメラ１０１Ａは、データ通信中である場合にはネットワークのスキャンを実行しないとしたが、データ通信中であってもスキャンを実行してもよい。これにより、例えばデータ通信が不安定となりスループットが低下している場合に、より安定したネットワークへ接続を切り替えてデータ通信を継続することができる。
【００５３】
なお、デジタルカメラ１０１Ａは、Ｓ６０３においてスキャンを実行する前に現在接続中のネットワークの電波強度を取得し、電波強度が閾値以上である場合に、Ｓ６０３からＳ６０７の処理を省略し、接続先ネットワークを切り替えなくてもよい。これにより、既に安定したネットワークへ接続している場合に、不要なネットワーク探索および切り替えを抑制することができ、データ通信が必要な場合に、早期にデータ通信へ戻ることができる。
【００５４】
（（スマートデバイスの処理））
次に、スマートデバイス１０２が実行する処理の流れについて説明する。図７は、スマートデバイス１０２が、連携接続処理によって他の装置（デジタルカメラ１０１Ａ）に無線ＬＡＮのネットワーク情報を提供する処理の流れの例を示すフローチャートである。本処理は、例えばスマートデバイス１０２におけるユーザのアプリケーションの起動やボタン操作等を契機に開始されうるが、これに限られない。例えば、スマートデバイス１０２は、デジタルカメラ１０１からＢＬＥ通信を介して処理開始通知を受信したことを契機に、自動的に本処理を開始してもよい。
【００５５】
スマートデバイス１０２は、まず、自身の移動を検出したか否かを判定し（Ｓ７０１）、移動を検出した場合（Ｓ７０１でＹＥＳ）は処理をＳ７０２へ進め、移動を検出していない場合（Ｓ７０１でＮＯ）は処理をＳ７０３へ進める。なお、移動検出は、例えば、スマートデバイス１０２が有するＧＰＳ機能や加速度センサ、ジャイロ等の各種センサの情報を用いて行われうる。ただし、これに限られず、例えば、無線ＬＡＮやＢＬＥ等の周囲のネットワーク情報やインターネット上のサーバ等に記憶された位置情報を用いて移動検出が行われても酔い。また、移動検出は、各種センサ情報やネットワーク情報等の組み合わせによって行われてもよい。スマートデバイス１０２は、Ｓ７０２において、デジタルカメラ１０１Ａへ移動通知を送信し、処理をＳ７０３へ進める。
【００５６】
スマートデバイス１０２は、Ｓ７０３において、接続先ネットワークの選択を開始するか否かを判定し、開始する場合（Ｓ７０３でＹＥＳ）は処理をＳ７０４へ進め、開始しない場合（Ｓ７０３でＮＯ）は処理をＳ７０１へ戻す。なお、ネットワーク選択を開始するか否かの判定は、例えば、前に接続先ネットワークの選択を実行した時点からの時間経過と、デジタルカメラ１０１Ａから処理停止通知又は処理開始通知を受信したか否かと、によって行われうる。例えば、スマートデバイス１０２は、前回の接続先ネットワークの選択を実行した時点から所定時間以上の時間が経過していた場合には、周囲のネットワークが変更されている可能性を考慮して、ネットワーク選択を開始すると判定しうる。ただし、スマートデバイス１０２は、例えばデジタルカメラ１０１Ａから処理停止通知を受信していた場合には、所定時間以上の時間の経過後であっても、ネットワーク選択を開始しなくてもよい。また、スマートデバイス１０２は、例えば、所定時間以上の時間の経過前であっても、デジタルカメラ１０１Ａから処理開始通知を受信した場合には、ネットワーク選択を開始しうる。なお、スマートデバイス１０２は、例えば、自身の移動を検出したか否か等によって、ネットワーク選択を開始するかを判定するなど、他の方法によって上述の判定を行ってもよい。スマートデバイス１０２は、例えば、移動検出時には周囲のネットワークが変更されている可能性が高いため、ネットワーク選択を開始すると判定しうる。
【００５７】
Ｓ７０４では、スマートデバイス１０２は、デジタルカメラ１０１Ａの接続しているネットワーク情報を取得する。ここで、スマートデバイス１０２は、デジタルカメラ１０１Ａが接続中のネットワーク情報を、ＢＬＥ通信の信号１０５を用いて、デジタルカメラ１０１Ａから取得しうる。なお、これに限られず、スマートデバイス１０２は、例えば、周囲に存在するネットワークに順次接続して、そのネットワークにおいてデジタルカメラ１０１Ａを探索しうる。この探索には、例えば、ディスカバリプロトコルであるＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）やｍＤＮＳ（Ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ）が用いられうる。
【００５８】
次に、スマートデバイス１０２は、デジタルカメラ１０１Ａが接続中のネットワーク情報の取得に成功したか否かを判定する（Ｓ７０５）。スマートデバイス１０２は、デジタルカメラ１０１Ａが接続中のネットワーク情報の取得に成功した場合（Ｓ７０５でＹＥＳ）は、そのネットワーク情報を記憶して（Ｓ７０６）、処理をＳ７０７へ進める。一方で、スマートデバイス１０２は、デジタルカメラ１０１Ａが接続中のネットワーク情報の取得に失敗した場合（Ｓ７０５でＮＯ）は、ネットワーク情報の記憶を行わずに、処理をＳ７０７へ進める。なお、スマートデバイス１０２は、デジタルカメラ１０１Ａが接続中のネットワーク情報の取得に失敗した場合は、デジタルカメラ１０１Ａがネットワークに現在接続していないと判定しうる。
【００５９】
Ｓ７０７では、スマートデバイス１０２は、デジタルカメラ１０１Ａが接続すべきネットワークを判定する。スマートデバイス１０２は、デジタルカメラ１０１Ａが接続すべきネットワークが存在する場合には、接続先候補のネットワークの情報として、その接続すべきネットワークの情報を記憶しておく。この判定の詳細については、図８を用いて後述する。
【００６０】
次に、スマートデバイス１０２は、接続先候補のネットワークの情報が記憶されているか否かを判定し（Ｓ７０８）、記憶されている場合（Ｓ７０８でＹＥＳ）は、処理をＳ７０９へ進める。一方、スマートデバイス１０２は、接続先候補のネットワークの情報が記憶されていない場合（Ｓ７０８でＮＯ）は、デジタルカメラ１０１の接続対象ネットワークを発見できなかったものとして、ネットワーク情報を送信せずに、処理をＳ７１１へ進める。
【００６１】
スマートデバイス１０２は、Ｓ７０９において、記憶されているネットワークが、デジタルカメラ１０１Ａの接続中のネットワークと同一であるか否かを判定する。スマートデバイス１０２は、デジタルカメラ１０１Ａが接続中のネットワークの情報を接続先候補として記憶していた場合（Ｓ７０９でＹＥＳ）は、改めてネットワーク情報を通知する必要がないため、ネットワーク情報を送信せずに、処理をＳ７１１へ進める。このように、Ｓ７０９の判定により、スマートデバイス１０２は、デジタルカメラ１０１への不要なネットワーク情報の送信を抑制することができる。
【００６２】
一方、スマートデバイス１０２は、接続先候補のネットワークとデジタルカメラ１０１が接続中のネットワークとが異なる場合（Ｓ７０９でＮＯ）は、処理をＳ７１０へ進める。Ｓ７１０では、スマートデバイス１０２は、ＢＬＥ通信の信号１０５によって、デジタルカメラ１０１Ａへ接続先候補のネットワーク情報を送信して（Ｓ７１０）、処理をＳ７１１へ進める。
【００６３】
Ｓ７１１では、スマートデバイス１０２は、連携接続処理を終了するか否かを判定し、終了しないと判定した場合（Ｓ７１１でＮＯ）は処理をＳ７０１へ戻し、終了すると判定した場合（Ｓ７１１でＹＥＳ）は処理を終了する。なお、スマートデバイス１０２は、ユーザによるアプリケーションの終了やボタン操作等を契機に本処理を終了すると判定しうるが、これに限られない。例えば、スマートデバイス１０２は、自身のバッテリー残量の低下や、デジタルカメラ１０１ＡとのＢＬＥ通信のリンク切断を契機に、処理を終了すると判定してもよい。これにより、スマートデバイス１０２は、不要な電力消費を抑制することができる。
【００６４】
続いて、Ｓ７０７の判定処理について、図８を用いて説明する。スマートデバイス１０２は、Ｓ７０７の処理を開始すると、まず、周囲のネットワークの全通信チャネルに対してスキャンを行う（Ｓ８０１）。なお、ここでは、全通信チャネルに対してスキャンを実行するものとしたが、例えば、予め記憶されたネットワークに対応するチャネルについてのスキャンのみが実行されるようにしてもよい。これにより、Ｓ８０１のスキャンに要する時間が短縮されうる。また、これに伴って、スマートデバイス１０２は、例えば他のアプリケーションの無線ＬＡＮによるデータ通信が実行中である場合に、スキャンからデータ通信への復帰を早めて、スループットの低下を抑制することができる。
【００６５】
その後、スマートデバイス１０２は、Ｓ８０１で取得した各ネットワークに対して、接続先候補を判定するためにＳ８０２〜Ｓ８０５の処理を実行する。スマートデバイス１０２は、Ｓ８０２において、対象のネットワークが事前に登録されているネットワークであるか否かを判定する。スマートデバイス１０２は、対象のネットワークが登録されている場合（Ｓ８０２でＹＥＳ）は、続いて、そのネットワークの電波強度が一定値以上であるか、例えば閾値Ｔｒ以上であるか、を判定する（Ｓ８０３）。そして、スマートデバイス１０２は、電波強度が閾値以上であった場合（Ｓ８０３ＹＥＳ）は、対象のネットワークの電波強度がＳ７０６または後述のＳ８０５で以前に記憶されたネットワークの電波強度より強いかを判定する（Ｓ８０４）。スマートデバイス１０２は、対象のネットワークの電波強度が、Ｓ７０６またはＳ８０５で以前に記憶されたネットワークの電波強度より強い場合（Ｓ８０４でＹＥＳ）、その対象のネットワークを接続先候補のネットワークとして記憶する（Ｓ８０５）。また、スマートデバイス１０２は、Ｓ８０２〜Ｓ８０４のいずれかの判定がＮＯである場合には、対象のネットワークは接続先候補でないと判定し、次のネットワークに対してＳ８０２〜Ｓ８０５の処理を実行する。Ｓ８０１のスキャンで発見されたネットワークの全てに対して、Ｓ８０２〜Ｓ８０５の処理が繰り返し実行された後に、本処理は終了する。
【００６６】
（無線通信システムで実行される処理の例）
次に、無線通信システムで実行される処理の流れについて、いくつかの状況を想定して説明する。
【００６７】
（（処理例１））
まず、図９Ａ及び図９Ｂを用いて、第１の処理例について説明する。第１の処理例では、デジタルカメラ１０１Ａは、まず、スマートデバイス１０２とＩｍｍｅｄｉａｔｅとなる位置に存在し、スマートデバイス１０２からＡＰ１０３Ａに関するネットワーク情報を受けてＡＰ１０３Ａに接続する。その後、スマートデバイス１０２がデジタルカメラ１０１Ａとの距離がＦａｒとなるＡＰ１０３Ｂが近隣に存在する位置へ移動し、さらに後に再度距離がＩｍｍｅｄｉａｔｅとなる位置へ戻るものとする。
【００６８】
ユーザは、連携接続処理を開始するため、デジタルカメラ１０１Ａにおいてボタン操作またはメニュー選択を行い（Ｍ９０１）、スマートデバイス１０２においてアプリケーションを起動する（Ｍ９０２）。スマートデバイス１０２は、アプリケーションを起動すると、この時点では移動していないため移動通知を送信せず（Ｓ７０１でＮＯ）、ネットワークの選択を開始する（Ｍ９０３）。スマートデバイス１０２は、ネットワークの選択を開始すると、デジタルカメラ１０１Ａが接続中のネットワークの情報を取得する（Ｓ７０４、Ｍ９０４）。ここでは、スマートデバイス１０２は、情報を取得した結果、デジタルカメラ１０１Ａがネットワークに未接続であると判定し（Ｓ７０５でＮＯ）、接続先候補を判定するために周囲のネットワークのスキャンを実行する（Ｓ８０１、Ｍ９０５及びＭ９０６）。スマートデバイス１０２は、スキャン結果からＡＰ１０３Ａを接続先候補であると判定し、そのネットワークの情報をＢＬＥ通信によって、デジタルカメラ１０１Ａへ送信する（Ｓ７１０、Ｍ９０７）。
【００６９】
一方、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離推定を行う（Ｍ９０８）。ここでは、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅであると判定し（Ｓ４１４でＹＥＳ）、そのネットワークへの接続を行う（Ｓ４１７、Ｍ９０９）。例えばユーザがデジタルカメラ１０１Ａにおいて撮像操作を行うと（Ｍ９１０）、デジタルカメラ１０１Ａは、撮像データをアップロードするために、接続中のＡＰ１０３Ａを介してデータ通信を行う（Ｍ９１１）。
【００７０】
スマートデバイス１０２は、この時点では移動していないため移動通知を送信せず（Ｓ７０１でＮＯ）、再度ネットワーク選択を開始する（Ｍ９１２）。スマートデバイス１０２は、ネットワーク選択を開始すると、デジタルカメラ１０１Ａが接続中ネットワーク情報を取得する（Ｓ７０４、Ｍ９１３）。スマートデバイス１０２は、デジタルカメラ１０１ＡがＡＰ１０３Ａに接続中であるため（Ｓ７０５でＹＥＳ）、ＡＰ１０３Ａによるネットワークの情報を記憶し（Ｓ７０６）、周囲のネットワークをスキャンする（Ｓ８０１、Ｍ９１９及びＭ９２０）。ここで、スマートデバイス１０２は、スキャン結果からＡＰ１０３Ａを接続先候補として選択するが、デジタルカメラ１０１Ａの接続しているネットワークと同一であるため（Ｓ７０９でＹＥＳ）、ネットワーク情報をデジタルカメラ１０１Ａへ送信しない。これにより、不要なネットワーク情報の通知を抑制し、デジタルカメラ１０１Ａにおいて不要な処理が実行されることを防ぐことができる。
【００７１】
その後、スマートデバイス１０２は、デジタルカメラ１０１Ａから離れた位置、すなわち、デジタルカメラ１０１Ａとの距離がＦａｒとなる位置へ移動する。この場合、スマートデバイス１０２は、自身の移動を検知して（Ｓ７０１でＹＥＳ）、デジタルカメラ１０１Ａへ移動通知を送信する（Ｓ７０２、Ｍ９１６）。そして、スマートデバイス１０２は、再びネットワーク選択を開始する（Ｍ９１７）と、デジタルカメラ１０１Ａの接続中ネットワーク情報を取得する（Ｍ９１８）。スマートデバイス１０２はデジタルカメラ１０１ＡがＡＰ１０３Ａに接続中であるため、当該ＡＰのネットワーク情報を記憶し、周囲のネットワークをスキャンする（Ｍ９１９およびＭ９２０）。ここで、スマートデバイス１０２は、スキャン結果からＡＰ１０３Ｂを接続先候補として選択したものとする。この場合、スマートデバイス１０２は、選択したＡＰ１０３Ｂが、デジタルカメラ１０１Ａの接続中のＡＰ１０３Ａと異なる（Ｓ７０９でＮＯ）ため、ＡＰ１０３Ｂのネットワーク情報をデジタルカメラ１０１Ａへ送信する（Ｓ７１０、Ｍ９２１）。
【００７２】
一方で、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離推定を行う（Ｍ９２２）。ここでは、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＦａｒであると判定し（Ｓ４０３でＹＥＳ）、スマートデバイス１０２が移動したか否かを判定する（Ｓ４０４、Ｍ９２３）。デジタルカメラ１０１Ａは、スマートデバイス１０２から受信した移動通知から、スマートデバイス１０２が移動していると判定し（Ｓ４０４でＹＥＳ）、接続先をＡＰ１０３Ｂへ切り替えずに、受信したネットワーク情報を破棄する（Ｓ４０９、Ｍ９２４）。デジタルカメラ１０１Ａは、ネットワーク情報を破棄すると、スマートデバイス１０２へ処理停止通知を送信する（Ｓ４１０、Ｍ９２５）。スマートデバイス１０２は、処理停止通知を受信すると、ネットワークの選択を停止する。このように、スマートデバイス１０２において不要なネットワーク選択を実行しないことにより、スマートデバイス１０２における電力消費を抑制することができる。また、デジタルカメラ１０１Ａにおいても、不要なネットワーク情報を受信しないことにより、不要な判定処理の実行を抑制することができ、電力消費を抑制することができる。ここで、例えばユーザがデジタルカメラ１０１Ａにおいて撮像操作を行うと（Ｍ９２６）、デジタルカメラ１０１Ａは、撮像データをアップロードするため、接続中のＡＰ１０３Ａを介してデータ通信を行う（Ｍ９２７）。
【００７３】
その後、スマートデバイス１０２は、再びデジタルカメラ１０１Ａとの距離がＩｍｍｅｄｉａｔｅとなる位置へ移動する。スマートデバイス１０２は、自身の移動を検出すると（Ｓ７０１でＹＥＳ）、デジタルカメラ１０１Ａへ移動通知を送信する（Ｓ７０２、Ｍ９２８）。一方、デジタルカメラ１０１Ａは、距離推定を行う（Ｍ９２９）。デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅで、かつ、処理停止処理を送信済みであるため（Ｓ４０２でＮＯ、Ｓ４１１でＹＥＳ）、処理開始通知を送信する（Ｓ４１２、Ｍ９３０）。これにより、スマートデバイス１０２において停止していたネットワーク選択を再開させることができ、デジタルカメラ１０１Ａは、必要に応じて適切なネットワークへ接続を切り替えることが可能となる。スマートデバイス１０２は、処理開始通知を受信すると、ネットワーク選択を再開する（Ｍ９３１）。Ｍ９３２からＭ９３４の処理は、Ｍ９１３からＭ９１５の処理と同様であるため、その詳細な説明については省略する。ここで、例えばユーザがデジタルカメラ１０１Ａにおいて撮像操作を行うと（Ｍ９３５）、デジタルカメラ１０１Ａは、撮像データをアップロードするため、接続先のネットワークを切り替えずに、接続中のＡＰ１０３Ａを介してデータ通信を行う（Ｍ９３６）。
【００７４】
以上のように、本処理例によれば、外部端末の位置や移動状況に応じて不適切なネットワークへの接続切り替えを抑制することで、データ通信におけるスループット低下やデータパケット消失の機会を低減することができ、通信の安定化を図ることができる。
【００７５】
（（処理例２））
第２の処理例について、図１０Ａ及び図１０Ｂを用いて説明する。本処理例は、デジタルカメラ１０１Ａが、スマートデバイス１０２とＩｍｍｅｄｉａｔｅとなる位置に存在し、スマートデバイス１０２からＡＰ１０３Ａに関するネットワーク情報を受けてＡＰ１０３Ａに接続するまでは第１の処理例と同様である。一方で、本処理例では、デジタルカメラ１０１Ａが、スマートデバイス１０２との距離がＦａｒとなるＡＰ１０３Ｂが近隣に存在する位置へ移動し、再度距離がＩｍｍｅｄｉａｔｅとなる位置へ戻る場合について説明する。なお、Ｍ１００１からＭ１０１５の処理は、第１の処理例で示したＭ９０１からＭ９１５の処理と同様であるため、その詳細な説明については省略する。
【００７６】
Ｍ１０１５の後、デジタルカメラ１０１Ａは、スマートデバイス１０２から離れた位置へ、この場合、スマートデバイス１０２との距離がＦａｒとなる位置へ、移動したものとする。スマートデバイス１０２は、ネットワーク選択を開始する（Ｍ１０１６）。この後、Ｍ１０１７からＭ１０１９の処理は第１の処理例で示したＭ９１７からＭ９１９の処理と同様である。
【００７７】
ここで、スマートデバイス１０２は、自身が移動していないため（Ｓ７０１でＮＯ）、移動通知の送信を行わない。また、スマートデバイス１０２は、デジタルカメラ１０１Ａが接続中のネットワークと、自身が接続先候補として判定したネットワークとが同一であるため（Ｓ７０９でＹＥＳ）、デジタルカメラ１０１Ａへネットワーク情報を送信しない。
【００７８】
一方で、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離推定を行う（Ｍ１０２０）。ここでは、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＦａｒであると判定し（Ｓ４０２でＹＥＳ）、続いて、スマートデバイス１０２が移動したか否かを判定する（Ｓ４０３、Ｍ１０２１）。デジタルカメラ１０１Ａは、スマートデバイス１０２から移動通知を受信していないため、スマートデバイス１０２は移動していないと判定し（Ｓ４０３でＮＯ）、ネットワーク検索処理を開始する（Ｓ４０５、Ｍ１０２２）。デジタルカメラ１０１Ａは、周囲のネットワークをスキャンし（Ｓ５０３、Ｍ１０２３及びＭ１０２４）、最も電波強度の強いＡＰ１０３Ｂを接続先候補として判定したものとする（Ｓ５０４〜Ｓ５０８）。この場合、デジタルカメラ１０１Ａは、ＡＰ１０３Ａとの接続を切断して（Ｍ１０２５）、ＡＰ１０３Ｂへ接続を行う（Ｓ４０８、Ｍ１０２６）。また、デジタルカメラ１０１Ａは、ＡＰ１０３Ｂへ接続すると、スマートデバイス１０２へ処理停止通知を送信する（Ｓ４１０、Ｍ１０２７）。ここで、例えばユーザがデジタルカメラ１０１Ａにおいて撮像操作を行うと（Ｍ１０２８）、デジタルカメラ１０１Ａは、撮像データをアップロードするために、接続切り替え先であるＡＰ１０３Ｂを介してデータ通信を行う（Ｍ１０２９）。
【００７９】
その後、デジタルカメラ１０１Ａは、再びスマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅとなる位置へ移動したものとする。この後に行われるＭ１０３０からＭ１０３５の処理は、第１の処理例で示したＭ９２９からＭ９３４の処理と同様である。ここで、スマートデバイス１０２は、ＡＰ１０３Ａを接続先候補として選択すると、ＡＰ１０３Ａがデジタルカメラ１０１Ａの接続中のＡＰ１０３Ｂと異なるため（Ｓ７０９でＮＯ）、ＡＰ１０３Ａのネットワークの情報を送信する（Ｓ７１０、Ｍ１０３６）。デジタルカメラ１０１Ａは、ネットワーク情報を受信すると、スマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅである（Ｓ４１４でＹＥＳ）ため、ＡＰ１０３Ｂとの接続を切断して（Ｍ１０３７）、ＡＰ１０３Ａと接続する（Ｓ４１７、Ｍ１０３８）。ここで、例えばユーザがデジタルカメラ１０１Ａにおいて撮像操作を行うと（Ｍ１０３９）、デジタルカメラ１０１Ａは、撮像データをアップロードするため、接続切り替え先であるＡＰ１０３Ａを介してデータ通信を行う（Ｍ１０４０）。
【００８０】
以上のように、本処理例によれば、デジタルカメラ１０１Ａは、外部端末（スマートデバイス１０２）の位置や移動状況に応じて接続可能なネットワークを自ら検索する。これにより、デジタルカメラ１０１Ａは、スマートデバイス１０２からネットワーク情報の通知がない場合にも、適切なネットワークへ接続を切り替えることが可能となる。これにより、データ通信におけるスループット低下やデータパケット消失の機会を低減することが可能となり、通信の安定化を図ることができる。
【００８１】
（（処理例３））
第３の処理例について、図１１を用いて説明する。本処理例は、デジタルカメラ１０１Ａが、スマートデバイス１０２とＩｍｍｅｄｉａｔｅとなる位置に存在し、スマートデバイス１０２からＡＰ１０３Ａに関するネットワーク情報を受けてＡＰ１０３Ａに接続するまでは第１及び第２の処理例と同様である。一方で、本処理例では、スマートデバイス１０２およびデジタルカメラ１０１Ａが、互いの距離がＮｅａｒとなり、かつ、ＡＰ１０３Ｂが近隣に存在する位置へ移動した場合について説明する。なお、Ｍ１１０１からＭ１１１５の処理は、第１の処理例で示したＭ９０１からＭ９１５の処理と同様であるため、その詳細な説明については省略する。
【００８２】
その後、デジタルカメラ１０１Ａ及びスマートデバイス１０２は、互いの距離がＮｅａｒとなる位置で、かつ、ＡＰ１０３Ｂが近隣に存在する位置へ移動する。ここで、スマートデバイス１０２は、再びネットワーク選択を開始する（Ｍ１１１６）。この後、Ｍ１１１７からＭ１１２０の処理は、第１の処理例で示したＭ９１８からＭ９２１と同様である。デジタルカメラ１０１Ａは、スマートデバイス１０２からネットワーク情報を受信すると、スマートデバイス１０２との距離推定を行う（Ｍ１１２１）。ここでは、デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＮｅａｒであると判定し（Ｓ４１４でＮＯ）、ネットワーク確認処理を開始する（Ｓ４１５、Ｍ１１２２）。デジタルカメラ１０１Ａは、ネットワーク確認処理を開始すると、スマートデバイス１０２から受信した接続先候補のネットワークであるＡＰ１０３Ｂの通信チャネルに対してスキャンを実行する（Ｓ６０３、Ｍ１１２３）。本処理例では、デジタルカメラ１０１Ａは、ＡＰ１０３Ｂのネットワークを発見し（Ｓ６０４でＹＥＳ）、電波強度が閾値Ｔｒ以上（Ｓ６０５でＹＥＳ）であると判定したものとする。さらに、デジタルカメラ１０１Ａは、ＡＰ１０３Ｂのネットワークの電波強度が、接続中のＡＰ１０３Ａのネットワークの電波強度よりも強いと判定したものとする（Ｓ６０６でＹＥＳ）。この場合、デジタルカメラ１０１Ａは、ＡＰ１０３Ａとの接続を切断し（Ｍ１１２４）、ＡＰ１０３Ｂとの接続を行う（Ｍ１１２５）。この後、Ｍ１１２６およびＭ１１２７の処理は、第２の処理例で示したＭ１０２８からＭ１０２９の処理と同様である。
【００８３】
このように、本処理例では、デジタルカメラ１０１Ａは、スマートデバイス１０２の位置や移動状況に応じて、接続先候補のネットワークが自身にとって適切であるか否かを、実際に接続を確立する前に確認する。なお、本処理例では、デジタルカメラ１０１Ａは、接続先候補のネットワーク（ＡＰ１０３Ｂのネットワーク）が適切であると判定したため、そのネットワークに接続したが、これが適切でないと判定した場合は、ネットワーク情報を破棄する（Ｓ４１８）。これにより、デジタルカメラ１０１Ａは、適切でないネットワークに接続することを防ぎ、これに伴って、ネットワークの切り替えが生じる機会を減らし、通信の安定化を図ることができる。
【００８４】
（（処理例４））
上述の第１〜第３の処理例では、デジタルカメラ１０１Ａおよびスマートデバイス１０２が１対１で連携接続処理を実行する場合について説明した。第４の処理例では、複数台のデジタルカメラ１０１Ａおよびデジタルカメラ１０１Ｂと、スマートデバイス１０２とが連携接続処理を実行する場合について、図１２Ａ〜図１２Ｃを用いて説明する。
【００８５】
本処理例では、まず、デジタルカメラ１０１Ａおよびデジタルカメラ１０１Ｂが、スマートデバイス１０２からＡＰ１０３Ａに関するネットワーク情報の通知を受けて、ＡＰ１０３Ａに接続する。その後、スマートデバイス１０２およびデジタルカメラ１０１Ｂが、デジタルカメラ１０１Ａとの距離がＦａｒとなり、かつ、ＡＰ１０３Ｂが近隣に存在する位置へ移動するものとする。さらに、その後に、デジタルカメラ１０１Ａが、スマートデバイス１０２およびデジタルカメラ１０１Ｂとの距離がＩｍｍｅｄｉａｔｅとなる位置へ移動するものとする。
【００８６】
本処理例では、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂと、スマートデバイス１０２との距離は、当初はＩｍｍｅｄｉａｔｅの状態であるものとする。このとき、ユーザは、連携接続処理を開始するため、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂにおいてボタン操作又はメニュー選択を行い（Ｍ１２０１及びＭ１２０２）、スマートデバイス１０２においてアプリケーションを起動する（Ｍ１２０３）。スマートデバイス１０２は、アプリケーションを起動すると、この時点では移動していないため（Ｓ７０１でＮＯ）移動通知を送信せず、ネットワークの選択を開始する（Ｍ１２０４）。スマートデバイス１０２は、ネットワークの選択を開始すると、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂのそれぞれが接続中のネットワークの情報を取得する（Ｍ１２０５及びＭ１２０６）。ここでは、スマートデバイス１０２は、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂが、ネットワークに接続していないと判定し、接続先候補を判定するために周囲のネットワークをスキャンする（Ｍ１２０７及びＭ１２０８）。スマートデバイス１０２は、スキャン結果からＡＰ１０３Ａを接続先候補であると判定し、ＡＰ１０３Ａのネットワーク１０６Ａの情報を、ＢＬＥ通信によって、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂに送信する（Ｍ１２０９及びＭ１２１０）。
【００８７】
デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂは、それぞれ、ネットワーク情報を受信すると、スマートデバイス１０２との距離推定を行う（Ｍ１２１１及びＭ１２１２）。本処理例では、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂは、それぞれ、スマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅであると判定し（Ｓ４１３でＹＥＳ）、通知されたネットワークへ接続する（Ｍ１２１３及びＭ１２１４）。ここで、例えばユーザがデジタルカメラ１０１Ａにおいて撮像操作を行うと（Ｍ１２１５）、デジタルカメラ１０１Ａは、撮像データをアップロードするため、接続中のＡＰ１０３Ａを介してデータ通信を行う（Ｍ１２１６）。同様に、ユーザがデジタルカメラ１０１Ｂにおいて撮像操作を行うと（Ｍ１２１７）、デジタルカメラ１０１Ｂは、撮像データをアップロードするため、接続中のＡＰ１０３Ａを介してデータ通信を行う（Ｍ１２１８）。
【００８８】
スマートデバイス１０２は、Ｍ１２１９において、再度、ネットワークの選択を開始する。スマートデバイス１０２は、ネットワークの選択を開始すると、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂのそれぞれが接続中のネットワークの情報を取得する（Ｍ１２２０およびＭ１２２１）。スマートデバイス１０２は、デジタルカメラ１０１Ａ及びデジタルカメラ１０１ＢがＡＰ１０３Ａに接続中であるため、ネットワーク１０６Ａの情報を記憶し、周囲のネットワークをスキャンする（Ｍ１２２２及びＭ１２２３）。スマートデバイス１０２は、スキャン結果からＡＰ１０３Ａを接続先候補として選択するが、これは、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂが現在接続中のネットワークと同一である（Ｓ７０９でＹＥＳ）ため、ネットワーク情報を送信しない。これにより、スマートデバイス１０２による不要なネットワーク情報の送信を抑制し、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂによる不要な処理を削減することができる。
【００８９】
その後、スマートデバイス１０２及びデジタルカメラ１０１Ｂは、デジタルカメラ１０１Ａから離れた位置へ、すなわち、デジタルカメラ１０１Ａとの距離がＦａｒとなる位置へ移動する。スマートデバイス１０２は、自身の移動を検知する（Ｓ７０１でＹＥＳ）と、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂのそれぞれに移動通知を送信する（Ｓ７０２、Ｍ１２２４及びＭ１２２５）。そして、スマートデバイス１０２は、再びネットワークの選択を開始し（Ｍ１２２６）、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂのそれぞれが接続中のネットワークの情報を取得する（Ｓ７０４、Ｍ１２２７及びＭ１２２８）。スマートデバイス１０２は、デジタルカメラ１０１Ａ及びデジタルカメラ１０１ＢがＡＰ１０３Ａに接続中であるため、ネットワーク１０６Ａの情報を記憶して（Ｓ７０６）、周囲のネットワークをスキャンする（Ｓ８０１、Ｍ１２２９及びＭ１２３０）。スマートデバイス１０２は、スキャン結果からＡＰ１０３Ｂを接続先候補として選択し、ＡＰ１０３Ｂのネットワーク１０６Ｂの情報を、ＢＬＥ通信によってデジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂへ送信する（Ｍ１２３１及びＭ１２３２）。
【００９０】
ここで、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂは、それぞれ、スマートデバイス１０２との距離を推定する（Ｍ１２３３及びＭ１２３４）。デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＦａｒであると判定し（Ｓ４０２でＹＥＳ）、続いて、スマートデバイス１０２が移動したか否かを判定する（Ｓ４０３、Ｍ１２３５）。デジタルカメラ１０１Ａは、スマートデバイス１０２から受信した移動通知により、スマートデバイス１０２が移動したと判定し（Ｓ４０３でＹＥＳ）、接続先をＡＰ１０３Ｂへ切り替えずに、受信したネットワーク情報を破棄する（Ｓ４０９、Ｍ１２３６）。デジタルカメラ１０１Ａは、ネットワーク情報を破棄すると、スマートデバイス１０２へ処理停止通知を送信する（Ｓ４１０、Ｍ１２３７）。一方、デジタルカメラ１０１Ｂは、スマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅであると判定し（Ｓ４１４でＹＥＳ）、ＡＰ１０３Ａとの接続を切断し（Ｍ１２３８）、ＡＰ１０３Ｂへ接続する（Ｍ１２３９）。スマートデバイス１０２は、デジタルカメラ１０１Ａからの処理停止通知を受信しても、ネットワークの選択を停止しないが、デジタルカメラ１０１Ａに対するネットワーク情報の送信のみを停止する。一方、スマートデバイス１０２は、デジタルカメラ１０１Ｂに対するネットワーク情報の送信は継続する。これにより、スマートデバイス１０２は、近隣に位置するデジタルカメラ１０１Ｂに対しては、周囲に存在する接続先候補のネットワーク情報を送信し続け、デジタルカメラ１０１Ｂは、継続して適切なネットワークへ接続することができる。また、デジタルカメラ１０１Ａは、不要なネットワーク情報を受信しないことで、不要な処理を実行しないこととなるため、電力消費を抑制することができる。
【００９１】
その後、例えばユーザがデジタルカメラ１０１Ａにおいて撮像操作を行うと（Ｍ１２４０）、デジタルカメラ１０１Ａは、撮像データをアップロードするため、接続中のＡＰ１０３Ａを介してデータ通信を行う（Ｍ１２４１）。また、例えばユーザがデジタルカメラ１０１Ｂにおいて撮像操作を行うと（Ｍ１２４２）、デジタルカメラ１０１Ｂは、撮像データをアップロードするため、接続中の、ＡＰ１０３Ａとは異なるＡＰ１０３Ｂを介してデータ通信を行う（Ｍ１２４３）。
【００９２】
その後、スマートデバイス１０２は、ネットワークの選択を開始する（Ｍ１２４４）。スマートデバイス１０２は、ネットワークの選択を開始すると、デジタルカメラ１０１Ａから処理停止通知を受信しているため、デジタルカメラ１０１Ｂが接続中のネットワークの情報のみを取得する（Ｍ１２４５）。スマートデバイス１０２は、デジタルカメラ１０１ＢがＡＰ１０３Ｂに接続中であるため、ネットワーク１０６Ｂの情報を記憶し、周囲のネットワークをスキャンする（Ｍ１２４６及びＭ１２４７）。スマートデバイス１０２は、スキャン結果からＡＰ１０３Ｂを接続先候補として選択するが、ネットワーク１０６Ｂはデジタルカメラ１０１Ｂが接続中のネットワークと同一であるため、ネットワーク情報の送信は行わない。
【００９３】
その後、デジタルカメラ１０１Ａが、スマートデバイス１０２及びデジタルカメラ１０１Ｂとの距離がＩｍｍｅｄｉａｔｅとなる位置へ移動する。ここで、デジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂは距離推定を行う（Ｍ１２４８及びＭ１２４９）。デジタルカメラ１０１Ａは、スマートデバイス１０２との距離がＩｍｍｅｄｉａｔｅであり、処理停止通知を送信済みであるため（Ｓ４１１でＹＥＳ）、スマートデバイス１０２へ処理開始通知を送信する（Ｓ４１２、Ｍ１２５０）。これにより、スマートデバイス１０２は、デジタルカメラ１０１Ｂに対するネットワーク情報の送信を継続させながら、デジタルカメラ１０１Ａに対するネットワーク情報の送信を再開する。一方、デジタルカメラ１０１Ｂは、処理停止通知を送信しておらず、ネットワーク情報も受信していないため、特に何も行わない。この後、Ｍ１２５１からＭ１２５５の処理は、Ｍ１２０４からＭ１２０８の処理と同様である。
【００９４】
スマートデバイス１０２は、ＡＰ１０３Ｂを接続先候補として選択すると、ネットワーク１０６Ｂが、デジタルカメラ１０１Ａが接続中のネットワーク１０６Ａと異なるため、デジタルカメラ１０１Ａに、ネットワーク１０６Ｂの情報を送信する（Ｍ１２５６）。一方、スマートデバイス１０２は、ネットワーク１０６Ｂが、デジタルカメラ１０１Ｂが接続中のネットワークと同一であるため、デジタルカメラ１０１Ｂにはネットワーク情報を送信しない。これにより、デジタルカメラ１０１Ａが適切なネットワークへ接続を切り替えることを可能とすると同時に、デジタルカメラ１０１Ｂが不要な処理を実行することを防ぐことができる。
【００９５】
デジタルカメラ１０１Ａは、ネットワーク情報を受信すると、接続中のＡＰ１０３Ａとの接続を切断し（Ｍ１２５７）、ＡＰ１０３Ｂへ接続する（Ｍ１２５８）。その後、例えばユーザがデジタルカメラ１０１Ａにおいて撮像操作を行うと（Ｍ１２５９）、デジタルカメラ１０１Ａは、撮像データをアップロードするため、接続先のＡＰ１０３Ｂを介してデータ通信を行う（Ｍ１２６０）。一方、デジタルカメラ１０１Ｂも、ユーザが撮像操作を行うと（Ｍ１２６１）、撮像データをアップロードするため、接続先を切り替えることなくＡＰ１０３Ｂを介してデータ通信を行う（Ｍ１２６２）。
【００９６】
以上、本処理例によれば、複数台のデジタルカメラ１０１Ａ及びデジタルカメラ１０１Ｂの各々が、スマートデバイスの位置や移動状況に応じて、適切なネットワークへ接続することができる。これにより、デジタルカメラにおいて、データ通信のスループット低下やデータパケット消失の機会を減らすことができ、通信の安定化を図ることができる。
【００９７】
上述の説明では、デジタルカメラとスマートデバイスとの間の距離推定をデジタルカメラが実行するものとしたが、この距離推定は、スマートデバイス１０２において実行されてもよい。スマートデバイスにおける距離推定は、ＢＬＥ通信における電波強度（ＲＳＳＩ）に基づくＩｍｍｅｄｉａｔｅ（至近距離）、Ｎｅａｒ（近距離）、Ｆａｒ（遠距離）等の３段階の距離情報によって行われうるが、これに限られない。例えば、ＢＬＥ通信における位置の計測精度やリンク状態等を用いて、距離の推定が行われてもよい。計測精度が用いられる場合は、例えば、その値が閾値以下であるか否かの判定により、デジタルカメラが一定以上離れた位置に存在するのか、近隣に存在するのかが推定されうる。また、リンク状態が用いられる場合は、例えば、接続中のＢＬＥ通信のリンクが切断された場合にデジタルカメラが一定以上離れた位置に存在すると推定されうる。このとき、スマートデバイスは、デジタルカメラとの距離がＦａｒである場合にデジタルカメラへネットワーク情報の送信を行わない。これにより、デジタルカメラにおける不要な判定処理を削減することができ、デジタルカメラにおける電力消費を抑制することができる。
【００９８】
上述の説明では、デジタルカメラは、スマートデバイスとの距離がＦａｒである場合に移動判定を行うとしたが、移動判定を行わずにネットワーク検索処理を実行するようにしてもよい。これにより、デジタルカメラ及びスマートデバイスのそれぞれが移動したような状況においても、適切なネットワークへ確実に接続することができる。
【００９９】
上述の説明では、デジタルカメラとスマートデバイスとの間のＢＬＥ通信はＧＡＴＴプロファイルのリンクが確立された状態であるとしたが、これに限られない。例えば、リンクを確立せずに、ＡｄｖｅｒｔｉｓｅパケットやＳｃａｎ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅパケットによって通信が行われてもよい。この場合、例えば、デジタルカメラがＣｅｎｔｒａｌ、スマートデバイスがＰｅｒｉｐｈｅｒａｌとなって、スマートデバイスがＡｄｖｅｒｔｉｓｅまたはＳｃａｎ  Ｒｅｓｐｏｎｓｅによりネットワーク情報を送信しうる。この際、ネットワーク情報をＡｄｖｅｒｔｉｓｅまたはＳｃａｎ  Ｒｅｓｐｏｎｓｅの１パケットで送信するため、デジタルカメラに事前に登録されたネットワーク情報と紐付けて管理されている識別子等を、ネットワーク情報として送信してもよい。これにより、スマートデバイスは、複数台のデジタルカメラに対して、ネットワーク情報を一斉に通知することができる。
【０１００】
上述の説明では、デジタルカメラは、スマートデバイスとの距離がＦａｒである場合にスマートデバイスへ処理停止通知を送信するようにしたが、処理停止通知を送信しなくてもよい。この場合、例えば、スマートデバイスは、ネットワーク情報の送信を継続し、デジタルカメラは、受信したネットワーク情報を破棄し続ける。例えば、ＢＬＥ通信のＡｄｖｅｒｔｉｓｅやＳｃａｎ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅを使用して通信する場合には、デジタルカメラは、スマートデバイスに対して処理停止通知を送信する方法を有しないため、このようにすることが有効である。
【０１０１】
上述の説明では、スマートデバイスは、処理停止通知を受信すると、ネットワークの選択を停止するようにしたが、これを停止しなくてもよい。例えば、スマートデバイスは、処理停止通知を受信したことに応じて、ネットワークの選択を停止するのではなく、ネットワークの選択を実行する周期を長くしてもよい。これにより、スマートデバイスにおける電力消費を抑制しつつ、デジタルカメラからの処理開始通知の受信に失敗した場合等においても、周囲のネットワークの変化に応じてネットワーク情報の送信を確実に行うことができる。
【０１０２】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０３】
２０１、３０１：無線ＬＡＮ通信部、２５１、３０５：ＢＬＥ通信部、２０４、２５４、３０８：制御部
【図１】
0006641194.tif 000002
【図２】
0006641194.tif 000003
【図３】
0006641194.tif 000004
【図４】
0006641194.tif 000005
【図５】
0006641194.tif 000006
【図６】
0006641194.tif 000007
【図７】
0006641194.tif 000008
【図８】
0006641194.tif 000009
【図９Ａ】
0006641194.tif 000010
【図９Ｂ】
0006641194.tif 000011
【図１０Ａ】
0006641194.tif 000012
【図１０Ｂ】
0006641194.tif 000013
【図１１】
0006641194.tif 000014
【図１２Ａ】
0006641194.tif 000015
【図１２Ｂ】
0006641194.tif 000016
【図１２Ｃ】
0006641194.tif 000017