(57)【特許請求の範囲】
【請求項１】
外部デバイスと近距離通信チャネルを確立し、前記外部デバイスによって送信されたアプリケーションデータを第１のホストプロセッサに提供するように構成された近距離通信デバイスであって、
前記第１のホストプロセッサに提供されたアプリケーションデータの性質または内容に関する通知を第２のホストプロセッサに提供し、
アプリケーションの特性パラメータに従って選択された分析規則に従って前記通知を設定するようにさらに構成され、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、ことを特徴とするデバイス。
【請求項２】
次の特性パラメータ、
前記アプリケーションの識別子であって、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、前記アプリケーションの識別子、
テクノロジーであって、前記テクノロジーによって前記近距離通信チャネルが形成される、前記テクノロジー、または、
通信プロトコルであって、前記通信プロトコルによって前記近距離通信チャネルが形成される、前記通信プロトコル
のうちの少なくとも１つに従って前記通知を設定するように構成された請求項１に記載のデバイス。
【請求項３】
アプリケーションデータ内に存在するデータ、または前記アプリケーションデータ内に存在するデータにおける情報項目を含む通知を前記第２のホストプロセッサに提供するように構成された請求項１または２に記載のデバイス。
【請求項４】
前記アプリケーションの識別子を含む通知を前記第２のホストプロセッサに提供するように構成され、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、請求項１から３のいずれか一項に記載のデバイス。
【請求項５】
前記外部デバイスによって送信されたアプリケーションデータを識別し、
前記アプリケーションデータの識別の結果および前記アプリケーションの特性パラメータに従ってデータ分析プログラムを選択し、
前記選択されたデータ分析プログラムによって前記アプリケーションデータを分析し、  前記アプリケーションデータの分析の結果に従って通知を設定する
ように構成された請求項１から４のいずれか一項に記載のデバイス。
【請求項６】
前記アプリケーションデータに対応するマスクが見つかるまで前記アプリケーションデータと各々のマスクを比較することによって、一連の識別マスクによって前記アプリケーションデータを識別するように構成された請求項５に記載のデバイス。
【請求項７】
前記選択されたデータ分析プログラムにおいて形成され、または含まれるデータマスクと前記アプリケーションデータを結合することによって前記アプリケーションデータを分析するように構成された請求項５または６に記載のデバイス。
【請求項８】
前記アプリケーションデータは、ISO 7816標準の意味におけるコマンドCAPDUである請求項１から７のいずれか一項に記載のデバイス。
【請求項９】
前記第１のホストプロセッサによって送信されたアプリケーションデータを前記外部デバイスに提供し、
前記第１のホストプロセッサによって送信されたアプリケーションデータの性質または内容に関する通知を前記第２のホストプロセッサに提供し、
前記特性パラメータに従って前記通知を設定する
ように構成された請求項１から８のいずれか一項に記載のデバイス。
【請求項１０】
近距離通信方法であって、
外部デバイスと近距離通信デバイスの間の近距離通信チャネルを確立するステップと、
前記外部デバイスによって送信されたアプリケーションデータを前記近距離通信デバイスの第１のホストプロセッサに提供するステップと、
を有し、
前記方法は、
前記第１のホストプロセッサに提供されたアプリケーションデータの性質または内容に関する通知を前記近距離通信デバイスの第２のホストプロセッサに提供するステップと、
アプリケーションの特性パラメータに従って選択された分析規則に従って前記通知を設定するステップであって、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、ステップと、
をさらに有することを特徴とする方法。
【請求項１１】
次の特性パラメータ、
前記アプリケーションの識別子であって、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、前記アプリケーションの識別子、
非接触通信技術であって、前記非接触通信技術によって前記近距離通信チャネルが形成される、前記非接触通信技術、または、
非接触通信プロトコルであって、前記非接触通信プロトコルによって前記近距離通信チャネルが形成される、前記非接触通信プロトコル
のうちの少なくとも１つに従って前記通知が設定される、請求項１０に記載の方法。
【請求項１２】
前記第２のホストプロセッサに提供される通知は、前記アプリケーションデータ内に存在するデータ、または前記アプリケーションデータ内に存在するデータにおける情報項目を含む、請求項１０または１１に記載の方法。
【請求項１３】
前記外部デバイスによって送信され、前記第１のホストプロセッサに提供されたアプリケーション選択コマンドを受信すると、前記アプリケーションの識別子を含む通知を前記第２のホストプロセッサに提供するステップを有し、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、請求項１０から１２のいずれか一項に記載の方法。
【請求項１４】
前記外部デバイスによって送信されたアプリケーションデータを識別するステップと、
前記アプリケーションデータの識別の結果および前記アプリケーションの特性パラメータに従ってデータ分析プログラムを選択するステップと、
前記選択されたデータ分析プログラムによって前記アプリケーションデータを分析するステップと、
前記アプリケーションデータの分析の結果に従って通知を設定するステップと、
を有する請求項１０から１３のいずれか一項に記載の方法。
【請求項１５】
前記アプリケーションの少なくとも１つの特性パラメータに従って前記第１のホストプロセッサおよび前記第２のホストプロセッサを指定するルーティングおよび通知テーブルの使用を含む請求項１０から１４のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部デバイスと近距離通信チャネルを確立し、外部デバイスによって送信されたアプリケーションデータをデバイスの第１のホストプロセッサに提供するように設計された近距離通信デバイスに関する。
【背景技術】
【０００２】
いわゆるNFC(Near Field Communication(近距離通信))技術は、各々がアンテナコイルを備える２つのデバイスが、誘導結合によってデータを交換することを可能とする。NFCチャネルの生成は、「読み取り機」と呼ばれる、２つのデバイスのうちの１つが磁場を放出し、「カード」と呼ばれる他のデバイスが、磁場が後者においてアンテナ信号を生成するように、前者のデバイスのうちの１つに十分に近いアンテナコイルを有する。「ピア・ツー・ピア」（またはポイント・ツー・ポイント）と呼ばれるもう１つの知られたNFC方法において、各々のデバイスは、交互に磁場を放出する。従って、近年、ホストプロセッサに接続されるように提供され、読み取り機、カードエミュレーション、またはピア・ツー・ピア・モードにおいてNFCアプリケーションを実行することを可能とするNFCデバイスが開発された。
【０００３】
図１は、上記の種類の従来のNFCデバイスD1の構成を図式的に表わす。このデバイスは、CLF(Contactless Front End(非接触フロントエンド))通信インタフェース回路、NFCC1と示されたNFCコントローラ、プログラムおよびデータメモリMEM1、通信ポートP1、P2、を備え、これらの要素はバスBSによって結合されている。ポートP1、P2は、ホストプロセッサHP1、HP2がデバイスD1に接続されることを可能とする。メモリMEM1は、プロセッサNFCC1のオペレーティングシステムOSおよびプロセッサNFCC1によって実行されるルーティングプログラムRPGRを収容する。インタフェース回路CLFにはアンテナコイルAC1が備えられ、それ自身がアンテナコイルAC2を備える外部デバイスEDVとNFCチャネルを確立するように構成される。
【０００４】
そのような近距離通信デバイスは、特許または特許出願EP 1 327 222、EP 1 758 049、EP 1 855 229、およびEP 1 855 389において開示された。EP 1 327 222は、カードエミュレーションモードを提供することを教示している。EP 1 855 229は、デバイスがカードエミュレーションモードにあるとき受信される磁場からデバイスに電気的に給電する方法を開示している。EP 1 855 389は、入って来るデータ（インタフェース回路CLFによって受信されるデータ）をルーティングする方法であって、それによってデータが意図されるホストプロセッサを判定できる方法を開示している。EP 1 327 222は、ルーティングテーブルを使用するルーティング方法を開示している。さらに、ETSI TS 102 622標準("Smart Cards; UICC - Contactless Front-end (CLF) Interface; Host Controller Interface (HCI)")、CLFインタフェース回路の動作を規定するETSI TS 102 613標準、またはNCI仕様("NFC Controller Interface")のような標準または仕様はデバイスのある特徴をより正確に規定している。
【０００５】
ここで、ホストプロセッサHP1は、あるレベルのセキュリティを要求するアプリケーション、特に支払いアプリケーションまたは直接または間接に支払いを含むアプリケーションに専用のセキュアコンポーネントであり、プロセッサHP2は、ユーザと通信する手段へのアクセスを有する非セキュアプロセッサであると仮定する。プロセッサHP1は、例えば、NFC機能が設けられたUICC(Universal Integrated Circuit Card)型カード、またはより一般に、セキュアエレメント型プロセッサ(NFアプリケーションに専用のセキュアプロセッサ)である。プロセッサHP2は、例えば、携帯電話のベースバンドプロセッサであり、ディスプレイおよび入力手段(実際のまたは仮想的なキーボード)のような各種のマンマシンインタフェース周辺機器も制御する。
【０００６】
また、図１は、デバイスD1がホストプロセッサHP1のためにカードエミュレーションモードで動作し、それによってホストプロセッサHP1が外部デバイスEDVとトランザクション、例えば販売時点情報管理(point of sale)を実行することを可能とするアプリケーションの例を表わす。トランザクションの間、ホストプロセッサHP1と外部デバイスEDVがアプリケーションデータ、例えばISO 7816標準によって説明されている種類のAPDU("Application Protocol Data Unit"(アプリケーション・プロトコル・データ・ユニット))データを交換する。より詳しくは、外部デバイスは(標準においてC-APDUと示される)コマンドCAPDUを送信し、ホストプロセッサHP1は(標準においてR-APDUと示される)応答RAPDUを返送する。そのようなデータはデバイスD1を通り、コントローラは、インタフェース回路CLFからホストプロセッサHP1への、またはその逆のルーティングを保証する。
【０００７】
トランザクションが終わると、ホストプロセッサHP1はトランザクションにおける情報をプロセッサHP2に提供できる。そして、プロセッサHP2はそのような情報をユーザに提示できる。例えば、プロセッサHP2は、"製品Xの購入"トランザクションが日付Yにおいて数量Zについて実行されたことの確認を場合によって音声信号と一緒に表示できる。 
【０００８】
さらに、ETSI TS 102 613標準(バージョンV9.2.0)は、11.2節において、２つのホストプロセッサがトランザクションにおいて情報を交換することを可能とする方法を規定している。この方法は、接続(connectivity)ゲート、"PRO_HOST_REQUEST"コマンド、およびEVT_CONNECTIVITY、EVT_OPERATION_ENDED、EVT_TRANSACTIONイベントを規定している。EVT_TRANSACTIONイベントは、以下に示す形態で形成され、該当するアプリケーションの"AID"("Application ID")識別子を含む。
【０００９】
【表１】
0006334551.tif 000002
【００１０】
トランザクションの実行におけるこの情報の伝達は、プロセッサHP1によって実行されるアプリケーションプログラム、または上記の結合機能によってアプリケーションを起動するプログラムの設定に依存する。従って、トランザクションに関する情報の第３のプロセッサへ伝達は、アプリケーションプログラムを設計するときに具体的なプログラムの行を提供する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って、伝達される情報はアプリケーション毎に異なり得るという事実を考慮する一方、ホストプロセッサによって実行されるアプリケーションプログラムに依存しない、全てのアプリケーションについて集中化された形態で管理され設定されることが可能である、トランザクションに関する情報を伝達する方法を提供することが望まれ得る。
【課題を解決するための手段】
【００１２】
従って、本発明のいくつかの実施例は、外部デバイスと近距離通信チャネルを確立し、前記外部デバイスによって送信されたアプリケーションデータを第１のホストプロセッサに提供し、前記第１のホストプロセッサに提供されたアプリケーションデータの性質または内容に関する通知を第２のホストプロセッサに提供し、アプリケーションの特性パラメータに従って前記通知を設定するように構成され、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、近距離通信デバイスに関する。
【００１３】
一実施例によれば、前記デバイスは、次の特性パラメータ、前記アプリケーションの識別子であって、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、前記アプリケーションの識別子、テクノロジーであって、前記テクノロジーによって前記近距離通信チャネルが形成される、前記テクノロジー、または、通信プロトコルであって、前記通信プロトコルによって前記近距離通信チャネルが形成される、前記通信プロトコルのうちの少なくとも１つに従って前記通知を設定するように構成される。
【００１４】
一実施例によれば、前記デバイスは、アプリケーションデータ内に存在するデータ、または前記アプリケーションデータ内に存在するデータにおける情報項目を含む通知を前記第２のホストプロセッサに提供するように構成される。
【００１５】
一実施例によれば、前記デバイスは、前記アプリケーションの識別子を含む通知を前記第２のホストプロセッサに提供するように構成され、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する。
【００１６】
一実施例によれば、前記デバイスは、前記外部デバイスによって送信されたアプリケーションデータを識別し、前記アプリケーションデータの識別の結果および前記アプリケーションの特性パラメータに従ってデータ分析プログラムを選択し、前記選択されたデータ分析プログラムによって前記アプリケーションデータを分析し、前記アプリケーションデータの分析の結果に従って通知を設定するように構成される。
【００１７】
一実施例によれば、前記デバイスは、前記アプリケーションデータに対応するマスクが見つかるまで前記アプリケーションデータと各々のマスクを比較することによって、一連の識別マスクによって前記アプリケーションデータを識別するように構成される。
【００１８】
一実施例によれば、前記デバイスは、前記選択されたデータ分析プログラムにおいて形成され、または含まれるデータマスクと前記アプリケーションデータを結合することによって前記アプリケーションデータを分析するように構成される。
【００１９】
一実施例によれば、前記アプリケーションデータは、ISO 7816標準の意味におけるコマンドCAPDUである。
【００２０】
一実施例によれば、前記デバイスは、前記第１のホストプロセッサによって送信されたアプリケーションデータを前記外部デバイスに提供し、前記第１のホストプロセッサによって送信されたアプリケーションデータの性質または内容に関する通知を前記第２のホストプロセッサに提供し、前記特性パラメータに従って前記通知を設定するように構成される。
【００２１】
また、本発明のいくつかの実施例は、外部デバイスと近距離通信デバイスの間の近距離通信チャネルを確立するステップと、前記外部デバイスによって送信されたアプリケーションデータを前記近距離通信デバイスの第１のホストプロセッサに提供するステップと、前記第１のホストプロセッサに提供されたアプリケーションデータの性質または内容に関する通知を前記近距離通信デバイスの第２のホストプロセッサに提供するステップと、アプリケーションの特性パラメータに従って前記通知を設定するステップであって、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、ステップと、を有する近距離通信方法に関する。
【００２２】
一実施例によれば、次の特性パラメータ、前記アプリケーションの識別子であって、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する、前記アプリケーションの識別子、非接触通信技術であって、前記非接触通信技術によって前記近距離通信チャネルが形成される、前記非接触通信技術、または、非接触通信プロトコルであって、前記非接触通信プロトコルによって前記近距離通信チャネルが形成される、前記非接触通信プロトコルのうちの少なくとも１つに従って前記通知が設定される。
【００２３】
一実施例によれば、前記第２のホストプロセッサに提供される通知は、前記アプリケーションデータ内に存在するデータ、または前記アプリケーションデータ内に存在するデータにおける情報項目を含む。
【００２４】
一実施例によれば、前記方法は、前記外部デバイスによって送信され、前記第１のホストプロセッサに提供されたアプリケーション選択コマンドを受信すると、前記アプリケーションの識別子を含む通知を前記第２のホストプロセッサに提供するステップを有し、前記アプリケーションの範囲内で前記外部デバイスが前記第１のホストプロセッサにデータを送信する。
【００２５】
一実施例によれば、前記方法は、前記外部デバイスによって送信されたアプリケーションデータを識別するステップと、前記アプリケーションデータの識別の結果および前記アプリケーションの特性パラメータに従ってデータ分析プログラムを選択するステップと、前記選択されたデータ分析プログラムによって前記アプリケーションデータを分析するステップと、前記アプリケーションデータの分析の結果に従って通知を設定するステップと、を有する。
【００２６】
一実施例によれば、前記方法は、前記アプリケーションの少なくとも１つの特性パラメータに従って前記第１のホストプロセッサおよび前記第２のホストプロセッサを指定するルーティングおよび通知テーブルの使用を含む。
【００２７】
本発明のいくつかの実施例が、限定しないが、添付図面に関して以下で説明される。
【図面の簡単な説明】
【００２８】
【図１】従来のNFCデバイスのハードウェアおよびソフトウェア構成を図式的に表わす。
【図２】本発明によるNFCデバイスの一実施例のハードウェアおよびソフトウェア構成を図式的に表わす。
【図３】本発明による通知設定モジュールの一実施例を表わす。
【図４Ａ】図３のモジュールを用いた通知方法のステップを説明する。
【図４Ｂ】図３のモジュールを用いた通知方法のステップを説明する。
【図５】本発明による通知設定モジュールのもう１つの実施例および本発明による通知テーブルの一実施例を表わす。
【図６Ａ】図５のモジュールを用いた通知方法の一実施例のステップを説明する。
【図６Ｂ】図５のモジュールを用いた通知方法の一実施例のステップを説明する。
【図７】本発明による通知設定モジュールのもう１つの実施例を表わす。
【図８】本発明による通知テーブルのもう１つの実施例を表わす。
【図９】本発明によるルーティングおよび通知テーブルの一実施例を表わす。
【発明を実施するための形態】
【００２９】
図２は、D2と示される、本発明によるNFCデバイスの構成を図式的に表わす。デバイスD2は上述したデバイスD1と同じ概略の構成を有し、従って、CLF("Contactless Front End"(非接触フロントエンド))通信インタフェース回路、NFCコントローラ"NFCC2"、プログラムおよびデータメモリMEM2、通信ポートP1、P2を備え、これらの要素はバスBSによって結合されている。ポートP1、P2は、ホストプロセッサHP1、HP2がデバイスD2に接続されることを可能とする。メモリMEM2は、オペレーティングシステムOS、ルーティングテーブルRTを含み得るルーティングプログラムRPGR、本発明による通知プログラムNPGRを収容する。インタフェース回路CLFにはアンテナコイルAC1が備えられ、それ自身がアンテナコイルAC2を備える外部デバイスEDVと近距離通信チャネル確立するように構成される。デバイスD2およびホストプロセッサHP1、HP2は、携帯電話のようなポータブルデバイスMPに配置されることが可能である。
【００３０】
ホストプロセッサHP1および外部デバイスEDVがトランザクションを実行するとき、コントローラNFCC2はルーティングプログラムRPGRを実行し、外部デバイスEDVによって送信され、インタフェース回路CLFによって受信されたコマンドCAPDUをホストプロセッサHP1に転送するか、またはプロセッサHP1によって送信された応答RAPDUをインタフェース回路CLFに転送し、それによって、それが外部デバイスEDVに送信される。また、コントローラは、本発明による通知プログラムNPGRを実行し、プロセッサHP1と外部デバイスEDVによって交換されたデータCAPDU、RAPDUの性質および／または内容に関する通知をプロセッサHP2に送信する。
【００３１】
一実施例によれば、コントローラはプロセッサHP2に次の通知を送信する：
−  N[AIDi]：プロセッサHP1に転送されたアプリケーション選択コマンドSELECT_AID内に存在するアプリケーション識別子AIDiを含むアプリケーション選択通知、
−  NCj：インタフェース回路CLFによって受信され、プロセッサHP1に転送されたコマンドCAPDUjに関する通知、
−  NRj：プロセッサHP1によって送信され、インタフェース回路CLFに転送されたコマンドRAPDUjに関する通知。
【００３２】
コマンドまたは応答に関する通知NCj、NRjは、任意の種類の情報またはデータを含み得る。例えば：
−  コマンドまたは応答の性質についての情報（例えばコマンドの種類）、
−  コマンドまたは応答の内容についての情報（例えばコマンドまたは応答内に所定のデータが存在するという事実）、および／または
−  コマンドまたは応答に含まれる１つまたは複数のデータ。
【００３３】
通知NCjまたはNRjはアプリケーションの特性パラメータに従って生成され、そのアプリケーションの範囲内で外部デバイスEDVとホストプロセッサHP1がデータAPDUを交換する。以下で説明するいくつかの実施例において、この特性パラメータはアプリケーションの識別子AIDである。
【００３４】
この目的のために、通知プログラムNPGRは通知設定モジュールMAiの集合(MA0, MA1,...MAn)を備え、各々のモジュールMAiは識別子AIDiと関連付けされている。モジュールMAiの構成は図３に図式的に表わされている。各々のモジュールは次を備える： 
−  コマンド識別プログラムCIP、
−  プログラムCIPが識別されることを可能にできるコマンドCAPDUj (CAPDU0, CAPDU1,...  CAPDUNi)に関するコマンド分析規則の集合(CAR0, CAR1,...CARNi)、および
−  プログラムCIPが識別されることを可能にできる応答RAPDUj (RAPDU0, RAPDU1,...  RAPDUNi)に関する応答分析規則RARjの集合(RAR0, RAR1,...RARNi)。
【００３５】
各々の応答分析規則RARjはコマンド分析規則CARjと関連付けされ、各々のコマンド分析規則CARjは、プログラムCIPによって識別されることが可能であるコマンドCAPDUjと関連付けされる。各々の規則CARjは、コントローラNFCC2がプロセッサHP2に伝達される通知NCjを生成することを可能とする。同様に、各々の規則RARjは、コントローラがプロセッサHP2に伝達される通知NRjを生成することを可能とする。
【００３６】
従って、通知が生成される規則CARj、RARjが異なり得るという事実のために、同じコマンドCAPDUjまたは同じ応答RAPDUjは、アプリケーションに依存して異なる通知NCj、NRjを生じさせることが可能であり、そのアプリケーションの範囲内で送信される。
【００３７】
さらに、アプリケーションに関連付けされた識別プログラムCIPは、アプリケーションが使用する余地がある任意のコマンドまたは任意の応答を識別するように必ずしも設計される必要はない。プログラムCIPを設計するとき、通知が望まれるコマンドまたは応答のみが考慮されることが可能である。さらに、対応する応答それ自身が通知NRjを生じさせることなく、コマンドが通知NCjを生じさせることが可能であり、その逆も可能である。
【００３８】
図４Ａ、４Ｂは、通知プログラムNPGRによって実現された、本発明による通知方法の一実施例を説明する。ここで、プロセッサHP1はカードエミュレーションモードで動作すると仮定し、それによって、入って来るアプリケーションデータ（外部デバイスEDVによって送信され、インタフェース回路CLFによって受信されるデータ）はコマンドCAPDUであり、出て行くアプリケーションデータ（ホストプロセッサHP1によって送信されるデータ）は応答RAPDUである。
【００３９】
図４Ａを参照すると、この方法は、インタフェース回路CLFによって受信された入って来るデータCAPDUjのルーティングを待つ初期ステップS1を有する。このデータがルーティングプログラムRPGRによってプロセッサHP1にルーティングされとき、コントローラNFCC2はステップS2へ進み、ここで、コマンドCAPDUjがアプリケーション選択コマンド"SELECT_AID"であるかどうかを判定する。答えが肯定ならば、コントローラはステップS3へ進み、そうでなければ、コントローラはステップS6へ進む。
【００４０】
ステップS3において、コントローラはコマンドCAPDUjから識別子AIDiを抽出する。ステップS4の間、コントローラは、現在のコマンドとしてコマンドCAPDUj、現在の識別子として識別子AIDiを記憶する。ステップS5の間、コントローラは識別子AIDiを含む通知N[AIDi]をプロセッサHP2に送信し、そして、ステップS12へ進む。
【００４１】
ステップS2の後、入って来るデータCAPDUjがアプリケーション選択コマンドでないとき、ステップS6が実行される。コマンドSELECT_AIDはアプリケーションの始めに外部デバイスEDVによって送信された最初のコマンドなので、前のステップS4の間に識別子AIDiは現在の識別子として記憶されたと仮定する。従って、ステップS6において、コントローラは、モジュールMA0からMAnの全ての中から、現在の識別子AIDiと関連付けされた通知設定モジュールMAiを選択する。ステップS7の間、コントローラは、モジュールMAi内に存在するプログラムCIPによってコマンドCAPDUjを識別し、ステップS8において、そのコマンドを現在のコマンドとして記憶する。ステップS9において、コントローラは、モジュールMAi内に存在する分析規則CARjにアクセスする。ステップS10において、プロセッサは、規則CARjを用いてコマンドCAPDUjを分析し、ステップS11においてホストプロセッサHP2に送信する通知NCjを生成し、そして、ステップS12へ進む。 
【００４２】
識別子AIDiを現在の識別子として記憶するステップS4は、識別子のリスト内の識別子の順位"i"を記憶すること、および、通知設定モジュールMAiを各々の順位iと関連付けるインデックスを使用することを含み得ることが注記される。同様に、コマンドCAPDUjを現在のコマンドとして記憶するステップS8は、コマンドCAPDU0からCAPDUNiのリスト(モジュールMAiのプログラムCIPが識別されることを可能とするコマンドのリスト)内のコマンドの順位j、コマンドCAPDUjに適用可能な分析規則CARj、RARjが見出されることを可能とするパラメータjを記憶することを含み得る。
【００４３】
図４ＢのステップS12において、コントローラは、ホストプロセッサHP1によって送信された出て行くデータRAPDUjがルーティングプログラムRPGRによってインタフェース回路CLFにルーティングされるのを待つ。このデータは、現在のコマンドCAPDUjへの応答RAPDUjであると仮定される。出て行くデータがルーティングされるとき、コントローラは、ステップS13の間、現在の識別子AIDiと関連付けされたモジュールMAiにアクセスし、そして、ステップS14の間、現在のコマンドCAPDUjと関連付けされた応答分析規則RARjにアクセスする。ステップS15において、コントローラは、規則RARjを用いて応答RAPDUjを分析し、ステップS16においてホストプロセッサHP2に送信する通知NRjを生成する。そして、コントローラは、新しいコマンドがプロセッサHP1にルーティングされるのを待つ間、ステップS1に戻る。 
【００４４】
ここで説明された方法は、プロセッサNFCC2があるステップを実行することを防止する例外を含み得る。この場合において、既定値の通知が送信されることが行われ得る。例えば、ステップS6において、どの現在の識別子AIDiも以前に記憶されていない、または記憶された現在の識別子AIDiと関連付けされた通知設定モジュールMAiが存在しないことが分かると、コントローラはステップS17aへ進み、ここで、この例外に関する通知をホストプロセッサHP2に送信し、そして、ステップS12へ進む。この通知は、例えば、どのアプリケーション識別子もプロセッサHP1に送信されたコマンドと関連付けされていない、またはどの通知設定モジュールも現在の識別子と関連付けされていないことを示す。ステップS7において、プログラムCIPがコマンドCAPDUjが識別されることを可能としないならば、コントローラはステップS17bへ進み、ここで、この例外に関する通知をプロセッサHP2に送信し、そして、ステップS12へ進む。同様に、ステップS9において、現在のモジュールMAiがどのコマンド分析規則CARjも含まないならば、コントローラはステップS17cへ進み、ここで、この例外に関する通知を送信し、そして、ステップS12へ進む。ステップS13において、どの現在の識別子AIDiも以前に記憶されていないならば、またはコントローラが現在の識別子に対応するモジュールMAiを見出さないならば、コントローラはステップS17dへ進み、ここで、この例外に関する通知をプロセッサHP2に送信し、そして、ステップS1へ戻る。最後に、ステップS14において、コントローラが現在のモジュールMAiにおいて、現在のコマンドCAPDUjと関連付けされた応答分析規則RARjを見出さないならば、またはどの現在のコマンドCAPDUjも以前に記憶されていないならば、コントローラはステップS17eへ進み、ここで、この例外に関する通知をプロセッサHP2に送信し、そして、ステップS1へ戻る。
【００４５】
この方法の１つの代わりの実施例において、入って来るデータのルーティングを待つステップS1および出て行くデータのルーティングを待つステップS12は同時に実行され、それによって、プロセッサHP1が１番目のコマンドへの応答が送信されていなくて（出て行くデータがない）、コントローラがプロセッサHP2に２つの連続するコマンドのルーティングを通知することができる。さらに、１番目のコマンドの後に、１番目のコマンドへの応答がプロセッサHP1によって送信されていなくて、２番目のコマンドが受信されたならば、２番目のコマンドを受信した後、プロセッサHP1によって送信された応答は、プロセッサHP2に通知を送信する処理として、１番目でなく２番目のコマンドへの応答であると解釈されることが注記される。
【００４６】
図５は、上述したモジュールMAiを置換する通知設定モジュールMBi(MB0からMBn)の一実施例を表わす。各々のモジュールMBiは3列およびNi+1行(モジュール毎に変動することが可能である行数)を有する。各々の行は、第1列においてコマンド識別マスクIMj、第2列において分析規則CARj、第3列において分析規則RARjを有する。マスクIMjは、識別されるコマンドCAPDUとの排他的OR演算によってビット毎に結合されるために提供されるビット列である。一実施例に従って、各々のマスクIMjは、排他的OR演算によってマスクIMjと結果("clean"コマンド)を結合する前に、重要でないビットまたはマスクを用いて識別されることができないビット(予測できない値のビット)をそこから除去するために、AND演算によってコマンドに適用されることが意図される値マスクを伴う。コマンドの対応するビットとコマンド識別マスクIMjの各々のビットの結合の結果が0に等しいならば、コマンドはこのマスクによって識別されると考えられ、分析規則CARj、RARjはマスクIMjを有する行において読み出される。もう１つの実施例において、コマンドの識別は、値マスクと識別マスクの結合演算を保証する設定可能なハードウェアに組み込みの論理演算によって保証されることができる。
【００４７】
図５に表わされているように、モジュールMAiを各々のアプリケーション識別子AIDiと関連付けるために通知テーブルAT1も提供される。テーブルAT1は識別子AIDiまたは識別子の順位iを含む第1列、識別子AIDiと関連付けされたモジュールMBiを示す値A(MBi) (A(MB0), A(MB1)...  A(MBn))を含む第2列を有する。これらの値は、モジュールMBiのメモリMEM2におけるアドレス、またはこれらのモジュールのインデックスされたアドレス、例えばアドレスのインデックスにおけるモジュールの順位であり得る。従って、通知テーブルAT1はアプリケーション識別子と対応する通知設定モジュールの間のルックアップテーブルを形成する。
【００４８】
さらに、コマンド分析規則CARjは、データマスクDMjまたはデータマスクより複雑なコマンド分析プログラムを有し得る。実際、ある知られたコマンドは、固定位置に配置された固定サイズのデータフィールドを有し、これはデータマスクによって抽出されることが可能である。従って、規則CARjがデータマスクDMjを有するとき、マスクはAND論理演算によってコマンドと結合され、結合の結果はプロセッサHP2に通知されるデータである。しかし、他の知られたコマンドは可変の位置および長さのフィールド、例えばTLV("Type Length Value"(種類、長さ、値))フォーマットのコマンドを有する。そして、簡単なデータマスクより洗練された分析プログラムを提供することを要求する、探索される値が見出されることを可能とするそのようなコマンドタグに配置することが必要である。 
【００４９】
しかし、ここで、分析プログラムを要求する、一般にTLVまたはLVフォーマットにおける、ISO 7816標準によって提供されるような応答RAPDUの可変的な構成のために、データマスクは応答分析規則RARjにおいて使用できないと仮定する。
【００５０】
図６Ａ、６Ｂは、通知設定モジュールMBiおよび通知テーブルAT1を用いた通知方法の一実施例を表わす。この方法は次のステップを有する：
−  ステップS20(図６Ａ)：コントローラは、ルーティングプログラムによってルーティングされる入って来るデータCAPDUjを待ち、そして、ステップS21へ進む。
−  ステップS21：排他的OR演算(XOR)によって、コントローラは、コマンドSELECT_AID(付録２における例を参照)を識別するために専用のマスクMAID1とコマンドCAPDUjを結合する。結果が0に等しいならば、コマンドは識別子選択コマンドであり、コントローラはステップS22へ進み、そうでなければ、コントローラはステップS25へ進む。
−  ステップS22 AND論理演算によって、コントローラは識別子AIDiを抽出するために専用のマスクMAID2とコマンドCAPDUjを結合し、これは演算の結果を形成する(付録２における例を参照)。
−  ステップS23：コントローラは、現在のマスクとしてマスクMAID1および現在の識別子として識別子AIDiまたは識別子の順位"i"を記憶する。
−  ステップS24：コントローラは、識別子AIDiを含む通知N[AIDi]をプロセッサHP2に送信し、そして、ステップS32へ進む。
−  ステップS25：通知テーブルAT1によって、コントローラは、現在の識別子AIDiに対応する通知設定モジュールMBiを選択する。
−  ステップS26：コントローラは、モジュールMBiにおいて最初のコマンド識別マスクIM0、または前のステップS26の間にマスクが既に読み出されたならば次のマスクIMを読み出す。
−  ステップS27：コントローラは、場合によって値マスクを適用した後に、排他的OR演算によってマスクIMとコマンドCAPDUjを結合し、結果が0に等しいビット列ならば、コントローラはステップS28へ進み、そうでなければ、ステップS26へ戻って次のマスクを読み出す。
−  ステップS28：コントローラは、現在のマスクIMjとしてマスクIMを記憶し、またはマスクの順位"j"のみを記憶する。
−  ステップS29：コントローラは、モジュールMBiにおいて、マスクIMjと関連付された分析規則CARjを読み出す。規則CARjがデータマスクDMjを含むならば、コントローラはステップS30aへ進む。規則が分析プログラムを含むならば、コントローラはステップS30bへ進む。
−  ステップS30a：コントローラは、AND論理演算によってコマンドCAPDUjとマスクDMjを結合して、コマンドから、通知されるデータを抽出する。
−  ステップS30b：コントローラは、規則CARjによってコマンドCAPDUjを分析して、コマンドから抽出されたデータを含み得る、通知される情報項目を取得する。
−  ステップS31：コントローラは、データおよび／または情報を含む通知NCjをプロセッサHP2に送信し、そして、ステップS32へ進む。
−  ステップS32(図６Ｂ)：コントローラは、インタフェース回路CLFにルーティングされる出て行くデータRAPDUjを待つ。前述の通り、ステップS20において、同時に２つのコマンドが受信される場合を扱うために、コントローラは、ルーティングされる第2のコマンドを同時に待つことが可能である。
−  ステップS33：コントローラは、現在のモジュールMBiにおいて、現在のマスクIMjまたはマスクMAID1と関連付けされた規則RARjを読み出す。
−  ステップS34：コントローラは、規則RARj(例えば、付録２を参照)を用いて応答RAPDUjを分析し、応答内に存在するデータを含む、またはデータからなることが可能である応答通知を生成する。 
−  ステップS35：コントローラは、そのような情報を含む通知NRjをプロセッサHP2に送信する。
【００５１】
上記の通り、この方法は、次の実行例外の全部または一部を含み得る：
−  ステップS25において、現在の識別子AIDiが以前に記憶されていない、またはモジュールMBiが現在の識別子と関連付けされていないならば、コントローラはステップS36aへ進み、ここで、この例外に関する通知をプロセッサHP2に送信し、そして、ステップS32へ進む。
−  ステップS26において、モジュールMBiのマスクIM0からIMNiのいずれも現在のコマンドCAPDUjに対応しないならば、コントローラはステップS36bへ進み、ここで、コマンドが識別されていないことを示す通知をプロセッサHP2に送信し、そして、ステップS32へ進む。
−  ステップS33において、コントローラが現在の識別子AIDiを見出さないならば、ステップS36cへ進み、ここで、任意の知られたアプリケーションにリンクされていない識別可能でないデータがプロセッサHP1によって送信されたことを示す既定値の通知をプロセッサHP2に送信する。コントローラが現在の識別子AIDiと関連付けされたモジュールMBiを見出さないならば、ステップS36dへ進み、ここで、アプリケーション識別子AIDiにリンクされた認識可能でないデータがプロセッサHP1によって送信されたことを示す既定値の通知をプロセッサHP2に送信する。最後に、コントローラが記憶された現在のマスクIMjを用いて現在の識別子AIDiと関連付けされた分析規則RARjを見出さないならば、ステップS36eへ進み、ここで、識別可能でない応答がプロセッサHP1によって送信されたことを示す既定値の通知をプロセッサHP2に送信する。
【００５２】
図７は、本発明による通知設定モジュールMCiのもう１つの実施例を表わす。識別プログラムCIPは全てのモジュールMCiに共通であり、各々のモジュールMCiは分析規則CARj、 RARjのみを含む。この実施例において、モジュールMCiはもはや個別に選択可能な要素として必要でない。通知プログラムは、現在の識別子AIDiおよび現在のコマンドCAPDUjから分析規則CARj、RARjの組NRi,jを直接にアクセスすることができる。
【００５３】
上記で、２つのホストプロセッサHP1、HP2にリンクされたデバイスD2に適用可能である通知方法の例が説明され、この場合、ホストプロセッサHP2のみが、プロセッサHP1にルーティングされた、またはプロセッサHP1に送信されたデータに関する通知を受信する。実際、デバイスは、３つまたはより多くのホストプロセッサを含むことが可能であり、各々のプロセッサは、他のホストプロセッサの活動に関する通知を受信する余地がある。従って、本発明による通知方法は、複数の通知を生成するように構成することも可能である。
【００５４】
同様に、上記では、一度にただ１つのアプリケーションがホストプロセッサHP1によって管理されることが可能であり、それによって、ホストプロセッサHP2に送信される通知は、"現在の識別子"と呼ばれる同じアプリケーション識別子に結び付けられると仮定した。一実施例によれば、プロセッサHP1および外部デバイスEDVは同時にいくつかのアプリケーションを実行することができる。この場合において、アプリケーションの範囲内で交換されるデータは、論理チャネルによってもう１つのアプリケーションの範囲内で交換されるデータから区別される。従って、ISO 7816標準は、コマンドまたは応答の最初のバイトCLASSのビット0および1をパラメータ化することによって4から20個の論理チャネルを使用する可能性を提供する(一度にただ１つのアプリケーションが実行される場合において、その既定値は0である)。"グローバルプラットフォーム(Global Platform)"仕様は、ISO 7816標準によって提供される4個の論理チャネルに加えて16個の論理チャネルを定義する4個の追加のビットを提供し、すなわち合計で20個のチャネルである。
【００５５】
この場合において、アプリケーション識別子を記憶することは、デバイスD2によってルーティングされるコマンドまたは応答に適用可能な分析規則を選択するために十分でない。実際、識別子AIDiはコマンドSELECT_AID内に存在するが、次のコマンドまたは応答内に含まれない。この場合において、本発明による通知方法は、図８に表わされている種類の通知テーブルAT2を使用し、通知テーブルAT2は、識別子AID0からAIDn(またはそれらの順位i)を含む列および通知設定モジュールMBiのアドレスA(MBi)を含む列に加えて、"論理チャネル"の列を含む。"論理チャネル"の列は、最初は空であり、論理チャネル番号を含むコマンドSELECT_AIDが受信され、ホストプロセッサにルーティングされるときに、動的に更新される。
【００５６】
そして、図６Ａに表わされている方法のステップは、次のように変更される：
−  ステップS23において、識別子AIDiが、受信された最初のコマンドSELECT_AIDから抽出されていないとき、対応する論理チャネルは、この識別子に関して通知テーブルAT2内に記録される。この識別子が"AID0"であり、外部デバイスによって選択された論理チャネル番号が"CH01"であると仮定すると、チャネルCH01は、図８に表わされているように、通知テーブルAT2内のこの識別子と関連付される。
−  ステップS23のもう１つの繰り返しの間に、もう１つの識別、例えば識別子"AID2"がもう１つのコマンドSELECT_AIDから抽出されるとき、例として、論理チャネル番号"CH02"がコマンド内に見出されたと仮定すると、この論理チャネル番号CH02は通知テーブルAT2内の識別子AID2と関連付けされる。
−  そして、ステップS25が実行されるとき、受信されたコマンド内に存在する論理チャネル番号が通知テーブルAT2のエントリポイントとして使用されて、どのモジュールMA0またはMA2が選択されなければならないかを判定する。従って、この実施例において、ステップS23において識別子AIDiを記憶することは必ずしも必要ではない。むしろ、それは、記憶されるコマンドが受信されることが可能である各々の論理チャネルと関連付けされたモジュールMA0、MA2の識別情報(メモリ内のアドレスまたはインデックスされたアドレス)である。 
【００５７】
上記で、通知を設定するために選択された特性パラメータがアプリケーションの識別子またはこの識別子と関連付けされた論理チャネルである、本発明によるルーティング方法のいくつかの実施例が説明された。
【００５８】
本発明によるルーティング方法の他の実施例において、アプリケーションの他の特性パラメータは、通知を設定するために使用されることが可能である。特に、これらのパラメータは、入って来るデータの宛先ポイントを形成するホストプロセッサを判定するためにルーティングプログラムRPGRによって使用されるパラメータであり得る。そして、そのような場合において、ルーティングプログラムRPGRによって使用されるルーティングテーブルRTおよび通知プログラムNPGRによって使用される通知テーブルを併合して、従来のルーティングテーブルRTを置換するルーティングおよび通知テーブルRNTを取得することが可能である。 
【００５９】
ルーティングおよび通知テーブルRNTの概要の例は、付録１のテーブル１に記載され、図９に表わされている。ここで、テーブルRNTは、NFC Forum(TC DEV NCI 00058R013 NFCForum TS NCI 1.0)のNCI仕様に関して設計されている。
【００６０】
NCI仕様の5.3節は、NFCデバイスが"listen"モードにあるとき、３つのパラメータ：
−  アプリケーション識別子AID、
−  識別子AIDが見出されないならばプロトコル(protocol)、
−  プロトコルが判定できないならばテクノロジー(technology)
に基づくルーティング方法を推奨している。
【００６１】
"プロトコル"および"テクノロジー"パラメータは、NFC Forumの"DIGITAL 1.0"仕様において規定されている。プロトコルは、"Type1Tag"、"Type2Tag"、"Type3Tag"、"Type4ATag"、"Type4B"、"ISO-DEP"、"NFC-DEP"であり得る。テクノロジーは、"Type A"、"Type B"、または"Type F"、13.56MHzのキャリア周波数を全て使用すること、または任意の他のいわゆる"オーナー"プロトコル、例えばISO15であり得る。テクノロジーは、RFキャリア、通信モード、ビットレート、変調方式、ビットレベル符号化、フレームフォーマット、プロトコル、等のような伝送パラメータのグループとしてNCI仕様によって規定されている。
【００６２】
従って、ルーティングおよび通知テーブルRNTは、ルーティングおよび通知を設定するために次の特性パラメータを含む：
−  AID：アプリケーション識別子、 
−  "PROT"：NCI仕様の意味における"プロトコル(protocol)"、
−  "TECH"：NCI仕様の意味における"テクノロジー(technology)"、
−  "BAT"：デバイスD2のバッテリーの状態(図２に表わされていない)。
【００６３】
上述した通り(ステップS3またはS22)、識別子AIDはコマンドSELECT_AID内に見出される。しかし、ここで、識別子AIDは、入って来るデータをルーティングする目的のためにルーティングプログラムRPGRによって検出され、従って、そのような検出は、通知プログラムによって再度実行される必要がない。従って、通知プログラムの簡略化が提供されることが可能である。概して、通知プログラムおよびルーティングプログラムは、アプリケーションの同じ特性パラメータに基づくルーティングおよび通知の管理の範囲内で併合されることが可能である。プロトコルは、NCI仕様において提供される、いわゆる"ディスカバリ(Discovery)"ステップの間に検出される。テクノロジーも"ディスカバリ"ステップの間に検出される。より詳しくは、この仕様は、"Activity"というタイトルの章において、次のステップ：1 テクノロジー検出(Technology detection)、2 衝突処理(Collision processing)(任意選択)、3 デバイスの活性化(Activation of the device)、4 データ交換(Data exchange)、5 デバイスの非活性化(Deactivation of the device)を提供する。テクノロジーはステップ1において識別され、プロトコルはステップ1および3において識別される。
【００６４】
バッテリーの状態は、"オン"(十分な充電レベルを有するバッテリー)、"ロー"(閾値より下のレベル)、または"オフ"(空のバッテリーまたはデバイスのあるユニットが機能するために不十分な充電を有するバッテリー)であり得る。デバイスD2は、EP 1 855 229に記載されているように、外部デバイスEDVによって放出された磁場からエネルギーを得ることによって、バッテリーが空である動作モードを有することが可能である。１つの選択肢において、バッテリーの状態とホストプロセッサの状態(作動されたものについて"オン"および不作動にされたものについて"オフ")の間の組み合わせを考慮することが可能である。そして、ホストプロセッサの状態に関する追加の列が提供されるべきである。
【００６５】
さらに、ルーティングおよび通知テーブルRNTは、特性パラメータAID、PROT、TECH、BATに従って変動する次の変数を含む：
−  TargProc1：入って来るデータをルーティングするためのターゲットプロセッサを示す。ここで、デバイスD2は３つのホストプロセッサHP1、HP2、HP3に結合されると仮定し、プロセッサHP3は、図２において点線で表わされ、ポートP3に接続されている。
−  TargProc2：本発明による通知を送信するためのターゲットプロセッサを示す。
−  A(MB)：この列は、上述した値A(MB0)、A(MB1) ... A(MBn)を含み、モジュールMBiを示し、それによって、プロセッサTargProc2に送信される通知を設定することが可能である。
【００６６】
NCI仕様は、識別子AIDが知られていれば識別子AIDから、またはプロトコルが知られていればプロトコルから(あるNCIアプリケーションは識別子AIDを使用しない)、または識別子AIDおよびプトロコルが判定できないならばテクノロジーからでさえ、ターゲットプロセッサ(ここでは"TargProc1")の識別子が判定されることを提供する。
【００６７】
従って、テーブルRNTによって表わされているルーティングは３つの可能性：知られた識別子AID、識別子が知られていないが知られたプロトコル、識別子およびプロトコルが知られていないが知られたテクノロジーを考慮する。テーブルRNTに含まれる名称"PROT0"、"PROT2"、"PROT4"、"TECH1"、"TECH2"は図式的であり、各々は上述したプトロコルまたはテクノロジー、または任意の他の適用可能なテクノロジーまたはプロトコルのうちの１つに対応する。
【００６８】
このルーティングおよび通知テーブルのアーキテクチャは、入って来るデータのルーティングのためのターゲットプロセッサTargProc1を判定するための規則は、通知が送信されるプロセッサ、および、これらの通知を設定するために使用される通知設定モジュールを判定するためにも使用され得ることを表わす。
【００６９】
表わされていない一実施例によれば、ルーティングおよび通知テーブルRNTは、通知を受信する第２のプロセッサを示す列"TargProc3"を含む。そして、列"TargProc3"によって示されるプロセッサに送信される通知を生成するために使用されることが可能である通知設定モジュールを示すために第２の列"MB"を含み得る。この場合、通知は、送信されるプロセッサに従って異なって設定されることが可能である。
【００７０】
付録１
詳細な説明の必須の一部を形成する。
【００７１】
【表２】
0006334551.tif 000003
【００７２】
付録２
詳細な説明の必須の一部を形成する。
１  −  コマンドSELECT_AIDを識別する識別マスクの例
１．１  −  コマンドSELECT_AIDのフォーマット
【００７３】
【表３】
0006334551.tif 000004
【００７４】
コマンドの識別情報：
１．２  −  値マスクVM
【００７５】
【表４】
0006334551.tif 000005
【００７６】
１．３  −  識別マスクIM
【００７７】
【表５】
0006334551.tif 000006
【００７８】
１．４  −  マスクによって実行される動作
Match1 = [分析されるコマンド] XOR VM (XOR = 排他的OR)
Match2 = Match1 AND IM (AND = AND演算)
Match2 = 00 00 00 00… (16進数)ならば、コマンドが識別される。
【００７９】
２  −  コマンドSELECT_AIDの識別子AIDを抽出するマスクの例
２．１  −  コマンドの例
【００８０】
【表６】
0006334551.tif 000007
【００８１】
２．２  −  マスクの例
パラメータLcは、コマンドAPDUのデータフィールド内に存在するバイト数を示す。この例において、マスクはパラメータLc=0を用いて算出される。
【００８２】
【表７】
0006334551.tif 000008
【００８３】
Bx = コマンドの順位xのバイト
00 = 使用されないバイト
FF = 使用されるバイト
【００８４】
２．３  −  識別子を抽出すること
AID_TEMP = [分析されるコマンド] AND マスク
AID = バイトB5からバイトB(5+Lc-1)まで
AID = バイトB5からバイトB11まで
【００８５】
３  −  コマンドCAPDUjを識別する識別マスクの例
３．１  コマンドの例
"READ RECORD"コマンド(MasterCard/PayPass トランザクションコマンド)。コマンドの一般的なフォーマット：
【００８６】
【表８】
0006334551.tif 000009
【００８７】
上記のフィールドP2は2進数で、他は16進数で表現される。値"x"のビットは可変値のビットである。
【００８８】
フィールドP1を有する各々のREAD RECORDコマンドは異なる応答を呼び出すので、そのようなコマンドは、各々のフィールドP1("レコード番号")について異なるマスクを要求する。マスクの数は、抽出され、ホストプロセッサに通知されるデータの数に依存する。この例において、マスクは次の通りであり得る：
【００８９】
３．２  値および識別マスクの例
【００９０】
【表９】
0006334551.tif 000010
【００９１】
このマスクは、値マスク(ビット"x": 無視されるビット)および識別マスク(0または1におけるビット)の両方である。これは、ビット"x"が0、他の全ての値が1に等しく、AND演算によって分析されるコマンドと結合される値マスクと、全てのビット"x"が0で置換され、他のビットを維持し、排他的OR演算によって値マスクとの結合結果と結合される識別マスクとに細分できる。
【００９２】
４  −  応答を分析する分析プログラムの例(分析規則RARj)
応答の例：
【００９３】
【表１０】
0006334551.tif 000011
【００９４】
応答は、TLV(Type-Length-Value(種類−長さ−値))フォーマットである。その内容を分析するために、探索される値が見出されることを可能とするタグが配置されなければならない。
【００９５】
"保持者名"フィールドの探索のための分析プログラムの例：
このプログラムは次のステップを実行しなければならない：
−  SW1-SW2 = '9000'であることを検査する。
−  応答の始めにタグ'70'を配置する。
−  タグ'70'の値の中にタグ'56'を配置する。
【００９６】
値は、具体的なフォーマット（ここでは、TLVフォーマットでないが、磁気ストライプカードに関する歴史的な理由のためにフィールドセパレータ）における名前を含む"トラック 1 データ"フィールドに存在する。この例において、名前を抽出する分析は通知の範囲内で具体的過ぎるので、通知を受信するホストプロセッサがそれをできるように、"トラック 1 データ"が通知を受信するホストプロセッサに送信され得る。
【符号の説明】
【００９７】
DEV  外部デバイス
D2  デバイス
HP1、HP2  ホストプロセッサ
【図１】
0006334551.tif 000012
【図２】
0006334551.tif 000013
【図３】
0006334551.tif 000014
【図４Ａ】
0006334551.tif 000015
【図４Ｂ】
0006334551.tif 000016
【図５】
0006334551.tif 000017
【図６Ａ】
0006334551.tif 000018
【図６Ｂ】
0006334551.tif 000019
【図７】
0006334551.tif 000020
【図８】
0006334551.tif 000021
【図９】
0006334551.tif 000022