(57)【特許請求の範囲】
【請求項１】
少なくとも２つの物理通信チャネルからの少なくとも２つのアプリケーションコマンドを処理するための携帯電子機器を使用する方法であって、
少なくとも２つの物理通信チャネルに対して優先レベルを設定することと、
物理通信チャネルの１つから各アプリケーションコマンドを受信することと、
アプリケーションコマンドを供給した物理通信チャネルの設定された優先レベルにしたがって、アプリケーションコマンドの各々に関連付ける優先レベルを決定することと、
アプリケーションコマンド間で、アプリケーションコマンドに関連付けられた優先レベルを比較し、アプリケーションコマンド間で最も高い優先度のアプリケーションコマンドを識別することと、
最も高い優先度のアプリケーションコマンドを処理することとを含み、処理中のアプリケーションコマンドの優先レベルよりも高い優先レベルのアプリケーションコマンドを受信すると、処理中のアプリケーションコマンドの処理が一時中断され、受信された最も高い優先度のアプリケーションコマンドがすぐに処理され、
アプリケーションコマンドが、前記携帯電子機器により供給される少なくとも１つのアプリケーションに関連し、前記アプリケーションが、
ユーザまたは所有者を識別するアプリケーション、
ユーザを認証するアプリケーション、
制限されたアクセスエリアまたは交通サービスにアクセスするアプリケーション、
電子支払アプリケーション、
無線電話ネットワークと通信するためのアプリケーション
のリストに含まれている、方法。
【請求項２】
最も高い優先度の物理通信チャネルからの第１の所定の数のアプリケーションコマンドの処理に続いて、別の物理通信チャネルからの第２の所定の数のアプリケーションコマンドの処理の間に最も高い優先度の物理通信チャネルが最も低い優先度を有するチャネルとなる、請求項１に記載の方法。
【請求項３】
最も高い優先度の物理通信チャネルからの第１の所定の数のアプリケーションコマンドの処理に続いて、所定の期間、最も高い優先度の物理通信チャネルが最も低い優先度を有するチャネルとなる、請求項１に記載の方法。
【請求項４】
優先度レベルの決定がさらに、物理通信チャネルに関連付けられた優先遅延に依存する、請求項１に記載の方法。
【請求項５】
処理中のアプリケーションコマンドの処理が一時中断される段階が、前記処理中のアプリケーションコマンドに関連付けられた物理通信チャネルで少なくとも１つの待機コマンドが送信される段階を含む、請求項１から４のいずれか一項に記載の方法。
【請求項６】
少なくとも２つの物理通信チャネル各々からの少なくとも２つのアプリケーションコマンドを処理する携帯電子機器を使用するシステムであって、
少なくとも２つの物理通信チャネルに対して優先レベルを設定する手段と、
物理通信チャネルの１つからの各アプリケーションコマンドを受信する手段と、
アプリケーションコマンドを供給した物理通信チャネルの設定された優先レベルにしたがって、アプリケーションコマンドの各々に関連付ける優先レベルを決定する手段と、
アプリケーションコマンド間で、アプリケーションコマンドに関連付けられた優先レベルを比較する手段と、
アプリケーションコマンドの中で最も高い優先度のアプリケーションコマンドを識別する手段と、
最も高い優先度のアプリケーションコマンドを処理する手段と、
処理中のアプリケーションコマンドの優先レベルよりも高い優先レベルのアプリケーションコマンドの受信により最も高い優先度のアプリケーションコマンドをすぐに処理するために処理中のアプリケーションコマンドの処理を一時停止する手段とを備え、
アプリケーションコマンドが、前記携帯電子機器により供給される少なくとも１つのアプリケーションに関連し、アプリケーションが、
ユーザまたは所有者を識別するアプリケーション、
ユーザを認証するアプリケーション、
制限されたアクセスエリアまたは交通サービスにアクセスするアプリケーション、
電子支払アプリケーション、
無線電話ネットワークと通信するためのアプリケーション
のリストに含まれている、システム。
【請求項７】
前記優先レベルを決定することがさらに、物理通信チャネルに関連付けられた優先遅延に依存する、請求項６に記載のシステム。
【請求項８】
処理中のアプリケーションコマンドの処理を一時中断する手段が、前記処理中のアプリケーションコマンドに関連付けられた物理通信チャネルで少なくとも１つの待機コマンドを送信するように構成される、請求項６または７に記載のシステム。
【請求項９】
物理通信チャネルが、
ＩＳＯ７８１６準拠の通信チャネル、
ＵＳＢ型の通信チャネル、
ＭＭＣ型の通信チャネル、
ＩＳＯ１４４４３準拠の非接触型通信チャネル、
ＳＷＰ型の通信チャネル
のリストに含まれている、請求項６から８のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
概して、本発明は、携帯電子機器を使用して少なくとも２つの物理通信チャネル各々からの２つのアプリケーションコマンドを処理する方法に関する。
【０００２】
本発明はまた、携帯電子機器およびそのような携帯電子機器と連携するホスト機器を有する電子システムに関する。
【背景技術】
【０００３】
用語「携帯電子機器」は、情報を処理し通信するための手段を備え、外部とのデータ交換が可能な任意の装置を指す。典型的には、携帯電子機器は、例えば、少なくとも１つのマイクロプロセッサと少なくとも２つの通信インタフェースと少なくとも１つのメモリとを備えるＳＩＭ（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅの略）カードなどのＩＣカードの形態をとることができる。各々の通信インタフェースは、関連する物理通信チャネルを介する通信に関与する。
【０００４】
携帯電子機器は、ホスト機器と連携し、ホスト機器を介して携帯電子機器によりサポートされる１つ以上のアプリケーションを少なくとも一部使用することができる。
【０００５】
ホスト機器は、特に、携帯電話、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略）および／またはＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒの略）とすることができる。ホスト機器は、無線周波により１つ以上の無線通信ネットワークおよび／または有線ネットワークに接続される。例えば、有線ネットワークは、インターネット型のネットワークとすることができる。無線通信ネットワークは、無線電話ネットワークおよび／または、例えば、バスなどの交通サービスおよび／または地下鉄の交通サービスを提供するのに使用される非接触型端末のネットワークとすることができる。
【０００６】
ＡＰＤＵ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）を使用して、１つ以上のアプリケーションコマンドを携帯電話から接触型と呼ばれるＩＳＯ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｏｒｇａｎｉｚａｔｉｏｎ）７８１６準拠の物理通信チャネル経由でＩＣカードへ送信するのが知られている。ＩＣカードは、物理ＩＳＯ７８１６チャネルからのアプリケーションコマンド（複数可）を受信される順に処理を行う。その後、ＩＣカードは、ＡＰＤＵを使用して同じ物理チャネル経由で対応する応答を携帯電話に送り返す。
【０００７】
また、ＡＰＤＵを使用して、１つ以上のアプリケーションコマンドを非接触型のリーダ端末から非接触型と呼ばれるＩＳＯ１４４４３準拠の物理通信チャネル経由でＩＣカードへ送信するのも知られている。これらのコマンドは、例えば、アクセスが制限されたエリアにアクセスするコマンドを含むことができる。ＩＣカードは、物理ＩＳＯ１４４４３チャネルからのコマンドを処理して、ＩＣカードの所有者により制限されたアクセスエリアへのアクセスを許可するまたはそのようなアクセスを拒否する応答を返信する。
【０００８】
さらに、例えば、１つのＩＳＯ７８１６準拠の接触型および少なくとも１つのＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略）型の他のチャネルなどの複数の物理通信チャネルを介してＰＣなどの端末からＩＣカードへ送信するのも知られている。従来型のＩＣカードは、ＩＣカードが複数の物理通信チャネル経由でアクセス可能である場合、所与の瞬間においては単一の物理通信チャネルのアプリケーションコマンドが処理されるものである。そのため、ＩＣカードはさまざまな物理通信チャネルからのアプリケーションコマンドをその到着順に処理する。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
知られている方法には主な欠点がある。ＩＣカードが一連のアプリケーションコマンドをさまざまな物理チャネルから受信すると、受信されたアプリケーションコマンドはどのチャネルからのものであるかに関わらず記憶され、したがって順次処理されるまで待機される。
【００１０】
かなり短い所定時間が必要である１つの物理チャネルからのアプリケーションコマンドをこのように待機させることは、処理の所定の応答時間が切れると、該物理チャネルで開始されたトランザクションに悪影響を及ぼすことになる。
【００１１】
例えば、ＩＣカードは、ＩＳＯ７８１６接触型の物理チャネルを介して無線電話ネットワークに接続された携帯電話と連携する。カードは、コマンド、つまりＩＣカードのユーザを認証するためのコマンドを処理するが、このコマンドはすでに接触型アプリケーションに対して開始されている。ＩＣカードがリーダ端末によって、いわゆる交通サービスへのアクセスを可能にするタップアンドゴー（Ｔａｐ＆Ｇｏ）非接触型アプリケーションに対してポーリングされる場合、例えば、ＩＣカードはすでに物理接触型チャネルからのユーザ認証コマンドの処理でビジー状態である。
【００１２】
そのような知られている非接触型タップアンドゴーアプリケーションは、携帯電話に含まれるＩＣカードおよび非接触型リーダ端末を含む。ＩＣカードがリーダ端末に近付けられると、電子支払コマンドがカードに送信されて、カードはカード所有者のクレジット勘定を借記してトランザクションを有効にすることによって短時間で応答する。
【００１３】
タップアンドゴーコマンドの送信後、対応するタップアンドゴーコマンドが所定の応答時間内（１秒足らずで）で処理されないと、したがって非接触型トランザクションは中断される。このことで、処理および対応する応答を得るために少なくとももう一回物理非接触型チャネル経由でタップアンドゴーコマンドの送信を繰り返す前に、ユーザ認証コマンドの処理が終了するのを待たなくてはならなくなる。
【課題を解決するための手段】
【００１４】
本発明は、携帯電子機器を使用して少なくとも２つの物理通信チャネル各々からの少なくとも２つのアプリケーションコマンドを処理する方法、および方法を使用する携帯電子機器を提供することにより上述の主な欠点を解決する。本発明によれば、携帯電子機器は、優先レベルを受信された各アプリケーションコマンドに割り当てて、処理中の別の一連アプリケーションコマンドより高い優先度を有する直近で受信された一連のアプリケーションコマンドを処理する。
【００１５】
より詳細には、本発明は、携帯電子機器を使用して少なくとも２つの物理通信チャネル各々からの少なくとも２つのアプリケーションコマンドを処理する方法である。方法は、物理通信チャネルの１つからの各アプリケーションコマンドが受信される段階と、各アプリケーションコマンドに関連付ける優先レベルが決定される段階と、優先レベルが比較される段階と、アプリケーションコマンドの中から最も高い優先度のアプリケーションコマンドが決定される段階と、最も高い優先度のアプリケーションコマンドが処理される段階とを含む。
【００１６】
本発明の一般的原理は、アプリケーションコマンドがその到着順によって処理されないで、コマンドの受信部としての携帯電子機器により各々付与された優先順位によって処理されるという新規アプローチにある。
【００１７】
受信されたアプリケーションコマンドの優先順位が受信部によって定義されるため、携帯電子機器は受信の順序に関して処理の順序を変更できることに留意すべきである。
【００１８】
したがって、このような処理の順序の変更は、今の低い優先度のアプリケーションコマンドに対して開始されている処理よりも優先度が高いアプリケーションコマンドを処理することになる。
【００１９】
その結果、一連の高優先度アプリケーションコマンドのネスト化された処理になり、一連の低優先度のアプリケーションコマンドのネスト化された処理になることを理解されたい。
【００２０】
携帯電子機器は、このようにして、さまざまな物理通信チャネル各々からの複数のアプリケーションコマンドをほぼ同時に処理することができる。
【００２１】
このように、特に、進行中のアプリケーションコマンドよりも高い優先度のアプリケーションコマンドに必要な処理に高い応答性が必要である場合、このような高優先度のアプリケーションコマンドの処理はそのコマンドが初めて受信されるとすぐに、携帯電子機器により開始される。その結果、最も高い優先度のアプリケーションコマンド（複数可）の処理は延期されない。つまり、この方法は上述した知られている方法で得られる処理よりも高い応答性につながる。
【００２２】
上述した知られている方法とは異なり、本発明の方法は、こうして低い優先度であっても処理中のアプリケーションコマンド（複数可）の後に受信される高優先度のアプリケーションコマンドの処理のための所定の応答時間切れを回避する。また、本発明の方法はさらに、処理中のアプリケーションコマンドよりも高い優先度の同じアプリケーションコマンド（複数可）の別の送信が行われるのを回避する。
【００２３】
別の態様によれば、本発明は、少なくとも２つの物理通信チャネルの各々からの少なくとも２つのアプリケーションコマンドを処理可能な携帯電子機器である。機器は、情報を処理し通信する手段を備える。
【００２４】
本発明によれば、情報を処理し通信するための手段は、２つの物理通信チャネルの１つから各アプリケーションコマンドを受信する手段と、アプリケーションコマンドの各々に関連付ける優先レベルを決定する手段と、優先レベルを比較する手段と、アプリケーションコマンドから最も高い優先度のアプリケーションコマンドを識別する手段と、最も高い優先度のアプリケーションコマンドを処理する手段とを備えるように構成される。
【００２５】
携帯電子機器は、例えば、ＩＳＯ１４４４３準拠の非接触型インタフェースなどの少なくとも１つの他の通信インタフェースを有するＵＳＢタイプのキーとしてもよい。
【００２６】
最後に、本発明は、上述したような携帯電子機器と連携するホスト機器を備える電子システムに関する。
【００２７】
ホスト機器は、例えば、ＰＣとしてもよい。携帯電子機器は、例えば、ＩＳＯ７８１６準拠の接触型インタフェースと、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）タイプのインタフェースなどの少なくとも１つの他の通信インタフェースとを有するドングル（ＰＣと通信するための専用リーダは必要ない）としてもよい。
【００２８】
本発明の他の特徴や利益は、単なる非限定的な例としての１つの優先的な本発明の実施形態の説明を読み、添付の図面を参照することで、明かになる。
【図面の簡単な説明】
【００２９】
【図１】本発明を使用する電子システムを示す図である。
【図２】図１に示されたシステムのホスト機器と連携する携帯電子機器のより詳細な図である。
【図３】本発明に従う方法の一例の簡略フローチャートである。
【発明を実施するための形態】
【００３０】
図１の一例として示されるように、電子システムは、携帯電話１２内に取り付けられるＩＣカードリーダ内に挿入されるＳＩＭ型の取り外し可能なＩＣカード１０を備える。
【００３１】
携帯電話１２は、知られている形でそれ自体に、携帯電話の全ての手段を管理制御するマイクロプロセッサと、不変データおよび一時的データを記憶する揮発性および不揮発性メモリと、外部と通信するためのインタフェースとを有する。
【００３２】
携帯電話１２は、双方向性の無線周波リンク１１０により、ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）型の無線通信ネットワーク１４の少なくとも１つの基地局に接続される。
【００３３】
ＩＣカード１０は、携帯電話１２と連携して、無線電話オペレータにより管理されている無線ネットワーク１４にアクセスする。そのためには、携帯電話１２は、ＩＳＯ７８１６接触型の第１の物理チャネル１１６を介してＡＰＤＵアプリケーションコマンドに関するデータをＩＣカードと交換する。ＩＳＯ７８１６接触型の第１の物理チャネル１１６は、従来、ＩＣカード１０の一面に配置される６つの電気的接点端子と、電話１２内に６つの対応する電気的接点端子とを使用する。
【００３４】
ＩＣカード１０はまた、携帯電話１２と連携して、交通機関オペレータにより管理されているリーダ端末１６を介して交通サービスにアクセスする。そのためには、リーダ端末１６は、いわゆるＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎの略）技術を使用する双方向性無線周波リンク１１２経由で携帯電話１２に交通チケットの支払の命令を送信する。
【００３５】
ＮＦＣ技術は、１３．５６ＭＨｚの周波数を使用する０から２０ｃｍの短距離の技術であることに留意すべきである。
【００３６】
電話１２は、交通チケットの支払の命令を受信し、それに応答するためにＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎの略）チップを含む。電話１２は、交通チケットの支払の命令をＩＣカード１０に転送し、複数のＡＰＤＵコマンドをＨＤＬＣ／ＨＣＩ（Ｈｉｇｈ−ｌｅｖｅｌ  Ｄａｔａ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ／Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃｅの略）通信プロトコルでカプセル化する。そのためには、接触型ＳＷＰ（Ｓｉｎｇｌｅ  Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌの略）の第２の物理チャネル１１８が使用される。第２の接触型ＳＷＰ物理チャネル１１８は、ＩＣカード１０上の１つの電気的接点端子と電話１２内に設けられた適合する１つの電気的接点端子とを使用して、ＡＰＤＵコマンドに関するデータを交換する。
【００３７】
ＩＣカード１０はまた、電話１２と連携して、ＵＳＢ型の第３の物理チャネル１２０を介してＩＣカード１０の１つ以上のメモリに記憶された、または記憶されるべきデータを交換する。このようにＩＣカード１０を使用して交換されたデータは、ＡＰＤＵコマンドに関連するデータでもある。第３のＵＳＢ物理チャネル１２０は、ＩＣカード上１０の２つの電気的接点端子と、携帯電話１２上の２つの適合する電気的接点端子とを使用する。
【００３８】
ＩＣカード１０は、３つの物理通信チャネル１１６、１１８、１２０を使用して外部からアクセス可能である。
【００３９】
本発明は、ＩＣカード１０の外部の要素とＡＰＤＵコマンドに関するデータを交換するために、場合により電話１２を介してＩＣカード１０により使用される上述したような物理通信チャネルだけに限定されないことは明らかである。例えば、以下の物理チャネルが挙げられる：
ＭＭＣ（Ｍｕｌｔｉｍｅｄｉａ  Ｃａｒｄの略）型の物理チャネル、
Ｉ２Ｃ（Ｉｎｔｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）型の物理チャネル、
ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ＆Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１型の物理チャネル、
Ｂｌｕｅｔｏｏｔｈ型の物理チャネル、および／または、
Ｚｉｇｂｅｅ（登録商標）型の物理チャネル。
【００４０】
本発明によれば、さまざまな物理チャネル各々からのＡＰＤＵコマンドを処理するためには、処理のために互いに競合する場合があるので、ＩＣカード１０は一連のコマンドの中の各アプリケーションコマンドに固有の優先レベルを定義して、その優先レベルに従って一連のコマンド内の各ＡＰＤＵコマンドの少なくとも一部を処理する。
【００４１】
一連のコマンドは、１つだけのＡＰＤＵコマンドからなる場合もあることに留意すべきである。
【００４２】
ＩＣカード１０は、後で受信される第２のＡＰＤＵコマンドよりも低い優先レベルの最初に受信された第１のＡＰＤＵコマンドの処理を開始した後、それぞれの優先レベルを比較し、２つのうち高い方の優先レベルを決定し、高い優先度を有するＡＰＤＵコマンドの処理を優先する。
【００４３】
一実施形態によれば、最高レベルの優先度は、最も高い値とする。例えば、４つのタイプのＡＰＤＵコマンドがある場合、最も高い優先度のレベルは４であり、最も低い優先度のレベルは１である。
【００４４】
一方、別の実施形態によれば、最高レベルの優先度は、最低値とする。例えば、４つのタイプのＡＰＤＵコマンドがある場合、最も高い優先度のレベルは１であり、最も低い優先度のレベルは４である。
【００４５】
優先レベルは、１つ以上のパラメータに従って定義される。
【００４６】
有利な特徴によれば、ＡＰＤＵコマンドの優先レベルは、ＡＰＤＵコマンドがＩＣカード１０によって受信された物理チャネルに依存する。
【００４７】
図２は、外部とＡＰＤＵコマンドに関するデータを交換できるＩＣカード１０の一実施形態を詳細な方法で示す図である。
【００４８】
ＩＣカード１０は、双方向バス２８を介して内部で互いにデータ交換を行うＩＣカード１０の全ての手段を特に管理制御するマイクロプロセッサ２２を有する。マイクロプロセッサ２２はまた、外部から受信されたＡＰＤＵコマンドに関する全てのデータを管理制御する。
【００４９】
ＡＰＤＵコマンドに関するデータを外部と交換するために、ＩＣカード１０は：
第１の物理チャネル１１６経由で電話１２と接触型通信するためのＩＳＯ７８１６準拠の第１のインタフェース２１２と、
第２の物理チャネル１１８経由で電話１２と接触型通信するためのＳＷＰ型の第２のインタフェース２１４と、
第３の物理チャネル１２０経由で電話１２と接触型通信するためのＵＳＢ型の第３のインタフェース２１６とを有する。
【００５０】
ＩＣカード１０は、一時的データおよび不変データをそれぞれ記憶するために揮発性メモリ２４と不揮発性メモリ２６とを有する。これらは、特にＩＣカード１０のハードウェアリソースおよびソフトウェアリソースを管理するオペレーティングシステムの固有のデータであり、ＩＣカード１０の内部動作に必要なさまざまなプログラムである。さらに、揮発性メモリ２４および不揮発性メモリ２６は、ＩＣカード１０により提供されるさまざまなアプリケーションに固有のデータを記憶する。
【００５１】
特に、ＩＣカード１０は、ユーザ識別、ユーザ認証、交通サービスへのアクセス、制限されたアクセスエリアへのアクセス、電子支払などのための知られているアプリケーションを使用する。
【００５２】
本発明によれば、オペレーティングシステムは、受信された一連のアプリケーションコマンドの各々に優先レベルを割り当てて、その（それらの）アプリケーションコマンドをすぐに処理するのかまたは処理を延期するのかを、処理中の別の一連のアプリケーションコマンドに対するその（それらの）アプリケーションコマンドの優先レベルに従って決定するソフトウェアモジュールを含む。
【００５３】
優先レベルの割り当ては、任意で、低い方の優先度の物理チャネルに関連付けられた優先遅延に依存し、この優先レベルにＡＰＤＵコマンドの送信後の応答時間が割り当てられる。
【００５４】
ソフトウェアモジュールは、ＩＣカードがアクセス可能な全ての物理チャネルに対してＡＰＤＵコマンドの優先レベルを定義するための命令プログラムを含む。このような定義プログラムは、ＩＣカード１０が工場でカスタマイズされており配送後定期的に更新される場合、例えば、ＯＴＡ（Ｏｖｅｒ  Ｔｈｅ  Ａｉｒ）で、場合によりＩＣカード１０により提供される新規アプリケーションの各々の更新と共に例えばロードされる。
【００５５】
その結果、ＩＣカード１０は、優先レベルの減少順に、すなわち、最も高い優先度のＡＰＤＵコマンドから最も低い優先度のＡＰＤＵコマンドの順に、ほぼ同時に受信されるＡＰＤＵコマンドを処理する。
【００５６】
同時に１つのタスクのみを処理する１つのマイクロプロセッサは、異なる実行スレッド間のタスクスケジューラによって、次々にその異なるスレッドを実行または処理するように切り替えられることに注目すべきである。このようなマイクロプロセッサは、時間分布を有するマルチ実行スレッドマイクロプロセッサと呼ばれる。
【００５７】
第１の実施形態によれば、マルチ実行スレッド型のオペレーティングシステムでは、１つの実行スレッドは各物理通信チャネルのＡＰＤＵコマンドに関するデータの通信専用であり、１つの実行スレッドはスケジューラによって設定された順序でのＡＰＤＵコマンドの処理専用である。
【００５８】
ＡＰＤＵコマンドに関するデータの通信用の各実行スレッドは、ＡＰＤＵコマンドの受信および関連する物理チャネル経由の対応する応答の送信を処理する。
【００５９】
通信実行スレッドにＡＰＤＵコマンドの受信が通知されるとすぐに、実行スレッドはスケジューラ経由で、コマンドがいつでも処理可能な状態にあるとの特定のメッセージをＡＰＤＵコマンド処理実行スレッドに送信する。
【００６０】
所与の物理チャネルの通信実行スレッドに関係するチャネル上でのＡＰＤＵコマンドの受信を通知するためには、インタラプトが生成されて、上記スレッドが関連データを記録し、適切なメッセージを送信してそのチャネルに関与する通信実行スレッドをウェイクさせる。
【００６１】
次に、ウェイクされた該物理チャネルの通信実行スレッドは、メッセージを処理し、そのメッセージをＡＰＤＵコマンド処理実行スレッドに送信する。ＡＰＤＵコマンド処理実行スレッドはスケジューラの制御下で受信されたＡＰＤＵコマンドを実行する。
【００６２】
スケジューラは、ＡＰＤＵコマンドの優先レベルにより設定された順序に従う。
【００６３】
ＡＰＤＵコマンド処理実行スレッドが通知されると、ＡＰＤＵコマンド処理実行スレッドは、受信したコマンドの優先レベルを決定し、ＡＰＤＵコマンドを実行または処理中でない場合、直近で受信されたＡＰＤＵコマンドをすぐに処理する。
【００６４】
一方、ＡＰＤＵコマンド処理実行スレッドが優先レベルを認識している別のＡＰＤＵコマンドの処理ですでにビジー状態で、受信されたばかりのＡＰＤＵコマンドも処理される状態にあると通知された場合、ＡＰＤＵコマンド処理実行スレッドは、２つのコマンドの優先レベルを比較し、高い方の優先レベルを識別する。処理中のＡＰＤＵコマンドが受信されたばかりのＡＰＤＵコマンドよりも高い優先度を有する場合、ＡＰＤＵコマンド処理実行スレッドは受信したばかりのＡＰＤＵコマンドの処理の前に、現在実行中の処理を継続し、完了させる。受信されたＡＰＤＵコマンドに関する応答が出される順序は、ＡＰＤＵコマンドが処理に入れられる順序と同じである。
【００６５】
それとは逆に、受信されたばかりのＡＰＤＵコマンドが処理中のＡＰＤＵコマンドよりも高い優先度を有する場合、実行スレッドは実行中のコマンドの処理を終了し、その処理から得られたデータが保存される。次に、スケジューラが介入して、ＡＰＤＵコマンド処理実行スレッドは受信されたばかりのより優先度の高いＡＰＤＵコマンドを処理する。その結果、最後に処理されたＡＰＤＵコマンドに続く実行中のＡＰＤＵコマンドと同じ物理チャネルからのＡＰＤＵコマンドの処理は、高い方の優先度を有するＡＰＤＵコマンドの処理の最後に先送りされる。最初に処理されたＡＰＤＵコマンドのために開始された処理の後のＡＰＤＵコマンド（複数可）の処理を再開するために、保存データが回復されて任意の処理の不一致を防ぐ。したがって、受信されたＡＰＤＵコマンドの応答が出される順序は、ＡＰＤＵコマンドが処理に入れられる順序は逆である。
【００６６】
第２の実施形態によれば、オペレーティングシステムは、マルチ実行スレッドシステムであり、１つの実行スレッドは全ての物理通信チャネルのＡＰＤＵコマンドに関するデータの通信専用であり、１つの実行スレッドはスケジューラによって設定される順序でのＡＰＤＵコマンドの処理専用である。
【００６７】
第２の実施形態は、全ての（数個ではない）物理チャネル専用の１つの通信実行スレッドのみがスケジューラの制御下でＡＰＤＵコマンド処理実行スレッドに対応するという点以外は、上述した第１の実施形態と同じである。
【００６８】
図３には、２つの物理通信チャネル各々から受信された複数のＡＰＤＵコマンドのＩＣカード１０による処理方法の一例のフローチャートが示されている。
【００６９】
ＡＰＤＵコマンドの処理は、ＡＰＤＵサーバのように動作する。
【００７０】
チャートは、ＩＳＯ７８１６準拠のチャネル１１６およびＨＣＩ型のチャネル１１８の２つの物理チャネルのうちの１つを介するＡＰＤＵコマンドの受信待機ループ３２で始まる。
【００７１】
第１のＡＰＤＵコマンドが受信された後、ＩＣカード１０は、関連する物理チャネルからの一連のＡＰＤＵコマンドの処理に割り当てられた優先レベルを決定する３４。
【００７２】
ＩＣカード１０は、第１のＡＰＤＵコマンドの処理を開始する３６。第１のＡＰＤＵコマンドは、同じ物理チャネルからの少なくとも１つの他のＡＰＤＵコマンドによって続けられ得る。
【００７３】
どの時点でも、別のＡＰＤＵコマンド、つまり第２のＡＰＤＵコマンドが、図２に関して上述したインタラプト機構の後に受信されてもよい。
【００７４】
第２のＡＰＤＵコマンドが第２のチャネルを介して受信されたかどうかを知るためにチェックが行われる３８。
【００７５】
第２のＡＰＤＵコマンドが第２のチャネル経由で受信される場合、システムは、第２のＡＰＤＵコマンドの優先レベルを決定する段階３１０に移る。
【００７６】
そうでない場合、つまり、ＡＰＤＵコマンドが別の物理チャネルから受信されない場合、システムは、第２のチャネルからの第１のＡＰＤＵコマンドの処理を継続する段階３２４に進む。
【００７７】
段階３２４では、第１のＡＰＤＵコマンドに関するデータが第１のＡＰＤＵコマンドの性質に従って続けられたものであるかどうかを知るためにテストが行われる。
【００７８】
次に、ＩＣカードは、第２のチャネルからの第２のＡＰＤＵコマンドが第１のチャネルからの第１のＡＰＤＵコマンドよりも高い優先度を有するかどうかを決定する３１２。
【００７９】
第２のチャネル上の任意の他のＡＰＤＵコマンドによって続けられる第２のＡＰＤＵコマンドが第１のチャネル上の第１のＡＰＤＵコマンドよりも優先度が高くない場合、システムは第１のチャネルからの第１のＡＰＤＵコマンドの処理に関する上述の段階３２４に移る。
【００８０】
第２のチャネルからの第２のＡＰＤＵコマンドが第１のチャネルに関する第１のＡＰＤＵコマンドよりも処理の優先度が高い場合、ＩＣカードは第２のチャネルからの第２のＡＰＤＵコマンドの処理を開始する３１４。
【００８１】
その後、ＩＣカードは、受信された（第２のチャネルに関する）第２のコマンドに固有のデータが、優先度に基づいて処理された第２のチャネルからの第２のＡＰＤＵコマンドの性質に従って受信されたものであるかどうかをチェックする３１６。
【００８２】
第２のコマンドに関するこのようなデータが受信される場合、ＩＣカードは、第２のチャネルの優先度限界が達成されたかどうかをテストする３１８。
【００８３】
任意の特徴によれば、優先度限界は、ＩＣカードにアクセスする各物理チャネルに対して定義される。優先度限界は、第１の物理チャネルに関するＡＰＤＵコマンドの処理よりも高い優先度を有し、すでに開始されている第２の物理チャネルの所定の数のＡＰＤＵコマンドにより決定される。
【００８４】
変形形態によれば、優先度限界は期間によって決定され、その期間中は第２のチャネルに関する一連のアプリケーションコマンドの処理がすでに開始されている第１のチャネルからの一連のアプリケーションコマンドの処理よりも高い優先度を有する。
【００８５】
別の変形形態によれば、第２のチャネルは、第１のチャネルに関する所定の数のアプリケーションコマンドの処理の間、低い優先度を有する物理チャネルになる。
【００８６】
別の変形形態によれば、第２の物理チャネルは、所定の期間、低い優先度の物理チャネルになる。
【００８７】
優先度限界が達成されなかった場合、システムは高い方の優先度の第２のチャネルからの第２のＡＰＤＵコマンドに関するデータを取得する段階３２０に移る。
【００８８】
一方、優先度限界が達成された場合、システムは第１のチャネルからのＡＰＤＵコマンドの処理に関するデータがあるかどうかをチェックする段階３２４の直前に戻る。
【００８９】
取得段階３２０では、高い方の優先度の第２のチャネルからの第２のコマンドに固有のデータが取り出される。
【００９０】
第２のチャネルに関する第２のＡＰＤＵコマンドのパラメータを提供するデータがないと予想される場合、システムは上述した段階３１６から段階３２２に直接進み、第２のＡＰＤＵコマンドに対する応答を送信する。
【００９１】
段階３２２では、ＩＣカードは第２の物理チャネルから受信された第２のＡＰＤＵコマンドに対する応答を同じチャネル経由で送信する。
【００９２】
ＩＣカードは、どの優先度限界も達成されない限り、高い方の優先度の第２のチャネルからの任意のＡＰＤＵコマンドの処理を繰り返す。そのためには、ＩＣカードは再度、第２のチャネルからの一連のＡＰＤＵコマンドの各ＡＰＤＵコマンドに対して第２のチャネルに関する新規の第２のＡＰＤＵコマンドの受信テストを実行する段階３８、新規の第２のＡＰＤＵコマンドに関連付ける優先レベルを決定する段階３１０、比較して最も高い優先度のチャネルを識別する段階３１２、第２のＡＰＤＵコマンドを処理する段階３１４、データ待機テストを実行する段階３１６、優先度限界の達成をテストする段階３１８、関連データを取得する段階３２０、および対応する応答を送信する段階３２２を実行する。
【００９３】
第２のチャネルからの各ＡＰＤＵコマンドに対して対応する応答が送信された後、ＩＣカードは一連のアプリケーションコマンドの前に開始された方の処理に切り替える。そのためには、ＩＣカードは第１のチャネルに関する一連の第１のＡＰＤＵコマンドの中のＡＰＤＵコマンドに関するデータの存在を確認する段階３２４に戻る。
【００９４】
第１のチャネルからのＡＰＤＵコマンドのパラメータを提供するデータがないと予想される場合、システムは段階３２８に移り第１のチャネル経由でＡＰＤＵコマンドに対する応答を送信する。
【００９５】
第１のＡＰＤＵコマンドに関するデータが関連するＡＰＤＵコマンドの性質によるものであると予想される場合、ＩＣカードは第１のチャネルに関するＡＰＤＵコマンドのパラメータを提供する対応データを受信する３２６。
【００９６】
これが適用されると、第１のチャネル経由で第１のチャネルに関する第１のＡＰＤＵコマンドに対する応答の送信後、ＩＣカードは、第１のチャネルの別の第１のＡＰＤＵコマンドの受信を待機する最初の段階３２に戻る。
【００９７】
第２のチャネル経由で受信された一連のＡＰＤＵコマンドの中の各ＡＰＤＵコマンド（第２のチャネルの処理のために設定された優先度限界があるために少なくとも一部のＡＰＤＵコマンド）と、第１のチャネル経由で受信された一連のＡＰＤＵコマンドの中の各コマンドとが、それぞれのチャネルで一致する応答を送信した後、受信されたＡＰＤＵコマンドの処理は、第１または第２の物理チャネルのコマンドの次の受信までに完了する。
【００９８】
上述のプロセスは、２つの物理通信チャネルのみを含む。
【００９９】
当業者であれば、発明力に関わらず、３つ以上の多くの物理チャネルで上述のプロセスを実装可能であることは明らかである。
【０１００】
上述の方法を説明するために、ＩＳＯ７８１６接触型の第１の物理チャネル１１６と、アプリケーションレベルのＨＣＩ通信プロトコルを使用する第２のＳＷＰ物理チャネル１１８とが適用される。
【０１０１】
第１のＩＳＯ７８１６型の物理チャネルからのＡＰＤＵコマンドは、コマンドが最初に受信され、その後に第２の段階でコマンドパラメータデータが受信されるコマンドの性質を定義するヘッダを有することを留意すべきである。このような第１のＩＳＯ７８１６型の物理チャネルからのＡＰＤＵコマンドは、データの２つの別個の部分で受信される。
【０１０２】
第２のＨＣＩ物理チャネルからのＡＰＤＵコマンドは、同時にコマンドパラメータデータによって続けられるコマンドの性質をさらに定義するヘッダを有することを留意すべきである。
【０１０３】
第２のＩＳＯ７８１６（ＨＣＩ？）物理チャネルからのこのようなＡＰＤＵコマンドは、データの１つのブロックのみで受信される。
【０１０４】
ＩＣカードは、ＨＣＩ物理チャネルからのＡＰＤＵコマンドの処理がＩＳＯ７８１６物理チャネルからのＡＰＤＵコマンドの処理よりも高い優先度を有すると定義した。
【０１０５】
そのためには、ＨＣＩ物理チャネルからの各ＡＰＤＵコマンドは優先度２を有し、ＩＳＯ物理チャネルからの各コマンドは優先度１を有する。
【０１０６】
ＩＣカードは、まずＩＳＯ７８１６物理チャネル経由で第１のＡＰＤＵコマンドを受信し、その処理を開始する。第１のＡＰＤＵコマンドは、例えば、ＩＳＯ７８１６チャネル経由で送信され、ＩＣカードにより受信された一連のコマンドのＰＩＮ番号を照合する単一のコマンドである。
【０１０７】
その前に、ＩＣカードのユーザは、カード所有者の認証に必要なアプリケーションを開始した。ユーザは、このようにしてコマンドのパラメータデータに、ＩＳＯ７８１６リーダにより送信された番号と一致するように表された番号を入力した。番号を入力することで、ＩＳＯ７８１６物理チャネル経由で第１のＰＩＮ照合ＡＰＤＵコマンドがリーダにより送信された。
【０１０８】
第２の段階で、ＩＣカードは第２のＡＰＤＵコマンドを受信する。
【０１０９】
第２のＡＰＤＵコマンドは、「交通チケット」という名前のファイルを選択するコマンドからなる。「交通チケット」は、コマンドのパラメータを提供するデータである。第２のＡＰＤＵコマンドは、例えば、第２のＨＣＩ物理チャネルからの処理される一連の３つのＡＰＤＵコマンドの中の第１のＡＰＤＵコマンドである。
【０１１０】
ＩＣカードは、まず第１および第２のチャネルから受信されたＡＰＤＵコマンドの優先レベルを比較して、優先度に基づいて第２のチャネルからのＡＰＤＵコマンドを処理しなければならないことを認識する。
【０１１１】
ＩＣカードは、最初にヘッダ内で受信した第１のＡＰＤＵコマンドを実行する。
【０１１２】
次に、ＩＣカードは、ＨＣＩプロトコルを使用する物理チャネルからの「交通チケット」ファイル選択コマンドを処理する。このコマンドが実行されると、ＩＣカードは第２のＳＷＰチャネル経由で、ＩＣカードが認識処理したファイル選択コマンドを有効に処理したことを確認するＯＫメッセージの形で応答を送信する。
【０１１３】
次に、ＩＣカードは、第２のチャネルを介して第２の優先度の高いチャネルからの別のコマンドを受信する。このコマンドはファイルを読み出すコマンドからなる。ＩＣカードは、第２のＳＷＰチャネル経由で選択ファイル内の「３つのユニット」があるとの応答を送信する。
【０１１４】
次に、ＩＣカードは、第２のチャネルの別のコマンドを受信する。このコマンドは、選択ファイル内の「２つのユニット」を書き込むコマンドからなる。その後、カードは非接触型のトランザクションを継続する。
【０１１５】
第２のＳＷＰ物理チャネルで、カードは、直近で処理された書き込みコマンドを有効に実行し、１つのクレジットユニットを削除して、交通チケットを有効にしたことを確認するＯＫメッセージの形で応答を返信する。
【０１１６】
その間に、優先度の高い方の第２のＨＣＩチャネルからのＡＰＤＵコマンドの処理の開始からの待機時間ごとに、ＩＣカードはＩＳＯ７８１６物理チャネルの少なくとも１つの待機コマンドを送信し、この場合はＰＩＮ照合の第１のＡＰＤＵコマンドに関するデータの送信を先送りする。
【０１１７】
その後、ＳＷＰ物理チャネルで受信された３つＡＰＤＵコマンドが処理されると、ＩＣカードはＩＳＯ７８１６物理チャネルで受信される第１のＡＰＤＵコマンドの第２の部分の処理に戻る。
【０１１８】
ＩＣカードは、第１のＩＳＯ７８１６物理チャネルからのコマンドの処理に切り替えて、ＩＳＯ７８１６物理チャネルで進行中の１つのコマンドを処理する。
【０１１９】
第１のＩＳＯ７８１６物理チャネルで、ＩＣカードは、ＰＩＮ照合コマンドを有効に実行したことを確認するＯＫメッセージの形で応答を送信する。
【０１２０】
ＩＣカードは、その後、第１のＩＳＯ７８１６物理チャネル経由でＰＩＮ照合コマンドの第２の部分をコマンドのパラメータを提供するデータと共に受信する。
【０１２１】
ＩＣカードは、ＰＩＮ照合コマンドデータを処理する。
【０１２２】
受信されたデータがＰＩＮコードとしてユーザにより入力されたものである場合、ＩＣカードは第１のＩＳＯ７８１６物理チャネル経由で、ＰＩＮ番号が正しいことを確認するＯＫメッセージの形で応答を送信する。
【図１】
0005758120.tif 000002
【図２】
0005758120.tif 000003
【図３】
0005758120.tif 000004