電子機器及び通信制御方法
【課題】安定した近接無線通信が実行可能である際に、デバイス間の接続を確立できる電子機器を実現する。
【解決手段】応答時間測定部303は、接続要求送信部301により外部デバイスに接続要求信号が送信されてから、接続応答受信部302により外部デバイスから送信された接続応答信号が受信されるまでの経過時間を示す応答時間を測定する。安定性判定部304は、応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。接続確立部305は、デバイス間の通信が安定状態にあると判定されたとき、近接無線通信モジュール20と外部デバイスとの間の接続を確立する。表示制御部306は、デバイス間の通信が不安定状態にあると判定されたとき、ユーザにデバイスの配置を変更する操作を促すメッセージを画面に表示する。
【解決手段】応答時間測定部303は、接続要求送信部301により外部デバイスに接続要求信号が送信されてから、接続応答受信部302により外部デバイスから送信された接続応答信号が受信されるまでの経過時間を示す応答時間を測定する。安定性判定部304は、応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。接続確立部305は、デバイス間の通信が安定状態にあると判定されたとき、近接無線通信モジュール20と外部デバイスとの間の接続を確立する。表示制御部306は、デバイス間の通信が不安定状態にあると判定されたとき、ユーザにデバイスの配置を変更する操作を促すメッセージを画面に表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、近接無線通信を実行する電子機器及び同機器に適用される通信制御方法に関する。
【背景技術】
【0002】
近年、NFCのような無線通信が利用され始めている。ユーザは、ICカードをホスト装置のリーダ/ライタ部にかざすといった操作を行うだけで、認証処理、課金等のための通信を容易に行うことができる。また、最近では、デバイス間の高速なデータ交換を可能にする新たな近接無線通信技術も開発され始めている。
このような通信を円滑に実行するためには、安定した通信路が提供されることが望ましい。
【0003】
特許文献1には、複数の通信路から所定の条件に合う通信路を選択する通信端末装置が開示されている。この通信端末装置は、複数の通信路の各々の通信品質に基づいて通信路を選択する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−324945号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、近接無線通信ではデバイス間に一つの通信路が設定される。この通信路では、デバイス同士を近接状態に維持することによって、安定した近接無線通信を実行することができる。しかし、デバイス同士を近付ける操作中など、デバイス同士の位置関係が変化している際に、デバイス間の接続が確立され通信が開始された場合、安定した通信が実行できない可能性がある。例えば、通信時のエラーによってパケットが再送され、データ伝送に要する時間が長くなる可能性がある。また、例えば、デバイス間の接続が解除され、データ伝送が中断される可能性がある。しかしながら、近付けたデバイス同士が、安定した通信を行うことができる近接状態にあるか否かを、外見から判断することは困難である。
【0006】
本発明は上述の事情を考慮してなされたものであり、安定した近接無線通信が実行可能である際に、デバイス間の接続を確立できる電子機器及び通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述の課題を解決するため、本発明の電子機器は、近接無線通信を実行する通信モジュールと、前記通信モジュールと近接状態にある外部デバイスに接続要求信号を送信する接続要求送信手段と、前記接続要求信号に応答する接続応答信号を前記外部デバイスから受信する接続応答受信手段と、前記接続要求信号を送信してから前記接続応答信号を受信するまでの経過時間を示す応答時間を測定する応答時間測定手段と、前記応答時間に基づいて、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあるか否かを判定する安定性判定手段と、前記安定性判定手段によって、前記通信モジュールと前記外部デバイスとの間の通信が前記安定状態にあると判定された場合に、前記通信モジュールと前記外部デバイスとの間の接続を確立する接続制御手段とを具備することを特徴とする。
【発明の効果】
【0008】
本発明によれば、安定した近接無線通信が実行可能である際に、デバイス間の接続を確立できる。
【図面の簡単な説明】
【0009】
【図1】本発明の一実施形態に係る電子機器の外観を示す斜視図。
【図2】同実施形態の電子機器の構成を示すブロック図。
【図3】同実施形態の電子機器と外部デバイスとの間で実行される近接無線通信の例を示す図。
【図4】同実施形態の電子機器に適用される、近接無線通信を制御するためのソフトウェアアーキテクチャの例を示す図。
【図5】同実施形態の電子機器において実行される通信制御プログラムの機能構成を示すブロック図。
【図6】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の接続シーケンスにおける接続応答時間の計測の例を説明する図。
【図7】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の接続シーケンスにおける接続応答時間の計測の別の例を説明する図。
【図8】デバイス間の近接無線通信による接続シーケンスにおける接続応答時間とスループットとの関係を示す図。
【図9】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の近接無線通信の安定性を示す表示の例を示す図。
【図10】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の近接無線通信による接続シーケンスの例を示す図。
【図11】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の近接無線通信による接続シーケンスの別の例を示す図。
【図12】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の近接無線通信による接続シーケンスのさらに別の例を示す図。
【図13】同実施形態の電子機器によって実行される接続制御処理の手順の例を示すフローチャート。
【図14】同実施形態の電子機器によって実行される接続制御処理の手順の別の例を示すフローチャート。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の実施形態に係る電子機器の外観を示す図である。この電子機器10は、例えばポータブルパーソナルコンピュータとして実現されている。
【0011】
電子機器10は、本体11と、ディスプレイユニット12とを備えている。ディスプレイユニット12は、本体11の上面が露出される開放位置と本体11の上面がディスプレイユニット12によって覆われる閉塞位置との間を回動可能に本体11に取り付けられている。ディスプレイユニット12内には、LCD17が設けられている。
【0012】
本体11は薄い箱状の筐体を有している。本体11の筐体の上面には、キーボード13、タッチパッド16、インジケータ21、電源スイッチ23等が配置されている。
本体11の上面、具体的には、本体11の上面上のパームレスト領域11Aの一部は、通信面として機能する。すなわち、近接無線通信モジュール20及びアンテナ(カプラ)20Aは、本体11の上面のパームレスト領域11Aに対向して本体11内に設けられている。アンテナ(カプラ)20Aは、本体11の上面(具体的には、本体11の上面上のパームレスト領域11Aの一部)を介して、無線信号(誘導電界)を外部に出力するように配置されている。アンテナ(カプラ)20Aに対向する本体11の上面上の小領域、つまり本体11の上面上においてアンテナ(カプラ)20Aの上方に位置する小領域は、通信位置として使用される。
【0013】
ユーザは、例えば、近接無線通信機能を有する外部デバイスを本体11のパームレスト領域11A内の通信位置上にかざすという操作(タッチ操作)を行うことにより、外部デバイスと電子機器10との間のデータ転送を開始させることができる。
【0014】
図2は、電子機器10のシステム構成を示す図である。
電子機器10は、図2に示されるように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、GPU105、VRAM105A、サウンドコントローラ106、BIOS−ROM107、LANコントローラ108、ハードディスクドライブ(HDD)109、光ディスクドライブ(ODD)110、無線LANコントローラ112、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)113、EEPROM114、近接無線通信モジュール20等を備える。
【0015】
CPU101は、電子機器10の動作を制御するプロセッサであり、HDD109から主メモリ103にロードされる、オペレーティングシステム(OS)201や、通信制御プログラム202のような各種アプリケーションプログラムを実行する。通信制御プログラム202は、近接無線通信モジュール20と外部デバイスとの間の近接無線通信を制御する機能を有するソフトウェアである。また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
【0016】
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
【0017】
GPU105は、電子機器10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このGPU105によって生成される表示信号はLCD17に送られる。また、GPU105は、HDMI制御回路3及びHDMI端子2を介して、外部ディスプレイ装置1にデジタル映像信号を送出することもできる。
【0018】
HDMI端子2は、外部ディスプレイ接続端子である。HDMI制御回路3は、HDMIモニタと称される外部ディスプレイ装置1にデジタル映像信号をHDMI端子2を介して送出するためのインタフェースである。
【0019】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、HDD109及びODD110を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18B又はHDMI制御回路3に出力する。
【0020】
LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線LANコントローラ112は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。
【0021】
EC/KBC113は、電力管理のためのエンベデッドコントローラと、キーボード13及びタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC113に接続されるインジケータ21は、近接無線通信モジュール20によって実行される近接無線通信の状態(データ転送の開始、データ転送の終了、通信の安定性等)を提示する。このインジケータ21は、LEDのような発光部を備えている。
【0022】
また、EC/KBC113に接続される電源回路24は、ACアダプタ30を介して外部から供給される電力、又は電子機器10内に設けられたバッテリ25から供給される電力を用いて、電子機器10内の各部に電力を供給する。換言すれば、電子機器10は、AC商用電源のような外部電源、又はバッテリ25によって駆動される。ACアダプタ30は、電子機器10内に設けることもできる。EC/KBC113は、ユーザによる電源スイッチ23の操作に応じて、電子機器10をパワーオン又はパワーオフする。
【0023】
近接無線通信モジュール20は、近接無線通信を実行する通信モジュールである。近接無線通信モジュール20は、近接無線通信モジュール20から所定の範囲内に存在する、近接無線通信機能を有する別のデバイス(外部デバイス)と通信することができる。近接無線通信モジュール20と外部デバイスとの間の無線通信は、近接無線通信モジュール20と外部デバイスとが近接状態である場合、つまり近接無線通信モジュール20と外部デバイスとの間の距離が通信可能距離(例えば3cm)以内に接近している場合にのみ可能となる。近接無線通信モジュール20と外部デバイスとが通信可能距離以内に接近した時、近接無線通信モジュール20と外部デバイスとの間の通信が可能となる。そして、近接無線通信モジュール20と外部デバイスとの間の接続(無線接続)を確立する動作が開始される。デバイス間の接続(無線接続)が確立された後に、例えば、ユーザによって明示的に指定されたデータファイル、予め決められた同期対象データファイル等のデータの転送が近接無線通信モジュール20と外部デバイスとの間で実行される。
【0024】
近接無線通信においては、誘導電界が用いられる。近接無線通信方式としては、例えばTransferJetを使用し得る。TransferJetは、UWBを利用した近接無線通信方式であり、高速データ転送を実現することができる。
【0025】
近接無線通信モジュール20はアンテナ20Aに接続されている。アンテナ20Aはカプラと称される電極であり、誘導電界を用いた無線信号により、外部デバイスに対するデータの送受信を行う。外部デバイスがアンテナ20Aから通信距離(例えば3cm)以内の範囲内に接近した場合、近接無線通信モジュール20及び外部デバイスそれぞれのアンテナ(カプラ)間が誘導電界によって結合され、これによって近接無線通信モジュール20と外部デバイスとの間の無線通信が実行可能となる。なお、近接無線通信モジュール20及びアンテナ20Aは、一つのモジュールとして実現し得る。
【0026】
図3は、携帯電話と電子機器10との間で実行される近接無線通信の様子を示している。携帯電話の筐体内には、その筐体の背面に対向して近接無線通信用のアンテナ(カプラ)が設けられている。この場合、携帯電話の筐体の背面を電子機器10の本体11のパームレスト領域11A上の通信位置にかざすことにより、携帯電話と電子機器10との間の近接無線通信を開始することが可能となる。
【0027】
次に、図4を参照して、近接無線通信モジュール20を用いて実行される近接無線通信を制御するためのソフトウェアアーキテクチャを説明する。
図4のソフトウェアアーキテクチャは近接無線通信を制御するためのプロトコルスタックの階層構造を示している。プロトコルスタックは、物理層(PHY)、コネクション層(CNL)、プロトコル変換層(PCL)、アプリケーション層から構成されている。
【0028】
物理層(PHY)は物理的なデータ転送を制御する層であり、OSI参照モデル内の物理層に対応する。物理層(PHY)の一部の機能又は全ての機能は、近接無線通信モジュール20内のハードウェアを用いて実現することもできる。
【0029】
物理層(PHY)はコネクション層(CNL)からのデータを無線信号に変換する。コネクション層(CNL)はOSI参照モデル内のデータリンク層、ネットワーク層及びトランスポート層に対応しており、物理層(PHY)を制御してデータ通信を実行する。
【0030】
コネクション層(CNL)は、プロトコル変換層(PCL)からの接続要求、又は外部デバイスからの接続要求に応じて、近接状態に設定されている近接無線通信モジュール20と外部デバイスとの間の(物理的な)接続を確立する処理を実行する。ここで、2つのデバイス(デバイス1,2)間の接続を確立するための手順について説明する。デバイス1,2の内、通信を開始したい側のデバイス、例えばデバイス1は、接続要求(C−Req)を無線送信するための処理を実行する。この接続要求(C−Req)には、デバイス1の固有のIDを含めることができる。デバイス2は接続要求(C−Req)を受信するための処理を定期的に実行する。デバイス1とデバイス2とが近接状態である場合、デバイス2は、デバイス1から送信される接続要求(C−Req)を受信することができる。接続要求(C−Req)を受信した時、デバイス2は、受信した接続要求(C−Req)の受諾を示す応答(C−Ack)をデバイス1に無線送信する。この応答(C−Ack)には、デバイス2の固有のIDを含めることができる。デバイス1は、デバイス2から無線送信される応答(C−Ack)を受信することができる。このように、デバイス1とデバイス2との間で接続要求信号(C−Req)及び接続応答信号(C−Ack)を送受信することにより、デバイス1とデバイス2との間の接続が確立される。
【0031】
プロトコル変換層(PCL)は、OSI参照モデル内のセッション層及びプレゼンテーション層に対応しており、アプリケーション層と、2つのデバイス間のリンクの確立及び解除を制御するためのコネクション層(CNL)との間に位置する。プロトコル変換層(PCL)は、2つのデバイス間の接続を確立するために、アプリケーション層内の各アプリケーション(通信プログラム)の制御とコネクション層(CNL)の制御を行う。
【0032】
より具体的には、プロトコル変換層(PCL)は、アプリケーション層の各通信プログラムが扱うアプリケーションプロトコル(例えば、SCSI、OBEX、他の汎用プロトコル等)に対応したデータ(ユーザデータ)を特定の伝送用データ形式に変換するための変換処理を実行する。この変換処理により、どの通信プログラムによって送受信されるデータも、コネクション層(CNL)が扱うことが可能なパケット(特定の伝送用データ形式のデータ)に変換される。このプロトコル変換層(PCL)は、様々なアプリケーションプロトコルを近接無線通信で利用することを可能にする。
【0033】
次に、図5を参照して、電子機器10上で動作する通信制御プログラム202の一機能構成を説明する。ここでは、通信制御プログラム202が有する機能のうち、近接無線通信モジュール20と近接無線通信機能を有する外部デバイスとの間で確立される接続を制御する機能を実現するための構成例について説明する。
【0034】
無線通信では、通信の安定性や通信速度を判断する指標の一つとして、受信される電波の強度を用いることがある。無線通信を実行するデバイスは、受信される電波の強度を計測し、電波の強弱を数値やグラフ等を用いて表示する。しかし、近接無線通信では、電波の送信出力が小さいため、通信状態が変化しても受信電波強度に差が出にくい。したがって、近接無線通信では、受信電波強度を通信の安定性や通信速度の指標として用いることは困難である。
【0035】
また、受信電波強度に基づく通信の安定性や通信速度の指標は、通信を行う2つのデバイスのうち、一方のデバイスの受信状態を表す。このため、受信電波強度に基づく指標を用いて、他方のデバイスの受信状態を推定することは難しい。つまり、受信電波強度では、一方のデバイスの受信状態を判断することはできるものの、当該デバイスから他方のデバイスに送信された電波の到達状況等を判断することはできず、デバイス間の通信の安定性や通信速度を判断することは困難である。
【0036】
そこで、本実施形態では、近接無線通信モジュール20と外部デバイス間の接続を確立する際に用いられる、接続要求信号(C−Req)と接続応答信号(C−Ack)とを利用して、接続要求時の応答時間を測定する。応答時間は、近接無線通信モジュール20が、外部デバイスに接続要求信号が送信してから、この外部デバイスから送信される接続要求信号に対する接続応答信号を受信するまでの経過時間を示す。つまり、測定した応答時間は、デバイス間の実際の通信(信号の送受信)に要する時間を表している。したがって、応答時間に基づく指標を用いることで、電波強度に基づく指標よりも高い信頼度で、通信の安定性及び通信速度の高低を判断することができる。
【0037】
以上のことから、通信制御プログラム202は、近接無線通信モジュール20と近接無線通信機能を有する外部デバイスとの間で接続を確立する際に、応答時間を測定し、測定した応答時間に基づいて、デバイス間の通信の安定性を判定する機能を有する。通信制御プログラム202は、接続要求送信部301、接続応答受信部302、応答時間測定部303、安定性判定部304、接続確立部305、及び表示制御部306を備える。
【0038】
接続要求送信部301は、外部デバイスに接続要求信号(C−Req)を送信する。接続応答受信部302は、接続要求送信部301によって送信された接続要求信号に応答して、外部デバイスから送信された接続応答信号(接続可能応答信号:C−Ack)を受信する。なお、接続要求送信部301は、外部デバイスに接続要求信号を送信してから所定の時間が経過しても、接続応答受信部302が、外部デバイスから送信された接続応答信号を受信しないとき、外部デバイスに接続要求信号を再送する。その場合、接続応答受信部302は、再送された接続要求信号に応答して、外部デバイスから送信された接続応答信号を受信する。
【0039】
応答時間測定部303は、接続要求送信部301によって接続要求信号を送信してから、接続応答受信部302によって接続応答信号を受信するまでの経過時間を示す応答時間を測定する。
【0040】
図6に示すシーケンス図を参照して、近接無線通信モジュール20と外部デバイスとの間で接続を確立する際に計測される応答時間の例について説明する。
【0041】
まず、接続要求送信部301は、接続要求信号(C−Req)を外部デバイスに送信する(S11)。応答時間測定部303は、接続要求信号の送信に応答して、応答時間の計測を開始する。
【0042】
外部デバイスは、接続要求送信部301によって送信された接続要求信号を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号(C−Ack)を近接無線通信モジュール20に送信する(S12)。
【0043】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号を受信する。応答時間測定部303は、接続応答信号の受信に応答して、応答時間の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって接続要求信号を送信してから、接続応答受信部302によって接続応答信号を受信するまでの経過時間を応答時間として測定する。安定性判定部304は、測定した応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。近接無線通信モジュール20と外部デバイスとの間の通信の安定性は、これらデバイス間の通信環境の安定性を意味するものである。たとえ近接無線通信モジュール20と外部デバイスとが通信範囲内に近接されている場合であっても、これらデバイス間の通信環境は、近接無線通信モジュール20と外部デバイスとの間の位置関係の整合の度合い等によって変動する。
【0044】
接続確立部305は、安定性判定部304によって、デバイス間の通信が安定していると判定されたとき、近接無線通信モジュール20と外部デバイスとの間の近接無線通信による接続を確立するための処理を実行する(S13)。
【0045】
また、図7は、近接無線通信モジュール20と外部デバイスとの間で接続を確立する際に計測される応答時間の別の例を表す。
【0046】
まず、接続要求送信部301は、接続要求信号(C−Req)を外部デバイスに送信する(S21)。応答時間測定部303は、接続要求信号の送信に応答して、応答時間の計測を開始する。
【0047】
ここで、シーケンスS21において、接続要求送信部301により送信された接続要求信号が、外部デバイスに受信されなかったこと(C−Req受信NG)を想定する。この場合、外部デバイスは接続要求信号を受信しないため、当然ながら、近接無線通信モジュール20に接続応答信号(C−Ack)を送信しない。
【0048】
接続応答受信部302は、所定の時間が経過しても、外部デバイスから接続応答信号を受信しないとき(タイムアウト)、接続要求信号を外部デバイスに再送する(S22)。
【0049】
外部デバイスは、接続要求送信部301によって再送された接続要求信号を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号を近接無線通信モジュール20に送信する(S23)。
【0050】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号を受信する。応答時間測定部303は、接続応答信号の受信に応答して、応答時間の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって最初に接続要求信号を送信してから、タイムアウトによる接続要求信号の再送を経て、接続応答受信部302によって接続応答信号を受信するまでの経過時間を応答時間として測定する。安定性判定部304は、測定した応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。接続確立部305は、安定性判定部304によって、デバイス間の通信が安定していると判定されたとき、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行する(S24)。
【0051】
安定性判定部304は、安定性判定テーブル304Aを用いて、応答時間測定部303によって測定された応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の近接無線通信の安定性を判定する。安定性判定部304は、例えば、安定性判定テーブル304Aに格納された、応答時間とスループットとの関係を示すデータを用いて安定性を判定する。
【0052】
図8は、応答時間とスループットとの関係を示すグラフを表す。図8に示すように、応答時間がしきい値A未満であるとき、近接無線通信モジュール20と外部デバイスとの間のスループットは高い。すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が高く、通信速度が高速である、高安定状態であると云える。
【0053】
また、応答時間がしきい値A以上であり、且つしきい値B未満であるとき、近接無線通信モジュール20と外部デバイスとの間のスループットは、所定値以上の値を示す。すなわち、近接無線通信モジュール20と外部デバイスとの間の通信は、エラーによる再送等が発生する可能性があるものの、所定の安定性(スループット)を保証する安定状態であると云える。
【0054】
さらに、応答時間がしきい値B以上であるとき、近接無線通信モジュール20と外部デバイスとの間のスループットは低く、アプリケーション等によって要求される最低スループットを満たせない可能性がある。すなわち、近接無線通信モジュール20と外部デバイスとの間の通信は、エラーによる再送等が繰り返し発生する可能性があり、また、接続自体が解除される可能性がある不安定状態であると云える。
【0055】
安定性判定部304は、上述のような応答時間とスループットとの関係を記述した安定性判定テーブル304Aを用いて、近接無線通信モジュール20と外部デバイスとの間の通信における、現在の応答時間に基づく安定性を判定する。すなわち、安定性判定部304は、応答時間がしきい値A未満である場合に、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態にあると判定する。安定性判定部304は、応答時間がしきい値A以上であり、且つしきい値B未満である場合に、近接無線通信モジュール20と外部デバイスとの間の通信が安定状態にあると判定する。また、安定性判定部304は、応答時間がしきい値B以上である場合に、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にあると判定する。
【0056】
接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態又は安定状態にあると判定された場合、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行する。一方、近接無線通信モジュール20と外部デバイスとの間の接続が不安定状態にあると判定された場合、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行しない。
【0057】
表示制御部306は、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を示す指標をLCD17に表示するための制御を行う。図9は、表示制御部306によって表示される通信の安定性を示す指標の例を表す。図9(a)では、携帯電話の電波強度等を示す表示のように、異なる長さの3本の縦棒を用いて、3本の縦棒が表示される場合には通信の高安定状態を示し、2本の縦棒が表示される場合には通信の安定状態を示し、1本の縦棒が表示される場合には通信の不安定状態を示す。図9(b)では、並べられた3つの矩形を用いて、3つの矩形が表示される場合には通信の高安定状態を示し、2つの矩形が表示される場合には通信の安定状態を示し、1つの矩形が表示される場合には通信の不安定状態を示す。なお、上述の例では、安定性の指標を三段階で表現したが、この安定性の指標は三段階に限らず、表示制御部306は、任意の安定性の状態をLCD17等に表示し得る。また、表示制御部306は、近接無線通信モジュール20と外部デバイスとの間の推定される通信速度を表示してもよい。表示制御部306は、グラフ、数値、アイコン等の各種オブジェクトを表示し、また、これら各種オブジェクトの色や大きさ等の表示形態の変更を行うことによって、通信の安定性や通信速度に関する情報を提示する。なお、表示制御部306は、インジケータ(LED)21の点灯(点滅)を用いて、通信の安定性や通信速度等を示す指標を表示するための制御を行ってもよい。表示制御部306は、通信の安定性や通信速度等に応じて、異なる色のインジケータ(LED)21を点灯させてもよい。さらに、表示制御部306は、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にある場合に、ユーザにデバイス間の位置関係を調整(再操作)することを促すメッセージ、例えば、ユーザにデバイス同士を近接させるタッチ操作のやり直しを促すメッセージ、またはデバイス間の位置関係が整合していないことをユーザに通知するメッセージ等をLCD17に表示させる。
【0058】
また、安定性判定部304は、応答時間測定部303によって、N回(N≧2)測定された応答時間を用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定してもよい。例えば、応答時間を2回測定する場合、応答時間測定部303は、以下のような測定を行う。
【0059】
まず、応答時間測定部303は、接続要求送信部301によって外部デバイスに第1の接続要求信号が送信されてから、接続応答受信部302によって第1の接続要求信号に応答する第1の接続応答信号を外部デバイスから受信するまでの経過時間を示す第1の応答時間を測定する。次に、応答時間測定部303は、接続要求送信部301によって外部デバイスに第2の接続要求信号が送信されてから、接続応答受信部302によって第2の接続要求信号に応答する第2の接続応答信号を外部デバイスから受信するまでの経過時間を示す第2の応答時間を測定する。
【0060】
安定性判定部304は、これら第1の応答時間と第2の応答時間とを用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。具体的には、安定性判定部304は、第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下であるか否かを判定する。第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下である場合には、例えば、近接無線通信モジュール20と外部デバイスとの位置関係の変動が小さい可能性がある。つまり、第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下であることから、第1の応答時間の測定時と第2の応答時間の測定時とで、近接無線通信モジュール20と外部デバイスとが、同様な近接状態に維持されていることが推定される。
【0061】
第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下である場合、安定性判定部304は、上述の応答時間とスループットとの関係を示すデータが格納された安定性判定テーブル304Aを用いて、第2の応答時間が、高安定状態、安定状態、及び不安定状態のいずれに対応するかを決定する。なお、安定性判定部304は、第1の応答時間と第2の応答時間との平均が、高安定状態、安定状態、及び不安定状態のいずれに対応するかを決定してもよい。接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態又は安定状態にあると決定された場合、つまり、電子機器10と外部デバイスとの間の位置関係が十分に整合している場合、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行し、不安定状態にあると判定された場合、つまり電子機器10と外部デバイスとの間の位置関係が十分に整合していない場合、接続を確立するための処理を実行しない。
【0062】
第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下でない場合、安定性判定部304は、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にあると判定する。第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下でない場合、例えば、近接無線通信モジュール20と外部デバイスとの位置関係の変動が大きい可能性がある。より具体的には、例えば、ユーザが近接無線通信モジュール20に外部デバイスを近付ける操作を行っている途中である可能性がある。したがって、第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下でない場合、近接無線通信モジュール20と外部デバイスとが同様な近接状態に維持されず、安定した近接無線通信が実行できない可能性が高い。このため、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行しない。
【0063】
また、第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下でない場合、応答時間測定部303は、再度、応答時間を測定する。具体的には、まず、応答時間測定部303は、接続要求送信部301によって外部デバイスに第3の接続要求信号が送信されてから、接続応答受信部302によって第3の接続要求信号に応答する第3の接続応答信号を外部デバイスから受信するまでの経過時間を示す第3の応答時間を測定する。次に、安定性判定部304は、上述した第2の応答時間と、新たに測定した第3の応答時間とを用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。そして、応答時間測定部303によって、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態又は安定状態にあると判定された場合、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立する。つまり、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態又は安定状態にあると判定されるまで、応答時間の測定及び通信の安定性の判定を行う。なお、一定回数以上、応答時間の測定及び通信の安定性の判定を行っても、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にある場合、表示制御部306は、ユーザにデバイスの再操作(再接続)を促すメッセージをLCD17の画面等に表示する。
【0064】
また、安定性判定部304は、応答時間測定部303によって、応答時間を所定の回数だけ測定した後に、測定された所定の回数の応答時間を用いて、安定性を判定してもよい。図10〜12に示すシーケンス図は、測定された所定の回数の応答時間を用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する例を表す。
【0065】
図10は、N回測定された応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態にあると判定され、近接無線通信モジュール20と外部デバイスとの間の接続が確立される例を示す。図10に示すシーケンスでは、例えば、近接無線通信モジュール20と外部デバイスとの間の距離が十分に短く、且つデバイス間の近接状態が維持されている(デバイス間の位置関係が変動していない)ことが想定される。
【0066】
まず、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに送信する(S31)。応答時間測定部303は、接続要求信号C−Req1の送信に応答して、応答時間T1の計測を開始する。
【0067】
外部デバイスは、接続要求送信部301によって送信された接続要求信号C−Req1を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号C−Ack1を近接無線通信モジュール20に送信する(S32)。
【0068】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号C−Ack1を受信する。応答時間測定部303は、接続応答信号C−Ack1の受信に応答して、応答時間T1の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって接続要求信号C−Req1が送信されてから、接続応答受信部302によって接続応答信号C−Ack1が受信されるまでの経過時間を応答時間T1として測定する。
【0069】
また、同様にして、応答時間測定部303は、応答時間T2〜TNを測定する(S33〜S36)。そして、安定性判定部304は、測定された応答時間T1〜TNに基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。応答時間T1〜TNの測定では、接続要求信号の再送等による応答時間の遅延が発生せず、応答時間の変動も小さい。応答時間の差の絶対値がしきい値以下であり、且つ応答時間の平均がしきい値以下であるので、安定性判定部304は、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が高安定状態にあると判定する。したがって、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を開始する(S37)。
【0070】
図11は、N回測定された応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信が安定状態にあると判定され、近接無線通信モジュール20と外部デバイスとの間の接続が確立される例を示す。図11に示すシーケンスでは、例えば、外部デバイスを近接無線通信モジュール20に近付ける操作が行われた後、デバイス間の近接状態が維持されていることが想定される。
【0071】
まず、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに送信する(S41)。応答時間測定部303は、接続要求信号C−Req1の送信に応答して、応答時間T1の計測を開始する。
【0072】
接続応答受信部302は、所定時間以上、外部デバイスからの接続応答信号C−Ack1が受信されないため、接続応答信号C−Ack1を受信する処理をタイムアウトする。接続応答信号C−Ack1を受信する処理がタイムアウトされたことに応答して、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに再送する(S42)。
【0073】
外部デバイスは、接続要求送信部301によって再送された接続要求信号C−Req1を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号C−Ack1を近接無線通信モジュール20に送信する(S43)。
【0074】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号C−Ack1を受信する。応答時間測定部303は、接続応答信号C−Ack1の受信に応答して、応答時間T1の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって接続要求信号C−Req1が送信されてから、タイムアウトによる接続要求信号C−Req1の再送を経て、接続応答受信部302によって接続応答信号C−Ack1が受信されるまでの経過時間を応答時間T1として測定する。
【0075】
また、同様にして、応答時間測定部303は応答時間T2〜TNを測定する(S44〜S47)。なお、応答時間T2〜TNの測定では、タイムアウトによる遅延は発生しておらず、接続要求送信部301によって接続要求信号C−Reqが送信されてから、接続応答受信部302によって接続応答信号C−Ackが受信されるまでの経過時間が応答時間Tとして測定される。
【0076】
安定性判定部304は、測定された応答時間T1〜TNに基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。応答時間T1の測定では、接続要求信号の再送による応答時間の遅延が発生したものの、後続する応答時間T2〜TNの測定では、接続要求信号の再送等による応答時間の遅延が発生せず、応答時間の変動も小さい。応答時間T2〜TNでは、応答時間の差の絶対値がしきい値以下に収束し、且つ応答時間の平均がしきい値以下であるので、安定性判定部304は、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が安定状態にあると判定する。したがって、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を開始する(S48)。
【0077】
図12は、N回測定された応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にあると判定され、近接無線通信モジュール20と外部デバイスとの間の接続が確立されない例を示す。図12に示すシーケンスでは、例えば、外部デバイスを近接無線通信モジュール20から遠ざける操作が行われていることが想定される。
【0078】
まず、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに送信する(S51)。応答時間測定部303は、接続要求信号C−Req1の送信に応答して、応答時間T1の計測を開始する。
【0079】
接続応答受信部302は、所定時間以上、外部デバイスからの接続応答信号C−Ack1が受信されないため、接続応答信号C−Ack1を受信する処理をタイムアウトする。接続応答信号C−Ack1を受信する処理がタイムアウトされたことに応答して、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに再送する(S52)。
【0080】
外部デバイスは、接続要求送信部301によって再送された接続要求信号C−Req1を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号C−Ack1を近接無線通信モジュール20に送信する(S53)。
【0081】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号C−Ack1を受信する。応答時間測定部303は、接続応答信号C−Ack1の受信に応答して、応答時間T1の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって接続要求信号C−Req1が送信されてから、タイムアウトによる接続要求信号C−Req1の再送を経て、接続応答受信部302によって接続応答信号C−Ack1が受信されるまでの経過時間を応答時間T1として測定する。
【0082】
また、同様にして、応答時間測定部303は応答時間T2〜TNを測定する(S54〜S57)。なお、応答時間T2〜TNの測定では、シーケンスS51〜S53と同様に、タイムアウトによる遅延が発生し、接続要求送信部301によって接続要求信号C−Reqが送信されてから、タイムアウトによる接続要求信号C−Reqの再送を経て、接続応答受信部302によって接続応答信号C−Ackが受信されるまでの経過時間が応答時間Tとして測定される。
【0083】
安定性判定部304は、測定された応答時間T1〜TNに基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。応答時間T1〜TNの測定では、接続要求信号の再送等による応答時間の遅延が発生し、応答時間の変動も大きい。応答時間T1〜TNでは、応答時間の差の絶対値がしきい値以下に収束せず、応答時間の平均がしきい値以下でないので、安定性判定部304は、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が不安定状態にあると判定する。したがって、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を開始しない。
【0084】
以上のように、安定性判定部304は、複数回測定された応答時間を用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。そして、安定した近接無線通信が実行可能である際に、接続確立部305は、デバイス間の接続を確立する。このように、複数回測定された応答時間を用いることで、通信速度や通信の安定性を判定する精度を高めることができる。
【0085】
次いで、図13のフローチャートを参照して、近接無線通信モジュール20と外部デバイスとの間の接続を制御する接続制御処理の手順の例を説明する。なお、以下の説明において、変数iは、近接無線通信モジュール20と外部デバイスとの間の応答時間を測定した回数を表す、1以上の整数である。
【0086】
まず、通信制御プログラム202は、外部デバイスに接続要求信号C−Reqiを送信する(ステップS101)。通信制御プログラム202は、接続要求信号C−Reqiを送信したことに応答して、応答時間Tiの測定を開始する(ステップS102)。
【0087】
次いで、通信制御プログラム202は、送信した接続要求信号C−Reqiに応答する接続応答信号C−Ackiを外部デバイスから受信したか否かを判定する(ステップS103)。接続応答信号C−Ackiを外部デバイスから受信していない場合(ステップS103のNO)、通信制御プログラム202は、接続応答信号C−Ackiを受信する処理をタイムアウトするか否かを判定する(ステップS104)。具体的には、通信制御プログラム202は、例えば、外部デバイスに接続要求信号C−Reqiを送信してから、所定時間(タイムアウトしきい値)以上が経過したか否かを判定する。
【0088】
接続応答信号C−Ackiを受信する処理をタイムアウトする場合(ステップS104のYES)、通信制御プログラム202は、接続要求信号C−Reqiを再送する(ステップS105)。そして、通信制御プログラム202はステップS103に戻る。一方、接続応答信号C−Ackiを受信する処理をタイムアウトしない場合(ステップS104のNO)、通信制御プログラム202はステップS103に戻る。
【0089】
接続応答信号C−Ackiを外部デバイスから受信した場合(ステップS103のYES)、通信制御プログラム202は応答時間Tiの測定を完了する(ステップS106)。そして、通信制御プログラム202は、測定した応答時間Tiがしきい値THA以下であるか否かを判定する(ステップS107)。測定した応答時間Tiがしきい値THA以下である場合(ステップS107のYES)、通信制御プログラム202は、近接無線通信モジュール20と外部デバイスとの間の接続を確立する(ステップS108)。測定した応答時間Tiがしきい値THA以下でない場合(ステップS107のNO)、通信制御プログラム202は、ステップS101に戻り、新たに、応答時間Ti+1を測定し、測定した応答時間Ti+1に基づいてデバイス間の接続を確立するか否かを決定する。なお、通信制御プログラム202は、ステップS107において、これまでに測定した応答時間T1〜Tiを平均した、平均応答時間がしきい値THA以下であるか否かを判定してもよい。
【0090】
以上の処理により、測定した応答時間Tiがしきい値THA以下である場合、すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が高いと推定される場合に、通信制御プログラム202はデバイス間の接続を確立する。一方、測定した応答時間Tiがしきい値THA以下でない場合、すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が低いと推定される場合には、通信制御プログラム202はデバイス間の接続を確立せず、新たに応答時間Ti+1を測定する。つまり、通信制御プログラム202は、安定した近接無線通信が実行可能である際に、近接無線通信モジュール20と外部デバイスとの間の接続を確立できる。
【0091】
なお、所定回数以上、応答時間Tiに基づく安定性の判定を行っても、デバイス間の近接無線通信の安定性が低いと推定される場合(応答時間がしきい値THA以上である場合)には、ユーザに対してデバイスの配置の変更等を促すメッセージをLCD17に表示してもよい。
【0092】
図14は、近接無線通信モジュール20と外部デバイスとの間の接続を制御する接続制御処理の手順の別の例を示す。なお、変数iは、上述のように、近接無線通信モジュール20と外部デバイスとの間の応答時間Tiを測定した回数を表す、1以上の整数である。
【0093】
まず、通信制御プログラム202は、外部デバイスに接続要求信号C−Reqiを送信する(ステップS201)。通信制御プログラム202は、接続要求信号C−Reqiを送信したことに応答して、応答時間Tiの測定を開始する(ステップS202)。
【0094】
次いで、通信制御プログラム202は、送信した接続要求信号C−Reqiに応答する接続応答信号C−Ackiを外部デバイスから受信したか否かを判定する(ステップS203)。接続応答信号C−Ackiを外部デバイスから受信していない場合(ステップS203のNO)、通信制御プログラム202は、接続応答信号C−Ackiを受信する処理をタイムアウトするか否かを判定する(ステップS204)。具体的には、通信制御プログラム202は、例えば、外部デバイスに接続要求信号C−Reqiを送信してから、所定時間(タイムアウトしきい値)以上が経過したか否かを判定する。
【0095】
接続応答信号C−Ackiを受信する処理をタイムアウトする場合(ステップS204のYES)、通信制御プログラム202は、ステップS201において接続要求信号C−Reqiを外部デバイスに送信してから、ステップS204においてタイムアウトした回数がしきい値THD以上であるか否かを判定する(ステップS205)。タイムアウトした回数がしきい値THD以上でない場合(ステップS205のNO)、通信制御プログラム202は接続要求信号C−Reqiを再送する(ステップS206)。そして、通信制御プログラム202はステップS203に戻る。一方、接続応答信号C−Ackiを受信する処理をタイムアウトしない場合(ステップS204のNO)、通信制御プログラム202はステップS203に戻る。
【0096】
接続応答信号C−Ackiを外部デバイスから受信した場合(ステップS203のYES)、通信制御プログラム202は応答時間Tiの測定を完了する(ステップS207)。そして、通信制御プログラム202は、測定した応答時間Tiと一つ前に測定した応答時間Ti−1との差ΔTiを算出する(ステップS208)。なお、1回目の応答時間T1の測定の際には、ステップS208における処理をスキップしてステップS201に戻り、2回目の応答時間T2の測定を行う。
【0097】
次いで、通信制御プログラム202は、算出した応答時間の差の絶対値|ΔTi|がしきい値THB以下であるか否かを判定する(ステップS209)。算出した応答時間の差の絶対値|ΔTi|がしきい値THB以下である場合(ステップS209のYES)、通信制御プログラム202は、測定した応答時間Tiがしきい値THA以下であるか否かを判定する(ステップS210)。測定した応答時間Tiがしきい値THA以下である場合(ステップS210のYES)、通信制御プログラム202は、近接無線通信モジュール20と外部デバイスとの間の接続を確立する(ステップS211)。
【0098】
測定した応答時間Tiがしきい値THA以下でない場合(ステップS210のNO)、通信制御プログラム202は、応答時間を測定した回数iがしきい値THC以上であるか否かを判定する(ステップS212)。応答時間を測定した回数iがしきい値THC以上である場合(ステップS212のYES)、又はステップS204においてタイムアウトした回数がしきい値THD以上である場合(ステップS205のYES)、通信制御プログラム202は、近接無線通信モジュール20と外部デバイスとの配置を変更することを促すメッセージ等をLCD17に表示する(ステップS213)。
【0099】
応答時間を測定した回数iがしきい値THC以上でない場合(ステップS212のNO)、通信制御プログラム202は、ステップS201に戻り、新たに応答時間Ti+1を測定し、測定した応答時間Ti+1に基づいてデバイス間の接続を確立するか否かを決定する。なお、ステップS210において、通信制御プログラム202は、これまでに測定した応答時間T1〜Tiを平均した、平均応答時間がしきい値THA以下であるか否かを判定してもよい。
【0100】
以上の処理により、前回測定した応答時間Ti−1と今回測定した応答時間Tiとの差の絶対値|ΔTi|がしきい値THB以下であり、且つ、今回測定した応答時間Tiがしきい値THA以下である場合、すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が高いと推定される場合に、通信制御プログラム202はデバイス間の接続を確立する。一方、前回測定した応答時間Ti−1と今回測定した応答時間Tiとの差の絶対値|ΔTi|がしきい値THB以下でない場合、又は測定した応答時間Tiがしきい値THA以下でない場合、すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が低いと推定される場合には、通信制御プログラム202はデバイス間の接続を確立せず、応答時間を再度測定する。つまり、通信制御プログラム202は、安定した近接無線通信が実行可能である際に、近接無線通信モジュール20と外部デバイスとの間の接続を確立できる。また、所定回数以上、応答時間の測定を行っても、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が低いと推定される場合には、LCD17にメッセージを表示することにより、ユーザに対して、外部デバイスを近接無線通信モジュール20に近付けるタッチ操作(又は近接無線通信モジュール20を外部デバイスに近付けるタッチ操作)を再度行うように促すことができる。
【0101】
なお、通信の安定性及び通信速度は、応答時間の差や平均に限らず、重み付き平均、中央値、分散等の各種統計情報を用いて判定してもよい。また、本実施形態では、応答時間とスループットとの関係を用いて、通信の安定性を判定したが、応答時間とエラーレートとの関係を用いて、通信の安定性を判定してもよい。その場合には、応答時間とエラーレートとの関係を示すデータが、安定性判定テーブル304Aに格納される。
【0102】
以上説明したように、本実施形態によれば、安定した近接無線通信が実行可能である際に、デバイス間の接続を確立できる。通信制御プログラム202は、近接無線通信モジュール20から外部デバイスに接続要求信号を送信してから、外部デバイスから接続応答信号を受信するまでの経過時間を示す応答時間を測定し、この応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。そして、通信制御プログラム202は、所定の安定性が保証されるとき、近接無線通信モジュール20と外部デバイスとの間の接続を確立する。したがって、安定した近接無線通信が実行可能である際に、デバイス間の接続を確立できる。また、応答時間の測定を複数回行うことにより、デバイス間の通信の安定性を判定する精度を高めることができる。
【0103】
さらに、安定性を示す指標を画面等に表示することにより、ユーザは、デバイス間の通信の安定性を把握することができる。また、デバイス間の通信の安定性が低い際には、ユーザに対して、デバイスの再操作を促すメッセージを表示することにより、ユーザは、デバイスの配置を変更する操作が必要であることを認識することができる。
【0104】
なお、本実施形態では、接続を要求する電子機器10において、通信の安定性の判定や安定性の指標の表示を行ったが、接続要求に応答する外部デバイスにおいて、通信の安定性の判定や安定性の指標の表示を行ってもよい。その場合、通信制御プログラム202は、安定性の判定や表示に必要な情報を外部デバイスに送信し得る。
【0105】
また、本実施形態の接続制御処理の手順は全てソフトウェアによって実行することができる。このため、接続制御処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0106】
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0107】
202…通信制御プログラム、301…接続要求送信部、302…接続応答受信部、303…応答時間測定部、304…安定性判定部、304A…安定性判定テーブル、305…接続確立部、306…表示制御部。
【技術分野】
【0001】
本発明は、近接無線通信を実行する電子機器及び同機器に適用される通信制御方法に関する。
【背景技術】
【0002】
近年、NFCのような無線通信が利用され始めている。ユーザは、ICカードをホスト装置のリーダ/ライタ部にかざすといった操作を行うだけで、認証処理、課金等のための通信を容易に行うことができる。また、最近では、デバイス間の高速なデータ交換を可能にする新たな近接無線通信技術も開発され始めている。
このような通信を円滑に実行するためには、安定した通信路が提供されることが望ましい。
【0003】
特許文献1には、複数の通信路から所定の条件に合う通信路を選択する通信端末装置が開示されている。この通信端末装置は、複数の通信路の各々の通信品質に基づいて通信路を選択する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−324945号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、近接無線通信ではデバイス間に一つの通信路が設定される。この通信路では、デバイス同士を近接状態に維持することによって、安定した近接無線通信を実行することができる。しかし、デバイス同士を近付ける操作中など、デバイス同士の位置関係が変化している際に、デバイス間の接続が確立され通信が開始された場合、安定した通信が実行できない可能性がある。例えば、通信時のエラーによってパケットが再送され、データ伝送に要する時間が長くなる可能性がある。また、例えば、デバイス間の接続が解除され、データ伝送が中断される可能性がある。しかしながら、近付けたデバイス同士が、安定した通信を行うことができる近接状態にあるか否かを、外見から判断することは困難である。
【0006】
本発明は上述の事情を考慮してなされたものであり、安定した近接無線通信が実行可能である際に、デバイス間の接続を確立できる電子機器及び通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述の課題を解決するため、本発明の電子機器は、近接無線通信を実行する通信モジュールと、前記通信モジュールと近接状態にある外部デバイスに接続要求信号を送信する接続要求送信手段と、前記接続要求信号に応答する接続応答信号を前記外部デバイスから受信する接続応答受信手段と、前記接続要求信号を送信してから前記接続応答信号を受信するまでの経過時間を示す応答時間を測定する応答時間測定手段と、前記応答時間に基づいて、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあるか否かを判定する安定性判定手段と、前記安定性判定手段によって、前記通信モジュールと前記外部デバイスとの間の通信が前記安定状態にあると判定された場合に、前記通信モジュールと前記外部デバイスとの間の接続を確立する接続制御手段とを具備することを特徴とする。
【発明の効果】
【0008】
本発明によれば、安定した近接無線通信が実行可能である際に、デバイス間の接続を確立できる。
【図面の簡単な説明】
【0009】
【図1】本発明の一実施形態に係る電子機器の外観を示す斜視図。
【図2】同実施形態の電子機器の構成を示すブロック図。
【図3】同実施形態の電子機器と外部デバイスとの間で実行される近接無線通信の例を示す図。
【図4】同実施形態の電子機器に適用される、近接無線通信を制御するためのソフトウェアアーキテクチャの例を示す図。
【図5】同実施形態の電子機器において実行される通信制御プログラムの機能構成を示すブロック図。
【図6】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の接続シーケンスにおける接続応答時間の計測の例を説明する図。
【図7】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の接続シーケンスにおける接続応答時間の計測の別の例を説明する図。
【図8】デバイス間の近接無線通信による接続シーケンスにおける接続応答時間とスループットとの関係を示す図。
【図9】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の近接無線通信の安定性を示す表示の例を示す図。
【図10】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の近接無線通信による接続シーケンスの例を示す図。
【図11】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の近接無線通信による接続シーケンスの別の例を示す図。
【図12】同実施形態の電子機器に設けられる近接無線通信モジュールと外部デバイスとの間の近接無線通信による接続シーケンスのさらに別の例を示す図。
【図13】同実施形態の電子機器によって実行される接続制御処理の手順の例を示すフローチャート。
【図14】同実施形態の電子機器によって実行される接続制御処理の手順の別の例を示すフローチャート。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の実施形態に係る電子機器の外観を示す図である。この電子機器10は、例えばポータブルパーソナルコンピュータとして実現されている。
【0011】
電子機器10は、本体11と、ディスプレイユニット12とを備えている。ディスプレイユニット12は、本体11の上面が露出される開放位置と本体11の上面がディスプレイユニット12によって覆われる閉塞位置との間を回動可能に本体11に取り付けられている。ディスプレイユニット12内には、LCD17が設けられている。
【0012】
本体11は薄い箱状の筐体を有している。本体11の筐体の上面には、キーボード13、タッチパッド16、インジケータ21、電源スイッチ23等が配置されている。
本体11の上面、具体的には、本体11の上面上のパームレスト領域11Aの一部は、通信面として機能する。すなわち、近接無線通信モジュール20及びアンテナ(カプラ)20Aは、本体11の上面のパームレスト領域11Aに対向して本体11内に設けられている。アンテナ(カプラ)20Aは、本体11の上面(具体的には、本体11の上面上のパームレスト領域11Aの一部)を介して、無線信号(誘導電界)を外部に出力するように配置されている。アンテナ(カプラ)20Aに対向する本体11の上面上の小領域、つまり本体11の上面上においてアンテナ(カプラ)20Aの上方に位置する小領域は、通信位置として使用される。
【0013】
ユーザは、例えば、近接無線通信機能を有する外部デバイスを本体11のパームレスト領域11A内の通信位置上にかざすという操作(タッチ操作)を行うことにより、外部デバイスと電子機器10との間のデータ転送を開始させることができる。
【0014】
図2は、電子機器10のシステム構成を示す図である。
電子機器10は、図2に示されるように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、GPU105、VRAM105A、サウンドコントローラ106、BIOS−ROM107、LANコントローラ108、ハードディスクドライブ(HDD)109、光ディスクドライブ(ODD)110、無線LANコントローラ112、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)113、EEPROM114、近接無線通信モジュール20等を備える。
【0015】
CPU101は、電子機器10の動作を制御するプロセッサであり、HDD109から主メモリ103にロードされる、オペレーティングシステム(OS)201や、通信制御プログラム202のような各種アプリケーションプログラムを実行する。通信制御プログラム202は、近接無線通信モジュール20と外部デバイスとの間の近接無線通信を制御する機能を有するソフトウェアである。また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
【0016】
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
【0017】
GPU105は、電子機器10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このGPU105によって生成される表示信号はLCD17に送られる。また、GPU105は、HDMI制御回路3及びHDMI端子2を介して、外部ディスプレイ装置1にデジタル映像信号を送出することもできる。
【0018】
HDMI端子2は、外部ディスプレイ接続端子である。HDMI制御回路3は、HDMIモニタと称される外部ディスプレイ装置1にデジタル映像信号をHDMI端子2を介して送出するためのインタフェースである。
【0019】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、HDD109及びODD110を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18B又はHDMI制御回路3に出力する。
【0020】
LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線LANコントローラ112は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。
【0021】
EC/KBC113は、電力管理のためのエンベデッドコントローラと、キーボード13及びタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC113に接続されるインジケータ21は、近接無線通信モジュール20によって実行される近接無線通信の状態(データ転送の開始、データ転送の終了、通信の安定性等)を提示する。このインジケータ21は、LEDのような発光部を備えている。
【0022】
また、EC/KBC113に接続される電源回路24は、ACアダプタ30を介して外部から供給される電力、又は電子機器10内に設けられたバッテリ25から供給される電力を用いて、電子機器10内の各部に電力を供給する。換言すれば、電子機器10は、AC商用電源のような外部電源、又はバッテリ25によって駆動される。ACアダプタ30は、電子機器10内に設けることもできる。EC/KBC113は、ユーザによる電源スイッチ23の操作に応じて、電子機器10をパワーオン又はパワーオフする。
【0023】
近接無線通信モジュール20は、近接無線通信を実行する通信モジュールである。近接無線通信モジュール20は、近接無線通信モジュール20から所定の範囲内に存在する、近接無線通信機能を有する別のデバイス(外部デバイス)と通信することができる。近接無線通信モジュール20と外部デバイスとの間の無線通信は、近接無線通信モジュール20と外部デバイスとが近接状態である場合、つまり近接無線通信モジュール20と外部デバイスとの間の距離が通信可能距離(例えば3cm)以内に接近している場合にのみ可能となる。近接無線通信モジュール20と外部デバイスとが通信可能距離以内に接近した時、近接無線通信モジュール20と外部デバイスとの間の通信が可能となる。そして、近接無線通信モジュール20と外部デバイスとの間の接続(無線接続)を確立する動作が開始される。デバイス間の接続(無線接続)が確立された後に、例えば、ユーザによって明示的に指定されたデータファイル、予め決められた同期対象データファイル等のデータの転送が近接無線通信モジュール20と外部デバイスとの間で実行される。
【0024】
近接無線通信においては、誘導電界が用いられる。近接無線通信方式としては、例えばTransferJetを使用し得る。TransferJetは、UWBを利用した近接無線通信方式であり、高速データ転送を実現することができる。
【0025】
近接無線通信モジュール20はアンテナ20Aに接続されている。アンテナ20Aはカプラと称される電極であり、誘導電界を用いた無線信号により、外部デバイスに対するデータの送受信を行う。外部デバイスがアンテナ20Aから通信距離(例えば3cm)以内の範囲内に接近した場合、近接無線通信モジュール20及び外部デバイスそれぞれのアンテナ(カプラ)間が誘導電界によって結合され、これによって近接無線通信モジュール20と外部デバイスとの間の無線通信が実行可能となる。なお、近接無線通信モジュール20及びアンテナ20Aは、一つのモジュールとして実現し得る。
【0026】
図3は、携帯電話と電子機器10との間で実行される近接無線通信の様子を示している。携帯電話の筐体内には、その筐体の背面に対向して近接無線通信用のアンテナ(カプラ)が設けられている。この場合、携帯電話の筐体の背面を電子機器10の本体11のパームレスト領域11A上の通信位置にかざすことにより、携帯電話と電子機器10との間の近接無線通信を開始することが可能となる。
【0027】
次に、図4を参照して、近接無線通信モジュール20を用いて実行される近接無線通信を制御するためのソフトウェアアーキテクチャを説明する。
図4のソフトウェアアーキテクチャは近接無線通信を制御するためのプロトコルスタックの階層構造を示している。プロトコルスタックは、物理層(PHY)、コネクション層(CNL)、プロトコル変換層(PCL)、アプリケーション層から構成されている。
【0028】
物理層(PHY)は物理的なデータ転送を制御する層であり、OSI参照モデル内の物理層に対応する。物理層(PHY)の一部の機能又は全ての機能は、近接無線通信モジュール20内のハードウェアを用いて実現することもできる。
【0029】
物理層(PHY)はコネクション層(CNL)からのデータを無線信号に変換する。コネクション層(CNL)はOSI参照モデル内のデータリンク層、ネットワーク層及びトランスポート層に対応しており、物理層(PHY)を制御してデータ通信を実行する。
【0030】
コネクション層(CNL)は、プロトコル変換層(PCL)からの接続要求、又は外部デバイスからの接続要求に応じて、近接状態に設定されている近接無線通信モジュール20と外部デバイスとの間の(物理的な)接続を確立する処理を実行する。ここで、2つのデバイス(デバイス1,2)間の接続を確立するための手順について説明する。デバイス1,2の内、通信を開始したい側のデバイス、例えばデバイス1は、接続要求(C−Req)を無線送信するための処理を実行する。この接続要求(C−Req)には、デバイス1の固有のIDを含めることができる。デバイス2は接続要求(C−Req)を受信するための処理を定期的に実行する。デバイス1とデバイス2とが近接状態である場合、デバイス2は、デバイス1から送信される接続要求(C−Req)を受信することができる。接続要求(C−Req)を受信した時、デバイス2は、受信した接続要求(C−Req)の受諾を示す応答(C−Ack)をデバイス1に無線送信する。この応答(C−Ack)には、デバイス2の固有のIDを含めることができる。デバイス1は、デバイス2から無線送信される応答(C−Ack)を受信することができる。このように、デバイス1とデバイス2との間で接続要求信号(C−Req)及び接続応答信号(C−Ack)を送受信することにより、デバイス1とデバイス2との間の接続が確立される。
【0031】
プロトコル変換層(PCL)は、OSI参照モデル内のセッション層及びプレゼンテーション層に対応しており、アプリケーション層と、2つのデバイス間のリンクの確立及び解除を制御するためのコネクション層(CNL)との間に位置する。プロトコル変換層(PCL)は、2つのデバイス間の接続を確立するために、アプリケーション層内の各アプリケーション(通信プログラム)の制御とコネクション層(CNL)の制御を行う。
【0032】
より具体的には、プロトコル変換層(PCL)は、アプリケーション層の各通信プログラムが扱うアプリケーションプロトコル(例えば、SCSI、OBEX、他の汎用プロトコル等)に対応したデータ(ユーザデータ)を特定の伝送用データ形式に変換するための変換処理を実行する。この変換処理により、どの通信プログラムによって送受信されるデータも、コネクション層(CNL)が扱うことが可能なパケット(特定の伝送用データ形式のデータ)に変換される。このプロトコル変換層(PCL)は、様々なアプリケーションプロトコルを近接無線通信で利用することを可能にする。
【0033】
次に、図5を参照して、電子機器10上で動作する通信制御プログラム202の一機能構成を説明する。ここでは、通信制御プログラム202が有する機能のうち、近接無線通信モジュール20と近接無線通信機能を有する外部デバイスとの間で確立される接続を制御する機能を実現するための構成例について説明する。
【0034】
無線通信では、通信の安定性や通信速度を判断する指標の一つとして、受信される電波の強度を用いることがある。無線通信を実行するデバイスは、受信される電波の強度を計測し、電波の強弱を数値やグラフ等を用いて表示する。しかし、近接無線通信では、電波の送信出力が小さいため、通信状態が変化しても受信電波強度に差が出にくい。したがって、近接無線通信では、受信電波強度を通信の安定性や通信速度の指標として用いることは困難である。
【0035】
また、受信電波強度に基づく通信の安定性や通信速度の指標は、通信を行う2つのデバイスのうち、一方のデバイスの受信状態を表す。このため、受信電波強度に基づく指標を用いて、他方のデバイスの受信状態を推定することは難しい。つまり、受信電波強度では、一方のデバイスの受信状態を判断することはできるものの、当該デバイスから他方のデバイスに送信された電波の到達状況等を判断することはできず、デバイス間の通信の安定性や通信速度を判断することは困難である。
【0036】
そこで、本実施形態では、近接無線通信モジュール20と外部デバイス間の接続を確立する際に用いられる、接続要求信号(C−Req)と接続応答信号(C−Ack)とを利用して、接続要求時の応答時間を測定する。応答時間は、近接無線通信モジュール20が、外部デバイスに接続要求信号が送信してから、この外部デバイスから送信される接続要求信号に対する接続応答信号を受信するまでの経過時間を示す。つまり、測定した応答時間は、デバイス間の実際の通信(信号の送受信)に要する時間を表している。したがって、応答時間に基づく指標を用いることで、電波強度に基づく指標よりも高い信頼度で、通信の安定性及び通信速度の高低を判断することができる。
【0037】
以上のことから、通信制御プログラム202は、近接無線通信モジュール20と近接無線通信機能を有する外部デバイスとの間で接続を確立する際に、応答時間を測定し、測定した応答時間に基づいて、デバイス間の通信の安定性を判定する機能を有する。通信制御プログラム202は、接続要求送信部301、接続応答受信部302、応答時間測定部303、安定性判定部304、接続確立部305、及び表示制御部306を備える。
【0038】
接続要求送信部301は、外部デバイスに接続要求信号(C−Req)を送信する。接続応答受信部302は、接続要求送信部301によって送信された接続要求信号に応答して、外部デバイスから送信された接続応答信号(接続可能応答信号:C−Ack)を受信する。なお、接続要求送信部301は、外部デバイスに接続要求信号を送信してから所定の時間が経過しても、接続応答受信部302が、外部デバイスから送信された接続応答信号を受信しないとき、外部デバイスに接続要求信号を再送する。その場合、接続応答受信部302は、再送された接続要求信号に応答して、外部デバイスから送信された接続応答信号を受信する。
【0039】
応答時間測定部303は、接続要求送信部301によって接続要求信号を送信してから、接続応答受信部302によって接続応答信号を受信するまでの経過時間を示す応答時間を測定する。
【0040】
図6に示すシーケンス図を参照して、近接無線通信モジュール20と外部デバイスとの間で接続を確立する際に計測される応答時間の例について説明する。
【0041】
まず、接続要求送信部301は、接続要求信号(C−Req)を外部デバイスに送信する(S11)。応答時間測定部303は、接続要求信号の送信に応答して、応答時間の計測を開始する。
【0042】
外部デバイスは、接続要求送信部301によって送信された接続要求信号を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号(C−Ack)を近接無線通信モジュール20に送信する(S12)。
【0043】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号を受信する。応答時間測定部303は、接続応答信号の受信に応答して、応答時間の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって接続要求信号を送信してから、接続応答受信部302によって接続応答信号を受信するまでの経過時間を応答時間として測定する。安定性判定部304は、測定した応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。近接無線通信モジュール20と外部デバイスとの間の通信の安定性は、これらデバイス間の通信環境の安定性を意味するものである。たとえ近接無線通信モジュール20と外部デバイスとが通信範囲内に近接されている場合であっても、これらデバイス間の通信環境は、近接無線通信モジュール20と外部デバイスとの間の位置関係の整合の度合い等によって変動する。
【0044】
接続確立部305は、安定性判定部304によって、デバイス間の通信が安定していると判定されたとき、近接無線通信モジュール20と外部デバイスとの間の近接無線通信による接続を確立するための処理を実行する(S13)。
【0045】
また、図7は、近接無線通信モジュール20と外部デバイスとの間で接続を確立する際に計測される応答時間の別の例を表す。
【0046】
まず、接続要求送信部301は、接続要求信号(C−Req)を外部デバイスに送信する(S21)。応答時間測定部303は、接続要求信号の送信に応答して、応答時間の計測を開始する。
【0047】
ここで、シーケンスS21において、接続要求送信部301により送信された接続要求信号が、外部デバイスに受信されなかったこと(C−Req受信NG)を想定する。この場合、外部デバイスは接続要求信号を受信しないため、当然ながら、近接無線通信モジュール20に接続応答信号(C−Ack)を送信しない。
【0048】
接続応答受信部302は、所定の時間が経過しても、外部デバイスから接続応答信号を受信しないとき(タイムアウト)、接続要求信号を外部デバイスに再送する(S22)。
【0049】
外部デバイスは、接続要求送信部301によって再送された接続要求信号を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号を近接無線通信モジュール20に送信する(S23)。
【0050】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号を受信する。応答時間測定部303は、接続応答信号の受信に応答して、応答時間の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって最初に接続要求信号を送信してから、タイムアウトによる接続要求信号の再送を経て、接続応答受信部302によって接続応答信号を受信するまでの経過時間を応答時間として測定する。安定性判定部304は、測定した応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。接続確立部305は、安定性判定部304によって、デバイス間の通信が安定していると判定されたとき、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行する(S24)。
【0051】
安定性判定部304は、安定性判定テーブル304Aを用いて、応答時間測定部303によって測定された応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の近接無線通信の安定性を判定する。安定性判定部304は、例えば、安定性判定テーブル304Aに格納された、応答時間とスループットとの関係を示すデータを用いて安定性を判定する。
【0052】
図8は、応答時間とスループットとの関係を示すグラフを表す。図8に示すように、応答時間がしきい値A未満であるとき、近接無線通信モジュール20と外部デバイスとの間のスループットは高い。すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が高く、通信速度が高速である、高安定状態であると云える。
【0053】
また、応答時間がしきい値A以上であり、且つしきい値B未満であるとき、近接無線通信モジュール20と外部デバイスとの間のスループットは、所定値以上の値を示す。すなわち、近接無線通信モジュール20と外部デバイスとの間の通信は、エラーによる再送等が発生する可能性があるものの、所定の安定性(スループット)を保証する安定状態であると云える。
【0054】
さらに、応答時間がしきい値B以上であるとき、近接無線通信モジュール20と外部デバイスとの間のスループットは低く、アプリケーション等によって要求される最低スループットを満たせない可能性がある。すなわち、近接無線通信モジュール20と外部デバイスとの間の通信は、エラーによる再送等が繰り返し発生する可能性があり、また、接続自体が解除される可能性がある不安定状態であると云える。
【0055】
安定性判定部304は、上述のような応答時間とスループットとの関係を記述した安定性判定テーブル304Aを用いて、近接無線通信モジュール20と外部デバイスとの間の通信における、現在の応答時間に基づく安定性を判定する。すなわち、安定性判定部304は、応答時間がしきい値A未満である場合に、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態にあると判定する。安定性判定部304は、応答時間がしきい値A以上であり、且つしきい値B未満である場合に、近接無線通信モジュール20と外部デバイスとの間の通信が安定状態にあると判定する。また、安定性判定部304は、応答時間がしきい値B以上である場合に、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にあると判定する。
【0056】
接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態又は安定状態にあると判定された場合、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行する。一方、近接無線通信モジュール20と外部デバイスとの間の接続が不安定状態にあると判定された場合、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行しない。
【0057】
表示制御部306は、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を示す指標をLCD17に表示するための制御を行う。図9は、表示制御部306によって表示される通信の安定性を示す指標の例を表す。図9(a)では、携帯電話の電波強度等を示す表示のように、異なる長さの3本の縦棒を用いて、3本の縦棒が表示される場合には通信の高安定状態を示し、2本の縦棒が表示される場合には通信の安定状態を示し、1本の縦棒が表示される場合には通信の不安定状態を示す。図9(b)では、並べられた3つの矩形を用いて、3つの矩形が表示される場合には通信の高安定状態を示し、2つの矩形が表示される場合には通信の安定状態を示し、1つの矩形が表示される場合には通信の不安定状態を示す。なお、上述の例では、安定性の指標を三段階で表現したが、この安定性の指標は三段階に限らず、表示制御部306は、任意の安定性の状態をLCD17等に表示し得る。また、表示制御部306は、近接無線通信モジュール20と外部デバイスとの間の推定される通信速度を表示してもよい。表示制御部306は、グラフ、数値、アイコン等の各種オブジェクトを表示し、また、これら各種オブジェクトの色や大きさ等の表示形態の変更を行うことによって、通信の安定性や通信速度に関する情報を提示する。なお、表示制御部306は、インジケータ(LED)21の点灯(点滅)を用いて、通信の安定性や通信速度等を示す指標を表示するための制御を行ってもよい。表示制御部306は、通信の安定性や通信速度等に応じて、異なる色のインジケータ(LED)21を点灯させてもよい。さらに、表示制御部306は、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にある場合に、ユーザにデバイス間の位置関係を調整(再操作)することを促すメッセージ、例えば、ユーザにデバイス同士を近接させるタッチ操作のやり直しを促すメッセージ、またはデバイス間の位置関係が整合していないことをユーザに通知するメッセージ等をLCD17に表示させる。
【0058】
また、安定性判定部304は、応答時間測定部303によって、N回(N≧2)測定された応答時間を用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定してもよい。例えば、応答時間を2回測定する場合、応答時間測定部303は、以下のような測定を行う。
【0059】
まず、応答時間測定部303は、接続要求送信部301によって外部デバイスに第1の接続要求信号が送信されてから、接続応答受信部302によって第1の接続要求信号に応答する第1の接続応答信号を外部デバイスから受信するまでの経過時間を示す第1の応答時間を測定する。次に、応答時間測定部303は、接続要求送信部301によって外部デバイスに第2の接続要求信号が送信されてから、接続応答受信部302によって第2の接続要求信号に応答する第2の接続応答信号を外部デバイスから受信するまでの経過時間を示す第2の応答時間を測定する。
【0060】
安定性判定部304は、これら第1の応答時間と第2の応答時間とを用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。具体的には、安定性判定部304は、第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下であるか否かを判定する。第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下である場合には、例えば、近接無線通信モジュール20と外部デバイスとの位置関係の変動が小さい可能性がある。つまり、第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下であることから、第1の応答時間の測定時と第2の応答時間の測定時とで、近接無線通信モジュール20と外部デバイスとが、同様な近接状態に維持されていることが推定される。
【0061】
第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下である場合、安定性判定部304は、上述の応答時間とスループットとの関係を示すデータが格納された安定性判定テーブル304Aを用いて、第2の応答時間が、高安定状態、安定状態、及び不安定状態のいずれに対応するかを決定する。なお、安定性判定部304は、第1の応答時間と第2の応答時間との平均が、高安定状態、安定状態、及び不安定状態のいずれに対応するかを決定してもよい。接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態又は安定状態にあると決定された場合、つまり、電子機器10と外部デバイスとの間の位置関係が十分に整合している場合、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行し、不安定状態にあると判定された場合、つまり電子機器10と外部デバイスとの間の位置関係が十分に整合していない場合、接続を確立するための処理を実行しない。
【0062】
第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下でない場合、安定性判定部304は、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にあると判定する。第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下でない場合、例えば、近接無線通信モジュール20と外部デバイスとの位置関係の変動が大きい可能性がある。より具体的には、例えば、ユーザが近接無線通信モジュール20に外部デバイスを近付ける操作を行っている途中である可能性がある。したがって、第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下でない場合、近接無線通信モジュール20と外部デバイスとが同様な近接状態に維持されず、安定した近接無線通信が実行できない可能性が高い。このため、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を実行しない。
【0063】
また、第1の応答時間と第2の応答時間との差の絶対値が第1のしきい値以下でない場合、応答時間測定部303は、再度、応答時間を測定する。具体的には、まず、応答時間測定部303は、接続要求送信部301によって外部デバイスに第3の接続要求信号が送信されてから、接続応答受信部302によって第3の接続要求信号に応答する第3の接続応答信号を外部デバイスから受信するまでの経過時間を示す第3の応答時間を測定する。次に、安定性判定部304は、上述した第2の応答時間と、新たに測定した第3の応答時間とを用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。そして、応答時間測定部303によって、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態又は安定状態にあると判定された場合、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立する。つまり、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態又は安定状態にあると判定されるまで、応答時間の測定及び通信の安定性の判定を行う。なお、一定回数以上、応答時間の測定及び通信の安定性の判定を行っても、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にある場合、表示制御部306は、ユーザにデバイスの再操作(再接続)を促すメッセージをLCD17の画面等に表示する。
【0064】
また、安定性判定部304は、応答時間測定部303によって、応答時間を所定の回数だけ測定した後に、測定された所定の回数の応答時間を用いて、安定性を判定してもよい。図10〜12に示すシーケンス図は、測定された所定の回数の応答時間を用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する例を表す。
【0065】
図10は、N回測定された応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信が高安定状態にあると判定され、近接無線通信モジュール20と外部デバイスとの間の接続が確立される例を示す。図10に示すシーケンスでは、例えば、近接無線通信モジュール20と外部デバイスとの間の距離が十分に短く、且つデバイス間の近接状態が維持されている(デバイス間の位置関係が変動していない)ことが想定される。
【0066】
まず、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに送信する(S31)。応答時間測定部303は、接続要求信号C−Req1の送信に応答して、応答時間T1の計測を開始する。
【0067】
外部デバイスは、接続要求送信部301によって送信された接続要求信号C−Req1を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号C−Ack1を近接無線通信モジュール20に送信する(S32)。
【0068】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号C−Ack1を受信する。応答時間測定部303は、接続応答信号C−Ack1の受信に応答して、応答時間T1の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって接続要求信号C−Req1が送信されてから、接続応答受信部302によって接続応答信号C−Ack1が受信されるまでの経過時間を応答時間T1として測定する。
【0069】
また、同様にして、応答時間測定部303は、応答時間T2〜TNを測定する(S33〜S36)。そして、安定性判定部304は、測定された応答時間T1〜TNに基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。応答時間T1〜TNの測定では、接続要求信号の再送等による応答時間の遅延が発生せず、応答時間の変動も小さい。応答時間の差の絶対値がしきい値以下であり、且つ応答時間の平均がしきい値以下であるので、安定性判定部304は、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が高安定状態にあると判定する。したがって、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を開始する(S37)。
【0070】
図11は、N回測定された応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信が安定状態にあると判定され、近接無線通信モジュール20と外部デバイスとの間の接続が確立される例を示す。図11に示すシーケンスでは、例えば、外部デバイスを近接無線通信モジュール20に近付ける操作が行われた後、デバイス間の近接状態が維持されていることが想定される。
【0071】
まず、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに送信する(S41)。応答時間測定部303は、接続要求信号C−Req1の送信に応答して、応答時間T1の計測を開始する。
【0072】
接続応答受信部302は、所定時間以上、外部デバイスからの接続応答信号C−Ack1が受信されないため、接続応答信号C−Ack1を受信する処理をタイムアウトする。接続応答信号C−Ack1を受信する処理がタイムアウトされたことに応答して、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに再送する(S42)。
【0073】
外部デバイスは、接続要求送信部301によって再送された接続要求信号C−Req1を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号C−Ack1を近接無線通信モジュール20に送信する(S43)。
【0074】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号C−Ack1を受信する。応答時間測定部303は、接続応答信号C−Ack1の受信に応答して、応答時間T1の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって接続要求信号C−Req1が送信されてから、タイムアウトによる接続要求信号C−Req1の再送を経て、接続応答受信部302によって接続応答信号C−Ack1が受信されるまでの経過時間を応答時間T1として測定する。
【0075】
また、同様にして、応答時間測定部303は応答時間T2〜TNを測定する(S44〜S47)。なお、応答時間T2〜TNの測定では、タイムアウトによる遅延は発生しておらず、接続要求送信部301によって接続要求信号C−Reqが送信されてから、接続応答受信部302によって接続応答信号C−Ackが受信されるまでの経過時間が応答時間Tとして測定される。
【0076】
安定性判定部304は、測定された応答時間T1〜TNに基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。応答時間T1の測定では、接続要求信号の再送による応答時間の遅延が発生したものの、後続する応答時間T2〜TNの測定では、接続要求信号の再送等による応答時間の遅延が発生せず、応答時間の変動も小さい。応答時間T2〜TNでは、応答時間の差の絶対値がしきい値以下に収束し、且つ応答時間の平均がしきい値以下であるので、安定性判定部304は、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が安定状態にあると判定する。したがって、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を開始する(S48)。
【0077】
図12は、N回測定された応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信が不安定状態にあると判定され、近接無線通信モジュール20と外部デバイスとの間の接続が確立されない例を示す。図12に示すシーケンスでは、例えば、外部デバイスを近接無線通信モジュール20から遠ざける操作が行われていることが想定される。
【0078】
まず、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに送信する(S51)。応答時間測定部303は、接続要求信号C−Req1の送信に応答して、応答時間T1の計測を開始する。
【0079】
接続応答受信部302は、所定時間以上、外部デバイスからの接続応答信号C−Ack1が受信されないため、接続応答信号C−Ack1を受信する処理をタイムアウトする。接続応答信号C−Ack1を受信する処理がタイムアウトされたことに応答して、接続要求送信部301は、接続要求信号C−Req1を外部デバイスに再送する(S52)。
【0080】
外部デバイスは、接続要求送信部301によって再送された接続要求信号C−Req1を受信したことに応答して、近接無線通信モジュール20との間の接続が可能であるかを確認する処理を実行する。近接無線通信モジュール20との間の接続が可能である場合、外部デバイスは、接続要求を受諾する接続応答信号C−Ack1を近接無線通信モジュール20に送信する(S53)。
【0081】
次いで、接続応答受信部302は、外部デバイスから送信された接続応答信号C−Ack1を受信する。応答時間測定部303は、接続応答信号C−Ack1の受信に応答して、応答時間T1の計測を完了する。すなわち、応答時間測定部303は、接続要求送信部301によって接続要求信号C−Req1が送信されてから、タイムアウトによる接続要求信号C−Req1の再送を経て、接続応答受信部302によって接続応答信号C−Ack1が受信されるまでの経過時間を応答時間T1として測定する。
【0082】
また、同様にして、応答時間測定部303は応答時間T2〜TNを測定する(S54〜S57)。なお、応答時間T2〜TNの測定では、シーケンスS51〜S53と同様に、タイムアウトによる遅延が発生し、接続要求送信部301によって接続要求信号C−Reqが送信されてから、タイムアウトによる接続要求信号C−Reqの再送を経て、接続応答受信部302によって接続応答信号C−Ackが受信されるまでの経過時間が応答時間Tとして測定される。
【0083】
安定性判定部304は、測定された応答時間T1〜TNに基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。応答時間T1〜TNの測定では、接続要求信号の再送等による応答時間の遅延が発生し、応答時間の変動も大きい。応答時間T1〜TNでは、応答時間の差の絶対値がしきい値以下に収束せず、応答時間の平均がしきい値以下でないので、安定性判定部304は、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が不安定状態にあると判定する。したがって、接続確立部305は、近接無線通信モジュール20と外部デバイスとの間の接続を確立するための処理を開始しない。
【0084】
以上のように、安定性判定部304は、複数回測定された応答時間を用いて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。そして、安定した近接無線通信が実行可能である際に、接続確立部305は、デバイス間の接続を確立する。このように、複数回測定された応答時間を用いることで、通信速度や通信の安定性を判定する精度を高めることができる。
【0085】
次いで、図13のフローチャートを参照して、近接無線通信モジュール20と外部デバイスとの間の接続を制御する接続制御処理の手順の例を説明する。なお、以下の説明において、変数iは、近接無線通信モジュール20と外部デバイスとの間の応答時間を測定した回数を表す、1以上の整数である。
【0086】
まず、通信制御プログラム202は、外部デバイスに接続要求信号C−Reqiを送信する(ステップS101)。通信制御プログラム202は、接続要求信号C−Reqiを送信したことに応答して、応答時間Tiの測定を開始する(ステップS102)。
【0087】
次いで、通信制御プログラム202は、送信した接続要求信号C−Reqiに応答する接続応答信号C−Ackiを外部デバイスから受信したか否かを判定する(ステップS103)。接続応答信号C−Ackiを外部デバイスから受信していない場合(ステップS103のNO)、通信制御プログラム202は、接続応答信号C−Ackiを受信する処理をタイムアウトするか否かを判定する(ステップS104)。具体的には、通信制御プログラム202は、例えば、外部デバイスに接続要求信号C−Reqiを送信してから、所定時間(タイムアウトしきい値)以上が経過したか否かを判定する。
【0088】
接続応答信号C−Ackiを受信する処理をタイムアウトする場合(ステップS104のYES)、通信制御プログラム202は、接続要求信号C−Reqiを再送する(ステップS105)。そして、通信制御プログラム202はステップS103に戻る。一方、接続応答信号C−Ackiを受信する処理をタイムアウトしない場合(ステップS104のNO)、通信制御プログラム202はステップS103に戻る。
【0089】
接続応答信号C−Ackiを外部デバイスから受信した場合(ステップS103のYES)、通信制御プログラム202は応答時間Tiの測定を完了する(ステップS106)。そして、通信制御プログラム202は、測定した応答時間Tiがしきい値THA以下であるか否かを判定する(ステップS107)。測定した応答時間Tiがしきい値THA以下である場合(ステップS107のYES)、通信制御プログラム202は、近接無線通信モジュール20と外部デバイスとの間の接続を確立する(ステップS108)。測定した応答時間Tiがしきい値THA以下でない場合(ステップS107のNO)、通信制御プログラム202は、ステップS101に戻り、新たに、応答時間Ti+1を測定し、測定した応答時間Ti+1に基づいてデバイス間の接続を確立するか否かを決定する。なお、通信制御プログラム202は、ステップS107において、これまでに測定した応答時間T1〜Tiを平均した、平均応答時間がしきい値THA以下であるか否かを判定してもよい。
【0090】
以上の処理により、測定した応答時間Tiがしきい値THA以下である場合、すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が高いと推定される場合に、通信制御プログラム202はデバイス間の接続を確立する。一方、測定した応答時間Tiがしきい値THA以下でない場合、すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が低いと推定される場合には、通信制御プログラム202はデバイス間の接続を確立せず、新たに応答時間Ti+1を測定する。つまり、通信制御プログラム202は、安定した近接無線通信が実行可能である際に、近接無線通信モジュール20と外部デバイスとの間の接続を確立できる。
【0091】
なお、所定回数以上、応答時間Tiに基づく安定性の判定を行っても、デバイス間の近接無線通信の安定性が低いと推定される場合(応答時間がしきい値THA以上である場合)には、ユーザに対してデバイスの配置の変更等を促すメッセージをLCD17に表示してもよい。
【0092】
図14は、近接無線通信モジュール20と外部デバイスとの間の接続を制御する接続制御処理の手順の別の例を示す。なお、変数iは、上述のように、近接無線通信モジュール20と外部デバイスとの間の応答時間Tiを測定した回数を表す、1以上の整数である。
【0093】
まず、通信制御プログラム202は、外部デバイスに接続要求信号C−Reqiを送信する(ステップS201)。通信制御プログラム202は、接続要求信号C−Reqiを送信したことに応答して、応答時間Tiの測定を開始する(ステップS202)。
【0094】
次いで、通信制御プログラム202は、送信した接続要求信号C−Reqiに応答する接続応答信号C−Ackiを外部デバイスから受信したか否かを判定する(ステップS203)。接続応答信号C−Ackiを外部デバイスから受信していない場合(ステップS203のNO)、通信制御プログラム202は、接続応答信号C−Ackiを受信する処理をタイムアウトするか否かを判定する(ステップS204)。具体的には、通信制御プログラム202は、例えば、外部デバイスに接続要求信号C−Reqiを送信してから、所定時間(タイムアウトしきい値)以上が経過したか否かを判定する。
【0095】
接続応答信号C−Ackiを受信する処理をタイムアウトする場合(ステップS204のYES)、通信制御プログラム202は、ステップS201において接続要求信号C−Reqiを外部デバイスに送信してから、ステップS204においてタイムアウトした回数がしきい値THD以上であるか否かを判定する(ステップS205)。タイムアウトした回数がしきい値THD以上でない場合(ステップS205のNO)、通信制御プログラム202は接続要求信号C−Reqiを再送する(ステップS206)。そして、通信制御プログラム202はステップS203に戻る。一方、接続応答信号C−Ackiを受信する処理をタイムアウトしない場合(ステップS204のNO)、通信制御プログラム202はステップS203に戻る。
【0096】
接続応答信号C−Ackiを外部デバイスから受信した場合(ステップS203のYES)、通信制御プログラム202は応答時間Tiの測定を完了する(ステップS207)。そして、通信制御プログラム202は、測定した応答時間Tiと一つ前に測定した応答時間Ti−1との差ΔTiを算出する(ステップS208)。なお、1回目の応答時間T1の測定の際には、ステップS208における処理をスキップしてステップS201に戻り、2回目の応答時間T2の測定を行う。
【0097】
次いで、通信制御プログラム202は、算出した応答時間の差の絶対値|ΔTi|がしきい値THB以下であるか否かを判定する(ステップS209)。算出した応答時間の差の絶対値|ΔTi|がしきい値THB以下である場合(ステップS209のYES)、通信制御プログラム202は、測定した応答時間Tiがしきい値THA以下であるか否かを判定する(ステップS210)。測定した応答時間Tiがしきい値THA以下である場合(ステップS210のYES)、通信制御プログラム202は、近接無線通信モジュール20と外部デバイスとの間の接続を確立する(ステップS211)。
【0098】
測定した応答時間Tiがしきい値THA以下でない場合(ステップS210のNO)、通信制御プログラム202は、応答時間を測定した回数iがしきい値THC以上であるか否かを判定する(ステップS212)。応答時間を測定した回数iがしきい値THC以上である場合(ステップS212のYES)、又はステップS204においてタイムアウトした回数がしきい値THD以上である場合(ステップS205のYES)、通信制御プログラム202は、近接無線通信モジュール20と外部デバイスとの配置を変更することを促すメッセージ等をLCD17に表示する(ステップS213)。
【0099】
応答時間を測定した回数iがしきい値THC以上でない場合(ステップS212のNO)、通信制御プログラム202は、ステップS201に戻り、新たに応答時間Ti+1を測定し、測定した応答時間Ti+1に基づいてデバイス間の接続を確立するか否かを決定する。なお、ステップS210において、通信制御プログラム202は、これまでに測定した応答時間T1〜Tiを平均した、平均応答時間がしきい値THA以下であるか否かを判定してもよい。
【0100】
以上の処理により、前回測定した応答時間Ti−1と今回測定した応答時間Tiとの差の絶対値|ΔTi|がしきい値THB以下であり、且つ、今回測定した応答時間Tiがしきい値THA以下である場合、すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が高いと推定される場合に、通信制御プログラム202はデバイス間の接続を確立する。一方、前回測定した応答時間Ti−1と今回測定した応答時間Tiとの差の絶対値|ΔTi|がしきい値THB以下でない場合、又は測定した応答時間Tiがしきい値THA以下でない場合、すなわち、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が低いと推定される場合には、通信制御プログラム202はデバイス間の接続を確立せず、応答時間を再度測定する。つまり、通信制御プログラム202は、安定した近接無線通信が実行可能である際に、近接無線通信モジュール20と外部デバイスとの間の接続を確立できる。また、所定回数以上、応答時間の測定を行っても、近接無線通信モジュール20と外部デバイスとの間の通信の安定性が低いと推定される場合には、LCD17にメッセージを表示することにより、ユーザに対して、外部デバイスを近接無線通信モジュール20に近付けるタッチ操作(又は近接無線通信モジュール20を外部デバイスに近付けるタッチ操作)を再度行うように促すことができる。
【0101】
なお、通信の安定性及び通信速度は、応答時間の差や平均に限らず、重み付き平均、中央値、分散等の各種統計情報を用いて判定してもよい。また、本実施形態では、応答時間とスループットとの関係を用いて、通信の安定性を判定したが、応答時間とエラーレートとの関係を用いて、通信の安定性を判定してもよい。その場合には、応答時間とエラーレートとの関係を示すデータが、安定性判定テーブル304Aに格納される。
【0102】
以上説明したように、本実施形態によれば、安定した近接無線通信が実行可能である際に、デバイス間の接続を確立できる。通信制御プログラム202は、近接無線通信モジュール20から外部デバイスに接続要求信号を送信してから、外部デバイスから接続応答信号を受信するまでの経過時間を示す応答時間を測定し、この応答時間に基づいて、近接無線通信モジュール20と外部デバイスとの間の通信の安定性を判定する。そして、通信制御プログラム202は、所定の安定性が保証されるとき、近接無線通信モジュール20と外部デバイスとの間の接続を確立する。したがって、安定した近接無線通信が実行可能である際に、デバイス間の接続を確立できる。また、応答時間の測定を複数回行うことにより、デバイス間の通信の安定性を判定する精度を高めることができる。
【0103】
さらに、安定性を示す指標を画面等に表示することにより、ユーザは、デバイス間の通信の安定性を把握することができる。また、デバイス間の通信の安定性が低い際には、ユーザに対して、デバイスの再操作を促すメッセージを表示することにより、ユーザは、デバイスの配置を変更する操作が必要であることを認識することができる。
【0104】
なお、本実施形態では、接続を要求する電子機器10において、通信の安定性の判定や安定性の指標の表示を行ったが、接続要求に応答する外部デバイスにおいて、通信の安定性の判定や安定性の指標の表示を行ってもよい。その場合、通信制御プログラム202は、安定性の判定や表示に必要な情報を外部デバイスに送信し得る。
【0105】
また、本実施形態の接続制御処理の手順は全てソフトウェアによって実行することができる。このため、接続制御処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0106】
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0107】
202…通信制御プログラム、301…接続要求送信部、302…接続応答受信部、303…応答時間測定部、304…安定性判定部、304A…安定性判定テーブル、305…接続確立部、306…表示制御部。
【特許請求の範囲】
【請求項1】
近接無線通信を実行する通信モジュールと、
前記通信モジュールと近接状態にある外部デバイスに接続要求信号を送信する接続要求送信手段と、
前記接続要求信号に応答する接続応答信号を前記外部デバイスから受信する接続応答受信手段と、
前記接続要求信号を送信してから前記接続応答信号を受信するまでの経過時間を示す応答時間を測定する応答時間測定手段と、
前記応答時間に基づいて、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあるか否かを判定する安定性判定手段と、
前記安定性判定手段によって、前記通信モジュールと前記外部デバイスとの間の通信が前記安定状態にあると判定された場合に、前記通信モジュールと前記外部デバイスとの間の接続を確立する接続制御手段とを具備することを特徴とする電子機器。
【請求項2】
前記安定性判定手段は、前記応答時間が第1のしきい値以下である場合に、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあると判定することを特徴とする請求項1記載の電子機器。
【請求項3】
前記接続要求送信手段は、第1接続要求信号と第2接続要求信号とを前記外部デバイスに送信し、
前記接続応答受信手段は、前記第1接続要求信号に応答する第1接続応答信号と、前記第2接続要求信号に応答する第2接続応答信号とを前記外部デバイスから受信し、
前記応答時間測定手段は、前記第1接続要求信号を送信してから前記第1接続応答信号を受信するまでの経過時間を示す第1応答時間と、前記第2接続要求信号を送信してから前記第2接続応答信号を受信するまでの経過時間を示す第2応答時間とを測定し、
前記安定性判定手段は、前記第1応答時間と前記第2応答時間との差の絶対値が第2のしきい値以下であり、且つ前記第2応答時間が第1のしきい値以下である場合に、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあると判定することを特徴とする請求項1記載の電子機器。
【請求項4】
前記安定性判定手段は、前記第1応答時間と前記第2応答時間との差の絶対値が前記第2のしきい値以下であり、且つ前記第1応答時間と前記第2応答時間との平均が前記第1のしきい値以下である場合に、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあると判定することを特徴とする請求項3記載の電子機器。
【請求項5】
前記接続要求送信手段は、所定時間内に前記接続応答信号が受信されない場合、接続要求信号を再送し、
前記接続応答受信手段は、前記再送された接続要求信号に応答する接続応答信号を受信し、
前記応答時間測定手段は、最初の前記接続要求信号を送信してから前記接続応答信号を受信するまでの経過時間を示す応答時間を測定することを特徴とする請求項1記載の電子機器。
【請求項6】
前記安定性判定手段は、前記応答時間に基づいて、前記通信モジュールと前記外部デバイスとの間の通信の安定性を示す指標を算出し、
前記安定性を示す指標を表示する安定性表示手段をさらに具備することを特徴とする請求項1記載の電子機器。
【請求項7】
前記安定性判定手段によって、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にないと判定された場合、前記通信モジュールと前記外部デバイスとの間の位置関係を調整することを促すメッセージを表示するメッセージ表示手段をさらに具備することを特徴とする請求項1記載の電子機器。
【請求項8】
前記接続制御手段は、前記安定性判定手段によって、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にないと判定された場合、前記通信モジュールと前記外部デバイスとの間の接続を確立しないことを特徴とする請求項1記載の電子機器。
【請求項9】
通信モジュールによって実行される近接無線通信を制御する通信制御方法であって、
前記通信モジュールと近接状態にある外部デバイスに接続要求信号を送信する接続要求送信ステップと、
前記接続要求信号に応答する接続応答信号を前記外部デバイスから受信する接続応答受信ステップと、
前記接続要求信号を送信してから前記接続応答信号を受信するまでの経過時間を示す応答時間を測定する応答時間測定ステップと、
前記応答時間に基づいて、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあるか否かを判定する安定性判定ステップと、
前記安定性判定ステップにおいて、前記通信モジュールと前記外部デバイスとの間の通信が前記安定状態にあると判定された場合に、前記通信モジュールと前記外部デバイスとの間の接続を確立する接続制御ステップとを具備することを特徴とする通信制御方法。
【請求項1】
近接無線通信を実行する通信モジュールと、
前記通信モジュールと近接状態にある外部デバイスに接続要求信号を送信する接続要求送信手段と、
前記接続要求信号に応答する接続応答信号を前記外部デバイスから受信する接続応答受信手段と、
前記接続要求信号を送信してから前記接続応答信号を受信するまでの経過時間を示す応答時間を測定する応答時間測定手段と、
前記応答時間に基づいて、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあるか否かを判定する安定性判定手段と、
前記安定性判定手段によって、前記通信モジュールと前記外部デバイスとの間の通信が前記安定状態にあると判定された場合に、前記通信モジュールと前記外部デバイスとの間の接続を確立する接続制御手段とを具備することを特徴とする電子機器。
【請求項2】
前記安定性判定手段は、前記応答時間が第1のしきい値以下である場合に、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあると判定することを特徴とする請求項1記載の電子機器。
【請求項3】
前記接続要求送信手段は、第1接続要求信号と第2接続要求信号とを前記外部デバイスに送信し、
前記接続応答受信手段は、前記第1接続要求信号に応答する第1接続応答信号と、前記第2接続要求信号に応答する第2接続応答信号とを前記外部デバイスから受信し、
前記応答時間測定手段は、前記第1接続要求信号を送信してから前記第1接続応答信号を受信するまでの経過時間を示す第1応答時間と、前記第2接続要求信号を送信してから前記第2接続応答信号を受信するまでの経過時間を示す第2応答時間とを測定し、
前記安定性判定手段は、前記第1応答時間と前記第2応答時間との差の絶対値が第2のしきい値以下であり、且つ前記第2応答時間が第1のしきい値以下である場合に、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあると判定することを特徴とする請求項1記載の電子機器。
【請求項4】
前記安定性判定手段は、前記第1応答時間と前記第2応答時間との差の絶対値が前記第2のしきい値以下であり、且つ前記第1応答時間と前記第2応答時間との平均が前記第1のしきい値以下である場合に、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあると判定することを特徴とする請求項3記載の電子機器。
【請求項5】
前記接続要求送信手段は、所定時間内に前記接続応答信号が受信されない場合、接続要求信号を再送し、
前記接続応答受信手段は、前記再送された接続要求信号に応答する接続応答信号を受信し、
前記応答時間測定手段は、最初の前記接続要求信号を送信してから前記接続応答信号を受信するまでの経過時間を示す応答時間を測定することを特徴とする請求項1記載の電子機器。
【請求項6】
前記安定性判定手段は、前記応答時間に基づいて、前記通信モジュールと前記外部デバイスとの間の通信の安定性を示す指標を算出し、
前記安定性を示す指標を表示する安定性表示手段をさらに具備することを特徴とする請求項1記載の電子機器。
【請求項7】
前記安定性判定手段によって、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にないと判定された場合、前記通信モジュールと前記外部デバイスとの間の位置関係を調整することを促すメッセージを表示するメッセージ表示手段をさらに具備することを特徴とする請求項1記載の電子機器。
【請求項8】
前記接続制御手段は、前記安定性判定手段によって、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にないと判定された場合、前記通信モジュールと前記外部デバイスとの間の接続を確立しないことを特徴とする請求項1記載の電子機器。
【請求項9】
通信モジュールによって実行される近接無線通信を制御する通信制御方法であって、
前記通信モジュールと近接状態にある外部デバイスに接続要求信号を送信する接続要求送信ステップと、
前記接続要求信号に応答する接続応答信号を前記外部デバイスから受信する接続応答受信ステップと、
前記接続要求信号を送信してから前記接続応答信号を受信するまでの経過時間を示す応答時間を測定する応答時間測定ステップと、
前記応答時間に基づいて、前記通信モジュールと前記外部デバイスとの間の通信が安定状態にあるか否かを判定する安定性判定ステップと、
前記安定性判定ステップにおいて、前記通信モジュールと前記外部デバイスとの間の通信が前記安定状態にあると判定された場合に、前記通信モジュールと前記外部デバイスとの間の接続を確立する接続制御ステップとを具備することを特徴とする通信制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−119794(P2011−119794A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2009−272692(P2009−272692)
【出願日】平成21年11月30日(2009.11.30)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願日】平成21年11月30日(2009.11.30)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]