(57)【特許請求の範囲】
【請求項１】
非接触通信により他の通信装置とデータ交換を行うためのアプリケーションを実行する第１の処理手段と、
前記第１の処理手段と前記他の通信装置とを仲介するインターフェイスを有し、前記他の通信装置とデータの送受信を行う第２の処理手段と
を備え、
所定のプロトコルに従って通信リンクを確立する前記他の通信装置に対して、
前記第２の処理手段による、前記所定のプロトコルに対応する前記インターフェイスのアクティベーション処理、
前記第１の処理手段による、前記アプリケーションの起動処理、
起動された前記アプリケーションによるデータ交換処理、
前記第２の処理手段による、アクティベートされた前記インターフェイスのディアクティベーション処理
を実行することで、前記他の通信装置と通信を行う
通信装置。
【請求項２】
前記第２の処理手段は、通信対象となる前記他の通信装置を検出する処理を行い、複数の前記他の通信装置を検出した場合、前記第１の処理手段に通知し、
前記第１の処理手段は、通知された複数の前記他の通信装置のなかから所定の前記他の通信装置を通信相手として選択し、
前記第２の処理手段は、前記第１の処理手段により選択された前記他の通信装置に対して、前記アクティベーション処理を開始する
請求項１に記載の通信装置。
【請求項３】
前記第２の処理手段の前記インターフェイスは、前記所定のプロトコルに対しては複数のインターフェイスレベルをサポートしており、
前記第１の処理手段は、前記第２の処理手段が前記他の通信装置と通信リンクを確立する前に、前記他の通信装置との通信で使用され得る前記所定のプロトコルに前記インターフェイスレベルを対応づけた対応関係を前記第２の処理手段に通知し、
前記第２の処理手段は、前記第１の処理手段から通知された前記対応関係に基づき、前記他の通信装置との通信で使用する前記所定のプロトコルに対応する前記インターフェイスレベルの前記インターフェイスのアクティベーション処理を行う
請求項１に記載の通信装置。
【請求項４】
前記第２の処理手段は、前記他の通信装置と通信リンクを確立する前に、前記所定のプロトコルに対して自身がサポートする前記インターフェイスレベルを前記第１の処理手段に通知し、
前記第１の処理手段は、前記第２の処理手段がサポートする前記インターフェイスレベ
ルに基づいて、前記対応関係を前記第２の処理手段に通知する
請求項３に記載の通信装置。
【請求項５】
前記所定のプロトコルは、T1T、T2T、T3T、ISO-DEP、またはNFC-DEPのいずれかである
請求項３に記載の通信装置。
【請求項６】
前記第２の処理手段は、前記他の通信装置ごとのメッセージを送信して、通信リンクが確立された複数の前記他の通信装置を前記第１の処理手段に通知し、
前記第１の処理手段は、通信リンクが確立された複数の前記他の通信装置のなかから、通信を行う所定の通信装置を選択するメッセージを前記第２の処理手段に送信し、
前記第２の処理手段は、通信を行うことが選択された前記他の通信装置が使用する前記所定のプロトコルに対応する前記インターフェイスレベルの前記インターフェイスのアクティベーション処理を開始する
請求項３に記載の通信装置。
【請求項７】
非接触通信により他の通信装置とデータ交換を行うためのアプリケーションを実行する第１の処理手段と、前記第１の処理手段と前記他の通信装置とを仲介するインターフェイスを有し、前記他の通信装置とデータの送受信を行う第２の処理手段とを備える通信装置が、所定のプロトコルに従って通信リンクを確立する前記他の通信装置に対して、
前記第２の処理手段による、前記所定のプロトコルに対応する前記インターフェイスのアクティベーション処理、
前記第１の処理手段による、前記アプリケーションの起動処理、
起動された前記アプリケーションによるデータ交換処理、
前記第２の処理手段による、アクティベートされた前記インターフェイスのディアクティベーション処理
を実行することで、前記他の通信装置と通信を行う
通信方法。
【請求項８】
コンピュータを、
非接触通信により他の通信装置とデータ交換を行うためのアプリケーションを実行する第１の処理手段と、
前記第１の処理手段と前記他の通信装置とを仲介するインターフェイスを有し、前記他の通信装置とデータの送受信を行う第２の処理手段
として機能させ、
所定のプロトコルに従って通信リンクを確立する前記他の通信装置に対して、
前記第２の処理手段による、前記所定のプロトコルに対応する前記インターフェイスのアクティベーション処理、
前記第１の処理手段による、前記アプリケーションの起動処理、
起動された前記アプリケーションによるデータ交換処理、
前記第２の処理手段による、アクティベートされた前記インターフェイスのディアクティベーション処理
を実行することで、前記他の通信装置と通信を行う
ためのプログラム。
【請求項９】
データ処理手段と他の通信装置との通信を仲介するインターフェイスと、
前記通信の仲介を制御する制御手段と
を備え、
前記制御手段は、
前記通信のためのプロトコルに対応する前記インターフェイスのアクティベーション処理、
前記アクティベーション処理の完了を前記データ処理手段に通知するアクティベーション完了通知処理、
前記アクティベートされた前記インターフェイスを介した通信の仲介処理、
前記アクティベートされた前記インターフェイスのディアクティベーション処理
を実行する
通信制御装置。
【請求項１０】
前記制御手段は、前記ディアクティベーション処理の完了を前記データ処理手段に通知するディアクティベーション完了通知処理を実行する
請求項９に記載の通信制御装置。
【請求項１１】
前記インターフェイスは、前記プロトコルに対して複数のインターフェイス能力をサポートしている
請求項９に記載の通信制御装置。
【請求項１２】
前記アクティベーション完了通知処理は、前記アクティベートされた前記インターフェイスのインターフェイス能力を前記データ処理手段に通知する
請求項１１に記載の通信制御装置。
【請求項１３】
前記プロトコルに対応するインターフェイス能力があらかじめ設定されている
請求項１１に記載の通信制御装置。
【請求項１４】
前記インターフェイス能力の設定は、前記データ処理手段との初期設定時に行われる
請求項１３に記載の通信制御装置。
【請求項１５】
データ処理手段と他の通信装置との通信を仲介するインターフェイスと、前記通信の仲介を制御する制御手段とを有する通信制御装置が、
前記通信のためのプロトコルに対応する前記インターフェイスのアクティベーション処理、
前記アクティベーション処理の完了を前記データ処理手段に通知するアクティベーション完了通知処理、
前記アクティベートされた前記インターフェイスを介して通信の仲介処理、
前記アクティベートされた前記インターフェイスのディアクティベーション処理
を実行する
通信制御方法。
【請求項１６】
コンピュータを、
データ処理手段と他の通信装置との通信を仲介するインターフェイスと、
前記通信の仲介を制御する制御手段
として機能させ、
前記通信のためのプロトコルに対応する前記インターフェイスのアクティベーション処理、
前記アクティベーション処理の完了を前記データ処理手段に通知するアクティベーション完了通知処理、
前記アクティベートされた前記インターフェイスを介して通信の仲介処理、
前記アクティベートされた前記インターフェイスのディアクティベーション処理
を実行する
ためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および通信方法、通信制御装置および通信制御方法、並びにプログラムに関し、特に、複数種類のリモートターゲットやプロトコルが検出された場合にも対応可能なインターフェイスを提供することができるようにする通信装置および通信方法、通信制御装置および通信制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
IC(Integrated Circuit)カードを用いて、近距離で非接触により無線通信を行う近距離無線通信システムが広く利用されている。例えば、電子乗車券や、電子マネーとしての利用がよく知られている。また、最近では、非接触無線通信による電子乗車券や電子マネーの機能を備えた携帯電話機も普及してきている。
【０００３】
近距離無線通信システムは、世界規模で急激に普及し、国際規格にもなっている。例えば、国際規格としては、近接型のICカードシステムの規格であるISO/IEC 14443、およびNFCIP(Near Field Communication Interface and Protocol)-1の規格であるISO/IEC 18092などがある。
【０００４】
ISO/IEC 18092による近距離無線通信には、アクティブコミュニケーションモードとパッシブコミュニケーションモードとがある。アクティブコミュニケーションモードは、データを送受信する複数の通信装置のそれぞれにおいて、電磁波を出力し、その電磁波を変調することによりデータの送信を行う通信モードである。パッシブコミュニケーションモードは、複数の通信装置のうちの１の通信装置（イニシエータ）が、電磁波を出力し、その電磁波を変調することによりデータの送信を行う。複数の通信装置のうちの他の通信装置（ターゲット）は、イニシエータが出力する電磁波を負荷変調することによりデータの送信を行う。
【０００５】
ISO/IEC 18092のパッシブコミュニケーションモード（以下、タイプFと称する）では、リーダライタとICカードとの間のデータ伝送に、Manchesterによるデータのエンコードが行われる。また、タイプFでは、データの通信レートとして、212kbpsと424kbpsが採用されている。本出願人であるソニー株式会社のFeliCa（登録商標）方式は、タイプFに相当する。
【０００６】
また、ISO/IEC 14443のICカードシステムにおいても、例えば、タイプA、タイプBと呼ばれている各種の通信方式がある。
【０００７】
タイプAは、フィリップス社のMIFARE（登録商標）方式として採用されているものである。タイプAでは、リーダライタからICカードへのデータ伝送には、ミラー（Miller）によるデータのエンコードが行われ、ICカードからリーダライタへのデータ伝送には、マンチェスタ（Manchester）によるデータのエンコードが行われる。また、タイプAでは、データの通信レートとして、106乃至847kbps(kilo bit per second)が採用されている。
【０００８】
タイプBでは、リーダライタからICカードへのデータ伝送には、NRZによるデータのエンコードが行われ、ICカードからリーダライタへのデータ伝送には、NRZ-Lよるデータのエンコードが行われる。また、タイプBでは、データの通信レートとして、106kbpsが採用されている。
【０００９】
ISO/IEC 18092またはISO/IEC 14443による近距離無線通信を行う通信装置を、以下では、NFCデバイスという。NFCデバイスを、NFCC（NFC Controller）とDH(Device Host)とに機能的に分離し、NFCCとDHが交換するプロトコルやコマンドを定義したものがある（例えば、特許文献１参照）。NFCCは、アンテナを介して、リモートターゲット（ISO/IEC 14443のPICC（ICカード）やISO/IEC 18092のターゲット）とのRFデータの送受信を主に行い、DHは、主にアプリケーションの実行とNFCデバイス全体の制御を行う。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特表２００９−５１５２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１では、ISO/IEC 14443のタイプAまたはタイプB、ISO/IEC 18092のタイプFなどのうち、いずれか１種類のリモートターゲットやプロトコルが検出された場合しか想定されていない。換言すれば、１種類のリモートターゲットやプロトコルのみが検出される前提でのNFCCとDHとのインターフェイスとなっている。そのため、複数種類のリモートターゲットやプロトコルが検出された場合には適用できず、複数種類のリモートターゲットやプロトコルでも対応可能なNFCCとDHとのインターフェイスが望まれる。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、複数種類のリモートターゲットやプロトコルが検出された場合にも対応可能なインターフェイスを提供することができるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の第１の側面の通信装置は、非接触通信により他の通信装置とデータ交換を行うためのアプリケーションを実行する第１の処理手段と、前記第１の処理手段と前記他の通信装置とを仲介するインターフェイスを有し、前記他の通信装置とデータの送受信を行う第２の処理手段とを備え、所定のプロトコルに従って通信リンクを確立する前記他の通信装置に対して、前記第２の処理手段による、前記所定のプロトコルに対応する前記インターフェイスのアクティベーション処理、前記第１の処理手段による、前記アプリケーションの起動処理、起動された前記アプリケーションによるデータ交換処理、前記第２の処理手段による、アクティベートされた前記インターフェイスのディアクティベーション処理を実行することで、前記他の通信装置と通信を行う通信装置である。
【００１４】
本発明の第１の側面の通信方法は、非接触通信により他の通信装置とデータ交換を行うためのアプリケーションを実行する第１の処理手段と、前記第１の処理手段と前記他の通信装置とを仲介するインターフェイスを有し、前記他の通信装置とデータの送受信を行う第２の処理手段とを備える通信装置が、所定のプロトコルに従って通信リンクを確立する前記他の通信装置に対して、前記第２の処理手段による、前記所定のプロトコルに対応する前記インターフェイスのアクティベーション処理、前記第１の処理手段による、前記アプリケーションの起動処理、起動された前記アプリケーションによるデータ交換処理、前記第２の処理手段による、アクティベートされた前記インターフェイスのディアクティベーション処理を実行することで、前記他の通信装置と通信を行う通信方法である。
【００１５】
本発明の第１の側面のプログラムは、コンピュータを、非接触通信により他の通信装置とデータ交換を行うためのアプリケーションを実行する第１の処理手段と、前記第１の処理手段と前記他の通信装置とを仲介するインターフェイスを有し、前記他の通信装置とデータの送受信を行う第２の処理手段として機能させ、所定のプロトコルに従って通信リンクを確立する前記他の通信装置に対して、前記第２の処理手段による、前記所定のプロトコルに対応する前記インターフェイスのアクティベーション処理、前記第１の処理手段による、前記アプリケーションの起動処理、起動された前記アプリケーションによるデータ交換処理、前記第２の処理手段による、アクティベートされた前記インターフェイスのディアクティベーション処理を実行することで、前記他の通信装置と通信を行うためのプログラムである。
【００１６】
本発明の第１の側面においては、所定のプロトコルに従って通信リンクを確立する他の通信装置に対して、第２の処理手段による、所定のプロトコルに対応するインターフェイスのアクティベーション処理、第１の処理手段による、アプリケーションの起動処理、起動されたアプリケーションによるデータ交換処理、第２の処理手段による、アクティベートされたインターフェイスのディアクティベーション処理を実行することで、他の通信装置と通信が行われる。
本発明の第２の側面の通信制御装置は、データ処理手段と他の通信装置との通信を仲介するインターフェイスと、前記通信の仲介を制御する制御手段とを備え、前記制御手段は、前記通信のためのプロトコルに対応する前記インターフェイスのアクティベーション処理、前記アクティベーション処理の完了を前記データ処理手段に通知するアクティベーション完了通知処理、前記アクティベートされた前記インターフェイスを介した通信の仲介処理、前記アクティベートされた前記インターフェイスのディアクティベーション処理を実行する通信制御装置である。
本発明の第２の側面の通信制御方法は、データ処理手段と他の通信装置との通信を仲介するインターフェイスと、前記通信の仲介を制御する制御手段とを有する通信制御装置が、前記通信のためのプロトコルに対応する前記インターフェイスのアクティベーション処理、前記アクティベーション処理の完了を前記データ処理手段に通知するアクティベーション完了通知処理、前記アクティベートされた前記インターフェイスを介して通信の仲介処理、前記アクティベートされた前記インターフェイスのディアクティベーション処理を実行する通信制御方法である。
本発明の第２の側面のプログラムは、コンピュータを、データ処理手段と他の通信装置との通信を仲介するインターフェイスと、前記通信の仲介を制御する制御手段として機能させ、前記通信のためのプロトコルに対応する前記インターフェイスのアクティベーション処理、前記アクティベーション処理の完了を前記データ処理手段に通知するアクティベーション完了通知処理、前記アクティベートされた前記インターフェイスを介して通信の仲介処理、前記アクティベートされた前記インターフェイスのディアクティベーション処理を実行するためのプログラムである。
本発明の第２の側面においては、データ処理手段と他の通信装置との通信のためのプロトコルに対応する、その通信を仲介するインターフェイスのアクティベーション処理、アクティベーション処理の完了をデータ処理手段に通知するアクティベーション完了通知処理、アクティベートされたインターフェイスを介して通信の仲介処理、アクティベートされたインターフェイスのディアクティベーション処理が実行される。
【発明の効果】
【００１７】
本発明によれば、複数種類のリモートターゲットやプロトコルが検出された場合にも対応可能なインターフェイスを提供することができるようにする。
【図面の簡単な説明】
【００１８】
【図１】本発明を適用した通信システムの一実施の形態の構成例を示すブロック図である。
【図２】RFプロトコルごとの設定可能なインターフェイスレベルを示す図である。
【図３】NFCデバイス間のP2P通信のための通信レイヤーの場合のインターフェイスレベルによる処理の違いを示した図である。
【図４】各メッセージの詳細フォーマットについて説明する図である。
【図５】各メッセージの詳細フォーマットについて説明する図である。
【図６】各メッセージの詳細フォーマットについて説明する図である。
【図７】各メッセージの詳細フォーマットについて説明する図である。
【図８】各メッセージの詳細フォーマットについて説明する図である。
【図９】各メッセージの詳細フォーマットについて説明する図である。
【図１０】メッセージの一覧を示す図である。
【図１１】シーケンスの概要について説明するフローチャートである。
【図１２】Poll Modeの場合のシーケンスの詳細例を説明する図である。
【図１３】Poll Modeの場合のシーケンスの詳細例を説明するフローチャートである。
【図１４】Listen Modeの場合のシーケンスの詳細例を説明するフローチャートである。
【図１５】Listen Modeの場合のシーケンスの詳細例を説明するフローチャートである。
【発明を実施するための形態】
【００１９】
［本発明を適用した通信システムの構成例］
図１は、本発明を適用した通信システムの一実施の形態の構成例を示している。
【００２０】
図１の通信システムは、NFCデバイス１とNFCデバイス１１−１乃至１１−３により構成される。
【００２１】
NFCデバイス１及びNFCデバイス１１−１乃至１１−３は、ISO/IEC 18092及びISO/IEC 14443の両方または一方による近距離無線通信を行う通信装置である。NFCデバイス１及びNFCデバイス１１−１乃至１１−３は、ポーリングデバイス（Polling device）、リスニングデバイス（Listening device）のいずれとしても動作することができる。
【００２２】
ポーリングデバイスは、電磁波を発生することにより、いわゆるRF(Radio Frequency)フィールド（磁界）を形成し、リモートターゲットとしてのリスニングデバイスを検出するためにポーリングコマンドを送信し、リスニングデバイスからのレスポンスを待つ。換言すれば、ポーリングデバイスは、ISO/IEC 14443のPCD(Proximity Coupling Device)の動作、または、ISO/IEC 18092のパッシブモードのイニシエータの動作を行う。
【００２３】
リスニングデバイスは、ポーリングデバイスがRFフィールドを形成して送信するポーリングコマンドを受信すると、ポーリングレスポンスで応答する。換言すれば、リスニングデバイスは、ISO/IEC 14443のPICCの動作、または、ISO/IEC 18092のターゲットの動作を行う。
【００２４】
従って、NFCデバイス１とNFCデバイス１１−１乃至１１−３それぞれは、同一のハードウエア構成とすることができる。
【００２５】
なお、以下では、NFCデバイス１とNFCデバイス１１−１乃至１１−３の区別を容易にするため、NFCデバイス１１−１乃至１１−３それぞれを、リモートターゲット１１−１乃至１１−３と称する。また、リモートターゲット１１−１乃至１１−３を特に区別する必要がない場合、単にリモートターゲット１１（またはNFCデバイス１１）と称する。
【００２６】
NFCデバイス１は、１個のDH(Device Host)２１、１個のNFCC（NFC Controller）２２、及び、０個以上のNFCEE(NFC Execution Environment)２３を備える。NFCEE２３については０個以上であるから０個でもよい（省略されていてもよい）。
【００２７】
DH２１は、NFCデバイス１全体の制御を行うとともに、NFCC２２を制御するためのコマンド（CMD）を生成し、コマンドに対する実行結果を解釈する。DH２１は、NCI（NFC Controller Interface）に従い、NFCC２２とメッセージを交換する。また、DH２１は、リモートターゲット１１とデータ交換を行うアプリケーションを実行する。アプリケーションには、例えば、P2P（Peer-to-Peer）通信において名刺やアドレス帳のデータ交換処理、リーダライタ/ICカード間において電子マネー決済処理などを行うアプリケーションなどがある。なお、DH２１は、データ交換を行うアプリケーションとして、NFCC２２のインターフェイスのレベル（インターフェイスレベル）に応じて、レベルの異なる３個のアプリケーションApp(H),App(M)及びApp(L)を内部に記憶している。
【００２８】
NFCC２２は、DH２１とリモートターゲット１１との中間に配置され、DH２１とリモートターゲット１１とを仲介するインターフェイスであり、DH２１やNFCEE２３がリモートターゲット１１とデータ交換できるように経路制御を行う。NFCC２２は、DH２１とリモートターゲット１１とを仲介するインターフェイスのレベルとして、複数のインターフェイスレベルを有する。本実施の形態では、NFCC２２は、低レベル、中レベル、高レベルの３段階のインターフェイスレベルを有しているものとする。NFCC２２は、NCIに従いDH２１とメッセージを交換し、DH２１からのコマンド（CMD）に基づいて、アンテナ２４を介してRFデータの送受信を行う。
【００２９】
NCIは、DH２１とNFCC２２との間のロジカルインターフェイスであり、NCIでは、後述する所定のフォーマットのコマンド（CMD）や通知（NTF）などが定義されている。
【００３０】
NFCEE２３は、NFCデバイス１がリモートターゲット１１とデータ交換を行うのに必要な処理のうち、セキュアなデータの処理及び保持を行う。図１の例では、NFCデバイス１内に３個のNFCEE２３−１乃至２３−３が設けられている。NFCEE２３−１と２３−２は、NFCC２２と接続され、NFCC２２が扱うセキュアなデータの保持及び処理を行い、NFCEE２３−３は、DH２１と接続され、DH２１が扱うセキュアなデータの保持及び処理を行う。NFCEE２３は、NFCデバイス１内に必要な数だけ設けることができ、また不要であれば省略することもできる。
【００３１】
アンテナ２４は、閉ループのコイルを構成しており、このコイルに流れる電流が変化することで、電磁波（RFデータ）を出力する。
【００３２】
以上のように構成されるNFCデバイス１は、次の３つのRFテクノロジーのうち、１つ以上をサポートする。
<RFテクノロジー>
（１）NFC-A ・・・ISO/IEC 14443のType A通信方式
（２）NFC-B ・・・ISO/IEC 14443のType B通信方式
（３）NFC-F ・・・ISO/IEC 18092における212 kbps及び424kbpsの通信方式
NFC-Aは、本明細書におけるISO/IEC 14443のType Aの略称であり、NFC-BはISO/IEC 14443のType Bの略称であり、NFC-Fは、ISO/IEC 18092における212 kbps及び424kbpsの通信方式の略称である。
【００３３】
また、NFCデバイス１は、次の６個のRFプロトコルのうち、１つ以上をサポートする。
<RFプロトコル>
（１）T1T・・・TYPE 1 TAG PLATFORM Protocol (based on Type NFC-A)
（２）T2T・・・TYPE 2 TAG PLATFORM Protocol (based on Type NFC-A)
（３）T3T・・・TYPE 3 TAG PLATFORM Protocol (based on Type NFC-F)
（４）ISO-DEP・・・ISO-DEP Protocol (ISO/IEC 14443-4 based on Type NFC-A or NFC-B) 
/ TYPE 4 TAG PLATFORM Protocol (based on Type NFC-A or NFC-B)
（５）NFC-DEP・・・NFC-DEP Protocol (ISO/IEC 18092 transport protocol based on 
NFC-A or NFC-F)
（６）Prop・・・独自定義のプロトコル（Proprietary Protocol）
T1Tは、本明細書におけるTYPE 1 TAG PLATFORM Protocol (based on NFC-A)の略称であり、T2Tは、TYPE 2 TAG PLATFORM Protocol (based on NFC-A)の略称である。T3T、ISO-DEP、NFC-DEP、及びPropについても同様である。
【００３４】
［インターフェイスレベルについて］
NFCデバイス１では、リモートターゲット１１とデータ交換を行う際、そのための処理を、DH２１とNFCC２２とで分担することができる。換言すれば、DH２１がリモートターゲット１１とデータ交換を行うために必要な処理を、中間のNFCC２２に肩代わりさせることができる。このとき、NFCC２２が、データ交換を行うために必要な処理をどのレベルまで肩代わりするかは、DH２１からNFCC２２に対して指定（通知）されるインターフェイスレベルによって決定される。
【００３５】
NFCC２２が有する、低レベル、中レベル、高レベルの３段階のインターフェイスレベルのうち、高レベルは、インターフェイスとしてのNFCC２２が受け持つ処理が最も多く、低レベルは、インターフェイスとしてのNFCC２２が受け持つ処理が最も少ない。インターフェイスレベルは、RFプロトコルごとに設定することが必要であり、また、NFCC２２では、RFプロトコルによって、設定可能なインターフェイスレベルが決められている。
【００３６】
図２は、NFCC２２がRFプロトコルに対して設定可能なインターフェイスレベルを示している。
【００３７】
T1T，T2T，T3Tの各RFプロトコルに対しては、低レベルのインターフェイルレベルのみが設定可能である。なお、RFプロトコルがT1T及びT2Tである場合のRFテクノロジーはNFC-Aであり、RFプロトコルがT3Tである場合のRFテクノロジーはNFC-Fである。
【００３８】
ISO-DEP, NFC-DEPの各RFプロトコルに対しては、低レベル、中レベル、高レベルのいずれのインターフェイルレベルも設定可能である。RFプロトコルがISO-DEPである場合のRFテクノロジーはNFC-AまたはNFC-Bであり、RFプロトコルがNFC-DEPである場合のRFテクノロジーはNFC-AまたはNFC-Fである。
【００３９】
PropのRFプロトコルに対しては、低レベルのインターフェイルレベルのみが設定可能である。
【００４０】
図３は、NFCデバイス間のP2P通信のための通信レイヤーの場合のインターフェイスレベルによる処理の違いを示した図である。
【００４１】
低レベルのインターフェイスレベルでは、NFCC２２は、ISO/IEC 18092のFrame format，Anticollision, Bit coding, Modulation/Load modulationの機能を持つ。中レベルのインターフェイスレベルでは、NFCC２２は，さらに、ISO/IEC 18092 transport protocolまでの機能を持つ。即ち、NFCC２２は、低レベルの機能に加え、Protocol activation/deactivation, Segmentation and reassembly, Retransmissionの機能をさらに持つ。高レベルのインターフェイスレベルでは，NFCC２２は，ISO/IEC 18092 transport protocolの上位レイヤープロトコルであるLLCP (NFC Forum Logical Link Control Protocol)までの機能を持つ。
【００４２】
NFCC２２のインターフェイスレベルは、これらの３段階のなかから、NFCC２２が想定するアプリケーションの要件やICチップのコストなどに応じて、RFプロトコルごとに適宜決定して実装することができる。
【００４３】
初期処理において、NFCC２２は、自身がどこまでのインターフェイスレベルをサポートしているかについての情報をDH２１に通知する。DH２１は、NFCC２２がサポートするインターフェイスレベルを把握し、NFCC２２がサポートするインターフェイスレベルのなかから、DH２１が想定するアプリケーションの要件に応じて最適なインターフェイスレベルを選択して、NFCC２２に指定する。NFCC２２が全てのインターフェイスレベルをサポートしている場合、DH２１は、アプリケーションがサポートする処理に応じて、最適なインターフェイスレベルを選択することができる。例えば、DH２１が少ない処理でアプリケーションを実行したい場合には、DH２１は、高レベルのインターフェイスレベルを選択して、NFCC２２に指定すればよい。
【００４４】
［メッセージフォーマット］
次に、図４乃至図９を参照して、NCIとして定義されているメッセージの詳細について説明する。
【００４５】
メッセージには、DH２１からNFCC２２に対するCMD（コマンド）と、それに対するNFCC２２からDH２１へのRSP（レスポンス）、及び、NFCC２２からDH２１へのNTF（通知）の３種類がある。
【００４６】
図４は、初期化コマンド「INIT_CMD」と初期化レスポンス「INIT_RSP」のフォーマットを示している。
【００４７】
初期化コマンド「INIT_CMD」は、NCIの初期化、及び、NFCC２２とDH２１の能力交換を行うメッセージである。初期化コマンド「INIT_CMD」には、パラメータとして、DH２１のNCIバージョン（バージョン番号）を表す”Version”と、DH２１の能力を表す”NCI Features”が含まれる。”NCI Features”には、DH２１がサポートする通信制御機能について情報、例えば、フローコントロール機能、カードエミュレーション機能、別メッセージ作成機能などの有無についての情報が入力されている。
【００４８】
初期化レスポンス「INIT_RSP」は、初期化コマンドに応答するメッセージである。初期化レスポンス「INIT_RSP」には、パラメータとして、初期化コマンド「INIT_CMD」の応答結果を表す”Status”、NFCC２２のNCIバージョンを表す”Version”、NFCC２２の能力を表す”NCI Features”、及びNFCC２２のインターフェイス能力を表す”NCI Interfaces”が含まれる。”NCI Features”には、NFCC２２がサポートする通信制御機能についての情報、例えば、フローコントロール機能、バッテリOFFモード機能、カードエミュレーションのアプリケーション識別子を使ったルーティング機能などの有無についての情報が入力されている。”NCI Interfaces”には、NFCC２２がサポートしているRFプロトコルごとのインターフェイスレベルが入力されている。
【００４９】
DH２１とNFCC２２が、初期化コマンド「INIT_CMD」と初期化レスポンス「INIT_RSP」によってお互いのバージョンを確認し、DH２１のバージョンがNFCC２２のバージョンと同等か、またはそれ以上である場合、NCIに従ったメッセージのやりとりが可能である。一方、DH２１のバージョンがNFCC２２のバージョンより低い場合、DH２１は、例えば、エラーメッセージを出力する等のエラー処理を行う。
【００５０】
図５は、インターフェイスレベル設定コマンド「DISCOVER_MAP_CMD」とインターフェイスレベル設定レスポンス「DISCOVER_MAP_RSP」のフォーマットを示している。
【００５１】
インターフェイスレベル設定コマンド「DISCOVER_MAP_CMD」は、RFプロトコルとインターフェイスレベルの対応付けを行うメッセージである。インターフェイスレベル設定コマンド「DISCOVER_MAP_CMD」には、パラメータとして、インターフェイスレベル設定データ数［ｎ］、ｎ個のインターフェイスレベル設定データが含まれる。
【００５２】
１つのRFプロトコルに対するインターフェイスレベル設定データには、リモートターゲット１１のモード（Poll Mode/Listen Mode）を表す”Mode”、使用するRFプロトコルを表す”Protocol”、及び使用するインターフェイスレベルを表す”Interface level”が含まれる。即ち、１つのRFプロトコル（”Protocol”）に対して、Poll ModeとListen Modeのそれぞれのモードごとに、インターフェイスレベル（”Interface level”）を設定することができる。例えば、RFプロトコルがISO-DEPでPoll Modeの場合は、中レベルのインターフェイスレベルで、RFプロトコルがISO-DEPでListen Modeの場合は、高レベルのインターフェイスレベル、というように設定することができる。従って、インターフェイスレベル設定データの個数ｎは、最大で、RFプロトコル数の２倍となる。
【００５３】
インターフェイスレベル設定レスポンス「DISCOVER_MAP_RSP」は、インターフェイスレベル設定コマンドに応答するメッセージである。インターフェイスレベル設定レスポンス「DISCOVER_MAP_RSP」には、応答結果を表すOK=1またはNG=0がパラメータとして含まれる。
【００５４】
図６は、ディスカバリ開始コマンド「DISCOVER_START_CMD」、ディスカバリ開始レスポンス「DISCOVER_START_RSP」、ディスカバリ停止コマンド「DISCOVER_STOP_CMD」、及びディスカバリ停止レスポンス「DISCOVER_STOP_RSP」のフォーマットを示している。
【００５５】
ディスカバリ開始コマンド「DISCOVER_START_CMD」は、リモートターゲット１１の検出開始を要求するメッセージである。ディスカバリ開始コマンド「DISCOVER_START_CMD」のパラメータには、検出対象のRFテクノロジーを表す「Discovery Type」が、検出を所望するRFテクノロジーの数だけ含まれる。
【００５６】
ディスカバリ開始レスポンス「DISCOVER_START_RSP」は、ディスカバリ開始コマンドに応答するメッセージである。ディスカバリ開始レスポンス「DISCOVER_START_RSP」には、応答結果を表すOK=1またはNG=0がパラメータとして含まれる。
【００５７】
ディスカバリ停止コマンド「DISCOVER_STOP_CMD」は、リモートターゲット１１の検出停止を要求するメッセージである。ディスカバリ停止コマンド「DISCOVER_STOP_CMD」には、パラメータはない。
【００５８】
ディスカバリ停止レスポンス「DISCOVER_STOP_RSP」は、ディスカバリ停止コマンドに応答するメッセージである。ディスカバリ停止レスポンス「DISCOVER_STOP_RSP」には、応答結果を表すOK=1またはNG=0がパラメータとして含まれる。
【００５９】
図７は、ディスカバリ選択コマンド「DISCOVER_SELECT_CMD」、ディスカバリ選択レスポンス「DHISCOVER_SELECT_RSP」、ディアクティベーションコマンド「DEACTIVATE_CMD」、及びディアクティベーションレスポンス「DEACTIVATE_RSP」のフォーマットを示している。
【００６０】
ディスカバリ選択コマンド「DISCOVER_SELECT_CMD」は、RFテクノロジー（リモートターゲット１１）とRFプロトコルを選択するメッセージである。ディスカバリ選択コマンド「DISCOVER_SELECT_CMD」のパラメータの”Target Handle”には、選択されたRFテクノロジー（リモートターゲット１１）が、パラメータ”Target Port”には、選択されたRFプロトコルが入力される。
【００６１】
ディスカバリ選択レスポンス「DHISCOVER_SELECT_RSP」は、ディスカバリ選択コマンドに応答するメッセージである。ディスカバリ選択レスポンス「DHISCOVER_SELECT_RSP」には、応答結果を表すOK=1またはNG=0がパラメータとして含まれる。
【００６２】
ディアクティベーションコマンド「DEACTIVATE_CMD」は、リモートターゲット１１とのデータ交換終了を要求するメッセージである。ディアクティベーションコマンド「DEACTIVATE_CMD」には、パラメータとして、RFテクノロジーに対応する”Target Handle”、RFプロトコルに対応する”Target Port”、及び、リモートターゲットへ送信するコマンドである” Deactivation Type”が含まれる。
【００６３】
ディアクティベーションレスポンス「DEACTIVATE_RSP」は、ディアクティベーションコマンド「DEACTIVATE_CMD」に応答するメッセージである。ディアクティベーションレスポンス「DEACTIVATE_RSP」には、応答結果を表すOK=1またはNG=0がパラメータとして含まれる。
【００６４】
図８は、ディスカバリ通知「DISCOVER_NTF」、アクティベーション通知「ACTIVATE_NTF」、及び、ディアクティベーション通知「DEACTIVATE_NTF」のフォーマットを示している。
【００６５】
ディスカバリ通知「DISCOVER_NTF」は、リモートターゲットと、そのRFテクノロジー及びRFプロトコルを通知するメッセージである。リモートターゲット、RFテクノロジー、及びRFプロトコルの組み合わせは、上述したディスカバリ選択コマンド「DISCOVER_SELECT_CMD」と同様に複数存在する場合がある。
【００６６】
ディスカバリ通知「DISCOVER_NTF」には、パラメータとして、NFCC２２がRFテクノロジーに割り当てた番号である”Target Handle”、NFCC２２がRFプロトコルに割り当てた番号である”Target Port”、検出されたRFテクノロジーを表す” Discovery Type”、リモートターゲット１１のRFプロトコルを表す”RF Protocol”、RFテクノロジー固有パラメータを表す”Technology Specific Parameters”、次のディスカバリ通知DISCOVER_NTFの有無を表す” More”が含まれる。
【００６７】
アクティベーション通知「ACTIVATE_NTF」は、特定のインターフェイスレベルのアクティベーション（活性化，起動）を通知するメッセージである。アクティベーション通知「ACTIVATE_NTF」には、パラメータとして、上述した”Target Handle”、”Target Port”、”Discovery Type”、及び” RF Protocol”と、アクティベーションパラメータを表す”Activation Parameters”、及び、アクティベートされたインターフェイスレベルを表す”Interface Type”が含まれる。
【００６８】
ディアクティベーション通知「DEACTIVATE_NTF」は、特定のインターフェイスレベルのディアクティベーション（非活性化）を通知するメッセージである。ディアクティベーション通知「DEACTIVATE_NTF」には、パラメータとして、上述の” Target Handle”及び”Target Port”と、ディアクティベーションパラメータを表す”Deactivation Parameters”が含まれる。
【００６９】
図９は、図４乃至図８を参照して説明したメッセージの一覧を示している。
【００７０】
［シーケンスの概要］
次に、図１０を参照して、DH２１がリモートターゲット１１とデータ交換を行う場合の、DH２１とNFCC２２との間で行われるシーケンスの概要について説明する。
【００７１】
DH２１がリモートターゲット１１とデータ交換を行う場合、DH２１とNFCC２２で行われるシーケンスは、大きく次の５つのステップから構成される。
（１）RFプロトコルに対するインターフェイスレベル設定を行う初期化処理
（２）リモートターゲット１１のディスカバリ処理
（３）インターフェイスのアクティベーション処理
（４）データ交換処理
（５）インターフェイスのディアクティベーション処理
DH２１が複数のリモートターゲット１１とデータ交換を行う場合、複数のリモートターゲット１１それぞれに対して（３）乃至（５）のステップが順次実行される。
【００７２】
（１）RFプロトコルに対するインターフェイスレベル設定を行う初期化処理
初期化処理では、DH２１が、NFCC２２のインターフェイス能力を確認した後、インターフェイスレベル設定コマンド「DISCOVER_MAP_CMD」を送信することにより、NFCC２２のインターフェイスレベルを指定（通知）する。初期化処理は、図１０では、DH２１のステップＳ１１の処理と、NFCC２２のステップＳ２１の処理に対応する。
【００７３】
（２）リモートターゲット１１のディスカバリ処理
ディスカバリ処理は、リモートターゲット１１を検出する処理である。DH２１が、ステップＳ１２において、リモートターゲット１１の検出開始を要求するディスカバリ開始コマンド「DISCOVER_START_CMD」をNFCC２２に送信すると、NFCC２２は、ステップＳ２２において、リモートターゲット１１を検出する処理を開始する。
【００７４】
リモートターゲット１１の検出では，NFCC２２は、Poll ModeとListen Modeを交互に繰り返す。即ち、NFCC２２は、自分からポーリングコマンドを送信して相手からのレスポンスを待ち(Poll Mode)，その後，相手からのポーリングコマンドを待つ(Listen Mode)ことを繰り返す。
【００７５】
Poll Modeでは、NFCC２２が、送信したポーリングコマンドに対してレスポンスを受信した場合、リモートターゲット１１との通信リンクが確立したと見なし、そのときのモード（Poll Mode）を維持する。Poll Modeでは、NFCC２２は、自分がPCDまたはInitiatorとして振る舞い、コマンドを送信することができる。
【００７６】
一方、Listen Modeでは、NFCC２２が、相手からのポーリングコマンドに対してレスポンスを送信した場合、リモートターゲット１１との通信リンクが確立したと見なし、そのときのモード（Listen Mode）を維持する。Listen Modeでは、NFCC２２は、自分がPICCまたはTargetとして振る舞い、受信したコマンドに対して応答する（レスポンスを送信する）ことができる。
【００７７】
NFCC２２は、ステップＳ２３において、検出したリモートターゲット１１をディスカバリ通知「DISCOVER_NTF」によって、DH２１に通知する。NFCC２２が、複数のリモートターゲット１１を検出した場合には、検出した全てのリモートターゲット１１について、リモートターゲット１１ごとにディスカバリ通知「DISCOVER_NTF」を送信する。
【００７８】
（３）インターフェイスのアクティベーション処理
ディスカバリ通知「DISCOVER_NTF」を受信したDH２１は、ステップＳ１３において、受信したもののなかから、所定の１つのリモートターゲット１１を選択し、ディスカバリ選択コマンド「DISCOVER_SELECT_CMD」をNFCC２２に送信する。
【００７９】
NFCC２２は、ステップＳ２４において、ディスカバリ選択コマンド「DISCOVER_SELECT_CMD」を受信し、それに基づいて、選択された１つのリモートターゲット１１のインターフェイスをアクティベートする。そして、NFCC２２は、ディスカバリ選択コマンド「DISCOVER_SELECT_CMD」で選択されたリモートターゲット１１のインターフェイスがアクティベートされたことを、アクティベーション通知「ACTIVATE_NTF」によってDH２１に通知する。
【００８０】
なお、この処理はモードがPoll Modeでの処理であり、Listen Modeの場合には、DH２１がリモートターゲット１１を選択することはできないので、処理が異なる。即ち、Listen Modeでは、NFCC２２が複数のRFテクノロジーについてステートマシンを保持する場合、NFCC２２は、複数のRFテクノロジーで応答する。NFCC２２が1つのRFテクノロジーについてステートマシンを保持する場合、NFCC２２は、最初に検出したRFテクノロジーで応答する。NFCC２２は、応答したリモートターゲット１１のインターフェイスをアクティベートし、その旨をアクティベーション通知「ACTIVATE_NTF」によってDH２１に通知する。Listen Modeでは、リモートターゲット１１がコマンドを送信するので、NFCC２２は、受信したコマンドに応じた処理を行う。
【００８１】
（４）データ交換処理
DH２１は、NFCC２２からアクティベーション通知「ACTIVATE_NTF」を受信すると、ステップＳ１４において、アプリケーションを起動する。このとき、DH２１は、NFCC２２のインターフェイスレベルに応じて、アプリケーションApp(H),App(M),App(L)のいずれかを選択する。
【００８２】
DH２１は、ステップＳ１５において、起動したアプリケーションにより、NFCC２２を介してリモートターゲット１１とデータ交換を行う。NFCC２２は、ステップＳ２５において、DH２１とリモートターゲット１１との間でデータ交換を行う。
【００８３】
（５）インターフェイスのディアクティベーション処理
Poll Modeでは、DH２１で起動されたアプリケーションが、アプリケーション終了時に、ディアクティベーションコマンド「DEACTIVATE_CMD」をNFCC２２に送信する。NFCC２２は、ステップＳ２６において、ディアクティベーションコマンド「DEACTIVATE_CMD」を受信し、通信中のリモートターゲット１１のインターフェイスをディアクティベートし、リモートターゲット１１との通信リンクを切断する。
【００８４】
一方、Listen Modeでは、NFCC２２が、通信中のリモートターゲット１１との通信リンク切断後、ディアクティベーション通知「DEACTIVATE_NTF」をDH２１に送信する。ステップＳ１６において、DH２１は、ディアクティベーション通知「DEACTIVATE_NTF」を受信したとき、アプリケーションを終了する。
【００８５】
以上では、１つのリモートターゲット１１と通信する例について大まかなシーケンスの流れを説明した。
【００８６】
［シーケンスの詳細例（Poll Modeの場合）］
次に、図１１乃至図１３を参照して、DH２１が複数のリモートターゲット１１とデータ交換を行う場合の、DH２１とNFCC２２で行われるシーケンスの詳細について説明する。
【００８７】
図１１は、リモートターゲット１１−１乃至１１−３それぞれが、サポートしているRFテクノロジーとRFプロトコルを示している。
【００８８】
リモートターゲット１１−１は、RFテクノロジーとしてはNFC-Aをサポートし、RFプロトコルとしてはISO-DEPとNFC-DEPの２つをサポートしている。リモートターゲット１１−２は、RFテクノロジーとしてはNFC-Bをサポートし、RFプロトコルとしてはISO-DEPをサポートしている。リモートターゲット１１−３は、RFテクノロジーとしてはNFC-Fをサポートし、RFプロトコルとしてはT3Tをサポートしている。
【００８９】
図１１において、RFプロトコルの欄の右側に記載した”Target Handle”と”Target Port”は、図１２と図１３に示す一連のシーケンスにおいて、検出したリモートターゲット１１に対してNFCC２２が割り当てた識別子を示している。
【００９０】
[Poll Modeのシーケンス例]
図１２及び図１３は、NFCデバイス１（NFCC２２）がPoll Modeで動作し、RFテクノロジーの異なる３つのリモートターゲット１１−１乃至１１−３と通信を行うシーケンスを示すフローチャートである。
【００９１】
初めに、ステップＳ４１において、DH２１は、初期化コマンドINIT_CMDを送信し、NFCC２２は、その返答として、ステップＳ４２において、初期化レスポンスINIT_RSPをDH２１に送信する。初期化レスポンスINIT_RSPには、上述したように、NFCC２２がサポートするRFプロトコルごとのインターフェイスレベルが含まれている。
【００９２】
ステップＳ４３において、DH２１は、NFCC２２のサポートするRFプロトコルごとのインターフェイスレベルに基づいて、RFプロトコルとインターフェイスレベルの対応付けを行うインターフェイスレベル設定コマンドDISCOVER_MAP_CMDをNFCC２２に送信する。ステップＳ４３では、DISCOVER_MAP_CMD(5,Poll,ISO-DEP Protocol, Mid I/F Level, Poll, NFC-DEP Protocol, High I/F Level, Poll,T1T Protocol, Low I/F Level,Poll,T2T Protocol, Low I/F Level, Poll, T3T Protocol, Low I/F Level)が送信されている。これにより、Poll Modeで、RFプロトコルがISO-DEPのときには中レベル、NFC-DEPのときには高レベル、T1T，T2T、及びT3Tのときには低レベルのインターフェイスレベルがNFCC２２において設定される。
【００９３】
なお、この例では、T1T,T2T、及びT3TのRFプロトコルについても設定するようになされているが、T1T,T2T、及びT3TのRFプロトコルは低レベルのインターフェイスレベルしか設定することができないので、低レベル固定とし、コマンドの送信及び設定を省略することができる。
【００９４】
また、図１２のシーケンスは、NFCデバイス１（NFCC２２）がPoll Modeで動作する例の説明であるので、ステップＳ４３のインターフェイスレベル設定コマンドDISCOVER_MAP_CMDでは、Listen Modeのときの各インターフェイスレベルの指定は省略されている。
【００９５】
NFCC２２は、ステップＳ４４において、DH２１からのインターフェイスレベル設定コマンドDISCOVER_MAP_CMDを了解した旨のインターフェイスレベル設定レスポンスDISCOVER_MAP_RSPを送信する。
【００９６】
そして、ステップＳ４５において、DH２１は、検出対象のRFテクノロジーとして、NFC-A、NFC-B、及びNFC-Fを指定して、ディスカバリ開始コマンドDISCOVER_START_CMDをNFCC２２に送信する。NFCC２２は、ステップＳ４６において、ディスカバリ開始コマンドDISCOVER_START_CMDを了解した旨のディスカバリ開始レスポンスDISCOVER_START_RSPをDH２１に送信する。
【００９７】
そして、NFCC２２は、検出対象のRFテクノロジーとして指定されたNFC-A、NFC-B、及びNFC-Fについて、リモートターゲット１１を検出するためのコマンドを送信する。具体的には、ステップＳ４７において、DH２１は、NFC-A のコマンドSENS_REQを送信し、ステップＳ４８において、RFフィールド内に存在するリモートターゲット１１−１から送信されてくる、コマンドSENS_REQに対するレスポンスSENS_RESを受信する。レスポンスSENS_RESの受信時では、リモートターゲット１１−１のRFプロトコルはまだ不明である。
【００９８】
また、DH２１は、ステップＳ４９において、NFC-BのコマンドSENSB_REQを送信し、ステップＳ５０において、RFフィールド内に存在するリモートターゲット１１−２から送信されてくる、コマンドSENSB_REQに対するレスポンスSENSB_RESを受信する。レスポンスSENSB_RESの受信により、リモートターゲット１１−２のRFプロトコルがISO-DEPであることも把握される。
【００９９】
また、DH２１は、ステップＳ５１において、NFC-FのコマンドSENSF_REQを送信し、ステップＳ５２において、RFフィールド内に存在するリモートターゲット１１−３から送信されてくる、コマンドSENSF_REQに対するレスポンスSENSF_RESを受信する。レスポンスSENSF_RESの受信により、リモートターゲット１１−３のRFプロトコルがT3Tであることも把握される。
【０１００】
NFCC２２は、何らリモートターゲット１１が検出されなければ、Poll ModeとListen Modeを交互に繰り返すが、Poll Modeでリモートターゲット１１−１乃至１１−３が検出されたので、Listen Modeの動作は行わない。
【０１０１】
NFCC２２は、ステップＳ５３乃至Ｓ５５において、検出したリモートターゲット１１−１乃至１１−３を通知する３個のディスカバリ通知DISCOVER_NTFをDH２１に送信する。具体的には、ステップＳ５３では、NFCC２２は、検出されたNFC-Aのリモートターゲット１１−１についてTarget Handleとして「TH1」、Target Portとして「TP１」を割り当て、ディスカバリ通知DISCOVER_NTFをDH２１に送信する。
【０１０２】
ステップＳ５４では、NFCC２２は、検出されたNFC-Bのリモートターゲット１１−１についてTarget Handleとして「TH2」、Target Portとして「TP2」を割り当て、ディスカバリ通知DISCOVER_NTFをDH２１に送信する。ステップＳ５５では、NFCC２２は、検出されたNFC-Fのターゲット１１−１についてTarget Handleとして「TH3」、Target Portとして「TP3」を割り当て、ディスカバリ通知DISCOVER_NTFをDH２１に送信する。
【０１０３】
ここで、ステップＳ５３とＳ５４で送信するディスカバリ通知DISCOVER_NTFでは、次もディスカバリ通知DISCOVER_NTFを送信するので、ディスカバリ通知DISCOVER_NTFの最後のパラメータ”More”が「１」となっている。一方、ステップＳ５５のディスカバリ通知DISCOVER_NTFでは、次に送信されるディスカバリ通知DISCOVER_NTFがないので、最後のパラメータ”More”が「０」となっている。
【０１０４】
なお、これ以降のシーケンスでは、DH２１とNFCC２２との間では、NFCC２２で割り当てられたTarget HandleとTarget Portによりリモートターゲット１１が特定されて、メッセージがやりとりされる。
【０１０５】
DH２１は、ステップＳ５６において、検出されたリモートターゲット１１−１乃至１１−３のうち、リモートターゲット１１−２との通信を選択し、”Target Handle”＝TH2、”Target Port”＝TP2をパラメータとするディスカバリ選択コマンドDISCOVER_SELECT_CMDを送信する。
【０１０６】
NFCC２２は、ステップＳ５７において、ディスカバリ選択コマンドDISCOVER_SELECT_CMDを受信し、そのコマンドを了解した旨のディスカバリ選択レスポンスDHISCOVER_SELECT_RSPをDH２１に送信する。
【０１０７】
ディスカバリ選択コマンドDISCOVER_SELECT_CMDに含まれる”Target Port”＝TP2が表すISO-DEPのRFプロトコルに対しては、上述したインターフェイスレベル設定コマンドDISCOVER_MAP_CMDで、中レベルのインターフェイスレベルが指定されている。中レベルのインターフェイスレベルでは、図３を参照して説明したように、プロトコルアクティベーションはNFCC２２が行う処理となっている。
【０１０８】
そこで、NFCC２２は、ステップＳ５８において、プロトコルアクティベーションを行う。即ち、NFCC２２は、自身の属性（仕様）を知らせるとともに、リモートターゲット１１−２の属性を要求するATTRIBコマンドをリモートターゲット１１−２に送信する。NFCC２２は、ステップＳ５９において、ATTRIBコマンドの返答として、ATTAレスポンスをリモートターゲット１１−２から受信する。
【０１０９】
ATTAレスポンスを受信すると、NFCC２２は、ステップＳ６０において、中レベルのインターフェイスレベルでのインターフェイスのアクティベーションが完了した旨のアクティベーション通知ACTIVATE_NTFをDH２１に送信する。アクティベーション通知ACTIVATE_NTFのパラメータには、”Activation Parameters”として、受信したレスポンス「ATTA」や、”Interface Type”として、アクティベートされたインターフェイスレベルを表す「Mid I/F Level activated」が含まれる。
【０１１０】
インターフェイスのアクティベーション完了後は、ステップＳ６１において、DH２１内の中レベルのインターフェイスレベルに対応するアプリケーションApp(M)が起動し、DH２１とリモートターゲット１１−２（TH2）との間で、ISO-DEP（TP2）のRFプロトコルを用いたデータ交換が行われる。
【０１１１】
所定のデータ交換が行われ、アプリケーションApp(M)が終了するとき、DH２１は、ステップＳ６２において、ディアクティベーションコマンドDEACTIVATE_CMDをNFCC２２に送信する。ディアクティベーションコマンドDEACTIVATE_CMDのパラメータ”Deactivation Type”には、リモートターゲット１１−２へ送信するコマンドである「DESELECT」が含まれる。
【０１１２】
NFCC２２は、ステップＳ６３において、ディアクティベーションコマンドDEACTIVATE_CMDを了解した旨のディアクティベーションレスポンスDEACTIVATE_RSPをDH２１に送信する。
【０１１３】
そして、NFCC２２は、ステップＳ６４において、ディアクティベーションコマンドDEACTIVATE_CMDに含まれるパラメータ”Deactivation Type”に基づいて、DESELECTコマンドをリモートターゲット１１−２に送信する。ステップＳ６５において、NFCC２２は、リモートターゲット１１−２から、DESELECTレスポンスを受信し、インターフェイスをディアクティベーションする。インターフェイスのディアクティベーションにより、リモートターゲット１１−２（TH2）とISO-DEP（TP2）に関連するパラメータは開放される。
【０１１４】
図１３のステップＳ６６以降では、リモートターゲット１１−１（TH1）が通信相手として選択され、DH２１とリモートターゲット１１−１（TH1）との間で通信が行われる。
【０１１５】
即ち、ステップＳ６６において、DH２１は、”Target Handle”＝TH1、”Target Port”＝TP1をパラメータとするディスカバリ選択コマンドDISCOVER_SELECT_CMDをNFCC２２に送信する。
【０１１６】
NFCC２２は、ステップＳ６７において、ディスカバリ選択コマンドDISCOVER_SELECT_CMDを受信し、そのコマンドを了解した旨のディスカバリ選択レスポンスDHISCOVER_SELECT_RSPをDH２１に送信する。
【０１１７】
そして、ステップＳ６８において、NFCC２２は、パラメータTH1及びTP1に対応するリモートターゲット１１−１との間で、PICC（ICカード）が複数存在する場合でも所定のPICCを認識し、通信を行うためのアンチコリジョン（Anticollision)処理を行う。
【０１１８】
ステップＳ６９において、NFCC２２は、RFプロトコルとしてISO−DEPとISO-DEPをサポートしている旨のSEL_RES(ISO−DEP|ISO-DEP) レスポンスを、リモートターゲット１１−１から受信する。
【０１１９】
NFCC２２は、ISO−DEPのRFプロトコルにはTarget Portとして「TP4」を割り当て、ISO-DEPのRFプロトコルにはTarget Portとして「TP5」を割り当てて、ステップＳ７０とステップＳ７１として、ディスカバリ通知DISCOVER_NTFをDH２１に送信する。即ち、ステップＳ７０において、NFCC２２は、ディスカバリ通知DISCOVER_NTF(TH1,TP4,NFC-A,PROTOCOL_ISO_DEP,SEL_RES,More=1)をDH２１に送信し、ステップＳ７１において、ディスカバリ通知DISCOVER_NTF(TH1,TP5,NFC-A,PROTOCOL_NFC_DEP,SEL_RES,More=0)をDH２１に送信する。
【０１２０】
DH２１は、ステップＳ７２において、２つのRFプロトコルのうちのNFC-DEPを選択して、”Target Handle”＝TH1、”Target Port”＝TP5をパラメータとするディスカバリ選択コマンドDISCOVER_SELECT_CMDを送信する。
【０１２１】
ステップＳ７３において、NFCC２２は、ディスカバリ選択コマンドDISCOVER_SELECT_CMDを受信し、そのコマンドを了解した旨のディスカバリ選択レスポンスDHISCOVER_SELECT_RSPをDH２１に送信する。
【０１２２】
NFC-DEPのRFプロトコルに対しては、上述したステップＳ４３のインターフェイスレベル設定において、高レベルのインターフェイスレベルが指定されている。そこで、NFCC２２は、ステップＳ７４において、プロトコルアクティベーション（属性を要求するATR_REQコマンド）とLLCPのアクティベーションを行う。
【０１２３】
ステップＳ７５において、NFCC２２は、ATR_REQコマンドの返答としてATR_RESレスポンスとLLCPのアクティベーションの結果を、リモートターゲット１１−１から受信する。そして、ステップＳ７６において、NFCC２２は、高レベルでのインターフェイスのアクティベーションが完了した旨のアクティベーション通知ACTIVATE_NTFをDH２１に送信する。アクティベーション通知ACTIVATE_NTFのパラメータには、”Activation Parameters”として、受信したレスポンス「ATR_RES」や、”Interface Type”として、アクティベートされたインターフェイスレベルを表す「High I/F Level activated」が含まれる。
【０１２４】
インターフェイスのアクティベーション完了後は、ステップＳ７７において、DH２１内の高レベルのインターフェイスレベルに対応するアプリケーションApp(H)が起動し、DH２１とリモートターゲット１１−１（TH1）との間で、NFC-DEP（TP5）のRFプロトコルを用いたデータ交換が行われる。
【０１２５】
所定のデータ交換が行われ、アプリケーションApp(H)が終了するとき、DH２１は、ステップＳ７８において、ディアクティベーションコマンドDEACTIVATE_CMDをNFCC２２に送信する。ディアクティベーションコマンドDEACTIVATE_CMDのパラメータ”Deactivation Type”には、リモートターゲット１１−１へ送信するコマンドである「DSL_REQ」が含まれる。
【０１２６】
NFCC２２は、ステップＳ７９において、ディアクティベーションコマンドDEACTIVATE_CMDを了解した旨のディアクティベーションレスポンスDEACTIVATE_RSPをDH２１に送信する。
【０１２７】
そして、NFCC２２は、ステップＳ８０において、ディアクティベーションコマンドDEACTIVATE_CMDに含まれるパラメータ”Deactivation Type”に基づいて、DSL_REQコマンドをリモートターゲット１１−１に送信する。ステップＳ８１において、NFCC２２は、リモートターゲット１１−１から、DSL_RESレスポンスを受信し、インターフェイスをディアクティベーションする。インターフェイスのディアクティベーションにより、リモートターゲット１１−１（TH2）とNFC-DEP（TP5）に関連するパラメータは開放される。
【０１２８】
ステップＳ８２以降では、リモートターゲット１１−３（TH3）が通信相手として選択され、DH２１とリモートターゲット１１−３（TH3）との間で通信が行われる。
【０１２９】
具体的には、ステップＳ８２において、DH２１は、”Target Handle”＝TH3（NFC-F）、”Target Port”＝TP3（T3T）をパラメータとするディスカバリ選択コマンドDISCOVER_SELECT_CMDをNFCC２２に送信する。
【０１３０】
NFCC２２は、ステップＳ８３において、ディスカバリ選択コマンドDISCOVER_SELECT_CMDを受信し、そのコマンドを了解した旨のディスカバリ選択レスポンスDHISCOVER_SELECT_RSPをDH２１に送信する。
【０１３１】
T3TのRFプロトコルに対しては、上述したステップＳ４３のインターフェイスレベル設定において、低レベルのインターフェイスレベルが指定されている。低レベルのインターフェイスレベルでは、プロトコルアクティベーションは行われない。そのため、NFCC２２は、ステップＳ８４において、即座に、”Activation Parameters”のパラメータを「NULL」として、低レベルでのインターフェイスのアクティベーションが完了した旨のアクティベーション通知ACTIVATE_NTFをDH２１に送信する。
【０１３２】
インターフェイスのアクティベーション完了後は、ステップＳ８５において、DH２１内の低レベルのインターフェイスレベルに対応するアプリケーションApp(L)が起動し、DH２１とリモートターゲット１１−３（TH3）との間で、T3T（TP3）のRFプロトコルを用いたデータ交換が行われる。
【０１３３】
所定のデータ交換が行われ、アプリケーションApp(L)が終了するとき、DH２１は、ステップＳ８６において、ディアクティベーションコマンドDEACTIVATE_CMDをNFCC２２に送信する。低レベルのインターフェイスレベルでは、プロトコルアクティベーションと同様、プロトコルディアクティベーションは行われないため、ディアクティベーションコマンドDEACTIVATE_CMDのパラメータ”Deactivation Type”は、「NULL」となっている。
【０１３４】
NFCC２２は、ステップＳ８７において、ディアクティベーションコマンドDEACTIVATE_CMDを了解した旨のディアクティベーションレスポンスDEACTIVATE_RSPをDH２１に送信する。その後、NFCC２２は、インターフェイスのディアクティベーションを行い、リモートターゲット１１−３（TH3）とT3T（TP3）に関連するパラメータを開放する。
【０１３５】
以上のように、NFCデバイス１（DH２１とNFCC２２）は、ポーリングデバイスとして動作し、RFプロトコルが異なる複数のリモートターゲット１１を検出することができる。そして、NFCデバイス１は、検出された複数のリモートターゲット１１と順次データ交換を行うことができる。
【０１３６】
［シーケンスの詳細例（Listen Modeの場合）］
次に、図１４と図１５を参照して、NFCデバイス１がListen Modeで動作する場合のシーケンスについて説明する。
【０１３７】
なお、図１４と図１５の例では、リモートターゲット１１−３がサポートしているRFプロトコルは、図１１と異なり、NFC-DEPであるとする。
【０１３８】
初めに、ステップＳ１０１において、DH２１は、初期化コマンドINIT_CMDを送信し、NFCC２２は、その返答として、ステップＳ１０２において、初期化レスポンスINIT_RSPをDH２１に送信する。初期化レスポンスINIT_RSPには、上述したように、NFCC２２がサポートするRFプロトコルごとのインターフェイスレベルが含まれている。
【０１３９】
ステップＳ１０３において、DH２１は、NFCC２２がサポートするRFプロトコルごとのインターフェイスレベルに基づいて、RFプロトコルとインターフェイスレベルの対応付けを行うインターフェイスレベル設定コマンドDISCOVER_MAP_CMDをNFCC２２に送信する。図１２の例では、DISCOVER_MAP_CMD(2,Listen,ISO-DEP Protocol, Mid I/F Level, Listen, NFC-DEP Protocol, High I/F Level)が送信され、Listen Modeで、RFプロトコルがISO-DEPのときには中レベル、NFC-DEPのときには高レベルが指定されている。T1T，T2T、及びT3TのRFプロトコルについては低レベル固定であるので省略されている。また、Poll Modeのときの各インターフェイスレベルも省略されている。
【０１４０】
ステップＳ１０４において、NFCC２２は、DH２１からのインターフェイスレベル設定コマンドDISCOVER_MAP_CMDを了解した旨のインターフェイスレベル設定レスポンスDISCOVER_MAP_RSPをDH２１に送信する。
【０１４１】
ステップＳ１０５において、DH２１は、検出対象のRFテクノロジーとして、NFC-A、NFC-B、及びNFC-Fを指定して、ディスカバリ開始コマンドDISCOVER_START_CMDをNFCC２２に送信する。NFCC２２は、ステップＳ１０６において、ディスカバリ開始コマンドDISCOVER_START_CMDを了解した旨のディスカバリ開始レスポンスDISCOVER_START_RSPをDH２１に送信する。
【０１４２】
そして、NFCC２２は、検出対象のRFテクノロジーとして指定されたNFC-A、NFC-B、及びNFC-Fについて、最初に、NFCデバイス１がPoll Modeとして動作するためのポーリングコマンドを送信する。具体的には、NFCC２２は、ステップＳ１０７乃至Ｓ１０９として、NFCデバイス１がPoll Modeとして動作するためのコマンドSENS_REQ、SENSB_REQ、SENSF_REQを、順次送信する。
【０１４３】
コマンドSENS_REQ、SENSB_REQ、SENSF_REQに対するレスポンスを受信できなかったので、次に、NFCC２２は、NFCデバイス１がListen Modeとして動作するためのポーリングコマンドを検出して、応答する。
【０１４４】
具体的には、NFCC２２は、ステップＳ１１０において、リモートターゲット１１−１から送信されてきたSENS_REQコマンドを受信して、ステップＳ１１１において、SENS_RESレスポンスをリモートターゲット１１−１に送信する。
【０１４５】
また、NFCC２２は、ステップＳ１１２において、リモートターゲット１１−２から送信されてきたSENSB_REQコマンドを受信して、ステップＳ１１３において、SENSB_RESレスポンスをリモートターゲット１１−２に送信する。
【０１４６】
さらに、NFCC２２は、ステップＳ１１４において、リモートターゲット１１−３から送信されてきたSENSF_REQコマンドを受信して、ステップＳ１１５において、SENSF_RESレスポンスをリモートターゲット１１−３に送信する。
【０１４７】
NFCC２２は、ステップＳ１１６において、RFプロトコルとしてISO-DEPとNFC-DEPをサポートしている旨のレスポンスSRL_RES(ISO-DEP&NFC-DEP)を、最初に検出したリモートターゲット１１−１に送信する。
【０１４８】
リモートターゲット１１−１のRFプロトコルであるISO-DEPとNFC-DEPに対しては、中レベル以上のインターフェイスレベルが指定されているので、NFCC２２は、リモートターゲット１１−１からのプロトコルアクティベーションを待つ。そして、ステップＳ１１７において、NFCC２２は、リモートターゲット１１−１から、ATSを要求するRATS(Request for Answer To Select)コマンドを受信し、それに対し、ステップＳ１１８において、ATSレスポンスをリモートターゲット１１−１に送信する。これにより、ISO-DEPのRFプロトコルによるプロトコルアクティベーションが完了する。
【０１４９】
RATSコマンド受信後、NFCC２２は、ステップＳ１１９において、インターフェイスのアクティベーションが完了した旨のアクティベーション通知ACTIVATE_NTF (TH1,TP1,NFC-A,PROTOCOL_ISO_DEP,ATS, Mid I/F Level activated)をDH２１に送信する。
【０１５０】
ステップＳ１２０において、DH２１内の中レベルのインターフェイスレベルに対応するアプリケーションApp(M)が起動し、DH２１とリモートターゲット１１−１（TH1）との間で、ISO-DEP（TP1）のRFプロトコルを用いたデータ交換が行われる。
【０１５１】
所定のデータ交換が行われた後、ステップＳ１２１において、NFCC２２は、PCD（リーダライタ）としてのリモートターゲット１１−１からDESELECTコマンドを受信し、ステップＳ１２２において、DESELECTレスポンスをリモートターゲット１１−１に送信する。これにより、NFCC２２において、ISO-DEPのRFプロトコルを用いたインターフェイスがディアクティベートされる。
【０１５２】
そして、ステップＳ１２３において、NFCC２２は、”Target Handle”＝TH1、”Target Port”＝TP1、”Deactivation Parameters”＝DESELECTをパラメータとして、ディアクティベーション通知DEACTIVATE_NTFをDH２１に送信する。ディアクティベーション通知DEACTIVATE_NTFを受信したDH２１は、アプリケーションApp(M)を終了する。
【０１５３】
次に、２番目に検出され、NFCC２２において”Target Handle”＝TH2、”Target Port”＝TP2と割り当てられたリモートターゲット１１−２との間で、データ交換が行われるが、その処理については省略する。
【０１５４】
次に、３番目に検出され、NFCC２２において”Target Handle”＝TH3、”Target Port”＝TP3と割り当てられたリモートターゲット１１−３との間で、データ交換が行われる。
【０１５５】
図１５のステップＳ１２４において、NFCC２２は、属性を要求するATR_REQコマンドを、リモートターゲット１１−３から受信する。NFC-DEPのRFプロトコルに対しては、上述したステップＳ１０３において、高レベルのインターフェイスレベルが指定されている。そこで、NFCC２２は、ステップＳ１２５において、ATR_REQコマンドの返答としてATR_RESレスポンスを送信するとともに、LLCPのアクティベーションも行う。
【０１５６】
プロトコルアクティベーション及びLLCPのアクティベーション終了後、ステップＳ１２６において、NFCC２２は、アクティベーション通知ACTIVATE_NTFをDH２１に送信する。アクティベーション通知ACTIVATE_NTFのパラメータには、”Activation Parameters”として、受信したレスポンス「ATR_RES」や、”Interface Type”として、アクティベートされたインターフェイスレベルを表す「High I/F Level activated」が含まれる。
【０１５７】
ステップＳ１２７において、DH２１内の高レベルのインターフェイスレベルに対応するアプリケーションApp(H)が起動し、DH２１とリモートターゲット１１−３（TH3）との間で、NFC-DEP（TP3）のRFプロトコルを用いたデータ交換が行われる。
【０１５８】
所定のデータ交換が行われた後、ステップＳ１２８において、NFCC２２は、イニシエータ（リーダライタ）としてのリモートターゲット１１−３からDSL_REQコマンドを受信し、ステップＳ１２９において、DSL_RESレスポンスをリモートターゲット１１−３に送信する。これにより、NFCC２２において、NFC-DEPのRFプロトコルを用いたインターフェイスがディアクティベートされる。
【０１５９】
そして、ステップＳ１３０において、NFCC２２は、ディアクティベーション通知DEACTIVATE_NTFをDH２１に送信する。具体的には、NFCC２２は、”Target Handle”＝TH3、”Target Port”＝TP3、”Deactivation Parameters”＝DSL_REQをパラメータとして、ディアクティベーション通知DEACTIVATE_NTFを送信する。ディアクティベーション通知DEACTIVATE_NTFを受信したDH２１は、アプリケーションApp(H)を終了する。
【０１６０】
以上のように、NFCデバイス１（DH２１とNFCC２２）は、リスニングデバイスとして動作し、RFプロトコルが異なる複数のリモートターゲット１１を検出することができる。そして、NFCデバイス１は、検出された複数のリモートターゲット１１と順次データ交換を行うことができる。
【０１６１】
ISO/IEC 18092またはISO/IEC 14443による近距離無線通信を行うNFCデバイス１は、DH２１とNFCC２２に機能的に分離されて動作する。DH２１は、主にアプリケーションの実行とNFCデバイス１全体の制御を行う。NFCC２２は、DH２１とリモートターゲット１１の中間に配置され、アンテナ２４を介してリモートターゲット１１（ISO/IEC 14443のPICC（ICカード）やISO/IEC 18092のターゲット）とのRFデータの送受信を主に行う。
【０１６２】
DH２１は、各RFプロトコルについて、NFCC２２がサポートする複数のインターフェイスレベルのなかから、１つのインターフェイスレベルを選択し、NFCC２２に通知（指定）する。複数のインターフェイスレベルは、NFCデバイス１がリモートターゲット１１とデータ交換を行う際に、中間に位置するNFCC２２に、どのレベルまでの処理を負担させるかに応じて分類されている。具体的には、インターフェイスレベルが低レベル、中レベル、高レベルの３段階に分類されているとき、高レベルはNFCC２２が受け持つ処理が最も多く、低レベルはNFCC２２受け持つ処理が最も少ない。DH２１は、NFCC２２がサポートしているインターフェイスレベルについての情報を取得し、NFCC２２に対して、RFプロトコルごとに所定のインターフェイスレベルを指定する。そして、DH２１は、指定したインターフェイスレベルに対応するレベルのアプリケーションAppを起動して実行する。これにより、DH２１は、NFCC２２が実行可能な処理については分担させることで、アプリケーション処理の実行に専念することができる。また、NFCC２２がより高度のインターフェイスレベルをサポートしている場合には、できるだけ高度のインターフェイスレベルに設定することで、NFCC２２とDH２１が、より高度のインターフェイスレベルによるデータ交換（DH２１のアプリケーションにとって処理のしやすい単位でのデータ交換）ができるようになる。これにより、リモートターゲット１１とNFCデバイス１が、効率よくデータ交換を行うことができる。
【０１６３】
NFCC２２は、ポーリングデバイスとして動作する場合、ポーリングコマンドを送信して複数のリモートターゲット１１を検出する（ディスカバリする）と、検出された全てのリモートターゲット１１をDH２１に通知（ディスカバリ通知DISCOVER_NTF）する。そして、検出された複数のリモートターゲット１１のなかから、通信を行うリモートターゲット１１が１つずつ順にDH２１によって選択され、通信（アプリケーションによるデータ交換）が実行される。選択された各リモートターゲット１１に対しては、インターフェイスのアクティベーション、インターフェイスレベルに応じたアプリケーションの実行（起動と終了を含む）、インターフェイスのディアクティベーションの動作が行われる。これにより、RFテクノロジーまたはRFプロトコルが異なる、複数のリモートターゲット１１と効率よくデータ交換を行うことができる。
【０１６４】
一方、NFCC２２は、リスニングデバイスとして動作する場合、通信リンクを確立した複数のリモートターゲット１１に対して、検出した順で順番に、通信相手としてリモートターゲット１１を選択する。NFCC２２は、選択したリモートターゲット１１のRFプロトコルに対応するインターフェイスをアクティベートし、DH２１に通知（アクティベーション通知ACTIVATE_NTF）する。DH２１は、アクティベーション通知されたリモートターゲット１１のインターフェイスレベルに応じて、アプリケーションを実行する（起動と終了を含む）。従って、通信リンクを確立した複数のリモートターゲット１１と、順次、通信（アプリケーションによるデータ交換）が実行される。これにより、RFテクノロジーまたはRFプロトコルが異なる、複数のリモートターゲット１１と効率よくデータ交換を行うことができる。
【０１６５】
上述した例では、リモートターゲット１１とDH２１がデータ交換を行うために必要な処理を、NFCC２２が、所定のRFプロトコルに対して指定されたインターフェイスレベルに応じて代行する例について説明した。
【０１６６】
しかし、リモートターゲット１１とDH２１とのデータ交換処理においても、NFCC２２が、所定のRFプロトコルに対して指定されたインターフェイスレベルに応じて、DH２１が行うべき処理を代行する場合がある。
【０１６７】
例えば、NFCデバイス１がReader/Writer modeで、NFCC２２がアクティベートしたインターフェイスのレベルが高レベルである場合、NFCC２２は、NDEFデータへアクセスできるようにするための処理を、DH２１に代わって実行する。ここで、NDEFデータは、アプリケーションが利用する共通のデータフォーマットであるNDEF(NFC Data Exchange Format)のデータである。
【０１６８】
NDEFデータへアクセスできるようにするためのコマンドを規定するTag Operationのなかの、Type3についての仕様であるNFC FORUM Type 3 Tag Operationの例で具体的に説明する。NFC FORUM Type 3 Tag Operationでは、NDEFデータを読み出す場合、Polling Command/ResponseとCheck Command/Responseが、リモートターゲット１１とNFCデバイス１との間でやりとりされる。このCheck Command/Responseの交換は、NDEFデータのサイズに応じて複数回行われることがある。複数回のCheck Command/Responseの交換が行われた場合、複数回のCheck Command/Responseにより取得されたデータを結合したデータがNDEFデータとなる。
【０１６９】
NFCC２２のインターフェイスレベルが高レベルであるとき、NFCC２２は、Polling Command/Responseと１回以上のCheck Command/Responseを主体的に実行する。そして、複数回のCheck Command/Responseの交換が行われた場合、NFCC２２は、その複数回のCheck Command/Responseにより取得されたデータを結合し、NDEFデータを生成する。一方、NFCC２２のインターフェイスレベルが中レベルまたは低レベルである場合には、NFCC２２は、DH２１から供給されるPolling Command/Responseや１回以上のCheck Command/Responseの中継だけを行う。複数回のCheck Command/Responseにより取得されたデータからNDEFデータを生成する処理もDH２１が行う。
【０１７０】
本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
【０１７１】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１７２】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１７３】
１  NFCデバイス，  １１−１乃至１１−３  NFCデバイス（リモートターゲット），  ２１  DH(Device Host)，  ２２  NFCC（NFC Controller），  ２３  NFCEE(NFC Execution Environment)，  App(H),App(M),App(L)  アプリケーション
【図１】
0005633336.tif 000002
【図２】
0005633336.tif 000003
【図３】
0005633336.tif 000004
【図４】
0005633336.tif 000005
【図５】
0005633336.tif 000006
【図６】
0005633336.tif 000007
【図７】
0005633336.tif 000008
【図８】
0005633336.tif 000009
【図９】
0005633336.tif 000010
【図１０】
0005633336.tif 000011
【図１１】
0005633336.tif 000012
【図１２】
0005633336.tif 000013
【図１３】
0005633336.tif 000014
【図１４】
0005633336.tif 000015
【図１５】
0005633336.tif 000016