(57)【要約】【課題】近接無線通信を用いて外部デバイスとの通信を実行するアプリケーションを容易に切り換えることができる電子機器を実現する。【解決手段】セッション制御部３０２は、セッションＡが確立されている状態で別の通信プログラムＢからセッション開始要求を受信した場合、通信プログラムＡにセッションＡの切断を知らせることなく通信アダプタモジュールＡを停止することによって、セッションＡを一時的に切断すると共に、通信アダプタモジュールＡを示すセッション情報を保存する。次にセッション制御部３０２は、通信アダプタモジュールＢを起動することによって、通信プログラムＢと外部デバイスとの間のセッションＢを確立する。セッションＢが終了した時、セッション復元部３０３は、保存されたセッション情報に基づいて通信アダプタモジュールＡを起動してセッションＡを自動的に復元する。【選択図】図４
2010251846.tif 000002
【特許請求の範囲】
【請求項１】
近接状態の外部デバイスとの接続を確立し前記外部デバイスとの近接無線通信を実行する通信モジュールと、
複数のアプリケーションプロトコルそれぞれに対応する複数種のデータを特定の伝送用データ形式に変換する複数の変換モジュールを含む通信アダプタ手段と、
アプリケーション層の第１の通信プログラムから送信されるセッション開始要求に応答して、前記第１の通信プログラムのアプリケーションプロトコルに対応する、前記複数の変換モジュール内の第１の変換モジュールを起動することによって、前記第１の通信プログラムと前記外部デバイスとの間の第１のセッションを確立するセッション確立手段と、
前記第１のセッションが確立されている状態で前記アプリケーション層の第２の通信プログラムからセッション開始要求を受信した場合、前記第１のセッションの切断を前記第１の通信プログラムに通知することなく前記第１の変換モジュールを停止することによって、前記第１のセッションを一時的に切断する処理と、前記第１の変換モジュールを示すセッション情報を保存する処理と、前記第２の通信プログラムのアプリケーションプロトコルに対応する、前記複数の変換モジュール内の第２の変換モジュールを起動することによって、前記第２の通信プログラムと前記外部デバイスとの間の第２のセッションを確立する処理とを実行するセッション制御手段と、
前記第２のセッションが終了した場合、前記保存されたセッション情報に基づいて前記第１の変換モジュールを起動することによって、前記第１のセッションをデータ伝送可能な状態に復元するセッション復元手段とを具備することを特徴とする電子機器。
【請求項２】
前記セッション制御手段は、前記第１のセッションが一時的に切断された後に前記第１の通信プログラムから送信されるデータを受信した場合、前記受信したデータをバッファに格納し、前記第１のセッションが復元された場合、前記バッファに格納されたデータを前記第１の変換モジュールに出力することを特徴とする請求項１記載の電子機器。
【請求項３】
前記セッション制御手段は、前記第２のセッションが確立されている状態で前記アプリケーション層の第３の通信プログラムからセッション開始要求を受信した場合、前記第２のセッションの切断を前記第２の通信プログラムに通知することなく、前記第２の変換モジュールを停止することによって前記第２のセッションを一時的に切断する処理と、前記第２の変換モジュールを示すセッション情報を保存する処理と、前記第３の通信プログラムのアプリケーションプロトコルに対応する、前記複数の変換モジュール内の第３の変換モジュールを起動することによって、前記第３の通信プログラムと前記外部デバイスとの間の第３のセッションを確立する処理とを実行し、
前記セッション復元手段は、前記第３のセッションが終了した場合、前記保存された前記第２の変換モジュールを示すセッション情報に基づいて前記第２の変換モジュールを起動することによって、前記第２のセッションをデータ伝送可能な状態に復元することを特徴とする請求項１記載の電子機器。
【請求項４】
前記セッション制御手段は、前記第１のセッションが確立されている状態で前記第２の通信プログラムからセッション開始要求を受信した場合、前記第１の変換モジュールを示すセッション情報を前記外部デバイスに通知して前記第１のセッションを一時的に切断する処理の実行を前記外部デバイスに要求することを特徴とする請求項１記載の電子機器。
【請求項５】
前記セッション復元手段は、前記第２のセッションが終了した場合、前記第１の変換モジュールを示すセッション情報を前記外部デバイスに通知して前記第１のセッションを復元する処理の実行を前記外部デバイスに要求することを特徴とする請求項１記載の電子機器。
【請求項６】
電子機器に設けられた通信モジュールと外部デバイスとの間で実行される近接無線通信を制御する通信制御方法であって、
アプリケーション層の第１の通信プログラムから送信されるセッション開始要求に応答して、前記第１の通信プログラムのアプリケーションプロトコルに対応するデータを特定の伝送用データ形式に変換する第１の変換モジュールを起動することによって、前記第１の通信プログラムと前記外部デバイスとの間の第１のセッションを確立するセッション確立ステップと、
前記第１のセッションが確立されている状態で前記アプリケーション層の第２の通信プログラムからセッション開始要求を受信した場合、前記第１のセッションの切断を前記第１の通信プログラムに通知することなく前記第１の変換モジュールを停止することによって、前記第１のセッションを一時的に切断する処理と、前記第１の変換モジュールを示すセッション情報を保存する処理と、前記第２の通信プログラムのアプリケーションプロトコルに対応するデータを前記特定の伝送用データ形式に変換する第２の変換モジュールを起動することによって、前記第２の通信プログラムと前記外部デバイスとの間の第２のセッションを確立する処理とを実行するセッション制御ステップと、
前記第２のセッションが終了した場合、前記保存されたセッション情報に基づいて前記第１の変換モジュールを起動することによって、前記第１のセッションをデータ伝送可能な状態に復元するセッション復元ステップとを具備することを特徴とする通信制御方法。
【請求項７】
前記第１のセッションが一時的に切断された後に前記第１の通信プログラムから送信されるデータを受信した場合、前記受信したデータをバッファに格納するステップと、
前記第１のセッションが復元された場合、前記バッファに格納されたデータを前記第１の変換モジュールに出力するステップとをさらに具備することを特徴とする請求項６記載の通信制御方法。
【請求項８】
前記第２のセッションが確立されている状態で前記アプリケーション層の第３の通信プログラムからセッション開始要求を受信した場合、前記第２のセッションの切断を前記第２の通信プログラムに通知することなく、前記第２の変換モジュールを停止することによって前記第２のセッションを一時的に切断する処理と、前記第２の変換モジュールを示すセッション情報を保存する処理と、前記第３の通信プログラムのアプリケーションプロトコルに対応する、前記複数の変換モジュール内の第３の変換モジュールを起動することによって、前記第３の通信プログラムと前記外部デバイスとの間の第３のセッションを確立する処理とを実行するステップと、
前記第３のセッションが終了した場合、前記保存された前記第２の変換モジュールを示すセッション情報に基づいて前記第２の変換モジュールを起動することによって、前記第２のセッションをデータ伝送可能な状態に復元するステップとをさらに具備することを特徴とする請求項６記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は近接無線通信を実行する電子機器および同機器に適用される通信制御方法に関する。
【背景技術】
【０００２】
近年、ＩＣカード、携帯電話機等においては、ＮＦＣのような無線通信が利用され始めている。ユーザは、ＩＣカードまたは携帯電話をホスト装置のリーダ／ライタ部にかざすといった操作を行うだけで、認証処理、課金等のための通信を容易に行うことが出来る。
【０００３】
最近では、より高速の通信が可能な新たな近接無線通信技術が開発され始めている。この新たな近接無線通信技術は、デバイス同士を近づけるだけで、認証、課金サービスのみならず、文書データ、画像データ、オーディオデータといったデータファイルをそれらデバイス間で交換することを可能にする。
【０００４】
特許文献１には、分散型コンピュータネットワーク内の仮想チェインを確立するシステムが開示されている。このシステムは、２つのサーバ間で通信を行う場合に、それらサーバ間の各中間ノードの制御ブロック資源を用いて仮想チェインを確立する。この仮想チェインの確立により、各中間ノードで必要とされる情報量を削減することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２５０５０６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のシステムは分散型コンピュータネットワークに関するものであり、近接状態に設定された２つのデバイス間でデータ転送を行う近接無線通信については何ら考慮されていない。
【０００７】
近接無線通信システムでは、近接状態に設定された２つのデバイス間で直接的に通信が実行される。一方のデバイスのアプリケーション（通信プログラム）と他方のデバイスのアプリケーション（通信プログラム）との間にはセッションが確立され、このセッションを介してアプリケーション間の通信が実行される。
【０００８】
しかし、通常、近接無線通信システムでは、同時に使用可能なセッションは１つのみに限られている。このため、あるアプリケーション（Ａ）が通信を実行している期間中に別のアプリケーション（Ｂ）を用いて通信を行うためには、通信中のセッションを一旦切断しなければなららない。この場合、ユーザは、例えば、アプリケーション（Ａ）を一旦終了するといった操作を行うことが必要となる。また、アプリケーション（Ａ）を用いて再度通信を行う場合には、アプリケーション（Ａ）によって使用されるセッションを再度確立することが必要となる。この場合、ユーザは、例えば、アプリケーション（Ｂ）を終了し、アプリケーション（Ａ）を起動するといった操作を行うことが必要となる。
【０００９】
したがって、近接無線通信システムでは、通信に使用するアプリケーションの切り替えには、多くのユーザ操作が必要となる。
【００１０】
本発明は上述の事情を考慮してなされたものであり、近接無線通信を用いて外部デバイスとの通信を実行するアプリケーションを容易に切り換えることができる電子機器および通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述の課題を解決するために、本発明の電子機器は、近接状態の外部デバイスとの接続を確立し前記外部デバイスとの近接無線通信を実行する通信モジュールと、複数のアプリケーションプロトコルそれぞれに対応する複数種のデータを特定の伝送用データ形式に変換する複数の変換モジュールを含む通信アダプタ手段と、アプリケーション層の第１の通信プログラムから送信されるセッション開始要求に応答して、前記第１の通信プログラムのアプリケーションプロトコルに対応する、前記複数の変換モジュール内の第１の変換モジュールを起動することによって、前記第１の通信プログラムと前記外部デバイスとの間の第１のセッションを確立するセッション確立手段と、前記第１のセッションが確立されている状態で前記アプリケーション層の第２の通信プログラムからセッション開始要求を受信した場合、前記第１のセッションの切断を前記第１の通信プログラムに通知することなく前記第１の変換モジュールを停止することによって、前記第１のセッションを一時的に切断する処理と、前記第１の変換モジュールを示すセッション情報を保存する処理と、前記第２の通信プログラムのアプリケーションプロトコルに対応する、前記複数の変換モジュール内の第２の変換モジュールを起動することによって、前記第２の通信プログラムと前記外部デバイスとの間の第２のセッションを確立する処理とを実行するセッション制御手段と、前記第２のセッションが終了した場合、前記保存されたセッション情報に基づいて前記第１の変換モジュールを起動することによって、前記第１のセッションをデータ伝送可能な状態に復元するセッション復元手段とを具備することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、近接無線通信を用いて外部デバイスとの通信を実行するアプリケーションを容易に切り換えることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る電子機器のシステム構成を示すブロック図である。
【図２】同実施形態の電子機器と外部デバイスとの間で実行される近接無線通信の例を示す図。
【図３】同実施形態の電子機器に適用される、近接無線通信を制御するためのソフトエアアーキテクチャの例を示す図。
【図４】図３のソフトウェァアーキテクチャ内に含まれるＰＣＬの構成例を示すブロック図。
【図５】同実施形態の電子機器によってセッション開始時に実行される処理の手順の例を示すフローチャート。
【図６】同実施形態の電子機器によってセッション終了時に実行される処理の手順の例を示すフローチャート。
【図７】同実施形態の電子機器によって実行される通常セッション開始処理の手順の例を示すフローチャート。
【図８】同実施形態の電子機器によって実行される疑似セッション開始処理の手順の例を示すフローチャート。
【図９】同実施形態の電子機器によって実行される、疑似セッションを通常セッションに復元する処理の手順の例を示すフローチャート。
【図１０】同実施形態の電子機器によって実行される疑似セッション開始処理のシーケンスの例を示す図。
【図１１】同実施形態の電子機器によって実行される、疑似セッションを通常セッションに復元する処理のシーケンスの例を示す図。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を説明する。
【００１５】
図１は、本発明の一実施形態に係る電子機器の構成を示している。この電子機器１０は、例えば、携帯機器（例えば、携帯電話機、ＰＤＡ、オーディオプレーヤ等）、パーソナルコンピュータ、またはコンシューマ機器（例えば、ＴＶ、ビデオレコーダ等）として実現される。この電子機器１０は、システム制御部１０１、ＲＯＭ１０２、ＲＡＭ１０３、近接無線通信デバイス１０４、電源制御部１０５、ＡＣアダプタ１０６、およびバッテリ１０７を備える。
【００１６】
システム制御部１０１は、電子機器１０内の各部の動作を制御する。システム制御部１０１は、ＣＰＵ１０１ａを備え、ＲＯＭ１０２、ＲＡＭ１０３、近接無線通信デバイス１０４、および電源制御部１０５に接続される。
【００１７】
ＣＰＵ１０１ａは、ＲＯＭ１０２に格納された命令群およびデータをＲＡＭ１０３へロードし、必要な処理を実行するプロセッサである。ＲＡＭ１０３には、近接無線通信を制御するための近接無線通信制御プログラム１０３ａがロードされている。ＣＰＵ１０１ａは、ＲＡＭ１０３にロードされた近接無線通信制御プログラム１０３ａを実行して、近接無線通信デバイス１０４を制御する。
【００１８】
近接無線通信デバイス１０４は、近接無線通信を実行する通信モジュールである。近接無線通信デバイス１０４は、近接無線通信デバイス１０４から所定の距離内に存在する、近接無線通信機能を有する他のデバイス（外部デバイス）との無線接続を確立し、そしてファイルのようなデータの伝送を開始する。近接無線通信デバイス１０４と外部デバイスとの間の近接無線通信は、ピアツーピア形式で実行される。通信可能距離は例えば３ｃｍである。近接無線通信デバイス１０４と外部デバイスとの間の無線接続は、近接無線通信デバイス１０４と外部デバイスとが近接状態である場合、つまり近接無線通信デバイス１０４と外部デバイスとの間の距離が通信可能距離（例えば３ｃｍ）以内に接近した場合にのみ可能となる。近接無線通信デバイス１０４と外部デバイスとが通信可能距離以内に接近した時、近接無線通信デバイス１０４と外部デバイスとの間の無線接続が確立される。そして、例えば、ユーザによって明示的に指定されたデータファイル、または予め決められた同期対象データファイル等のデータの伝送が近接無線通信デバイス１０４と外部デバイスとの間で実行される。
【００１９】
近接無線通信においては、誘導電界が用いられる。近接無線通信方式としては、例えばTransferJetを使用し得る。TransferJetは、UWBを利用した近接無線通信方式であり、高速データ転送を実現することができる。
【００２０】
近接無線通信デバイス１０４はアンテナ１０４ｂに接続されている。アンテナ１０４ｂはカプラと称される電極であり、誘導電界を用いた無線信号により、外部デバイスに対するデータの送受信を行う。外部デバイスがアンテナ１０４ｂから通信可能距離（例えば３ｃｍ）以内の範囲内に接近した場合、近接無線通信デバイス１０４および外部デバイスそれぞれのアンテナ（カプラ）間が誘導電界によって結合され、これによって近接無線通信デバイス１０４と外部デバイスとの間の無線通信が実行可能となる。なお、近接無線通信デバイス１０４およびアンテナ１０４ｂは、一つのモジュールとして実現し得る。
【００２１】
電源制御部１０５は、ＡＣアダプタ１０６を介して外部から供給される電力、またはバッテリ１０７から供給される電力を用いて、電子機器１０内の各部に電力を供給する。換言すれば、電子機器１０は、ＡＣ商用電源のような外部電源、またはバッテリ１０７によって駆動される。ＡＣアダプタ１０６は電子機器１０内に設けることも出来る。
【００２２】
図２には、２つのデバイス間で実行される近接無線通信の様子が示されている。
【００２３】
ここでは、デバイスＡが携帯電話から構成され、デバイスＢがポータブルコンピュータから構成されている場合を想定する。ユーザは、例えば、デバイスＡをデバイスＢに近接させるという操作（タッチ操作とも云う）を行うことにより、デバイスＡ，Ｂ間のデータ転送を開始させることができる。デバイスＡ，Ｂ間のデータ転送は、デバイスＡ，Ｂが互いに近接したことをトリガに実行される。
【００２４】
ところで、TransferJetのような近接無線通信技術においては、同時に使用可能なセッションは１つのみに限られている。同時に使用可能なセッションを１つのみに制限することにより、通信に必要なリソースを制約でき、またセッション制御に必要な構成を簡単化することが出来る。
【００２５】
セッション（通信セッションとも云う）は、一方のデバイスＡのアプリケーション（通信プログラム）と他方のデバイスＢのアプリケーション（通信プログラム）との間の通信に使用される（仮想的な）通信路に相当するものである。あるアプリケーションの通信中に他のアプリケーションに対応するセッションを確立するためには、通信中のアプリケーションに対応するセッションを一旦切断することが必要である。また、セッションが一旦切断されたアプリケーションを用いた通信を再開したい場合には、このアプリケーションに対応するセッションを再確立するための処理を実行しなければならい。
【００２６】
そこで、本実施形態の電子機器１０においては、近接無線通信を用いて外部デバイスとの通信を実行するアプリケーションを容易に切り替えできるようにするために、同時に複数のセッションを擬似的に維持する擬似セッション管理機能が設けられている。この擬似セッション管理機能は、たとえば、あるプロトコルを用いてデバイスＡ，Ｂ間のデータ転送を実行するアプリケーション（通信プログラム）による通信処理中に、このアプリケーション（通信プログラム）に対応するセッションを擬似的に維持したまま、別のプロトコルを用いてデバイスＡ，Ｂ間のデータ転送を実行する別のアプリケーション（別の通信プログラム）による通信を実行することを可能にする。
【００２７】
次に、図３を参照して、近接無線通信デバイス１０４を用いて実行される近接無線通信を制御するためのソフトウェアアーキテクチャを説明する。
【００２８】
図３のソフトウェアアーキテクチャは近接無線通信を制御するためのプロトコルスタックの階層構造を示している。プロトコルスタックは、物理層（ＰＨＹ）、コネクション層（ＣＮＬ）、プロトコル変換層（ＰＣＬ）、アプリケーション層から構成されている。例えば、コネクション層（ＣＮＬ）、プロトコル変換層（ＰＣＬ）、アプリケーション層は通信制御プログラム１０３ａによって実現し得る。
【００２９】
物理層（ＰＨＹ）は物理的なデータ転送を制御する層であり、ＯＳＩ参照モデル内の物理層に対応する。物理層（ＰＨＹ）の一部の機能または全ての機能は、近接無線通信デバイス１０４内のハードウェアを用いて実現することもできる。
【００３０】
物理層（ＰＨＹ）はコネクション層（ＣＮＬ）からのデータを無線信号に変換する。コネクション層（ＣＮＬ）はＯＳＩ参照モデル内のデータリンク層およびトランスポート層に対応しており、物理層（ＰＨＹ）を制御してデータ通信を実行する。コネクション層（ＣＮＬ）は、プロトコル変換層（ＰＣＬ）から接続要求、または外部デバイスからの接続要求に応じて、近接状態に設定されている近接無線通信デバイス１０４と外部デバイスとの間の接続（ＣＮＬ接続）を確立する処理を実行する。
【００３１】
プロトコル変換層（ＰＣＬ）は、ＯＳＩ参照モデル内のセッション層およびプレゼンテーション層に対応しており、アプリケーション層と、デバイスＡ，Ｂ間の接続の確立および解除を制御するためのコネクション層（ＣＮＬ）との間に位置する。プロトコル変換層（ＰＣＬ）は、アプリケーション層内の各アプリケーション（通信プログラム）の制御とコネクション層（ＣＮＬ）の制御を行う。
【００３２】
より具体的には、プロトコル変換層（ＰＣＬ）は、アプリケーション層の各通信プログラムが扱うアプリケーションプロトコル（例えば、ＳＣＳＩ、ＯＢＥＸ、他の汎用プロトコル等）に対応したデータ（ユーザデータ）を特定の伝送用データ形式に変換するための変換処理を実行する。この変換処理により、どの通信プログラムによって送受信されるデータも、コネクション層（ＣＮＬ）が扱うことが可能なパケット（特定の伝送用データ形式のデータ）に変換される。このプロトコル変換層（ＰＣＬ）は、様々なアプリケーションプロトコルを近接無線通信で利用することを可能にする。
【００３３】
また、プロトコル変換層（ＰＣＬ）は、通信相手のデバイスとの間でサービス情報（各デバイスが提供可能なサービスを示す情報）およびセッション情報（確立／切断対象のセッションに関する情報）を交換する処理、さらに、アプリケーションの起動、コネクションの管理、およびセッションの管理等を行う。ユーザアプリケーション層は、ＳＣＳＩ、ＯＢＥＸ、他の汎用プロトコル等の幾つかのアプリケーションプロトコルにそれぞれ対応した複数の通信プログラム（アプリケーション）を含んでいる。各アプリケーションは、プロトコル変換層（ＰＣＬ）に対してセッションの開始／終了を要求する処理、およびプロトコル変換層（ＰＣＬ）を介してデータを送受信する処理を実行する。
【００３４】
上述の疑似セッション管理機能は、例えば、プロトコル変換層（ＰＣＬ）内に実装することができる。
【００３５】
次に、図４を参照して、プロトコル変換層（ＰＣＬ）の機能構成について説明する。
【００３６】
図４に示されているように、プロトコル変換層（ＰＣＬ）は、アプリケーション管理部２０１、通信制御部２０２、通信アダプタ２０３、およびセッション管理部２０４を備える。
【００３７】
アプリケーション管理部２０１は、近接無線通信を用いてデータ送受信を実行する複数のアプリケーション（通信プログラム）を管理する。アプリケーション管理部２０１はアプリケーションからのセッションの開始／終了の要求をセッション管理部２０４に通知する処理、および通信制御部２０２を制御する処理を実行する。
【００３８】
通信制御部２０２は、セッション管理部２０４と協同して、アプリケーション管理部２０１からの要求またはセッション管理部２０４からの要求に応じて、通信（セッション）の開始および終了、通信アダプタの起動および停止を制御する。通信アダプタ２０３は、上述したように、アプリケーションが扱うプロトコルに対応したデータを所定の伝送用データ形式に変換するための変換処理を実行する。通信アダプタ２０３は、複数のアプリケーションプロトコルそれぞれに対応する複数種のデータを特定の伝送用データ形式に変換する複数の変換モジュール（通信アダプタモジュール）を備えている。具体的には、ＳＣＳＩに対応するアプリケーションによって送受信されるデータをコネクション層のデータ通信部２０５が扱うことが可能な伝送用データ形式に変換する通信アダプタモジュール、ＯＢＥＸに対応するアプリケーションによって送受信されるデータをコネクション層のデータ通信部２０５が扱うことが可能な伝送用データ形式に変換する通信アダプタモジュール、他の汎用プロトコルに対応するアプリケーションによって送受信されるデータをコネクション層のデータ通信部２０５が扱うことが可能な伝送用データ形式に変換する通信アダプタモジュール等が、通信アダプタ２０３内に含まれている。
【００３９】
同時に起動可能な通信アダプタモジュールのタイプは一つのみである。あるアプリケーションが外部デバイスとの通信を実行する為のセッションを確立する時には、そのアプリケーションによって送受信されるデータタイプに対応した通信アダプタモジュール（つまり、そのアプリケーションのアプリケーションプロトコルに対応する通信アダプタモジュール）がセッション管理部２０４によって起動される。これにより、通信に使用するアプリケーションが扱うデータタイプに適したセッションを確立することができる。
【００４０】
セッション管理部２０４は、アプリケーションからのセッション開始要求／セッション終了要求をアプリケーション管理部２０１を介して受信する。そして、セッション管理部２０４は、受信したセッション開始要求／セッション終了要求に従って、セッションを確立する処理またはセッションを切断（解除）する処理を実行する。
【００４１】
さらに、このセッション管理部２０４は疑似セッション管理機能を有しており、通信中のアプリケーションのデータタイプ（プロトコル）に対応したセッションを擬似的に維持しながら、別のアプリケーションのデータタイプ（プロトコル）に対応する新たなセッションを確立することができる。通信中のセッションが終了した時、セッション管理部２０４は、擬似的に維持されているセッションを自動的にデータ伝送可能な状態に復元することができる。
【００４２】
このセッション管理部２０４は、セッション確立部３０１、セッション制御部３０２、およびセッション復元部３０３を備えている。
【００４３】
例えば、ユーザ操作によってあるデータファイルの転送のような通信の実行が指示されたアプリケーション（通信プログラムＡ）はセッション開始要求（通信開始要求）を発行する。通信プログラムＡからのセッション開始要求を受信した場合、セッション管理部２０４のセッション確立部３０１は、通信プログラムＡのアプリケーションプロトコルに対応した通信アダプタモジュール（通信アダプタモジュールＡ）を起動することによって、通信プログラムＡと外部デバイスとの間のセッションＡを確立する。このセッションＡは、通信プログラムＡのアプリケーションプロトコルに対応したデータを、近接無線通信デバイス１０４を介して電子機器１０の通信プログラムＡと外部デバイスの通信プログラムとの間で伝送するために使用される。セッションＡで使用される通信アダプタモジュールＡを示す情報およびセッションＡを介して伝送されるデータの種類を示す情報とを含むセッション情報はセッション管理部２０４によって外部デバイスに通知される。外部デバイスにおいては、電子機器１０からのセッション情報に基づいて、通信アダプタモジュールＡが起動される。外部デバイスにおいては、さらに、通信プログラムＡと同一のアプリケーションプロトコルに対応した通信プログラムが起動される。
【００４４】
セッションＡが確立されている状態でアプリケーション層の別の通信プログラムＢからセッション開始要求を受信した場合、セッション管理部２０４のセッション制御部３０２は、セッションＡの状態を疑似セッション状態に変更する処理を実行する。具体的には、セッション制御部３０２は、通信プログラムＡにセッションＡの切断を知らせることなく通信アダプタモジュールＡを停止することによって、セッションＡを一時的に切断する。このように通信プログラムＡにセッションＡの切断を知らせることなく通信アダプタモジュールＡのみを停止した状態が、セッションＡの疑似セッション状態と云う。セッションＡを疑似セッション状態に変更することにより、通信プログラムＡには、あたかもセッションＡが維持されているかのように認識させることができ、且つ通信プログラムＡによって使用されていたリソース（通信アダプタモジュール）を解放することができる。
【００４５】
次いで、セッション制御部３０２は、セッションＡで使用される通信アダプタモジュールＡを示すセッション情報を、疑似セッション状態に変更されたセッションＡに関するセッション情報として電子機器１０内の所定のメモリに保存する。そして、セッション制御部３０１は、セッション確立部３０１と協同して、通信プログラムＢと外部デバイスとの間のセッションＢを確立する。このセッションＢは、通信プログラムのアプリケーションプロトコルに対応したデータを、近接無線通信デバイス１０４を介して電子機器１０の通信プログラムＢと外部デバイスの通信プログラムとの間で伝送するために使用される。
【００４６】
セッションＢを確立する処理においては、通信プログラムＢのアプリケーションプロトコルに対応したデータを伝送用データ形式に変換するための通信アダプタモジュール（通信アダプタモジュールＢ）が起動され、これによって通信プログラムＢと外部デバイスとの間でデータ伝送を実行するためのセッションＢが確立される。通信アダプタモジュールＢを示す情報およびセッションＢを介して伝送されるデータの種類を示す情報とを含むセッション情報はセッション管理部２０４によって外部デバイスに通知される。外部デバイスにおいては、電子機器１０からのセッション情報に基づいて、通信アダプタモジュールＢが起動される。外部デバイスにおいては、さらに、通信プログラムＢと同一のアプリケーションプロトコルに対応した通信プログラムが起動される。
【００４７】
通常、あるセッションが確立されている状態においては、他のアプリケーションからのセッション開始要求はＰＣＬ層によって拒絶される。
【００４８】
しかし、本実施形態のＰＣＬ層は、セッション開始要求を受信した時に既に確立されているセッションが存在しているか否かを判定し、既に確立されているセッションが存在している場合には、そのセッションを疑似セッション状態に変更することにより、既に確立されているセッションを擬似的に維持したまま、新たなセッションを確立することができる。
【００４９】
セッション復元部３０３は、セッションＢが終了した場合、つまり、セッションＢを介した通信プログラムＢと外部デバイスとの間のデータ伝送が終了した場合、保存されているセッション情報に基づいて、セッションＡで使用されていた通信アダプタモジュールＡを起動することによって、セッションＡをデータ伝送可能な状態（通常のセッション状態）に自動的に復元する。これにより、通信プログラムＡと外部デバイスとの間のデータ伝送を再開することができる。
【００５０】
なお、セッションＡが疑似セッション状態である期間中に通信プログラムＡからの送信データを受信した場合、セッション制御部３０２または通信制御部２０２は、その受信したデータをバッファに格納することができる。そして、セッションＡが元の状態に復元された時、セッション制御部３０２または通信制御部２０２は、バッファに格納されているデータ、を起動された通信アダプタモジュールＡに出力する。外部デバイスにおいても、同様の処理が実行される。この結果、セッションＡが疑似セッション状態である期間中は、セッションＡを介した近接無線通信デバイス１０４と外部デバイスとの間の通信は待機状態に設定され、セッションＡのアプリケーションプロトコルのデータは近接無線通信デバイス１０４と外部デバイスとの間で伝送されない。しかも、バッファがフルになるまでは、セッションＡのアプリケーションプロトコルに対応する送受信データのロストを招くこともない。セッションＡが復元された時、バッファに格納されているデータの伝送を実行することができる。
【００５１】
なお、セッションＡが疑似セッション状態である期間中においては、通信プログラムＡにデータ伝送の実行自体を待機させるようにして、通信プログラムＡから送信データがＰＣＬ装置に送られないようにしてもよい。セッションＡが疑似セッション状態に設定された後は、通信制御部２０２は、通信プログラムＡからデータ送信要求またはデータ受信要求を受信しても、通信プログラムＡに何等応答を返さない。これにより、通信プログラムＡにデータ伝送の実行を待機させることができる。
【００５２】
通信プログラムＢに対応するセッションBが確立されている状態で別の通信プログラムＣからのセッション開始要求を受信した場合には、セッション制御部３０２は、（１）現在確立されているセッションＢの状態を疑似セッション状態に設定する処理と、（２）セッションＢで使用されていた通信アダプタモジュールＢを示すセッション情報を保存する処理と、（３）通信プログラムＣのアプリケーションプロトコルに対応したデータを伝送用データ形式に変換するための通信アダプタモジュール（通信アダプタモジュールＣ）を起動することによって、通信プログラムＣと外部デバイスとの間でデータ伝送を実行するためのセッションＣを確立する処理とを実行する。これにより、通信プログラムＣと外部デバイスとの間のデータ伝送が可能となる。
【００５３】
このように、本実施形態の疑似セッション管理機能は、ユーザによって後から操作されたアプリケーションの通信を、先行して実行されているアプリケーションの通信よりも優先して実行することを可能にする。
【００５４】
セッションＣの終了時に、つまり、セッションＣを介した通信プログラムＣと外部デバイスとの間のデータ伝送が終了した場合、セッション復元部３０３は、疑似セッション状態に設定されている２つのセッション（セッションＡ、セッションＢ）の中から復元対象セッションを選択し、選択したセッションをデータ伝送可能な通常セッション状態に復元する。例えば、疑似セッション状態に設定された直近のセッション、つまり最後に疑似セッション状態に設定されたセッション（ここでは、セッションＢ）が、復元対象セッションとして優先的に選択および復元される。
【００５５】
また、セッション管理部２０４は、疑似セッション状態に設定されるセッションおよび通常セッションに復元されるセッションを、通信相手の外部デバイスに通知する処理も実行する。
【００５６】
次に、図５のフローチャートを参照して、新規セッションの確立時に実行されるセッション確立制御処理の手順の例を説明する。
【００５７】
アプリケーションからの新規セッション開始要求をアプリケーション管理部２０１を介して受信した時（ステップＳ１１）、セッション管理部２０４は、セッション確立制御処理を開始する。この場合、まず、セッション管理部２０４は、既に確立済みのセッションが存在するか否かを判定する（ステップＳ１２）。確立済みのセッションがなければ、セッション管理部２０４は、通常の新規セッション確立処理を実行する（ステップＳ１４，Ｓ１５）。一方、確立済みのセッションがあるならば、セッション管理部２０４は、そのセッションの状態を擬似セッション状態へと変更する処理を実行し（ステップＳ１３）、この後、通常の新規セッション確立処理を実行する（ステップＳ１４，Ｓ１５）。
【００５８】
新規セッション確立処理では、セッション管理部２０４は、新規セッションを確立するためのネゴシエーションを通信相手の外部デバイスと実行して、新規セッションを確立することが通信相手の外部デバイスによって許可されるか否かを判定する（ステップＳ１４）。ネゴシエーション処理では、セッション管理部２０４は、確立すべき新規セッションに関するセッション情報（使用する通信アダプタモジュールを示す情報、伝送対象のデータタイプを示す情報等）を外部デバイスに通知する処理を実行する。もし新規セッションの確立が通信相手の外部デバイスによって許可されなかった場合には、セッション管理部２０４は、擬似セッション状態のセッションが存在するか否かを判定し（ステップＳ１７）、存在するならば、直近に擬似セッション状態に変更されたセッションを、通常のセッション状態（元の状態）に復元する処理を実行する（ステップＳ１７）。
【００５９】
次に、図６のフローチャートを参照して、セッション終了時に実行される処理の手順の例を説明する。
【００６０】
現在確立されているセッションを用いた通信が終了した時、つまりセッションが終了した時（ステップＳ２１）、セッション管理部２０４は、そのセッションを切断（解除）すると共に、疑似セッション状態のセッションを復元する処理を実行する。すなわち、セッション管理部２０４は、擬似セッション状態のセッションが存在するか否かを判定し（ステップＳ２２）、存在するならば、直近に擬似セッション状態に変更されたセッションをデータ伝送可能な元の状態に復元する処理を実行する（ステップＳ２３）。
【００６１】
次に、図７のフローチャートを参照して、通常セッション確立処理の具体的な手順の例を説明する。
【００６２】
アプリケーションからの新規セッション開始要求をアプリケーション管理部２０１を介して受信した時（ステップＳ３１）、セッション管理部２０４は、まず、ＣＮＬ層を用いて、互いに近接状態にある、近接無線通信デバイス１０４と外部デバイスとの間の（物理的な）接続を確立する処理を実行する（ステップＳ３２）。外部デバイスは近接無線通信デバイス１０４に対向しているデバイスである。次いで、セッション管理部２０４は、外部デバイスとのネゴシエーション処理を実行して、確立すべきセッションに関するセッション情報、例えば、使用される通信アダプタを示す情報、アプリケーションが伝送するデータの種類を示す情報、およびアプリケーションを識別する情報等を、外部デバイスに送信する（ステップＳ３３）。ネゴシエーションが成功すると（ステップＳ３４のＹＥＳ）、セッション管理部２０４は、新規セッション開始要求を送信したアプリケーションのプロトコルに対応した通信アダプタを起動し（ステップＳ３５）、アプリケーションが近接無線通信デバイス１０４を介して外部デバイスのアプリケーションと通信するために使用されるセッションを確立する（ステップＳ３６）。
【００６３】
次に、図８のフローチャートを参照して、セッションの状態を擬似セッション状態に変更するための擬似セッション確立処理の手順を説明する。
【００６４】
現在使用されているセッションの状態を擬似セッション状態に変更すべきイベント（疑似セッション開始イベント）が発生した時（ステップＳ４１）、セッション管理部２０４は、現在使用されているセッションを識別するためのセッション情報（使用中の通信アダプタモジュールを示す情報を含む）を保存すると共に、そのセッション情報を外部デバイスに送信して、外部デバイスに対して疑似セッションの開始を通知する（ステップＳ４２）。ステップＳ４２では、セッション管理部２０４は、通信中のセッションを一時的に切断する処理（現在使用されているセッションを疑似セッション状態に変更する処理）の実行を外部デバイスに要求する。ステップＳ４２において、セッション管理部２０４から外部デバイスに送信されるセッション情報には、例えば、停止対象の通信アダプタを示す情報、データの種類を示す情報、そのセッションに対応するアプリケーションを識別する情報等を含み得る。
【００６５】
次いで、セッション管理部２０４は、通信中の通信プログラムに対して現在使用されているセッションの切断を通知することなく、現在使用されているセッションに対応する通信アダプタモジュールを停止することにより、現在使用されているセッションを一時的に切断する（ステップＳ４３）。このステップＳ４３の処理では、セッション管理部２０４は、一時的に切断されたセッションに対応する通信プログラムからの送信データを受信しても通信制御部２０２はデータ伝送を実行しない待機状態となるように通信制御部２０２を制御する。外部デバイスにおいても、ステップＳ４３と同じ処理が実行される。すなわち、外部デバイスにおいても、通信中の通信プログラムに対して現在使用されているセッションの切断を通知することなく、現在使用されているセッションに対応する通信アダプタモジュールを停止することにより、現在使用されているセッションを一時的に切断する処理が実行される。
【００６６】
以上の処理により、確立されているセッションの状態を、疑似セッション状態に変更する処理が完了する（ステップＳ４４）。
【００６７】
疑似セッション状態のセッションを元の状態に復元する処理は、例えば、現在確立されている通常セッションを使用したデータ伝送の終了時、つまり現在確立されている通常セッションの終了時に実行することができる。なお、あるアプリケーションに対応するセッションが疑似セッション状態に設定されてから所定期間経過した時に、疑似セッション状態のセッションを通常セッションに復元する処理を自動的に開始するようにしてもよい。これにより、バッファのオーバーフロー、またはアプリケーションのタイムアウトエラー等が発生する前に、そのアプリケーションに対応するセッションを元の状態に自動的に復元することができる。また、あるアプリケーションに対応するセッションが疑似セッション状態に設定されている期間中にそのアプリケーションから送信されるデータ伝送要求の受信回数が所定値を超えた時、またはバッファの空き容量が所定値よりも低下したことをトリガに、疑似セッション状態のセッションを通常セッションに復元する処理を自動的に開始してもよい。
【００６８】
次に、図９のフローチャートを参照して、セッション復元処理の具体的な手順を説明する。
【００６９】
現在確立されているセッションを用いたデータ伝送が終了した場合、例えば、通信中の通信プログラムからセッション終了要求を受信した場合、セッション管理部２０４は、疑似セッション状態に設定されているセッションの復元を開始する（ステップＳ５１）。まず、セッション管理部２０４は、現在確立されているセッションを切断する。セッションを切断する処理においては、セッション管理部２０４は、そのセッションで使用されていた通信アダプタモジュールを停止することによってそのセッションを切断すると共に、そのセッションの切断を、セッション終了要求を送信した通信プログラムに対して通知する。次いで、セッション管理部２０４は、保存されているセッション情報に基づいて、データ送受信が待機中となっているセッション、つまり疑似セッション状態のセッション、の中から、復元対象のセッションを選択する（ステップＳ５２）。ステップＳ５２では、セッション管理部２０４は、直近に疑似セッション状態に設定されたセッション、つまり最後に保存されたセッション情報によって特定されるセッションを、復元対象のセッションとして選択する。そして、セッション管理部２０４は、選択した復元対象のセッションのセッション情報を外部デバイスに送信して、外部デバイスにセッション復元処理の実行を要求する（ステップＳ５３）。セッション管理部２０４は、選択した復元対象のセッションに対応するセッション情報に基づいて、選択したセッションをデータ伝送可能な状態に復元する（ステップＳ５４）。ステップＳ５４では、セッション管理部２０４は、復元対象のセッションで使用されていた通信アダプタモジュールを起動すると共に、アプリケーション管理部２０１および通信制御部２０２と協同して、復元対象のセッションを使用したアプリケーションからの送信データを伝送せずにバッファに格納する処理の実行を解除する。バッファに格納されていたデータは、起動された通信アダプタモジュールに出力される。また、復元されたセッションを使用するアプリケーションからの送信データは、起動された通信アダプタモジュールに送られる。
【００７０】
外部デバイスにおいても、ステップＳ５４と同じ処理が実行される。すなわち、外部デバイスでは、セッション情報によって特定されるセッションが選択され、その選択されたセッションが元の状態に復元される。
【００７１】
以上の処理により、セッションの復元が完了する（ステップＳ５５）。
【００７２】
図１０は、近接状態である２つのデバイス間で実行される擬似セッション開始シーケンスを示している。
【００７３】
図１０の近接無線通信装置１、２の各々は本実施形態の疑似セッション管理機能と同じ機能を有するデバイスである。近接無線通信装置１（デバイス１）と近接無線通信装置２（デバイス２）との間であるセッションＡが確立している時に、デバイス１のＰＣＬ層が、通信中でないアプリケーションからの新規セッション開始要求を受信すると、セッションＡを擬似セッション状態に変更する処理が開始される。
【００７４】
まず、デバイス１は、デバイス１とデバイス２との間の近接無線通信によって、デバイス２に擬似セッション開始を通知する。デバイス１、デバイス２の各々は、確立されているセッションＡの状態を疑似セッション状態に変更する処理を開始する。デバイス１、デバイス２の各々は、疑似セッション状態に変更されたセッションＡに関するセッション情報を保存する。デバイス１がデバイス２からの擬似セッション完了通知を受けると、セッションＡの状態を疑似セッション状態に変更する処理が完了する。
【００７５】
その後、デバイス１は、新規セッションＢに関するセッション情報を新規セッションＢ開始要求としてデバイス２に送信して、デバイス２に新規セッションＢの確立を要求する。デバイス２が新規セッションＢを確立することが可能な場合、デバイス２は、新規セッションＢの確立を許可することを示すセッション許可通知をデバイス１に送信する。この後、デバイス１，２の各々は、新規セッションＢを確立する処理を実行する。
【００７６】
図１１は、近接状態である２つのデバイス間で実行されセッション復元処理のシーケンス図である。
【００７７】
ここでは、図１０においてセッションＢが確立された後に実行されるシーケンスを説明する。通信中のセッションＢが終了すると、デバイス１は、デバイス１とデバイス２との間の近接無線通信によって、デバイス２にセッションＡの復元開始を通知する。デバイス１、デバイス２の各々は、保存されているセッションＡのセッション情報に基づいて、データ伝送が待機されているセッションＡをデータ伝送が可能な通常セッション状態に復元する処理を開始する。デバイス１がデバイス２からのセッション復元完了通知を受けると、セッションＡを復元する処理が完了する。
【００７８】
以上のように、本実施形態においては、ある通信プログラムＡと外部デバイスとの間のセッションＡが確立されている状態で通信プログラムＢからのセッション開始要求を受信した場合、セッションＡの切断を通信プログラムＡに知らせることなくセッションＡで使用されていた第１の通信アダプタモジュールを停止することによって、セッションＡが一時的に切断される。この結果、通信プログラムＡにはあたかもセッションＡが維持されているかのように認識させることができ、且つ通信プログラムＡによって使用されていたリソース（通信アダプタモジュール）を解放することができる。このため、通信プログラムＢと外部デバイスとの間の新たなセッションＢを確立する事ことが出来きる。また、例えば、通信中のセッションＢが終了した時には、セッションＡの切断時に保存したセッション情報に基づいて、セッションＡを元の状態に復元する処理が自動的に実行される。
【００７９】
よって、ユーザはセッションの切断／再確立に関する操作を何等意識することなく、外部デバイスとの通信に使用するアプリケーションを容易に切り換えることが可能となり、あるアプリケーションによる通信が実行されている期間中に別のアプリケーションを用いた通信を容易に実行することが可能となる。
【００８０】
例えば、ＳＣＳＩのようなストレージクラスプロトコルに対応したアプリケーションを利用している期間中においては、そのアプリケーションの通信を切断することなく、画像データのような小さいデータを伝送するためのＯＢＥＸのようなプロトコルに対応したアプリケーションを実行することが可能となり、ユーザはアプリケーションの通信切断を意識することなく、後から操作したアプリケーションの通信を優先して実行することができる。
【００８１】
なお、図４に示したＰＣＬ層内の各部はハードウェアモジュールとして実現することも可能である。
【００８２】
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００８３】
１０…電子機器、１１…システム制御部、１０１ａ…ＣＰＵ、１０４…近接無線通信デバイス、２０１…アプリケーション管理部、２０２…通信制御部、２０３…通信アダプタ、２０４…セッション管理部、３０１…セッション確立制御部、３０２…セッション復元部。
【図１】
2010251846.tif 000003
【図２】
2010251846.tif 000004
【図３】
2010251846.tif 000005
【図４】
2010251846.tif 000006
【図５】
2010251846.tif 000007
【図６】
2010251846.tif 000008
【図７】
2010251846.tif 000009
【図８】
2010251846.tif 000010
【図９】
2010251846.tif 000011
【図１０】
2010251846.tif 000012
【図１１】
2010251846.tif 000013