JP5254294B2 - 電子機器及び通信制御方法 - Google Patents
電子機器及び通信制御方法 Download PDFInfo
- Publication number
- JP5254294B2 JP5254294B2 JP2010205909A JP2010205909A JP5254294B2 JP 5254294 B2 JP5254294 B2 JP 5254294B2 JP 2010205909 A JP2010205909 A JP 2010205909A JP 2010205909 A JP2010205909 A JP 2010205909A JP 5254294 B2 JP5254294 B2 JP 5254294B2
- Authority
- JP
- Japan
- Prior art keywords
- service
- external device
- mode
- request
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Description
本発明は、近接無線通信方式で通信を行う電子機器及び同機器に適用される通信制御方法に関する。
近年、ICカード、携帯電話機等においては、NFCのような無線通信が利用され始めている。ユーザは、ICカード又は携帯電話をホスト装置のリーダ/ライタ部にかざすといった操作を行うだけで、認証処理、課金等のための通信を容易に行うことができる。
特許文献1には、近距離無線を利用する複数のアプリケーションが同時に実行された場合に、アプリケーションを終了して通信リソースを解放するという操作をすることなく、各アプリケーションが近距離無線を利用できるように通信管理を行う無線通信装置が開示されている。
ところで、近接無線通信方式では、デバイス同士を近づけるだけで自動的にサービスの実行を開始したいという要求がある。デバイス同士を近づけて自動的にサービスの実行を開始する場合、例えば、携帯電話機をパーソナルコンピュータに近づけるだけで、携帯電話機に保存されたデータとパーソナルコンピュータに格納している当該データのバックアップとを同期させるといった機能を実現することができる。つまり、デバイス間の近接状態が検出されると、ネゴシエーションを経て、自動的にサービスの提供を開始することができる。
しかし、サービスの提供が完了した後、デバイス同士を近接状態で放置している場合に、再度、自動的にサービスの提供が開始されるとユーザが望まないサービスの提供が開始されてしまう可能性がある。また、望まないサービスの提供が開始されると、ユーザは、このサービスを停止させるための操作を行う必要があり、これは、ユーザにとって煩雑な作業であるといえる。
本発明は上述の事情を考慮してなされたものであり、不要なサービスの提供を抑制できる電子機器及び通信制御方法を提供することを目的とする。
上述の課題を解決するため、本発明の電子機器は、近接無線通信を実行する通信モジュールと、前記通信モジュールと外部デバイスとが近接状態である場合に、前記通信モジュールと前記外部デバイスとの間の接続を確立する接続確立手段と、前記通信モジュールと前記外部デバイスとの間の接続が確立されている場合に、前記通信モジュールと前記外部デバイスとの間におけるネゴシエーション処理によって、前記通信モジュールと前記外部デバイスとの間で実行するサービスを決定するネゴシエーション手段と、前記決定されたサービスを実行するサービス実行手段と、前記決定されたサービスの実行が完了した後、ユーザによる要求又は前記外部デバイスからの要求までの間、前記ネゴシエーション処理の実行を待機する待機制御手段とを具備することを特徴とする。
また、本発明の電子機器は、近接無線通信を実行する通信モジュールと、外部デバイスが、通信相手のデバイスへサービスの開始要求を送信する第一のモード、又は通信相手のデバイスからサービスの開始要求を受信する第二のモードのいずれかであるかを判定する処理と、前記外部デバイスが前記第一のモードに設定されている場合、前記外部デバイスからサービスの開始要求を受信する処理と、前記外部デバイスが前記第二のモードに設定されている場合、前記外部デバイスへサービスの開始要求を送信し、前記通信モジュールと前記外部デバイスとの間で実行するサービスを決定する処理とを含むネゴシエーション処理を実行するネゴシエーション手段と、前記決定されたサービスを実行するサービス実行手段と、前記決定されたサービスの実行が完了した後、ユーザによる要求又は前記外部デバイスからの要求までの間、前記ネゴシエーション処理の実行を待機する待機制御手段とを具備することを特徴とする。
本発明によれば、不要なサービスの提供を抑制できる。
以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の一実施形態に係る電子機器の構成を示している。この電子機器10は、例えば、携帯機器(例えば、携帯電話機、PDA、オーディオプレーヤ等)、パーソナルコンピュータ、又はコンシューマ機器(例えば、TV、ビデオレコーダ等)として実現される。この電子機器10は、システム制御部101、ROM102、RAM103、近接無線通信デバイス104、電源制御部105、ACアダプタ106、及びバッテリ107を備える。
システム制御部101は、電子機器10内の各部の動作を制御する。システム制御部101は、CPU101aを備え、ROM102、RAM103、近接無線通信デバイス104、及び電源制御部105に接続される。
CPU101aは、ROM102に格納された命令群及びデータをRAM103へロードし、必要な処理を実行するプロセッサである。RAM103には、近接無線通信を制御するための近接無線通信制御プログラム103aがロードされている。CPU101aは、RAM103にロードされた近接無線通信制御プログラム103aを実行して、近接無線通信デバイス104を制御する。
近接無線通信デバイス104は、近接無線通信を実行する通信モジュールである。近接無線通信デバイス104は、近接無線通信デバイス104から所定の距離内に存在する、近接無線通信機能を有する他のデバイス(外部デバイス)との無線接続を確立し、そしてファイルのようなデータの伝送を開始する。近接無線通信デバイス104と外部デバイスとの間の近接無線通信は、ピアツーピア形式で実行される。通信可能距離は例えば3cmである。近接無線通信デバイス104と外部デバイスとの間の無線接続は、近接無線通信デバイス104と外部デバイスとが近接状態である場合、つまり近接無線通信デバイス104と外部デバイスとの間の距離が通信可能距離(例えば3cm)以内に接近した場合にのみ可能となる。近接無線通信デバイス104と外部デバイスとが通信可能距離以内に接近した時、近接無線通信デバイス104と外部デバイスとの間の無線接続が確立される。そして、例えば、ユーザによって明示的に指定されたデータファイル、又は予め決められた同期対象データファイル等のデータの伝送が近接無線通信デバイス104と外部デバイスとの間で実行される。
近接無線通信においては、誘導電界が用いられる。近接無線通信方式としては、例えばTransferJetを使用し得る。TransferJetは、UWBを利用した近接無線通信方式であり、高速データ転送を実現することができる。
近接無線通信デバイス104はアンテナ104aに接続されている。アンテナ104aはカプラと称される電極であり、誘導電界を用いた無線信号により、外部デバイスに対するデータの送受信を行う。外部デバイスがアンテナ104aから通信可能距離(例えば3cm)以内の範囲内に接近した場合、近接無線通信デバイス104及び外部デバイスそれぞれのアンテナ(カプラ)間が誘導電界によって結合され、これによって近接無線通信デバイス104と外部デバイスとの間の無線通信が実行可能となる。なお、近接無線通信デバイス104及びアンテナ104aは、一つのモジュールとして実現し得る。
電源制御部105は、ACアダプタ106を介して外部から供給される電力、又はバッテリ107から供給される電力を用いて、電子機器10内の各部に電力を供給する。換言すれば、電子機器10は、AC商用電源のような外部電源、又はバッテリ107によって駆動される。ACアダプタ106は電子機器10内に設けることもできる。
次に、図2を参照して、近接無線通信デバイス104を用いて実行される近接無線通信を制御するためのソフトウェアアーキテクチャを説明する。
図2のソフトウェアアーキテクチャは近接無線通信を制御するためのプロトコルスタックの階層構造を示している。プロトコルスタックは、物理層(PHY)20、コネクション層(CNL)30、プロトコル変換層(PCL)40、アプリケーション層50から構成されている。例えば、コネクション層(CNL)30、プロトコル変換層(PCL)40、アプリケーション層50は通信制御プログラム103aによって実現し得る。
物理層(PHY)20は物理的なデータ転送を制御する層であり、OSI参照モデル内の物理層に対応する。物理層(PHY)20の一部の機能又は全ての機能は、近接無線通信デバイス104内のハードウェアを用いて実現することもできる。
物理層(PHY)20はコネクション層(CNL)30からのデータを無線信号に変換する。コネクション層(CNL)30はOSI参照モデル内のデータリンク層及びトランスポート層に対応しており、物理層(PHY)20を制御してデータ通信を実行する。コネクション層(CNL)30は、プロトコル変換層(PCL)40からの接続要求、又は外部デバイスからの接続要求に応じて、近接状態に設定されている近接無線通信デバイス104と外部デバイスとの間の接続(CNL接続)を確立する処理を実行する。
プロトコル変換層(PCL)40は、OSI参照モデル内のセッション層及びプレゼンテーション層に対応しており、アプリケーション層50と、デバイスA,B間の接続の確立及び解除を制御するためのコネクション層(CNL)30との間に位置する。プロトコル変換層(PCL)40は、アプリケーション層50内の各アプリケーション(通信プログラム)の制御とコネクション層(CNL)30の制御を行う。
より具体的には、プロトコル変換層(PCL)40は、アプリケーション層50の各通信プログラムが扱うアプリケーションプロトコル(例えば、SCSI、OBEX、他の汎用プロトコル等)に対応したデータ(ユーザデータ)を特定の伝送用データ形式に変換するための変換処理を実行する。この変換処理により、いずれの通信プログラムによって送受信されるデータであっても、コネクション層(CNL)30が扱うことが可能なパケット(特定の伝送用データ形式のデータ)に変換することができる。このプロトコル変換層(PCL)40は、さまざまなアプリケーションプロトコルを近接無線通信で利用することを可能にする。
また、プロトコル変換層(PCL)40は、通信相手のデバイスとの間でサービス情報(各デバイスが提供可能なサービスを示す情報)及びセッション情報(確立/切断対象のセッションに関する情報)を交換する処理、さらに、アプリケーションの起動、コネクションの管理、及びセッションの管理等を行う。
アプリケーション層50は、SCSI、OBEX、他の汎用プロトコル等の幾つかのアプリケーションプロトコルにそれぞれ対応した複数の通信プログラム(アプリケーション)を含んでいる。各アプリケーションは、プロトコル変換層(PCL)40に対してセッションの開始/終了を要求する処理、及びプロトコル変換層(PCL)40を介してデータを送受信する処理を実行する。
また、プロトコル変換層(PCL)40は、例えば、モード監視部41、接続監視部42、モード監視データベース43、接続監視データベース44を備える。
接続監視部42は、近接状態に設定されている電子機器10と外部デバイスとの間の接続(CNL接続)を監視する。上述したように、CNL30では、PCL40からの接続要求、又は外部デバイスからの接続要求に応じて、近接状態に設定されている電子機器10と外部デバイスとの間の接続を確立する処理が実行される。また、ユーザによる接続解除の要求や電子機器10と外部デバイスとが離されることによる近接状態の解除に応じて、電子機器10と外部デバイスとの間の接続が解除される。接続監視部42は、これら接続の確立及び解除を監視し、電子機器10と外部デバイスとの間で接続が確立されていること、又は接続が解除されていることを示す情報を接続監視データベース44へ格納する。
モード監視部41は、PCL40に設定されるモードを監視する。PCL40には、プロアクティブモード、リアクティブモード、及びフレキシブルモードのいずれかのモードが設定される。
プロアクティブモードは、電子機器10から外部デバイスへサービスの開始要求を送信するモードである。プロアクティブモードに設定されたデバイスは、いわゆるマスタとして機能し、通信相手のデバイスを制御してデバイス間のデータ転送のようなサービスを実行することができる。リアクティブモードは、電子機器10が、外部デバイスから送信されるサービスの開始要求を受信するモードである。リアクティブモードに設定されたデバイスは、いわゆるスレーブとして機能し、通信相手のデバイスの制御の下、デバイス間のデータ転送のようなサービスを実行することができる。
外部電源によって駆動できない携帯電話のようなポータブルデバイスのデフォルトのモードは、その電力消費を低減するために、リアクティブモードに設定される。ユーザがポータブルデバイス上のアプリケーションを操作した場合、そのポータブルデバイスは、リアクティブモードからプロアクティブモードへ自動的に遷移する。
プロアクティブモードに設定されたデバイスは、接続要求信号を送信する。一方、リアクティブモードのデバイスは接続要求信号を送信しないので、電力消費は比較的少ない。
フレキシブルモードは、近接状態に設定されている外部デバイスに設定されたモード(プロアクティブモード又はリアクティブモード)に応じて、プロアクティブモードとリアクティブモードのいずれかに遷移するモードである。フレキシブルモードに設定された電子機器10は、近接状態に設定されている外部デバイスとのネゴシエーションにより、外部デバイスがプロアクティブモードの場合にはリアクティブモードへ遷移し、また、外部デバイスがリアクティブモードの場合にはプロアクティブモードへ遷移する。つまり、フレキシブルモードに設定された電子機器10は、通信相手のデバイスに設定されたモードによって、マスタとして機能するか、スレーブとして機能するかを切り替える。プロアクティブモードまたはリアクティブモードへの遷移は、例えば、デバイス間の接続が確立された後に実行される。
ACアダプタ電源のような外部電源によって駆動可能な、パーソナルコンピュータ等のデバイスに設定されるデフォルトのモードはフレキシブルモードである。フレキシブルモードに設定されたデバイスは、接続要求信号を送信する。これにより、ユーザが携帯電話のアプリケーションを何等操作せずにその携帯電話をパーソナルコンピュータ(フレキシブルモードのデバイス)に近接させた場合でも、それらデバイス間の接続を確立でき、パーソナルコンピュータの制御の下、データファイルの転送のようなサービスをユーザに提供することができる。
プロアクティブモードに設定されたデバイス(プロアクティブモードに遷移したデバイス)とリアクティブモードに設定されたデバイス(リアクティブモードに遷移したデバイス)との間でサービスが実行される場合、プロアクティブモードに設定されたデバイスによって指定されたサービスが、これら二つのデバイス間で実行される。なお、サービスの実行が完了した場合、リアクティブモードからプロアクティブモードへ遷移したデバイスはリアクティブモードに戻り、フレキシブルモードからプロアクティブモードへ遷移したデバイス、又はフレキシブルモードからリアクティブモードへ遷移したデバイスは、フレキシブルモードに戻る。
モード監視部41は、PCL40の現在のモードを示す情報をモード監視データベース43へ格納する。したがって、近接状態に設定されている外部デバイスとのネゴシエーションによって、電子機器10のPCL40がフレキシブルモードから、プロアクティブモード又はリアクティブモードへ遷移した場合には、遷移したいずれかのモードを示す情報によりモード監視データベース43が書き換えられる。
PCL40では、電子機器10と外部デバイスとの間の接続(CNL接続)、及びPCL40に設定されるモードが監視され、アプリケーション層50内の各アプリケーション(通信プログラム)の制御とCNL30の制御とが行われる。
図3は、上述のPCL40の機能を実現する近接無線通信制御プログラム103aの機能構成の例を示すブロック図である。
図3に示すように、近接無線通信制御プログラム103aは、制御部401、CNL接続監視部402、ネゴシエーション処理部403、モード制御部404、サービス処理部405、及び待機処理部406を備える。近接無線通信制御プログラム103aは、データベース410に接続される。データベース410は、電子機器10と外部デバイスとの間の接続状態を示す情報であるCNL接続状態410aと、電子機器10のPCL40に設定される接続モード、及び外部デバイスのPCLに設定される接続モードを示す情報である接続モード410bとを格納する記憶装置である。
制御部401は、電子機器10と外部デバイスとの間の通信シーケンスを制御する。すなわち、制御部401は、アプリケーション層50に対応するアプリケーション部501と、CNL30及び物理層(PHY)20に対応するデータ通信部201とによる要求や通知に応じて、近接無線通信制御プログラム103a内の各部を制御する。
CNL接続監視部402は、CNL30による電子機器10と外部デバイスとの間の接続(CNL接続)を監視する。CNL30による近接無線通信デバイス104と外部デバイスとの間の接続が確立された場合、CNL接続監視部402は、データベース410のCNL接続状態410aに、CNL接続が確立されていることを示す情報を格納する。また、CNL30による電子機器10と外部デバイスとの間の接続が解除された場合、CNL接続監視部402は、データベース410のCNL接続状態410aに、CNL接続が解除されていることを示す情報を格納する。
CNL接続監視部402は、CNL接続の確立又は解除を、近接無線通信制御プログラム103aの各部へ通知する。CNL接続が解除されたことが通知された場合、ネゴシエーション処理部403、モード制御部404、サービス処理部405、及び待機処理部406は、実行中の処理を中断する。換言すると、ネゴシエーション処理部403、モード制御部404、サービス処理部405、及び待機処理部406による処理は、CNL接続が確立されている期間中に実行される。
ネゴシエーション処理部403は、CNL接続監視部402からCNL接続が確立されたことを示す通知を受けた場合、ネゴシエーション処理を実行する。ネゴシエーション処理部403は、ネゴシエーション処理として、PCL40に設定されるモードの調停、デバイス間で実行されるサービスの決定、サービスの同期等を実行する。
PCL40に設定されるモードの調停では、ネゴシエーション処理部403は、通信相手のデバイスに設定されたモードに応じて、電子機器10のPCL40に設定されるモードを決定する。PCL40には、上述したように、プロアクティブモード、リアクティブモード、及びフレキシブルモードのいずれかのモードが設定される。また、二つのデバイス間でサービスを実行する場合には、一方のデバイスが通信相手のデバイスへサービス開始要求を送信するプロアクティブモードに設定され、他方のデバイスがサービス開始要求を受信して応答するリアクティブモードに設定される必要がある。
自身のPCL40がプロアクティブモードに設定され、且つ通信相手のデバイスのPCL40がリアクティブモードに設定されている場合、又は自身のPCL40がリアクティブモードに設定され、且つ通信相手のデバイスのPCL40がプロアクティブモードに設定されている場合、ネゴシエーション処理部403は、PCL40に設定されるモードを変更する処理を行わない。
自身のPCL40がフレキシブルモードに設定されている場合、ネゴシエーション処理部403は、通信相手のデバイスのPCL40に設定されたモードに応じて、プロアクティブモードとリアクティブモードのいずれかのモードを選択する。つまり、ネゴシエーション処理部403は、通信相手のデバイスのPCL40がプロアクティブモードに設定されている場合、自身のPCL40に設定するモードとしてリアクティブモードを選択する。また、ネゴシエーション処理部403は、通信相手のデバイスのPCL40がリアクティブモードに設定されている場合、自身のPCL40に設定するモードとしてプロアクティブモードを選択する。そして、ネゴシエーション処理部403は、選択されたモードをモード制御部404へ通知する。
モード制御部404は、ネゴシエーション処理部403と協働して、PCL40に設定するモードを制御する。モード制御部404は、ネゴシエーション処理部403で決定されたモードをPCL40に設定する。
自身のPCL40に設定されたモード、及び通信相手のデバイスのPCL40に設定されたモードを示す情報は、データベース410の接続モード410bへ格納される。
デバイス間で実行されるサービスの決定では、ネゴシエーション処理部403は、PCL40がプロアクティブモードに設定された側のデバイスで指定されたサービスを、デバイス間で実行されるサービスとして決定する。したがって、通信相手のデバイスがプロアクティブモードに設定されている場合、ネゴシエーション処理部403は、通信相手のデバイスで指定されたサービスをデバイス間で実行されるサービスとして決定する。また、自身のPCL40がプロアクティブモードに設定されている場合、ネゴシエーション処理部403は、ユーザにより指定されたアプリケーションに応じたサービスや予め決められたサービスを、デバイス間で実行されるサービスとして決定する。
サービスの同期では、ネゴシエーション処理部403は、デバイス間でサービスの実行を開始するための同期処理を実行する。
サービス処理部405は、ネゴシエーション処理部403によるサービスの同期(開始)が実行された後、ネゴシエーション処理部403で決定されたサービスに応じた処理を実行する。サービス処理部405は、データ通信部201とアプリケーション部501とを適宜制御して、処理を実行する。
待機処理部406は、サービス処理部405による処理が完了してから新たなサービスの開始要求を受信するまでの期間、待機処理を実行する。待機処理部406は、通信相手のデバイスからサービスの開始要求を受信した場合、又はユーザによりサービスの開始要求が入力された場合等に待機処理を終了する。待機処理部406による待機処理が終了したことに応答して、ネゴシエーション処理部403によるネゴシエーション処理が再度、開始される。つまり、待機処理部406は、サービス処理部405による処理が完了してから通信相手のデバイスからサービスの開始要求を受信するまでの期間、又はサービス処理部405による処理が完了してからユーザによってサービスの開始要求が入力されるまでの期間に、ネゴシエーション処理部403へネゴシエーション処理の開始を要求しない。
アプリケーション部501は、近接無線通信を用いてデータ送受信を実行する複数のアプリケーション(通信プログラム)を管理する。アプリケーション部501は、アプリケーションからのセッションの開始/終了の要求を近接無線通信制御プログラム103aへ通知する処理、及び近接無線通信制御プログラム103aを制御する処理を実行する。アプリケーションは、例えば、SCSI、OBEX、他の汎用プロトコル等の幾つかのアプリケーションプロトコルにそれぞれ対応した通信プログラムである。
次に、図4を参照して、電子機器10がポータブルパーソナルコンピュータとして実現されている場合を想定して、電子機器10の外観の例を説明する。
図4は、電子機器10の外観を示す斜視図である。
電子機器10は、本体11と、ディスプレイユニット12とを備えている。ディスプレイユニット12は、本体11に対し、本体11の上面が露出される開放位置と本体11の上面がディスプレイユニット12によって覆われる閉塞位置との間を回動自在に取り付けられている。ディスプレイユニット12内には、上述のLCD15が設けられている。
本体11は薄い箱状の筐体を有している。本体11の筐体の上面には、キーボード、タッチパッド、スピーカ、電源スイッチ等が配置されている。
本体11の上面、具体的には、本体11の上面上のパームレスト領域の一部は、通信面として機能する。すなわち、近接無線通信デバイス104及びアンテナ(カプラ)104aは、本体11の上面に対向して本体11内に設けられている。アンテナ(カプラ)104aは、本体11の上面(具体的には、本体11の上面上のパームレスト領域の一部)を介して、無線信号(誘導電界)を外部に出力するように配置されている。アンテナ(カプラ)104aに対向する本体11の上面上の小領域、つまり本体11の上面上においてアンテナ(カプラ)104aの上方に位置する小領域は、通信位置として使用される。近接無線通信デバイス104は、本体11の上面上の通信位置から所定の無線通信可能距離(例えば3cm)内に存在する外部デバイスとの近接無線通信を本体11の上面を介して実行する。
ユーザは、例えば、近接無線通信機能を有する外部デバイスを本体11の上面上の通信位置上にかざすという操作(タッチ操作とも云う)を行うことにより、外部デバイスと電子機器10との間のデータ転送を開始させることができる。
図5は、携帯電話70と電子機器10との間で実行される近接無線通信の様子が示されている。携帯電話70の筐体内には、その筐体の背面に対向して近接無線通信用のアンテナ(カプラ)70aが設けられている。この場合、携帯電話70の筐体の背面を電子機器10の本体11の上面上の通信位置上にかざすこと、すなわち、携帯電話70を電子機器10に近接させるという操作(タッチ操作とも云う)を行うことにより、携帯電話70と電子機器10との間の接続を開始させることができる。携帯電話70と電子機器10との間の接続は、携帯電話70と電子機器10とが互いに近接したことをトリガとして実行される。
図6は、デバイス間の近接無線通信の例を示すシーケンス図である。ここでは、プロアクティブモードに設定されたデバイスAからフレキシブルモードに設定されたデバイスBへ、サービスの開始要求が送信されることを想定する。なお、初期状態では、デバイスAはリアクティブモードに設定され、デバイスBはフレキシブルモードに設定されている。
まず、ユーザは、近接無線通信を行うアプリケーションプログラムをデバイスA上で選択し、デバイスAとデバイスBとを近づけて(タッチ操作)、近接状態に設定する(S101)。アプリケーションプログラムが選択されたデバイスAは、外部デバイスからサービスの開始要求を受信するリアクティブモードから、外部デバイスへサービスの開始要求を送信するプロアクティブモードへ遷移する。
次に、デバイスA及びデバイスBは、デバイスAとデバイスBとの間の接続(CNL接続)を確立するための処理(認証処理)を実行する(S102)。例えば、デバイスAは、接続要求を送信する。この接続要求を受信したデバイスBは、接続要求に対する応答をデバイスAへ送信する。以上の処理により、デバイスAとデバイスBとの間で接続が確立される。
接続を確立したデバイスAとデバイスBとは、ネゴシエーション処理を実行する(S103)。ネゴシエーション処理として、デバイスA及びデバイスBは、モード調停(S103a)、サービスネゴシエーション(S103b)、及びサービス同期(S103c)を実行する。
具体的には、フレキシブルモードに設定されたデバイスBは、通信相手のデバイスであるデバイスAに設定されたモードに応じて、自身のモードを遷移させるモード調停を実行する(S103a)。ここでは、デバイスAがプロアクティブモードに設定されているため、デバイスBは、自身のモードをフレキシブルモードからリアクティブモードへ遷移させる。そして、デバイスA及びデバイスBは、デバイスAとデバイスBとの間で実行するサービスを決定するサービスネゴシエーションを実行する(S103b)。ここでは、プロアクティブモードに設定されたデバイスAで指定されたサービス、すなわち、ユーザにより選択されたアプリケーションプログラムに対応するサービスが、デバイスAとデバイスBとの間で実行されるサービスとして決定される。また、デバイスA及びデバイスBは、決定されたサービスを実行するためのサービス同期を実行する(S103c)。これにより、デバイスAとデバイスBとの間でサービスの実行が開始される。
上述のネゴシエーション処理が完了すると、デバイスAとデバイスBとの間でサービスが実行され、データの送受信等の通信が行われる(S104)。そして、サービスの実行が完了すると、デバイスAはプロアクティブモードからリアクティブモードへ遷移し、デバイスBは、リアクティブモードからフレキシブルモードへ遷移する。また、デバイスAとデバイスBとの間の接続は解除される。
デバイスAとデバイスBとの間の接続が解除された後、デバイスAとデバイスBとが近接状態に維持されている場合、デバイスA及びデバイスBは、再度、認証処理を実行する(S105)。認証処理により、デバイスAとデバイスBとの間の接続が確立されると、デバイスA及びデバイスBは、ネゴシエーション処理を実行する(S106)。このネゴシエーション処理では、S103aからS103cまでの処理と同様の処理が実行される。
まず、フレキシブルモードに設定されているデバイスBは、デバイスAがリアクティブモードに設定されているため、自身のモードをフレキシブルモードからプロアクティブモードへ遷移させる。次に、デバイスA及びデバイスBは、デバイスAとデバイスBとの間で実行するサービスを決定するサービスネゴシエーションを実行する。具体的には、デバイスBは、デバイスAが提供し得るサービス群を示す情報を、デバイスAから受信し、受信したサービス群に含まれる各サービスを列挙したリストをユーザへ提示する。ユーザは、デバイスB上で提示されたサービスのリストから利用するサービスを選択する。そして、デバイスBは、選択されたサービスを示す情報をデバイスAへ通知する。これにより、ユーザにより選択されたサービスが、デバイスAとデバイスBとの間で実行するサービスとして決定される。なお、デバイスAとデバイスBとの間で実行するサービスは、予め決定されたサービスであってもよい。デバイスA及びデバイスBは、サービス同期を実行し、決定されたサービスの実行を開始する。そして、デバイスA及びデバイスBは、決定されたサービスに応じた処理を実行する(S107)。
上述のように、接続されるデバイスの一方がフレキシブルモードに設定されている場合、ネゴシエーションにより決定されたサービスが実行され、サービスの実行が完了してデバイス間の接続が解除された場合、例えば所定の期間が経過した後、再度、デバイス間の接続が確立される。また、ネゴシエーション処理も再度実行され、ユーザが新たなサービスの開始を指示することなく、新たなサービスの提供が開始される。
図7は、デバイス間の近接無線通信の別の例を示すシーケンス図である。ここでは、フレキシブルモードに設定されたデバイスBからリアクティブモードに設定されたデバイスAへ、サービスの開始要求が送信されることを想定する。なお、初期状態では、デバイスAはリアクティブモードに設定され、デバイスBはフレキシブルモードに設定されている。
まず、ユーザは、デバイスAとデバイスBとを近づけて(タッチ操作)、近接状態に設定する(S201)。次に、デバイスA及びデバイスBは、デバイスAとデバイスBとの間の接続(CNL接続)を確立するための処理(認証処理)を実行する(S202)。例えば、デバイスBは、接続要求を送信する。この接続要求を受信したデバイスAは、接続要求に対する応答をデバイスBへ送信する。以上の処理により、デバイスAとデバイスBとの間で接続が確立される。
接続を確立したデバイスAとデバイスBとは、ネゴシエーション処理を実行する(S203)。ネゴシエーション処理として、デバイスA及びデバイスBは、モード調停(S203a)、サービスネゴシエーション(S203b)、及びサービス同期(S203c)を実行する。
具体的には、フレキシブルモードに設定されたデバイスBは、通信相手のデバイスであるデバイスAに設定されたモードに応じて、自身のモードを遷移させるモード調停を実行する(S203a)。ここでは、デバイスAがリアクティブモードに設定されているため、デバイスBは、自身のモードをフレキシブルモードからプロアクティブモードへ遷移させる。そして、デバイスA及びデバイスBは、デバイスAとデバイスBとの間で実行するサービスを決定するサービスネゴシエーションを実行する(S203b)。具体的には、デバイスBは、デバイスAに対して、デバイスAが提供し得るサービス群を示す情報を要求する。デバイスBは、デバイスAが提供し得るサービス群の情報をデバイスAから受信すると、このサービス群に含まれる各サービスを列挙したリストをユーザへ提示する。そして、ユーザは提示されたサービスのリストから利用したいサービスを選択する。これにより、ユーザにより選択されたサービスが、デバイスAとデバイスBとの間で実行されるサービスとして決定される。なお、デバイスAとデバイスBとの間で実行するサービスは、予め決められたサービスであってもよい。次いで、デバイスA及びデバイスBは、決定されたサービスを実行するためのサービス同期を実行する(S203c)。これにより、デバイスAとデバイスBとの間でサービスの実行が開始される。
上述のネゴシエーション処理が完了すると、デバイスAとデバイスBとの間でサービスが実行され、データの送受信等の通信が行われる(S204)。そして、サービスの実行が完了すると、デバイスBは、プロアクティブモードからフレキシブルモードへ遷移する。また、デバイスAとデバイスBとの間の接続は解除される。
デバイスAとデバイスBとの間の接続が解除された後、デバイスAとデバイスBとが近接状態に維持されている場合、デバイスA及びデバイスBは、再度、認証処理を実行する(S205)。認証処理により、デバイスAとデバイスBとの間の接続が確立されると、デバイスA及びデバイスBは、ネゴシエーション処理を実行する(S206)。このネゴシエーション処理では、S203aからS203cまでの処理と同様の処理が実行される。そして、デバイスAとデバイスBとの間で、ネゴシエーション処理により決定されたサービスが実行される(S207)。
図6に示したシーケンス図と同様に、接続されるデバイスの一方がフレキシブルモードに設定されている場合、ネゴシエーションにより決定されたサービスが実行され、サービスの実行が完了してデバイス間の接続が解除された場合、例えば所定の期間が経過した後、再度、デバイス間の接続が確立される。また、ネゴシエーション処理も再度実行され、ユーザが新たなサービスの開始を指示することなく、新たなサービスの提供が開始される。
図6及び図7に示すシーケンス図では、接続されるデバイスの一方がフレキシブルモードに設定されている場合、ユーザは、デバイスAとデバイスBとを近づけるだけで、デバイス間のサービスの提供を開始させることができる。すなわち、デバイスAとデバイスBとが近接状態に設定されることにより、自動的にデバイス間の認証処理及びネゴシエーション処理が実行され、デバイス間でサービスの提供を開始することができる。
しかし、上述のように自動的にサービスの提供が開始される場合、ユーザによる操作の手間を省くことができる一方で、単に近接状態で放置されているデバイス間でもサービスの提供が開始されてしまい、ユーザが望まないサービスが実行されてしまう可能性がある。例えば、ユーザにより指定されたアプリケーションに応じたサービスが、近接状態に設定されたデバイス間で実行された後、近接状態のまま放置されたデバイス間で、新たなサービスの提供が開始されたり、新たなサービスの開始を促すサービスのリストがユーザへ提示されたりする可能性がある。この場合ユーザは、開始された新たなサービスの提供を停止させる操作等を行う必要があり、これはユーザにとって煩雑な作業であるといえる。このため、ユーザによるサービスの開始要求があった場合にのみ、サービスの提供を開始するようにデバイスを制御する必要がある。
図8乃至図11は、電子機器10と外部デバイスとの間で実行される近接無線通信の例を示すシーケンス図である。本実施形態の電子機器10は、ユーザによるサービスの開始要求があった場合にサービスの提供を開始するように、近接無線通信デバイス104を制御する。
図8は、デバイス間で一つのサービスの提供が完了した後、通信が切断される場合のシーケンス図を示す。ここでは、プロアクティブモードに設定されたデバイスAからフレキシブルモードに設定されたデバイスBへ、サービスの開始要求が送信されることを想定する。なお、初期状態では、デバイスAはリアクティブモードに設定され、デバイスBはフレキシブルモードに設定されている。また、デバイスBでは、デバイス間のサービスの提供が完了したことを示す通信完了フラグが落とされた状態(リセット状態)に設定されている。
まず、ユーザは、近接無線通信を行うアプリケーションプログラムをデバイスA上で選択し、デバイスAとデバイスBとを近づけて(タッチ操作)、近接状態に設定する(S301)。アプリケーションプログラムが選択されたデバイスAは、外部デバイスからサービスの開始要求を受信するリアクティブモードから、外部デバイスへサービスの開始要求を送信するプロアクティブモードへ遷移する。
次に、デバイスA及びデバイスBは、デバイスAとデバイスBとの間の接続(CNL接続)を確立するための処理(認証処理)を実行する(S302)。例えば、デバイスAは、接続要求を送信する。この接続要求を受信したデバイスBは、接続要求に対する応答をデバイスAへ送信する。以上の処理により、デバイスAとデバイスBとの間で接続が確立される。
接続を確立したデバイスAとデバイスBとは、ネゴシエーション処理を実行する(S303)。ネゴシエーション処理では、図6のS103aからS103cまでの処理と同様に、デバイスA及びデバイスBは、モード調停、サービスネゴシエーション、及びサービス同期を実行する。
具体的には、フレキシブルモードに設定されたデバイスBは、通信相手のデバイスであるデバイスAに設定されたモードに応じて、自身のモードを遷移させるモード調停を実行する。ここでは、デバイスAがプロアクティブモードに設定されているため、デバイスBは、自身のモードをフレキシブルモードからリアクティブモードへ遷移させる。そして、デバイスA及びデバイスBは、デバイスAとデバイスBとの間で実行するサービスを決定するサービスネゴシエーションを実行する。ここでは、プロアクティブモードに設定されたデバイスAで指定されたサービス、すなわち、ユーザにより選択されたアプリケーションプログラムに対応するサービスが、デバイスAとデバイスBとの間で実行されるサービスとして決定される。また、デバイスA及びデバイスBは、決定されたサービスを実行するためのサービス同期を実行する。これにより、デバイスAとデバイスBとの間でサービスの実行が開始される。
上述のネゴシエーション処理が完了すると、デバイスAとデバイスBとの間でサービスが実行され、データの送受信等の通信が行われる(S304)。そして、サービスの実行が完了すると、デバイスAはプロアクティブモードからリアクティブモードへ遷移し、デバイスBは、リアクティブモードからフレキシブルモードへ遷移する。また、デバイスBは、サービスの実行が完了したことを示す通信完了フラグを立てる(フラグセット)。なお、デバイスAとデバイスBとの間の接続(CNL接続)は維持されている。
デバイスBは、通信完了フラグが立っている期間中、新たなサービスの提供を開始するための処理を待つ待機処理を実行する。換言すると、デバイスBは、通信完了フラグが立っている期間中、新たなサービスの提供の開始を待つウェイト状態に設定される。
そして、デバイスAとデバイスBとが離され、近接状態が解除された場合、デバイスAとデバイスBとの間の接続が切断される。デバイスAとデバイスBとの間の接続が切断されたことに応答して、デバイスBは通信完了フラグを落とす。
以上の処理により、デバイス間でのサービスの実行が完了してから、デバイス同士が離される(デバイス間の近接状態が解除される)までの間に、不要なサービスの提供が開始されることを抑制できる。
図9は、デバイス間で一つのサービスの提供が完了した後、通信が切断される場合の別のシーケンス図を示す。ここでは、フレキシブルモードに設定されたデバイスBからリアクティブモードに設定されたデバイスAへ、サービスの開始要求が送信されることを想定する。なお、初期状態では、デバイスAはリアクティブモードに設定され、デバイスBはフレキシブルモードに設定されている。また、デバイスBでは、デバイス間のサービスの提供が完了したことを示す通信完了フラグが落とされた状態に設定されている。
まず、ユーザは、デバイスAとデバイスBとを近づけて(タッチ操作)、近接状態に設定する(S401)。次に、デバイスA及びデバイスBは、デバイスAとデバイスBとの間の接続(CNL接続)を確立するための処理(認証処理)を実行する(S402)。具体的には、デバイスBは、接続要求を送信する。この接続要求を受信したデバイスAは、接続要求に対する応答をデバイスBへ送信する。以上の処理により、デバイスAとデバイスBとの間で接続が確立される。
接続を確立したデバイスAとデバイスBとは、ネゴシエーション処理を実行する(S403)。ネゴシエーション処理では、図7のS203aからS203cまでの処理と同様に、デバイスA及びデバイスBは、モード調停、サービスネゴシエーション、及びサービス同期を実行する。
具体的には、フレキシブルモードに設定されたデバイスBは、通信相手のデバイスであるデバイスAに設定されたモードに応じて、自身のモードを遷移させるモード調停を実行する。ここでは、デバイスAがリアクティブモードに設定されているため、デバイスBは、自身のモードをフレキシブルモードからプロアクティブモードへ遷移させる。そして、デバイスA及びデバイスBは、デバイスAとデバイスBとの間で実行するサービスを決定するサービスネゴシエーションを実行する。具体的には、デバイスBは、デバイスAに対して、デバイスAが提供し得るサービス群を示す情報を要求する。デバイスBは、デバイスAが提供し得るサービス群の情報をデバイスAから受信すると、このサービス群に含まれる各サービスを列挙したリストをユーザへ提示する。そして、ユーザは提示されたサービスのリストから利用したいサービスを選択する。これにより、デバイスAとデバイスBとの間で実行するサービスが決定される。なお、デバイスAとデバイスBとの間で実行するサービスは、予め決められたサービスであってもよい。次いで、デバイスA及びデバイスBは、決定されたサービスを実行するためのサービス同期を実行する。これにより、デバイスAとデバイスBとの間でサービスの実行が開始される。
上述のネゴシエーション処理が完了すると、デバイスAとデバイスBとの間でサービスが実行され、データの送受信等の通信が行われる(S404)。そして、サービスの実行が完了すると、デバイスBは、プロアクティブモードからフレキシブルモードへ遷移する。また、デバイスBは、サービスの実行が完了したことを示す通信完了フラグを立てる。なお、デバイスAとデバイスBとの間の接続(CNL接続)は維持されている。
デバイスBは、通信完了フラグが立っている期間中、新たなサービスの提供を開始するための処理を待つ待機処理を実行する。換言すると、デバイスBは、通信完了フラグが立っている期間中、新たなサービスの提供の開始を待つウェイト状態に設定される。
そして、デバイスAとデバイスBとが離され、近接状態が解除された場合、デバイスAとデバイスBとの間の接続が切断される。デバイスAとデバイスBとの間の接続が切断されたことに応答して、デバイスBは、通信完了フラグを落とす。
以上の処理により、デバイス間でのサービスの実行が完了してから、デバイス同士が離される(デバイス間の近接状態が解除される)までの間に、不要なサービスの提供が開始されることを抑制できる。
また、図10は、デバイス間で一つのサービスの提供が完了した後、ユーザによる要求に応じて、新たなサービスが提供される場合のシーケンス図を示す。ここでは、フレキシブルモードに設定されたデバイスBからリアクティブモードに設定されたデバイスAへ、サービスの開始要求が送信されることを想定する。なお、初期状態では、デバイスAはリアクティブモードに設定され、デバイスBはフレキシブルモードに設定されている。また、デバイスBでは、デバイス間のサービスの提供が完了したことを示す通信完了フラグが落とされた状態に設定されている。
まず、ユーザは、デバイスAとデバイスBとを近づけて(タッチ操作)、近接状態に設定する(S501)。次に、デバイスA及びデバイスBは、デバイスAとデバイスBとの間の接続(CNL接続)を確立するための認証処理を実行する(S502)。例えば、デバイスBは、接続要求を送信する。この接続要求を受信したデバイスAは、接続要求に対する応答をデバイスBへ送信する。以上の処理により、デバイスAとデバイスBとの間で接続が確立される。
接続を確立したデバイスAとデバイスBとは、ネゴシエーション処理を実行する(S503)。ネゴシエーション処理では、図7のS203aからS203cまでの処理と同様に、デバイスA及びデバイスBは、モード調停、サービスネゴシエーション、及びサービス同期を実行する。
具体的には、フレキシブルモードに設定されたデバイスBは、通信相手のデバイスであるデバイスAに設定されたモードに応じて、自身のモードを遷移させるモード調停を実行する。ここでは、デバイスAがリアクティブモードに設定されているため、デバイスBは、自身のモードをフレキシブルモードからプロアクティブモードへ遷移させる。そして、デバイスA及びデバイスBは、デバイスAとデバイスBとの間で実行するサービスを決定するサービスネゴシエーションを実行する。具体的には、デバイスBは、デバイスAに対して、デバイスAが提供し得るサービス群を示す情報を要求する。デバイスBは、デバイスAが提供し得るサービス群の情報をデバイスAから受信すると、このサービス群に含まれる各サービスを列挙したリストをユーザへ提示する。そして、ユーザは提示されたサービスのリストから利用したいサービスを選択する。これにより、デバイスAとデバイスBとの間で実行するサービスが決定される。なお、デバイスAとデバイスBとの間で実行するサービスは、予め決められた所定のサービスであってもよい。次いで、デバイスA及びデバイスBは、決定されたサービスを実行するためのサービス同期を実行する。これにより、デバイスAとデバイスBとの間でサービスの実行が開始される。
上述のネゴシエーション処理が完了すると、デバイスAとデバイスBとの間でサービスが実行され、データの送受信等の通信が行われる(S504)。そして、サービスの実行が完了すると、デバイスBは、プロアクティブモードからフレキシブルモードへ遷移する。また、デバイスBは、サービスの実行が完了したことを示す通信完了フラグを立てる。なお、デバイスAとデバイスBとの間の接続(CNL接続)は維持されている。
デバイスBは、通信完了フラグが立っている期間中、新たなサービスの提供を開始するための処理を待つ待機処理を実行する。換言すると、デバイスBは、通信完了フラグが立っている期間中、新たなサービスの提供の開始を待つウェイト状態に設定される。
通信完了フラグが立っている期間中に、ユーザによるウェイト解除要求が入力された場合、デバイスBは、このウェイト解除要求に応答してデバイスBのウェイト状態を解除する(S505)。また、デバイスBは、通信完了フラグを落とす。ウェイト解除要求は、例えば、ユーザがアプリケーションを選択することによって入力される。
そして、デバイスA及びデバイスBは、再度、ネゴシエーション処理を実行する(S506)。このネゴシエーション処理では、S503のネゴシエーション処理と同様の処理が実行される。したがって、デバイスA及びデバイスBは、モード調停、サービスネゴシエーション、及びサービス同期の処理を実行する。
ネゴシエーション処理が完了すると、デバイスAとデバイスBとの間でサービスが実行され、データの送受信等の通信が行われる(S507)。そして、サービスの実行が完了すると、デバイスBは、プロアクティブモードからフレキシブルモードへ遷移する。また、デバイスBは、サービスの実行が完了したことを示す通信完了フラグを立てる。なお、デバイスAとデバイスBとの間の接続(CNL接続)は維持される。
以上の処理により、デバイス間でのサービスの実行が完了してから、ユーザがデバイスB上でウェイト解除要求を入力するまでの間に、不要なサービスの提供が開始されることを抑制することができる。換言すると、デバイス間でのサービスの実行が完了した後、ユーザがサービス開始要求を入力したことに応答して、サービスの提供を開始させることができる。
図11は、デバイス間で一つのサービスの提供が完了した後、ユーザによる要求に応じて、新たなサービスが提供される場合の別のシーケンス図を示す。ここでは、プロアクティブモードに設定されたデバイスAからフレキシブルモードに設定されたデバイスBへ、サービスの開始要求が送信されることを想定する。なお、初期状態では、デバイスAはリアクティブモードに設定され、デバイスBはフレキシブルモードに設定されている。また、デバイスBでは、デバイス間のサービスの提供が完了したことを示す通信完了フラグが落とされた状態に設定されている。
まず、ユーザは、近接無線通信を行うアプリケーションプログラムをデバイスA上で選択し、デバイスAとデバイスBとを近づけて(タッチ操作)、近接状態に設定する(S601)。アプリケーションプログラムが選択されたデバイスAは、外部デバイスからサービスの開始要求を受信するリアクティブモードから、外部デバイスへサービスの開始要求を送信するプロアクティブモードへ遷移する。
次に、デバイスA及びデバイスBは、デバイスAとデバイスBとの間の接続(CNL接続)を確立するための処理(認証処理)を実行する(S602)。例えば、デバイスAは、接続要求を送信する。この接続要求を受信したデバイスBは、接続要求に対する応答をデバイスAへ送信する。以上の処理により、デバイスAとデバイスBとの間で接続が確立される。
接続を確立したデバイスAとデバイスBとは、ネゴシエーション処理を実行する(S603)。ネゴシエーション処理では、図6のS103aからS103cまでの処理と同様に、デバイスA及びデバイスBは、モード調停、サービスネゴシエーション、及びサービス同期を実行する。
具体的には、フレキシブルモードに設定されたデバイスBは、通信相手のデバイスであるデバイスAに設定されたモードに応じて、自身のモードを遷移させるモード調停を実行する。ここでは、デバイスAがプロアクティブモードに設定されているため、デバイスBは、自身のモードをフレキシブルモードからリアクティブモードへ遷移させる。そして、デバイスA及びデバイスBは、デバイスAとデバイスBとの間で実行するサービスを決定するサービスネゴシエーションを実行する。ここでは、プロアクティブモードに設定されたデバイスAで指定されたサービス、すなわち、ユーザにより選択されたアプリケーションプログラムに対応するサービスが、デバイスAとデバイスBとの間で実行されるサービスとして決定される。また、デバイスA及びデバイスBは、決定されたサービスを実行するためのサービス同期を実行する。これにより、デバイスAとデバイスBとの間でサービスの実行が開始される。
上述のネゴシエーション処理が完了すると、デバイスAとデバイスBとの間でサービスが実行され、データの送受信等の通信が行われる(S604)。そして、サービスの実行が完了すると、デバイスAはプロアクティブモードからリアクティブモードへ遷移し、デバイスBは、リアクティブモードからフレキシブルモードへ遷移する。また、デバイスBは、サービスの実行が完了したことを示す通信完了フラグを立てる。なお、デバイスAとデバイスBとの間の接続(CNL接続)は維持されている。
デバイスBは、通信完了フラグが立っている期間中、新たなサービスの提供を開始するための処理を待つ待機処理を実行する。換言すると、デバイスBは、通信完了フラグが立っている期間中、新たなサービスの提供の開始を待つウェイト状態に設定される。
通信完了フラグが立っている期間中に、ユーザがデバイスA上で近接無線通信を行うアプリケーションプログラムを選択すると、デバイスAは、デバイスBへサービス開始要求を送信する(S605)。デバイスBは、デバイスAから受信したサービス開始要求に応答してデバイスBのウェイト状態を解除する。また、デバイスBは、通信完了フラグを落とす。そして、デバイスA及びデバイスBは、再度、ネゴシエーション処理を実行する(S606)。このネゴシエーション処理では、S603のネゴシエーション処理と同様の処理が実行される。したがって、デバイスA及びデバイスBは、モード調停、サービスネゴシエーション、及びサービス同期の処理を実行する。
ネゴシエーション処理が完了すると、デバイスAとデバイスBとの間でサービスが実行され、データの送受信等の通信が行われる(S607)。デバイスAはプロアクティブモードからリアクティブモードへ遷移し、デバイスBは、リアクティブモードからフレキシブルモードへ遷移する。また、デバイスBは、サービスの実行が完了したことを示す通信完了フラグを立てる。なお、デバイスAとデバイスBとの間の接続(CNL接続)は維持されている。
以上の処理により、デバイス間でのサービスの実行が完了してから、デバイスBがデバイスAからのサービス開始要求を受信するまでの間に、不要なサービスの提供が開始されることを抑制することができる。換言すると、デバイス間でのサービスの実行が完了した後、ユーザがサービス開始要求を入力したことに応答して、サービスの提供を開始させることができる。
図12は、電子機器10による近接無線通信の状態遷移の例を示す状態遷移図である。
電子機器10は、外部デバイスと近接状態に設定された場合、CNL接続が切断された状態である切断状態60からCNL接続が確立された状態であるCNL接続確立状態61へ遷移する。CNL接続確立状態61は、その中でさらに、ネゴシエーション状態611、サービス実行状態612、及びウェイト状態613のいずれかの状態として定義される。すなわち、CNL接続確立状態61である間、電子機器10は、ネゴシエーション状態611、サービス実行状態612、及びウェイト状態613を遷移する。
切断状態60からCNL接続確立状態61へ遷移した場合、電子機器10は、まず、ネゴシエーション状態611に入る。ネゴシエーション状態611では、上述したように、モード同定、サービスネゴシエーション、サービス同期等のネゴシエーション処理が実行される。このネゴシエーション処理が完了したことに応答して、電子機器10は、ネゴシエーション状態611からサービス実行状態612へ遷移する。
サービス実行状態612では、ネゴシエーション処理で決定されたサービスに応じた処理が実行される。そして、サービスの実行が完了したことに応答して、電子機器10は、サービス実行状態612からウェイト状態613へ遷移する。
ウェイト状態613では、ユーザによるサービス開始要求(ウェイト解除要求)の入力(上位アプリケーションからの要求)や外部デバイスからのサービス開始要求の受信等のイベントが発生するまで、サービスの開始を待つ待機処理が実行される。したがって、ユーザによりサービス開始要求が入力されたこと、又は外部デバイスからサービス開始要求を受信したことに応答して、電子機器10は、ウェイト状態613からネゴシエーション状態611へ遷移する。
なお、電子機器10がCNL接続確立状態61である期間中、すなわち、ネゴシエーション状態611、サービス実行状態612、ウェイト状態613のいずれかの状態である期間中に、電子機器10と外部デバイスとの近接状態が解除された場合、電子機器10と外部デバイスとの間の接続が解除され、電子機器10は切断状態60へ遷移する。
上述のように、電子機器10は、サービス実行状態612で指定されたサービスを実行した後、ウェイト状態613へ遷移する。このウェイト状態613において、電子機器10は、ユーザや外部デバイスからのサービス開始要求があるまで、新たなサービスを開始するためのネゴシエーション処理を実行することを待つ。これにより、近接状態に設定されたデバイス間で、不要なサービスの実行が開始されることを抑制することができる。なお、図8乃至図11を参照して説明した通信完了フラグに基づく待機処理を、図12に示すような状態遷移に基づいて行ってもよい。その場合、電子機器10は、通信相手のデバイスとの近接無線通信の状態の遷移を管理し、各状態に応じた処理を実行する。状態がウェイト状態613に遷移した場合には、上述のように、新たなサービスを開始するための処理を待つ待機処理を実行することで、通信完了フラグに基づく待機処理を実行した場合と同様の効果を得ることができる。
次に、図13を参照して、各デバイスのPCL40に設定されるモードとデバイス間で実行されるサービスとの関係を説明する。ここでは、デバイスAとデバイスBとの間でサービスが実行されることを想定する。デバイスAのプロトコル変換層40、及びデバイスBのプロトコル変換層40は、それぞれ、プロアクティブモード、フレキシブルモード、及びリアクティブモードのいずれかのモードに設定される。
まず、デバイスAがプロアクティブモードに設定されている場合に着目して説明する。
デバイスAがプロアクティブモードに設定され、且つデバイスBがプロアクティブモードに設定されている場合、デバイスAとデバイスBのいずれのデバイスも、サービス開始要求を通信相手のデバイスへ送信するが、通信相手のデバイスによるサービス開始要求には応答しない。このため、デバイスAとデバイスBとの間でサービスは開始されず、エラーとなる。
デバイスAがプロアクティブモードに設定され、且つデバイスBがフレキシブルモードに設定されている場合、デバイスAとデバイスBのいずれのデバイスも、サービス開始要求を通信相手のデバイスへ送信する。また、フレキシブルモードに設定されたデバイスBは、デバイスAからのサービス開始要求を受信し、フレキシブルモードからリアクティブモードへ遷移し、デバイスAへサービス開始要求に対する応答を返す。したがって、デバイスAとデバイスBとの間では、プロアクティブモードに設定されたデバイスAで指定されたサービスが実行される。
デバイスAがプロアクティブモードに設定され、且つデバイスBがリアクティブモードに設定されている場合、デバイスAはサービスの開始要求を通信相手のデバイスへ送信する。また、リアクティブモードに設定されたデバイスBは、このサービス開始要求を受信し、デバイスAへサービス開始要求に対する応答を返す。したがって、デバイスAとデバイスBとの間では、プロアクティブモードに設定されたデバイスAで指定されたサービスが実行される。
次に、デバイスAがフレキシブルモードに設定されている場合について説明する。
デバイスAがフレキシブルモードに設定され、且つデバイスBがプロアクティブモードに設定されている場合、デバイスAとデバイスBのいずれのデバイスも、サービス開始要求を通信相手のデバイスへ送信する。また、フレキシブルモードに設定されたデバイスAは、デバイスBからのサービス開始要求を受信し、フレキシブルモードからリアクティブモードへ遷移し、デバイスBへサービス開始要求に対する応答を返す。したがって、デバイスAとデバイスBとの間では、プロアクティブモードに設定されたデバイスBで指定されたサービスが実行される。
デバイスAがフレキシブルモードに設定され、且つデバイスBがフレキシブルモードに設定されている場合、デバイスAとデバイスBのいずれのデバイスも、サービス開始要求を通信相手のデバイスへ送信する。しかし、自身のモードがフレキシブルモードに設定され、且つ通信相手のデバイスのモードもフレキシブルモードに設定されているため、デバイスAとデバイスBとの間でサービスは開始されず、エラーとなる。
デバイスAがフレキシブルモードに設定され、且つデバイスBがリアクティブモードに設定されている場合、デバイスAは、サービス開始要求を通信相手のデバイスへ送信する。リアクティブモードに設定されたデバイスBは、デバイスAからのサービス開始要求を受信し、デバイスAへサービス開始要求に対する応答を返す。そして、デバイスAは、フレキシブルモードからプロアクティブモードへ遷移する。デバイスAとデバイスBとの間では、プロアクティブモードに設定されたデバイスAで予め指定されたサービスが実行される。なお、デバイスBが実行し得るサービスのリストをデバイスA上でユーザへ提示し、デバイス間で実行するサービスをユーザが選択することもできる。
最後に、デバイスAがリアクティブモードに設定されている場合について説明する。
デバイスAがリアクティブモードに設定され、且つデバイスBがプロアクティブモードに設定されている場合、デバイスBは、サービス開始要求を通信相手のデバイスへ送信する。また、リアクティブモードに設定されたデバイスAは、デバイスBからのサービス開始要求を受信し、デバイスBへサービス開始要求に対する応答を返す。したがって、デバイスAとデバイスBとの間では、プロアクティブモードに設定されたデバイスBで指定されたサービスが実行される。
デバイスAがリアクティブモードに設定され、且つデバイスBがフレキシブルモードに設定されている場合、デバイスBは、サービス開始要求を通信相手のデバイスへ送信する。リアクティブモードに設定されたデバイスAは、デバイスBからのサービス開始要求を受信し、デバイスBへサービス開始要求に対する応答を返す。そして、デバイスBは、フレキシブルモードからプロアクティブモードへ遷移する。デバイスAとデバイスBとの間では、プロアクティブモードに設定されたデバイスBで予め指定されたサービスが実行される。なお、デバイスAが実行し得るサービスのリストをデバイスB上でユーザへ提示し、デバイス間で実行するサービスをユーザが選択することもできる。
なお、デバイスAがリアクティブモードに設定され、且つデバイスBがリアクティブモードに設定されている場合には、デバイスAとデバイスBのいずれのデバイスも、サービス開始要求を通信相手のデバイスへ送信しない。このため、デバイスAとデバイスBとの間でサービスは実行されない。
次に、図14のフローチャートを参照して、近接無線通信方式による通信処理の手順の例を説明する。
まず、電子機器10は、電子機器10と外部デバイスとが近づけられるタッチ操作が行われたかどうかを判定する(ステップS701)。具体的には、電子機器10は、外部デバイスへ接続要求を送信し、この接続要求に対する応答を外部デバイスから受信したかどうか、又は外部デバイスから接続要求を受信したかどうかを判定する。
電子機器10と外部デバイスとが近づけられるタッチ操作が行われた場合(ステップS701のYES)、電子機器10は、外部デバイスとの間で認証処理を実行する(ステップS702)。電子機器10は、通信相手のデバイスである外部デバイスを同定する。そして、電子機器10は、外部デバイスとの間でネゴシエーション処理を実行する(ステップS703)。ネゴシエーション処理では、電子機器10は、モード調停、サービスネゴシエーション、及びサービス同期の処理を実行する。具体的には、電子機器10は、モード調停により、PCL40に設定するモードを制御する。また、電子機器10は、電子機器10と外部デバイスとの間で実行するサービスを決定し、サービスを開始する。
ネゴシエーション処理が完了すると、電子機器10は、ネゴシエーション処理により決定されたサービスを実行する(ステップS704)。
次いで、電子機器10は、外部デバイスとの間で実行したサービスが完了したかどうかを判定する(ステップS705)。外部デバイスとの間で実行したサービスが完了した場合(ステップS705のYES)、電子機器10は、再度ステップS702以降の処理を繰り返す。つまり、電子機器10と外部デバイスとが近接状態に設定されている間、電子機器10と外部デバイスとの間でサービスの提供が繰り返される。
以上の処理により、近接状態に設定されたデバイス間で、サービスの提供を繰り返し行うことができる。しかし、一つのサービスが完了した後、自動的に新たなサービスの提供が開始される場合、ユーザによる操作の手間を省くことができる一方で、単に近接状態で放置されているデバイス間でもサービスの提供が開始されてしまい、予期せぬサービスが実行されてしまう可能性がある。図15は、サービスの開始要求があった場合にのみ、サービスの提供を開始するように近接無線通信デバイス104を制御する場合の通信処理の手順の例を示すフローチャートである。
まず、電子機器10は、電子機器10と外部デバイスとが近づけられるタッチ操作が行われたかどうかを判定する(ステップS801)。具体的には、電子機器10は、外部デバイスへ接続要求を送信し、この接続要求に対する応答を外部デバイスから受信したかどうか、又は外部デバイスから接続要求を受信したかどうかを判定する。
電子機器10と外部デバイスとが近づけられるタッチ操作が行われた場合(ステップS801のYES)、電子機器10は、外部デバイスとの間で認証処理を実行する(ステップS802)。電子機器10は、通信相手のデバイスである外部デバイスを同定する。そして、電子機器10は、外部デバイスとの間でネゴシエーション処理を実行する(ステップS803)。ネゴシエーション処理では、電子機器10は、モード調停、サービスネゴシエーション、及びサービス同期の処理を実行する。具体的には、電子機器10は、モード調停により、PCL40に設定するモードを制御する。また、電子機器10は、電子機器10と外部デバイスとの間で実行するサービスを決定し、サービスを開始する。
ネゴシエーション処理が完了すると、電子機器10は、ネゴシエーション処理により決定されたサービスを実行する(ステップS804)。
次いで、電子機器10は、外部デバイスとの間で実行したサービスが完了したかどうかを判定する(ステップS805)。外部デバイスとの間で実行したサービスが完了した場合(ステップS805のYES)、電子機器10は、サービスの完了を示すフラグを立てる(ステップS806)。つまり、電子機器10は、新たなサービスを開始するための処理を待つウェイト状態へ移行する。
ウェイト状態に移行した後、電子機器10は、新たなサービスの開始を要求するサービス開始要求のイベントが発生したかどうかを判定する(ステップS807)。サービス開始要求のイベントは、例えば、ユーザによりサービス開始要求が入力された場合や外部デバイスからサービス開始要求を受信した場合に発生する。
サービス開始要求のイベントが発生している場合(ステップS807のYES)、電子機器10は、フラグを落とす(ステップS808)。そして、電子機器10は、ウェイト状態を解除し、新たなサービスを開始するための処理を実行する。つまり、電子機器10は、ステップS803以降の処理を再度、実行する。
サービス開始要求のイベントが発生していない場合(ステップS807のNO)、電子機器10は、通信相手のデバイスとの近接状態が解除されていないかどうかを判定する(ステップS809)。具体的には、電子機器10は、通信相手のデバイスとの間で確立されたCNL接続が切断されていないかどうかを判定する。通信相手のデバイスとの近接状態が解除されていない場合(ステップS809のNO)、ステップS807以降の処理を再度、実行する。通信相手のデバイスとの近接状態が解除されている場合(ステップS809のYES)、電子機器10は、フラグを落とし、ウェイト状態を解除する(ステップS810)。
以上の処理により、デバイス間で一つのサービスの提供が完了した後、ユーザによるサービス開始要求があった場合にのみ新たなサービスの提供を開始し、不要なサービスが開始されることを抑制することができる。
以上説明したように、本実施形態によれば、不要なサービスの提供を抑制することができる。電子機器10と外部デバイスとが近接状態に設定された場合、電子機器10は、外部デバイスとのCNL接続を確立し、サービスの提供を開始するためのネゴシエーション処理を実行する。そして、電子機器10は、ネゴシエーション処理により決定されたサービスを実行する。サービスの実行が完了した場合、電子機器10は、ウェイト状態へ遷移し、ユーザにより入力されるサービス開始要求、又は外部デバイスから送信されるサービス開始要求を待つ。そして、サービス開始要求の入力(受信)に応答して、電子機器10は、新たなサービスを開始するための処理を実行する。上述の処理により、一つのサービスの実行が完了した後、ユーザによる指示なしに自動的に新たなサービスの提供が開始され、不要なサービスが実行されることを抑制することができる。
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
103a…近接無線通信制御プログラム、201…データ通信部、40…プロトコル変換層、401…制御部、402…CNL接続監視部、403…ネゴシエーション処理部、404…モード制御部、405…サービス処理部、406…待機処理部、410…データベース、410a…CNL接続状態、410b…接続モード、50…アプリケーション層、501…アプリケーション部。
Claims (8)
- 近接無線通信を実行する通信モジュールと、
前記通信モジュールと外部デバイスとが近接状態である場合に、前記通信モジュールと前記外部デバイスとの間の接続を確立する接続確立手段と、
前記通信モジュールと前記外部デバイスとの間の接続が確立されている場合に、前記通信モジュールと前記外部デバイスとの間におけるネゴシエーション処理によって、前記通信モジュールと前記外部デバイスとの間で実行するサービスを決定するネゴシエーション手段と、
前記決定されたサービスを実行するサービス実行手段と、
前記決定されたサービスの実行が完了した後、ユーザによる要求又は前記外部デバイスからの要求までの間、前記ネゴシエーション処理の実行を待機する待機制御手段とを具備することを特徴とする電子機器。 - 前記決定されたサービスの実行が完了した場合、実行完了を示すフラグをセットし、前記通信モジュールと前記外部デバイスとの間の接続が確立されている場合、ユーザによる要求又は前記外部デバイスからの要求に応答して、前記フラグをリセットするフラグ設定手段をさらに具備し、
前記待機制御手段は、前記フラグがセットされている間、前記ネゴシエーション処理の実行を待機することを特徴とする請求項1記載の電子機器。 - 近接無線通信を実行する通信モジュールと、
外部デバイスが、通信相手のデバイスへサービスの開始要求を送信する第一のモード、又は通信相手のデバイスからサービスの開始要求を受信する第二のモードのいずれかであるかを判定する処理と、前記外部デバイスが前記第一のモードに設定されている場合、前記外部デバイスからサービスの開始要求を受信する処理と、前記外部デバイスが前記第二のモードに設定されている場合、前記外部デバイスへサービスの開始要求を送信し、前記通信モジュールと前記外部デバイスとの間で実行するサービスを決定する処理とを含むネゴシエーション処理を実行するネゴシエーション手段と、
前記決定されたサービスを実行するサービス実行手段と、
前記決定されたサービスの実行が完了した後、ユーザによる要求又は前記外部デバイスからの要求までの間、前記ネゴシエーション処理の実行を待機する待機制御手段とを具備することを特徴とする電子機器。 - 前記ネゴシエーション手段は、前記外部デバイスが前記第二のモードに設定されている場合、前記外部デバイスへサービスの開始要求を送信し、前記外部デバイスから前記外部デバイスが実行し得るサービス群を示す情報を受信し、前記サービス群から選択されたサービスを、前記通信モジュールと前記外部デバイスとの間で実行するサービスに決定し、
前記待機制御手段は、前記決定されたサービスの実行が完了した後、ユーザによる要求又は前記外部デバイスからの要求までの間、前記ネゴシエーション処理の実行を待機することを特徴とする請求項3記載の電子機器。 - 前記ネゴシエーション手段は、前記外部デバイスが前記第一のモードに設定されている場合、前記外部デバイスからサービスの開始要求を受信し、前記外部デバイスで指定されたサービスを示す情報を受信し、当該サービスを前記通信モジュールと前記外部デバイスとの間で実行するサービスに決定し、
前記待機制御手段は、前記決定されたサービスの実行が完了した後、ユーザによる要求又は前記外部デバイスからの要求までの間、前記ネゴシエーション処理の実行を待機することを特徴とする請求項3記載の電子機器。 - 前記ネゴシエーション手段は、ユーザによる要求に応答して、前記外部デバイスへサービスの開始要求を送信し、前記ユーザによる要求で指定されたサービスを前記通信モジュールと前記外部デバイスとの間で実行するサービスに決定し、
前記待機制御手段は、前記決定されたサービスの実行が完了した後、ユーザによる要求又は前記外部デバイスからの要求までの間、前記ネゴシエーション処理の実行を待機することを特徴とする請求項3記載の電子機器。 - 前記決定されたサービスの実行が完了した場合、サービスの実行完了を示すフラグをセットし、前記通信モジュールと前記外部デバイスとの間の接続が確立されている場合、ユーザによる要求又は前記外部デバイスからの要求に応答して、前記フラグをリセットするフラグ設定手段をさらに具備し、
前記待機制御手段は、前記フラグがセットされている間、前記ネゴシエーション処理の実行を待機することを特徴とする請求項3記載の電子機器。 - 近接無線通信を実行する通信モジュールを備える電子機器と外部デバイスとの間の通信を制御する通信制御方法であって、
前記通信モジュールと前記外部デバイスとが近接状態である場合に、前記通信モジュールと前記外部デバイスとの間の接続を確立する接続確立ステップと、
前記通信モジュールと前記外部デバイスとの間の接続が確立されている場合に、前記通信モジュールと前記外部デバイスとの間におけるネゴシエーション処理によって、前記通信モジュールと前記外部デバイスとの間で実行するサービスを決定するネゴシエーションステップと、
前記決定されたサービスを実行するサービス実行ステップと、
前記決定されたサービスの実行が完了した後、ユーザによる要求又は前記外部デバイスからの要求までの間、前記ネゴシエーション処理の実行を待機する待機制御ステップとを具備することを特徴とする通信制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010205909A JP5254294B2 (ja) | 2010-09-14 | 2010-09-14 | 電子機器及び通信制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010205909A JP5254294B2 (ja) | 2010-09-14 | 2010-09-14 | 電子機器及び通信制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009099056A Division JP4599449B2 (ja) | 2009-04-15 | 2009-04-15 | 電子機器及び通信制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011030250A JP2011030250A (ja) | 2011-02-10 |
JP5254294B2 true JP5254294B2 (ja) | 2013-08-07 |
Family
ID=43638349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010205909A Expired - Fee Related JP5254294B2 (ja) | 2010-09-14 | 2010-09-14 | 電子機器及び通信制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5254294B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011182110A (ja) | 2010-02-26 | 2011-09-15 | Toshiba Corp | 電子機器及び通信制御方法 |
JP5398800B2 (ja) * | 2011-08-31 | 2014-01-29 | 株式会社東芝 | 電子機器及び通信制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003198672A (ja) * | 2001-12-28 | 2003-07-11 | Toshiba Corp | 携帯通信端末およびその制御方法 |
JP2005208693A (ja) * | 2004-01-20 | 2005-08-04 | Matsushita Electric Works Ltd | 非接触idシステム |
JP2006197452A (ja) * | 2005-01-17 | 2006-07-27 | Matsushita Electric Ind Co Ltd | 無線通信端末装置およびその制御方法 |
JP4609550B2 (ja) * | 2008-08-20 | 2011-01-12 | ソニー株式会社 | 通信装置、通信システム、通信方法及びプログラム |
-
2010
- 2010-09-14 JP JP2010205909A patent/JP5254294B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011030250A (ja) | 2011-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4599449B2 (ja) | 電子機器及び通信制御方法 | |
JP4461192B1 (ja) | 電子機器および通信制御方法 | |
CN113473006B (zh) | 信息处理设备、图像拾取设备、信息处理系统、信息处理方法和非暂时性计算机可读介质 | |
JP4703758B2 (ja) | 電子機器および通信制御方法 | |
JP2010028753A (ja) | 通信装置および通信制御方法 | |
JP4550930B2 (ja) | 電子機器および通信状態報知機能制御方法 | |
US9124343B2 (en) | Electronic apparatus and communication control method | |
JP2006238329A (ja) | 接続制御装置、通信システムおよび接続制御方法 | |
JP4550929B2 (ja) | 電子機器および通信状態報知方法 | |
JP5254294B2 (ja) | 電子機器及び通信制御方法 | |
JP5450673B2 (ja) | 電子機器および通信制御方法 | |
JP4856270B2 (ja) | 電子機器及び通信制御方法 | |
JP5398800B2 (ja) | 電子機器及び通信制御方法 | |
JP4856265B2 (ja) | 電子機器および通信状態報知方法 | |
JP5010718B2 (ja) | 通信装置および通信制御方法 | |
WO2012111341A1 (ja) | 無線通信システム、無線通信装置及び無線通信方法 | |
JP2018042204A (ja) | 電子機器 | |
JP2013041351A (ja) | シンクライアントシステムのプログラム実行方法、携帯端末、およびサーバ装置 | |
JP5591649B2 (ja) | 電子機器及び通信制御方法 | |
JP5622602B2 (ja) | 電子機器及び通信制御方法 | |
JP2011160147A (ja) | 通信装置及び通信制御方法 | |
JP2011035939A (ja) | 無線通信装置及び無線通信方法 | |
JP4734466B2 (ja) | 電子機器および通信状態報知機能制御方法 | |
JP5254395B2 (ja) | 電子機器および通信状態報知機能制御方法 | |
JP2011045133A (ja) | 無線通信装置及び無線通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130321 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130417 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160426 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |