(57)【特許請求の範囲】
【請求項１】
近距離通信ＮＦＣのための電子デバイスであって、前記電子デバイスは、１つまたは２つ以上のアプリケーションを含む処理ユニットと、リーダ／ライタデバイスと前記処理ユニットとの間のＮＦＣ通信を制御するためのコントローラとを備え、前記コントローラは、
外部のリーダ／ライタデバイスと前記処理ユニットとの間で通信を交わすように構成される通信ユニットと、
前記リーダ／ライタデバイスと前記処理ユニットとの間で交わされる通信を解析するように構成される解析ユニットであって、前記解析ユニットは、前記リーダ／ライタデバイスから受信する認証要求に応答して前記処理ユニットによって送信される認証応答内で、所定の設定の応答コードを検出するように構成され、前記所定の設定は、前記処理ユニットのアプリケーションが認証済状態になっていることを示す、解析ユニットと、
アンチコリジョン要求が認証済状態になっているアプリケーションを対象とする場合に、前記通信ユニットが、前記リーダ／ライタデバイスから受信するアンチコリジョン要求に応答しないように、および／または、前記処理ユニットへアンチコリジョン要求を転送しないように、制御するように構成される制御ユニットと、
を備える、電子デバイス。
【請求項２】
前記コントローラは、アプリケーションの識別子と、アプリケーションが認証済状態になっているのか否かを示す対応する状態情報とを記憶するように構成される記憶ユニットをさらに備える、請求項１に記載の電子デバイス。
【請求項３】
前記コントローラは、認証済状態から非認証状態へのアプリケーションの変化、および／または、非認証状態から認証済状態へのアプリケーションの変化を検出するように構成される検出ユニットをさらに備える、請求項１に記載の電子デバイス。
【請求項４】
前記記憶ユニットは、認証済状態から非認証状態へのアプリケーションの変化、および／または、非認証状態から認証済状態へのアプリケーションの変化が検出されている場合には、記憶されている前記アプリケーションの状態情報を変化させるように構成される、請求項２に記載の電子デバイス。
【請求項５】
前記検出ユニットは、前記リーダ／ライタデバイスのＲＦフィールドがなくなったか、または、弱すぎて前記コントローラおよび／または前記処理ユニットと通信できなくなってしまったかどうかを検出することによって、認証済状態から非認証状態へのアプリケーションの変化を検出するように構成される、請求項３に記載の電子デバイス。
【請求項６】
前記検出ユニットは、アンチコリジョン要求に応答して別のアプリケーションまたは処理ユニットによって送信される別のアンチコリジョン応答を検出することによって、認証済状態から非認証状態へのアプリケーションの変化を検出するように構成される、請求項３に記載の電子デバイス。
【請求項７】
前記検出ユニットは、前記リーダ／ライタデバイスからのコマンドに応答してアプリケーションによって送信される応答を検出することによって、認証済状態から非認証状態へのアプリケーションの変化を検出するように構成される、請求項３に記載の電子デバイス。
【請求項８】
前記記憶ユニットは、前記リーダ／ライタデバイスからのコマンドに応答してアプリケーションによって送信される応答が検出されていて、前記アプリケーションの状態情報が前記アプリケーションが非認証状態になっていることを示している場合には、同じ処理ユニットのすべてのアプリケーションの、前記アプリケーションが認証済状態になっていることを示す記憶されている状態情報、または、すべての処理ユニットのすべてのアプリケーションの、前記アプリケーションが認証済状態になっていることを示す記憶されている状態情報を、前記アプリケーションが非認証状態になっていることを示す状態情報へ変化させるように構成される、請求項２に記載の電子デバイス。
【請求項９】
前記通信ユニットは、前記アプリケーションの前記記憶されている状態情報が変更された場合には、アプリケーションへ状態変化通知を送信するように構成される、請求項２に記載の電子デバイス。
【請求項１０】
アプリケーションの前記状態は、Ｃｏｎｔａｃｔｌｅｓｓ  Ｔｕｎｎｅｌｉｎｇモードによって示される、請求項１に記載の電子デバイス。
【請求項１１】
リーダ／ライタデバイスと、１つまたは２つ以上のアプリケーションを含む処理ユニットとの間の近距離無線通信ＮＦＣを制御するためのコントローラであって、前記コントローラは、
外部のリーダ／ライタデバイスと前記処理ユニットとの間で通信を交わすように構成される通信ユニットと、
前記リーダ／ライタデバイスと前記処理ユニットとの間で交わされる通信を解析するように構成される解析ユニットであって、前記解析ユニットは、前記リーダ／ライタデバイスから受信する認証要求に応答して前記処理ユニットによって送信される認証応答内で、所定の設定の応答コードを検出するように構成され、前記所定の設定は、前記処理ユニットのアプリケーションが認証済状態になっていることを示す、解析ユニットと、
アンチコリジョン要求が認証済状態になっているアプリケーションを対象とする場合に、前記通信ユニットが、前記リーダ／ライタデバイスから受信するアンチコリジョン要求に応答しないように、および／または、前記処理ユニットへアンチコリジョン要求を転送しないように、制御するように構成される制御ユニットと、を備える、コントローラ。
【請求項１２】
リーダ／ライタデバイスと、１つまたは２つ以上のアプリケーションを含む処理ユニットとの間の近距離無線通信ＮＦＣを制御するための制御方法であって、前記制御方法は、
外部のリーダ／ライタデバイスと前記処理ユニットとの間で通信を交わすことと、
前記リーダ／ライタデバイスと前記処理ユニットとの間で交わされる通信を解析することであって、解析ユニットは、前記リーダ／ライタデバイスから受信する認証要求に応答して前記処理ユニットによって送信される認証応答内で所定の設定の応答コードを検出するように構成され、前記所定の設定は、前記処理ユニットのアプリケーションが認証済状態になっていることを示すことと、
アンチコリジョン要求が認証済状態になっているアプリケーションを対象としている場合に、前記リーダ／ライタデバイスから受信するアンチコリジョン要求に応答しないように、および／または、アンチコリジョン要求を前記処理ユニットへ転送しないように、通信を制御することと、
を含む方法。
【請求項１３】
プロセッサによって実行されたときに請求項１２に記載の方法が実行されるコンピュータプログラム製品をその中に記憶する非一時的なコンピュータ可読の記録媒体。
【請求項１４】
近距離無線通信ＮＦＣのための電子システムであって、前記電子システムは、
外部のリーダ／ライタデバイスと、
前記外部のリーダ／ライタデバイスと通信するように構成された請求項１に記載の電子デバイスと、
を備える、電子システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、１つまたは２つ以上のアプリケーションを含む処理ユニット、およびリーダ／ライタデバイスと処理ユニットとの間のＮＦＣ通信を制御するためのコントローラを備えた近距離無線通信（ＮＦＣ）のための電子デバイスに関する。本開示はさらに、コントローラ、制御方法、電子システムおよび媒体に関する。
【背景技術】
【０００２】
ＮＦＣフォーラムは、ＮＦＣの利用を促進するための最も可能性の高いソリューションを開発するための開発、アプリケーション、およびマーケティングの専門知識をその会員組織が共有する非営利業界団体であり、２０１３年１０月２５日の「ＮＦＣコントローラインタフェース（ＮＣＩ）」技術仕様バージョン１．１でＮＦＣコントローラのインタフェースを定義しており、ＮＦＣコントローラ（ＮＦＣＣ）を設定するため、ならびにＮＦＣコントローラおよびデバイス内の他のエンティティとデータ交換するためのさまざまなメカニズムが記載されている。
【０００３】
ＮＣＩは、ＦｅｌｉＣａ（商標）においてデバイスホスト（ＤＨ）に関するアンチコリジョンを処理する方法を規定している。理論上は、ＮＣＩはＤＨに関してだけでなく、他のエンティティ、例えばＵＩＣＣ（汎用ＩＣカードであり、ＳＩＭとも呼ばれる）に関するアンチコリジョンを処理することができる可能性がある。今日、ＵＩＣＣに関するアンチコリジョンは、ＵＩＣＣ自身によって処理されている。ＮＦＣコントローラがアンチコリジョン要求を受信し、この要求をＵＩＣＣへ転送し、ＵＩＣＣが応答を生成（要求される場合）し、ＮＦＣコントローラへその応答を送信する。
【０００４】
セキュリティに関連するＦｅｌｉＣａのアプリケーションは、リーダ／ライタデバイスとの認証が成功したか否かに応じた内部状態を有している。デフォルトの状態（本明細書では非認証状態とも呼ぶ）は、「モード０」である。ひとたびリーダ／ライタデバイスとの相互認証が行われ、セキュアな接続が確立されると、アプリケーションは状態「モード２」（本明細書では認証済状態とも呼ぶ）になる。リーダ／ライタからのアンチコリジョン要求は、「モード０」においてのみ処理されるものとする。最初の認証コマンドを受信するとすぐに「モード０」を離れる。他のいかなる状態においても、アンチコリジョン要求は無視され、リーダ／ライタデバイスへは何も送信されない。
【０００５】
解決すべき問題は、この挙動が、ＮＦＣコントローラ上でではなく処理ユニット上で実行されている、対応するアプリケーションに依存することである。それゆえ、ＮＦＣコントローラがアプリケーションの状態についての情報を得ることを可能にするソリューションを提供する必要がある。
【０００６】
本明細書で提示される「背景技術」の記載は、開示の背景を大まかに示すことを目的としている。現在記名されている発明者が実施したものは、本背景技術の項目に記載されている範囲において、および出願時点で先行技術と見なされていない記載の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
リーダ／ライタデバイスと１つまたは２つ以上のアプリケーションが実行されている処理ユニットとの間の近距離無線通信（ＮＦＣ）を制御するための電子デバイス、コントローラ、および制御方法を提供し、それによって単純で効率的かつ信頼できる方法で、コントローラが、処理ユニット上で実行されているアプリケーションについての情報を得ることがきようにすることを目的とする。対応する電子システムおよび媒体を提供することを、本開示のさらなる目的とする。
【課題を解決するための手段】
【０００８】
一態様によれば、１つまたは２つ以上のアプリケーションを含む処理ユニットと、リーダ／ライタデバイスと処理ユニットとの間のＮＦＣ通信を制御するためのコントローラを備える近距離無線通信（ＮＦＣ）のための電子デバイスであって、コントローラは、
外部のリーダ／ライタデバイスと処理ユニットとの間で通信を交わすように構成される通信ユニットと、
リーダ／ライタデバイスと処理ユニットとの間で交わされる通信を解析するように構成される解析ユニットであって、解析ユニットは、リーダ／ライタデバイスから受信した認証要求に応答して処理ユニットによって送信される認証応答内の所定の設定の応答コードを検出するように構成され、所定の設定は、処理ユニットのアプリケーションが認証済状態になっていることを示す、解析ユニットと、
アンチコリジョン要求が認証済状態にあるアプリケーションを対象としている場合に、通信ユニットが、リーダ／ライタデバイスから受信したアンチコリジョン要求に応答しないように、および／または、アンチコリジョン要求を処理ユニットへ転送しないように、制御するように構成される制御ユニットと、
を備える電子デバイスが提供される。
【０００９】
さらなる態様によれば、
外部のリーダ／ライタデバイスと処理ユニットとの間で通信を交わすことと、
リーダ／ライタデバイスと処理ユニットとの間で交わされる通信を解析することであって、解析ユニットは、リーダ／ライタデバイスから受信する認証要求に応答して処理ユニットによって送信される認証応答内の所定の設定の応答コードを検出するように構成され、所定の設定は、処理ユニットのアプリケーションが認証済状態になっていることを示すことと、
アンチコリジョン要求が認証済状態にあるアプリケーションを対象としている場合に、リーダ／ライタデバイスから受信したアンチコリジョン要求に応答しないように、および／または、アンチコリジョン要求を処理ユニットへ転送しないように、通信を制御することと、
を含む制御方法が提供される。
【００１０】
さらに、一態様によれば、対応するコントローラが提供される。さらに別の態様によれば、外部のリーダ／ライタデバイスと、本明細書に開示されるように外部のリーダ／ライタデバイスと通信するように構成された電子デバイスとを備える電子システムが提供される。
【００１１】
さらに、本開示の一態様によれば、コンピュータプログラムがコンピュータ上で実行されたときに、コンピュータに本明細書に開示された方法のステップを実行させるためのプログラム手段を備えるコンピュータプログラムと、プロセッサによって実行されたときに、本明細書で開示された方法を実行させるコンピュータプログラム製品をその中に記憶する非一時的なコンピュータ可読の記録媒体を提供している。
【００１２】
好ましい実施形態が従属請求項に記載されている。開示されたシステム、開示された方法、開示されたコンピュータプログラムおよび開示されたコンピュータ可読記録媒体は、請求項に係るコントローラおよび従属請求項に定義のものと類似のおよび／または同一の好ましい実施形態を有している。
【００１３】
開示された電子デバイス、コントローラおよび制御方法は、リーダ／ライタデバイスと処理ユニットとの間の通信を解析するという発想に基づいている。詳細には、アプリケーションによってリーダ／ライタデバイスへ送信される認証応答から、アプリケーションがどの状態になっているのか、および／または、アプリケーションが状態を変化させてしまっているかどうかを結論づけることができる。アプリケーションによって認証応答を送信した後、アプリケーションの状態は一般に認証済状態へと変化する。認証応答内に所定の設定を有する応答コードの検出から、認証応答は、アプリケーションによって送信される他の通信と区別することができる。その結果、所定の設定を有する応答コードの応答によって、コントローラが、特定のアプリケーションがその状態を認証済状態へと変化させたか否かを検出することを可能にする。
【００１４】
アプリケーションが（上記アプリケーションによって送信された認証応答内での上記所定の設定の応答コードの検出によって）認証済状態になっていることが分かっている場合、後続のアンチコリジョン要求は、コントローラによっても処理ユニットによっても応答されてはならず、および／または、アンチコリジョン要求は、処理ユニットへ一切転送されてはならない。このように、提案された電子デバイス、コントローラ、および制御方法を用いて、単純かつ効率的な方法が提供され、その方法よってコントローラはアプリケーションの状態の変化を把握する。
【００１５】
処理ユニット（デバイスホストまたはアプリケーションプロセッサと称されることもある）とＮＦＣコントローラは、別個の半導体デバイス／チップとして実現されてもよいということに留意しなければならない。例えば、本明細書でも別個の素子として開示されているように、処理ユニットは電子ホストデバイスとして実現されてもよく、またＮＦＣコントローラはＮＦＣチップとして実現されてもよい。他の実施形態では、デバイスホストとＮＦＣコントローラの両方が共通の半導体デバイス／チップとして実現されてもよい。例えば、デバイスホストおよびＮＦＣコントローラは共通のアプリケーションプロセッサとして実現されてもよく、すなわち従来は処理ユニットだけを実現していた処理ユニットにＮＦＣコントローラが組み込まれてもよい。
【００１６】
前述の段落は、概論の目的で提示されており、以下の請求項の範囲を限定することを意図するものではない。記載された実施形態は、以下の実施するための形態を、添付された図面と合わせて参照することによって、さらなる利点と共に最もよく理解されるであろう。
【図面の簡単な説明】
【００１７】
開示のより完全な理解およびその付随する多くの利点は、添付の図面と関連づけて検討すれば以下の実施するための形態を参照することによってそれがより理解されるように、容易に得られるであろう。
【図１】本開示に係るコントローラ、電子デバイスおよび電子システムの一実施形態の模式図を示す。
【図２】ＵＩＣＣ、ＮＦＣコントローラおよび外部のリーダ／ライタデバイスの間の従来の通信を説明するフローチャートを示す。
【図３】アプリケーションプロセッサ、ＮＦＣコントローラおよび外部のリーダ／ライタデバイスの間の従来の通信を説明するフローチャートを示す。
【図４】ＮＦＣコントローラの従来のアンチコリジョン処理を説明するフローチャートを示す。
【図５】ＮＦＣコントローラの従来の認証処理を説明するフローチャートを示す。
【図６】ＵＩＣＣの認証後の、ＮＦＣコントローラの望ましいアンチコリジョン処理を説明するフローチャートを示す。
【図７】本開示に係るコントローラの一実施形態のさらに詳細な模式図を示す。
【図８】「認証１」コマンドフレームおよび「認証１」応答フレームの例示的な実施形態を示す。
【図９】本開示に係るコントローラの別の実施形態のさらに詳細な模式図を示す。
【図１０】第１の実施形態におけるＵＩＣＣの認証後の、ＮＦＣコントローラのアンチコリジョン処理を説明するフローチャートを示す。
【図１１】第２の実施形態におけるＵＩＣＣの認証後の、ＮＦＣコントローラのアンチコリジョン処理を説明するフローチャートを示す。
【図１２】ＮＦＣコントローラから処理ユニットへ送信される通知イベントのデータフォーマットの例示的な一実施形態を示す。
【発明を実施するための形態】
【００１８】
ここで図面を参照すると、類似の参照符号はいくつかの図にわたって同一かまたは同様の部分を示しており、図１は本開示に係る電子デバイス１００の、ならびに電子デバイス１００および外部のリーダ／ライタデバイス２００を備えるＮＦＣシステム１の模式図を示している。電子デバイス１００は、外部のリーダ／ライタデバイス２００と通信するように構成されたフロントエンドユニット１１０を備えている。フロントエンドユニット１１０は、例えば一般に前述の規格「ＮＦＣコントローラインタフェース（ＮＣＩ）」に記載されているＮＦＣコントローラであってもよい。
【００１９】
電子デバイス１００は、処理ユニット１２０をさらに備えている。処理ユニット１２０は、例えば中央処理装置であってもよい。処理ユニット１２０は「ホスト」または「アプリケーションプロセッサ」とも称される場合がある。処理ユニット１２０は任意に１つまたは２つ以上の、例えばクレジットカード番号などの支払サービスに関連するデータなどを記憶する、アプリケーション固有のデータ構造を含んでもよい。処理ユニット１２０が、例えば加入者識別モジュール（ＳＩＭ）カードなどの別のストレージ（示されていない）に含まれる１つまたは２つ以上のセキュアエレメントに接続されることも可能である。「処理ユニット」という用語は、必ずしも高い処理能力をもつと限定して理解されてはならない。電子デバイス１００の設計に応じて、処理ユニット１２０は単に小さな処理能力を備えたメモリであってもよい。
【００２０】
電子デバイス１００は、フロントエンドユニット１１０に接続されたＮＦＣインタフェース１３０をさらに備えている。ＮＦＣインタフェース１３０は、例えば同様にさらなるＮＦＣインタフェース２１０を含むリーダ／ライタデバイス２００へ信号をするための／リーダ／ライタデバイス２００から信号を送信するための、アンテナを含んでいる。
【００２１】
フロントユニット１１０および処理ユニット１２０を備え、ＮＦＣ通信に適した任意のデバイスは、本開示に関連する電子デバイスであると理解されてよい。このような電子デバイスの例は、具体的にはスマートフォン、タブレットコンピュータ、ラップトップ、カメラなどのようなすべての種類の携帯デバイスである。
【００２２】
従来、フロントエンドユニット１１０および／または処理ユニット１２０は、第１の識別子および対応する第２の識別子を記憶するためのメモリを備えている。さらに、処理ユニット１２０は１つまたは２つ以上のアプリケーションを記憶している。これを、処理ユニット１２０、フロントエンドユニット１１０、および外部のリーダ／ライタデバイス２００の間の従来の通信を説明するフローチャートを示す図２および図３を参照しつつ、説明する。
【００２３】
図２は、ＵＩＣＣ（例えばＳＩＭカードなどの汎用ＩＣカード）１２０’（処理ユニットの一例として）、ＮＦＣコントローラ１１０’（ＮＦＣフロントエンドユニットの一例として）および外部のリーダ／ライタデバイス２００の間の従来の通信を説明するフローチャートを示している。ＮＦＣコントローラ１１０’がある第１の識別子（例えばシステムコード）を含む通信確立要求Ｓ１０（図２ではアンチコリジョン要求と称す）を受信すると、ＮＦＣコントローラ１１０’は、通信確立要求Ｓ１２をＵＩＣＣ１２０’へ転送する。ＵＩＣＣは、第１の識別子および対応する第２の識別子（例えばＩＤ）を記憶し、第２の識別子を含む対応する応答Ｓ１４（図２ではアンチコリジョン応答と称す）を送信する。ＮＦＣコントローラ１１０’は、応答Ｓ１６を外部のリーダ／ライタデバイス２００へ転送する。その後、リード／ライトコマンド（本明細書では一般に通信コマンドと称す）Ｓ２０、Ｓ２２を外部のリーダ／ライタデバイス２００からＮＦＣコントローラ１１０’を経由してＵＩＣＣ１２０’へ転送することによって、およびリード／ライト応答（本明細書では一般に通信応答と称す）Ｓ２４、Ｓ２６をＵＩＣＣ１２０’からＮＦＣコントローラ１１０’を経由して外部のリーダ／ライタデバイス２００へ転送することによって通信が開始される。
【００２４】
このような状況において、アンチコリジョンのタイミング要件を満たすために、ＮＦＣコントローラ１１０’とＵＩＣＣ１２０’との間に特殊なインタフェースが用意されてもよいということに留意しなければならない。このようなインタフェースは、例えばＥＴＳＩ  ＴＳ  １０２  ６１３に規定されているシングルワイヤプロトコル（ＳＷＰ）に記載されている。使用される「特殊モード」は、いわゆるＣｏｎｔａｃｔｌｅｓｓ  Ｔｕｎｎｅｌｉｎｇ（ＣＬＴ）モードである。この実施形態では、アンチコリジョンはＵＩＣＣ１２０’自身によって処理される。
【００２５】
図３は、アプリケーションプロセッサ１２０’’（処理ユニットの別の例で、例えばオペレーティングシステムを実行する）、ＮＦＣコントローラ１１０’’および外部のリーダ／ライタデバイス２００の間の別の従来の通信を説明するフローチャートを示している。この実施形態では、例えばＨＣＥ（Ｈｏｓｔ−Ｃａｒｄ  Ｅｍｕｌａｔｉｏｎのことで、非接触のカードをエミュレーションするためにアプリケーションプロセッサ（ホストとも称する）上で実行されるオペレーティングシステムの機能を記述している）を使用しているが、アプリケーションプロセッサ１２０’’上のデバイスホスト（ＤＨ）に関して、ＮＦＣコントローラが独立してアンチコリジョンを処理することができるように、アンチコリジョンを処理するために必要な情報がＮＦＣコントローラ１１０’’内に設定されている。この実施形態では、例えばＨＣＥを使用しているが、ＮＦＣコントローラ１１０’’が、ＮＦＣコントローラ１１０’’のメモリに記憶されたある第１の識別子（例えばシステムコード）を含む通信確立要求Ｓ３０を受信すると、ＮＦＣコントローラ１１０’’は、直ちにそれぞれの第２の識別子を含む応答Ｓ３２で、通信確立要求Ｓ３０に応答することができる。「直ちに」は「できるだけ早く」、「次のタイムスロット内で」または「応答を送信するのに必要な時間で」（応答をしない、処理ユニットによる再設定、次のコマンドで応答するということと比べて）ということを意味してもよい。いくつかの実施形態では、リーダ／ライタデバイス２００とＮＦＣコントローラ１１０’’との間の通信プロトコルは、少なくとも部分的に時間ベース（時分割多重）であってよい。続いて、図２に関して上で説明したように通信が行われる。
【００２６】
通信確立要求Ｓ１０、Ｓ１２、Ｓ３０は「アンチコリジョン要求」とも称されてよく、応答Ｓ１４、Ｓ１６、Ｓ３２は「アンチコリジョン応答」とも称されてよい。さらに、通信確立要求Ｓ２０は、通信を確立するためのリーダ／ライタデバイスからの最初の要求であってもよく、すなわち、通信が確立されたときに、リーダ／ライタデバイス２００と近距離無線通信デバイス１００との間で他の要求またはメッセージが交換されていないということに留意する必要がある。アンチコリジョン要求はいつ送信されてもよく、接続を再開するために使用されてもよい。
【００２７】
セキュリティ関連のアプリケーション、例えばＦｅｌｉＣａアプリケーションは、リーダ／ライタデバイスとの認証が成功したか否かに応じた内部状態を有している。デフォルトの状態は「モード０」（本明細書では非認証状態とも称す）と呼び、ひとたびリーダ／ライタデバイスとの相互認証が行われ、セキュアな接続が確立されると、アプリケーションは状態「モード２」（本明細書では認証済状態とも称す）になる。リーダ／ライタデバイスからのアンチコリジョン要求は、「モード０」においてのみ処理されるものとする。最初の認証コマンドを受信するとすぐに「モード０」を離れる。他のいかなる状態においても、アンチコリジョン要求は無視され、リーダ／ライタデバイスへは何も送信されない。
【００２８】
ＮＦＣコントローラ１１０’が、アンチコリジョンを独立して実行するために必要なＵＩＣＣ１２０’からのアンチコリジョン情報を用いて設定されていたと仮定すると、データフローは図４に描かれたフローチャートに示されるように見えるだろう。リーダ／ライタデバイス２００からアンチコリジョン要求Ｓ１０を受信した後、ＮＦＣコントローラ１１０’は、ＵＩＣＣ１２０’とやりとりをせずにアンチコリジョン応答Ｓ１６によって直接応答する。続いて、コマンドＳ３０、Ｓ３２，および応答Ｓ３４、Ｓ３６が、リード／ライトコマンドおよび応答について上で説明したのと同じやり方でやりとりされる。
【００２９】
セキュリティ関連のアプリケーションについては、図５に描かれたフローチャートに示すように、リーダ／ライタデバイス２００が「認証１」コマンドＳ４０を送信することによって認証フェーズを開始する。このコマンドは、ＵＩＣＣ１２０’へ転送され（Ｓ４２）、ＵＩＣＣ１２０’は「認証１」応答Ｓ４４によって応答し、その応答がリーダ／ライタデバイス２００へ転送される（Ｓ４６）。その後、「認証２」コマンドＳ５０が送信される。このコマンドは、ＵＩＣＣ１２０’へも転送され（Ｓ５２）、ＵＩＣＣ１２０’は「認証２」応答Ｓ５４によって応答し、その応答がリーダ／ライタデバイス２００へ転送される（Ｓ５６）。アプリケーション（この場合はＵＩＣＣ１２０’上の）は、「認証１」応答Ｓ４４を送信してしまうとすぐに「モード０」を離れる。その後、アプリケーションは例えば電源が切られるかまたは別のアプリケーションがアクセスされるまで、もはやアンチコリジョン要求Ｓ６０に応答してはならない。この望まれる挙動が、図６に描かれたフローチャートに示されている。この挙動は、アプリケーションの状態に依存する。ただし、アプリケーションは、ＮＦＣコントローラ上ではなく処理ユニット（例えばＵＩＣＣまたはＤＨ）上で実行されており、そのため、ＮＦＣコントローラがこの状態情報を得る手段を提供する必要がある。本開示ではこのことに対処している。
【００３０】
図７は、本開示に係るＮＦＣコントローラ３１０の模式図を示している。外部のリーダ／ライタデバイスと処理ユニット（例えば、アプリケーションプロセッサ、ＵＩＣＣなど）との間で通信を交わすように構成された通信ユニット３１２を含んでいる。解析ユニット３１４は、リーダ／ライタデバイスと処理ユニットとの間で交わされる通信を解析し、解析ユニットは、リーダ／ライタデバイスから受信した認証要求に応答して処理ユニットによって送信された認証応答内の所定の設定の応答コードを検出するように構成されており、上記所定の設定は、処理ユニットのアプリケーションが認証済状態になっていることを示す。制御ユニット３１６は、上記所定の設定の応答コードが検出されている場合には、上記通信ユニット３１２が、リーダ／ライタデバイスから受信したアンチコリジョン要求に応答しないように、および／または、アンチコリジョン要求を処理ユニットへ転送しないように制御する。ＮＦＣコントローラ３１０のこの実施形態は、このように、図６に描かれたフローチャートに示すような挙動を提供する。
【００３１】
このように、本開示によれば、ＮＦＣコントローラ３１０は、コマンドおよび応答を両方向へ転送するので、ＮＦＣコントローラ３１０は、それらのフレーム、具体的には認証応答を解析し、アプリケーションのアプリケーション状態について結論を出す。上記のように、アプリケーション状態は、「認証１」応答を送信した後に変化し、その結果そのことをＮＦＣコントローラによって認識することができる。この状況において、「フレーム」は、送信および受信される論理データ構造またはメッセージと理解されることに留意しなければならない。フレームは、コマンド、または応答、またはイベントのいずれであってもよく、言い換えれば、コマンド、応答、およびイベントが、フレームで転送されるのである。ＮＦＣコントローラは、認証応答を検出するために、アプリケーションプロセッサ（例えばデバイスホストおよび／またはＵＩＣＣ）からのフレームを詳細に解析する。
【００３２】
「認証１」コマンドフレームの例示的な一実施形態を図８Ａに描き、また、「認証１」応答フレームの例示的な一実施形態を図８Ｂに描いており、「ＩＤ］はアプリケーションの識別子（本明細書では第２の識別子とも呼ぶ）を示している。コマンドペイロードおよびコマンド依存情報が、追加パラメータフィールドに含まれている。ＮＦＣコントローラが、０ｘ１１に設定された応答コードを有する応答を検出した場合、ＮＦＣコントローラは、アプリケーションが「モード０」状態を離れてしまっていること、およびアンチコリジョン要求内の対応する識別子（例えば、それぞれのアプリケーションの状態情報を伝える対応するエントリと共に（第１の）識別子の表に記録されているように）が無視されるべきであること、すなわち、ＮＦＣコントローラが、処理ユニット内の同じアプリケーションを対象とするアンチコリジョン要求に応答、またはアンチコリジョン要求を転送してはならないということを把握する。
【００３３】
好ましくは、ＮＦＣコントローラは、アプリケーションの状態が「モード０」、すなわち、非認証状態に戻る条件も検出する。この場合、ＮＦＣコントローラは、もはやアンチコリジョン要求への応答を阻止しない。対応する検出ユニット３１８を、本開示に係るＮＦＣコントローラ３１０’の別の実施形態を描いた図９に示している。任意に、上記実施形態は、アプリケーションのＩＤ、およびアプリケーションがどの状態になっているのかを示す対応する状態情報を記憶するため、または認証済モードになっているアプリケーションのＩＤ、または非認証モードになっているアプリケーションのＩＤを記憶するための記憶ユニット３２０をさらに備えている。
【００３４】
この変化を検出するために、いくつかの選択肢がある。一選択肢によれば、ＲＦがオフ、すなわち外部のリーダ／ライタデバイス２００によって生成されるＲＦフィールドがなくなってしまったか、または、弱すぎて外部のリーダ／ライタデバイス２００と通信できなくなってしまった場合に、アプリケーションの状態の変化が起こる。これは、例えばＮＦＣインタフェース（図１の１３０）によって検出される。ＲＦフィールドがなくなるとすぐに、例えばＮＦＣコントローラから処理ユニットへイベントが送信されるか、または、例えばＳＩＭの場合には電源がなくなる。
【００３５】
別の選択肢によれば、「モード１」または「モード２」になっているもの、すなわち、認証済状態になっているもの以外の別のアプリケーションを対象としたアンチコリジョン要求の場合は、別のアンチコリジョン要求が送信された場合に、アプリケーションの状態の変化が起こる。図１０に示すフローチャートでこれを説明している。「認証１」応答Ｓ４４の検出および解析を経て、ＮＦＣコントローラ３１０’’は、（第１の）アプリケーションがその状態を認証済状態（本明細書では、モード０は非認証状態と見なされ、一方、他のすべての状態、すなわちモード１、モード２およびモード３は認証済状態と見なされる）へ変化させたことを把握し、アンチコリジョンエントリを非アクティブに（Ｓ４５）し、すなわち、上記（第１の）アプリケーションを対象としたアンチコリジョン要求にもはや応答しない。異なる（第２の）アプリケーションとの通信を確立することを指示する別のアンチコリジョン要求Ｓ７０がＮＦＣコントローラ３１０’’によって受信された場合、ＮＦＣコントローラ３１０’’は第１のアプリケーションに関する状態情報を非認証状態にリセットする（Ｓ７３）。また、ＮＦＣコントローラ３１０’’は、アンチコリジョン要求Ｓ７０に対してアンチコリジョン応答Ｓ７２で応答する。任意で、ＮＦＣコントローラ３１０’’の状態情報の変化をＵＩＣＣ１２０’上の（第１の）アプリケーションへ通知するために、変化情報（「モードイベント」）Ｓ７４が、ＵＩＣＣ１２０’上の（第１の）アプリケーションへ送信される。したがって、ステップＳ７３の後、モードイベント、または異なるアプリケーションを対象とするコマンドのいずれかがＵＩＣＣ１２０’によって受信され、その結果、この場合においては第１のアプリケーションは、自身がそのモードを変更する必要があることを把握する。このようにして、ＵＩＣＣ１２０’は、新たなアプリケーションを「選択」し、第１のアプリケーションを「非選択」にする。
【００３６】
さらに別の選択肢によれば、「モード１」または「モード２」になっているもの以外の別のアプリケーション宛ての任意のコマンドに対する応答が送信された場合に、アプリケーションの状態の変化が起こる。図１１に示すフローチャートでこれを説明している。この選択肢によれば、アプリケーションからのすべての応答が監視され、アプリケーション（すなわちＵＩＣＣ１２０’、１２１’、…上の）の識別子（別名ＩＤｍ、ＮＦＣＩＤ２）がＮＦＣコントローラ３１０’’’によって確認される。応答内の識別子が、モード０になっている、すなわち、非認証状態になっていて、モード１、２または３にはなっていないアプリケーションに属している場合、ＮＦＣコントローラ３１０’’’は、すべてのアプリケーションの状態情報をリセットし（「モード０」に戻し）、すべてのアンチコリジョンエントリを有効にする（Ｓ８５）。
【００３７】
例えば、図１１に示すように、リード／ライトコマンドＳ８０、Ｓ８２が、ＵＩＣＣ１２１’上のアプリケーション（または代わりに、ＵＩＣＣ１２０’上の第２のアプリケーション）を、すなわち、非認証状態（モード０）になっているアプリケーションを対象としていて、ＮＦＣコントローラ３１０’’’が上記アプリケーションからのリード／ライト応答Ｓ８４を検出した場合、すべてのアプリケーションに関してＮＦＣコントローラ内の状態情報が非認証状態（モード０）へ変更され、後続のアンチコリジョン要求がＮＦＣコントローラ３１０’’’によって処理される。さらに、リード／ライト応答Ｓ８６がリーダ／ライタデバイス２００へ転送される。
【００３８】
ＮＦＣコントローラは、この機能を達成するためにさまざまなアプローチをフォローすることができる（１つのアプリケーションが認証済状態、すなわち、「モード１」、「モード２」または「モード３」になっていると仮定して）。
【００３９】
第１のアプローチによれば、ＮＦＣコントローラが、デバイス（すなわち、例えば携帯電話など、１つまたは２つ以上の処理ユニット（ＤＨおよびＵＩＣＣ）を備えたデバイス全体、または、デバイスのサブセット、すなわち、処理ユニット１つだけ、のいずれかで、それはインプリメンテーション次第である）のすべてのアプリケーションのすべての識別子（ＩＤ）を認識している場合、ＮＦＣコントローラは、応答が、非認証状態に（すなわちモード０に）いる有効なアプリケーションの１つのＩＤを含んでいるかどうかを確認することができる。含んでいる場合、ＮＦＣコントローラは、認証済状態になっている（すなわちモード０になっていない）アプリケーションのアンチコリジョンエントリを再度有効にする。ＩＤが異なっている場合、その応答は、認証済状態になっている、すなわち、モード１、モード２またはモード３になっているアプリケーションからの暗号化または非暗号化の応答のいずれかであるはずであり、ＮＦＣコントローラはその応答を無視することができる。
【００４０】
第２のアプローチによれば、ＮＦＣコントローラは、「認証１」応答のＩＤをバッファリング（上に示すように）し、それ以降別のＩＤを有する非暗号化応答（対応するアプリケーションが非認証状態にいることを示す）が送信されるかどうかを確認する。この場合、非暗号化応答を検出するため、例えばオプションの記憶ユニット（図９の３２０）に記憶された表で、ＩＤだけではなく応答コードも監視される。ただし、ＮＦＣコントローラは一般に、ＩＤの完全なリストを記憶する必要はない。
【００４１】
上で説明したように、また図１０に示すように、ＮＦＣコントローラから処理ユニット、例えばＵＩＣＣへ送信された追加のイベントＳ７４を使用して、１つまたは２つ以上のアンチコリジョンエントリのステータス変化、すなわち、ＮＦＣコントローラ内での状態情報の変化について通知してもよい。好ましくは、そういったイベントは、少なくとも、アンチコリジョンデータの一部であるシステムコード（すなわち第１の識別子）、および／またはＩＤ（すなわち第２の識別子）、およびアンチコリジョンエントリが有効になっているか無効になっているかの情報を含む。イベントのデータフォーマットの例示的な一実施例が図１２に描かれている。
【００４２】
このイベントは、アプリケーションが内部の状態をリセットするために使用され得る。別の方法として、汎用のイベント、例えばＲＦフィールドがオフに切り替えられたことを示すイベントなどを使用して、特定の１つのエントリだけが無効化されただけではなくすべてのアプリケーションをリセットすることができることを示すことができる。
【００４３】
要約すると、本開示は、ＮＦＣコントローラがアプリケーションの状態に関する情報を収集できるということを提供するデバイス、システム、および方法を記載している。この情報は、ＮＦＣコントローラ内でアンチコリジョン要求を正しく処理するために必要とされる。ＮＦＣコントローラ内でアンチコリジョン要求を完璧に処理することによって、ＥＴＳＩ  ＴＳ  １０２  ６１３に規定されるＳＷＰ  ＣＬＴモードはもはや必要とはされない。
【００４４】
このように、前述の考察は、本開示の単に例示的な実施形態を開示して記載しているにすぎない。当業者であれば分かるように、本開示は、その精神または主要な特徴から逸脱することなく、他のいろいろな形態で実施され得る。よって、本開示による開示は、例示を意図するものであり、開示および他の請求項の範囲を限定するものではない。開示は、本明細書の教示の容易に認識できるあらゆる変形を含んで、発明の主題事項が公に公開されないように、一部、前述の請求項中の用語の範囲を規定している。
【００４５】
請求項において、「ｃｏｍｐｒｉｓｉｎｇ」とうい単語は、他の要素またはステップを除外するものではなく、また不定冠詞「ａ」または「ａｎ」は複数存在することを除外するものではない。１つの要素または他のユニットが、請求項に列挙されているいくつかの項目の機能を果たしてもよい。単に、ある手段が互いに異なった従属請求項に列挙されているという事実だけでは、これらの手段の組合せが有利に使用され得ないということを示すものではない。
【００４６】
開示の実施形態が、少なくとも一部、ソフトウェア制御のデータ処理装置によって実現されていると記載されている限り、光ディスク、磁気ディスク、半導体メモリなど、このようなソフトウェアを担持している非一時的な機械可読の記録媒体も、本開示の一実施形態を表すことが理解されるであろう。さらに、このようなソフトウェアは、インターネットまたは他の有線もしくは無線の電気通信システムを介してなど、他の形式で配布されてもよい。
【００４７】
開示されたデバイス、装置およびシステムの要素は、例えば専有回路など、対応するハードウェアおよび／またはソフトウェア要素で実現されてもよい。回路は、従来の回路素子である、特定用途向け集積回路、標準的な集積回路、特定用途向け標準製品、およびフィールド  プログラマブル  ゲート  アレイを含む集積回路を含む電子部品の構造的集まりである。さらに、回路は、ソフトウェアコードに従ってプログラムまたは設定される中央処理装置、グラフィックス処理ユニット、およびマイクロプロセッサを含んでいる。回路は上記のハードウェア実行ソフトウェアは含んでいるが、回路は純粋なソフトウェアは含んでいない。
【００４８】
開示された主題のさらなる実施形態のリストである：
１．
近距離通信ＮＦＣのための電子デバイスであって、前記電子デバイスは、１つまたは２つ以上のアプリケーションを含む処理ユニットと、リーダ／ライタデバイスと前記処理ユニットとの間のＮＦＣ通信を制御するためのコントローラとを備え、前記コントローラは、
外部のリーダ／ライタデバイスと前記処理ユニットとの間で通信を交わすように構成される通信ユニットと、
前記リーダ／ライタデバイスと前記処理ユニットとの間で交わされる通信を解析するように構成される解析ユニットであって、前記解析ユニットは、前記リーダ／ライタデバイスから受信する認証要求に応答して前記処理ユニットによって送信される認証応答内で、所定の設定の応答コードを検出するように構成され、前記所定の設定は、前記処理ユニットのアプリケーションが認証済状態になっていることを示す、解析ユニットと、
アンチコリジョン要求が認証済状態になっているアプリケーションを対象とする場合に、前記通信ユニットが、前記リーダ／ライタデバイスから受信するアンチコリジョン要求に応答しないように、および／または、前記処理ユニットへアンチコリジョン要求を転送しないように、制御するように構成される制御ユニットと、
を備える、電子デバイス。
２．
前記コントローラは、アプリケーションの識別子と、アプリケーションが認証済状態になっているのか否かを示す対応する状態情報とを記憶するように構成される記憶ユニットをさらに備える、実施形態１を特徴づける電子デバイス。
３．
前記コントローラは、認証済状態から非認証状態へのアプリケーションの変化、および／または、非認証状態から認証済状態へのアプリケーションの変化を検出するように構成される検出ユニットをさらに備える、いずれかの解析実施形態を特徴づける電子デバイス。
４．
前記記憶ユニットは、認証済状態から非認証状態へのアプリケーションの変化、および／または、非認証状態から認証済状態へのアプリケーションの変化が検出されている場合には、記憶されている前記アプリケーションの状態情報を変化させるように構成される、実施形態２および３を特徴づける電子デバイス。
５．
前記検出ユニットは、前記リーダ／ライタデバイスのＲＦフィールドがなくなったか、または、弱すぎて前記コントローラおよび／または前記処理ユニットと通信できなくなってしまったかどうかを検出することによって、認証済状態から非認証状態へのアプリケーションの変化を検出するように構成される、実施形態３を特徴づける電子デバイス。
６．
前記検出ユニットは、アンチコリジョン要求に応答して別のアプリケーションまたは処理ユニットによって送信される別のアンチコリジョン応答を検出することによって、認証済状態から非認証状態へのアプリケーションの変化を検出するように構成される、実施形態３を特徴づける電子デバイス。
７．
前記検出ユニットは、前記リーダ／ライタデバイスからのコマンドに応答してアプリケーションによって送信される応答を検出することによって、認証済状態から非認証状態へのアプリケーションの変化を検出するように構成される、実施形態３を特徴づける電子デバイス。
８．
前記記憶ユニットは、前記リーダ／ライタデバイスからのコマンドに応答してアプリケーションによって送信される応答が検出されていて、前記アプリケーションの状態情報が前記アプリケーションが非認証状態になっていることを示している場合には、同じ処理ユニットのすべてのアプリケーションの、前記アプリケーションが認証済状態になっていることを示す記憶されている状態情報、または、すべての処理ユニットのすべてのアプリケーションの、前記アプリケーションが認証済状態になっていることを示す記憶されている状態情報を、前記アプリケーションが非認証状態になっていることを示す状態情報へ変化させるように構成される、実施形態２および７を特徴づける電子デバイス。
９．
前記通信ユニットは、前記アプリケーションの前記記憶されている状態情報が変更された場合には、アプリケーションへ状態変化通知を送信するように構成される、実施形態２を特徴づける電子デバイス。
１０
アプリケーションの前記状態は、Ｃｏｎｔａｃｔｌｅｓｓ  Ｔｕｎｎｅｌｉｎｇモードによって示される、いずれかの解析実施形態を特徴づける電子デバイス。
１１．
リーダ／ライタデバイスと、１つまたは２つ以上のアプリケーションを含む処理ユニットとの間の近距離無線通信ＮＦＣを制御するためのコントローラであって、前記コントローラは、
外部のリーダ／ライタデバイスと前記処理ユニットとの間で通信を交わすように構成される通信ユニットと、
前記リーダ／ライタデバイスと前記処理ユニットとの間で交わされる通信を解析するように構成される解析ユニットであって、前記解析ユニットは、前記リーダ／ライタデバイスから受信する認証要求に応答して前記処理ユニットによって送信される認証応答内で、所定の設定の応答コードを検出するように構成され、前記所定の設定は、前記処理ユニットのアプリケーションが認証済状態になっていることを示す、解析ユニットと、
アンチコリジョン要求が認証済状態になっているアプリケーションを対象とする場合に、前記通信ユニットが、前記リーダ／ライタデバイスから受信するアンチコリジョン要求に応答しないように、および／または、前記処理ユニットへアンチコリジョン要求を転送しないように、制御するように構成される制御ユニットと、
を備える、コントローラ。
１２．
リーダ／ライタデバイスと、１つまたは２つ以上のアプリケーションを含む処理ユニットとの間の近距離無線通信ＮＦＣを制御するための制御方法であって、前記制御方法は、
外部のリーダ／ライタデバイスと前記処理ユニットとの間で通信を交わすことと、
前記リーダ／ライタデバイスと前記処理ユニットとの間で交わされる通信を解析することであって、解析ユニットは、前記リーダ／ライタデバイスから受信する認証要求に応答して前記処理ユニットによって送信される認証応答内で所定の設定の応答コードを検出するように構成され、前記所定の設定は、前記処理ユニットのアプリケーションが認証済状態になっていることを示すことと、
アンチコリジョン要求が認証済状態になっているアプリケーションを対象としている場合に、前記リーダ／ライタデバイスから受信するアンチコリジョン要求に応答しないように、および／または、アンチコリジョン要求を前記処理ユニットへ転送しないように、通信を制御することと、
を含む方法。
１３．
プロセッサによって実行されたときに実施形態１２に記載の方法が実行されるコンピュータプログラム製品をその中に記憶する非一時的なコンピュータ可読の記録媒体。
１４．
近距離無線通信ＮＦＣのための電子システムであって、前記電子システムは、
外部のリーダ／ライタデバイスと、
前記外部のリーダ／ライタデバイスと通信するように構成された実施形態１に記載の電子デバイスと、
を備える、電子システム。
１５．
コンピュータによって実行されたときに、コンピュータに実施形態１２に記載のステップを実行させるプログラムコードを含む、コンピュータプログラム。
【図１】
0006589974.tif 000002
【図２】
0006589974.tif 000003
【図３】
0006589974.tif 000004
【図４】
0006589974.tif 000005
【図５】
0006589974.tif 000006
【図６】
0006589974.tif 000007
【図７】
0006589974.tif 000008
【図８Ａ】
0006589974.tif 000009
【図８Ｂ】
0006589974.tif 000010
【図９】
0006589974.tif 000011
【図１０】
0006589974.tif 000012
【図１１】
0006589974.tif 000013
【図１２】
0006589974.tif 000014