【誤訳訂正書】
【提出日】平成19年6月13日(2007.6.13)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【書類名】      明細書
【発明の名称】  マスタとスレーブとの間の単一の物理交換チャネル上でのコマンド／応答対の多重交換のための複数の論理流れの伝送用プロトコル、およびアプレットの実行を検査し監視するための対応する装置
【特許請求の範囲】
【請求項１】  少なくとも１つのメモリと、実行オートマトンおよびオペレーティングシステムとが装備されているコンピュータ装置（１）にインストールされているアプレットであって、それらのアプレットの少なくとも１つは、別のオペレーティングシステムが装備されているコンピュータによって実行される少なくとも１つのアプリケーション（２）と特定の情報を交換することを意図されているような、前記アプレットの実行を検査し監視する装置において、
一方では、前記アプリケーション（２）につながれ、他方では、コマンド／応答タイプの単一の物理交換接続（Ｌ13）により前記コンピュータ装置（１）につながれている実行を検査および監視するパイロット手段（３）と、
前記パイロット手段に相互接続され、前記コンピュータ装置の前記実行オートマトンの実行を監視することを意図されている、実行を検査および監視する手段（４）と、
前記コンピュータ装置（１）にインストールされている実行オートマトンの実行を検査および監視するエージェントモジュール（５）と、
を少なくとも備え、
前記パイロット手段（３）は、単一の物理交換チャネル上での、特定のコマンド／応答対すなわちＤＰＤＵメッセージによるエージェントモジュールの監視の制御および管理の制御を各入力／出力遷移で行い、前記エージェントモジュール（５）は、アプリケーションとアプレットとの間のコマンドまたは応答のパケットを有するＤＰＤＵメッセージの交換を促進し、
前記パイロット手段（３）は、実行を検査および監視する手段（４）からの要求で、入力／出力交換中に実行オートマトンの実行を一時停止し、指定された時間に対してこの実行オートマトンが入力／出力遷移を実行しない場合には、前記パイロット手段（３）は、制御を再び獲得し、この実行の一時停止にしたがい、
前記パイロット手段（３）は、実行オートマトンの状態をアクセスし、その後で特定のコマンドによるこの実行オートマトンの実行の継続を促進するように、特定のコマンド／応答対すなわちＤＰＤＵメッセージを前記エージェントモジュール（５）に送ることを特徴とする、アプレットの実行を検査し監視する装置。
【請求項２】  前記コンピュータ装置（１）はマイクロプロセッサカードにより構成されている組込みシステムであり、前記パイロット手段はマイクロプロセッサカード読取器を有し、コマンド／応答タイプの前記物理交換接続がＩＳＯ  ７８１６接続であることを特徴とする、請求項１に記載の装置。
【請求項３】  前記実行を監視する手段（４）は、ＪＤＷＰプロトコルにより前記パイロット手段（３）につながれることにより、このプロトコルに適合されている任意の検査および監視ツールを使用することを可能にすることを特徴とする、請求項１または２に記載の装置。
【請求項４】  前記実行オートマトンが仮想マシンおよびアプリケーションインタフェース（ＡＰＩ）のライブラリを備えることを特徴とする、請求項１または２に記載の装置。
【発明の詳細な説明】
【０００１】
本発明は、マスタ送信機／受信機とスレーブ送信機／受信機との間での、単一の物理交換チャネル上でのコマンド／応答対の多重交換のための論理流れ(flux logique)の伝送のためのプロトコルと、そのようなプロトコルの応用とに関し、特に、マイクロプロセッサカードにインストールされているアプレット(appliquette)の実行を検査し監視し、またデバッグするための装置の実装に関する。
【０００２】
マスタ送信機／受信機とスレーブ送信機／受信機との間でデータまたは情報を交換するプロトコルは、そのプロトコルが、かなりの計算性能および処理性能を持つマスタ要素と、記憶性能に関連して計算性能および処理性能が現状でははるかに低いスレーブ要素との間のデータしたがって情報の確実かつ完全に安定な交換を行うことを可能にするものである限り、現在、極めて興味があるものである。
【０００３】
これは、特に、組込みシステムとしても知られている、カード読取器（ＣＡＤ）とマイクロプロセッサカード、チップカードとの対で構成されているコンピュータ装置に対する場合である。それに対しては、ＩＳＯ  ７８１６規格がチップカードとＣＡＤ読取器との間の通信のための２つのプロトコルを定義している。
【０００４】
さらに詳しくいえば、これら２つのプロトコルは、パラメータＴ＝０およびＴ＝１により定められ、各プロトコルは、「半二重」プロトコルに対応し、すなわちカード読取器とチップカードの２つの参加要素のちょうど一方が、それぞれ、所与の時にデータを他の参加要素へ送ることができる。
【０００５】
カード読取器へのカードの挿入に続いて、カード読取器によってカードへの供給が始められ、マスタ送信機／受信機すなわちＣＡＤ読取器とスレーブ送信機／受信機すなわちチップカードとの間で、単一の物理チャネル上でのデータ交換が行われる。伝送される情報ユニットは、アプリケーションプロトコルデータユニット(Application Protocol Data Unit)を意味するＡＰＤＵと呼ばれる。
【０００６】
先行技術から知られている上述したプロトコルでは、コマンドＡＰＤＵすなわちＣ−ＡＰＤＵと、応答ＡＰＤＵすなわちＲ−ＡＰＤＵとを区別する。
【０００７】
情報交換セッションは、１つまたは複数のＡＰＤＵ交換で構成されている。したがってＡＰＤＵ交換は、マスタ送信機／受信機要素により常に開始されるＣ−ＡＰＤＵ／Ｒ−ＡＰＤＵコマンド／応答対の交換で構成される。マスタ送信機／受信機要素は、スレーブ送信機／受信機がＲ−ＡＰＤＵを介して応答する対象であるＣ−ＡＰＤＵを発行する。交換が行われている間は、マスタ要素は動作不能にされたままで、その間、応答を待ち、したがって、コマンド／応答対の交換は、マスタ送信機／受信機とスレーブ送信機／受信機との間での、伝送のイニシアティブすなわち制御の引き続く転送を含み、また、逆もまた同じである。
【０００８】
最悪の場合には、マスタ送信機／受信機すなわちカード読取器が取りがちである、この引き続く転送とは異なる唯一のイニシアティブは、スレーブ送信機／受信機すなわちチップカードへの電力供給を遮断することによる全交換セッションを中断することである。
【０００９】
しかし、集積回路をエッチングする物理的プロセスにおける絶えざる向上、したがって所与の体積または面積のシリコンにおける計算性能および処理性能ならびに記憶性能の絶えざる向上によって、最近、多数の機能を持つスレーブ送信機／受信機の出現が促進されている。これは特に、多重アプリケーションチップカードの場合にそうである。例えばあるチップカードに、カード読取器がチップカードに対して独立に通信することを求めることができるようないくつかのアプリケーションを組込むことができる。特に、カード読取器は容量に対して禁止的な制約を示すことがなく、例えば、銀行に設置されている自動紙幣払出し機またはＧＳＭ携帯電話端末などのこの種のＣＡＤ読取器にはいくつかのアプリケーションを組込むことができ、そうすると、スレーブ送信機／受信機すなわち多重アプリケーションチップカードで構成されている装置は、実質的に独立しているアプリケーションの間で単一の物理チャネルを介して、コマンド／応答対により、情報の多重交換をすることに直面させられる。
【００１０】
あるチップカードは、いくつかのファイルシステムと、いくつかのアプレットまたはそのアプレットに設定されるいくつかのサービスを実際に包含できる。特に、ＧＳＭカードは、加入者の認証の提供と、および可搬ユニットすなわち組込みシステムとしてアプレット（英語ではapplet）の実行の提供とを行う。
【００１１】
この目的で、ＩＳＯ  ７８１６−４規格のセクション５．５は、論理チャネル(canal logique)の概念を定義している。これらの論理チャネルは、チップカード上に存在する種々の参加要素すなわちアプレットまたはサービスに結び付けられているＡＰＤＵ交換のセッションを切り離すことを可能にする。提案されている標準化されたプロセスは非常に簡単で、チップカードは０から３まで番号を付けられている４つまでの論理チャネルを管理できる。それらの論理チャネルは、ＩＳＯ  ７８１６−４規格のセクション６．１６に規定されているように、“管理チャネル(MANAGE CHANNEL)”標準コマンドによってそれぞれ開閉できる。次に、Ｃ−ＡＰＤＵコマンドに対する宛先論理チャネルのインデックス番号が、ＡＰＤＵのクラスコード（ＣＬＡ）の下位２ビットで符号化される。
【００１２】
したがって、ＩＳＯ  ７８１６−４規格により規定されている種々の論理チャネルは、このようにして論理的に切り離されるが、単一の物理交換チャネル上でのＡＰＤＵ交換は、ＣＡＤ読取器とそれの種々のアプリケーションに対して、かつチップカード上で実行できる種々のアプレットまたはサービスに対して、特に分けられていない異なる論理チャネルに関連するコマンド／応答対が同時に多数存在することによって生じがちである衝突が生じないままにする。特にＩＳＯ  ７８１６−４規格のパラグラフ４、セクション５．５．１の規定を参照されたい。その規定によれば、次のコマンド／応答対の送り出し前にコマンド／応答対の送り出しを終了せねばならず、いくつかの論理チャネル上ではコマンドと応答とを入れ子にさせてはならず、コマンドの受取りと対応する応答の発行との間で単一の論理チャネルはアクティブでなければならない。
【００１３】
本発明の目的は、マスタ送信機／受信機とスレーブ送信機／受信機との間のコマンド／応答対によるデータ交換のためのプロトコルの諸欠点を、多数の論理チャネルに課される制約を解消することによって、除去することである。
【００１４】
本発明の他の目的は、マスタ送信機／受信機とスレーブ送信機／受信機との間の、単一の物理交換チャネル上でのコマンド／応答対の多重交換のための複数の論理流れの伝送用プロトコルを、コンカレント論理チャネルの実装によって、明らかにすることである。各コンカレント論理チャネルは、コマンド／応答対の独立な交換を許すが、いくつかのコマンド／応答対を開かれている種々のコンカレント論理チャネルで同時にアクティブであるようにすることが可能である。
【００１５】
特に、本発明の別の目的は、マスタ送信機／受信機とスレーブ送信機／受信機との間の、単一の物理交換チャネル上でのコマンド／応答対の多重交換のための複数の論理流れの伝送用プロトコルであって、ＣＡＤ読取器などのマスタ送信機／受信機が別のコンカレント論理チャネルでコマンド／応答対、ＡＰＤＵ、の交換を開始でき、既にアクティブな並行チャネルでコマンド／応答対の交換が既に進行中であり、スレーブ送信機／受信機すなわちチップカードにインストールされているアプレットまたはサービスにより管理されている少なくとも１つのアプリケーションを用いて、マスタ送信機／受信機すなわちカード読取器に接続されている種々のアプリケーションが、したがって、実行のコンフリクトのいかなる危険もなしに、相互に独立して実行されるようにする伝送用プロトコルを与えることである。
【００１６】
逆に本発明の他の目的は、マルチアプリケーションチップカードにインストールされた種々のアプレットまたはサービスなどのスレーブ送信機／受信機によって管理されている種々のアプリケーションにつながれた異なるコンカレント論理チャネル上で異なるコマンド／応答対を交換できる、マスタ送信機／受信機とスレーブ送信機／受信機との間での、単一の物理交換チャネル上でのコマンド／応答対の多重交換のための複数の論理流れの伝送のためのプロトコルであり、これらのアプリケーションは、本発明の主題であるプロトコルの実装によって、同時かつ独立に実行する。
【００１７】
本発明の別の目的は、また、進行中のコマンド／応答対の交換の場合を含めて、コンカレント論理チャネルのおのおのがマスタ送信機／受信機のみのイニシアティブで閉じられる、マスタ送信機／受信機とスレーブ送信機／受信機との間の、単一の物理交換チャネル上でのコマンド／応答対の多重交換のための複数の論理流れの伝送のためのプロトコルでもある。
【００１８】
本発明の他の目的は、また、コマンド／応答対をベース論理チャネル上で交換するマスタ送信機／受信機とスレーブ送信機／受信機との間の、単一の物理交換チャネル上でのコマンド／応答対の多重交換のための複数の論理流れの伝送のためのプロトコルであって、コマンド／応答対がおそらくまたこのマスタ送信機／受信機とこのスレーブ送信機／受信機との間でコンカレント論理チャネル上でも交換され、コマンド／応答対は、ベース論理チャネルによって運ばれるベース論理流れとコンカレント論理チャネルにより運ばれるコンカレント論理流れとを構成し、それらの論理流れは、いかなる衝突もなしに、単一の物理交換チャネル上でコマンド／応答対を交換する手順から利益を得られるように共存プロトコルでもある。
【００１９】
本発明の他の目的は、最後に、マスタ送信機／受信機がＣＡＤ読取器により構成され、スレーブ送信機／受信機がチップカードにより構成されている場合に、コマンド／応答対の多重交換のための複数の論理流れの伝送のための、ＩＳＯ  ７８１６規格の仕様に完全に適合する、プロトコルである。
【００２０】
本発明の主題である、マスタ送信機／受信機とスレーブ送信機／受信機との間の単一の物理交換チャネル上でのコマンド／応答対の多重交換のための複数の論理流れの伝送のためのプロトコルは、マスタ送信機／受信機によって開始され、単一の物理交換チャネルと同じマスタ／スレーブ関係を前提とする、少なくとも１つのベース論理流れを含む論理流れに関しており、マスタ送信機／受信機とスレーブ送信機／受信機はそれぞれ少なくとも１つのソフトウエアアプリケーションの実行を許す。
【００２１】
基準論理流れとしてとられたベース論理流れの１つにおいて、コマンド／応答対をセグメント化（区分化）する引き続く基本パケットによりおのおのが形成されているコンカレント論理流れのセットを発生することは、注目に値する。コンカレント論理流れのセットを形成する引き続く基本パケットは、基準論理流れ上で伝送される。このセットの２つのコンカレント論理流れは、異なるコマンド／応答対の独立した実質的に同時の伝送を行えるようにする。
【００２２】
コマンド／応答対のいかなる交換の開始および継続も、この基準論理流れ上で伝送される特定のコマンドを基にしてマスタ送信機／受信機のイニシアティブで行われ、引き続く基本パケットへのセグメント化は、この基準流れ上でのそれらの特定のコマンドに応答して伝送される特定の応答のイニシアティブで行われる。これによって、一方では、マスタ送信機／受信機およびスレーブ送信機／受信機の少なくとも一対のアプリケーションの間の独立した実質的に同時のコマンド／応答対の交換が行えるようにされ、他方では、物理交換チャネル上において基準論理流れとしてとられた論理流れからの異なるベース論理流れにおける優先コマンド／応答対の交換が行えるようにされる。
【００２３】
本発明の主題である、マスタ送信機／受信機とスレーブ送信機／受信機との間での、単一の物理交換チャネル上でのコマンド／応答対の多重交換のための複数の論理流れの伝送のためのプロトコル、および、そのようなプロトコルを実行する組込みコンピュータ装置などのコンピュータ装置にインストールされているアプレットの実行を検査および監視する装置が、下記の説明を読み、図面を参照することによってより良く理解されるであろう。
【００２４】
本発明の主題に基づく、マスタ送信機／受信機とスレーブ送信機／受信機との間の、単一の物理交換チャネル上でのコマンド／応答対の多重交換のための複数の論理流れの伝送のためのプロトコルについて、図１ａおよびそれに続く図面を参照して以下に詳細に説明する。
【００２５】
この説明の範囲内で、論理流れは、マスタ送信機／受信機とスレーブ送信機／受信機との間の単一の物理交換接続を介する論理チャネル上での多数のコマンド／応答対の交換で構成されていることが、想起される。
【００２６】
一般に、本発明の主題であるプロトコルは、コマンド／応答対の交換を行えるようにする“半二重”接続によりつながれている任意のマスタ送信機／受信機と任意のスレーブ送信機／受信機との間で実装されることが想起され、ここで、マスタ送信機／受信機は、アプリケーションのセットの中からの１つのアプリケーションに接続され、スレーブ送信機／受信機は、アプリケーションまたはサービスのセットの中からの少なくとも１つのアプリケーションの実行を行えるようにする。Ｅ／ＲＭと記されているマスタ送信機／受信機とＥ／ＲＥと記されているスレーブ送信機／受信機とへの各アプリケーションの相互接続は、ベース論理流れを介して実行できる。それらのアプリケーションは、マスタ送信機／受信機に相互接続されるアプリケーションの場合にはＡＭyと記され、スレーブ送信機／受信機に相互接続されるアプリケーションの場合にはＡＥzと記されている。このベース論理流れを、ＳＥＰＣと記されている単一の物理交換チャネルによって伝送することが可能である。前述のベース論理流れＢＬＦは、単一の物理交換チャネルＳＰＥＣ上での、(Ｃ，Ｒ)bと記されているコマンド／応答対の伝送で構成される。
【００２７】
これらの条件の下で、図１ａに示されているように、前述のパラメータのセットが定義されており、Ｓで記されているスタート条件について考えることにする。そのスタート条件は、非限定的な態様において、少なくとも１つのアプリケーションの実行を許すＣＡＤ読取器によってマスタ送信機／受信機Ｅ／ＲＭが構成されており、かつアプレットまたはサービスがインストールされているチップカードによってスレーブ送信機／受信機Ｅ／ＲＥが構成されているような状況に対応し、この状況では、ベース論理流れは、ＩＳＯ規格７８１６−３および７８１６−４の規定により定められている論理流れに対応する。
【００２８】
しかしながら、上述した規格の規定にしたがう第１の使用にしたがって、単一のベース流れがプロトコルの実装のフレームワーク内で開いていてアクティブであると考えられる。これは図１ａに示されている本発明の主題である。
【００２９】
より具体的なやり方で、図１ａに示されているように、本発明の主題であるプロトコルは、現在のアクティブな論理流れＢＬＦを基準論理流れＬＦrとみなすことからなる。この操作は、図１ａのステップＢで実行され、関係：
ＬＦr＝ＢＬＦ
により示されている。このステップは、たとえば１６進数値ＦＥなどの、特定の値を現在のアクティブなベース論理流れのクラスコードまたはパラメータに割り当てることによって実行できる。
【００３０】
ステップＢの後にステップＣが続く。ステップＣは、コンカレント論理流れの集合｛ＣＬＦx｝を発生することからなる。各コンカレント論理流れは、コマンド／応答対をセグメント化する引き続く基本パケットにより形成される。コンカレント論理流れの集合｛ＣＬＦx｝を形成する引き続く基本パケットは、基準論理流れＬＦr上で伝送され、その間にステップＤのセグメント化を行い、この集合の２つのコンカレント論理流れは、異なるコマンド／応答対の独立かつ実質的に同時の伝送を行えるようにする。ステップＤに示されている戻り矢印は、セグメント化から生じた引き続く基本パケットの多重交換を示している。
【００３１】
コマンド／応答対のいかなる交換の開始および継続も、基準論理流れ上で伝送される特定のコマンドを基にしてマスタ送信機／受信機のイニシアティブで行われ、引き続く基本パケットへのセグメント化は、この基準流れ上でのそれらの特定のコマンドに応答して送信された特定の応答を基にしてスレーブ送信機／受信機のイニシアティブで行われる。このようにしてマスタ送信機／受信機は、アプリケーションと異なるアプレットとの間の交換の実行のために基準論理流れＬＦrを維持することによって、異なるコマンド／応答対の交換を維持でき、または、値ＦＥの差し引きにより、ベース論理流れへの復帰によるコマンド／応答対の交換を維持できる。
【００３２】
このやり方で、この明細書において後で以下に非常に詳しく説明するように、マスタ送信機／受信機およびスレーブ送信機／受信機の少なくとも一対のアプリケーションの間の独立した実質的に同時のコマンド／応答対の交換が行えるようにされる。異なるコマンド／応答対の実質的に同時の伝送という概念に関する限り、同時という概念は、引き続くパケットの伝送の期間内に限られることがもちろん理解される。
【００３３】
さらに、本発明の主題であるプロトコルは、複数のアクティブなベース論理流れの存在する中で実現できる。図１ｂに示されているように、この状況では、マスタ送信機／受信機Ｅ／ＲＭにより開始されるいかなるベース論理流れの存在中も、この状況は、図１ａの開始状況と同様の開始状態Ｓに対応し、本発明の主題であるプロトコルは、マスタ送信機／受信機とスレーブ送信機／受信機との間の任意の開かれている、かつ通常はアクティブな、ベース論理流れの伝送を行うことからなるとすることができる。この操作は、マスタ送信機／受信機に接続されまたは接続されがちである任意のアプリケーションＡＭyからの要求で、マスタ送信機／受信機のイニシアティブで初期化されるアクティブなベース流れＢＬＦ*の存在を検証することからなるテストステップＡにより実行できる。
【００３４】
図１ｂにおいて、対応するテストＡは
ＢＬＦ*＝｛Φ｝
で示されている。このテストは、任意のアクティブなベース論理流れの不存在を検証することからなる。
【００３５】
上述したテストＡに対する否定的な応答に際して、アクティブなベース流れがマスタ送信機／受信機のレベルに存在し、本発明の主題であるプロトコルは、ステップＳへ戻ることによる上述のアクティブなベース論理流れの伝送の実行することからなる。
【００３６】
逆に、上述したテストＡへの肯定的な応答に際して、アクティブなベース流れはマスタ送信機／受信機のレベルに存在せず、そして本発明の主題であるプロトコルは、基準論理流れとしてとられる少なくとも１つのベース流れにおいて、コンカレント論理流れの集合を発生することからなることができる。
【００３７】
図１ｂで、図１ａのステップに類似するステップＢは、関係：
ＬＦr＝ＢＬＦu
によりＬＦrとして示されている、基準論理流れとしてベース論理流れＢＬＦuの定義を表わす。本発明の主題であるプロトコルの実装のフレームワーク内で、ＩＳＯ規格７８１６−４の規定に適合できるプロトコルにしたがって、ステップＢにおける基準論理流れの定義を、例えば、先に述べた１６進数値ＦＥなどの特定の値を関連するベース論理流れのクラスコードまたはパラメータに割り当てることによって、有利に実行することができる。
【００３８】
ステップＢに続いて、コンカレント論理流れの集合が、図１ａでのステップに類似するステップＣで発生される。ＣＬＦxで示されている各コンカレント論理流れと、｛ＣＬＦx｝で示されているそれらのコンカレント論理流れの集合とが、この明細書で後で説明するように、引き続く基本データパケットにより形成される。上述したコンカレント論理流れの集合｛ＣＬＦx｝のコンカレント論理流れによって、マスタ送信機／受信機に接続されているアプリケーションすなわちＡＭpで示されているアプリケーションと、スレーブ送信機／受信機に接続されているアプリケーションすなわちＡＥqで示されているアプリケーションとの間の異なるコマンド／応答対の独立した実質的に同時の伝送を行えるようにされ、それらのアプリケーションを、データの交換が集合ＢＬＦ*からのベース論理流れによって前に実行されているようなアプリケーションＡＭy、ＡＥzとは先験的（アプリオリ）に異なるまたは異ならないようにすることが可能である。
【００３９】
図１ｂに、異なるコマンド／応答対の独立した実質的に同時の伝送ステップがＤで示されている。これらのコマンド／応答対は(Ｃ，Ｒ)xで示されており、対応するコンカレント論理流れＣＬＦxにしたがって単一の物理交換チャネルＳＥＰＣ上で伝送される。
【００４０】
さらに、図１ｂに示されているように、本発明の主題であるプロトコルは、単一の物理交換チャネル上での基準論理流れとは異なるベース論理流れ上におけるコマンド／応答対の交換の実行のためにマスタ送信機／受信機Ｅ／ＲＭによりアクティブにされると、直ちに任意のコンカレント論理流れの交換を一時停止することからなる。この一時停止操作は、図１ｂに示されているステップなどのテストステップＥに対応することができる。このテストステップＥは、アクティブなベース論理流れＢＬＦ*が存在しないことを検証する、ステップＡにおいて実行されるものと同じテストにおそらく対応する。
【００４１】
テストＥに対する否定応答があると、マスタ送信機／受信機Ｅ／ＲＭにより開始されたアクティブなベース論理流れが存在し、このアクティブなベース論理流れの伝送を実行するために、開始ステップＳへの戻りが行われる。
【００４２】
逆に、テストＥに対する肯定応答があると、基準論理流れを再び定めるためにステップＢへの戻りが実行され、もちろん、上記のようにステップＢ、Ｃ、Ｄにしたがう多重交換プロセスの実行も行われる。
【００４３】
したがって、本発明の主題であるプロトコルの引き続くステップの実行によって、図１ｂに示されているように、前記プロトコルは、任意のベース論理流れの交換が終了すると、いかなるコンカレント論理流れの交換も直ちに継続可能にすることが理解される。
【００４４】
このやり方によって、単一の物理交換チャネル上でのマスタ送信機／受信機とスレーブ送信機／受信機の少なくとも一対のアプリケーションの間の独立した実質的に同時のコマンド／応答対の交換が行えるようにされる。
【００４５】
本発明の主題であるプロトコルは、図１ｂに示されているように、衝突(conflit)なしの共存を提供可能にし、コンカレント論理チャネルは、コンカレント論理流れの伝送を行えるようにし、ベース論理チャネルは、ベース論理流れの伝送を行えるようにする。特に、それは一方では、マスタ送信機／受信機とスレーブ送信機／受信機の少なくとも一対のアプリケーションの間の独立した実質的に同時のコマンド／応答対の交換を行えるようにし、他方では、単一の物理交換チャネル上でのベース論理流れにおける優先コマンド／応答対の交換を行えるようにする。
【００４６】
したがって、以下に説明するように、ベース論理流れがＩＳＯ規格７８１６−４の規定を満たすように定められており、かつマスタ送信機／受信機がカード読取器によって構成されスレーブ送信機／受信機がチップカードにより構成されている場合には、任意の時に、カード読取器はベース論理チャネル上でのＡＰＤＵコマンドの交換を開始できることが、理解される。この交換が行われている間、他のチャネル、すなわちコンカレントまたはその他のチャネルが一時停止されるが、コンカレントチャネル上で現在進行中の交換は中断されることはない。
【００４７】
上述した特定の実装では、処理に比較的短い時間のみを要するコマンド／応答対の伝送を提供するためにベース論理流れおよびベース論理チャネルを使用することが、有利である。
【００４８】
本発明の主題であるプロトコルのステップＢ、Ｃ、Ｄの、図１ａおよび１ｂを参照して先に説明した特定の実装についてのより詳細な説明を、特に、上述したベース論理流れＢＬＦuがＩＳＯ規格７８１６−４の規定を満たす場合に、図２ａ、２ｂ、２ｃおよび２ｄを参照して以下に行う。
【００４９】
図２ａには、それぞれ要素Ｅ／ＲＭおよびＥ／ＲＥとして記載されているマスタ送信機／受信機とスレーブ送信機／受信機が示されている。
【００５０】
ベース論理流れＢＬＦu上の、(Ｃ，Ｒ)と記されている、コマンド／応答対の交換が単一の物理交換チャネルＳＥＰＣ上で行われ、要素Ｅ／ＲＭは、コマンドＣを、パイロットＰを介して要素Ｅ／ＲＭに接続されているアプリケーションＡＭpから受ける。この要素Ｅ／ＲＭは、Ｃ＝［“ＣＯＭＭＡＮＤＥ”］と記されているコマンドＣのスレーブ要素Ｅ／ＲＥへの伝送を行うために制御を行う。制御を行う要素Ｅ／ＲＭは、コマンドＣを、スレーブ要素Ｅ／ＲＥに接続されているアプリケーションＡＥqへ送る。上述したアプリケーションの応答Ｒは、スレーブ要素Ｅ／ＲＥへ伝えられ、スレーブ要素Ｅ／ＲＥは、Ｒ＝［“ＲＥＰＯＮＳＥ”］と記されている応答の、単一の物理交換チャネルＳＥＰＣ上でのＥ／ＲＭへの伝送を行うように、再び制御を行う。要素Ｅ／ＲＭは、それをパイロットＰを介してアプリケーションＡＭpへ送る。この所与の例では、文字列“ＣＯＭＭＡＮＤＥ”と“ＲＥＰＯＮＳＥ”は、シンボリックなコマンドとシンボリックな応答をそれぞれ示す。
【００５１】
関連する論理流れがベース論理流れＢＬＦuであると、コマンド／応答プロセスを、引き続く対応する論理流れの入れ子(imbrication)または絡み合わせ(entrelacement)なしに、ＩＳＯ規格７８１６−４の規定にしたがって、対応するコマンドおよび応答の実行で継続できる。
【００５２】
逆に、例えばこの明細書で以前に述べた特定のクラスコードを割当てることによってベース論理流れが基準論理流れＬＦrとして構成されると、引き続くコンカレント論理流れを生成するプロセスが、関連するコンカレント論理チャネル上でＡＰＤＵの交換を構成しているデータを切断分割することにより、スレーブ要素Ｅ／ＲＥのイニシアティブで実行される。この切断分割は、より基本的なデータユニットまたはデータセグメントへの切断分割と、通常のＡＰＤＵを用いる単一の物理交換チャネルＳＥＰＣでのそれらのデータまたはセグメントの伝送とで構成される。
【００５３】
スレーブ要素Ｅ／ＲＥのイニシアティブでの前述した切断分割は、定義により本発明の主題であるプロトコルの特に注目に値する面にしたがって、応答とセグメント化命令によって要素Ｅ／ＲＥのイニシアティブで実行できるので、有利であることが特に理解される。このセグメント化命令は、例えば、部分的なコマンドまたはデータ項目の形態でマスタ要素Ｅ／ＲＭにより伝送されるコマンドのパケットの最大サイズを定める。スレーブ要素Ｅ／ＲＥは、それ自身のイニシアティブで、またはアプリケーションＡＥqからの求めで、前述したマスタ要素Ｅ／ＲＭによって発行された、部分的なコマンドの形態で伝送されるパケットの最大サイズを定める。逆に、スレーブ要素は、部分的な応答の形態で伝送されたパケットの実際のサイズを定める。データセグメントまたはパケットへの前述したデータの切断分割が、それらの部分的ＡＰＤＵを絡み合わせること、したがって、データ論理流れと、コンカレント論理流れおよび上述したコンカレントチャネルで流れるコンカレント論理流れを絡み合わせることを可能にすることが、特に、理解される。
【００５４】
マスタ要素Ｅ／ＲＭに接続されているアプリケーションＡＭpとコンカレント論理流れＣＬＦxを介してスレーブ要素Ｅ／ＲＥに接続されているアプリケーションＡＥqとの間で交換されるコマンド／応答対を構成するコマンドおよび応答のそれぞれの引き続く基本パケットへのセグメント化または切断分割の例を、図２ｂを参照して、限定しない例によって説明することにする。
【００５５】
前述した図では、用いられたコマンド／応答対は、前述した限定しない実施形態では、もちろんＡＰＤＵコマンドに対応することが示されている。
【００５６】
したがって、アプリケーションＡＭpは、コマンドＣをマスタ要素Ｅ／ＲＭへ送る。このコマンドは、
Ｃ＝［“ＣＯＭＭＡＮＤＥ”］
と示されている。Ｃ−ＡＰＤＵを構成する前述したコマンドでは、シンボリックコマンドを表わす文字列“ＣＯＭＭＡＮＤＥ”は、ＡＰＤＵコマンドの形態で通常利用できる任意のコマンドを指し示す。このコマンドの論理値は、ＡＰＤＵコマンドの集りで通常利用されるものであり、前述した文字列は、このコマンドの構文を単に記号化（シンボル化）する。
【００５７】
前述したコマンドＣがマスタ要素Ｅ／ＲＭによって受けられると、マスタ要素Ｅ／ＲＭは制御を行い、スレーブ要素Ｅ／ＲＥへのコマンド通知を行うために、特定のコマンドをスレーブ要素Ｅ／ＲＥへ送る。
【００５８】
コマンド通知コマンドは、
［ＣＯＭＭＡＮＤ＿ＲＥＡＤＹ  ｘ］
で示される。ここでｘは、ＣＬＦxのインデックスを示す。
【００５９】
前述したコマンド通知を受けると、スレーブ要素Ｅ／ＲＥは制御を行い、アプリケーションＡＥqとともに、受けるべきコマンドすなわち上記のコマンドＣのセグメント化のための命令を送る。
【００６０】
セグメント化命令は、書式
｛ＲＥＣＥＩＶＥ＿ＢＹＴＥＳ  ｘ  ＮＢ＝３｝
のＡＰＤＵタイプの応答である。この応答すなわち前述したセグメント化命令は、もちろん、機能ヘッダＲＥＣＥＩＶＥ＿ＢＹＴＥＳに加えて、インデックスｘのコンカレント流れに関連するフィールドと、ＮＢ＝３によって図２ｂに任意に示されているフィールドとを有する。ＮＢは、スレーブ要素Ｅ／ＲＥにより要求されたバイトまたはワード（文字）の最大数を、前記要素に接続されているアプリケーションＡＥqとともに示す。
【００６１】
セグメント化命令がマスタ要素Ｅ／ＲＭにより受けられると、マスタ要素Ｅ／ＲＭは、再び制御を行い、基準論理流れＬＦr上で、スレーブ要素Ｅ／ＲＥにより要求されたその数またはそれより小さい数のバイトまたはワードをもちろん有するデータ伝送コマンドを送る。
【００６２】
パケット伝送コマンドは、書式
［ＳＥＮＤ＿ＤＡＴＡ  ｘ  ［“ＣＯＭ”］］
のＡＰＤＵコマンドである。データ伝送コマンドに対応する機能ヘッダ“ＳＥＮＤ−ＤＡＴＡ”と本発明の主題であるインデックスｘのコンカレント論理流れに関連するフィールドとに加えて、このパケット伝送コマンドは、３に等しい数で、かつコマンドＣの場合には任意のコマンド“ＣＯＭＭＡＮＤＥ”の最初の３つの文字に対応するバイトまたはワードをもちろん有する。
【００６３】
前述したパケット伝送コマンドがスレーブ要素Ｅ／ＲＥにより受けられたのに続いて、制御を行うスレーブ要素は、図２ｂに［ＯＫ］で示されている受領応答のＡＰＤＵタイプ肯定応答をマスタ要素へ送る。
【００６４】
マスタ要素Ｅ／ＲＭは再び制御し、その後で書式
［ＲＥＳＵＭＥ］
のコマンド／応答対の交換の伝送の継続のためのコマンドをスレーブ要素Ｅ／ＲＥへ送る。この継続コマンドを受けると、制御を行うスレーブ要素Ｅ／ＲＥは、アプリケーションＡＥqによる処理の後で、セグメント化命令応答のマスタ要素への発行を繰返す。その応答では、例えば、要求されたバイト数に関連するフィールドは、ＮＢ＝５に等しくとられる。
【００６５】
前述した新しいセグメント化コマンドのマスタ要素Ｅ／ＲＭによる受取りに続いて、前記要素は、パケットの伝送のための新しいコマンドを送る。そのコマンドでは、送られるパケットのフィールドは、前述したコマンドＣの文字“ＭＡＮＤＥ”に対応する５バイトを有する。
【００６６】
前述した５バイトの新しいパケットの受取りに続いて、スレーブ要素Ｅ／ＲＥは、もちろんアプリケーションＡＥqとともに、書式が
［ＳＥＮＤ＿ＢＹＴＥＳ  ｘ  ［“ＲＥＰＯ”］］
であるＡＰＤＵタイプのセグメント化された応答を送るための用意ができて制御を行う。前述した応答は、送信バイト数または送信ワード数を有する。その数の選択は、スレーブ要素Ｅ／ＲＥに接続されているアプリケーションＡＥqと一緒に、スレーブ要素のみのイニシアティブで行われる。図２ｂの場合には、セグメント化された応答は、４バイトまたはワード、すなわち、シンボリック応答“ＲＥＰＯＮＳＥ”の最初のセグメントに対応する４つの文字“ＲＥＰＯ”を有する。
【００６７】
マスタ要素Ｅ／ＲＥによる前述したセグメント化された応答の受取りに続いて、制御を行うマスタ要素は、新しい継続コマンドをスレーブ要素Ｅ／ＲＥへ送ることにより、アプリケーションＡＥqとともにあって制御を行うスレーブ要素Ｅ／ＲＥが、マスタ要素Ｅ／ＲＭに対し、３に等しく“ＮＳＥ”に対応する任意にとられた数ＮＢの転送バイトまたはワードを有する新しいセグメント化された応答を発行できるようにする。
【００６８】
この新しいセグメント化されたコマンドを受けると、マスタ要素Ｅ／ＲＭは、応答メッセージのＡＰＤＵタイプ終端がスレーブ要素Ｅ／ＲＥによりマスタ要素Ｅ／ＲＭへ送られるまで、応答が完全に送られるように、継続コマンドをスレーブ要素Ｅ／ＲＥへ実際に送る。
【００６９】
応答ＡＰＤＵメッセージの終わりは
［ＲＥＳＰＯＮＳＥ＿ＣＯＭＰＬＥＴＥＳ  ｘ］
の書式を有する。応答メッセージの終わりの受取りに続いて、マスタ要素Ｅ／ＲＭは書式
Ｒ＝［“ＲＥＰＯＮＳＥ”］
の完全応答Ｒを持ち、したがって、シンボリック応答に対応し、コマンド／応答対Ｃ／Ｒは、スレーブ要素Ｅ／ＲＥのイニシアティブで、引き続くパケットにより、単一の物理交換チャネルＳＥＰＣ上のコンカレント論理流れＣＬＦxによって、送られていた。
【００７０】
コンカレント論理流れにより送られたコマンドと応答とのパケットへのセグメント化は、このようにして、伝送されるデータの受信者すなわち例えばアプレットとともに、スレーブ要素すなわちチップカード自体の管理の下に、実行される。このやり方は、それが、特にトランスポートパラメータＴ＝０の値に対して、ＩＳＯ  ７８１６−４規格により定められている全てのトランスポートプロトコルを使用することを可能にするので、極めて重要であるようにみえる。そのパラメータに対して、ＡＰＤＵの正確な形態、特にそれの方向はあいまいであって、単一の物理交換チャネル上で通信している２つのパーティ、すなわち、結局、アプリケーションＡＭpとＡＥqのみに知られている暗黙の情報要素を構成する。
【００７１】
さらに、スレーブ要素Ｅ／ＲＥがマスタ要素すなわちＣＡＤ読取器へ制御を定期的に譲る上述したセグメント化プロセスは、種々のコンカレントチャネルに接続されているアプリケーションＡＭpまたはＡＥqから生ずる交換のいかなる非同期要求をも管理することを可能にする。
【００７２】
前述したセグメント化プロセスに関する限り、およびもちろん、本発明の主題である、図１に示されている、プロトコルの実現のプロセスに関する限り、アプリケーションＡＭpとＡＥqは、コンカレント論理流れの伝送のためのコンカレントチャネル、またはベース論理流れの伝送のためのベースチャネルの、特定の計算ユニットによって構成されているパイロット、図に示されていない、による開放（開通）を要求できる。パイロットは、もちろん、マスタ要素Ｅ／ＲＭおよびアプリケーションＡＭpと通信できる。各アプリケーションは、さらに、それぞれコンカレント論理流れおよびベース論理流れの交換のためにコンカレントチャネルまたはベースチャネルの開放に続いて、このチャネルでのＡＰＤＵの交換を要求でき、かつチャネルがコンカレントである場合、または交換される論理流れが図１に示されているようにコンカレント論理流れである場合に、現在の交換を中断できる。
【００７３】
さらに、図１および図２ｂに示されているように、コンカレントチャネル上でのＡＰＤＵの交換を構成しているデータまたはコマンドのセグメント化によって、それらのデータまたはコマンドセグメントを単一の物理交換チャネル上で伝送できるようにされ、一方では、基本ＡＰＤＵにより構成されているコマンド／応答対の絡み合わせを許可し、図２ｃを参照して特定の非限定例で説明するように、最終的には、前述したコンカレントチャネルを流れるコンカレントデータ流れの対応する絡み合わせを許可する。
【００７４】
前述した図２ｃでは、２つのアプリケーションＡＭpとＡＭp'をパイロットによりマスタ要素Ｅ／ＲＭに接続でき、かつスレーブ要素Ｅ／ＲＥが例えば単一のアプリケーションに接続されているような、非限定的な例が考察されている。この理由から、図２ｃにはそのようには示されていない。
【００７５】
前述した図では、アプリケーションＡＥyが、コンカレント論理流れＣＬＦxの開放の要求に引き続いて、コマンドＣ＝［“ＣＯＭＭＡＮＤＥ”］をパイロット、示されていない、を介して、マスタＥ／ＲＭへおそらく発行する。
【００７６】
図２ｂを参照して、マスタ要素Ｅ／ＲＭは、この明細書で以前に述べたコマンド通知コマンドを単一の物理交換チャネルＳＥＰＣ上で送る。スレーブ要素Ｅ／ＲＥは、セグメント化命令応答を伝送することによって応答する。セグメント化命令応答に対しては、ＮＢは、スレーブ要素Ｅ／ＲＥにより実行されるアプレットまたはアプリケーションにより、任意に８に等しくとられる。
【００７７】
セグメント化命令応答をマスタ要素Ｅ／ＲＭが受けると、マスタ要素Ｅ／ＲＭは、スレーブ要素Ｅ／ＲＥにより要求されたバイト数またはワード数に対応する８つの文字を有する文字列を含む、パケット伝送コマンドをスレーブ要素Ｅ／ＲＥへ送る。このようにしてシンボリックコマンドは完全に伝送される。そうするとスレーブ要素Ｅ／ＲＥは、受領コマンド［ＯＫ］の肯定応答をマスタ要素へ送ることができる。そうすると、以下に説明するように、マスタ要素はいかなる伝送手続きも、コンカレント論理流れＣＬＦxの伝送によるコンカレント論理チャネル上で、または他のコンカレント論理チャネル上で継続できる。
【００７８】
マスタ要素Ｅ／ＲＭにより実行されるアプリケーションＡＭpは、
Ｃ’＝［“Ｃ’Ｏ’Ｍ’Ｍ’Ａ’Ｎ’Ｄ’Ｅ’”］
の書式のシンボリックコマンドに対応する、コマンドＣ’のパイロットによる伝送に先だって、コンカレント論理チャネルＣＬＦxの開放を求めた。
【００７９】
マスタ要素Ｅ／ＲＭによりスレーブ要素Ｅ／ＲＥへ発行された継続コマンドを受けると、スレーブ要素Ｅ／ＲＥは、コマンドＣに対応するセグメント化された応答の発行へ進むことができる。その理由は、もちろん、スレーブ要素Ｅ／ＲＥが、コンカレント論理チャネルが単独で開かれている対象とするコマンドＣ’の存在をまだ知らず、対応するコンカレント論理流れＣＬＦxがまだアクティブでないからである。
【００８０】
非限定的な例によって、かつシンボリック応答“ＲＥＰＯＮＳＥ”に対して、セグメント化された応答は、文字列“ＲＥＰＯ”よりなる部分応答によってパケットを送る。
【００８１】
そうするとマスタ要素Ｅ／ＲＭは、パイロットを介して、先に述べたコマンドＣ’に関連するコマンド通知コマンドの発行を介して入れ子にされている交換を初期化するように、コンカレント論理流れＣＬＦx'のアクチベーションへ進むことができる。
【００８２】
コマンド通知コマンドをスレーブ要素Ｅ／ＲＥが受けると、制御を行うスレーブ要素Ｅ／ＲＥは、ＮＢ＝４に任意にとられる数のバイト数に対してコマンドＣ’に関連するセグメント化命令応答を送る。これに応じて、マスタ要素Ｅ／ＲＭは、Ｃ’のコマンドに関連し、かつもちろん４バイトまたは４文字を有するパケット伝送コマンドを送る。それらの文字は、シンボリックコマンドＣ’の文字列“Ｃ’Ｏ’Ｍ’Ｍ’”を構成している。
【００８３】
スレーブ要素Ｅ／ＲＥは、応答して受取りの肯定応答を送る。
【００８４】
制御を行うマスタ要素Ｅ／ＲＭは、現在アクティブであるコンカレント論理流れの集合が空集合とは異なるときに、パイロットを介して、その現在アクティブであるコンカレント論理流れの集合についてスレーブ要素Ｅ／ＲＥに知らせる。この通知は、継続コマンドの形で実行できる。継続コマンドについては、この明細書において後で非常に詳しく述べることにする。継続コマンドに応答して、スレーブ要素Ｅ／ＲＥは、コンカレント論理ストリームＣＬＦx上のバイトまたはワード“ＮＳＥ”を有するセグメント化された応答によって、シンボリック応答“ＲＥＰＯＮＳＥ”の伝送を実行するように、失われた４つのバイトを送ることができる。その後でマスタ要素Ｅ／ＲＭは、同じコンカレント論理チャネル上で、継続コマンドをスレーブ要素Ｅ／ＲＥへ送る。その後でスレーブ要素Ｅ／ＲＥは、コマンドＣに関連する応答コマンドの終りを送ることができる。このメッセージコマンドの終りを受けると、マスタ要素Ｅ／ＲＭは、コマンドＣに対するシンボリック応答を、パイロットを介して、アプリケーションＡＭpへ送ることができる。
【００８５】
さらに、マスタ要素Ｅ／ＲＭは、パイロットを介して、コマンドＣ’に関連するコマンド／応答対交換のためにコンカレント論理流れＣＬＦx'上での多重交換プロセスを継続できる。コマンドＣ’に関しては、応答コマンドの終りは、スレーブ要素Ｅ／ＲＥによりまだ送られていない。アプリケーションＡＭp'のイニシアティブで開かれたコンカレント論理流れＣＬＦx'は、パイロットにより再びアクティブにされ、スレーブ要素Ｅ／ＲＥによる継続コマンドの受取りに続いて、スレーブ要素Ｅ／ＲＥは、ＮＢ＝４に等しくとられるとともに、アプリケーションＡＭp'により初期化されたコマンドＣ’に関連する最大の所与のバイトまたはワード数に対するセグメント化命令応答をマスタ要素Ｅ／ＲＭへ送ることができる。
【００８６】
セグメント化命令応答を受けると、マスタ要素Ｅ／ＲＭは、コマンドＣ’に関連し、かつ４バイトすなわちシンボリックコマンドＣ’の文字列“Ａ’Ｎ’Ｄ’Ｅ’”を構成している最後の４バイトまたは４ワードを有するパケットを含む、パケット伝送コマンドを送ることができる。
【００８７】
スレーブ要素Ｅ／ＲＥによる前述したパケット伝送コマンドの受取りと、前記要素による受領の肯定応答の発行とに続いて、マスタ要素は、シンボリックコマンドに対する応答を得るように、継続コマンドを送る。
【００８８】
この継続コマンドに応答して、スレーブ要素Ｒ／ＲＥは、シンボリック応答の全体、すなわち“Ｒ’Ｅ’Ｐ’Ｏ’Ｎ’Ｓ’Ｅ’”として示され、かつコマンドＣ’へのセグメント化された応答書式での応答に関連するシンボリック応答を送る。
【００８９】
マスタ要素Ｅ／ＲＭによる前述したセグメント化された応答の受取りに続いて、マスタ要素Ｅ／ＲＭは、継続コマンドをスレーブ要素Ｅ／ＲＥへ再び送り、その後でスレーブ要素Ｅ／ＲＥは、コマンドＣ’に関連する応答コマンドの終りをマスタ要素Ｅ／ＲＭへ送ることができる。その後でマスタ要素Ｅ／ＲＭは、文字列［“Ｒ’Ｅ’Ｐ’Ｏ’Ｎ’Ｓ’Ｅ’”］により形成されているシンボリック応答のアプリケーションＡＥy'への伝送へ進むことができる。
【００９０】
パイロットによるコンカレントチャネルの開放手順に関する限りは、この開放は、“管理チャネル”タイプ、のＡＰＤＵコマンドを介して実行できる。ＩＳＯ  ７８１６−６のパラグラフ６．１６を参照されたい。
【００９１】
一般に、コンカレント論理流れを構成する、引き続く各基本パケットは、特定のＡＰＤＵコマンド／応答対により、単一の物理交換チャネル上で伝送される。
【００９２】
ベース論理流れを実行するためのコマンド／応答対は、ＡＰＤＵエンティティにより構成され、異なるコマンド／応答対は“エンベロープ”タイプの特定のＡＰＤＵコマンドと、ＡＰＤＵ応答の部分集合に属する短いＡＰＤＵ応答とによって形成されることが好ましい。
【００９３】
“エンベロープ”タイプの特定の物理Ｃ−ＡＰＤＵコマンドを受けると、スレーブ要素Ｅ／ＲＥは、処理を行う。例えば、スレーブ要素は、スレーブ要素Ｅ／ＲＥがチップカードによって構成されている場合には、あるインストールされているＡＰＤＵの実行を進めることができる。しかし、比較的短い時間で応答を与えねばならない。Ｒ−ＡＰＤＵを構成する応答は次の形の１つをとらなければならない。
【００９４】
１．  ［ＴＩＭＥ＿ＯＵＴ］
カードは、他のいかなる特定の事象もなしに、認められた時間から単に実行した。
【００９５】
２．  ［ＧＥＴ＿ＨＥＡＤＥＲ  ｘ］
カードは、コンカレントチャネルｘのＣ−ＡＰＤＵヘッダを要求する。パイロットは、物理的コマンド［ＳＥＮＤ＿ＨＥＡＤＥＲ  ｘ  ＣＬＡ  ＩＮＳ  Ｐ１  Ｐ２  Ｐ３］を介して応答せねばならない。その物理的コマンドに対してカードは、Ｒ−ＡＰＤＵ［ＯＫ］を介して応答する。
【００９６】
３．  ［ＧＥＴ＿ＢＹＴＥＳ  ｘ  ｎ］
カードは、コンカレントチャネルｘのＣ−ＡＰＤＵの次のｎバイトを要求する。パイロットは、物理的コマンド［ＳＥＮＤ＿ＤＡＴＡ  ｘ  ａ1．．．ａm］を介して応答する。ここにｍ≦ｎであって、ｎが入来データの最後のセグメントであるならば、これは異なることがある。カードは、Ｒ−ＡＰＤＵ［ＯＫ］を介して受取りを肯定応答する。
【００９７】
４．  ［ＳＥＴ＿ＯＵＴＧＯＩＮＧ＿ＬＥＮＧＴＨ  ｘ  Ｌｒ］
カードは、コンカレントチャネルｘ上における応答Ｒ−ＡＰＤＵの長さをパイロットに指示する。
【００９８】
５．  ［ＳＥＮＤ＿ＢＹＴＥＳ  ｘ  ａ1．．．ａm］
カードは、コンカレントチャネルｘ上のＲ−ＡＰＤＵの次のｎバイトを発行する。
【００９９】
６．  ［ＳＴＡＴＥＳ  ｘ  ＳＷ］
カードは、コンカレントチャネルｘ上のＲ−ＡＰＤＵの状態、すなわち最後の２バイトを指示する。チャネルｘ上での交換が、その後、終了される。
【０１００】
全ての場合において、パイロットはこの交換の後で制御を再び行う。
【０１０１】
カードの要求がプロトコルの誤りを構成する場合には、例えば、上述の２〜６までのケースであって、チャネルｘ上で交換が進行中でない、あるいは、カードが全く同一の交換中にヘッダを２回要求するなどの場合には、パイロットは、その問題をコマンド［ＩＯ＿ＥＲＲＯＲ  ｘ  ｃｏｄｅ］を介してカードに送信する。そのコマンドでは、誤りの性質がコード番号で表わされている。
【０１０２】
コンカレント論理流れによる他の交換の長い処理中における、コンカレント論理流れによる交換の要求の特定の処理が、マスタ要素Ｅ／ＲＭにより実行される２つのアプリケーションＡＭp、ＡＭp'に関連して、図２ｄにさらに示されている。
【０１０３】
図２ｄを参照して、アプリケーションＡＥyのイニシアティブで実行されるコマンドＣ＝［“ＣＯＭＭＡＮＤＥ”］に対するコンカレント論理流れＣＬＦx上におけるコマンド／応答対の交換の実行について考えることにする。
【０１０４】
そのような場合には、コンカレント論理流れＣＬＦxの開放に続いて、このコンカレント論理流れは、パイロットによりアクティブにされ、交換の実行は、スレーブ要素Ｅ／ＲＥに認められている時間内という実行条件の下で、行うことができる。
【０１０５】
交換の実行のために、他のいかなる特定の事象もなしでスレーブ要素Ｅ／ＲＥに対して認められた時間から実行するそのスレーブ要素Ｅ／ＲＥのいかなる部分的な実行も、
［ＴＩＭＥ＿ＯＵＴ］
という書式のＲ−ＡＰＤＵタイプの応答のスレーブ要素Ｅ／ＲＥによる発行と、マスタ要素Ｅ／ＲＭによる継続コマンドの発行との主題を形成する。このプロセスは、スレーブ要素Ｅ／ＲＥにより使用される種々の引き続く時間スライスに対してアクティブなコンカレント論理流れＣＬＦxのために継続できる。
【０１０６】
コマンドＣ’が他のアプリケーションＡＭp'のイニシアティブでマスタ要素Ｅ／ＲＭにより受けられると、パイロットによってアクティブにされているコンカレント論理流れＣＬＦx'の開放により、コンカレント論理流れＣＬＦx'を支持しているコンカレント論理チャネル上におけるコマンドＣ’に関連するコマンド通知のスレーブ要素Ｅ／ＲＥへの伝送が行われるようにされる。その後で、コンカレント論理流れＣＬＦx'上におけるコマンドＣ’の実行、コマンドＣおよびコマンドＣ’の伝送の実行のために、応答［ＴＩＭＥ＿ＯＵＴ］を送るプロセスを継続できる。
【０１０７】
本発明の主題であるプロトコルによって、マスタ要素Ｅ／ＲＭにより実行されるアプリケーションの間の交換の非同期要求の処理と、およびスレーブ要素Ｅ／ＲＥにより実行されるアプレットまたはサービスの間の交換の非同期要求の処理を行えるようにする。
【０１０８】
図１ｂを参照して、これらの要求がベース論理流れと関連しベース論理チャネルに対応すると、この場合には、ベース論理流れに関連する応答が受け取られるまで、コンカレント論理チャネルとコンカレント論理流れの集合が一時停止される。
【０１０９】
しかし、交換のための非同期要求は、空きコンカレントチャネル上におけるＣ−ＡＰＤＵコマンドの発行に関連することもある。この場合には、パイロットは、マスタ要素Ｅ／ＲＭを介して、コマンド通知コマンドを発行し、Ｃ−ＡＰＤＵタイプコマンドを論理チャネル上および関連するコンカレント論理流れＣＬＦx上で利用できることを示す。そうするとその通知コマンドは、非限定例により、スレーブ要素Ｅ／ＲＥでの受領アプレットの実行をトリガできる。
【０１１０】
パイロットがマスタ要素Ｅ／ＲＭを介して制御するが、非同期交換要求がそのマスタ要素に到達せず、それでも交換がコンカレントチャネルの１つで依然として進行中であると、交換の継続が、Ｃ−ＡＰＤＵタイプコマンドの発行を介して、すなわちこの明細書で以前に述べた継続コマンドを介して、実行される。
【０１１１】
これらの条件の下では、スレーブ要素Ｅ／ＲＥは、非同期要求をできる限り速く処理できるように、比較的短い時間内で制御を譲らなければならない。
【０１１２】
最後に、図１および図２ｂを参照して、本発明の主題であるプロトコルは、２つの特定のコマンドすなわちＣ−ＡＰＤＵタイプコマンドと、３つの特定の応答、すなわちＲ−ＡＰＤＵタイプの応答とを基にして実装することができ、そうすることが好ましい。
【０１１３】
第１の特定のコマンドは、マスタ要素Ｅ／ＲＭがスレーブ要素Ｅ／ＲＥに対して、現在アクティブなコンカレント論理流れの集合の存在を通知できるようにする、コマンド通知コマンドで構成される。特に図２ｂと図２ｃに与えられている例では、説明を不必要に複雑にしないように、各コマンド通知コマンドは単一のアクティブなコンカレント論理流れＣＬＦx、ＣＬＦx'を含んでいたが、いくつかのコンカレント論理流れを同時にアクティブにすることが適切なことがあり、コンカレント論理流れの単一の物理交換チャネル上での伝送は連続する以外は実行できないことが理解される。
【０１１４】
コマンド通知コマンドは、実際には、
・コマンド［ＣＯＭＭＡＮＤ＿ＲＥＡＤＹ  ｘ］により形成されているコマンドＣＩa、
・コマンド［ＲＥＳＵＭＥ］により形成されているコマンドＣＩb
で構成される。
【０１１５】
コマンドＣＩaとＣＩbは、コンカレントチャネル上での交換の実行または継続のためのマスタ要素Ｅ／ＲＭの利用可能性をスレーブ要素Ｅ／ＲＥに通知可能にする。
【０１１６】
パケット伝送コマンドで構成されている第２の特定のコマンドは、基本パケットをマスタ送信機／受信機からスレーブ送信機／受信機へ発行可能にする。ＣIIで示されているこの第２の特定のコマンドは、第１の特定のコマンドまたは第２の特定のコマンドの１つに応答して、セグメント化命令を構成するＲIで示されている第１の特定の応答を受けて、スレーブ送信機／受信機により発行される。第２の特定のコマンドＣIIは、スレーブ要素Ｅ／ＲＥから出た第１の特定の応答を受けて、第１の特定のコマンドＣＩa、ＣＩbと第２の特定のコマンドＣIIの１つへ発行され、第１の特定の応答ＲIで示されているコンカレント論理流れの集合のコンカレント論理流れの１つに対して現在アクティブであるコマンドに関連する基本パケットを、マスタ要素Ｅ／ＲＭからスレーブ要素Ｅ／ＲＥへ送ることを可能にする。現在アクティブであるコマンド、例えば図２ｂでコマンドＣの引き続くパケットへの切断分割は、第２の特定のコマンドＣIIで伝送されるパケットの最大サイズのセグメント化命令を構成する、第１の特定の応答ＲIの仕様によりスレーブ要素のイニシアティブで実行される。
【０１１７】
セグメント化された応答を構成している第２の特定の応答ＲIIは、第２の特定の応答ＲIIで示されている、現在アクティブであるコンカレント論理流れでの応答の基本パケットを、スレーブ要素Ｅ／ＲＥからマスタ要素Ｅ／ＲＭへ発行することを可能にする。
【０１１８】
最後に、第３の特定の応答ＲIIは、単一の応答、すなわち、スレーブ要素Ｅ／ＲＥからマスタ要素Ｅ／ＲＭへ送られた特定のコマンド／応答対応答の終りで構成されている。
【０１１９】
このように、引き続く基本パケットの交換の継続が、第１の特定のコマンド、特にコマンド通知コマンドＣＩaのマスタ要素による発行により、マスタ要素Ｅ／ＲＭのイニシアティブで実行される。しかしこの継続は、図１ｂに示されているように、いかなるアクティブなベース論理流れも存在しないという条件をつけられる。
【０１２０】
逆に、アクティブなベース論理流れが存在すると、図１ｂに示されているように、このアクティブなベース論理流れのマスタ要素Ｅ／ＲＭによる単一の物理交換チャネル上での優先伝送が条件付けされる。
【０１２１】
本発明の主題であるプロトコルのステップの全体によって、図２ｃに示されているように、独立したコマンド／応答対Ｃ、Ｒと応答対Ｃ’、Ｒ’の交換を行えるようにされる。
【０１２２】
少なくとも１つのメモリと、実行オートマトンと、オペレーティングシステムとが装備されている組込みコンピュータ装置などのコンピュータ装置にインストールされているアプレットであって、インストールされているアプレットの少なくとも１つが、特定の情報を、他のオペレーティングシステムが装備されているコンピュータにより実行される少なくとも１つのアプリケーションと交換することを意図されているような、このようなアプレットの実行を検査および監視する装置のより詳細な説明を図３ａ、図３ｂおよび以後の図面を参照して以下に行う。
【０１２３】
通常のやり方で、本発明の主題に従って、アプレットの実行を検査および監視する装置が、アプレットの実行を検査および監視するため、すなわちアプレットのデバッグのためのプロセスを提供するように、前述したマスタ要素Ｅ／ＲＭとスレーブ要素Ｅ／ＲＥとの間で単一の物理交換チャネル上でコマンド／応答対の多重交換のために複数の論理流れの伝送のためのプロトコルを実現することが示されている。
【０１２４】
前述した図３ａに示されているように、本発明の主題である装置は、少なくとも、例えばチップカード１により構成されている組込みコンピュータ装置と、特定のオペレーティングシステムが装備されているコンピュータにより実行されるアプリケーション２とに加えて、組込みコンピュータ装置１にインストールされている任意のアプレットの実行を検査および監視するための、すなわちアプレットのデバッグのためのパイロットモジュール３を有する。パイロットモジュール３は、一方では、Ｌ23と記された接続によりアプリケーション２につながれており、他方では、コマンド／応答タイプの単一の物理交換接続、すなわちＬ13で示されている接続により、組込みコンピュータ装置１につながれている。
【０１２５】
本発明の主題である実行検査および監視装置は、接続Ｌ34によりパイロットモジュール３に相互接続されている実行検査および監視モジュール４も有し、この実行検査および監視モジュールは、組込みコンピュータ装置１の実行オートマトンの実行を監視することを意図されている。
【０１２６】
さらに詳しくいえば、組込みコンピュータ装置１は、オペレーションシステムＯＳと、ＪＡＶＡＣＡＲＤ環境における特定の実施形態では、例えばＪＣＶＭタイプの仮想マシンＶＭにより構成できる、ＡＵＴで示されている実行オートマトンとを有することが示されている。
【０１２７】
もちろん、組込みコンピュータ装置１は、Ａｐｐ1，...，Ａｐｐx，...，ＡｐｐNで示されている種々のアプレットを、不揮発性メモリにインストールしている。それらのアプレットはアプリオリに独立である。
【０１２８】
最後に、組込みコンピュータ装置１は、組込みコンピュータ装置１の不揮発性メモリにインストールされている実行オートマトンの実行を検査および監視するためのエージェントモジュールを有する。
【０１２９】
特に有利な非限定的な実施形態では、組込みコンピュータ装置１は、チップカードまたはマイクロプロセッサと、マイクロプロセッサを備えたＣＡＤ読取器を有するパイロットモジュール３と、ＩＳＯ  ７８１６タイプ接続により構成されている接続Ｌ13によって構成されているコマンド／応答タイプの単一の物理交換接続と、によって構成されている組込みシステムであることが示されている。
【０１３０】
さらに詳しくいえば、コマンド／応答タイプの単一の物理交換接続は、本発明の主題であってこの明細書で以前に述べたプロトコルにしたがって、多重交換を実行することを可能にすることが示されている。
【０１３１】
接続Ｌ23およびＬ34に関する限り、接続Ｌ23はＩＳＯ  ７８１６タイプ接続として、またはソフトウエアライブラリ、例えばＰＣ／ＳＣまたはＯＣＦに適合するソフトウエアレイヤとして具体化できる。ソフトウエアライブラリＰＣ／ＳＣは、参考文献、Interoperability Specification for ICCs and Personal Computer Systems, version 1.0（ＩＣＣおよびパーソナル・コンピュータ装置用相互操作可能性仕様、１．０版）、１９９７年１２月、パート１ないし８、ＰＣ／ＳＣ  Ｗｏｋｇｒｏｕｐ発行、の主題を構成している。この文献は、アドレス[www.pcsworkgroup.com]でアクセスできる。参考文献のＯＣＦ(OpenCard Framework)ソフトウエアライブラリは、Opencard Framework 1.1.1... Programmer's Guide, 3rd Edition（オープンカード・フレームワーク1.1.1...プログラマズガイド、３版）、OpenCard Consortium発行であって、アドレス[www.opencard.org]で入手できる。しかし、接続Ｌ34の実装の場合には、この接続は、SUN MICROSYSTEMS INC.により、ＳＵＮによるソフトウエア“Ｊａｖａ２ＤＳＫ，ｖ  １．３．０”と一緒に配布されている文献JAVATM Debug Wire Protocol（ＪＡＶＡTMデバッグワイヤプロトコル）で仕様化されているＪＤＷＰプロトコルにより具体化でき、そうすると有利である。その文献は、アドレス[http://java.sun.com/products/jpda/doc/jdwp-spec.html]でアクセスできる。そのようなプロトコルの実装によって、このプロトコルに適するいかなる実行検査および監視ツールも使用可能にされる。
【０１３２】
さらに、図３ｂに示されているように、実行オートマトンＡＵＴは、ＶＭで示されている仮想マシンを備えることができる。この仮想マシンには、アプリケーションインタフェースＡＰＩのライブラリが組合わされる。
【０１３３】
最後に、組込みコンピュータ装置の不揮発性メモリにインストールされているエージェントモジュール５は、アプリケーションとアプレットとの間の交換の実行を検査および監視するためのソフトウエアエージェントモジュールを有する。
【０１３４】
この組立体の全体的な動作態様は次の通りである。パイロットモジュール３は、暗黙裡(implicitement)に開いている対応するコンカレント論理流れの交換を行うために、２つのコンカレント論理チャネルを使用する。第１のコンカレント論理流れが、デバッグモードに指定された実行検査および監視モードにおいて、例えば、１つのアプレットＡｐｐxと通信するために用いられる。
【０１３５】
第２のコンカレント論理流れが、例えば、仮想マシンＶＭが停止点に達した時、またはそれが実行検査および監視モジュール４がモニタされることまたは追従されることを求めた任意の動作を実行するときに、その仮想マシンから出た事象(evenement)を送るために使用される。
【０１３６】
最後に、デフォルト非コンカレント論理流れの交換を許す非コンカレント論理チャネルが、仮想マシンＶＭの実行を監視し、かつ仮想マシンＶＭの内部状態にアクセスするために、その後で用いられる。
【０１３７】
パイロットモジュール３は、実行検査および監視モジュール４により送られた非同期停止要求を処理するために、マスタ要素Ｅ／ＲＭの制御を引き続いて再び行うことを考慮にいれている。本発明の主題であるプロトコルの実行中に図２ｂまたは図２ｃに略図で示されているように、このような非同期停止要求がパイロットモジュールに達し、かつパイロットモジュールが制御を再び行うとすると、仮想マシンＶＭの実行は一時停止される。その後でマスタ要素Ｅ／ＲＭは、ユーザ、すなわちユーザにより制御される実行検査および監視モジュール４がその実行を継続することを要求する時にのみ、パイロットモジュール３により継続コマンドを送る。
【０１３８】
本発明の主題である実行検査および監視装置の具体的な実装が、実際に使用されるＡＰＤＵコマンドおよび応答のフォーマットを最適にすることを可能にできる。例えば、命令の実行を行うために、組込みコンピュータ装置１に継続コマンド［ＲＥＳＵＭＥ］による狭義の次の実行を指示するように、前述したベース論理流れの経路指定を可能にする監視コマンドを最初に使用することが、原則として必要である。それら２つのコマンドは、コマンド［ＳＴＥＰ］などの、単一のコマンドで置き換えることができる。
【０１３９】
パイロットモジュール３の動作態様は次の通りである。
【０１４０】
−パイロットモジュールは、デバッグを考えられているアプリケーションで指定されている、ＡＰＤＵタイプの特定のコマンド／応答対により、エージェントモジュール５の監視と管理とのコマンドを提供する。この理由から、ＤＰＤＵはデバッグプロトコルデータユニット(Debug Protocol Data Unit)を意味する。この目的で、エージェントモジュールは、オートマトンにより実行される入力／出力Ｉ／Ｏの、すなわち仮想マシンＶＭによる入力／出力機能に対する呼出しの各遷移で、前述したＤＰＤＵメッセージの交換を促す。図２ｂと図２ｃを参照してこの明細書で先に述べたように、ＤＰＤＵメッセージは、パケットおよびアプリケーションの間のコマンドまたはアプレットのパケットを有する。
【０１４１】
−パイロットモジュールは、実行検査および監視モジュール４からの要求で、ユーザのイニシアティブで、入力／出力交換中に、および実行オートマトンＡＵＴがその入力／出力遷移を前述したユーザーにより選択された指定された時間の間実行しない時に、その実行オートマトンの実行、すなわち最終的には仮想マシンＶＭの実行を一時停止する。
【０１４２】
−前述した実行に続いて、パイロットモジュール３は、実行オートマトンの状態を監視し、その後で前述した実行オートマトンＡＵＴの実行の継続を促すように、特定のコマンド／応答対すなわちＤＰＤＵメッセージをエージェントモジュール５へ送る。
【０１４３】
どのようなデバッグモードも存在しない時のアプレットの実行、すなわち、図４ａに示されている、デバッグモードにおける先行技術の仮想マシンの実行にほぼ従う正常な実行を、本発明の主題である装置とプロトコルとの実装により、検査および監視するプロセスの手順の詳細な説明を図４ｂおよび図４ｃを参照して以下に行う。
【０１４４】
図４ａを参照して、組込みコンピュータ装置１、すなわち対応するチップカードでの仮想マシンＶＭの入力／出力Ｉ／Ｏに対するアクセスが、ＪＡＶＡ  ＣＡＲＤタイプの仮想マシンに組合わされているインタフェースＡＰＩのライブラリに等しいサービスを提供するものと考えられるオペレーティングシステムＯＳの少数の機能を呼び出すことを含むことが、示されている。組込みコンピュータ装置１を構成するマイクロプロセッサカードでは、実行を検査および監視するエージェント５が、オペレーティングシステムＯＳと仮想マシンＶＭの間にセットアップされている。このセットアップは図３ｂに示されている。それがアクティブにされると、エージェントモジュール５は、それらの入力／出力Ｉ／Ｏ機能に対する全ての呼出しをインタラプトし、それらの呼出しのおのおのをパイロットモジュール３でＤＰＤＵの交換に変換する。
【０１４５】
正常な実行、すなわち図４ａに示されているようにデバッグモードがない時の実行のために、アプリケーション２の実行を許す端末装置が、例えば、入来データＣ1、Ｃ2、Ｃ3、Ｃ4、Ｃ5の５バイトまたはワードで構成されているコマンドを発行する。関連するアプレットが、ワードＣ1、Ｃ2、その後でＣ3、Ｃ4、Ｃ5の転送を許すゲットバイト(Get Bytes)メソッドに対する２回の呼び出しによって入来データにアクセスし、その後で１回の操作の４つの応答ワード、すなわちワードＲ1、Ｒ2、Ｒ3、Ｒ4を送る。
【０１４６】
ＩＳＯ  ７８１６の半二重性のために、組込みコンピュータ装置１を構成するチップカードは、交換の持続時間中にわたって制御を保持する。そうすると、カードへの供給を断つこと以外に、実行をインタラプトすることは可能でない。
【０１４７】
他方、図３ａおよび図３ｂに示されているように、本発明の主題であるアプレット検査および監視装置の実現に従って、デバッグモードへ切り替えると、その操作手順は、図４ｂにしたがって次の通りである。
【０１４８】
前述した図において、パイロットモジュール３とエージェントモジュール５の間で交換されたＤＰＤＵコマンドが、大括弧の中に表わされている。エージェントモジュール５は、オペレーティングシステムＯＳに関しては正常なアプリケーションのように挙動し、アプレットが非デバッグモードで実行されるときにアプレットにより使用される機能と同じ機能でＤＰＤＵコマンドをアクセスする。それらの機能は、“ＧＥＴ＿ＢＹＴＥＳ”と“ＳＥＮＤ＿ＢＹＴＥＳ”、および本発明の主題であるプロトコルの実行に関してこの明細書で以前に述べた機能以外のものではない。単一のコマンド／応答対の交換を、ＩＳＯ  ７８１６プロトコルに適合するいくつかのコマンド／応答に分断することの利点は、次の通りである。引き続く２つの部分交換の間で、入力／出力チャネルは、パイロットモジュール３とモジュール５との間の他の交換に対しては、空いている。そのような交換は、アプレットにとって、およびもちろんアプリケーション２を実行する端末装置にとっては、見ることができない。それらの交換は仮想マシンＶＭの実行を監視すること、および仮想マシンＶＭの内部状態をアクセスすることを可能にする。
【０１４９】
仮想マシンＶＭが入力／出力機能に対する２つの呼出しの間の停止点に達すると、チップカードは、エージェントモジュール５によって、制御をパイロットモジュール３に譲ることにより、実行検査および監視モジュール４が適切なコマンドによって仮想マシンＶＭの状態を調べることを許す。
【０１５０】
図４ｂに非限定的な例で表わされているのは、変数ｘの値を要求する実行検査および監視モジュール４である。そのような交換は、物理的には完全に有効である。その理由は、この交換が、文法にかなったＣ−ＡＰＤＵコマンドおよびＲ−ＡＰＤＵコマンドのみを有するからである。それは、アプリケーション２を実行している端末装置と、組込みシステム１にインストールされているアプレットとの間で進行している交換を中断すべきでなかった場合ではない。
【０１５１】
したがって、仮想マシンＶＭの状態の検査は、この仮想マシンが、コンピュータ装置１のメモリの読出し／書込みコマンドによる実行を検査および監視するモジュール４のイニシアティブで一時停止される時に、実行されることが理解される。
【０１５２】
実行を検査および監視するそのようなプロセス、すなわちデバッグによって、一方ではアプリケーション２とアプレットＡｐｐxの実行を許す端末装置との間で、他方ではパイロットモジュール３と検査および監視エージェントモジュール５との間で交換されるデータを多重化することが可能である。
【０１５３】
そのような操作手順は、
−オペレーティングシステムＯＳと、他のいかなるアプリケーションにも類似するアプリケーションに似た挙動を行う仮想マシンＶＭにエージェントモジュール５をプラスした組立体との実装に及ぼす影響の完全な不存在。特に、この手順は第２の物理通信チャネルの存在を必要としない。
【０１５４】
−仮想マシンの実装に対する限られた影響。その理由は、オペレーティングシステムＯＳの少数の機能に対する呼出しをエージェントモジュール５における等価な機能に対する呼出しで置き換えることで十分であるからである。
【０１５５】
最後に、本発明の主題であるアプレットとプロトコルの実行を検査および監視する装置は、仮想マシンの実行の非同期停止の実行に特に良く適する。
【０１５６】
特に、例えばアプレットが長い計算または無限の計算に関わらせられるいかなる時にも、仮想マシンの実行を停止できることが望ましい。接続Ｌ13の性質に注意すると、制御を検査および監視エージェントモジュール５へ移して、この検査および監視エージェントモジュール５が実行を終了させること、またはアプレットＡｐｐxが入力／出力の実行を進めることを待つことは可能ではなく、エージェントモジュール５は、それのイニシアティブの下でのみ制御を譲ることができる。
【０１５７】
そうすると、本発明の主題である装置およびプロトコルの実装に従って、提案された解決策は、仮想マシンＶＭの実行を、指定された時間Ｔの間、始めるコマンドを採用することからなる。その時間が経過すると、エージェントモジュール５は、制御をパイロットモジュール３に譲る。その後でパイロットモジュールは、その間に一時停止要求が起きなければ、実行を一時停止する機会、またはそれを再開する機会を持つ。指定された時間の間のこの実行プロセスは、アプリケーション２とパイロットモジュール３によって構成されているマスタ要素Ｅ／ＲＭと、組込みコンピュータ装置１、および特に検査および監視エージェントモジュール５によって構成されているスレーブ要素Ｅ／ＲＥとの間の、図２ｄのプロセスに対応する。その後で、実行検査および監視モジュールから出される一時停止要求がその間に生じないならば、パイロットモジュール３は、実行を再開できる。
【０１５８】
チップカードにより構成されている組込みコンピュータ装置１のレベルでは、指定された時間にわたって実行するためのそのようなコマンドの実装は、システム時間ダウンカウンタまたは実行すべき各命令で減少させられる簡単なカウンタを使用することによって、実行できる。実行の正確な持続時間Ｔは、それが有限であれば、すなわちエージェントモジュール５が終了制御によって終了するならば、任意にできる。実行の持続時間Ｔの値の大きさの程度は、システムが要求を中断する反応性を決定する。Ｔの値が短くなると、システムが実行をインタラプトできる速さが速くなる。持続時間Ｔの値は、組立体の全体の効率も決定する。その理由は、ＡＰＤＵ交換が持続時間Ｔの各実行ごとに存在するからである。したがって、持続時間Ｔの値の大きさの程度の決定は、ユーザのイニシアティブによって、要求の関数として実行できる。
【０１５９】
最後に、本発明の主題であるアプレットの実行を検査および監視する装置は、アプレットのコードを、ソースコードでの行ごとに実行することも可能にする。一般に、プログラムカウンタと上述したソースコードの行のインデックス数との間の対応のルックアップテーブルは、チップカードにより形成されている組込みシステム１に保存できず、それは、交換の監視を最少にするために必須である。
【０１６０】
本発明の主題である装置およびプロトコルによって許される解決策は、ソースの各行に対してプログラムカウンタのインターバルを関連させることからなる。このテ−ブルはコンパイラにより計算でき、かつ組込みシステム１の外部の、パイロットモジュール３をアクセスできるメモリ領域内に保存できる。このアクセス可能なメモリ領域は、例えば実行検査および監視モジュール４内に配置できる。各行ごとでの実行要求に対して、現在の行に対応するインターバルがコマンドと一緒に送られる。各命令に対して、仮想マシンＶＭの実行は、検査および監視エージェントモジュール５のコード要素に転換される。その後でそれは、プログラムカウンタがその関連するインターバル内に実際に静止しているかどうかを判定する。このインターバルが関連するインターバルより短いときは、それは、実行が現在の行とは異なる行に到達してエージェントモジュール５がパイロットモジュール３に制御を譲るからである。
【０１６１】
したがって、各行ごとでの実行要求にとって重要な情報を、組込みコンピュータ装置１に行のテーブルを保存する必要なしに、送ることが可能である。
【０１６２】
仮想マシンのスタックのサイズを含んでいる類似の停止条件が、例えば、メソッド呼出しをスキップする間の行の実行または現在のメソッドからの退出などの、他のタイプのシンボリック実行の簡単な実現を許す。
【図面の簡単な説明】
【図１ａ】
単一のベース論理流れの存在の下でマスタ送信機／受信機とスレーブ送信機／受信機との間で、単一の物理交換チャネル上でのコマンド／応答対の多重交換のために複数の論理流れの伝送のためにプロトコルの実行を許す、本発明の主題であるそのプロトコルの重要なステップの実装を例示するフローチャートである。
【図１ｂ】
複数のベース論理流れの存在の下でマスタ送信機／受信機とスレーブ送信機／受信機との間で、単一の物理交換チャネル上でのコマンド／応答対の多重交換のために複数の論理流れの伝送のためにプロトコルの実行を許す、本発明の主題であるそのプロトコルの重要なステップの実装を例示するフローチャートである。
【図２ａ】
基準論理流れとして場合に応じてとることができるベース論理流れ上での交換の実装の態様を例示する図である。
【図２ｂ】
スレーブ送信機／受信機のイニシアティブでコンカレント論理流れによる交換を引き続くパケットに切断分割する手順を例示する図である。
【図２ｃ】
マスタ送信機／受信機とスレーブ送信機／受信機との間の２つの異なるコンカレント論理流れによる２つの交換の引き続くパケットの絡み合わせ(entrelacement)を例示する図であり、引き続くパケットへの各コンカレント流れの切断分割は、スレーブ送信機／受信機のイニシアティブによって図２ｂの場合と同様にして行われる。
【図２ｄ】
コンカレント論理流れによる他の交換の長い処理のための手続中にコンカレント論理流れによる交換を処理する手順を例示する図である。
【図３ａ】
本発明の主題である、マスタ送信機／受信機とスレーブ送信機／受信機との間で単一の物理交換チャネル上でコマンド／応答対の多重交換のために複数の論理流れの伝送のためのプロトコルを実装している組込みコンピュータ装置にインストールされているアプレットの実行を検査および監視するコンピュータシステムの機能図であって、マスタ送信機／受信機要素はパイロットモジュールとＣＡＤ端末により構成され、スレーブ送信機／受信機要素はチップカードなどのこの組込みコンピュータシステムにより構成され、単一の物理交換チャネルはＩＳＯ  ７８１６プロトコルの１つを満たす接続により構成されている。
【図３ｂ】
非限定的な例において、実行オートマトンは、アプリケーションインタフェース（ＡＰＩ）のライブラリが組合わされている仮想マシンにより構成されているときに、組込みコンピュータ装置にインストールされている実行オートマトンの実行を検査および監視するための特定のエージェントモジュールと、この組込みコンピュータ装置のオペレーティングシステムと、入力／出力機能（ＡＰＤＵにより構成されているＩ／Ｏ機能）と、実行オートマトンの実行を検査および監視する機能との間の論理接続の例示する図である。
【図４ａ】
図３ａと図３ｂとに非デバッグモード、すなわちデバッグ機能が起動されていない、で示されているように、本発明の主題である、アプレットを検査および監視するコンピュータ装置の種々の要素の間で実行される交換のタイムチャートであり、この装置は、この場合には、実質的に、先行技術のマルチアプリケーションチップカードが組合わされているＣＡＤ読取器として挙動する。
【図４ｂ】
図３ａと図３ｂとにデバッグモード、すなわちデバッグ機能が起動されている、で示されているように、本発明の主題である、アプレットを検査および監視するコンピュータ装置の種々の要素の間で実行される交換のタイムチャートである。
【図４ｃ】
仮想マシンが、“ブレークポイントヒット”としても知られている停止点状態に達した時に、図３ａ、図３ｂおよび図４ａにで示されているように、本発明の主題である、アプレットを検査および監視するコンピュータ装置の種々の要素の間で実行される交換のタイムチャートである。
【誤訳訂正２】
【訂正対象書類名】図面
【訂正対象項目名】図２ａ
【訂正方法】変更
【訂正の内容】
【図２ａ】
2004512593.tif 000001
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】図２ｂ
【訂正方法】変更
【訂正の内容】
【図２ｂ】
2004512593.tif 000002
【誤訳訂正４】
【訂正対象書類名】図面
【訂正対象項目名】図２ｃ
【訂正方法】変更
【訂正の内容】
【図２ｃ】
2004512593.tif 000003
【誤訳訂正５】
【訂正対象書類名】図面
【訂正対象項目名】図２ｄ
【訂正方法】変更
【訂正の内容】
【図２ｄ】
2004512593.tif 000004
【誤訳訂正６】
【訂正対象書類名】図面
【訂正対象項目名】図３ａ
【訂正方法】変更
【訂正の内容】
【図３ａ】
2004512593.tif 000005
【誤訳訂正７】
【訂正対象書類名】図面
【訂正対象項目名】図３ｂ
【訂正方法】変更
【訂正の内容】
【図３ｂ】
2004512593.tif 000006
【誤訳訂正８】
【訂正対象書類名】図面
【訂正対象項目名】図４ｃ
【訂正方法】変更
【訂正の内容】
【図４ｃ】
2004512593.tif 000007