説明

携帯可能電子装置、及び携帯可能電子装置の制御方法

【課題】より効率的に処理を行う事ができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供する。
【解決手段】携帯可能電子装置(20)は、第1の通信方式により外部機器と通信を行う第1の通信手段(28、29)と、第2の通信方式により前記外部機器と通信を行う第2の通信手段(28、29)と、コマンドを処理するコマンド処理手段(24)とを備える。携帯可能電子装置は、前記第1の通信手段により受信する第1のコマンドに後続するコマンドが存在するか否かを判定し、前記第1のコマンドに後続するコマンドが存在すると判定した場合、前記第1のコマンドの受信後に前記第2の通信手段により受信する第2のコマンドの処理を保留し、前記第1の通信手段により前記第1のコマンドの後続コマンドの受信を待つように制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、コマンドを送受信することにより種々の処理を実現する携帯可能電子装置、及び携帯可能電子装置の制御方法に関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と、本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを備えている。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを備えている。
【0003】
ICカードは、携帯性に優れ、且つ、偽造が難しいという特徴を備える。また、ICカードに搭載されるICチップの高性能化に伴い、ICチップに記憶されている複数のアプリケーションを実行することができるICカードが実用化されている。このようなICカードは、ICカードの専用のリーダライタ(端末装置)からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ICカードは、種々の機能を実現することができる。
【0004】
また、例えば、特許文献1に示すように、複数のインターフェースを備えるICカードが一般的に普及している。特許文献1に示すICカードは、ISO/IEC7816により規定されている接触通信インターフェースと、ETSI TS 102 613により規定されているSingle Wire Protocol(SWP)通信インターフェースと、を備える。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009―80673号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記した接触通信インターフェースとSWP通信インターフェースとを備えるICカードは、両方の通信インターフェースを介して同時並行して外部端末とデータ通信を行う事ができる。
【0007】
しかし、上記のICカードは、各インターフェースにより受信した命令(コマンド)の処理を同時に行うことが出来ないという問題がある。即ち、上記のICカードは、SWP通信インターフェースと接触通信インターフェースとから同時にコマンドを受信する場合、いずれかのコマンドに対する処理を保留し、もう一方のコマンドに対する処理を実行する。
【0008】
このように、複数のインターフェースにより同時にコマンドを受信する場合に効率的に処理をする為に、処理の優先度を決定する為の優先度決定方式をICカードに設けることが考えられる。このICカードは、複数のインターフェースにより同時に受信したコマンドの処理を、優先度決定方式に基づいて順番に実行する。
【0009】
しかし、ICカードにより処理するコマンドには、複数のコマンドを組み合わせることによりICカードにより処理することが可能になる連結コマンドが存在する。例えば、ICカードが、連結コマンドのうちの1つを受信し、他の通信インターフェースにより別のコマンドを受信する場合、ICカードは、効率的に連結コマンドに対する処理を行う事ができない可能性があるという問題がある。
【0010】
そこで、本発明の目的は、より効率的に処理を行う事ができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明の一実施形態としての携帯可能電子装置は、第1の通信方式により外部機器と通信を行う第1の通信手段と、第2の通信方式により前記外部機器と通信を行う第2の通信手段と、コマンドを処理するコマンド処理手段と、前記第1の通信手段により受信する第1のコマンドに後続するコマンドが存在するか否かを判定する判定手段と、前記判定手段により前記第1のコマンドに後続するコマンドが存在すると判定した場合、前記第1のコマンドの受信後に前記第2の通信手段により受信する第2のコマンドの処理を保留し、前記第1の通信手段により前記第1のコマンドの後続コマンドの受信を待つように制御する制御手段と、を具備する。
【0012】
また、本発明の一実施形態としての携帯可能電子装置の制御方法は、第1の通信方式により外部機器と通信を行う第1の通信手段と、第2の通信方式により前記外部機器と通信を行う第2の通信手段と、コマンドを処理するコマンド処理手段とを備える携帯可能電子装置の制御方法であって、前記第1の通信手段により受信する第1のコマンドに後続するコマンドが存在するか否かを判定し、前記第1のコマンドに後続するコマンドが存在すると判定した場合、前記第1のコマンドの受信後に前記第2の通信手段により受信する第2のコマンドの処理を保留し、前記第1の通信手段により前記第1のコマンドの後続コマンドの受信を待つように制御する。
【発明の効果】
【0013】
この発明の一形態によれば、より効率的に処理を行う事ができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供することができる。
【図面の簡単な説明】
【0014】
【図1】図1は、本発明の一実施形態に係る端末装置の構成例について説明するためのブロック図である。
【図2】図2は、図1に示すICカードの構成例について説明するためのブロック図である。
【図3】図3は、図1に示す端末装置とICカードとの間において送受信されるコマンド及びレスポンスについて説明するための説明図である。
【図4】図4は、図1に示す端末装置からICカードに送信されるコマンドの例について説明するための説明図である。
【図5】図5は、図1に示すICカードの処理の例について説明するためのフローチャートである。
【図6】図6は、図1に示すICカードの処理の例について説明するためのフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の一実施形態に係る携帯可能電子装置、及び携帯可能電子装置の制御方法について詳細に説明する。
【0016】
図1は、本発明の一実施形態に係る端末装置10の構成例について説明するためのブロック図である。
端末装置10は、ICカード20と接触通信、またはSWP通信により互いに種々のデータの送受信を行うことができる。また、端末装置10は、外部のリーダライタ30と接触通信、または非接触通信により互いに種々のデータの送受信を行うことができる。即ち、ICカード20は、端末装置10を介してリーダライタ30とデータの送受信を行う事ができる。
【0017】
図1に示すように端末装置10は、CPU11、RAM12、ROM13、通信部14、操作部15、エミュレータ16、及びカードリーダライタ17を備える。CPU11、RAM12、ROM13、通信部14、操作部15、エミュレータ16、及びカードリーダライタ17は、それぞれバス19を介して互いに接続されている。
【0018】
端末装置10のCPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM13に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU11は、カードリーダライタ17を介してICカード20とコンマンド及びレスポンスの送受信を行う。
【0019】
RAM12は、ワーキングメモリとして機能する揮発性のメモリである。RAM12は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM12は、カードリーダライタ17または通信部14を介して外部の機器と送受信するデータを一時的に格納する。また、RAM12は、CPU11が実行するプログラムを一時的に格納する。ROM13は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。
【0020】
通信部14は、端末装置10と外部の機器とを接触または非接触により接続するためのインターフェースである。端末装置10は、通信部14を介して、例えば、外部のリーダライタ30と通信を行う事ができる。
【0021】
通信部14は、リーダライタ30と接触通信を行う場合、例えば、接触端子などのインターフェースを備える。また、通信部14は、リーダライタ30と非接触通信を行う場合、例えば、アンテナ及びデータ処理回路などのインターフェースを備える。
【0022】
データ処理回路は、送受信するデータの符号化、復号、変調、及び復調を行なう。アンテナは、送信するデータに応じて磁界を発生させることにより、リーダライタ30に対してデータを送信する。また、アンテナは、電磁誘導により発生した誘導電流に基づいてリーダライタ30から送信されるデータを認識する。
【0023】
操作部15は、例えば操作キー、または表示部と一体に形成されるタッチパネルなどにより攻勢される。操作部15は、端末装置10の操作者による操作を操作信号として受け取る。
【0024】
エミュレータ16は、ICカード20と外部のリーダライタ30とで通信を行う場合に、データのプロトコルの変換を行う。例えば、ICカード20と端末装置10とがSWP通信によりデータを送受信し、リーダライタ30と端末装置10とがISO/IEC14443に規定されている非接触通信によりデータを送受信すると仮定する。この場合、エミュレータ16は、送受信するデータのプロトコルをSWP通信に応じたプロトコルと非接触通信に応じたプロトコルとで変換する。
【0025】
カードリーダライタ17は、ICカード20と通信を行うためのインターフェース装置である。カードリーダライタ17は、ICカード20が装着されるスロット18を備える。また、カードリーダライタ17は、ICカード20が備えるコンタクトパターンと接続される複数の接触端子を備える。
【0026】
スロット18にICカード20が装着される場合、カードリーダライタ17の複数の接触端子は、ICカード20のコンタクトパターンに接続される。これにより、端末装置10とICカード20とは電気的に接続される。カードリーダライタ17は、スロット18に装着されるICカード20に対して、電源供給、クロック供給、リセット制御、及びデータの送受信を行う。
【0027】
CPU11は、カードリーダライタ17によりICカード20に対して種々のコマンドを入力する。ICカード20は、例えば、カードリーダライタ17からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【0028】
また、CPU11は、ICカード20に読み取りコマンドを送信することにより、ICカード20からデータを読み出す。CPU11は、ICカード20から受信したデータに基づいて種々の処理を行う。
【0029】
図2は、図1に示すICカード20の構成例について説明するためのブロック図である。
図2に示すように、ICカード20は、カード状の本体内に内蔵されるICモジュール21を備えている。ICモジュール21は、1つ又は複数のICチップ22と、通信部としてのコンタクトパターン23とを備える。ICチップ22とコンタクトパターン23とは、互いに接続された状態でICモジュール21に形成されている。
【0030】
コンタクトパターン23は、導電性を有する金属などによりICモジュール21の表面に形成される。即ち、コンタクトパターン23は、外部機器と接触可能に形成されている。コンタクトパターン23は、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれコンタクトパターン23の端子として機能する。
【0031】
ICチップ22は、CPU24、ROM25、RAM26、不揮発性メモリ27、接触通信インターフェース28、及びSWP通信インターフェース29を備える。
【0032】
CPU24は、ICカード20の全体の制御を司る制御手段として機能する。また、CPU24は、種々の判定を行う判定部として機能する。CPU24は、ROM25あるいは不揮発性メモリ27に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU24は、端末装置10のカードリーダライタ17から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。即ち、CPU24は、コマンド処理手段として機能する。
【0033】
ROM25は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM25は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード20内に組み込まれる。即ち、ROM25に記憶される制御プログラム及び制御データは、予めICカード20の仕様に応じて組み込まれる。
【0034】
RAM26は、ワーキングメモリとして機能する揮発性のメモリである。RAM26は、CPU24の処理中のデータなどを一時的に格納する。例えば、RAM26は、コンタクトパターン23を介して端末装置10と送受信するデータを一時的に格納する。また、RAM26は、CPU24が実行するプログラムを一時的に格納する。
【0035】
不揮発性メモリ27は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ27は、ICカード20の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0036】
たとえば、不揮発性メモリ27では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU24は、不揮発性メモリ27、または、ROM25に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0037】
接触通信インターフェース28は、カードリーダライタ17と通信するデータの送受信を行う。接触通信インターフェース28は、例えば、ISO/IEC7816により規定されている接触通信インターフェースとして機能する。接触通信インターフェース28は、コンタクトパターン23の所定の端子(第1の端子)と、CPU24との間に接続される。即ち、CPU24は、接触通信インターフェース28を用いて端末装置10とデータの送受信をすることにより、接触通信を行う事ができる。
【0038】
SWP通信インターフェース29は、カードリーダライタ17と通信するデータの送受信を行う。SWP通信インターフェース29は、例えば、ETSI TS 102 613により規定されているSWP通信を行う為の通信インターフェースとして機能する。SWP通信インターフェース29は、コンタクトパターン23の所定の端子(第2の端子)と、CPU24との間に接続される。即ち、CPU24は、SWP通信インターフェース29を用いて端末装置10とデータの送受信をすることにより、SWP通信を行う事ができる。なお、接触通信インターフェース28及びSWP通信インターフェース29は、第1の通信手段、及び第2の通信手段として機能する。
【0039】
図3は、図1に示す端末装置10とICカード20との間において送受信されるコマンド及びレスポンスについて説明するための説明図である。なお、横軸は時間であり、図の左から右へ時間が進むとする。
【0040】
図3に示すコマンド1−1及びコマンド1−2は、端末装置10からICカード20に接触通信により送信されるコマンドである。即ち、ICカード20は、接触通信インターフェース28によりコマンド1−1及びコマンド1−2を受信する。
【0041】
なお、コマンド1−1及びコマンド1−2は連結コマンドである。この為、ICカード20は、コマンド1−1とコマンド1−2との両方を受信する場合、コマンド1に応じた処理を実行することができる。
【0042】
また、コマンド2は、端末装置10からICカード20にSWP通信により送信されるコマンドである。即ち、ICカード20は、SWP通信インターフェース29によりコマンド2を受信する。
【0043】
図4は、上記のコマンド1−1、コマンド1−2、及びコマンド2の例について説明する為の図である。
図4に示すように、各コマンドは、クラスバイト「CLA」、コマンド種別「INS」、パラメータ「P1」及び「P2」、データフィールドの長さ「Lc」、データフィールド「Data」、及び予想されるレスポンスのデータ長「Le」などの情報を含む。
【0044】
例えば、連結コマンドであって、後続に連結コマンドの一部を送信する場合、端末装置10は、「CLA」が「10」であるコマンドをICカード20に送信する。
【0045】
ICカード20は、受信したコマンドの「CLA」を確認し、「CLA」が「10」である場合、受信したコマンドが、後続するコマンドと連結される連結コマンドの一部であることを認識する。
【0046】
図4に示すように、コマンド1−1は、「CLA」が「10」である。この為、ICカード20は、コマンド1−1を受信する場合、後続コマンドが存在することを認識する。
【0047】
また、コマンド1−2は、「CLA」が「00」である。この場合、ICカード20は、後続コマンドが存在しないことを認識する。さらに、ICカード20は、先に受信したコマンド1−1とコマンド1−2とを連結する。
【0048】
また、コマンド2は、「CLA」が「00」である。この場合、ICカード20は、後続コマンドが存在しないことを認識する。
【0049】
図3に示す例に沿って説明すると、ICカード20は、タイミングt1において接触通信インターフェース28によりコマンド1−1の受信を開始する。ICカード20のCPU24は、受信したコマンド1−1を一時的にRAM26格納する。CPU24は、受信したコマンド1−1の「CLA」を確認し、後続コマンドが存在するか否かを判断する。この場合、CPU24は、判定手段として機能する。CPU24は、後続コマンドが存在する場合、接触通信による後続コマンドの受信を待つ状態に遷移する。
【0050】
この場合、CPU24は、状態の遷移を制御するために、「後続待ちフラグ」及び「インターフェースフラグ」をRAM26または不揮発性メモリ27内に作成する。
【0051】
後続待ちフラグは、ICカード20のCPU24が、既に受信したコマンドの後続コマンドを待つ状態であるのか否かを示す情報である。即ち、CPU24は、受信したコマンドの「CLA」が「10」である場合、後続待ちフラグをONにする。また、CPU24は、受信したコマンドの「CLA」が「00」である場合、後続待ちフラグをOFFにする。
【0052】
インターフェースフラグは、受信を待つ後続コマンドの通信方式を示す情報である。即ち、CPU24は、「CLA」が「10」であるコマンドを受信したインターフェースを判定し、判定に応じてインターフェースフラグを制御する。
【0053】
「CLA」が「10」であるコマンドを受信したインターフェースが接触通信インターフェース28である場合、CPU24は、接触通信を示す情報(例えば、「1」)をインターフェースフラグとして登録する。また、「CLA」が「10」であるコマンドを受信したインターフェースがSWP通信インターフェース29である場合、CPU24は、SWP通信を示す情報(例えば、「0」)をインターフェースフラグとして登録する。
【0054】
なお、上記したように、コマンド1−1の「CLA」は「10」である為、CPU24は、コマンド1−1の後続コマンドを待つ状態に遷移する。即ち、CPU24は、「後続待ちフラグ」をONにし、「インターフェースフラグ」に「1」を登録する。
【0055】
また、ICカード20は、タイミングt2においてSWP通信インターフェース29によりコマンド2の受信を開始する。ICカード20のCPU24は、受信したコマンド2を一時的にRAM26格納する。CPU24は、受信したコマンド2の「CLA」を確認し、後続コマンドが存在するか否かを判断する。
【0056】
なお、上記したように、コマンド2の「CLA」は「00」である為、CPU24は、コマンド2に後続コマンドが存在しない事を認識する。また、CPU24は、先に受信したコマンド1−1の後続コマンドを待つ状態を維持している。この為、CPU24は、コマンド2に応じた処理を保留する。
【0057】
ICカード20は、タイミングt3において接触通信インターフェース28によりコマンド1−2の受信を開始する。ICカード20のCPU24は、受信したコマンド1−2を一時的にRAM26格納する。
【0058】
CPU24は、「後続待ちフラグ」がONである場合、「インターフェースフラグ」が示す通信方式と、受信したコマンドの通信方式とが一致するか否かを判断する。「インターフェースフラグ」が示す通信方式と、受信したコマンドの通信方式とが一致する場合、CPU24は、受信したコマンドが後続コマンドであると認識する。
【0059】
この例では、「インターフェースフラグ」が接触通信方式を示し、受信したコマンドの通信方式が接触通信方式である為、CPU24は、コマンド1−2がコマンド1−1の後続コマンドであることを認識する。
【0060】
ICカード20のCPU24は、受信したコマンド1−2の「CLA」を確認し、さらに後続コマンドが存在するか否かを判断する。なお、上記したように、コマンド1−2の「CLA」は「00」である為、CPU24は、コマンド1−2にさらに後続コマンドが存在しない事を認識する。
【0061】
CPU24は、タイミングt4から受信したコマンド1−1及びコマンド1−2に応じた処理を開始する。CPU24は、RAM26に格納したコマンド1−1及びコマンド1−2を連結し、コマンド1を生成する。CPU24は、生成したコマンド1に応じて処理を実行し、レスポンス1を生成する。CPU24は、タイミングt5において、生成したレスポンス1を接触通信により端末装置10に送信する。
【0062】
また、CPU24は、タイミングt5において、保留しているコマンド2に応じた処理を開始する。即ち、CPU24は、コマンド2に応じて処理を実行し、レスポンス2を生成する。CPU24は、タイミングt6において、生成したレスポンス2をSWP通信により端末装置10に送信する。
【0063】
図5及び図6は、図1に示すICカード20の処理の例について説明するためのフローチャートである。図5は、待機リストの更新処理について説明する為の図である。図6は、受信したコマンドに対する処理の判定について説明する為の図である。
【0064】
図5に示すように、ICカード20のCPU24は、接触通信インターフェース28とSWP通信インターフェース29との何れかにより端末装置10からコマンドを受信する場合(ステップS11)、受信したコマンドのデータをRAM26に格納する(ステップS12)。CPU24は、RAM26または不揮発性メモリ27内に待機リストを作成(更新)する(ステップS13)。
【0065】
CPU24は、コマンドを受信する場合、コマンドに対応付けてインデックスを生成する。CPU24は、生成したインデックスと、受信したコマンドの格納場所を示す情報とを生成し、待機リストに登録する。
【0066】
さらに、上記したように、CPU24は、受信したコマンドの通信方式、及び「CLA」の値に応じて、「後続待ちフラグ」及び「インターフェースフラグ」の更新を行う。
【0067】
なお、CPU24は、接触通信とSWP通信のいずれかによりコマンドを受信する場合、逐次上記の待機リストの更新処理を実行する。
【0068】
CPU24は、上記の処理により作成される待機リストの内容に基づいて、受信したコマンドに対する処理の判定を行う。
【0069】
ICカード20は、接触通信及びSWP通信の初期ネゴシエーションの確立後、端末装置10からのコマンドの受信を待つ状態に移行する(ステップS21)。また、CPU24は、待機リストの確認を行う(ステップS22)。CPU24は、待機中の処理が存在するか否か判断する。即ち、CPU24は、待機リストに登録されており、未確認の情報が存在するか否かを判断する(ステップS23)。待機リストに待機中の処理が登録されていない場合(ステップS23、NO)、CPU24は、ステップS21に移行し、コマンドの受信を待つ状態を維持する。
【0070】
未確認の情報が待機リストに登録されている場合、CPU24は、新たにコマンドを受信したと判断する。未確認の情報が待機リストに登録されている場合(ステップS23、YES)、CPU24は、未確認のインデックスのコマンドを受信したインターフェースの確認を行う(ステップS24)。即ち、CPU24は、新たにコマンドを受信したインターフェースが接触通信インターフェース28であるか、SWP通信インターフェース29であるのかを確認する。
【0071】
さらに、CPU24は、「後続待ちフラグ」の確認を行う(ステップS25)。「後続待ちフラグ」がONである場合、CPU24は、新たに受信したコマンドが既に受信したコマンドの後続コマンドであるか否かを判定する(ステップS26)。即ち、CPU24は、新たに受信したコマンドの通信方式と、「インターフェースフラグ」が示す通信方式とが一致するか否か判断する。CPU24は、新たに受信したコマンドの通信方式と、「インターフェースフラグ」が示す通信方式とが一致する場合、新たに受信したコマンドか既に受信したコマンドの後続コマンドであると判断する。
【0072】
新たに受信したコマンドが既に受信したコマンドの後続コマンドではないと判断する場合(ステップS26、NO)、CPU24は、ステップS21に移行し、新しく待機リストにインデックスが登録されるのを待つ状態に移行する。
【0073】
新たに受信したコマンドが既に受信したコマンドの後続コマンドであると判断する場合(ステップS26、YES)、または、ステップS25において「後続待ちフラグ」がOFFであることを確認した場合、CPU24は、新たに受信したコマンドの「CLA」の確認を行う(ステップS27)。これにより、CPU24は、新たに受信したコマンドのさらに後続のコマンドの受信を待つ必要があるか否か判断する(ステップS28)。
【0074】
後続のコマンドの受信を待つ必要があると判断する場合(ステップS28、YES)、CPU24は、ステップS23からステップS28の間に後続コマンドを受信したか否か判断する(ステップS29)。
【0075】
後続コマンドを受信していないと判断する場合(ステップS29、NO)、CPU24は、「後続待ちフラグ」をONにし(ステップS30)、ステップS21にループする。これにより、CPU24は、後続コマンドの受信を待つ状態に移行する。
【0076】
また、ステップS29において後続コマンドを受信したと判断する場合(ステップS29、YES)、CPU24は、新たに受信したコマンドに基づいて、再度ステップS24乃至ステップS28の判定を行う。
【0077】
ステップS28において後続のコマンドの受信を待つ必要がないと判断する場合(ステップS28、NO)、CPU24は、連結コマンドの受信が完了したと判断する。この場合、CPU24は、「後続待ちフラグ」OFFに制御する(ステップS31)。
【0078】
CPU24は、受信したコマンドに応じて処理を行い、レスポンスを作成する(ステップS32)。なお、処理するコマンドが連結コマンドである場合、CPU24は、受信した各コマンドを連結し、連結したコマンドに応じて処理を実行し、レスポンスを生成する。CPU24は、生成したレスポンスを端末装置10に送信し(ステップS33)、待機リストから処理したコマンドに応じたインデックスを削除し(ステップS34)、ステップS21にループする。
【0079】
上記したように、本実施形態に係るICカード20は、複数の通信インターフェースを備える。ICカード20は、コマンドを受信する場合、受信したコマンドに後続コマンドが存在するか否か判定する。後続コマンドが存在する場合、ICカード20は、後続コマンドを待つ状態であることを示す情報、及び、後続コマンドを待つ通信インターフェースを示す情報を生成する。これにより、ICカード20は、他の通信インターフェースにより受信したコマンドより後続コマンドの受信を優先する状態を維持する。
【0080】
ICカード20は、コマンドを受信する場合、受信したコマンドが既に受信したコマンドの後続コマンドであるか否かを判定する。受信したコマンドが既に受信したコマンドの後続コマンドである場合、ICカード20は、既に受信したコマンドと新たに受信したコマンドとを連結し、処理を実行する。複数に分割されたコマンドを効率的に処理することが出来る。
【0081】
例えば、ある通信インターフェースにより受信したコマンドが、後続コマンドを必要とするチェイニング状態であり、且つ、後続コマンドを受信する前に他の通信インターフェースにより別のコマンドを受信する場合、ICカード20は、最初に受信したコマンドの後続コマンドの受信待ち状態を取る。
【0082】
ICカード20は、後続コマンドの受信が完了した時点で、最初に受信したコマンドの処理を行う。さらに、ICカード20は、最初に受信したコマンドの処理完了後に、他の通信インターフェースにより受信したコマンドの処理を行う。これにより、ICカード20は、コマンドを受信した順番に応じてコマンド処理を実行する事ができる。この結果、より効率的に処理を行う事ができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供することができる。
【0083】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【符号の説明】
【0084】
10…端末装置、11…CPU、12…RAM、13…ROM、14…通信部、15…操作部、16…エミュレータ、17…カードリーダライタ、18…スロット、20…ICカード、21…ICモジュール、22…ICチップ、23…コンタクトパターン、24…CPU、25…ROM、26…RAM、27…不揮発性メモリ、28…接触通信インターフェース、29…SWP通信インターフェース、30…リーダライタ。

【特許請求の範囲】
【請求項1】
第1の通信方式により外部機器と通信を行う第1の通信手段と、
第2の通信方式により前記外部機器と通信を行う第2の通信手段と、
コマンドを処理するコマンド処理手段と、
前記第1の通信手段により受信する第1のコマンドに後続するコマンドが存在するか否かを判定する判定手段と、
前記判定手段により前記第1のコマンドに後続するコマンドが存在すると判定した場合、前記第1のコマンドの受信後に前記第2の通信手段により受信する第2のコマンドの処理を保留し、前記第1の通信手段により前記第1のコマンドの後続コマンドの受信を待つように制御する制御手段と、
を具備することを特徴とする携帯可能電子装置。
【請求項2】
前記判定手段は、前記第1のコマンドに後続するコマンドが存在すると判定した場合、後続コマンドを待つ事を示す後続待ちフラグをONし、
前記制御手段は、前記後続コマンドがONである場合、前記第2の通信手段により受信する第2のコマンドに対する処理を保留するように前記コマンド処理手段を制御することを特徴とする請求項1に記載の携帯可能電子装置。
【請求項3】
前記判定手段は、後続コマンドが存在すると判定した第1のコマンドの通信方式を示すインターフェースフラグを前記後続待ちコマンドに対応付けて設定し、
前記制御手段は、前記第1の通信手段または前記第2の通信手段によりコマンドを受信する場合、前記後続待ちコマンドがONであり、且つ前記インターフェースフラグが示す通信方式と受信したコマンドの通信方式とが一致する場合、前記第1のコマンドの後続コマンドを受信したと判定することを特徴とする請求項2に記載の携帯可能電子装置。
【請求項4】
前記制御手段は、前記第1のコマンドの後続コマンドを受信したと判定する場合、前記第1のコマンドと前記後続コマンドとを連結し、連結したコマンドを処理するように前記コマンド処理手段を制御することを特徴とする請求項3に記載の携帯可能電子装置。
【請求項5】
前記制御手段は、前記連結したコマンドの処理完了後に前記第2のコマンドを処理するように前記コマンド処理手段を制御することを特徴とする請求項4に記載の携帯可能電子装置。
【請求項6】
さらに、前記各部を備えるICモジュールと、
前記ICモジュールが設置される本体と、
を具備することを特徴する請求項1に記載の携帯可能電子装置。
【請求項7】
第1の通信方式により外部機器と通信を行う第1の通信手段と、第2の通信方式により前記外部機器と通信を行う第2の通信手段と、コマンドを処理するコマンド処理手段とを備える携帯可能電子装置の制御方法であって、
前記第1の通信手段により受信する第1のコマンドに後続するコマンドが存在するか否かを判定し、
前記第1のコマンドに後続するコマンドが存在すると判定した場合、前記第1のコマンドの受信後に前記第2の通信手段により受信する第2のコマンドの処理を保留し、前記第1の通信手段により前記第1のコマンドの後続コマンドの受信を待つように制御する、
ことを特徴とする携帯可能電子装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−150661(P2011−150661A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−13572(P2010−13572)
【出願日】平成22年1月25日(2010.1.25)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】