(57)【要約】【課題】サービス提供中のズレ耐性を低下させることなく、十分な操作性を得ることができる電子機器を実現する。【解決手段】電子機器２００は近接無線通信を十こする。この電子機器２００においては、上位レイヤによるサービスの提供中か否かに応じて、下位レイヤがデバイス間の近接状態の解除の有無を判定するために使用する接続タイムアウト値が変化される。例えば、上位レイヤにおけるサービス提供中は大きな値の接続タイムアウト値が使用され、上位レイヤにおけるサービス提供期間外はサービス提供中よりも小さな値の接続タイムアウト値が使用される。これにより、サービス提供中のズレ耐性を大きくでき、且つサービス提供期間外においては次のアクションへ素早く移行できるので使い勝手を向上させることが出来る。【選択図】図２
2011109537.tif 000002
【特許請求の範囲】
【請求項１】
近接無線通信を実行する通信モジュールと、
前記通信モジュールが非接続状態である場合、近接状態である前記通信モジュールと外部デバイスとの間の接続を確立し、前記外部デバイスからの応答が無い期間が接続タイムアウト値を超えた場合、前記接続を解除する接続制御手段と、
前記接続が確立された場合、前記通信モジュールと外部デバイスとの間の近接無線通信によってサービスを実行する通信制御手段と、
前記サービスの開始および停止を検出する検出手段と、
前記サービスが実行されている間の前記接続タイムアウト値が、前記サービスが実行されていない間の前記接続タイムアウト値よりも大きくなるように、前記サービスの開始および停止それぞれの検出に応答して前記接続タイムアウト値を変更する変更手段とを具備することを特徴とする電子機器。
【請求項２】
前記検出手段は前記サービスの実行のために使用されるプロトコルの開始および停止を前記サービスの開始および停止として検出することを特徴とする請求項１記載の電子機器。
【請求項３】
前記通信制御手段は、前記外部デバイスとのネゴシエーションを実行して前記通信モジュールと前記外部デバイスとの間の近接無線通信によって提供すべきサービスを決定し、
前記変更手段は、前記サービスが実行されている間の前記接続タイムアウト値を、前記決定されたサービスに関連づけられた値に設定することを特徴とする請求項１記載の電子機器。
【請求項４】
前記通信制御手段は、前記外部デバイスとのネゴシエーションを実行して前記通信モジュールと前記外部デバイスとの間の近接無線通信によって提供すべきサービスを決定し、
前記変更手段は、前記サービスが実行されている間の前記接続タイムアウト値を、前記決定されたサービスの実行のために使用されるプロトコルに関連づけられた値に設定することを特徴とする請求項１記載の電子機器。
【請求項５】
近接無線通信を実行する通信モジュールと、
前記通信モジュールが非接続状態である場合、近接状態である前記通信モジュールと外部デバイスとの間の接続を確立する接続確立手段と、
前記接続が確立されている接続状態の期間中に、前記外部デバイスからの応答が無い時間をカウントし、カウントされた時間が接続タイムアウト値を超えた場合、前記接続を解除する接続解除手段と、
前記接続が確立された場合、前記外部デバイスとのネゴシエーションを実行して前記通信モジュールと前記外部デバイスとの間の近接無線通信によって提供すべきサービスを決定し、前記サービスが決定された場合、前記接続タイムアウト値を前記サービスが開始される前の前記接続タイムアウト値よりも大きな値に変更し、前記決定されたサービスを開始し、前記サービスが停止された場合、前記接続タイムアウト値を前記サービスが停止される前の前記接続タイムアウト値よりも小さな値に変更する通信制御手段とを具備することを特徴とする電子機器。
【請求項６】
通信モジュールによって実行される近接無線通信を制御する通信制御方法であって、
前記通信モジュールが非接続状態である場合、近接状態である前記通信モジュールと外部デバイスとの間の接続を確立するステップと、
前記接続が確立されている接続状態の期間中に、前記外部デバイスからの応答が無い時間をカウントし、カウントされた時間が接続タイムアウト値を超えた場合、前記接続を解除するステップと、
前記接続が確立された場合、前記通信モジュールと前記外部デバイスとの間の近接無線通信で提供すべきサービスを決定するステップと、
前記サービスが決定された場合、前記接続タイムアウト値を前記サービスが開始される前の前記接続タイムアウト値よりも大きな値に変更するステップと、
前記決定されたサービスを開始するステップと、
前記サービスが停止された場合、前記接続タイムアウト値を前記サービスが停止される前の前記接続タイムアウト値よりも小さな値に変更するステップとを具備することを特徴とする通信制御方法。
【請求項７】
前記接続タイムアウト値を前記サービスが開始される前の前記接続タイムアウト値よりも大きな値に変更するステップは、前記接続タイムアウト値を、前記決定されたサービスに関連づけられた値に設定することを特徴とする請求項６記載の通信制御方法。
【請求項８】
前記接続タイムアウト値を前記サービスが開始される前の前記接続タイムアウト値よりも大きな値に変更するステップは、前記接続タイムアウト値を、前記決定されたサービスの実行のために使用されるプロトコルに関連づけられた値に設定することを特徴とする請求項６記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は近接無線通信を実行する電子機器および同機器に適用される通信制御方法に関する。
【背景技術】
【０００２】
近年、ＩＣカード、携帯電話機等においては、ＮＦＣのような無線通信が利用され始めている。ユーザは、ＩＣカードまたは携帯電話をホスト装置のリーダ／ライタ部にかざすといった操作を行うだけで、認証処理、課金等のための通信を容易に行うことが出来る。
【０００３】
最近では、高速の通信が可能な新たな近接無線通信技術が開発され始めている。この新たな近接無線通信技術は、認証、課金サービスのみならず、文書データ、画像データ、オーディオデータといった大容量のデータファイルをそれらデバイス間で交換することを可能にする。
【０００４】
特許文献１には、ＮＦＣのような通信セッションにおけるタイムアウトパラメータを求める方法が開示されている。この方法においては、物理的な接続が切断されたかどうかを判定するためのタイムアウト値と切断された接続をリカバリーするためのタイムアウト値とが使用される。後者のタイムアウト値は、デバイス間のスループットに基づいて算出される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００９−５０６６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、近接無線通信では、デバイス同士を互いに近づけることでそれらデバイス間の接続が確立され、そして所望のサービスが開始される。また、デバイス同士を遠ざけることでそれらデバイス間の接続が解除される。ここで、問題なのは下位レイヤ（例えば、物理層またはデータリンク層）がデバイス間の接続解除を判定するために使用する接続タイムアウト値である。
【０００７】
接続タイムアウト値を大きく設定すれば、サービス提供中におけるデバイス間の位置ズレに起因する接続解除が発生しにくくなる（ズレ耐性が大きい）。しかし、その反面、デバイス同士を遠ざけても、それらデバイス間の接続は直ぐには解除されなくなる。換言すれば、ユーザによってデバイス同士が通信範囲外に離された後のしばらくの間は、あたかも接続状態に維持されているかのように認識されてしまう可能性がある。この場合、例えば、ユーザがあるデバイスから遠ざけたデバイスを別のデバイスの通信範囲圏内に近づけた（以後、本動作を”タッチ”と言う）としても、直ぐにはそれらタッチされたデバイス同士の接続が確立されない可能性がある。よって、接続タイムアウト値を大きく設定すると、操作性が損なわれる可能性がある。
【０００８】
逆に、接続タイムアウト値を短く設定すれば、デバイス同士を遠ざけられた時に直ぐにそれらデバイス間の接続が解除される。よって、ユーザは、例えば、あるデバイスから遠ざけたデバイスを別のデバイスにタッチして通信を開始するといった次のアクションにすぐに移れるため、操作性が良くなる。しかし、その反面、サービス提供中におけるデバイス間の位置ズレによる接続解除が発生しやすくなる（ズレ耐性が小さくなる）。
【０００９】
本発明は上述の事情を考慮してなされたものであり、近接無線通信によるサービス提供中のズレ耐性を低下させることなく、十分な操作性を得ることができる電子機器および通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するために、本発明の電子機器は、近接無線通信を実行する通信モジュールと、前記通信モジュールが非接続状態である場合、近接状態である前記通信モジュールと外部デバイスとの間の接続を確立し、前記外部デバイスからの応答が無い期間が接続タイムアウト値を超えた場合、前記接続を解除する接続制御手段と、前記接続が確立された場合、前記通信モジュールと外部デバイスとの間の近接無線通信によってサービスを実行する通信制御手段と、前記サービスの開始および停止を検出する検出手段と、前記サービスが実行されている間の前記接続タイムアウト値が、前記サービスが実行されていない間の前記接続タイムアウト値よりも大きくなるように、前記サービスの開始および停止それぞれの検出に応答して前記接続タイムアウト値を変更する変更手段とを具備することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、近接無線通信によるサービス提供中のズレ耐性を低下させることなく、十分な操作性を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る電子機器と外部デバイスとの間の接続を示すブロック図。
【図２】同実施形態の電子機器で用いられる接続タイムアウト値が変化される様子を示すタイミングチャート。
【図３】同実施形態の電子機器で用いられる接続タイムアウト値に基づく接続タイムアウトを説明するための図。
【図４】同実施形態の電子機器のシステム構成の例を示す図ロック図。
【図５】同実施形態の電子機器の外観を示す斜視図。
【図６】同実施形態の電子機器と外部デバイスとの間で実行される近接無線通信の例を示す図。
【図７】同実施形態の電子機器に適用される、近接無線通信を制御するためのソフトエアアーキテクチャの例を示す図。
【図８】同実施形態の電子機器によってサービス開始時に実行される処理の手順を示すフローチャート。
【図９】同実施形態の電子機器によってサービス停止時に実行される処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態を説明する。  
図１は、本発明の一実施形態に係る電子機器の構成を示している。この電子機器は、例えば、携帯機器（例えば、携帯電話機、ＰＤＡ、オーディオプレーヤ等）、パーソナルコンピュータ、またはコンシューマ機器（例えば、ＴＶ、ビデオレコーダ等）として実現される。この電子機器は近接無線通信を実行する通信モジュールを備えており、近接無線機能を有する他のデバイス（外部デバイス）との無線接続を確立し、そして外部デバイスとの近接無線通信をピアツーピア形式で実行する。図１のデバイスＡは本実施形態の電子機器に相当し、図１のデバイスＢは本実施形態の電子機器と同等の機能を有する外部デバイスに相当する。デバイスＡ，Ｂは互いに対等な関係にあるデバイスである。
【００１４】
デバイスＡの近接無線通信を制御するためのプロトコルスタックを提供する通信制御プログラムは下位レイヤと上位レイヤとに大別される。下位レイヤは近接状態にあるデバイスＡとデバイスＢとの間の（物理的な）接続を制御する。より詳しくは、下位レイヤは、デバイスＡ（デバイスＡ内の通信モジュール）が非接続状態である場合、互いに近接状態であるデバイスＡとデバイスＢとの間の接続を確立する処理を実行する。さらに、下位レイヤは、接続タイムアウト値を用いて、デバイスＡとデバイスＢとの間の近接状態の解除、つまりデバイスＡとデバイスＢとが通信範囲外に遠ざけられたことを検出する。すなわち、下位レイヤは、デバイスＢからの応答が無い期間が接続タイムアウト値を超えるか否かを判定する。デバイスＢからの応答が無い期間が接続タイムアウト値を超えた場合、下位レイヤは、デバイスＡとデバイスＢとの間の接続を解除するとともに、接続が解除されたことを上位レイヤに通知する。
【００１５】
上位レイヤは、下位レイヤによって確立された接続（通信路）を用いて、データ転送のようなサービスを実行する。すなわち、上位レイヤは、デバイスＡ（デバイスＡ内の通信モジュール）とデバイスＢとの間の接続が確立された場合、デバイスＡ（デバイスＡ内の通信モジュール）とデバイスＢとの間の近接無線通信によってデータ転送のようなサービスを実行する。
【００１６】
上述したように、下位レイヤで用いられる接続タイムアウト値を大きく設定すると、サービス実行中のズレ耐性を向上できる反面、デバイス同士を遠ざけても直ぐにはデバイス間の接続が切断されず、操作性が低下される可能性がある。逆に、接続タイムアウト値を小さく設定すると、操作性は改善されるものの、サービス提供中のズレ耐性が低下され、これによって、例えば、データファイルの転送のようなサービス提供中にデバイス間の接続が解除されるといった事態が発生しやすくなる可能性がある。
【００１７】
本実施形態においては、上位レイヤは、サービス提供中のズレ耐性を低下させることなく、十分な操作性を得ることができるようにするために、接続タイムアウト値変更部４０１を備えている。この接続タイムアウト値変更部４０１は、上位レイヤによってサービスが提供中であるか否かに応じて、下位レイヤで使用される接続タイムアウト値を動的に変更する。より詳しくは、接続タイムアウト値変更部４０１は、上位レイヤにおけるサービス提供中は接続タイムアウト値を大きく設定し、上位レイヤにおけるサービス提供中以外の期間では接続タイムアウト値を小さく設定する。これにより、サービス提供中のズレ耐性を大きくし、さらに操作性を良くする事ができる。
【００１８】
図２には、デバイスＡの状態遷移に対する接続タイムアウト値ＴＯの変化の様子が示されている。図２において、横軸は時間を表し、縦軸は接続タイムアウト値ＴＯを表している。デバイスＡの状態は、通信ジュールと外部デバイスとの接続も確立されていない非接続状態と、通信ジュールと外部デバイスとの接続が確立されている接続状態とに大別される。接続状態においては、デバイスＡは、状態Ｓ１または状態Ｓ２のいずれかの状態に設定される。状態Ｓ１は、「下位レイヤの接続は確立されているが、近接無線を利用した上位レイヤのサービスが実行されていない状態」である。状態Ｓ１には、デバイス間の接続が確立されてからサービスが開始されるまでの状態と、サービスが停止されてからデバイス間の接続が解除されるまでの状態とが含まれる。状態Ｓ２は、「下位レイヤの接続が確立されており、かつ近接無線通信を利用した上位レイヤのサービスが実行されている状態」である。換言すれば、状態Ｓ２は、サービスが開始されてからそのサービスが停止されるまでの状態である。サービスの停止は、例えば、サービスの実行に必要な、プロトコルまたはアプリケーションの実行が停止されたことを意味する。多くの場合には、サービスが完了した後に、デバイスＡとデバイスＢとの間でサービスを停止するためのメッセージを交換することにより、サービスが停止される。もちろん、サービスの終了または完了を、サービスの停止として取り扱うようにしてもよい。
【００１９】
近接無線通信としては、例えば、TransferJetを用いることができる。この場合、下位レイヤはTransferJetのＣＮＬ（CoNnection Layer）に、上位レイヤのサービスはTransferJetのPCL（Protocol Conversion Layer）が司る各プロトコルを用いたサービスにそれぞれマッピングされ得る。上述したように、近接無線通信において、接続タイムアウト値は、使い勝手とサービス提供中のズレ耐性との間でトレードオフの関係を引き起こす。
【００２０】
本実施形態では、接続タイムアウト値変更部４０１は、図２のように、サービス提供期間外（Ｓ２状態）においては接続タイムアウト値ＴＯを小さな値（ＴＯ１）に設定して使い勝手を向上させると共に、サービス提供中（Ｓ２状態）においては接続タイムアウト値Ｔ０を大きな値ＴＯ２に設定してズレ耐性を大きくする。すなわち、接続タイムアウト値変更部４０１は、サービスが開始される直前に接続タイムアウト値ＴＯをＴＯ１からＴＯ２に変更する。そして、サービスが停止されると、接続タイムアウト値変更部４０１は、接続タイムアウト値Ｔ０をＴＯ２からＴＯ１に変更する。
【００２１】
サービスが停止された後も、デバイスＡとデバイスＢとの間の近接状態の解除が検出されるまで、つまりデバイスＡとデバイスＢとの間の接続が解除されるまでは、デバイスＡの状態は接続状態に維持される。デバイスＡとデバイスＢとの間の接続が解除された時、接続状態から非接続状態への遷移が行われる。デバイスＡが非接続状態に遷移すると、デバイスＡはデバイスＡと近接状態である新たなデバイスとの接続を確立することができる。同様に、デバイスＢもデバイスＡとの接続が解除された時に、非接続状態に遷移する。デバイスＢが非接続状態に遷移すると、デバイスＢはデバイスＢと近接状態である新たなデバイスとの接続を確立することができる。
【００２２】
サービス中に使用される接続タイムアウト値ＴＯ２の値は、上位レイヤによって実行されるサービスの種類に応じて変更してもよい。すなわち、上位レイヤは、デバイスＡ，Ｂ間の接続が確立されてからサービスが開始されるまで間に、デバイスＢとのネゴシエーションを実行してデバイスＡ，Ｂ間の近接無線通信によって提供すべきサービスを決定する。提供可能なサービスには、例えば、ＯＢＥＸを用いてローカルデバイス（デバイスＡ）から外部デバイス（デバイスＢ）に所定のデータファイルを送信するプッシュサービス、ＳＣＳＩを用いて外部デバイス（デバイスＢ）のファイルシステムの一部または全てをローカルデバイス（デバイスＡ）のファイルシステムのマウントポイントにマウントするストレージサービスなどがある。通常、ＳＣＳＩを用いたストレージサービスは、ＯＢＥＸを用いたサービス（プッシュサービス）に比較して、データ転送中の切断がシステムに与える影響が高い場合がある。このため、ＳＣＳＩを用いたストレージサービスの提供中は、ＯＢＥＸを用いたプッシュサービスの提供中よりもズレ耐性を高められるように接続タイムアウト値を制御しても良い。
【００２３】
この場合、例えば、ネゴシエーションによって決定されたサービスがＯＢＥＸを用いたプッシュサービスであるならば、デバイスＡの上位レイヤは、接続タイムアウト値ＴＯをＴＯ１からＴＯ２−１に変更し、そして決定したサービスを開始する。サービスが停止されると、デバイスＡの上位レイヤは、接続タイムアウト値ＴＯをＴＯ１に戻す。一方、ネゴシエーションによって決定されたサービスがＳＣＳＩを用いたストレージサービスであるならば、デバイスＡの上位レイヤは、接続タイムアウト値ＴＯをＴＯ１からＴＯ２−２に変更し、そして決定したサービスを開始する。サービスが停止されると、デバイスＡの上位レイヤは、接続タイムアウト値ＴＯをＴＯ１に戻す。
【００２４】
ここで、接続タイムアウト値ＴＯ１、ＴＯ２−１、ＴＯ２−２は次の関係を有している。
【００２５】
ＴＯ１＜ＴＯ２−１＜ＴＯ２−２
なお、サービス中に使用される接続タイムアウト値ＴＯ２の値として、決定されたサービスに関連づけられた値を使用する代わりに、決定されたサービスの実行のために使用されるプロトコル（ＯＢＥＸ、ＳＣＳＩ、他の汎用プロトコル、等）に関連づけられた値を使用してもよい。例えば、ＯＢＥＸプロトコルに上述の接続タイムアウト値ＴＯ２−１を関連づけ、ＳＣＳＩプロトコルに上述の接続タイムアウト値ＴＯ２−２を関連づけておいてもよい。この場合、ネゴシエーションによって決定されたサービスの実行に使用されるプロトコルがＯＢＥＸであるならば、デバイスＡの上位レイヤは、接続タイムアウト値ＴＯをＴＯ１からＴＯ２−１に変更し、そして決定したサービスを開始する。一方、ネゴシエーションによって決定されたサービスの実行に使用されるプロトコルがＳＣＳＩであるならば、デバイスＡの上位レイヤは、接続タイムアウト値ＴＯをＴＯ１からＴＯ２−２に変更し、そして決定したサービスを開始する。
【００２６】
次に、図３を参照して、接続タイムアウト値を用いて近接状態の解除を検出する動作の例について説明する。
【００２７】
デバイスＡとデバイスＢとの間の接続が確立された時、デバイスＡは接続状態に遷移する。接続状態の期間中、デバイスＡの下位レイヤは、デバイスＡとデバイスＢとの間の近接無線通信が途絶えている時間、つまり、デバイスＢからの応答が無い時間をカウントし、そのカウントされた時間が接続タイムアウト値を超えるか否かを判定する。
【００２８】
カウントされた時間が接続タイムアウト値を超えたならば、下位レイヤは、接続タイムアウトの発生、つまりデバイスＡとデバイスＢとの間の近接状態が解除されたことを検出し、そして上位レイヤと共同して、デバイスＡとデバイスＢとの間の接続を解除する。
【００２９】
下位レイヤは、例えば、リトライタイマと接続タイマの２つのタイマを使用し得る。下位レイヤは、データまたはコマンドをデバイスＢに無線通信する度に、リトライタイマおよび接続タイマの各々をスタートさせる。リトライタイマはメッセージ（データまたはコマンド）を再送するか否かを判定するために使用されるタイマである。メッセージを送信してからリトライタイムアウト値によって示される時間内にデバイスＢからの応答が受信されたならば、リトライタイマおよび接続タイマの値はそれぞれリセットされる。
【００３０】
一方、メッセージを送信してからリトライタイムアウト値によって示される時間内にデバイスＢからの応答が受信されなかったならば、リトライタイムアウトが発生し、メッセージが再送されると共に、リトライタイマが再スタートされる。接続タイマはリセットされない。接続タイマはデバイスＢからの応答が無い時間をカウントし続ける。デバイスＢからの応答が無い時間が接続タイムアウト値を超えるまでは、デバイスＡは接続状態に維持される。メッセージを何度か再送してもデバイスＢからの応答が受信されず、これによってデバイスＢからの応答が無い時間が接続タイムアウト値を超えると、接続タイムアウトが発生し、デバイスＡとデバイスＢとの間の接続が解除される（切断）。
【００３１】
次に、図４を参照して、本実施形態の電子機器のシステム構成例を説明する。  
この電子機器２００は、システム制御部２０１、ＲＡＭ２０２、ＲＯＭ２０３、近接無線通信部２０４を備えている。電子機器２００は、さらに、サービス開始および停止検出部４０２と上述の接続タイムアウト値変更部４０１とを備えている。
【００３２】
システム制御部２０１は、電子機器２００内の各部の動作を制御する。システム制御部２０１は、ＣＰＵ２０１ａを備えている。ＣＰＵ２０１ａはＲＯＭ２０３に格納された各種プログラムを実行するプロセッサである。ＲＡＭ２０２は、処理中のデータおよびスタックを格納するメモリである。ＲＯＭ２０３は、各種アプリケーションプログラムと、近接無線通信部２０４の近接無線通信を制御するための通信制御プログラムとを格納するメモリである。ＣＰＵ２０１ａは、ＲＯＭ２０３に格納された通信制御プログラムを実行して、近接無線通信部２０４を制御する。
【００３３】
近接無線通信部２０４は、近接無線通信を実行する通信モジュールである。近接無線通信部２０４は、近接無線通信部２０４から所定の通信範囲内に存在する、近接無線通信機能を有する別のデバイス（外部デバイス）と通信することができる。近接無線通信部２０４と外部デバイスとの間の無線通信は、近接無線通信部２０４と外部デバイスとが近接状態である場合、つまり近接無線通信部２０４と外部デバイスとの間の距離が通信範囲（例えば３ｃｍ）以内に接近している場合にのみ可能となる。近接無線通信部２０４と外部デバイスとが通信範囲内に接近した時、近接無線通信部２０４と外部デバイスとの間の通信が可能となる。そして、近接無線通信部２０４と外部デバイスとの間の接続（無線接続）を確立する動作が開始される。デバイス間の接続（無線接続）が確立された後に、例えば、ＳＣＳＩ，ＯＢＥＸ、または他の汎用プロトコルを用いたデータ転送といったサービスが、近接無線通信部２０４と外部デバイスとの間の近接無線通信によって実行される。
【００３４】
近接無線通信においては、誘導電界が用いられる。近接無線通信方式としては、例えばTransferJetを使用し得る。TransferJetは、UWBを利用した近接無線通信方式であり、高速データ転送を実現することができる。
【００３５】
近接無線通信部２０４はアンテナ２０４ａに接続されている。アンテナ２０４ａはカプラと称される電極であり、誘導電界/磁界を用いた無線信号により、外部デバイスに対するデータの送受信を行う。外部デバイスがアンテナ２０４ａから通信距離（例えば３ｃｍ）以内の範囲内に接近した場合、近接無線通信部２０４および外部デバイスそれぞれのアンテナ（カプラ）間が誘導電界/磁界によって結合され、これによって近接無線通信部２０４と外部デバイスとの間の無線通信が実行可能となる。なお、近接無線通信部２０４およびアンテナ２０４ａは、一つのモジュールとして実現し得る。
【００３６】
サービス開始および停止検出部４０２は、近接無線通信部２０４と外部デバイスとの間の接続が確立された後に上位レイヤによって提供されるサービスの開始および停止をそれぞれ検出する。例えば、サービス開始および停止検出部４０２は、サービスの実行のために使用されるプロトコルの開始および停止を、サービスの開始および停止として検出してもよい。接続タイムアウト値変更部４０１は、下位レイヤが使用する上述の接続タイムアウト値を変更する。例えば、接続タイムアウト値変更部４０１は、サービスが実行されている間の接続タイムアウト値が、サービスが実行されていない間の接続タイムアウト値よりも大きくなるように、サービスの開始および停止それぞれの検出に応答して、下位レイヤが使用する接続タイムアウト値を変更する。
【００３７】
次に、図５を参照して、電子機器２００がポータブルパーソナルコンピュータとして実現されている場合を想定して、電子機器２００の外観の例を説明する。
【００３８】
図５は、電子機器２００の外観を示す斜視図である。電子機器２００は、本体３０１と、ディスプレイユニット３０２とを備えている。ディスプレイユニット３０２は、本体３０１の上面が露出される開放位置と本体３０１の上面がディスプレイユニット３０２によって覆われる閉塞位置との間を回動可能に本体３０１に取り付けられている。ディスプレイユニット３０２内には、ＬＣＤのようなディスプレイ３０３が設けられている。
【００３９】
本体３０１は薄い箱状の筐体を有している。本体３０１の筐体の上面には、キーボード３０４、タッチパッド３０５等が配置されている。
【００４０】
本体３０１の上面、具体的には、本体３０１の上面上のパームレストレスト領域３０１ａの一部は、通信面として機能する。すなわち、近接無線通信部２０４およびアンテナ（カプラ）２０４ａは、本体３０１の上面のパームレストレスト領域３０１ａに対向して本体３０１内に設けられている。アンテナ（カプラ）２０４ａは、本体３０１の上面（具体的には、本体３０１の上面上のパームレストレスト領域３０１ａの一部）を介して、無線信号（誘導電界）を外部に出力するように配置されている。アンテナ（カプラ）２０４ｂに対向する本体３０１の上面上の小領域、つまり本体３０１の上面上においてアンテナ（カプラ）２０４ａの上方に位置する小領域は、通信位置として使用される。
【００４１】
ユーザは、例えば、近接無線通信機能を有する外部デバイスを本体３０１のパームレストレスト領域３０１ａ内の通信位置上にかざすという操作（タッチ操作）を行うことにより、外部デバイスと電子機器２００との間のデータ転送のようなサービスを開始させることができる。
【００４２】
図６は、携帯電話５０と電子機器２００との間で実行される近接無線通信の様子が示されている。携帯電話５０の筐体内には、例えば、その筐体の背面に対向して近接無線通信用のアンテナ（カプラ）が設けられている。この場合、携帯電話５０の筐体の背面を電子機器２００の本体３０１のパームレスト領域上の通信位置にかざす（または携帯電話５０をパームレスト領域上に置く）ことにより、携帯電話５０と電子機器２００との間の近接無線通信を開始することが可能となる。
【００４３】
次に、図７を参照して、近接無線通信部２０４を用いて実行される近接無線通信を制御するためのソフトウェアアーキテクチャの例を説明する。ここでは、TransferJetのプロトコルスタックに本実施形態の通信制御機能を適用する場合を想定する。図７に示されているように、近接無線通信を制御するためのプロトコルスタックは、物理層（ＰＨＹ）、コネクション層（ＣＮＬ）、プロトコル変換層（ＰＣＬ）、アプリケーション層から構成し得る。
【００４４】
物理層（ＰＨＹ）は物理的なデータ転送を制御する層であり、ＯＳＩ参照モデル内の物理層に対応する。物理層（ＰＨＹ）の一部の機能または全ての機能は、近接無線通信部２０４内のハードウェアを用いて実現することもできる。
【００４５】
物理層（ＰＨＹ）はコネクション層（ＣＮＬ）からのデータを無線信号に変換する。コネクション層（ＣＮＬ）はＯＳＩ参照モデル内のデータリンク層からトランスポート層に対応しており、物理層（ＰＨＹ）を制御してデータ通信を実行する。コネクション層（ＣＮＬ）は、上述の通信制御プログラムの一部によって実現し得る。
【００４６】
このコネクション層（ＣＮＬ）は、近接状態に設定されている近接無線通信部２０４と外部デバイスとの間の（物理的な）接続（ＣＮＬ接続）を制御するレイヤである。コネクション層（ＣＮＬ）は、上述の下位レイヤとして用いられる。コネクション層（ＣＮＬ）には、接続制御部５０１の機能がマッピングされる。接続制御部５０１は、近接無線通信部２０４が非接続状態である場合、近接状態である近接無線通信部２０４と外部デバイスとの間の接続を確立し、この外部デバイスからの応答が無い期間が接続タイムアウト値ＴＯを超えた場合、近接無線通信部２０４と外部デバイスとの間の接続を解除する。この接続制御部５０１は、接続確立部５０２と接続解除部５０３とを含む。
【００４７】
接続確立部５０２は、近接無線通信部２０４が非接続状態である期間中、近接無線通信部２０４に近接状態である外部デバイスを検出するために、上述の接続要求信号を送信する処理、または送信された接続要求信号に対する受諾を示す外部デバイスからの接続受諾信号または外部デバイスからの接続要求信号を受信する処理を行う。接続受諾信号または接続要求信号を外部デバイスから受信した場合、接続制御部５０１は、例えばＰＣＬ層と共同して、近接無線通信部２０４と外部デバイスとの間の接続（ＣＮＬ接続）を確立する。近接無線通信部２０４と外部デバイスとの間の接続が確立されると、近接無線通信部２０４は接続状態となる。近接無線通信部２０４が接続状態である期間中、接続解除部５０３は、外部デバイスからの応答が無い時間をカウントし、カウントされた時間が接続タイムアウト値を超えた場合、近接無線通信部２０４と外部デバイスとの間の接続を解除する。
【００４８】
プロトコル変換層（ＰＣＬ）は、ＯＳＩ参照モデル内のセッション層に対応しており、アプリケーション層と、コネクション層（ＣＮＬ）との間に位置する。このプロトコル変換層（ＰＣＬ）は上述の上位レイヤに対応しており、上述の通信制御プログラムによって実現し得る。プロトコル変換層（ＰＣＬ）は、２つのデバイス間の接続を確立するために、アプリケーション層内の各アプリケーション（通信プログラム）の制御とコネクション層（ＣＮＬ）の制御を行う。
【００４９】
より詳しくは、プロトコル変換層（ＰＣＬ）は、複数種のアプリケーションプロトコル（例えば、ＳＣＳＩ、ＯＢＥＸ、他の汎用プロトコル等）にそれぞれ対応した複数の通信アダプタ（ＰＣＬアダプタ）と、プロトコル変換層（ＰＣＬ）の動作を制御するＰＣＬコントローラとを含んでいる。ＰＣＬコントローラは、通信制御部４０３と、上述の接続タイムアウト値変更部４０１およびサービス開始および停止検出部４０２を機能として含む。通信制御部４０３は、近接無線通信部２０４と外部デバイスとの間の接続が確立された場合、外部デバイスとのネゴシエーションを実行して、近接無線通信部２０４と外部デバイスとの間の近接無線通信によって提供すべきサービスを決定する。そして、通信制御部４０３は、決定されたサービスを開始する。この場合、通信制御部４０３は、決定されたサービスに対応するプロトコル（例えば、ＳＣＳＩ、ＯＢＥＸ、他の汎用プロトコル等）に対応する、複数の通信アダプタ（ＰＣＬアダプタ）の一つをスタートする処理等を実行する。スタートされたＰＣＬアダプタは、そのＰＣＬアダプタに対応するアプリケーションプログラムのデータ（ユーザデータ）を、コネクション層（ＣＮＬ）が扱うことが出来る特定の伝送用データ形式に変換する。この変換処理により、どのアプリケーションプログラムによって送受信されるデータも、コネクション層（ＣＮＬ）が扱うことが可能なパケット（特定の伝送用データ形式のデータ）に変換される。さらに、本実施形態では、例えば、サービスが開始される直前に、接続タイムアウト値がＴＯ１からＴＯ２に変更される。
【００５０】
サービスが完了すると、通信制御部４０３は、サービスを停止する。この場合、アクティブなＰＣＬアダプタを停止する処理などが行われる。さらに、本実施形態では、サービスが停止された時に、接続タイムアウト値がＴＯ２からＴＯ１に変更される。
【００５１】
ここで、ＰＣＬコントローラの通信制御部４０３のステート遷移の例について説明する。通信制御部４０３は、非接続状態、接続中状態、接続状態の３つのステートのいずれかに遷移する。非接続状態は、デバイス間が近接される前の状態、換言すれば近接無線通信部２０４とどの外部デバイスとの接続も確立されていない状態である。近接無線通信部２０４が外部デバイスから接続要求信号または接続受諾信号を受信した時、通信制御部４０３のステートは接続中状態に遷移する。接続中状態はＣＮＬ層によってＣＮＬ接続を確立しているステートである。ＣＮＬ接続の確立が完了すると、通信制御部４０３のステートは接続状態に遷移する。
【００５２】
接続状態においては、通信制御部４０３は、認証、ネゴシエーション、サービス実行という３つのフェーズから構成される制御シーケンスを開始する。つまり、通信制御部４０３は、まず、認証フェーズにおいて通信相手のデバイスを認証し、認証が成功すると、ネゴシエーションフェーズに入る。通信制御部４０３は、ネゴシエーションフェーズにおいて通信相手のデバイスとのネゴシエーションを実行し、提供すべきサービスを決定する。ネゴシエーションが成功すると、通信制御部４０３は、サービス実行フェーズに入る。通信制御部４０３は、ネゴシエーションによって決定されたサービスを、サービス実行フェーズにおいて実行する。サービスが完了すると、通信制御部４０３は、サービスを停止する。サービスが停止されても、通信制御部４０３のステートは接続状態に維持される。接続状態において接続タイムアウトが発生すると、デバイス間の接続（ＣＮＬ接続）が解除（切断）され、通信制御部４０３のステートは非接続状態に遷移される。
【００５３】
通信制御部４０３のステートが非接続状態に遷移することにより、新たなＣＮＬ接続を確立することが可能となる。本実施形態では、サービスが停止された時に接続タイムアウト値がＴＯ２からＴＯ１に変更されるので、ユーザによってデバイス同士が通信範囲外に離されると、即座に接続タイムアウトが発生し、これによってそれらデバイス間の接続を直ぐに解除することが出来る。
【００５４】
次に、図８のフローチャートを参照して、通信制御プログラムによって実行される、サービス開始時の通信制御処理の手順を説明する。
【００５５】
通信制御プログラムの制御の下、下位レイヤ（ＣＮＬ）は、本電子機器２００（近接無線通信部２０４）に近接状態である外部デバイスを検出するために、接続要求信号を送信する処理、または外部デバイスからの接続要求信号を受信する処理を開始する。接続要求信号を送信する処理、または外部デバイスからの接続要求信号を受信する処理は、近接無線通信部２０４が非接続状態である期間に実行される。ユーザによって本電子機器２００と外部デバイスとを近接させるタッチ操作が実行されると（ステップＳ１０１）、下位レイヤは、本電子機器２００が送信した接続要求信号に対する受諾を示す接続受諾信号、または接続要求信号を外部デバイスから受信することができる。外部デバイスからの接続受諾信号または接続要求信号を受信した時、通信制御プログラムの制御の下、下位レイヤは、近接無線通信部２０４と外部デバイスとの間の接続を確立する（ステップＳ１０２）。これにより、ＰＣＬコントローラのステートは非接続状態から接続状態に遷移される。この時、下位レイヤで用いられる接続タイムアウト値ＴＯは初期値ＴＯ１に設定されている。
【００５６】
上位レイヤ（ＰＣＬコントローラ）は、提供すべきサービスを決定するために外部デバイスとのネゴシエーションを実行する（ステップＳ１０３）。ネゴシエーションが成功したならば、ＰＣＬコントローラは、下位レイヤの接続タイムアウト値ＴＯをＴＯ１からＴＯ２に変更する（ステップＳ１０４）。ＴＯ２の値としては、決定されたサービスに関連付けられた値、または決定されたサービスの実行のために使用されるプロトコルに関連付けられた値を使用し得る。
【００５７】
次いで、上位レイヤは、決定されたサービスの開始を外部デバイスに要求する（ステップＳ１０６）。ステップＳ１０６では、上位レイヤは、例えば、決定したサービスを示すサービス情報（使用するプロトコル、使用するアプリケーション）を含むサービス開始メッセージを外部デバイスに送信する。サービスの開始要求に成功すると、つまりサービス開始メッセージの受諾を示す応答が外部デバイスから受信されると（ステップＳ１０６のＹＥＳ）、上位レイヤは、決定したサービスを開始する（ステップＳ１０７）。ステップＳ１０７では、上位レイヤは、決定したサービスに対応するプロトコル（ＰＣＬアダプタ）をスタートする。なお、上位レイヤは、ステップＳ１０６において、接続タイムアウト値ＴＯをＴＯ２に変更することをサービス開始メッセージに含んで通知することを考えてもよい。外部デバイスは、サービスの開始要求を受諾する場合に限り、接続タイムアウト値ＴＯを指定された値に変更する。
【００５８】
一方、もしサービスの開始要求に失敗すると（ステップＳ１０６のＮＯ）、上位レイヤは、下位レイヤの接続タイムアウト値ＴＯをＴＯ２からＴＯ１に変更する（ステップＳ１０５）。そして、上位レイヤは、ステップＳ１０３の処理に進む。
【００５９】
次に、図９のフローチャートを参照して、通信制御プログラムによって実行される、サービス停止時の通信制御処理の手順を説明する。
【００６０】
いま、電子機器２００と外部デバイスとの間の近接無線通信によってサービスが実行されている状態であるとする（ステップＳ２０１）。この時、下位レイヤの接続タイムアウト値ＴＯは、サービス提供中のためＴＯ２に設定されている。サービスが完了すると、上位レイヤは、サービスの停止を外部デバイスに要求する（ステップＳ２０２）。ステップＳ２０２では、例えば、上位レイヤは、サービスの停止を要求するサービス停止メッセージを外部デバイスに送信する。サービスの停止要求に成功すると、つまりサービス停止メッセージの受諾を示す応答が外部デバイスから受信されると（ステップＳ２０２のＹＥＳ）、上位レイヤは、サービスを停止し、そして接続タイムアウト値ＴＯをＴＯ２からＴＯ１に変更する（ステップＳ２０３）。サービスを停止する処理では、例えば、アクティブなプロトコル（アクティブなＰＣＬアダプタ）を停止する処理などが行われる。なお、上位レイヤは、ステップＳ２０２において、接続タイムアウト値ＴＯをＴＯ１に変更することをサービス停止メッセージに含んで通知することを考えてもよい。外部デバイスは、サービスの停止要求を受諾する場合に限り、接続タイムアウト値ＴＯを指定された値に変更する。
【００６１】
この後、上位レイヤのステートは、下位レイヤの接続（ＣＮＬ接続）のみが確立され、サービスが実行されていない状態に遷移する（ステップＳ２０４）。この時、接続タイムアウト値ＴＯはＴＯ１に設定されているので、下位レイヤは、接続タイムアウト値ＴＯ１に基づいて、接続タイムアウトの発生の有無、つまりデバイス間の近接状態の解除の有無を判定する。
【００６２】
以上のように、本実施形態では、上位レイヤによるサービスの提供中か否かに応じて、下位レイヤがデバイス間の近接状態の解除の有無を判定するために使用する接続タイムアウト値が変化される。より具体的には、本実施形態では、上位レイヤにおけるサービス提供中は大きな接続タイムアウト値が使用され、上位レイヤにおけるサービス提供期間外はサービス提供中よりも小さな値の接続タイムアウト値が使用される。これにより、サービス提供中のズレ耐性を大きくでき、且つサービス提供期間外においては次のアクションへ素早く移行できるので使い勝手を向上させることが出来る。
【００６３】
なお、近接無線通信機能を有する各デバイスが使用する接続タイムアウト値ＴＯ１，ＴＯ２それぞれの推奨値を予め決めておいても良い。接続状態の２つのデバイスのステートは同期している。よって、使用する接続タイムアウト値をデバイス間で交換する処理を行わずとも、接続中の２つのデバイスそれぞれが使用する接続タイムアウト値の値を整合させることが出来る。
【００６４】
本実施形態では、サービス開始前に使用される接続タイムアウト値とサービス停止後に使用される接続タイムアウト値とが同じである場合を説明したが、サービス開始前に使用される接続タイムアウト値とサービス停止後に使用される接続タイムアウト値とは必ずしも同一である必要はない。例えば、サービス停止後に使用される接続タイムアウト値を、サービス開始前に使用される接続タイムアウト値よりも小さくしても良い。
【００６５】
また、本実施形態の通信制御プログラムの機能はハードウェアモジュールによって実現することも可能である。
【００６６】
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６７】
２００…電子機器、２０１…システム制御部、２０１ａ……ＣＰＵ、２０４…近接無線通信部、４０１…接続タイムアウト値変更部、４０２…サービス開始および停止検出部、４０３…通信制御部、５０１…接続制御部、５０２…接続確立部、５０３…接続解除部。
【図１】
2011109537.tif 000003
【図２】
2011109537.tif 000004
【図３】
2011109537.tif 000005
【図４】
2011109537.tif 000006
【図５】
2011109537.tif 000007
【図６】
2011109537.tif 000008
【図７】
2011109537.tif 000009
【図８】
2011109537.tif 000010
【図９】
2011109537.tif 000011
【手続補正書】
【提出日】平成22年12月15日(2010.12.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
近接無線通信を実行する通信モジュールと、
前記通信モジュールが非接続状態であり且つ前記通信モジュールと外部デバイスとが近接状態である場合、前記通信モジュールと前記外部デバイスとの間の接続を確立し、前記外部デバイスからの応答が無い期間が接続タイムアウト値を超えた場合、前記接続を解除する接続制御手段と、
前記接続が確立された場合、前記通信モジュールと外部デバイスとの間の近接無線通信によってサービスを実行する通信制御手段と、
前記サービスの開始および停止を検出する検出手段と、
前記サービスが実行されている間の前記接続タイムアウト値が、前記サービスが実行されていない間の前記接続タイムアウト値よりも大きくなるように、前記サービスの開始および停止それぞれの検出に応答して前記接続タイムアウト値を変更する変更手段とを具備する電子機器。
【請求項２】
前記検出手段はプロトコルの開始および停止を前記サービスの開始および停止として検出し、前記プロトコルは前記サービスの実行のために使用される請求項１記載の電子機器。
【請求項３】
前記通信制御手段は、前記通信モジュールと前記外部デバイスとの間の近接無線通信によって提供すべきサービスを決定するために前記外部デバイスとのネゴシエーションを実行し、前記変更手段は、前記サービスが実行されている間の前記接続タイムアウト値を、前記決定されたサービスに関連づけられた値に設定する請求項１記載の電子機器。
【請求項４】
前記通信制御手段は、前記通信モジュールと前記外部デバイスとの間の近接無線通信によって提供すべきサービスを決定するために前記外部デバイスとのネゴシエーションを実行し、前記変更手段は、前記サービスが実行されている間の前記接続タイムアウト値を、前記決定されたサービスの実行のために使用されるプロトコルに関連づけられた値に設定する請求項１記載の電子機器。
【請求項５】
近接無線通信を実行する通信モジュールと、
前記通信モジュールが非接続状態であり且つ前記通信モジュールと外部デバイスとが近接状態である場合、近接状態である前記通信モジュールと前記外部デバイスとの間の接続を確立する接続確立手段と、
前記接続が確立されている接続状態の期間中に、前記外部デバイスからの応答が無い時間をカウントし、カウントされた時間が接続タイムアウト値を超えた場合、前記接続を解除する接続解除手段と、
前記接続が確立された場合、前記通信モジュールと前記外部デバイスとの間の近接無線通信によって提供すべきサービスを決定するために前記外部デバイスとのネゴシエーションを実行し、前記サービスが決定された場合、前記接続タイムアウト値を前記サービスが開始される前の前記接続タイムアウト値よりも大きな値に変更し、前記決定されたサービスを開始し、前記サービスが停止された場合、前記接続タイムアウト値を前記サービスが停止される前の前記接続タイムアウト値よりも小さな値に変更する通信制御手段とを具備する電子機器。
【請求項６】
通信モジュールによって実行される近接無線通信を制御する通信制御方法であって、
前記通信モジュールが非接続状態であり且つ前記通信モジュールと外部デバイスとが近接状態である場合、前記通信モジュールと前記外部デバイスとの間の接続を確立し、
前記接続が確立されている接続状態の期間中に、前記外部デバイスからの応答が無い時間をカウントし、カウントされた時間が接続タイムアウト値を超えた場合、前記接続を解除し、
前記接続が確立された場合、前記通信モジュールと前記外部デバイスとの間の近接無線通信で提供すべきサービスを決定し、
前記サービスが決定された場合、前記接続タイムアウト値を前記サービスが開始される前の前記接続タイムアウト値よりも大きな値に変更し、
前記決定されたサービスを開始し、
前記サービスが停止された場合、前記接続タイムアウト値を前記サービスが停止される前の前記接続タイムアウト値よりも小さな値に変更する通信制御方法。
【請求項７】
前記接続タイムアウト値を前記サービスが開始される前の前記接続タイムアウト値よりも大きな値に変更することは、前記接続タイムアウト値を、前記決定されたサービスに関連づけられた値に設定することを具備する請求項６記載の通信制御方法。
【請求項８】
前記接続タイムアウト値を前記サービスが開始される前の前記接続タイムアウト値よりも大きな値に変更することは、前記接続タイムアウト値を、前記決定されたサービスの実行のために使用されるプロトコルに関連づけられた値に設定することを具備する請求項６記載の通信制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上述の課題を解決するために、本発明の電子機器は、近接無線通信を実行する通信モジュールと、前記通信モジュールが非接続状態であり且つ前記通信モジュールと外部デバイスとが近接状態である場合、前記通信モジュールと前記外部デバイスとの間の接続を確立し、前記外部デバイスからの応答が無い期間が接続タイムアウト値を超えた場合、前記接続を解除する接続制御手段と、前記接続が確立された場合、前記通信モジュールと外部デバイスとの間の近接無線通信によってサービスを実行する通信制御手段と、前記サービスの開始および停止を検出する検出手段と、前記サービスが実行されている間の前記接続タイムアウト値が、前記サービスが実行されていない間の前記接続タイムアウト値よりも大きくなるように、前記サービスの開始および停止それぞれの検出に応答して前記接続タイムアウト値を変更する変更手段とを具備する。