(57)【特許請求の範囲】
【請求項１】
外部装置との通信を行う複数の通信手段と、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、
この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段と、
を有する携帯可能電子装置。
【請求項２】
前記判定手段は、前記第１のコマンドの内容として、前記第１のコマンドの種別、あるいは、前記第１のコマンドの指定パラメータに基づいて、前記第２のコマンドに対する処理方法を判定する、
前記請求項１に記載の携帯可能電子装置。
【請求項３】
外部装置との通信を行う複数の通信手段と、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容および前記第２のコマンドの種別に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、
この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段と、
を有する携帯可能電子装置。
【請求項４】
前記判定手段は、前記第１のコマンドと前記第２のコマンドとの組合せとして、前記第１のコマンドの種別あるいは前記第１のコマンドの指定パラメータと、前記第２のコマンドの種別あるいは前記第２のコマンドの指定パラメータとに基づいて、前記第２のコマンドに対する処理方法を判定する、
前記請求項３に記載の携帯可能電子装置。
【請求項５】
前記判定手段は、処理方法の１つとして、前記第２のコマンドの受付けを不可するか否かを判定し、
前記処理手段は、前記判定手段により前記第２のコマンドの受付を不可とすると判定された場合、前記第２の通信手段により前記第２のコマンドの送信元に対して前記第２のコマンドが処理不可である旨を送信する、
前記請求項１乃至４の何れか１項に記載の携帯可能電子装置。
【請求項６】
前記判定手段は、処理方法の１つとして、前記第１のコマンドの処理を中断して第２のコマンドを実行するか否かを判定し、
前記処理手段は、前記判定手段により前記第１のコマンドの処理を中断して前記第２のコマンドを実行すると判定された場合、前記第１のコマンドに対する処理を中断し、前記第２のコマンドに対する処理を実行する、
前記請求項１乃至５の何れか１項に記載の携帯可能電子装置。
【請求項７】
前記判定手段は、処理方法の１つとして、前記第２のコマンドを実行待ち状態とするか否かを判定し、
前記処理手段は、前記判定手段により前記第２のコマンドを実行待ち状態とすると判定された場合、前記第１のコマンドの処理が完了した後に、前記第２のコマンドに対する実行する、
前記請求項１乃至６の何れか１項に記載の携帯可能電子装置。
【請求項８】
外部装置との通信を行う複数の通信手段を有し、それらの通信手段により外部装置から受信したコマンドに応じた処理を行う携帯可能電子装置に用いられるコマンド処理方法であって、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受付け、
前記第１の通信手段により受信した第１のコマンドを処理中に前記第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定し、
この判定した処理方法に基づいて前記第２のコマンドを処理する、
携帯可能電子装置におけるコマンド処理方法。
【請求項９】
外部装置との通信を行う複数の通信手段を有し、それらの通信手段により外部装置から受信したコマンドに応じた処理を行う携帯可能電子装置に用いられるコマンド処理方法であって、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受付け、
前記第１の通信手段により受信した第１のコマンドを処理中に前記第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容および前記第２のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定し、
この判定した処理方法に基づいて前記第２のコマンドを処理する、
携帯可能電子装置におけるコマンド処理方法。
【請求項１０】
外部装置との通信を行う複数の通信手段と、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段とを具備するモジュールと、
前記モジュールを具備する本体と、
を有するＩＣカード。
【請求項１１】
外部装置との通信を行う複数の通信手段と、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容および前記第２のコマンドの種別に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段とを具備するモジュールと、
前記モジュールを具備する本体と、
を有するＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、たとえば、種々の通信方式で外部装置とのデータ通信を行うための複数の外部インターフェースとＣＰＵなどの制御素子とを有するＩＣカードなどの携帯可能電子装置および携帯可能電子装置におけるコマンド処理方法に関する。
【背景技術】
【０００２】
近年、複数の外部インターフェースを有するＩＣカードが提案されている。たとえば、物理的に外部装置と接触してデータ通信を行う接触型のＩＣカードにおいては、複数のＩ／Ｏ端子により複数種類の通信を行うことが可能なものがある。具体例として、ＩＳＯ／ＩＥＣ７８１６シリーズでは、Ｃ７（Ｉ／Ｏ）、Ｃ６（ＳＰＵ  Ｉ／Ｏ）、Ｃ４＋Ｃ８（ＡＵＸ１＋ＡＵＸ２）の３種類のＩ／Ｏ端子が規定されている。このような場合、複数のＩ／Ｏ端子による外部装置との同時接続が想定される。
【０００３】
しかしながら、現状では、同時期に複数のＩ／Ｏ端子で受信した複数のコマンドに対する各処理をどのように実行すべきであるかは、規定されていない。つまり、あるＩ／Ｏ端子で受信した第１のコマンドに対する処理を実行中に別のＩ／Ｏ端子で第２のコマンドを受信した場合、第２のコマンドに対してどのように処理するべきかは明確な規定がない。このため、異なる通信方式で通信可能な複数のＩ／Ｏ端子を有するＩＣカードでは、同時期に複数のＩ／Ｏ端子で別々に受信した各コマンドに対して最適な処理を実現するものが要望されている。
【非特許文献１】ＩＳＯ／ＩＥＣ７８１６
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の一形態では、上記のような問題点を解決するものであり、複数の外部インターフェースを有する場合であっても、各外部インターフェースで受信した複数のコマンドに対する処理を効率的に実施することができる携帯可能電子装置および携帯可能電子装置におけるコマンド処理方法を提供することを目的する。
【課題を解決するための手段】
【０００６】
この発明の一形態としての携帯可能電子装置は、外部装置との通信を行う複数の通信手段と、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段とを有する。
【０００７】
この発明の一形態としての携帯可能電子装置は、外部装置との通信を行う複数の通信手段と、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容および前記第２のコマンドの種別に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段とを有する。
【００１０】
この発明の一形態としての携帯可能電子装置におけるコマンド処理方法は、外部装置との通信を行う複数の通信手段を有し、それらの通信手段により外部装置から受信したコマンドに応じた処理を行うための携帯可能電子装置に用いられる方法であって、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受付け、前記第１の通信手段により受信した第１のコマンドを処理中に前記第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定し、この判定した処理方法に基づいて前記第２のコマンドを処理する。
【００１１】
この発明の一形態としての携帯可能電子装置におけるコマンド処理方法は、外部装置との通信を行う複数の通信手段を有し、それらの通信手段により外部装置から受信したコマンドに応じた処理を行う携帯可能電子装置に用いられる方法であって、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受付け、前記第１の通信手段により受信した第１のコマンドを処理中に前記第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容および前記第２のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定し、この判定した処理方法に基づいて前記第２のコマンドを処理する。
【発明の効果】
【００１３】
この発明の一形態によれば、複数の外部インターフェースで受信した複数のコマンドに対する処理を効率的に実施することができる携帯可能電子装置及び携帯可能電子装置の制御方法を提供できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について図面を参照して説明する。  
図１は、本実施の形態に係るＩＣカードシステムおよびＩＣカードの構成例を概略的に示すものである。  
図１に示すＩＣカードシステムは、外部装置１とＩＣカード２とから構成されている。上記ＩＣカード２は、上記外部装置１からの処理要求（コマンド）に応じて種々の処理を行うようになっている。また、上記ＩＣカード２と外部装置１とは、複数の通信方式によるデータ通信を行うためのインターフェースをそれぞれ具備しているものとする。また、図１に示す例では、ＩＣカード２は、複数の入出力端子（Ｉ／Ｏ端子）からなるコンタクト部を有する接触型のＩＣカードである。これらの端子では、それぞれ種々の通信方式により外部装置との通信が可能となっているものとする。
【００１５】
次に、ＩＣカード２の構成について説明する。  
図１に示す構成例では、上記ＩＣカード２は、制御素子２１、プログラムメモリ２２、ワーキングメモリ２３、データメモリ２４、接触部２５などを有している。また、上記ＩＣカード２は、カード状の本体２ａ内に、制御素子２１、プログラムメモリ２２、ワーキングメモリ２３、データメモリ２４、コンタクト部２５を有するモジュール２ｂが内蔵されている。上記モジュール２ｂは、１つあるいは複数のＩＣチップなどにより構成されている。上記モジュール２ｂは、上記コンタクト部２５が本体２ａの表面に露出するように本体２ａ内に埋設されている。
【００１６】
上記制御素子２１は、当該ＩＣカード２全体の制御を司るものである。上記制御素子２１は、ＣＰＵなどにより構成される。上記制御素子２１は、上記プログラムメモリ２２あるいは上記データメモリ２４に記憶されているプログラムを実行することにより種々の機能を実現している。
【００１７】
上記プログラムメモリ２２は、たとえば、マスクＲＯＭ（リード・オンリ・メモリ）などの書換え不可能な固定メモリで構成されている。上記プログラムメモリ２２は、上記制御素子にＩＣカードとしての各種の基本的な処理を実行させるためのサブルーチンを備えた制御プログラムや制御データなどを記憶している。たとえば、上記プログラムメモリ２２には、外部装置１から与えられるコマンドに応じた処理を実現するためのプログラムなどが記憶されている。また、上記プログラムメモリ２２には、あるＩ／Ｏ端子で受信したコマンドの処理を実行中に別のＩ／Ｏ端子で受信したコマンドに対する処理方法を判定するための処理判定テーブル２２ａを有している。なお、上記処理判定テーブル２２ａは、上記データメモリ２４に設けるようにしても良い。
【００１８】
上記ワーキングメモリ２３は、制御素子２１が処理を行なう際の処理データなどを一時的に保持するための作業用メモリである。上記ワーキングメモリ２３は、たとえば、ＲＡＭ（ランダム・アクセス・メモリ）などの揮発性メモリで構成されている。
【００１９】
上記データメモリ２４は、書換え可能な不揮発性メモリで構成される。たとえば、上記データメモリ２４は、ＥＥＰＲＯＭ（エレクトリカリ・イレーザブル・アンド・プログラマブル・リード・オンリ・メモリ）あるいはフラッシュＲＯＭなどの書換え可能な不揮発性メモリで構成される。上記データメモリ２４には、各種のデータが記憶される。たとえば、上記データメモリ２４には、当該ＩＣカード２の運用形態に応じたデータなどが記憶される。
【００２０】
上記コンタクト部２５は、外部装置１と物理的に接触してデータ通信を行うためのインターフェース部である。上記コンタクト部２５は、それぞれ異なる通信方式で外部とのデータ通信（データの入出力）を行うための複数のＩ／Ｏ端子を有している。たとえば、図１に示す例では、Ｉ／Ｏ端子Ｃ６は、ＳＷＰ（シングルワイヤープロトコル）と呼ばれる通信方式による通信を行うインターフェースとして用いられる。Ｉ／Ｏ端子Ｃ７は、シリアル通信を行うためのインターフェースとして用いられる。Ｉ／Ｏ端子Ｃ４及びＣ８は、ＵＳＢ（ユニバーサル・シリアル・バス）と呼ばれる接続方式による通信を行うためのインターフェースとして用いられる。また、たとえば、Ｉ／Ｏ端子Ｃ２及びＣ３には、非接触型ＩＣカードとしての通信を行うためのアンテナが接続されるようにしても良い。この場合、Ｉ／Ｏ端子Ｃ２及びＣ３は、非接触型ＩＣカードとしての通信を行うためのインターフェースとして用いられる。
【００２１】
次に、上記外部装置１から上記ＩＣカード２に与えられるコマンドのフォーマット例について説明する。  
図２は、コマンドのフォーマットの例として、データの書込みを要求するコマンドの構成例を示している。なお、図２に示すコマンドのフォーマットは、ＩＳＯ／ＩＥＣ７８１６で規定されているものである。
【００２２】
図２に示す例では、ＩＣカード２に与えられるコマンドは、「ＣＬＡ」部、「ＩＮＳ」部、「Ｐ１」部、「Ｐ２」部、「Ｌｃ」部、「Ｄａｔａ」部などにより構成される。上記「ＣＬＡ」部及び「ＩＮＳ」部は、コマンドの種別（処理内容）を示すコード情報（ＣＬＡ／ＩＮＳコード）が格納される。「ＣＬＡ」コードは準拠する規格などを指定するコード情報である。また、「ＩＮＳ」コードは実行すべき種別（処理内容）を指定するコード情報である。たとえば、図２に示すようなＩＮＳコードが「ＤＣ」である場合、当該コマンドはデータの書込みを要求するコマンドであることを示している。
【００２３】
上記「Ｐ１」部及び「Ｐ２」部には、処理に関わるパラメータを示す情報がセットされる。たとえば、「Ｐ１」及び「Ｐ２」では、アクセスすべきレコードあるいはオフセット値などのアクセスすべき情報を指定するための情報がセットされる。すなわち、図２に示すフォーマットのコマンドに対しては、ＣＬＡ／ＩＮＳコードで指定される処理を、「Ｐ１」及び「Ｐ２」で指定されるパラメータに従って実行するようになっている。また、「Ｌｃ」部には、「Ｄａｔａ」部の長さを示す情報がセットされる。「Ｄａｔａ」部には、書込みデータあるいは書換えデータなどが格納される。従って、図２に示すコマンドは、「Ｐ１」部及び「Ｐ２」部で指定する領域に対して、「Ｄａｔａ」部に格納されているデータを書込む処理を要求するものである。なお、例えば、リード系のコマンドなどの「Ｄａｔａ」が不要なコマンドでは「Ｄａｔａ」が省略される。
【００２４】
次に、上記処理判定テーブル２２ａについて説明する。  
上記処理判定テーブル２２ａは、ある通信方式のＩ／Ｏ端子で受信したコマンドを実行中に別の通信方式のＩ／Ｏ端子でコマンドを受信した場合の処理方法を規定するものである。たとえば、シリアルＩ／Ｏ（Ｃ７）で受信した第１のコマンドを実行中にＳＷＰ（Ｃ６：ＳＰＵ  Ｉ／Ｏ）で第２のコマンドを受信した場合、第２のコマンドに対する処理は、処理判定テーブル２２ａで規定されている処理方法に基づいて実行される。従って、処理判定テーブル２２ａでは、第１のコマンドの内容、あるいは、第２のコマンドの内容、あるいは、第１のコマンドと第２のコマンドとの組合せに対応づけて、処理内容を示す情報が格納される。
【００２５】
図３は、処理判定テーブル２２ａの第１の構成例を示す図である。  
図３に示す処理判定テーブル２２ａでは、第２のコマンドの内容に対応づけて、第２のコマンドに対する処理方法を示す情報が格納されている。つまり、図３に示す処理判定テーブル２２ａでは、あるＩ／Ｏ端子で受信したコマンド（第１のコマンド）を実行中に別のＩ／Ｏ端子でコマンド（第２のコマンド）を受信した場合に、第２のコマンドに対する処理方法を、第２のコマンドの内容に基づいて判定するための情報が記憶されている。たとえば、シリアルＩ／Ｏ（Ｃ７）で受信したコマンド（第１のコマンド）を実行中にＳＷＰ（Ｃ６）でコマンド（第２のコマンド）を受信した場合、第２のコマンドに対する処理方法は、当該第２のコマンドの内容に対応づけて処理判定テーブル２２ａに記憶されている処理方法が採用される。
【００２６】
また、図３に示す例では、第２のコマンドの内容を示す情報はＣＬＡ／ＩＮＳコード（処理内容を示す情報）である。ただし、処理判定テーブル２２ａにおいて、受信した第２のコマンドの内容を示す情報は、「Ｐ１」及び「Ｐ２」部のデータ（処理パラメータ）であっても良いし、ＣＬＡ／ＩＮＳコードと「Ｐ１」及び「Ｐ２」のパラメータとの組合せであっても良いし、第２のコマンドのアクセス対象となるデータであって良いし、第２のコマンドのアクセス対象となるデータとそのデータに対する処理内容との組合せであっても良い。なお、図３に示す例では、処理判定テーブル２２ａでは、第２のコマンドのＣＬＡ／ＩＮＳコード（処理内容を示す情報）に対応づけて、第２のコマンドの処理方法を示す情報が格納されている。
【００２７】
また、第２のコマンドの内容に応じた、第２のコマンドに対する処理方法の設定例としては、以下の（１−１）、（１−２）、（１−３）のような設定が考えられる。
【００２８】
（１−１）第２のコマンドを処理受付不可と設定される第２のコマンドの例としては、いつでも処理可能なコマンドが想定される。つまり、アクセス条件がなく、コマンド処理が以降のコマンド処理に影響を与えないコマンドが考えられる。
【００２９】
（１−２）第２のコマンドを実行待ち行列に追加すると設定される第２のコマンドの例としては、コマンド処理は即実行しなくとも良いが、コマンド処理が以降のコマンド処理に影響を与えるコマンドが考えられる。
【００３０】
（１−３）実行中のコマンド処理を中断して直に第２のコマンドを実行すると設定される第２のコマンドの例としては、現時点で即コマンド処理を実施すべきコマンドが考えられる。たとえば、金融アプリケーションのユーザが取引を実施するコマンドなどが想定される。
【００３１】
図４は、処理判定テーブル２２ａの第２の構成例を示す図である。  
図４に示す処理判定テーブル２２ａでは、実行中のコマンド（第１のコマンド）を示す情報に対応づけて、第２のコマンドに対する処理方法を示す情報が格納されている。つまり、図４に示す処理判定テーブル２２ａでは、あるＩ／Ｏ端子で受信したコマンド（第１のコマンド）を実行中に別のＩ／Ｏ端子でコマンド（第２のコマンド）を受信した場合に、第２のコマンドに対する処理方法を、第１のコマンドの内容に基づいて判定するための情報が格納されている。たとえば、シリアルＩ／Ｏ（Ｃ７）で受信したコマンド（第１のコマンド）を実行中にＳＷＰ（Ｃ６）でコマンド（第２のコマンド）を受信した場合、第２のコマンドに対する処理方法は、実行中の第１のコマンドの内容に対応づけて処理判定テーブル２２ａに記憶されている処理方法が採用される。
【００３２】
また、図４に示す処理判定テーブル２２ａにおいて、第１のコマンドの内容を示す情報は、ＣＬＡ／ＩＮＳコード（処理内容を示す情報）であっても良いし、「Ｐ１」及び「Ｐ２」部のデータ（処理パラメータ）であっても良いし、ＣＬＡ／ＩＮＳコードと「Ｐ１」及び「Ｐ２」のパラメータとの組合せであっても良いし、第１のコマンドのアクセス対象となるデータであって良いし、第１のコマンドのアクセス対象となるデータとそのデータに対する処理内容を示す情報との組合せであっても良い。
【００３３】
また、第１のコマンドの内容に応じた、第２のコマンドに対する処理方法の設定例としては、以下の（２−１）、（２−２）、（２−３）のような設定が考えられる。
【００３４】
（２−１）第２のコマンドを処理受付不可とすると設定される第１のコマンドの例としては、コマンドの処理時間が不定なコマンド、不揮発性メモリの状態を変化させるコマンドなどが考えれられる。コマンドの処理時間が不定なコマンドでは、第１のコマンドの処理時間が不定のため、第２のコマンドの待ち時間が不定となるためである。また、不揮発性メモリの状態を変化させるコマンドは、処理を中止するとメモリ内のデータが中度半端な状態となってしまう可能性がある。たとえば、書込みコマンドなどを中断させると、データ列の書込みが中度半端な状態となってしまう。このため、書込みコマンドなどの不揮発性メモリの状態を変化させる第１のコマンドは、第２のコマンドの処理受付を不可する。
【００３５】
（２−２）第２のコマンドを実行待ち行列に追加すると設定される第１のコマンドの例としては、コマンドの処理時間が一定（第２のコマンドの通信で待ち時間に影響がない範囲）で、コマンド処理が以降のコマンド処理に影響を与えるコマンドが考えられる。これは、第１のコマンドの処理時間が一定であれば、第２のコマンドの待ち時間が確定し、安全な処理が可能であるためである。
【００３６】
（２−３）実行中のコマンド処理を中断して直に第２のコマンドを実行すると設定される第１のコマンドの例としては、いつでも処理が可能なコマンドが考えられる。つまり、アクセス条件がなく、コマンド処理が以降のコマンド処理に影響を与えないコマンドが想定される。たとえば、読出しコマンドなどのような不揮発性メモリ内のデータに変化を与えないようなコマンドは、中断後も再度実行可能である。このため、不揮発性メモリ内のデータに変化を与えないような第１のコマンドは、第２のコマンドを優先して実行するような運用が可能である。
【００３７】
図５は、処理判定テーブル２２ａの第３の構成例を示す図である。  
図５に示す処理判定テーブル２２ａでは、実行中のコマンド（第１のコマンド）を示す情報と受信したコマンド（第２のコマンド）を示す情報に対応づけて、第２のコマンドに対する処理方法を示す情報が格納されている。つまり、図５に示す処理判定テーブル２２ａでは、あるＩ／Ｏ端子で受信したコマンド（第１のコマンド）を実行中に別のＩ／Ｏ端子でコマンド（第２のコマンド）を受信した場合に、第２のコマンドに対する処理方法を、第１のコマンドおよび第２のコマンドの内容に基づいて判定するための情報が格納されている。たとえば、シリアルＩ／Ｏ（Ｃ７）で受信したコマンド（第１のコマンド）を実行中にＳＷＰ（Ｃ６）でコマンド（第２のコマンド）を受信した場合、第２のコマンドに対する処理方法は、第１のコマンド及び第２のコマンドの内容に対応づけて処理判定テーブル２２ａに記憶されている処理方法が採用される。
【００３８】
また、図５に示す処理判定テーブル２２ａにおいて、第１のコマンドの内容を示す情報は、ＣＬＡ／ＩＮＳコード（処理内容を示す情報）、「Ｐ１」及び「Ｐ２」部のデータ（処理パラメータ）、ＣＬＡ／ＩＮＳコードと「Ｐ１」及び「Ｐ２」との組合せ、アクセス対象となるデータ、あるいは、アクセス対象となるデータとそのデータに対する処理内容を示す情報との組合せなどが想定される。同様に、図５に示す処理判定テーブル２２ａにおいて、第２のコマンドの内容を示す情報は、ＣＬＡ／ＩＮＳコード（処理内容を示す情報）、「Ｐ１」及び「Ｐ２」部のデータ（処理パラメータ）、ＣＬＡ／ＩＮＳコードと「Ｐ１」及び「Ｐ２」のパラメータとの組合せ、アクセス対象となるデータ、あるいは、アクセス対象となるデータとそのデータに対する処理内容を示す情報との組合せなどが想定される。これらの情報の組合せにより、図５に示すような処理判定テーブル２２ａでは、第１のコマンドの内容および第２のコマンドの内容を特定するような情報が格納され、それらの情報に対応して第２のコマンドに対する処理方法を示す情報が格納されている。
【００３９】
なお、第１のコマンド及び第２のコマンドの組合せに応じた、第２のコマンドに対する処理方法の設定例としては、上述した（１−１）、（１−２）、（１−３）のコマンドと、（２−１）、（２−２）、（２−３）のコマンドとの組合せが考えられる。これらの第１のコマンドと第２のコマンドとの組合せについては、各コマンドの処理の特徴あるいは運用形態などに応じて設定が可能である。
【００４０】
また、図３、図４あるいは図５で示すような処理判定テーブル２２ａは、ＩＣカード２がサポートしている通信方式の数あるいは種類に応じて、以下のような設計方法が可能である。
【００４１】
まず、上記処理判定テーブル２２ａは、各通信方式のＩ／Ｏ端子ごとに設定することが可能である。たとえば、シリアルＩ／ＯとＳＷＰとを有するＩＣカードでは、シリアルＩ／Ｏで受信したコマンドを実行中にＳＷＰで受信したコマンドに対する処理を判定するためのＳＷＰ用の処理判定テーブルと、ＳＷＰで受信したコマンドを実行中にシリアルＩ／Ｏで受信したコマンドに対する処理方法を判定するためのシリアルＩ／Ｏ用の処理判定テーブルとを設けるようにしても良い。また、３つ以上の通信方式をサポートしているＩＣカードでは、各通信方式用の処理判定テーブルをそれぞれ設けるようにしても良い。
【００４２】
さらに、３つ以上の通信方式をサーボートしているＩＣカードでは、各通信方式用の処理判定テーブルとして、他の通信方式に対応する処理判定テーブルをそれぞれ設定するようにしても良い。たとえば、第１、第２、第３の通信方式をサポートしている場合、第１の通信方式用の処理判定テーブルとして、第２の通信方式に対する第１の通信方式用のテーブルと第３の通信方式に対する第１の通信方式用のテーブルとを設けるようにしても良い。ここで、第２（第３）の通信方式に対する第１の通信方式用のテーブルとは、第２（第３）の通信方式で受信したコマンドを実行中に第１の通信方式で受信したコマンドに対する処理方法を判定するためのテーブルであることを意味している。このように、３つ以上の通信方式をサポートする場合、各通信方式の相互関係に応じて、各通信方式に対する処理判定テーブルをそれぞれ設けることにより、各通信方式に対する優先度などに応じた最適な処理方法の設定が可能となる。
【００４３】
次に、上記のようなＩＣカード２におけるコマンド処理の流れについて説明する。  
上述したような複数の通信方式による通信が可能な複数のＩ／Ｏ端子を有するＩＣカード２では、各通信方式によりコマンドが受信可能となっている。たとえば、上記ＩＣカード２は、１つの通信方式で受信したコマンドの処理を実行中であっても、別の通信方式でコマンドが受信可能となっている。また、ＩＣカード２では、ある通信方式のＩ／Ｏ端子で受信したコマンドに対する処理が完了するまで、そのＩ／Ｏ端子では次のコマンドを受信しないようになっているものとする。
【００４４】
すなわち、上記ＩＣカード２では、ある通信方式で受信したコマンドを実行中に同じ通信方式で別のコマンドを受信することはないが、ある通信方式で受信したコマンドの実行中に別の通信方式で別のコマンドを受信することが可能であるもとする。たとえば、ＩＣカード２が、Ｉ／Ｏ端子（Ｃ７）でシリアルＩ／Ｏによる通信機能とＩ／Ｏ端子（Ｃ６）でＳＷＰによる通信機能とをサポートする場合を想定する。このような場合、ＩＣカード２では、シリアルＩ／Ｏ（Ｃ７）で受信したコマンドを実行中であっても、ＳＷＰ（Ｃ６）でコマンドを受信することが可能となっている。
【００４５】
以下の説明では、説明を簡単化するため、ＩＣカード２が第１の通信手段としてのシリアルＩ／Ｏ（Ｃ７）と第２の通信手段としてのＳＷＰ（Ｃ６）とを有しているものとする。また、ここでは、ＩＣカード２が、ＳＷＰ（Ｃ６）で受信したコマンドに対する処理を行う場合を想定して説明するものとする。  
なお、以下に説明する処理例は、同時期に複数の通信方式でコマンドを受信可能なＩＣカードに適用できるものである。たとえば、ＩＣカード２が、さらに、ＵＳＢ（Ｃ４＋Ｃ８）などの別の通信手段を具備している場合であっても図６に示すような処理が実現可能である。また、以下の説明におけるシリアルＩ／Ｏ（Ｃ７）とＳＷＰ（Ｃ６）とを置き換えても同様な処理が実現可能である。
【００４６】
図６は、ＩＣカード２におけるコマンド処理の流れを説明するためのフローチャートである。  
まず、ＩＣカード２のコンタクト部２５において何れかのＩ／Ｏ端子（ここではＳＷＰ（Ｃ６）とする）がコマンド受信待ちの状態であるものとする（ステップＳ１０）。この状態においてＳＷＰ（Ｃ６）で外部装置１からのコマンド（第２のコマンド）を受信した場合（ステップＳ１１）、制御素子２１は、別の通信方式のＩ／Ｏ端子（ここではシリアルＩ／Ｏ（Ｃ７）とする）で受信したコマンドに対する処理の実行中であるか否かを判断する（ステップＳ１２）。
【００４７】
この判断によりシリアルＩ／Ｏ（Ｃ７）で受信したコマンドに対する処理が実行中でないと判断した場合（ステップＳ１２、ＮＯ）、制御素子２１は、通常のコマンド処理として、ＳＷＰ（Ｃ６）で受信したコマンドに応じた処理を実行し（ステップＳ２０）、その処理結果を示すレスポンスデータを当該コマンドの送信元である外部装置１へ送信する（ステップＳ２１）。
【００４８】
また、上記判断によりシリアルＩ／Ｏ（Ｃ７）で受信したコマンド（第１のコマンド）に対する処理が実行中であると判断した場合（ステップＳ１２、ＹＥＳ）、制御素子２１は、第２のコマンドに対する処理方法を判定する処理を行う。この処理方法の判定処理は、上記処理判定テーブル２２ａに記憶されている内容に従って実行される。
【００４９】
たとえば、図３に示す処理判定テーブル２２ａのように、受信した第２のコマンドに対する内容に対応づけて処理方法が規定されている場合、上記制御素子２１は、第２のコマンドの内容を参照し（ステップＳ１３）、第２のコマンドの内容に対応付けられている処理方法を処理判定テーブル２２ａに基づいて判定する（ステップＳ１４）。すなわち、この場合、上記制御素子２１は、第２のコマンドの内容に基づいて第２のコマンドに対する処理方法を判定するようになっている。
【００５０】
また、図４に示す処理判定テーブル２２ａのように、実行中の第１のコマンドに対する内容に対応づけて処理方法が規定されている場合、上記制御素子２１は、実行中の第１のコマンドの内容を参照し（ステップＳ１３）、第１のコマンドの内容に対応付けられている処理方法を処理判定テーブル２２ａに基づいて判定する（ステップＳ１４）。すなわち、この場合、上記制御素子２１は、第１のコマンドの内容に基づいて第２のコマンドに対する処理方法を判定するようになっている。
【００５１】
また、図５に示す処理判定テーブル２２ａのように、実行中の第１のコマンドの内容と受信した第２のコマンドの内容との組み合わせに対応づけて処理方法が規定されている場合、上記制御素子２１は、第１のコマンドおよび第２のコマンドの内容を参照し（ステップＳ１３）、第１のコマンドおよび第２のコマンドの組合せに対応付けられている第２のコマンドに対する処理方法を処理判定テーブル２２ａに基づいて判定する（ステップＳ１４）。すなわち、この場合、上記制御素子２１は、第１のコマンドおよび第２のコマンドの組合せに基づいて第２のコマンドに対する処理方法を判定するようになっている。
【００５２】
上記のような判定により第２のコマンドに対する処理方法として第２のコマンドを受付け不可（実行不可）と判定した場合（ステップＳ１５、ＹＥＳ）、上記制御素子２１は、別の通信方式としてのシリアルＩ／Ｏで受信したコマンドの処理を実行中であるため第２のコマンドの受付が不可である旨の情報を第２のコマンドの送信元である外部装置１へ送信し（ステップＳ１６）、第２のコマンドに対する処理を終了する。
【００５３】
また、上記第２のコマンドに対する処理方法として第２のコマンドを実行待ち状態とすると判定した場合（ステップＳ１７、ＹＥＳ）、上記制御素子２１は、第２のコマンドのコマンドデータを実行待ち行例に追記する（ステップＳ１８）。実行待ち行列は、たとえば、ワーキングメモリ２３内に設けられる記憶領域である。この実行待ち行列には、コマンドデータが順に蓄積（追記）される。たとえば、コマンドの実行中に、実行中のコマンドを受信した通信方式以外の複数の通信方式で実行待ちとすべき複数のコマンドを受信した場合、それらのコマンドデータは、実行待ち行例に順に蓄積される。なお、ＩＣカード２がサポートする通信方式が２つだけである場合、ＩＣカード２の制御素子２１は、実行中の第１のコマンドが完了した際に、実行待ちの第２のコマンドを直ちに実行することが可能である。
【００５４】
また、実行待ち行例に蓄積された各コマンドデータは、実行中のコマンド処理の終了後、順に処理が実行される。すなわち、実行待ち行例にコマンドデータを蓄積すると、上記制御素子２１は、第２のコマンドに対する処理として、実行中の第１のコマンドの終了を待つ（ステップＳ１９）。この状態において第１のコマンドの処理が終了すると、上記制御素子２１は、実行待ち行例に蓄積した第２のコマンドとしてのコマンドデータに対する処理を実行する（ステップＳ２０）。ただし、実行待ち行列において、第２のコマンドのコマンドデータの前に別のコマンドデータが蓄積されている場合、そのコマンドデータに対する処理後に、第２のコマンドに対する処理が実行されるようになっている。
【００５５】
上記実行待ち行列に蓄積した第２のコマンドのコマンドデータに対する処理を実行すると、制御素子２１は、第２のコマンドに対する処理結果を示すレスポンスデータを第２のコマンドの送信元である外部装置１に送信し（ステップＳ２１）、第２のコマンドに対する処理を終了する。
【００５６】
また、上記第２のコマンドに対する処理方法として実行中の第１のコマンドに対する処理を中断して第２のコマンドを直ちに実行すると判定した場合（ステップＳ２２、ＹＥＳ）、上記制御素子２１は、実行中の第１のコマンドに対する処理を中断する処理を行う（ステップＳ２３）。実行中の第１のコマンドを中断する処理は、たとえば、実行中の第１のコマンドに対する処理を中断し、当該処理が中断されたことを第１のコマンドの送信元である外部装置１に通知する。なお、中断した第１のコマンドについては、コマンドデータを実行待ち行列に蓄積し、第２のコマンドの終了後に処理を再開（再実行）するようにしても良い。
【００５７】
上記第１のコマンドに対する処理を中断すると、上記制御素子２１は、第２のコマンドに対する処理を実行する（ステップＳ２０）。上記制御素子２１は、第２のコマンドに対する処理結果を含むレスポンスデータを第２のコマンドの送信元である外部装置１へ送信し（ステップＳ２１）、当該第２のコマンドに対する処理を終了する。
【００５８】
上記のように、本実施例に係るＩＣカード２では、第１の通信方式（たとえばシリアルＩ／ＯのＩ／Ｏ端子（Ｃ７））で受信した第１のコマンドを処理中に第２の通信方式（たとえばＳＷＰのＩ／Ｏ端子（Ｃ６））で第２のコマンドを受信した場合、受信した第２のコマンドの内容、あるいは、実行中の第１のコマンドの内容、あるいは、第１のコマンドと第２のコマンドとの組合せに対応づけて処理方法が規定されている処理判定テーブル２２ａに基づいて、受信した第２のコマンドに対する処理方法を判定するようにしたものである。  
これにより、上記ＩＣカード２では、シリアルＩ／ＯのＩ／Ｏ端子で受信したコマンドを実行中にＳＷＰのＩ／Ｏ端子で受信したコマンドを、最適な処理方法で処理することができる。
［１］
外部装置との通信を行う複数の通信手段と、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第２のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、
この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段と、
を有することを特徴とする携帯可能電子装置。
［２］
前記判定手段は、前記第２のコマンドの内容として、前記第２のコマンドの種別、あるいは、前記第２のコマンドの指定パラメータに基づいて、前記第２のコマンドに対する処理方法を判定する、
ことを特徴とする前記［１］に記載の携帯可能電子装置。
［３］
外部装置との通信を行う複数の通信手段と、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、
この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段と、
を有することを特徴とする携帯可能電子装置。
［４］
前記判定手段は、前記第１のコマンドの内容として、前記第１のコマンドの種別、あるいは、前記第１のコマンドの指定パラメータに基づいて、前記第２のコマンドに対する処理方法を判定する、
ことを特徴とする前記［３］に記載の携帯可能電子装置。
［５］
外部装置との通信を行う複数の通信手段と、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容および前記第２のコマンドの種別に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、
この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段と、
を有することを特徴とする携帯可能電子装置。
［６］
前記判定手段は、前記第１のコマンドと前記第２のコマンドとの組合せとして、前記第１のコマンドの種別あるいは前記第１のコマンドの指定パラメータと、前記第２のコマンドの種別あるいは前記第２のコマンドの指定パラメータとに基づいて、前記第２のコマンドに対する処理方法を判定する、
ことを特徴とする前記［５］に記載の携帯可能電子装置。
［７］
前記判定手段は、処理方法の１つとして、前記第２のコマンドの受付けを不可するか否かを判定し、
前記処理手段は、前記判定手段により前記第２のコマンドの受付を不可とすると判定された場合、前記第２の通信手段により前記第２のコマンドの送信元に対して前記第２のコマンドが処理不可である旨を送信する、
ことを特徴とする前記［１］乃至［６］の何れかに記載の携帯可能電子装置。
［８］
前記判定手段は、処理方法の１つとして、前記第１のコマンドの処理を中断して第２のコマンドを実行するか否かを判定し、
前記処理手段は、前記判定手段により前記第１のコマンドの処理を中断して前記第２のコマンドを実行すると判定された場合、前記第１のコマンドに対する処理を中断し、前記第２のコマンドに対する処理を実行する、
ことを特徴とする前記［１］乃至［７］の何れかに記載の携帯可能電子装置。
［９］
前記判定手段は、処理方法の１つとして、前記第２のコマンドを実行待ち状態とするか否かを判定し、
前記処理手段は、前記判定手段により前記第２のコマンドを実行待ち状態とすると判定された場合、前記第１のコマンドの処理が完了した後に、前記第２のコマンドに対する実行する、
ことを特徴とする前記［１］乃至［８］の何れかに記載の携帯可能電子装置。
［１０］
外部装置との通信を行う複数の通信手段と、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第２のコマンドのコマンドデータを実行待ちのコマンドデータとして順次記憶する記憶手段と、
前記実行中の第１のコマンドの処理が完了した場合に、前記記憶手段に記憶されているコマンドデータに応じた処理を順に実行する処理手段と、
を有することを特徴とする携帯可能電子装置。
［１１］
外部装置との通信を行う複数の通信手段を有し、それらの通信手段により外部装置から受信したコマンドに応じた処理を行う携帯可能電子装置に用いられるコマンド処理方法であって、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受付け、
前記第１の通信手段により受信した第１のコマンドを処理中に前記第２の通信手段により第２のコマンドを受信した場合、前記第２のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定し、
この判定した処理方法に基づいて前記第２のコマンドを処理する、
ことを特徴とする携帯可能電子装置におけるコマンド処理方法。
［１２］
外部装置との通信を行う複数の通信手段を有し、それらの通信手段により外部装置から受信したコマンドに応じた処理を行う携帯可能電子装置に用いられるコマンド処理方法であって、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受付け、
前記第１の通信手段により受信した第１のコマンドを処理中に前記第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定し、
この判定した処理方法に基づいて前記第２のコマンドを処理する、
ことを特徴とする携帯可能電子装置におけるコマンド処理方法。
［１３］
外部装置との通信を行う複数の通信手段を有し、それらの通信手段により外部装置から受信したコマンドに応じた処理を行う携帯可能電子装置に用いられるコマンド処理方法であって、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受付け、
前記第１の通信手段により受信した第１のコマンドを処理中に前記第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容および前記第２のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定し、
この判定した処理方法に基づいて前記第２のコマンドを処理する、
ことを特徴とする携帯可能電子装置におけるコマンド処理方法。
［１４］
外部装置との通信を行う複数の通信手段を有し、それらの通信手段により外部装置から受信したコマンドに応じた処理を行う携帯可能電子装置に用いられるコマンド処理方法であって、
前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受付け、
前記第１の通信手段により受信した第１のコマンドを処理中に前記第２の通信手段により第２のコマンドを受信した場合、前記第２のコマンドのコマンドデータを実行待ちのコマンドデータとして記憶手段に順次記憶し、
前記実行中の第１のコマンドの処理が完了した場合に、前記記憶手段に記憶されているコマンドデータに応じた処理を順に実行する、
ことを特徴とする携帯可能電子装置におけるコマンド処理方法。
［１５］
外部装置との通信を行う複数の通信手段と、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第２のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段とを具備するモジュールと、
前記モジュールを具備する本体と、
を有することを特徴とするＩＣカード。
［１６］
外部装置との通信を行う複数の通信手段と、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段とを具備するモジュールと、
前記モジュールを具備する本体と、
を有することを特徴とするＩＣカード。
［１７］
外部装置との通信を行う複数の通信手段と、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第１のコマンドの内容および前記第２のコマンドの種別に基づいて前記第２のコマンドに対する処理方法を判定する判定手段と、この判定手段により判定した処理方法に基づいて前記第２のコマンドを処理する処理手段とを具備するモジュールと、
前記モジュールを具備する本体と、
を有することを特徴とするＩＣカード。
［１８］
外部装置との通信を行う複数の通信手段と、前記複数の通信手段のうち第１の通信手段により受信した第１のコマンドを処理中に前記複数の通信手段のうち第１の通信手段とは異なる第２の通信手段により第２のコマンドを受信した場合、前記第２のコマンドのコマンドデータを実行待ちのコマンドデータとして順次記憶する記憶手段と、前記実行中の第１のコマンドの処理が完了した場合に、前記記憶手段に記憶されているコマンドデータに応じた処理を順に実行する処理手段とを具備するモジュールと、
前記モジュールを具備する本体と、
を有することを特徴とするＩＣカード。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態に係るＩＣカードシステムおよびＩＣカードの構成例を概略的に示すブロック図。
【図２】コマンドのフォーマット例を示す図。
【図３】処理判定テーブルの第１の構成例を示す図。
【図４】処理判定テーブルの第２の構成例を示す図。
【図５】処理判定テーブルの第３の構成例を示す図。
【図６】コマンド処理の流れを説明するためのフローチャート。
【符号の説明】
【００６０】
１…外部装置、２…ＩＣカード（携帯可能電子装置）、２ａ…本体、２ｂ…モジュール、２１…制御素子（判定手段、処理手段）、２２…プログラムメモリ、２２ａ…処理判定テーブル、２３…ワーキングメモリ（記憶手段）、２４…データメモリ、２５…コンタクト部、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｃ６、Ｃ７、Ｃ８…Ｉ／Ｏ端子（複数の通信手段）。
【図１】
0005085254.tif 000002
【図２】
0005085254.tif 000003
【図３】
0005085254.tif 000004
【図４】
0005085254.tif 000005
【図５】
0005085254.tif 000006
【図６】
0005085254.tif 000007