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