(57)【特許請求の範囲】
【請求項１】
近接無線通信を実行する通信モジュールと、
前記通信モジュールが非接続状態の期間中に接続要求信号を送信し、近接状態である前記通信モジュールと外部デバイスとの間の接続を確立する接続制御手段と、
前記接続が確立された場合、前記通信モジュールと前記外部デバイスとの間のデータ転送を実行する通信制御手段と、
前記近接状態の解除による通信タイムアウトの発生または前記外部デバイスからの接続解除要求信号の受信のいずれかのイベントが発生した場合、前記通信モジュールと前記外部デバイスとの間の接続を解除する接続解除手段とを具備し、
前記通信制御手段は、前記接続が確立された場合、前回の接続解除の要因が接続解除要求信号の受信であり、前回の接続解除から所定時間内に前記接続が確立され、且つ、前記通信モジュールに前回接続された第１外部デバイスと前記通信モジュールに新たに接続された前記外部デバイスとが同じデバイスである、という条件が成立するか否かを判定し、前記条件が成立する場合に、前記通信モジュールと前記外部デバイスとの間のデータ転送を実行せず、前記条件が成立しない場合に、前記通信モジュールと前記外部デバイスとの間のデータ転送を実行するように構成されていることを特徴とする電子機器。
【請求項２】
前記通信制御手段は、前記条件が成立する場合に前記通信モジュールと前記外部デバイスとの間の近接無線通信を続行するかをユーザに確認するためのメッセージをディスプレイに表示し、前記近接無線通信を続行しないことがユーザによって指定された場合、前記データ転送を実行しないことを特徴とする請求項１記載の電子機器。
【請求項３】
前記通信制御手段は、前記条件が成立する場合に前記通信モジュールと前記外部デバイスとの間の近接無線通信を続行するかをユーザに確認するためのメッセージをディスプレイに表示し、前記近接無線通信を続行しないことがユーザによって指定された場合、前記データ転送を実行せず、前記近接無線通信を続行することがユーザによって指定された場合、前記データ転送を実行することを特徴とする請求項１記載の電子機器。
【請求項４】
電子機器内に設けられた通信モジュールによって実行される近接無線通信を制御する通信制御方法であって、
前記通信モジュールが非接続状態の期間中に接続要求信号を送信し、近接状態である前記通信モジュールと外部デバイスとの間の接続を確立する接続制御ステップと、
前記接続が確立された場合、前記通信モジュールと前記外部デバイスとの間のデータ転送を実行する通信制御ステップと、
前記近接状態の解除による通信タイムアウトの発生または前記外部デバイスからの接続解除要求信号の受信のいずれかのイベントが発生した場合、前記通信モジュールと前記外部デバイスとの間の接続を解除する接続解除ステップとを具備し、
前記通信制御ステップは、
前記接続が確立された場合、前回の接続解除の要因が接続解除要求信号の受信であり、前回の接続解除から所定時間内に前記接続が確立され、且つ、前記通信モジュールに前回接続された第１外部デバイスと前記通信モジュールに新たに接続された前記外部デバイスとが同じデバイスである、という条件が成立するか否かを判定し、
前記条件が成立する場合に、前記通信モジュールと前記外部デバイスとの間のデータ転送を実行せず、前記条件が成立しない場合に、前記通信モジュールと前記外部デバイスとの間のデータ転送を実行することを特徴とする通信制御方法。
【請求項５】
前記通信制御ステップは、前記条件が成立する場合に前記通信モジュールと前記外部デバイスとの間の近接無線通信を続行するかをユーザに確認するためのメッセージをディスプレイに表示し、前記近接無線通信を続行しないことがユーザによって指定された場合、前記データ転送を実行しないことを特徴とする請求項４記載の通信制御方法。
【請求項６】
前記通信制御ステップは、前記条件が成立する場合に前記通信モジュールと前記外部デバイスとの間の近接無線通信を続行するかをユーザに確認するためのメッセージをディスプレイに表示し、前記近接無線通信を続行しないことがユーザによって指定された場合、前記データ転送を実行せず、前記近接無線通信を続行することがユーザによって指定された場合、前記データ転送を実行することを特徴とする請求項４記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は近接無線通信を実行する電子機器および同機器に適用される通信制御方法に関する。
【背景技術】
【０００２】
近年、ＩＣカード、携帯電話機等においては、ＮＦＣのような無線通信が利用され始めている。ユーザは、ＩＣカードまたは携帯電話をホスト装置のリーダ／ライタ部にかざすといった操作を行うだけで、認証処理、課金等のための通信を容易に行うことが出来る。
【０００３】
最近では、高速の通信が可能な新たな近接無線通信技術が開発され始めている。この新たな近接無線通信技術は、認証、課金サービスのみならず、文書データ、画像データ、オーディオデータといったデータファイルをそれらデバイス間で交換することを可能にする。
【０００４】
特許文献１には、モバイル端末との間で近距離非接触通信による現金預け払い等の取引処理を実行し、取引処理が完了したことに応答して、当該モバイル端末の動作機能をロックするコマンドを発行する取引装置が開示されている。この取引装置は、モバイル端末が取引処理後に第三者によって不正に利用されることを防止できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１４０１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、デバイス間の近接無線通信を有用なものとするためには、デバイス同士を互いに近づけるというタッチ操作のみをトリガに、それらデバイス間の接続を自動的に確立し、そしてそれらデバイス間のデータ転送を自動的に開始されるようにすることが要求される。
【０００７】
しかし、あるデバイスが他のデバイスに近接されたまま放置されると、例えば、これらデバイス間のデータ転送が完了する度にこれらデバイス間が再接続されてしまい、この結果、例えば、同一データの転送のような同じサービスが何度も繰り返し実行されしまう可能性がある。
【０００８】
本発明は上述の事情を考慮してなされたものであり、同じサービスが近接無線通信によって繰り返し実行されることを防止することができる電子機器および通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するために、上述の課題を解決するために、本発明の電子機器は、近接無線通信を実行する通信モジュールと、前記通信モジュールが非接続状態の期間中に接続要求信号を送信し、近接状態である前記通信モジュールと外部デバイスとの間の接続を確立する接続制御手段と、前記接続が確立された場合、前記通信モジュールと前記外部デバイスとの間のデータ転送を実行する通信制御手段と、前記近接状態の解除による通信タイムアウトの発生または前記外部デバイスからの接続解除要求信号の受信のいずれかのイベントが発生した場合、前記通信モジュールと前記外部デバイスとの間の接続を解除する接続解除手段とを具備し、前記通信制御手段は、前記接続が確立された場合、前回の接続解除の要因が接続解除要求信号の受信であり、前回の接続解除から所定時間内に前記接続が確立され、且つ、前記通信モジュールに前回接続された第１外部デバイスと前記通信モジュールに新たに接続された前記外部デバイスとが同じデバイスである、という条件が成立するか否かを判定し、前記条件が成立する場合に、前記通信モジュールと前記外部デバイスとの間のデータ転送を実行せず、前記条件が成立しない場合に、前記通信モジュールと前記外部デバイスとの間のデータ転送を実行するように構成されていることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、同じサービスが近接無線通信によって繰り返し実行されることを防止することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る電子機器のシステム構成を示すブロック図。
【図２】同実施形態の電子機器で用いられる通信制御プログラムの構成を示すブロック図。
【図３】同実施形態の電子機器の外観を示す斜視図。
【図４】同実施形態の電子機器と外部デバイスとの間で実行される近接無線通信の例を示す図。
【図５】同実施形態の電子機器に適用される、近接無線通信を制御するためのソフトエアアーキテクチャの例を示す図。
【図６】同実施形態の電子機器で使用されるデバイスモードの例を説明するための図。
【図７】同実施形態の電子機器で使用される通信制御プログラムのステート遷移の例を示す図。
【図８】２つのデバイス間で同じサービスが繰り返し実行される例を説明するための図。
【図９】２つのデバイス間で同じサービスが繰り返し実行される別の例を説明するための図。
【図１０】同実施形態の電子機器によって実行される通信制御動作の例を説明するための図。
【図１１】同実施形態の電子機器によって実行される通信制御処理の手順の例を説明するためのフローチャート。
【図１２】同実施形態の電子機器によって実行される通信制御動作の他の例を説明するための図。
【図１３】同実施形態の電子機器によって実行される通信制御処理の手順の他の例を説明するためのフローチャート。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態を説明する。
【００１３】
図１は、本発明の一実施形態に係る電子機器の構成を示している。この電子機器１０は、例えば、ポータブルコンピュータ、携帯電話、ＰＤＡ、オーディオプレーヤ、ＴＶ等として実現される。この電子機器１０は、システム制御部１１、メモリ１２、ストレージデバイス１３、入力部１４、液晶表示装置（ＬＣＤ）１５、サウンドコントローラ１６、スピーカ１７、インジケータ１８、電源制御部１９、および近接無線通信デバイス２０を備える。
【００１４】
システム制御部１１は、電子機器１０内の各部の動作を制御する。システム制御部１１は、メモリ１２、ストレージデバイス１３、入力部１４、ＬＣＤ１５、サウンドコントローラ１６、インジケータ１８、電源制御部１９、および近接無線通信デバイス２０に接続されている。システム制御部１１は、ＣＰＵ１０１ａを備えている。
【００１５】
ＣＰＵ１０１ａは、ストレージデバイス１３からメモリ１２にロードされる、オペレーティングシステムおよび各種アプリケーションプログラム／ユーティリティプログラムを実行するプロセッサである。アプリケーションプログラム／ユーティリティプログラムの中には、近接無線通信デバイス２０の通信動作を制御する通信制御プログラム１２ａ等が含まれている。
【００１６】
通信制御プログラム１２ａは、近接無線通信機能を有する任意の電子デバイス（外部デバイス）と近接無線通信デバイス２０との間の接続可能性を高め、且つたとえ近接無線通信デバイス２０と外部デバイスとが近接状態のまま比較的長い間放置された場合であっても同一のサービスが繰り返し実行されることを防止するための通信制御機能を有している。
【００１７】
ストレージデバイス１３は、例えば、ハードディテスクドライブや不揮発性半導体メモリから構成されている。入力部１４は、ＣＰＵ１１１に与えるべきデータ及び指示を入力するための入力デバイスである。この入力部１４は、例えば、キーボード、複数のボタンスイッチ、またはポインティングデバイス等によって実現される。
【００１８】
ＬＣＤ１５は、電子機器１０のディスプレイとして使用される表示装置である。サウンドコントローラ１６はＣＰＵ１０１ａから送信されるオーディオデータに対応する音を出力するための音源回路である。サウンドコントローラ１６はＣＰＵ１０１ａから送信されるオーディオデータをデジタルオーディオ信号からアナログオーディオ信号に変換し、そのアナログオーディオ信号をスピーカ１７に出力する。スピーカ１７はアナログオーディオ信号に対応する音を出力する。
【００１９】
インジケータ１８は近接無線通信デバイス２０によって実行される近接無線通信の状態（データ転送の開始、データ転送の終了等）を提示する。このインジケータ１８は、ＬＥＤのような発光部を備えている。
【００２０】
電源制御部１９は、ＡＣアダプタ３０を介して外部から供給される電力、または電子機器１０内に設けられたバッテリ１９ｂから供給される電力を用いて、電子機器１０内の各部に電力を供給する。換言すれば、電子機器１０は、ＡＣ商用電源のような外部電源、またはバッテリ１９ｂによって駆動される。ＡＣアダプタ３０は、電子機器１０内に設けることも出来る。電源制御部１９は、ユーザによる電源スイッチ（Ｐ−ＳＷ）１９ａの操作に応じて、電子機器１０をパワーオンまたはパワーオフする。
【００２１】
近接無線通信デバイス２０は、近接無線通信を実行する通信モジュールである。近接無線通信デバイス２０は、近接無線通信デバイス２０から所定の通信範囲内に存在する、近接無線通信機能を有する別のデバイス（外部デバイス）と通信することができる。近接無線通信デバイス２０と外部デバイスとの間の無線通信は、近接無線通信デバイス２０と外部デバイスとが近接状態である場合、つまり近接無線通信デバイス２０と外部デバイスとの間の距離が通信距離（例えば３ｃｍ）以内に接近している場合にのみ可能となる。近接無線通信デバイス２０と外部デバイスとが通信距離以内に接近した時、近接無線通信デバイス２０と外部デバイスとの間の通信が可能となる。そして、近接無線通信デバイス２０と外部デバイスとの間の接続（無線接続）を確立する動作が開始される。デバイス間の接続（無線接続）が確立された後に、例えば、ＳＣＳＩ，ＯＢＥＸ、または他の汎用プロトコルを用いたデータ転送といったサービスが、近接無線通信デバイス２０と外部デバイスとの間の近接無線通信によって実行される。
【００２２】
近接無線通信においては、誘導電界が用いられる。近接無線通信方式としては、例えばTransferJetを使用し得る。TransferJetは、UWBを利用した近接無線通信方式であり、高速データ転送を実現することができる。
【００２３】
近接無線通信デバイス２０はアンテナ２０ｂに接続されている。アンテナ２０ｂはカプラと称される電極であり、誘導電界を用いた無線信号により、外部デバイスに対するデータの送受信を行う。外部デバイスがアンテナ２０ｂから通信距離（例えば３ｃｍ）以内の範囲内に接近した場合、近接無線通信デバイス２０および外部デバイスそれぞれのアンテナ（カプラ）間が誘導電界によって結合され、これによって近接無線通信デバイス２０と外部デバイスとの間の無線通信が実行可能となる。なお、近接無線通信デバイス２０およびアンテナ２０ｂは、一つのモジュールとして実現し得る。
【００２４】
次に、図２を参照して、通信制御プログラム１２ａの構成について説明する。
【００２５】
通信制御プログラム１２ａは、接続制御プログラム１２１および接続制御ドライバ１２２等を備えている。接続制御ドライバ１２２は近接無線通信デバイス２０と外部デバイスとの間の（物理的な）接続を制御するためのプログラムである。接続制御プログラム１２１は、近接無線通信デバイス２０と外部デバイスとの間の接続の確立および解除を管理すると共に、近接無線通信デバイス２０と外部デバイスとの間のデータ転送のようなサービスの実行を制御する。
【００２６】
接続制御プログラム１２１は、接続制御部１２３、通信制御部１２４、および接続解除部１２５、ネゴシエーション停止部１２６等を備えている。接続制御部１２３は、例えば、近接無線通信デバイス２０と外部デバイスとの間の接続を確立するためのプログラムモジュールである。この接続制御部１２３は、近接無線通信デバイス２０が非接続状態である場合、近接無線通信デバイス２０と近接状態にある外部デバイスを検出する。より詳しくは、接続制御部１２３は、近接無線通信デバイス２０が非接続状態の期間中に、接続要求信号を近接無線通信デバイス２０を介して送信し、近接状態である近接無線通信デバイス２０と外部デバイスとの間の接続を確立する。通信制御部１２４は、近接無線通信デバイス２０と外部デバイスとの間の接続の確立に応答して、近接無線通信デバイス２０と外部デバイスとの間の近接無線通信によって提供すべきサービスを決定するために外部デバイスとのネゴシエーションを実行する。そして、通信制御部１２４は、決定されたサービスを近接無線通信によって実行する。接続解除部１２５は、デバイス間の近接状態の解除による通信タイムアウトの発生、または外部デバイスからの接続解除要求信号の受信のいずれかのイベントが発生した場合、近接無線通信デバイス２０と外部デバイスとの間の接続を解除する。ネゴシエーション停止部１２６は、外部デバイスからの接続解除要求信号の受信によって近接無線通信デバイス２０と外部デバイスとの間の接続が解除された後にそれら近接無線通信デバイス２０と外部デバイスとの間の接続が再確立された場合、通信制御部１２４によるネゴシエーションの実行を停止するための処理を実行する。
【００２７】
次に、図３を参照して、電子機器１０がポータブルパーソナルコンピュータとして実現されている場合を想定して、電子機器１０の外観の例を説明する。
【００２８】
図３は、電子機器１０の外観を示す斜視図である。電子機器１０は、本体４１と、ディスプレイユニット４２とを備えている。ディスプレイユニット４２は、本体４１の上面が露出される開放位置と本体４１の上面がディスプレイユニット４２によって覆われる閉塞位置との間を回動可能に本体４１に取り付けられている。ディスプレイユニット４２内には、上述のＬＣＤ１５が設けられている。
【００２９】
本体４１は薄い箱状の筐体を有している。本体４１の筐体の上面には、キーボード１４ａ、タッチパッド１４ｂ、インジケータ１８、電源スイッチ１９ａ等が配置されている。
【００３０】
本体４１の上面、具体的には、本体４１の上面上のパームレストレスト領域４１ａの一部は、通信面として機能する。すなわち、近接無線通信デバイス２０およびアンテナ（カプラ）２０ｂは、本体４１の上面のパームレストレスト領域４１ａに対向して本体４１内に設けられている。アンテナ（カプラ）２０ｂは、本体４１の上面（具体的には、本体４１の上面上のパームレストレスト領域４１ａの一部）を介して、無線信号（誘導電界）を外部に出力するように配置されている。アンテナ（カプラ）２０ｂに対向する本体４１の上面上の小領域、つまり本体４１の上面上においてアンテナ（カプラ）２０ｂの上方に位置する小領域は、通信位置として使用される。
【００３１】
ユーザは、例えば、近接無線通信機能を有する外部デバイスを本体４１のパームレストレスト領域４１ａ内の通信位置上にかざすという操作（タッチ操作）を行うことにより、外部デバイスと電子機器１０との間のデータ転送のようなサービスを開始させることができる。
【００３２】
図４は、携帯電話５０と電子機器１０との間で実行される近接無線通信の様子が示されている。携帯電話５０の筐体内には、例えば、その筐体の背面に対向して近接無線通信用のアンテナ（カプラ）が設けられている。この場合、携帯電話５０の筐体の背面を電子機器２０の本体４１のパームレスト領域上の通信位置にかざす（または携帯電話５をパームレスト領域上に置く）ことにより、携帯電話５０と電子機器１０との間の近接無線通信を開始することが可能となる。
【００３３】
次に、図５を参照して、近接無線通信デバイス２０を用いて実行される近接無線通信を制御するためのソフトウェアアーキテクチャを説明する。
【００３４】
図５のソフトウェアアーキテクチャは近接無線通信を制御するためのプロトコルスタックの階層構造を示している。プロトコルスタックは、物理層（ＰＨＹ）、コネクション層（ＣＮＬ）、プロトコル変換層（ＰＣＬ）、アプリケーション層から構成されている。
【００３５】
物理層（ＰＨＹ）は物理的なデータ転送を制御する層であり、ＯＳＩ参照モデル内の物理層に対応する。物理層（ＰＨＹ）の一部の機能または全ての機能は、近接無線通信デバイス２０内のハードウェアを用いて実現することもできる。
【００３６】
物理層（ＰＨＹ）はコネクション層（ＣＮＬ）からのデータを無線信号に変換する。コネクション層（ＣＮＬ）はＯＳＩ参照モデル内のデータリンク層およびトランスポート層に対応しており、物理層（ＰＨＹ）を制御してデータ通信を実行する。コネクション層（ＣＮＬ）は、上述の接続制御ドライバ１２２によって実現し得る。
【００３７】
このコネクション層（ＣＮＬ）は、プロトコル変換層（ＰＣＬ）から受信される接続要求、または外部デバイスから受信される接続要求に応じて、近接状態に設定されている近接無線通信デバイス２０と外部デバイスとの間の（物理的な）接続（ＣＮＬ接続）を確立するための処理を実行する。ここで、２つのデバイス（デバイス１，２）間のＣＮＬ接続を確立するための手順の例について説明する。デバイス１，２の内、通信を開始したい側のデバイス、例えばデバイス１は、接続要求信号（Ｃ_Ｒｅｑ）を無線送信するための処理を実行する。この接続要求（Ｃ_Ｒｅｑ）には、デバイス１の固有のＩＤ（ＵＩＤ）を含めることもできる。デバイス２は接続要求信号（Ｃ_Ｒｅｑ）を受信するための処理を定期的に実行する。デバイス１とデバイス２とが近接状態である場合、デバイス２は、デバイス１から送信される接続要求信号（Ｃ_Ｒｅｑ）を受信することができる。接続要求信号（Ｃ_Ｒｅｑ）を受信した時、デバイス２は、受信した接続要求信号（Ｃ_Ｒｅｑ）の受託を示す応答信号（Ｃ_Ａｃｃ）をデバイス１に無線送信する。この応答信号（Ｃ_Ａｃｃ）には、デバイス２の固有のＩＤ（ＵＩＤ）を含めることができる。デバイス１は、デバイス２から無線送信される応答信号（Ｃ_Ａｃｃ）を受信することができる。このように、デバイス１とデバイス２との間で接続要求信号（Ｃ_Ｒｅｑ）および応答信号（Ｃ_Ａｃｃ）を送受信することにより、デバイス１とデバイス２との間の接続（ＣＮＬ接続）が確立される。
【００３８】
プロトコル変換層（ＰＣＬ）は、ＯＳＩ参照モデル内のセッション層およびプレゼンテーション層に対応しており、アプリケーション層と、コネクション層（ＣＮＬ）との間に位置する。このプロトコル変換層（ＰＣＬ）は、上述の接続制御プログラム１２１によって実現し得る。プロトコル変換層（ＰＣＬ）は、２つのデバイス間の接続を確立するために、アプリケーション層内の各アプリケーション（通信プログラム）の制御とコネクション層（ＣＮＬ）の制御を行う。
【００３９】
より詳しくは、プロトコル変換層（ＰＣＬ）は、複数種のアプリケーションプロトコル（例えば、ＳＣＳＩ、ＯＢＥＸ、他の汎用プロトコル等）にそれぞれ対応した複数の通信アダプタ（ＰＣＬアダプタ）と、プロトコル変換層（ＰＣＬ）の動作を制御するＰＣＬコントローラとを含んでいる。ＰＣＬコントローラは、実行すべきサービスに対応するアプリケーションプロトコル（例えば、ＳＣＳＩ、ＯＢＥＸ、他の汎用プロトコル等）に応じて、複数の通信アダプタ（ＰＣＬアダプタ）の一つを起動する。起動されたＰＣＬアダプタは、そのＰＣＬアダプタに対応するアプリケーションプログラムのデータ（ユーザデータ）を、コネクション層（ＣＮＬ）が扱うことが出来る特定の伝送用データ形式に変換する。この変換処理により、どのアプリケーションプログラムによって送受信されるデータも、コネクション層（ＣＮＬ）が扱うことが可能なパケット（特定の伝送用データ形式のデータ）に変換される。このプロトコル変換層（ＰＣＬ）は、様々なアプリケーションプロトコルを近接無線通信で利用することを可能にする。
【００４０】
本実施形態においては、接続制御プログラム１２１によって実現されるＰＣＬコントローラは、図６に示されているような３つのデバイスモード（プロアクティブモード、リアクティブモード、フレキシブルモード）をサポートしており、これら３つのデバイスモードの内の１つのデバイスモードで動作し得る。
【００４１】
プロアクティブモードは、ローカルデバイスと通信相手のデバイスとの間のデータ転送等を目的に、能動的に接続要求信号（接続要求コマンド）を送信するモードである。通信相手のデバイスは対向機器（ピアーデバイス）と称されることもある。例えば、近接無線通信を利用してデータ転送等を行うためのアプリケーションプログラムが起動された時、デバイスモードは、自動的にプロアクティブモードに遷移する。このプロアクティブモードはいわゆるマスタとして機能し得るデバイスモードであり、プロアクティブモードのデバイスは、通信相手のデバイスを制御してデバイス間のデータ転送のようなサービスを実行することができる。
【００４２】
リアクティブモードは通信相手のデバイス（プロアクティブモードのデバイス、またはフレキシブルモードのデバイス）からの接続要求信号を待ち受けるモードである。このリアクティブモードはいわゆるスレーブとして機能するためのデバイスモードであり、リアクティブモードのデバイスは、通信相手のデバイス（プロアクティブモードのデバイス、またはフレキシブルモードのデバイス）の制御の下、デバイス間のデータ転送のようなサービスを実行することができる。
【００４３】
外部電源によって駆動できない携帯電話のようなモバイルデバイスのデフォルトのデバイスモードは、その電力消費を低減するために、リアクティブモードに設定されている。ユーザの操作によってモバイルデバイス上であるアプリケーションプログラムが起動された時、そのモバイルデバイスは、リアクティブモードからプロアクティブモードに自動的に遷移することができる。
【００４４】
プロアクティブモードに設定されたデバイスは、接続要求信号Ｃ_Ｒｅｑを送信する。一方、リアクティブモードのデバイスは通信相手のデバイス（プロアクティブモードのデバイス、またはフレキシブルモードのデバイス）からの接続要求信号Ｃ_Ｒｅｑを受信するが、接続要求信号Ｃ_Ｒｅｑは送信しないので、電力消費は比較的少ない。
【００４５】
フレキシブルモードは、ローカルデバイスと通信相手のデバイスとの間の接続を目的として、能動的に接続要求信号Ｃ_Ｒｅｑを送信するモードである。このフレキシブルモードは、通信相手のデバイスのデバイスモード（プロアクティブモードまたはリアクティブモード）に応じてローカルデバイスのデバイスモードを自動的にプロアクティブモードまたはリアクティブモードに遷移させることが出来るモードである。
【００４６】
フレキシブルモードのデバイスは、通信相手のデバイスがプロアクティブモードであればリアクティブモードに遷移し、また通信相手のデバイスがリアクティブモードであればプロアクティブモードに遷移する。プロアクティブモードまたはリアクティブモードへの遷移は、例えば、デバイス間のＣＮＬ接続が確立された後に実行される。
【００４７】
例えば、ＡＣアダプタ電源のような外部電源によって駆動可能な、パーソナルコンピュータのようなデバイスのデフォルトのデバイスモードはフレキシブルモードである。フレキシブルモードのデバイスは、接続要求信号Ｃ_Ｒｅｑを送信することができる。これにより、例えば、ユーザが携帯電話のアプリケーションを何等操作せずにその携帯電話をパーソナルコンピュータ（フレキシブルモードのデバイス）に近接させた場合でも、それらデバイス間の接続を確立でき、さらに、プロアクティブモードに遷移するパーソナルコンピュータの制御の下、それらデバイス間のデータ転送のようなサービスを実行することができる。
【００４８】
接続可能なデバイス間の組み合わせは、（１）プロアクティブモードのデバイスとリアクティブモードのデバイスの組み合わせ、（２）プロアクティブモードのデバイスとフレキシブルモードのデバイスの組み合わせ、（３）フレキシブルモードのデバイスとリアクティブモードのデバイスの組み合わせ、のみである。各デバイスのデフォルトデバイスモードはリアクティブモードまたはフレキシブルモードのどちらかである。
【００４９】
次に、図７を参照して、本実施形態の接続制御プログラム１２１によって実現されるＰＣＬコントローラのステータスの遷移について説明する。
【００５０】
ＰＣＬコントローラは、非接続状態（unconnected）６１、接続中状態（connecting）６２、接続済み状態（connected）６３の３つのステートのいずれかに遷移する。非接続状態６１は、デバイス間が近接される前の状態、換言すれば近接無線通信デバイス２０とどの外部デバイスとの接続も確立されていない状態である。近接無線通信デバイス２０が外部デバイスから接続要求信号（Ｃ_Ｒｅｑ）または応答信号（Ｃ_Ａｃｃ）を受信した時、ＰＣＬコントローラのステートは接続中状態（connecting）６２に遷移する
接続中状態（connecting）６２はＣＮＬ接続を確立しているステートである。ＣＮＬ接続の確立が完了すると、ＰＣＬコントローラのステートは接続済み状態（connected）６３に遷移する。接続済み状態（connected）６３においては、ＰＣＬコントローラは、認証、ネゴシエーション、サービス実行という３つのフェーズから構成される制御シーケンスを開始する。つまり、ＰＣＬコントローラは、まず、認証フェーズにおいて通信相手のデバイスを認証し、認証が成功すると、ネゴシエーションフェーズに入る。ＰＣＬコントローラは、ネゴシエーションフェーズにおいて通信相手のデバイスとのネゴシエーションを実行し、提供すべきサービスを決定する。ネゴシエーションが成功すると、ＰＣＬコントローラは、サービス実行フェーズに入る。ＰＣＬコントローラは、ネゴシエーションによって決定されたサービスを、サービス実行フェーズにおいて実行する。
【００５１】
より具体的には、接続済み状態（connected）６３には、例えば、認証中状態（authenticating）７１、ネゴシエーション中状態（negotiating）７２、サービス実行中状態（executing service）７３、サービス無し状態（no service）７４の４つのサブステート（４つのフェーズ）が定義されている。
【００５２】
認証中状態（authenticating）７１は上述の認証フェーズに相当する。認証中状態（authenticating）７１は接続相手のデバイスを認証する処理が行われている状態である。接続相手のデバイスの認証が成功したならばＰＣＬコントローラのステートはネゴシエーション中状態（negotiating）７２に遷移し、一方、デバイスの認証が失敗したならば、ＰＣＬコントローラのステートはサービス無し状態（no service）７４に遷移する。
【００５３】
ネゴシエーション中状態（negotiating）７２は上述のネゴシエーションフェーズに相当する。ネゴシエーション中状態（negotiating）７２は、接続相手のデバイスとのネゴシエーションによって、近接無線通信デバイス２０と外部デバイスとの間の近接無線通信によって提供すべきサービス（アプリケーションサービスとも云う）を決定する処理が行われている状態である。ネゴシエーション中状態（negotiating）７２の期間中においては、プロアクティブモードのデバイスの制御の下、例えば、実行すべきサービスに関する情報（例えば、使用すべきＰＣＬアダプタの種類、使用すべきアプリケーションプロトコルの種類、等）がデバイス間で交換され、これによって、デバイス間の近接無線通信によって実行すべきサービスが決定される。例えば、プロアクティブモードのデバイスは、そのデバイス上で実行されているアプリケーションプログラムに対応するサービスに関する情報を通信相手のデバイス（リアクティブモードのデバイス）に通知し得、また通信相手のデバイスは、通知されたサービスを、実行すべきサービスとして決定する。また、デフォルトのデバイスモードがフレキシブルモードであるデバイスは、例えば、通信相手のデバイス（リアクティブモードのデバイス）に予め関連付けられたサービスを、実行すべきサービスとして決定し、その決定したサービスに関する情報を通信相手のデバイスに通知するようにしてもよい。
【００５４】
ネゴシエーションが成功し、使用すべきサービスが決定されると、決定されたサービスにそれぞれ対応するＰＣＬアダプタおよびアプリケーションプログラムが起動されるとともに、ＰＣＬコントローラのステートはサービス実行中状態（executing service）７３に遷移する。ネゴシエーションが失敗すると、ＰＣＬコントローラのステートは、サービス無し状態（no service）７４に遷移する。
【００５５】
サービス実行中状態（executing service）７３は上述のサービス実行フェーズに相当する。サービス実行中状態（executing service）７３は、データ転送のような決定されたサービスが近接無線通信によって実行されている状態である。決定されたサービスの実行が完了すると、ＰＣＬコントローラのステートはサービス無し状態（no service）７４に遷移する。
【００５６】
デバイス間の接続（ＣＮＬ接続）が解除（切断）されると、ＰＣＬコントローラのステートは非接続状態（unconnected）６１に遷移される。デバイス間の接続の解除を引き起こすイベントには、例えば、（１）近接状態の解除による通信タイムアウトの発生、（２）通信相手のデバイスからの接続解除要求信号Ｃ−ＲＬＳの受信、の２種類がある。
【００５７】
通信タイムアウトは、デバイス間の距離が通信範囲よりも離された後にデバイス間の通信が所定のタイムアウト値以上途絶えることにより発生する。ＣＮＬ層は、接続済み状態（connected）６３の期間中、例えば、通信相手のデバイスが通信範囲内に存在することを確認するためのコマンド（プローブコマンド等）を定期的に送信することができる（ポーリング）。このコマンドを送信してから、このコマンドに対する通信相手のデバイスからの応答がタイムアウト値よりも長い間無い場合、ＣＮＬ層は、近接状態の解除による通信タイムアウトが発生したことをＰＣＬ層に通知する。ＰＣＬコントローラは、例えば、起動しているＰＣＬアダプタを停止する処理、起動しているアプリケーションを停止する処理等を実行して、デバイス間の接続を解除し、そして非接続状態（unconnected）６１に遷移する。
【００５８】
接続解除要求信号Ｃ−ＲＬＳは明示的に接続の解除を要求するコマンドである。接続中状態（connecting）６２にあるデバイスは、例えば、そのステートがサービス無し状態（no service）７４である期間などにおいて、必要に応じて、通信相手のデバイスに対して接続解除要求信号Ｃ−ＲＬＳを送信することができる。
【００５９】
通信相手のデバイスからの接続解除要求信号Ｃ−ＲＬＳを受信した時も、ＰＣＬコントローラは、通信タイムアウトが発生した場合と同様に、例えば、起動しているＰＣＬアダプタを停止する処理、起動しているアプリケーションを停止する処理等を実行して、デバイス間の接続を解除し、そして非接続状態（unconnected）６１に遷移する。
【００６０】
本実施形態の電子機器１０はフレキシブルモードで動作することが出来る。換言すれば、電子機器１０のデフォルトデバイスモードはフレキシブルモードであってもよい。したがって、非接続状態（unconnected）６１の期間中においては、ＰＣＬコントローラは、リアクティブモードのデバイスとの接続も確立できるようにするために、ＣＮＬ層を制御して接続要求信号Ｃ−Ｒｅｑを送信する。
【００６１】
非接続状態（unconnected）６１においては、電子機器１０のＰＣＬコントローラは接続要求信号を送信する。しかし、通信タイムアウトに起因する接続の解除によってＰＣＬコントローラのステートが非接続状態（unconnected）６１に遷移した場合には、電子機器１０に前回接続されていた通信相手のデバイスは通信範囲内にもはや存在しない。このため、たとえＰＣＬコントローラが接続要求信号を送信しても、ユーザがこの通信相手のデバイスと電子機器１０とを再び近づけない限り、この通信相手のデバイスと電子機器１０（近接無線通信デバイス２０）との間の接続が再び確立されることはない。
【００６２】
一方、通信相手のデバイスからの接続解除要求信号Ｃ−ＲＬＳの受信に起因してＰＣＬコントローラのステートが非接続状態（unconnected）６１に遷移した場合には、この通信相手のデバイスは電子機器１０（近接無線通信デバイス２０）に近接された状態のまま維持されている可能性がある。このため、この通信相手のデバイスと電子機器１０（近接無線通信デバイス２０）との間の接続が自動的に再確立されてしまう可能性がある。この場合、この通信相手のデバイスと電子機器１０（近接無線通信デバイス２０）との間で、前回接続時に実行されたデータ転送のようなサービスと同じサービスが再び実行されてしまう可能性がある。通信相手のデバイスは、サービス無し状態（no service）７４に遷移する度に、接続解除要求信号Ｃ−ＲＬＳを送信するかもしれない。この場合、同じサービスが何度も繰り返し実行されるという不具合が発生する。例えば、幾つかの同じデータファイルが通信相手のデバイスと電子機器１０（近接無線通信デバイス２０）との間で繰り返し転送されるといった事態が発生するかもしれない。
【００６３】
図８は、同じサービスが繰り返し実行されるシーケンスの例を示している。図８では、デフォルトデバイスモードがフレキシブルモードであるデバイスＡとデフォルトデバイスモードがリアクティブモードであるデバイスＢとの間の近接無線通信を想定している。
【００６４】
（１）デバイスＡとデバイスＢとの間の接続が確立された後、デバイスＡのデバイスモードはプロアクティブモードに遷移する。デバイスＡの制御の下、デバイスＡとデバイスＢとの間でデータ転送が実行される。例えばデータ転送が完了した時に、デバイスＢは、接続解除要求信号Ｃ−ＲＬＳ（切断コマンド）を送信するかもしれない。  
（２）デバイスＡがデバイスＢからの接続解除要求信号Ｃ−ＲＬＳを受信した時、デバイスＡは、そのローカルデバイスのデバイスモードをデフォルトデバイスモードであるフレキシブルモードに変更する。  
（３）デバイスＡは、対向機器を検出するために、接続要求信号Ｃ_Ｒｅｑを送信する。デバイスＡは、接続要求信号Ｃ_Ｒｅｑに対する受託を示す応答信号Ｃ_Ａｃｃ（図中“ＯＫ”）をデバイスＢから受信した時、デバイスＡとデバイスＢとの間の接続を確立する。  
（４）デバイスＡは、デバイスＢとのネゴシエーションによってサービスを決定し、例えば、デバイスＢに関連付けられたアプリケーションのようなアプリケーションを起動すると共に、自身のデバイスモードをプロアクティブモードに変更する。  
（５）（４）で起動されたアプリケーションがファイル転送を開始する。データ転送が完了した時に、デバイスＢは、接続解除要求信号Ｃ−ＲＬＳ（切断コマンド）を再び送信するかもしれない。この結果、図８の点線で囲むシーケンス（再接続、データ転送）が繰り返されてしまう。
【００６５】
図９は、同じサービスが繰り返し実行されるシーケンスの例を示している。図９では、フレキシブルモードのデバイスＡとプロアクティブモードに設定されたデバイスＢとの間の近接無線通信を想定している。
【００６６】
（１）デバイスＡとデバイスＢとの間の接続が確立された後、デバイスＡのデバイスモードはリアクティブモードに遷移する。プロアクティブモードであるデバイスＢの制御の下、デバイスＡとデバイスＢとの間でデータ転送が実行される。例えばデータ転送が完了した時に、デバイスＢは、接続解除要求信号Ｃ−ＲＬＳ（切断コマンド）を送信するかもしれない。  
（２）デバイスＡがデバイスＢからの接続解除要求信号Ｃ−ＲＬＳを受信した時、デバイスＡは、そのローカルデバイスのデバイスモードをデフォルトデバイスモードであるフレキシブルモードに変更する。デバイスＢも、そのデフォルトデバイスモードであるリアクティブモードに遷移する。
【００６７】
（３）デバイスＡは、対向機器を検出するために、接続要求信号Ｃ_Ｒｅｑを送信する。デバイスＡは、接続要求信号Ｃ_Ｒｅｑに対する受託を示す応答信号Ｃ_Ａｃｃ（図中“ＯＫ”）をデバイスＢから受信した時、デバイスＡとデバイスＢとの間の接続を確立する。  
（４）デバイスＡは、デバイスＢとのネゴシエーションによってサービスを決定し、例えば、デバイスＢに関連付けられたアプリケーションのようなアプリケーションを起動すると共に、自身のデバイスモードをプロアクティブモードに変更する。  
（５）（４）で起動されたアプリケーションがファイル転送を開始する。データ転送が完了した時に、デバイスＢは、接続解除要求信号Ｃ−ＲＬＳ（切断コマンド）を再び送信するかもしれない。この結果、図９の点線で囲むシーケンス（再接続、データ転送）が繰り返されてしまう。
【００６８】
フレキシブルモードの機能（例えば、非接続状態において自動的に接続要求信号を送信する機能）は、デバイス間の接続性を高めるという点で有用である。しかし、上述したように、デバイス間が近接状態のまま放置されると、再接続およびデータ転送の繰り返しという問題が発生する可能性がある。
【００６９】
本実施形態の接続制御プログラム１２１は、このような再接続およびデータ転送の繰り返しの発生を防止できるようにするために、外部デバイス（Ｂ１）からの接続解除要求信号によってＣＮＬ接続が解除された後に近接無線通信デバイス２０との新たな接続が確立された外部デバイス（Ｂ２）の識別子と、接続解除要求信号を送信した外部デバイス（Ｂ１）の識別子とを比較し、これら識別子が一致しない場合（外部デバイス（Ｂ２）は外部デバイス（Ｂ１）と異なるデバイスである）は、外部デバイス（Ｂ２）と近接無線通信デバイス２０との間のデータ転送を実行し、これら識別子が一致した場合（外部デバイス（Ｂ２）と外部デバイス（Ｂ１）が同じデバイスである）、外部デバイス（Ｂ２）と近接無線通信デバイス２０との間のデータ転送を実行しない。例えば、接続制御プログラム１２１は、これら識別子が一致した場合には、外部デバイス（Ｂ２）と近接無線通信デバイス２０との間のデータ転送が再度実行されるのを防止するために、外部デバイス（Ｂ２）とのネゴシエーションの実行を停止する。
【００７０】
ネゴシエーションの実行を停止する処理は、外部デバイスからの接続解除要求信号の受信に起因してローカルデバイスとその外部デバイスとの間の接続が解除された後にローカルデバイスとその外部デバイスとの間の接続が再確立されたことを条件に実行される。通信タイムアウト後にデバイス間の接続が確立された場合には、データ転送のための制御シーケンス（接続処理とも云う）、つまり、認証、ネゴシエーション、およびサービス実行は、無条件に実行される。
【００７１】
このように、ネゴシエーションフェーズにおいて処理を停止することは、フレキシブルモードのデバイスと外部デバイスとの間で再接続およびデータ転送が繰り返されることを防止することができる。
【００７２】
なお、例えば、同じデバイスとの接続処理動作を続けてもよいかどうかをユーザに問い合わせるためのメッセージをＬＣＤ１５に表示してもよい。もし接続処理を続行しないことがユーザによって選択されたならば、接続制御プログラム１２１は、接続処理の実行（例えば、ネゴシエーションの実行）が停止される。一方、もし接続処理動作の続行がユーザによって選択されたならば、接続制御プログラム１２１は、接続処理を続行する。
【００７３】
次に、図１０を参照して、本実施形態の接続制御プログラム１２１によって実行される通信制御動作の例について説明する。図１０において、デバイスＡは、デフォルトデバイスモードがフレキシブルモードであるデバイスであり、デバイスＢは、デフォルトデバイスモードがリアクティブモードであるデバイスである。本実施形態の電子機器１０はデバイスＡに相当する。
【００７４】
デバイスＡとデバイスＢとの間の接続が確立された後、デバイスＡのデバイスモードはプロアクティブモードに遷移する。デバイスＡの制御の下、デバイスＡとデバイスＢとの間でデータ転送が実行される。例えばデータ転送が完了した時に、デバイスＢは、接続解除要求信号Ｃ−ＲＬＳ（切断コマンド）を送信するかもしれない。  
デバイスＡがデバイスＢからの接続解除要求信号Ｃ−ＲＬＳを受信した時、デバイスＡは、非接続状態に遷移すると共に、そのデバイスＡのデバイスモードをデフォルトデバイスモードであるフレキシブルモードに変更する。デバイスＡは、対向機器を検出するために、接続要求信号Ｃ_Ｒｅｑを送信する。デバイスＡは、接続要求信号Ｃ_Ｒｅｑに対する受託を示す応答信号Ｃ_Ａｃｃ（図中“ＯＫ”）をデバイスＢから受信した時、デバイスＡとデバイスＢとの間の接続を確立する。そして、デバイスＡの接続制御プログラム１２１は、接続中状態（connecting）６２から接続済み状態（connected）６３に遷移する。
【００７５】
このようにして、接続解除要求信号Ｃ−ＲＬＳによる接続解除後にデバイスＡとデバイスＢとの間の接続が再確立された時、接続制御プログラム１２１は、同じデバイスとの接続処理の続行の有無をユーザに確認するためのメッセージボックス７１、つまりデバイスＡとデバイスＢとの間の近接無線通信を続行するかをユーザに確認するためのメッセージ、をＬＣＤ１５の表示画面上に表示する。メッセージボックス７１は、例えば、次の３つの条件が成立したときに表示される。
【００７６】
条件１：  直前の接続解除の要因が外部デバイスからの接続解除要求信号Ｃ−ＲＬＳの受信である。  
条件２：  接続解除要求信号Ｃ−ＲＬＳの受信から所定時間（Ｘ秒）内に新たな接続が確立された。  
条件３：  ローカルデバイスに新たに接続された外部デバイスの識別子（ＵＩＤ）とローカルデバイスに前回接続された外部デバイスの識別子（ＵＩＤ）とが同一である（つまり、同じ外部デバイスとの接続が再確立された）。
【００７７】
もし接続解除要求信号Ｃ−ＲＬＳを送信した外部デバイスがローカルデバイスに近接された状態のまま放置されているならば、所定時間（Ｘ秒）内に、接続解除要求信号Ｃ−ＲＬＳを送信した外部デバイスとローカルデバイスとの間の新たな接続が自動的に確立される。したがって、条件２は、接続解除要求信号Ｃ−ＲＬＳを送信した外部デバイスがローカルデバイスに近接された状態のまま放置されていたことを確認するための条件として使用できる。もし、ユーザが、接続解除要求信号Ｃ−ＲＬＳを送信した外部デバイスを一旦ローカルデバイスから離した後に再びその外部デバイスをローカルデバイスにタッチしたならば、条件２は成立しない場合が多い。
【００７８】
なお、条件１と条件２の２つの条件が成立したときに、メッセージボックス７１を表示しても良い。ローカルデバイスに新たに接続された外部デバイスのＵＩＤとローカルデバイスに前回接続された外部デバイスのＵＩＤとが同一であるか否かは、例えば、認証中状態（authenticating）７１における認証処理によって確認することが出来る。すなわち、デバイスＡの接続制御プログラム１２１は、接続済み状態（connected）６３内の認証中状態（authenticating）７１に入ると、ローカルデバイスに新たに接続された外部デバイスのＵＩＤと、ローカルデバイスに前回接続された外部デバイス（直前に接続解除要求信号Ｃ−ＲＬＳを送信した外部デバイス）のＵＩＤとを比較し、それらＵＩＤが一致するか否かを判定する。
【００７９】
メッセージボックス７１内の「はい」ボタンがユーザによってクリックされたならば、接続制御プログラム１２１は、通常通り、実行すべきサービスをネゴシエーションフェーズにおいて決定し、そして決定されたサービスをサービス実行フェーズにおいて実行する。一方、メッセージボックス７１内の「いいえ」ボタンがユーザによってクリックされたならば、接続制御プログラム１２１は、ネゴシエーションフェーズにおいて処理を停止する。これにより、接続処理の進行は、例えば、ネゴシエーションが開始される直前（ネゴシエーションフェーズの先頭）で停止されるか、またはネゴシエーションの途中で停止される。よって、デバイスＡとデバイスＢとの間ではデータ転送のようないかなるサービスも実行されない。
【００８０】
デバイスＡのステートが接続済み状態（connected）６３の期間中においては、デバイスＡは、通信タイムアウトの発生の有無を監視することが出来る。したがって、デバイスＡのＰＣＬコントローラがネゴシエーションフェーズにおいて処理を停止している状態であっても、もしユーザによってデバイスＢがデバイスＡから離されたならば、通信タイムアウトの発生が検出され、これによってデバイスＡのステート（接続制御ブログラム１２１のステート）は非接続状態（unconnected）６１に遷移される。よって、デバイスＡは新たな対向機器との接続を確立することが出来る。
【００８１】
次に、図１１のフローチャートを参照して、図１０のシーケンスを実現するために通信制御プログラム１２１によって実行される通信制御処理の手順の例を説明する。
【００８２】
通信制御プログラム１２１は、データ転送のようなサービス実行の完了を対向機器に通知した後、またはサービス実行の完了が対向機器からローカルデバイスに通知された後（ステップＳ１１）、対向機器からの接続解除要求信号Ｃ−ＲＬＳ（切断コマンド）を受信したか否かを判定する（ステップＳ１２）。
【００８３】
接続解除要求信号Ｃ−ＲＬＳが受信されていないならば（ステップＳ１２のＮＯ）、通信制御プログラム１２１のステートは、サービス無し状態（no service）７４に遷移する（ステップＳ１３）。通信制御プログラム１２１のステートがサービス無し状態（no service）７４の期間中に通信タイムアウトによる切断イベントが発生すると（ステップＳ１４のＹＥＳ）、通信制御プログラム１２１は、ローカルデバイス（電子機器１０の近接無線通信デバイス２０）と対向機器との間の接続を解除するために、必要に応じて、アクティブなＰＣＬアダプタを停止するといった処理を実行し、そしてローカルデバイスのＰＣＬコントローラのステートを非接続状態（切断状態）６１に設定する（ステップＳ１５）。非接続状態（切断状態）６１においては、通信制御プログラム１２１は、ＣＮＬ層と共同して接続要求信号を送信する処理を開始する。
【００８４】
接続解除要求信号Ｃ−ＲＬＳが受信されたならば（ステップＳ１２のＹＥＳ）、通信制御プログラム１２１は、ローカルデバイスと対向機器との間の接続を解除するための接続解除処理（切断処理）を実行し、ローカルデバイスのＰＣＬコントローラのステートを非接続状態（切断状態）６１に設定する（ステップＳ１６）。ステップＳ１６では、例えば、アクティブなＰＣＬアダプタを停止するといった処理が実行される。
【００８５】
そして、通信制御プログラム１２１は、ローカルデバイスのデバイスモードをデフォルトモードであるフレキシブルモードに戻す（ステップＳ１７）。そして、通信制御プログラム１２１は、接続要求信号を送信する処理を開始する（ステップＳ１８）。
【００８６】
非接続状態（切断状態）６１において、通信制御プログラム１２１が対向機器からの応答信号Ｃ_Ａｃｃ（または対向機器からの接続要求信号Ｃ_Ｒｅｑ）を受信したならば（ステップＳ１９のＹＥＳ）、通信制御プログラム１２１は、ＣＮＬ層と共同して、応答信号Ｃ_Ａｃｃまたは接続要求信号Ｃ_Ｒｅｑを送信した対向機器とローカルデバイスとの間の接続を確立し、そして接続済み状態（connected）６３内の認証中状態（authenticating）７１に遷移する。通信制御プログラム１２１は、対向機器を認証し、そして上述の３つの条件が満たされているか否かを判定する（ステップＳ２０）。
【００８７】
３つの条件が満たされているならば（ステップＳ２０のＹＥＳ）、通信制御プログラム１２１は、メッセージボックス７１をＬＣＤ１５に表示して、同じデバイスとの接続処理を続行するかどうかをユーザに確認する（ステップＳ２１）。
【００８８】
もし接続処理の続行がユーザによって選択されたならば（ステップＳ２２のＹＥＳ）、通信制御プログラム１２１は、データ転送の準備を行う（ステップＳ２３）。ステップＳ２３では、通信制御プログラム１２１はネゴシエーションフェーズ（ネゴシエーション中状態７２）に入る。そして、通信制御プログラム１２１は、ローカルデバイスと対向機器との間の近接無線通信によって提供すべきサービスを決定するために、対向機器とのネゴシエーションをそのネゴシエーションフェーズにおいて実行する。そして、通信制御プログラム１２１は、サービス実行フェーズ（サービス実行中状態７３）に入り、決定されたサービス（データ転送）をそのサービス実行フェーズにおいて実行する（ステップＳ２４）。
【００８９】
もし接続処理を続行しないことがユーザによって選択されたならば（ステップＳ２２のＮＯ）、通信制御プログラム１２１は、ネゴシエーションフェーズにおいて処理を停止する（ステップＳ２５）。この結果、対向機器とのネゴシエーションは実行されないので、ローカルデバイスと対向機器との間の近接無線通信によって提供すべきサービスは決定されない。したがって、ローカルデバイスおよび対向機器のどちらも、ＰＣＬアダプタおよびアプリケーションプログラムの各々を選択および起動することができない。よってサービス（データ転送）は開始されない。接続処理が停止されている期間中に通信タイムアウトによる切断イベントが発生すると（ステップＳ２６のＹＥＳ）、通信制御プログラム１２１は、ローカルデバイスのＰＣＬコントローラのステートを非接続状態（切断状態）６１に設定する（ステップＳ１５）。
【００９０】
次に、図１２を参照して、本実施形態の接続制御プログラム１２１によって実行される通信制御動作の他の例について説明する。図１２において、デバイスＡは、デフォルトデバイスモードがフレキシブルモードであるデバイスであり、デバイスＢは、デフォルトデバイスモードがリアクティブモードであるデバイスである。本実施形態の電子機器１０はデバイスＡに相当する。
【００９１】
デバイスＡとデバイスＢとの間の接続が確立された後、デバイスＡのデバイスモードはプロアクティブモードに遷移する。デバイスＡの制御の下、デバイスＡとデバイスＢとの間でデータ転送が実行される。例えばデータ転送が完了した時に、デバイスＢは、接続解除要求信号Ｃ−ＲＬＳ（切断コマンド）を送信するかもしれない。  
デバイスＡがデバイスＢからの接続解除要求信号Ｃ−ＲＬＳを受信した時、デバイスＡの接続制御プログラム１２１は、この時点で、メッセージボックス７２をＬＣＤ１５に表示する。このメッセージボックス７２は、機器が電子機器１０にタッチされたままになっていることをユーザに通知すると共に、この機器との再接続（接続処理の続行）の有無をユーザに確認するために用いられる。さらに、このメッセージボックス７２には、もし再接続を望まない場合には機器を電子機器１０から離すことをユーザに勧めるメッセージも表示される。
【００９２】
接続制御プログラム１２１の制御の下、デバイスＡは処理を進める。すなわち、デバイスＡは、非接続状態に遷移すると共に、そのデバイスＡのデバイスモードをデフォルトデバイスモードであるフレキシブルモードに変更する。デバイスＡは、対向機器を検出するために、接続要求信号Ｃ_Ｒｅｑを送信する。デバイスＡは、接続要求信号Ｃ_Ｒｅｑに対する受託を示す応答信号Ｃ_Ａｃｃ（図中“ＯＫ”）をデバイスＢから受信した時、デバイスＡとデバイスＢとの間の接続を確立する。
【００９３】
メッセージボックス７２内の「はい」ボタンがユーザによってクリックされたならば、接続制御プログラム１２１は、通常通り、実行すべきサービスをネゴシエーションフェーズにおいて決定し、そして決定されたサービスをサービス実行フェーズにおいて実行する。一方、メッセージボックス７２内の「いいえ」ボタンがユーザによってクリックされたならば、接続制御プログラム１２１は、ネゴシエーションフェーズにおいて処理を停止する。これにより、接続処理の進行は、例えば、ネゴシエーションが開始される直前で停止されるか、またはネゴシエーションの途中で停止される。よって、デバイスＡとデバイスＢとの間ではデータ転送のようないかなるサービスも実行されない。
【００９４】
もしユーザによってデバイスＢがデバイスＡから離されたならば、通信タイムアウトの発生が検出され、これによってデバイスＡのステート（接続制御ブログラム１２１のステート）は非接続状態（unconnected）６１に遷移される。
【００９５】
次に、図１３のフローチャートを参照して、図１２のシーケンスを実現するために通信制御プログラム１２１によって実行される通信制御処理の手順の例を説明する。
【００９６】
通信制御プログラム１２１は、データ転送のようなサービス実行の完了を対向機器に通知した後、またはサービス実行の完了が対向機器からローカルデバイスに通知された後（ステップＳ３１）、対向機器からの接続解除要求信号Ｃ−ＲＬＳ（切断コマンド）を受信したか否かを判定する（ステップＳ３２）。
【００９７】
接続解除要求信号Ｃ−ＲＬＳが受信されていないならば（ステップＳ３２のＮＯ）、通信制御プログラム１２１のステートは、サービス無し状態（no service）７４に遷移する（ステップＳ３３）。通信制御プログラム１２１のステートがサービス無し状態（no service）７４の期間中に通信タイムアウトによる切断イベントが発生すると（ステップＳ３４のＹＥＳ）、通信制御プログラム１２１は、ローカルデバイス（電子機器１０の近接無線通信デバイス２０）と対向機器との間の接続を解除するために、必要に応じて、アクティブなＰＣＬアダプタを停止するといった処理を実行し、そしてローカルデバイスのＰＣＬコントローラのステートを非接続状態（切断状態）６１に設定する（ステップＳ３５）。非接続状態（切断状態）６１においては、通信制御プログラム１２１は、ＣＮＬと共同して接続要求信号を送信する処理を開始する。
【００９８】
接続解除要求信号Ｃ−ＲＬＳが受信されたならば（ステップＳ３２のＹＥＳ）、通信制御プログラム１２１は、まず、メッセージボックス７２をＬＣＤ１５に表示して、機器が電子機器１０にタッチされたままになっていることをユーザに知らせるとともに、その機器との再接続の意志をユーザに確認する（ステップＳ３６）。
【００９９】
メッセージボックス７２が表示されている状態で、通信制御プログラム１２１は、ローカルデバイス（電子機器１０）と対向機器との間の接続を解除するための接続解除処理（切断処理）を実行し、ローカルデバイスのＰＣＬコントローラのステートを非接続状態（切断状態）６１に設定する（ステップＳ３７）。そして、通信制御プログラム１２１は、ローカルデバイスのデバイスモードをデフォルトモードであるフレキシブルモードに戻す（ステップＳ３８）。そして、通信制御プログラム１２１は、接続要求信号を送信する処理を開始する（ステップＳ３９）。
【０１００】
非接続状態（切断状態）６１において、通信制御プログラム１２１が対向機器からの応答信号Ｃ_Ａｃｃ（または対向機器からの接続要求信号Ｃ_Ｒｅｑ）を受信したならば（ステップＳ４０のＹＥＳ）、通信制御プログラム１２１は、ＣＮＬ層と共同して、応答信号Ｃ_Ａｃｃまたは接続要求信号Ｃ_Ｒｅｑを送信した対向機器とローカルデバイスとの間の接続を確立し、そして接続済み状態（connected）６３内の認証中状態（authenticating）７１に遷移する。
【０１０１】
通信制御プログラム１２１は、メッセージボックス７２内の「はい」ボタンまたは「いいえ」ボタンのいずれがユーザによって選択されているかを判定する（ステップＳ４１）。もし「はい」ボタン、つまり接続処理の続行がユーザによって選択されたならば（ステップＳ４１のＹＥＳ）、通信制御プログラム１２１は、データ転送の準備を行う（ステップＳ４２）。ステップＳ４２では、通信制御プログラム１２１はネゴシエーションフェーズ（ネゴシエーション中状態７２）に入る。そして、通信制御プログラム１２１は、ローカルデバイスと対向機器との間の近接無線通信によって提供すべきサービスを決定するために、対向機器とのネゴシエーションをそのネゴシエーションフェーズにおいて実行する。そして、通信制御プログラム１２１は、サービス実行フェーズ（サービス実行中状態７３）に入り、決定されたサービス（データ転送）をそのサービス実行フェーズにおいて実行する（ステップＳ４３）。
【０１０２】
もし「いいえ」ボタンつまり接続処理を続行しないことがユーザによって選択されるか、あるいは「はい」ボタンまたは「いいえ」ボタンのいずれもユーザによって選択されなかったならば（ステップＳ４１のＮＯ）、通信制御プログラム１２１は、ネゴシエーションフェーズにおいて処理を停止する（ステップＳ４４）。この結果、ローカルデバイスと対向機器との間の近接無線通信によって提供すべきサービスは決定されない。したがって、ローカルデバイスおよび対向機器のどちらも、ＰＣＬアダプタおよびアプリケーションプログラムの各々を選択および起動することができないので、サービスは開始されない。接続処理が停止されている期間中に通信タイムアウトによる切断イベントが発生すると（ステップＳ４５のＹＥＳ）、通信制御プログラム１２１は、ローカルデバイスのＰＣＬコントローラのステートを非接続状態（切断状態）６１に設定する（ステップＳ３５）。
【０１０３】
以上のように、本実施形態によれば、たとえ外部デバイスからの接続解除要求の受信に起因してその外部デバイスと本電子機器１０との間の接続が再度確立されても、前回接続時と同じサービスが再度実行されることを防止することができる。
【０１０４】
なお、本実施形態の接続制御プログラムの機能はハードウェアモジュールによって実現することも可能である。
【０１０５】
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１０６】
１０…電子機器、１１…システム制御部、１２ａ…通信制御プログラム、１０１ａ…ＣＰＵ、２０…近接無線通信デバイス、１２１…接続制御プログラム、１２３…接続制御部、１２４…通信制御部、１２５…接続解除部。
【図１】
0005450673.tif 000002
【図２】
0005450673.tif 000003
【図３】
0005450673.tif 000004
【図４】
0005450673.tif 000005
【図５】
0005450673.tif 000006
【図６】
0005450673.tif 000007
【図７】
0005450673.tif 000008
【図８】
0005450673.tif 000009
【図９】
0005450673.tif 000010
【図１０】
0005450673.tif 000011
【図１１】
0005450673.tif 000012
【図１２】
0005450673.tif 000013
【図１３】
0005450673.tif 000014