説明

ICカード、ICカードアプリケーション実行方法及びプログラム

【課題】複数のI/Oポートに優先度を付加し、優先度の高いI/Oポートからのコマンドを優先的に処理するICカード等を提供する。
【解決手段】ICカード1は、接触I/Oポート25と非接触I/Oポート26を備えており、非接触I/Oポート26は接触I/Oポート25よりも優先度を高くする。接触I/Oポート25で受信したコマンド処理を実行中、非接触I/Oポート26でコマンドを受信すると、現在実行中のコマンド処理を中断し、非接触I/Oポート26で受信したコマンドの処理を開始する。非接触I/Oポートで受信したコマンド処理を実行中、接触I/Oポート25でコマンドを受信した場合は現在実行中のコマンド処理を続け、接触I/Oポート25で受信したコマンドの処理は待ち状態とする。現在実行中の処理が完了した後も、受信待ち時間を設定し、非接触I/Oポート26からのコマンド受信を待つ。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のI/Oポートからのコマンドを受信し、優先度の高いI/Oポートからのコマンドを優先して処理するICカード等に関する。
【背景技術】
【0002】
現在、金融、通信、交通分野を中心に、ICカードの普及が進んでいる。ICカードの種類は、店舗等に設置された端末に差し込んで利用する接触型ICカードと、端末にかざして利用する非接触型ICカードに大別され、サービス要件に基づいてそれぞれ採用されている。
また、通信分野において通信機能を持つ携帯型端末を使った決済サービスが登場してきた。このような携帯型端末に求められるICカードの機能には、通信サービス向けの接触型ICカード機能と、決済サービス向けの非接触型ICカード機能がある。このため、少なくとも接触型、非接触型の2つのI/Oポートを有し、それぞれのポートから受信されたコマンドを処理するICカードが実用化されている。(特許文献1参照)
【0003】
【特許文献1】特開2000−341429号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の方法ではICカードのOS(Operating System)が、接触型のI/Oポート、非接触型のI/Oポートのそれぞれから受信したコマンドを順次実行するため、一方のI/Oポートから受信したコマンドを実行している間、もう一方のI/Oポートから受信したコマンドを実行することはできない。
通信サービスは接触型Iの/Oポート、決済サービスは非接触型のI/Oポートというように、ICカードにより実現されるサービス及びそのサービスで使用されるI/Oポートは固定であることが多い。また、ユーザの利便性、セキュリティ等のサービスの性質上、一定時間内に処理を完了させることが要求される場合がある。このような場合、接触型のI/Oポート、非接触型のI/Oポートそれぞれに受信されたコマンドを、受信した順序で実行した場合、要求が満足できないという状況が発生する。
【0005】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、複数のI/Oポートに優先度を付加し、優先度の高いI/Oポートからのコマンドを優先的に処理するICカード等を提供することにある。
【課題を解決するための手段】
【0006】
前述した目的を達成するために第1の発明は、二つ以上のI/Oポートを有するCPUを内蔵した情報記録媒体であって、前記CPUを内蔵した情報記録媒体は、前記I/Oポートの夫々の優先度を保持する優先度保持手段と、前記I/Oポートでコマンドを受信すると、他の前記I/Oポートで受信したコマンドの実行の有無を判定するコマンド実行判定手段と、現在実行中のコマンドを受信した前記I/Oポートの優先度と、新たにコマンドを受信した前記I/Oポートの優先度を比較し、比較結果に応じてコマンドの実行状態を決定するコマンド実行決定手段と、を具備することを特徴とするCPUを内蔵した情報記録媒体である。
【0007】
CPUを内蔵した情報記録媒体のコマンド実行決定手段は、現在実行中のコマンドを受信したI/Oポートの優先度と、新たにコマンドを受信したI/Oポートの優先度を比較し、現在実行中のコマンドを受信したI/Oポートの優先度の方が低いが、処理パフォーマンスやリソース等の理由により、実行中のコマンドを中断して優先度の高いI/Oポートで受信したコマンド実行に切り替えることを行わない場合、現在実行中のコマンドを続行し、終了後、直ちに優先度の高いI/Oポートで受信したコマンドを実行する。
CPUを内蔵した情報記録媒体は、新たにコマンドを受信したI/Oポートの優先度の方が高い場合、現在実行中のコマンドを中断して待ち状態とし、新たに受信したコマンドを実行する。また、新たに受信したコマンドの実行が終了した後、待ち状態となっているコマンドの処理を再開する前に、予め決められた待ち時間の間、優先度の高い前記I/Oポートからのコマンド受信待ち状態とすることにより、優先度の高いI/Oポートからのコマンドを優先的に処理する。
【0008】
CPUを内蔵した情報記録媒体において、現在実行中のコマンドを受信したI/Oポートの優先度と、新たにコマンドを受信したI/Oポートの優先度を比較し、現在実行中のコマンドを受信したI/Oポートの優先度の方が高いが、スケジューリングあるいはリソース等の理由により、実行中のコマンドを中断して別のコマンド実行に切り替えることを行わない場合、現在実行中のコマンドを続行し、終了後、受信待ち時間を設定することなく、直ぐに新たに受信したコマンドを実行する。
CPUを内蔵した情報記録媒体のI/Oポートに設定する優先度、及び、予め決められた待ち時間は、CPUを内蔵した情報記録媒体発行時、あるいは、運用時において変更することが可能である。
【0009】
第2の発明は、二つ以上のI/Oポートを有するCPUを内蔵した情報記録媒体のアプリケーション実行方法であって、前記I/Oポートの夫々の優先度を保持する優先度保持工程と、前記I/Oポートでコマンドを受信すると、他の前記I/Oポートで受信したコマンドの実行の有無を判定するコマンド実行判定工程と、現在実行中のコマンドを受信した前記I/Oポートの優先度と、新たにコマンドを受信した前記I/Oポートの優先度を比較し、比較結果に応じてコマンドの実行状態を決定するコマンド実行決定工程と、を具備することを特徴とするCPUを内蔵した情報記録媒体アプリケーション実行方法である。
【0010】
第3の発明は、コンピュータを第1の発明のCPUを内蔵した情報記録媒体として機能させるコンピュータで読み取り可能なプログラムである。
【発明の効果】
【0011】
本発明によれば、複数のI/Oポートに優先度を付加し、優先度の高いI/Oポートからのコマンドを優先的に処理するICカード等を提供することができる。
【発明を実施するための最良の形態】
【0012】
以下、添付図面を参照しながら、本発明に係る好適な実施形態について詳細に説明する。
最初に、図1を参照しながら、本実施の形態に係るICカード1の運用例について説明する。
図1は、ICカード1を搭載した携帯電話機3の運用例を示す図である。
【0013】
ICカード1は、携帯電話機3やPDA(Personal DigitalAssistance)のような携帯可能な通信端末に搭載される取り外し可能な記録媒体で、第2世代携帯電話機であるGSMに搭載されていたSIM(SubScriber Identity Module)カードや、第3世代携帯電話機に搭載されているUIMカードが知られている。ICカード1は、大きさが15×25mm、厚さ8mm程度の小型ICカードである。
ICカード1は、内部にアンテナを持ち、あるいは、非接触用アンテナを持つ通信端末側から非接触用I/Oポートを介して、外部の端末等から発信される弱い電波を利用してデータを送受信するICカードで、鉄道、バス等のプリペイドカード及び定期券として、あるいは、クレジットや電子マネー等の決済サービスで利用することができる。
ICカード1は、携帯電話機3の側面に設けられた挿入口(図示しない)、あるいは、携帯電話機3の裏側の蓋を開いたバッテリー(図示しない)の内側または外側の所定の凹部に固定される。
【0014】
携帯電話機3は、送受信するためのアンテナ、表示パネル、キーボタン等を有し、取り外し可能な記録媒体であるICカード1を搭載している。携帯電話機3は、ICカード1の接触型のI/Oポートを介してコマンドを送受信し、基地局5を通して通話、Webアクセス、メール送受信等の処理を実行する。
【0015】
ICカード読取装置7はリーダライタを有し、ICカード1の非接触型のI/Oポートを介して無線で通信する。
ICカード読取装置7は、インターネットのようなネットワーク11を介して決済ホスト9に接続されている。決済ホスト9は、クレジットや電子マネー等の決済サービスを提供するホストコンピュータで、ICカード1はICカード読取装置7を介して決済ホスト9と通信し、決済サービスを利用することができる。
【0016】
次に、図2、3を参照しながら、ICカード1の詳細について説明する。
図2は、ICカード1のハードウエア構成を示す図、図3は、ICカード1のメモリ24の詳細を示す図である。
【0017】
図2に示すように、ICカード1は、CPU(Central Processing Unit)21、ROM(Read Only Memory)22、RAM(Random Access Memory)23、メモリ24、接触I/Oポート25、非接触I/Oポート26がバス28を介して接続される。
【0018】
CPU21は、プログラムの実行を行う。ROM22は、プログラム命令あるいはデータ等を格納する。RAM23は、プログラムの実行中、一時的にデータ等を格納する。
メモリ24は、ICカード1の動作に必要となるデータ等を保存している。
【0019】
接触I/Oポート25は、携帯電話機3による通話処理、Webアクセス、メール送受信のような通信サービスを実行するためにコマンドを送受信するためのI/Oポートである。
非接触I/Oポート26は、決済サービスや認証処理等のサービスのための通信を行うI/Oポートである。ICカード1をICカード読取装置7にかざすことにより、ICカード1は非接触I/Oポート26を介してICカード読取装置7と無線通信し、ネットワーク11を介して決済ホスト9等と接続する。ICカード1は、決済ホスト9と接続することにより決済サービスを使用することができる。
【0020】
図3に示すように、メモリ24は、OS31、I/Oポート優先度情報41、接触I/O用アプリ42、非接触I/O用アプリ43等を有する。
OS31は、ICカード1全体の動作を制御するためのプログラムである。
接触I/O用アプリ42は、ICカード1の接触I/Oポート25からのコマンドを処理するためのアプリケーションである。
非接触I/O用アプリ43は、ICカード1の非接触I/Oポート26からのコマンドを処理するためのアプリケーションである。
I/Oポート優先度情報41は、接触I/Oポート25、非接触I/Oポート26等のI/Oポートに対する優先度を保持しており、ICカード1の発行時、あるいは、運用時にコマンド発行により各I/Oポートに対する優先度を設定する。I/Oポート優先度情報41は、ICカード1発行時にデフォルトのI/Oポートの優先度として設定するようにしてもよい。
非接触I/Oポート26を通して処理される決済サービス等は、一定時間内にコマンドの処理を完了することが要求されるため、通常、非接触I/Oポート26は接触I/Oポート25よりも高い優先度とする。
【0021】
OS31は、OS管理処理32、コマンド送受信処理33、コマンド管理処理34等を有する。
OS管理処理32は、OS31全体の動作を管理する。
コマンド送受信処理33は、接触I/Oポート25、非接触I/Oポート26等とのコマンドの送受信に必要となる処理を行う。
コマンド管理処理34は、コマンド送受信処理33が接触I/Oポート25、あるいは、非接触I/Oポート26から受信するコマンドをスケジューリングし、適切なアプリケーションにコマンドを渡し、実行を指示するもので、コマンド配送機能35、コマンド処理判定機能36、コマンド処理中断/再開機能37、コマンド処理中断判定機能38、受信待ち時間設定機能39、コマンド処理切り替え機能40等を有する。
【0022】
コマンド配送機能35は、次に実行するコマンドを接触I/O用アプリ42、非接触I/O用アプリ43等の適切なアプリケーションに配送する。
コマンド処理判定機能36は、接触I/Oポート25あるいは非接触I/Oポート26でコマンドを受信した時、現在、接触I/O用アプリ42、非接触I/O用アプリ43等のアプリケーションがコマンドを実行しているかどうかを判定する。また、コマンド処理判定機能36は、現在実行中のコマンドがある場合、そのコマンドがどのI/Oポートから受信したコマンドなのかを判定する。
【0023】
コマンド処理中断/再開機能37は、接触I/O用アプリ42、あるいは、非接触I/Oポート用アプリ43等で現在実行しているコマンド処理を中断、再開する。
コマンド処理中断判定機能38は、接触I/O用アプリ42または非接触I/O用アプリ43で現在コマンド処理を実行しているときに、他のI/Oポートからコマンドを受信した場合、現在実行中のコマンド処理を中断するか、あるいは、現在実行中のコマンド処理を継続するかを判定する。
【0024】
受信待ち時間設定機能39は、優先度の低いI/Oポートで受信したコマンドを処理中に優先度の高いI/Oポートでコマンドを受信し、優先度の低いI/Oポートで受信したコマンドの処理を中断して優先度の高いI/Oポートで受信したコマンドを処理し、優先度の低いI/Oポートで受信したコマンドの処理が再開待ち状態の場合、あるいは、優先度の高いI/Oポートで受信したコマンドの処理中に優先度の低いI/Oポートでコマンドを受信し、優先度の高いI/Oポートから受信したコマンドの処理を続行して優先度の低いI/Oポートから受信したコマンドの処理の開始を待っている場合、優先度の高いI/Oポートから受信したコマンド処理を完了しても、待ち状態となっている優先度の低いI/Oポートから受信したコマンドの処理を開始せず、予め決められた受信待ち時間の間、優先度の高いI/Oポートからのコマンド受信待ち状態とする。
コマンド処理切り替え機能40は、受信待ち時間設定機能39が設定した受信待ち時間の間に、優先度の高いI/Oポートから次のコマンドが受信された場合は、そのコマンドの処理を開始する。受信待ち時間内に優先度の高いI/Oポートから次のコマンドが受信されない場合、待ち状態となっている優先度の低いI/Oポートからのコマンドの処理を開始する。
【0025】
次に、図4によりICカード1を搭載する携帯電話機3について説明する。
図4は、携帯電話機3のハードウエア構成を示す図である。
【0026】
図4に示すように、携帯電話機3は、制御部51、無線通信部52、表示部53、入力部54、通話処理部55、メモリ56、ICカードインタフェース57等がバス58を介して接続される。
【0027】
制御部51は、プログラムの実行を行うCPUと、OS、プログラム命令あるいはデータ等を格納するためのROM、一時的な作業用データを格納するためのRAM等のメモリから構成される。制御部51は、携帯電話機3全体を制御する。
【0028】
無線通信部52はアンテナを有し、基地局5との間で行われる無線通信を制御する。無線通信部52は、制御部51の制御の下、音声に関するデータやパケット通信用のデータ等の信号を生成し、携帯電話機3のアンテナを介して基地局5に送信したり、あるいは、基地局5から送信される無線信号をアンテナを介して受信し、受信した信号を復調して音声に関するデータやパケット通信用のデータを取得する。
【0029】
表示部53は表示パネルを有し、表示パネルへの表示制御を行う。
入力部54は、数字や文字、操作指示を入力するためのキーボタンを有し、キーボタンの操作に応じた信号を制御部51に出力する。
通話処理部55は、マイクロフォンやスピーカ、音声処理部等を有し、制御部51の制御により呼接続、切断処理を含む通話処理を行う。
メモリ56は、携帯電話機3にインストールされているアプリケーションプログラムや、電話番号及びメールアドレス等のアドレス帳データ等が格納されている。
ICカードインタフェース57は、携帯電話機3に搭載されたICカード1と携帯電話機3との間の通信を制御する。
【0030】
次に、図5によりICカード1と無線通信を行うICカード読取装置7について説明する。
図5は、ICカード読取装置7のハードウエア構成図を示す図である。
【0031】
図5に示すように、ICカード読取装置7は、バス67により相互接続された制御部61、入力部62、表示部63、記憶装置64、通信部65、非接触ICカードR/W(リーダライタ)66等を有する。
【0032】
制御部61は、プログラムの実行を行うCPUと、プログラム命令あるいはデータ等を格納するためのROM、RAM等のメモリから構成される。制御部61は、ICカード読取装置7全体の動作を制御する。
【0033】
入力部62は、ICカード読取装置7へのデータを入力するための入力装置である。
表示部63は、LCD等の表示装置である。
記憶装置64は、制御プログラム等の固定データ、ICカード1が利用する決済サービス等に関するデータ等を格納するための記憶媒体である。
通信部65は、通信制御装置、通信ポート等であり、ネットワーク11を介した決済ホスト9との通信等を制御する。
非接触I/CカードR/W66は、ICカード1との非接触型の無線通信により、ICカード1からのデータの読み取り、書き込みを行う。
【0034】
次に、図6、7、8を参照しながら、本実施形態の動作について説明する。
図6は、優先度の低いI/Oポートからのコマンドの処理を実行中に優先度の高いI/Oポートからのコマンドを受信し、コマンド処理を切り替える場合の処理の流れを示す図、図7は、優先度の低いI/Oポートからのコマンド処理を実行中に優先度の高いI/Oポートからのコマンドを受信してもコマンド処理を切り替えない場合の処理の流れを示す図、図8は、優先度の高いI/Oポートからのコマンドの処理を実行中に優先度の低いI/Oポートからのコマンドを受信した場合の処理の流れを示す図である。
図6、7、8において、ICカード1のメモリ24内のI/Oポート優先度情報41により、非接触I/Oポート26は接触I/Oポート25よりも高い優先度に設定されているとする。
【0035】
図6に示すように、ICカード1のCPU21は、接触I/Oポート25で受信したコマンドを接触I/O用アプリ42で処理中(ステップ101)に、ICカード読み取り装置7からのコマンドを非接触I/Oポート26で受信する(ステップ102)。
ICカード1のCPU21は、OS31内のコマンド送受信処理33により非接触I/Oポート26から受信したコマンドの受信処理を行い(ステップ103)、コマンド処理判定機能36により現在実行中のコマンドがあるかどうかを判定する。ICカード1のCPU21は、接触I/Oポート25で受信したコマンドを接触I/O用アプリ42で実行していると判定し、コマンド処理中断判定機能38は現在実行中の接触I/O用アプリ42でのコマンド処理よりも優先度の高い非接触I/Oポート26からのコマンドを受信していることになるため、接触I/O用アプリ42でのコマンド処理を中断すると判定する。そして、コマンド処理中断/再開機能37は、接触I/O用アプリ42でのコマンド処理を中断し(ステップ104)、非接触I/O用アプリ43に受信したコマンドを渡し、処理を指示する。非接触I/O用アプリ43は、受信したコマンドの処理を開始する(ステップ105)。
【0036】
非接触I/O用アプリ43でのコマンド処理完了後、ICカード1のCPU21は、OS31内のコマンド送受信処理33により非接触I/Oポート26へのレスポンス送信のための送信処理を行い(ステップ106)、非接触I/Oポート26からコマンドを送信する(ステップ107)。
【0037】
非接触I/Oポート26へのコマンド送信後、ICカード1のCPU21はOS31内の受信待ち時間設定機能39により受信待ち時間dを設定し、中断している接触I/O用アプリ42でのコマンド処理開始前に非接触I/Oポート26でのコマンド受信がないか待つ(ステップ108)。
受信待ち時間dは、デフォルト値としてICカード1の発行時、あるいは、運用時にコマンド発行により設定する。
【0038】
受信待ち時間設定機能39により設定した受信待ち時間dが経過しても非接触I/Oポート26でコマンドを受信しない場合、ICカード1のCPU21は、OS31のコマンド処理切り替え機能40により中断していた接触I/O用アプリ42でのコマンド処理の再開を指示する(ステップ109)。ICカード1のCPU21は、接触I/O用アプリ42によるコマンド処理終了後(ステップ110)、OS31内のコマンド送受信処理33により接触I/Oポート25へのレスポンス送信のための送信処理を行い(ステップ111)、接触I/Oポート25からコマンドを送信する(ステップ112)。
【0039】
図6のステップ104では、接触I/Oポート25から受信したコマンドを処理する接触I/O用アプリ42の実行中に、優先度の高い非接触I/Oポート26からコマンドを受信した場合、接触I/O用アプリ42の実行を中断して非接触I/O用アプリ43に実行を切り替えたが、実行中のアプリケーションを中断させるのが難しい場合、図7に示すように実行中のアプリケーションの中断は行わないという方法もある。
【0040】
ICカード1のCPU21は、接触I/Oポート25で受信したコマンドを接触I/O用アプリ42で処理中(ステップ201)に、ICカード読み取り装置7からのコマンドを非接触I/Oポート26で受信する(ステップ202)。
ICカード1のCPU21は、OS31内のコマンド送受信処理33により非接触I/Oポート26から受信したコマンドの受信処理を行い(ステップ203)、コマンド処理判定機能36により、コマンドを受信した非接触I/Oポート26よりも優先度の低い接触I/Oポート25で受信したコマンドを接触I/O用アプリ42で実行していると判定する。そして、コマンド処理中断/再開機能37は、接触I/O用アプリ42でのコマンド処理を再開するように指示する(ステップ204)。
【0041】
ICカード1のCPU21は、中断していた接触I/O用アプリ42によるコマンドの処理を再開する(ステップ205)。コマンド処理終了後、ICカード1のCPU21はOS31内のコマンド送受信処理33により接触I/Oポート25へのレスポンス送信のための送信処理を行い(ステップ206)、接触I/Oポート25からコマンドを送信する(ステップ207)。
処理を完了した接触I/Oポート25よりも優先度の高い非接触I/Oポート26から受信したコマンドの処理が待ち状態となっているため、ICカード1のCPU21は受信待ち時間を設定することなく、非接触I/O用アプリ43に受信したコマンドを渡し、コマンド処理を指示し(ステップ208)、非接触用I/Oアプリ43はコマンド処理を開始する(ステップ209)。
【0042】
非接触I/O用アプリ43でのコマンド処理完了後、ICカード1のCPU21は、OS31内のコマンド送受信処理33により非接触I/Oポート26へのレスポンス送信のための送信処理を行い(ステップ210)、非接触I/Oポート26からコマンドを送信する(ステップ211)。
【0043】
図8に示すように、優先度の高い非接触I/Oポート26からのコマンドの処理を非接触I/O用アプリ43で実行中(ステップ301)に、優先度の低い接触I/Oポート25からのコマンドを受信した場合(ステップ302)、ICカード1のCPU21はOS31内のコマンド送受信処理33により、接触I/Oポート25から受信したコマンドの受信処理を行い(ステップ303)、コマンド処理判定機能36により現在実行中のコマンドがあるかどうかを判定する。ICカード1のCPU21は、非接触I/Oポート26で受信したコマンドを非接触I/O用アプリ43で実行していると判定する。コマンド処理中断判定機能38は現在実行中の非接触I/O用アプリ43でのコマンド処理よりも優先度の低い接触I/Oポート25からのコマンドを受信していることになるため、非接触I/O用アプリ43でのコマンド処理を再開すると判定する。そして、コマンド処理中断/再開機能37は、非接触I/O用アプリ43にコマンド処理の再開を指示する(ステップ304)。非接触I/O用アプリ43は、中断していたコマンドの処理を再開する(ステップ305)。
【0044】
非接触I/O用アプリ43でのコマンド処理完了後、ICカード1のCPU21は、OS31内のコマンド送受信処理33により非接触I/Oポート26へのレスポンス送信のための送信処理を行い(ステップ306)、非接触I/Oポート26からコマンドを送信する(ステップ307)。
【0045】
非接触I/Oポート26へのコマンド送信後、ICカード1のCPU21はOS31内の受信待ち時間設定機能39により受信待ち時間dを設定し、待ち状態となっている接触I/O用アプリ42でのコマンド処理開始前に非接触I/Oポートでのコマンド受信がないか待つ(ステップ308)。
受信待ち時間dが経過する前に、非接触I/Oポート26でコマンドを受信すると(ステップ309)、ICカード1のCPU21はOS31内のコマンド送受信処理33により非接触I/Oポート26から受信したコマンドの受信処理を行い、非接触I/O用アプリ43にコマンド処理を指示し(ステップ310)、非接触I/O用アプリ43はコマンド処理を開始する(ステップ311)。
【0046】
非接触I/O用アプリ43でのコマンド処理完了後、ICカード1のCPU21は、OS31内のコマンド送受信処理33により非接触I/Oポート26へのレスポンス送信のための送信処理を行い(ステップ312)、非接触I/Oポート26からコマンドを送信する(ステップ313)。
【0047】
非接触I/Oポート26へのコマンド送信後、ICカード1のCPU21はOS31内の受信待ち時間設定機能39により受信待ち時間dを設定し、待ち状態となっている接触I/O用アプリ42でのコマンド処理開始前に非接触I/Oポートでのコマンド受信がないか待つ(ステップ314)。
【0048】
受信待ち時間設定機能39により設定した受信待ち時間dが経過しても非接触I/Oポート26でコマンドを受信しない場合、ICカード1のCPU21は、OS31のコマンド処理切り替え機能40により待ち状態となっていた接触I/O用アプリ42でのコマンド処理の開始を指示する(ステップ315)。ICカード1のCPU21は、接触I/O用アプリ42によるコマンド処理終了後(ステップ316)、OS31内のコマンド送受信処理33により接触I/Oポート25へのレスポンス送信のための送信処理を行い(ステップ317)、接触I/Oポート25からコマンドを送信する(ステップ318)。
【0049】
以上、説明したように本実施によれば、複数のI/Oポートに優先度を付加し、優先度の高いI/Oポートからのコマンドを優先的に処理するICカード等を提供することができる。
【0050】
添付図面を参照しながら本発明に係るICカードの好適な実施形態について説明したが、前述した実施の形態に限定されない。当業者であれば、特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【0051】
【図1】ICカード1を搭載した携帯電話機3の運用例を示す図
【図2】ICカード1のハードウエア構成を示す図
【図3】ICカード1のメモリ24の詳細を示す図
【図4】携帯電話機3のハードウエア構成を示す図
【図5】ICカード読取装置7のハードウエア構成を示す図
【図6】優先度の低いI/Oポートからのコマンドの処理を実行中に優先度の高いI/Oポートからのコマンドを受信し、コマンド処理を切り替える場合の処理の流れを示す図
【図7】優先度の低いI/Oポートからのコマンド処理を実行中に優先度の高いI/Oポートからのコマンドを受信してもコマンド処理を切り替えない場合の処理の流れを示す図
【図8】優先度の高いI/Oポートからのコマンドの処理を実行中に優先度の低いI/Oポートからのコマンドを受信した場合の処理の流れを示す図
【符号の説明】
【0052】
1………ICカード
3………携帯電話機
5………基地局
7………ICカード読取装置
9………決済ホスト
11………ネットワーク
21………CPU
22………ROM
23………RAM
24………メモリ
25………接触I/Oポート
26………非接触I/Oポート
28………バス
31………OS
32………OS管理処理
33………コマンド送受信処理
34………コマンド管理処理
35………コマンド配送機能
36………コマンド処理判定機能
37………コマンド処理中断/再開機能
38………コマンド中断判定機能
39………受信待ち時間設定機能
40………コマンド処理切り替え機能
41………I/Oポート優先度情報
42………接触I/O用アプリ
43………非接触I/O用アプリ

【特許請求の範囲】
【請求項1】
二つ以上のI/Oポートを有するCPUを内蔵した情報記録媒体であって、
前記CPUを内蔵した情報記録媒体は、
前記I/Oポートの夫々の優先度を保持する優先度保持手段と、
前記I/Oポートでコマンドを受信すると、他の前記I/Oポートで受信したコマンドの実行の有無を判定するコマンド実行判定手段と、
現在実行中のコマンドを受信した前記I/Oポートの優先度と、新たにコマンドを受信した前記I/Oポートの優先度を比較し、比較結果に応じてコマンドの実行状態を決定するコマンド実行決定手段と、
を具備することを特徴とするCPUを内蔵した情報記録媒体。
【請求項2】
前記コマンド実行決定手段は、現在実行中のコマンドを受信した前記I/Oポートの優先度の方が、新たにコマンドを受信した前記I/Oポートの優先度よりも高い場合、現在実行中のコマンドを受信した前記I/Oポートのコマンド実行を続けることを特徴とする請求項1記載のCPUを内蔵した情報記録媒体。
【請求項3】
前記コマンド実行決定手段は、現在実行中のコマンドを受信した前記I/Oポートの優先度の方が、新たにコマンドを受信した前記I/Oポートの優先度よりも低い場合、現在実行中のコマンドを中断し、新たに受信したコマンドを実行することを特徴とする請求項1記載のCPUを内蔵した情報記録媒体。
【請求項4】
前記コマンド実行決定手段は、現在実行中のコマンドを受信した前記I/Oポートの優先度の方が、新たにコマンドを受信した前記I/Oポートの優先度よりも低い場合、現在実行中のコマンドを中断し、新たに受信したコマンドを実行した後、予め決められた待ち時間の間、優先度の高い前記I/Oポートからのコマンド受信待ち状態とすることを特徴とする請求項3記載のCPUを内蔵した情報記録媒体。
【請求項5】
前記コマンド実行決定手段は、現在実行中のコマンドを受信した前記I/Oポートの優先度の方が、新たにコマンドを受信した前記I/Oポートの優先度よりも低い場合、現在実行中のコマンド実行終了後、直ぐに新たに受信したコマンドを実行することを特徴とする請求項1記載のCPUを内蔵した情報記録媒体。
【請求項6】
前記優先度、及び、前記予め決められた待ち時間は、変更可能であることを特徴とする請求項1記載のCPUを内蔵した情報記録媒体。
【請求項7】
二つ以上のI/Oポートを有するCPUを内蔵した情報記録媒体のアプリケーション実行方法であって、
前記I/Oポートの夫々の優先度を保持する優先度保持工程と、
前記I/Oポートでコマンドを受信すると、他の前記I/Oポートで受信したコマンドの実行の有無を判定するコマンド実行判定工程と、
現在実行中のコマンドを受信した前記I/Oポートの優先度と、新たにコマンドを受信した前記I/Oポートの優先度を比較し、比較結果に応じてコマンドの実行状態を決定するコマンド実行決定工程と、
を具備することを特徴とするCPUを内蔵した情報記録媒体アプリケーション実行方法。
【請求項8】
前記コマンド実行決定工程は、現在実行中のコマンドを受信した前記I/Oポートの優先度の方が、新たにコマンドを受信した前記I/Oポートの優先度よりも高い場合、現在実行中のコマンドを受信した前記I/Oポートのコマンド実行を続けることを特徴とする請求項7記載のCPUを内蔵した情報記録媒体アプリケーション実行方法。
【請求項9】
前記コマンド実行決定工程は、現在実行中のコマンドを受信した前記I/Oポートの優先度の方が、新たにコマンドを受信した前記I/Oポートの優先度よりも低い場合、現在実行中のコマンドを中断し、新たに受信したコマンドを実行することを特徴とする請求項7記載のCPUを内蔵した情報記録媒体アプリケーション実行方法。
【請求項10】
前記コマンド実行決定工程は、現在実行中のコマンドを受信した前記I/Oポートの優先度の方が、新たにコマンドを受信した前記I/Oポートの優先度よりも低い場合、現在実行中のコマンドを中断し、新たに受信したコマンドを実行した後、予め決められた待ち時間の間、優先度の高い前記I/Oポートからのコマンド受信待ち状態とすることを特徴とする請求項9記載のCPUを内蔵した情報記録媒体アプリケーション実行方法。
【請求項11】
前記コマンド実行決定工程は、現在実行中のコマンドを受信した前記I/Oポートの優先度の方が、新たにコマンドを受信した前記I/Oポートの優先度よりも低い場合、現在実行中のコマンド実行終了後、直ぐに新たに受信したコマンドを実行することを特徴とする請求項8記載のCPUを内蔵した情報記録媒体アプリケーション実行方法。
【請求項12】
前記優先度、及び、前記予め決められた待ち時間は、変更可能であることを特徴とする請求項6記載のCPUを内蔵した情報記録媒体アプリケーション実行方法。
【請求項13】
コンピュータを請求項1記載のCPUを内蔵した情報記録媒体として機能させるコンピュータで読み取り可能なプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−59422(P2008−59422A)
【公開日】平成20年3月13日(2008.3.13)
【国際特許分類】
【出願番号】特願2006−237410(P2006−237410)
【出願日】平成18年9月1日(2006.9.1)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】