(57)【要約】【課題】複数のＩ／Ｏポートに優先度を付加し、優先度の高いＩ／Ｏポートからのコマンドを優先的に処理するＩＣカード等を提供する。【解決手段】ＩＣカード１は、接触Ｉ／Ｏポート２５と非接触Ｉ／Ｏポート２６を備えており、非接触Ｉ／Ｏポート２６は接触Ｉ／Ｏポート２５よりも優先度を高くする。接触Ｉ／Ｏポート２５で受信したコマンド処理を実行中、非接触Ｉ／Ｏポート２６でコマンドを受信すると、現在実行中のコマンド処理を中断し、非接触Ｉ／Ｏポート２６で受信したコマンドの処理を開始する。非接触Ｉ／Ｏポートで受信したコマンド処理を実行中、接触Ｉ／Ｏポート２５でコマンドを受信した場合は現在実行中のコマンド処理を続け、接触Ｉ／Ｏポート２５で受信したコマンドの処理は待ち状態とする。現在実行中の処理が完了した後も、受信待ち時間を設定し、非接触Ｉ／Ｏポート２６からのコマンド受信を待つ。【選択図】図６
2008059422.tif 000002
【特許請求の範囲】
【請求項１】
二つ以上のＩ／Ｏポートを有するＣＰＵを内蔵した情報記録媒体であって、
前記ＣＰＵを内蔵した情報記録媒体は、
前記Ｉ／Ｏポートの夫々の優先度を保持する優先度保持手段と、
前記Ｉ／Ｏポートでコマンドを受信すると、他の前記Ｉ／Ｏポートで受信したコマンドの実行の有無を判定するコマンド実行判定手段と、
現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度と、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度を比較し、比較結果に応じてコマンドの実行状態を決定するコマンド実行決定手段と、
を具備することを特徴とするＣＰＵを内蔵した情報記録媒体。
【請求項２】
前記コマンド実行決定手段は、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度の方が、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度よりも高い場合、現在実行中のコマンドを受信した前記Ｉ／Ｏポートのコマンド実行を続けることを特徴とする請求項１記載のＣＰＵを内蔵した情報記録媒体。
【請求項３】
前記コマンド実行決定手段は、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度の方が、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度よりも低い場合、現在実行中のコマンドを中断し、新たに受信したコマンドを実行することを特徴とする請求項１記載のＣＰＵを内蔵した情報記録媒体。
【請求項４】
前記コマンド実行決定手段は、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度の方が、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度よりも低い場合、現在実行中のコマンドを中断し、新たに受信したコマンドを実行した後、予め決められた待ち時間の間、優先度の高い前記Ｉ／Ｏポートからのコマンド受信待ち状態とすることを特徴とする請求項３記載のＣＰＵを内蔵した情報記録媒体。
【請求項５】
前記コマンド実行決定手段は、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度の方が、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度よりも低い場合、現在実行中のコマンド実行終了後、直ぐに新たに受信したコマンドを実行することを特徴とする請求項１記載のＣＰＵを内蔵した情報記録媒体。
【請求項６】
前記優先度、及び、前記予め決められた待ち時間は、変更可能であることを特徴とする請求項１記載のＣＰＵを内蔵した情報記録媒体。
【請求項７】
二つ以上のＩ／Ｏポートを有するＣＰＵを内蔵した情報記録媒体のアプリケーション実行方法であって、
前記Ｉ／Ｏポートの夫々の優先度を保持する優先度保持工程と、
前記Ｉ／Ｏポートでコマンドを受信すると、他の前記Ｉ／Ｏポートで受信したコマンドの実行の有無を判定するコマンド実行判定工程と、
現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度と、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度を比較し、比較結果に応じてコマンドの実行状態を決定するコマンド実行決定工程と、
を具備することを特徴とするＣＰＵを内蔵した情報記録媒体アプリケーション実行方法。
【請求項８】
前記コマンド実行決定工程は、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度の方が、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度よりも高い場合、現在実行中のコマンドを受信した前記Ｉ／Ｏポートのコマンド実行を続けることを特徴とする請求項７記載のＣＰＵを内蔵した情報記録媒体アプリケーション実行方法。
【請求項９】
前記コマンド実行決定工程は、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度の方が、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度よりも低い場合、現在実行中のコマンドを中断し、新たに受信したコマンドを実行することを特徴とする請求項７記載のＣＰＵを内蔵した情報記録媒体アプリケーション実行方法。
【請求項１０】
前記コマンド実行決定工程は、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度の方が、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度よりも低い場合、現在実行中のコマンドを中断し、新たに受信したコマンドを実行した後、予め決められた待ち時間の間、優先度の高い前記Ｉ／Ｏポートからのコマンド受信待ち状態とすることを特徴とする請求項９記載のＣＰＵを内蔵した情報記録媒体アプリケーション実行方法。
【請求項１１】
前記コマンド実行決定工程は、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度の方が、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度よりも低い場合、現在実行中のコマンド実行終了後、直ぐに新たに受信したコマンドを実行することを特徴とする請求項８記載のＣＰＵを内蔵した情報記録媒体アプリケーション実行方法。
【請求項１２】
前記優先度、及び、前記予め決められた待ち時間は、変更可能であることを特徴とする請求項６記載のＣＰＵを内蔵した情報記録媒体アプリケーション実行方法。
【請求項１３】
コンピュータを請求項１記載のＣＰＵを内蔵した情報記録媒体として機能させるコンピュータで読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＩ／Ｏポートからのコマンドを受信し、優先度の高いＩ／Ｏポートからのコマンドを優先して処理するＩＣカード等に関する。
【背景技術】
【０００２】
現在、金融、通信、交通分野を中心に、ＩＣカードの普及が進んでいる。ＩＣカードの種類は、店舗等に設置された端末に差し込んで利用する接触型ＩＣカードと、端末にかざして利用する非接触型ＩＣカードに大別され、サービス要件に基づいてそれぞれ採用されている。
また、通信分野において通信機能を持つ携帯型端末を使った決済サービスが登場してきた。このような携帯型端末に求められるＩＣカードの機能には、通信サービス向けの接触型ＩＣカード機能と、決済サービス向けの非接触型ＩＣカード機能がある。このため、少なくとも接触型、非接触型の２つのＩ／Ｏポートを有し、それぞれのポートから受信されたコマンドを処理するＩＣカードが実用化されている。（特許文献１参照）
【０００３】
【特許文献１】特開２０００−３４１４２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の方法ではＩＣカードのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が、接触型のＩ／Ｏポート、非接触型のＩ／Ｏポートのそれぞれから受信したコマンドを順次実行するため、一方のＩ／Ｏポートから受信したコマンドを実行している間、もう一方のＩ／Ｏポートから受信したコマンドを実行することはできない。
通信サービスは接触型Ｉの／Ｏポート、決済サービスは非接触型のＩ／Ｏポートというように、ＩＣカードにより実現されるサービス及びそのサービスで使用されるＩ／Ｏポートは固定であることが多い。また、ユーザの利便性、セキュリティ等のサービスの性質上、一定時間内に処理を完了させることが要求される場合がある。このような場合、接触型のＩ／Ｏポート、非接触型のＩ／Ｏポートそれぞれに受信されたコマンドを、受信した順序で実行した場合、要求が満足できないという状況が発生する。
【０００５】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、複数のＩ／Ｏポートに優先度を付加し、優先度の高いＩ／Ｏポートからのコマンドを優先的に処理するＩＣカード等を提供することにある。
【課題を解決するための手段】
【０００６】
前述した目的を達成するために第１の発明は、二つ以上のＩ／Ｏポートを有するＣＰＵを内蔵した情報記録媒体であって、前記ＣＰＵを内蔵した情報記録媒体は、前記Ｉ／Ｏポートの夫々の優先度を保持する優先度保持手段と、前記Ｉ／Ｏポートでコマンドを受信すると、他の前記Ｉ／Ｏポートで受信したコマンドの実行の有無を判定するコマンド実行判定手段と、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度と、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度を比較し、比較結果に応じてコマンドの実行状態を決定するコマンド実行決定手段と、を具備することを特徴とするＣＰＵを内蔵した情報記録媒体である。
【０００７】
ＣＰＵを内蔵した情報記録媒体のコマンド実行決定手段は、現在実行中のコマンドを受信したＩ／Ｏポートの優先度と、新たにコマンドを受信したＩ／Ｏポートの優先度を比較し、現在実行中のコマンドを受信したＩ／Ｏポートの優先度の方が低いが、処理パフォーマンスやリソース等の理由により、実行中のコマンドを中断して優先度の高いＩ／Ｏポートで受信したコマンド実行に切り替えることを行わない場合、現在実行中のコマンドを続行し、終了後、直ちに優先度の高いＩ／Ｏポートで受信したコマンドを実行する。
ＣＰＵを内蔵した情報記録媒体は、新たにコマンドを受信したＩ／Ｏポートの優先度の方が高い場合、現在実行中のコマンドを中断して待ち状態とし、新たに受信したコマンドを実行する。また、新たに受信したコマンドの実行が終了した後、待ち状態となっているコマンドの処理を再開する前に、予め決められた待ち時間の間、優先度の高い前記Ｉ／Ｏポートからのコマンド受信待ち状態とすることにより、優先度の高いＩ／Ｏポートからのコマンドを優先的に処理する。
【０００８】
ＣＰＵを内蔵した情報記録媒体において、現在実行中のコマンドを受信したＩ／Ｏポートの優先度と、新たにコマンドを受信したＩ／Ｏポートの優先度を比較し、現在実行中のコマンドを受信したＩ／Ｏポートの優先度の方が高いが、スケジューリングあるいはリソース等の理由により、実行中のコマンドを中断して別のコマンド実行に切り替えることを行わない場合、現在実行中のコマンドを続行し、終了後、受信待ち時間を設定することなく、直ぐに新たに受信したコマンドを実行する。
ＣＰＵを内蔵した情報記録媒体のＩ／Ｏポートに設定する優先度、及び、予め決められた待ち時間は、ＣＰＵを内蔵した情報記録媒体発行時、あるいは、運用時において変更することが可能である。
【０００９】
第２の発明は、二つ以上のＩ／Ｏポートを有するＣＰＵを内蔵した情報記録媒体のアプリケーション実行方法であって、前記Ｉ／Ｏポートの夫々の優先度を保持する優先度保持工程と、前記Ｉ／Ｏポートでコマンドを受信すると、他の前記Ｉ／Ｏポートで受信したコマンドの実行の有無を判定するコマンド実行判定工程と、現在実行中のコマンドを受信した前記Ｉ／Ｏポートの優先度と、新たにコマンドを受信した前記Ｉ／Ｏポートの優先度を比較し、比較結果に応じてコマンドの実行状態を決定するコマンド実行決定工程と、を具備することを特徴とするＣＰＵを内蔵した情報記録媒体アプリケーション実行方法である。
【００１０】
第３の発明は、コンピュータを第１の発明のＣＰＵを内蔵した情報記録媒体として機能させるコンピュータで読み取り可能なプログラムである。
【発明の効果】
【００１１】
本発明によれば、複数のＩ／Ｏポートに優先度を付加し、優先度の高いＩ／Ｏポートからのコマンドを優先的に処理するＩＣカード等を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照しながら、本発明に係る好適な実施形態について詳細に説明する。
最初に、図１を参照しながら、本実施の形態に係るＩＣカード１の運用例について説明する。
図１は、ＩＣカード１を搭載した携帯電話機３の運用例を示す図である。
【００１３】
ＩＣカード１は、携帯電話機３やＰＤＡ（Ｐｅｒｓｏｎａｌ  ＤｉｇｉｔａｌＡｓｓｉｓｔａｎｃｅ）のような携帯可能な通信端末に搭載される取り外し可能な記録媒体で、第２世代携帯電話機であるＧＳＭに搭載されていたＳＩＭ（ＳｕｂＳｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）カードや、第３世代携帯電話機に搭載されているＵＩＭカードが知られている。ＩＣカード１は、大きさが１５×２５ｍｍ、厚さ８ｍｍ程度の小型ＩＣカードである。
ＩＣカード１は、内部にアンテナを持ち、あるいは、非接触用アンテナを持つ通信端末側から非接触用Ｉ／Ｏポートを介して、外部の端末等から発信される弱い電波を利用してデータを送受信するＩＣカードで、鉄道、バス等のプリペイドカード及び定期券として、あるいは、クレジットや電子マネー等の決済サービスで利用することができる。
ＩＣカード１は、携帯電話機３の側面に設けられた挿入口（図示しない）、あるいは、携帯電話機３の裏側の蓋を開いたバッテリー（図示しない）の内側または外側の所定の凹部に固定される。
【００１４】
携帯電話機３は、送受信するためのアンテナ、表示パネル、キーボタン等を有し、取り外し可能な記録媒体であるＩＣカード１を搭載している。携帯電話機３は、ＩＣカード１の接触型のＩ／Ｏポートを介してコマンドを送受信し、基地局５を通して通話、Ｗｅｂアクセス、メール送受信等の処理を実行する。
【００１５】
ＩＣカード読取装置７はリーダライタを有し、ＩＣカード１の非接触型のＩ／Ｏポートを介して無線で通信する。
ＩＣカード読取装置７は、インターネットのようなネットワーク１１を介して決済ホスト９に接続されている。決済ホスト９は、クレジットや電子マネー等の決済サービスを提供するホストコンピュータで、ＩＣカード１はＩＣカード読取装置７を介して決済ホスト９と通信し、決済サービスを利用することができる。
【００１６】
次に、図２、３を参照しながら、ＩＣカード１の詳細について説明する。
図２は、ＩＣカード１のハードウエア構成を示す図、図３は、ＩＣカード１のメモリ２４の詳細を示す図である。
【００１７】
図２に示すように、ＩＣカード１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３、メモリ２４、接触Ｉ／Ｏポート２５、非接触Ｉ／Ｏポート２６がバス２８を介して接続される。
【００１８】
ＣＰＵ２１は、プログラムの実行を行う。ＲＯＭ２２は、プログラム命令あるいはデータ等を格納する。ＲＡＭ２３は、プログラムの実行中、一時的にデータ等を格納する。
メモリ２４は、ＩＣカード１の動作に必要となるデータ等を保存している。
【００１９】
接触Ｉ／Ｏポート２５は、携帯電話機３による通話処理、Ｗｅｂアクセス、メール送受信のような通信サービスを実行するためにコマンドを送受信するためのＩ／Ｏポートである。
非接触Ｉ／Ｏポート２６は、決済サービスや認証処理等のサービスのための通信を行うＩ／Ｏポートである。ＩＣカード１をＩＣカード読取装置７にかざすことにより、ＩＣカード１は非接触Ｉ／Ｏポート２６を介してＩＣカード読取装置７と無線通信し、ネットワーク１１を介して決済ホスト９等と接続する。ＩＣカード１は、決済ホスト９と接続することにより決済サービスを使用することができる。
【００２０】
図３に示すように、メモリ２４は、ＯＳ３１、Ｉ／Ｏポート優先度情報４１、接触Ｉ／Ｏ用アプリ４２、非接触Ｉ／Ｏ用アプリ４３等を有する。
ＯＳ３１は、ＩＣカード１全体の動作を制御するためのプログラムである。
接触Ｉ／Ｏ用アプリ４２は、ＩＣカード１の接触Ｉ／Ｏポート２５からのコマンドを処理するためのアプリケーションである。
非接触Ｉ／Ｏ用アプリ４３は、ＩＣカード１の非接触Ｉ／Ｏポート２６からのコマンドを処理するためのアプリケーションである。
Ｉ／Ｏポート優先度情報４１は、接触Ｉ／Ｏポート２５、非接触Ｉ／Ｏポート２６等のＩ／Ｏポートに対する優先度を保持しており、ＩＣカード１の発行時、あるいは、運用時にコマンド発行により各Ｉ／Ｏポートに対する優先度を設定する。Ｉ／Ｏポート優先度情報４１は、ＩＣカード１発行時にデフォルトのＩ／Ｏポートの優先度として設定するようにしてもよい。
非接触Ｉ／Ｏポート２６を通して処理される決済サービス等は、一定時間内にコマンドの処理を完了することが要求されるため、通常、非接触Ｉ／Ｏポート２６は接触Ｉ／Ｏポート２５よりも高い優先度とする。
【００２１】
ＯＳ３１は、ＯＳ管理処理３２、コマンド送受信処理３３、コマンド管理処理３４等を有する。
ＯＳ管理処理３２は、ＯＳ３１全体の動作を管理する。
コマンド送受信処理３３は、接触Ｉ／Ｏポート２５、非接触Ｉ／Ｏポート２６等とのコマンドの送受信に必要となる処理を行う。
コマンド管理処理３４は、コマンド送受信処理３３が接触Ｉ／Ｏポート２５、あるいは、非接触Ｉ／Ｏポート２６から受信するコマンドをスケジューリングし、適切なアプリケーションにコマンドを渡し、実行を指示するもので、コマンド配送機能３５、コマンド処理判定機能３６、コマンド処理中断／再開機能３７、コマンド処理中断判定機能３８、受信待ち時間設定機能３９、コマンド処理切り替え機能４０等を有する。
【００２２】
コマンド配送機能３５は、次に実行するコマンドを接触Ｉ／Ｏ用アプリ４２、非接触Ｉ／Ｏ用アプリ４３等の適切なアプリケーションに配送する。
コマンド処理判定機能３６は、接触Ｉ／Ｏポート２５あるいは非接触Ｉ／Ｏポート２６でコマンドを受信した時、現在、接触Ｉ／Ｏ用アプリ４２、非接触Ｉ／Ｏ用アプリ４３等のアプリケーションがコマンドを実行しているかどうかを判定する。また、コマンド処理判定機能３６は、現在実行中のコマンドがある場合、そのコマンドがどのＩ／Ｏポートから受信したコマンドなのかを判定する。
【００２３】
コマンド処理中断／再開機能３７は、接触Ｉ／Ｏ用アプリ４２、あるいは、非接触Ｉ／Ｏポート用アプリ４３等で現在実行しているコマンド処理を中断、再開する。
コマンド処理中断判定機能３８は、接触Ｉ／Ｏ用アプリ４２または非接触Ｉ／Ｏ用アプリ４３で現在コマンド処理を実行しているときに、他のＩ／Ｏポートからコマンドを受信した場合、現在実行中のコマンド処理を中断するか、あるいは、現在実行中のコマンド処理を継続するかを判定する。
【００２４】
受信待ち時間設定機能３９は、優先度の低いＩ／Ｏポートで受信したコマンドを処理中に優先度の高いＩ／Ｏポートでコマンドを受信し、優先度の低いＩ／Ｏポートで受信したコマンドの処理を中断して優先度の高いＩ／Ｏポートで受信したコマンドを処理し、優先度の低いＩ／Ｏポートで受信したコマンドの処理が再開待ち状態の場合、あるいは、優先度の高いＩ／Ｏポートで受信したコマンドの処理中に優先度の低いＩ／Ｏポートでコマンドを受信し、優先度の高いＩ／Ｏポートから受信したコマンドの処理を続行して優先度の低いＩ／Ｏポートから受信したコマンドの処理の開始を待っている場合、優先度の高いＩ／Ｏポートから受信したコマンド処理を完了しても、待ち状態となっている優先度の低いＩ／Ｏポートから受信したコマンドの処理を開始せず、予め決められた受信待ち時間の間、優先度の高いＩ／Ｏポートからのコマンド受信待ち状態とする。
コマンド処理切り替え機能４０は、受信待ち時間設定機能３９が設定した受信待ち時間の間に、優先度の高いＩ／Ｏポートから次のコマンドが受信された場合は、そのコマンドの処理を開始する。受信待ち時間内に優先度の高いＩ／Ｏポートから次のコマンドが受信されない場合、待ち状態となっている優先度の低いＩ／Ｏポートからのコマンドの処理を開始する。
【００２５】
次に、図４によりＩＣカード１を搭載する携帯電話機３について説明する。
図４は、携帯電話機３のハードウエア構成を示す図である。
【００２６】
図４に示すように、携帯電話機３は、制御部５１、無線通信部５２、表示部５３、入力部５４、通話処理部５５、メモリ５６、ＩＣカードインタフェース５７等がバス５８を介して接続される。
【００２７】
制御部５１は、プログラムの実行を行うＣＰＵと、ＯＳ、プログラム命令あるいはデータ等を格納するためのＲＯＭ、一時的な作業用データを格納するためのＲＡＭ等のメモリから構成される。制御部５１は、携帯電話機３全体を制御する。
【００２８】
無線通信部５２はアンテナを有し、基地局５との間で行われる無線通信を制御する。無線通信部５２は、制御部５１の制御の下、音声に関するデータやパケット通信用のデータ等の信号を生成し、携帯電話機３のアンテナを介して基地局５に送信したり、あるいは、基地局５から送信される無線信号をアンテナを介して受信し、受信した信号を復調して音声に関するデータやパケット通信用のデータを取得する。
【００２９】
表示部５３は表示パネルを有し、表示パネルへの表示制御を行う。
入力部５４は、数字や文字、操作指示を入力するためのキーボタンを有し、キーボタンの操作に応じた信号を制御部５１に出力する。
通話処理部５５は、マイクロフォンやスピーカ、音声処理部等を有し、制御部５１の制御により呼接続、切断処理を含む通話処理を行う。
メモリ５６は、携帯電話機３にインストールされているアプリケーションプログラムや、電話番号及びメールアドレス等のアドレス帳データ等が格納されている。
ＩＣカードインタフェース５７は、携帯電話機３に搭載されたＩＣカード１と携帯電話機３との間の通信を制御する。
【００３０】
次に、図５によりＩＣカード１と無線通信を行うＩＣカード読取装置７について説明する。
図５は、ＩＣカード読取装置７のハードウエア構成図を示す図である。
【００３１】
図５に示すように、ＩＣカード読取装置７は、バス６７により相互接続された制御部６１、入力部６２、表示部６３、記憶装置６４、通信部６５、非接触ＩＣカードＲ／Ｗ（リーダライタ）６６等を有する。
【００３２】
制御部６１は、プログラムの実行を行うＣＰＵと、プログラム命令あるいはデータ等を格納するためのＲＯＭ、ＲＡＭ等のメモリから構成される。制御部６１は、ＩＣカード読取装置７全体の動作を制御する。
【００３３】
入力部６２は、ＩＣカード読取装置７へのデータを入力するための入力装置である。
表示部６３は、ＬＣＤ等の表示装置である。
記憶装置６４は、制御プログラム等の固定データ、ＩＣカード１が利用する決済サービス等に関するデータ等を格納するための記憶媒体である。
通信部６５は、通信制御装置、通信ポート等であり、ネットワーク１１を介した決済ホスト９との通信等を制御する。
非接触Ｉ／ＣカードＲ／Ｗ６６は、ＩＣカード１との非接触型の無線通信により、ＩＣカード１からのデータの読み取り、書き込みを行う。
【００３４】
次に、図６、７、８を参照しながら、本実施形態の動作について説明する。
図６は、優先度の低いＩ／Ｏポートからのコマンドの処理を実行中に優先度の高いＩ／Ｏポートからのコマンドを受信し、コマンド処理を切り替える場合の処理の流れを示す図、図７は、優先度の低いＩ／Ｏポートからのコマンド処理を実行中に優先度の高いＩ／Ｏポートからのコマンドを受信してもコマンド処理を切り替えない場合の処理の流れを示す図、図８は、優先度の高いＩ／Ｏポートからのコマンドの処理を実行中に優先度の低いＩ／Ｏポートからのコマンドを受信した場合の処理の流れを示す図である。
図６、７、８において、ＩＣカード１のメモリ２４内のＩ／Ｏポート優先度情報４１により、非接触Ｉ／Ｏポート２６は接触Ｉ／Ｏポート２５よりも高い優先度に設定されているとする。
【００３５】
図６に示すように、ＩＣカード１のＣＰＵ２１は、接触Ｉ／Ｏポート２５で受信したコマンドを接触Ｉ／Ｏ用アプリ４２で処理中（ステップ１０１）に、ＩＣカード読み取り装置７からのコマンドを非接触Ｉ／Ｏポート２６で受信する（ステップ１０２）。
ＩＣカード１のＣＰＵ２１は、ＯＳ３１内のコマンド送受信処理３３により非接触Ｉ／Ｏポート２６から受信したコマンドの受信処理を行い（ステップ１０３）、コマンド処理判定機能３６により現在実行中のコマンドがあるかどうかを判定する。ＩＣカード１のＣＰＵ２１は、接触Ｉ／Ｏポート２５で受信したコマンドを接触Ｉ／Ｏ用アプリ４２で実行していると判定し、コマンド処理中断判定機能３８は現在実行中の接触Ｉ／Ｏ用アプリ４２でのコマンド処理よりも優先度の高い非接触Ｉ／Ｏポート２６からのコマンドを受信していることになるため、接触Ｉ／Ｏ用アプリ４２でのコマンド処理を中断すると判定する。そして、コマンド処理中断／再開機能３７は、接触Ｉ／Ｏ用アプリ４２でのコマンド処理を中断し（ステップ１０４）、非接触Ｉ／Ｏ用アプリ４３に受信したコマンドを渡し、処理を指示する。非接触Ｉ／Ｏ用アプリ４３は、受信したコマンドの処理を開始する（ステップ１０５）。
【００３６】
非接触Ｉ／Ｏ用アプリ４３でのコマンド処理完了後、ＩＣカード１のＣＰＵ２１は、ＯＳ３１内のコマンド送受信処理３３により非接触Ｉ／Ｏポート２６へのレスポンス送信のための送信処理を行い（ステップ１０６）、非接触Ｉ／Ｏポート２６からコマンドを送信する（ステップ１０７）。
【００３７】
非接触Ｉ／Ｏポート２６へのコマンド送信後、ＩＣカード１のＣＰＵ２１はＯＳ３１内の受信待ち時間設定機能３９により受信待ち時間ｄを設定し、中断している接触Ｉ／Ｏ用アプリ４２でのコマンド処理開始前に非接触Ｉ／Ｏポート２６でのコマンド受信がないか待つ（ステップ１０８）。
受信待ち時間ｄは、デフォルト値としてＩＣカード１の発行時、あるいは、運用時にコマンド発行により設定する。
【００３８】
受信待ち時間設定機能３９により設定した受信待ち時間ｄが経過しても非接触Ｉ／Ｏポート２６でコマンドを受信しない場合、ＩＣカード１のＣＰＵ２１は、ＯＳ３１のコマンド処理切り替え機能４０により中断していた接触Ｉ／Ｏ用アプリ４２でのコマンド処理の再開を指示する（ステップ１０９）。ＩＣカード１のＣＰＵ２１は、接触Ｉ／Ｏ用アプリ４２によるコマンド処理終了後（ステップ１１０）、ＯＳ３１内のコマンド送受信処理３３により接触Ｉ／Ｏポート２５へのレスポンス送信のための送信処理を行い（ステップ１１１）、接触Ｉ／Ｏポート２５からコマンドを送信する（ステップ１１２）。
【００３９】
図６のステップ１０４では、接触Ｉ／Ｏポート２５から受信したコマンドを処理する接触Ｉ／Ｏ用アプリ４２の実行中に、優先度の高い非接触Ｉ／Ｏポート２６からコマンドを受信した場合、接触Ｉ／Ｏ用アプリ４２の実行を中断して非接触Ｉ／Ｏ用アプリ４３に実行を切り替えたが、実行中のアプリケーションを中断させるのが難しい場合、図７に示すように実行中のアプリケーションの中断は行わないという方法もある。
【００４０】
ＩＣカード１のＣＰＵ２１は、接触Ｉ／Ｏポート２５で受信したコマンドを接触Ｉ／Ｏ用アプリ４２で処理中（ステップ２０１）に、ＩＣカード読み取り装置７からのコマンドを非接触Ｉ／Ｏポート２６で受信する（ステップ２０２）。
ＩＣカード１のＣＰＵ２１は、ＯＳ３１内のコマンド送受信処理３３により非接触Ｉ／Ｏポート２６から受信したコマンドの受信処理を行い（ステップ２０３）、コマンド処理判定機能３６により、コマンドを受信した非接触Ｉ／Ｏポート２６よりも優先度の低い接触Ｉ／Ｏポート２５で受信したコマンドを接触Ｉ／Ｏ用アプリ４２で実行していると判定する。そして、コマンド処理中断／再開機能３７は、接触Ｉ／Ｏ用アプリ４２でのコマンド処理を再開するように指示する（ステップ２０４）。
【００４１】
ＩＣカード１のＣＰＵ２１は、中断していた接触Ｉ／Ｏ用アプリ４２によるコマンドの処理を再開する（ステップ２０５）。コマンド処理終了後、ＩＣカード１のＣＰＵ２１はＯＳ３１内のコマンド送受信処理３３により接触Ｉ／Ｏポート２５へのレスポンス送信のための送信処理を行い（ステップ２０６）、接触Ｉ／Ｏポート２５からコマンドを送信する（ステップ２０７）。
処理を完了した接触Ｉ／Ｏポート２５よりも優先度の高い非接触Ｉ／Ｏポート２６から受信したコマンドの処理が待ち状態となっているため、ＩＣカード１のＣＰＵ２１は受信待ち時間を設定することなく、非接触Ｉ／Ｏ用アプリ４３に受信したコマンドを渡し、コマンド処理を指示し（ステップ２０８）、非接触用Ｉ／Ｏアプリ４３はコマンド処理を開始する（ステップ２０９）。
【００４２】
非接触Ｉ／Ｏ用アプリ４３でのコマンド処理完了後、ＩＣカード１のＣＰＵ２１は、ＯＳ３１内のコマンド送受信処理３３により非接触Ｉ／Ｏポート２６へのレスポンス送信のための送信処理を行い（ステップ２１０）、非接触Ｉ／Ｏポート２６からコマンドを送信する（ステップ２１１）。
【００４３】
図８に示すように、優先度の高い非接触Ｉ／Ｏポート２６からのコマンドの処理を非接触Ｉ／Ｏ用アプリ４３で実行中（ステップ３０１）に、優先度の低い接触Ｉ／Ｏポート２５からのコマンドを受信した場合（ステップ３０２）、ＩＣカード１のＣＰＵ２１はＯＳ３１内のコマンド送受信処理３３により、接触Ｉ／Ｏポート２５から受信したコマンドの受信処理を行い（ステップ３０３）、コマンド処理判定機能３６により現在実行中のコマンドがあるかどうかを判定する。ＩＣカード１のＣＰＵ２１は、非接触Ｉ／Ｏポート２６で受信したコマンドを非接触Ｉ／Ｏ用アプリ４３で実行していると判定する。コマンド処理中断判定機能３８は現在実行中の非接触Ｉ／Ｏ用アプリ４３でのコマンド処理よりも優先度の低い接触Ｉ／Ｏポート２５からのコマンドを受信していることになるため、非接触Ｉ／Ｏ用アプリ４３でのコマンド処理を再開すると判定する。そして、コマンド処理中断／再開機能３７は、非接触Ｉ／Ｏ用アプリ４３にコマンド処理の再開を指示する（ステップ３０４）。非接触Ｉ／Ｏ用アプリ４３は、中断していたコマンドの処理を再開する（ステップ３０５）。
【００４４】
非接触Ｉ／Ｏ用アプリ４３でのコマンド処理完了後、ＩＣカード１のＣＰＵ２１は、ＯＳ３１内のコマンド送受信処理３３により非接触Ｉ／Ｏポート２６へのレスポンス送信のための送信処理を行い（ステップ３０６）、非接触Ｉ／Ｏポート２６からコマンドを送信する（ステップ３０７）。
【００４５】
非接触Ｉ／Ｏポート２６へのコマンド送信後、ＩＣカード１のＣＰＵ２１はＯＳ３１内の受信待ち時間設定機能３９により受信待ち時間ｄを設定し、待ち状態となっている接触Ｉ／Ｏ用アプリ４２でのコマンド処理開始前に非接触Ｉ／Ｏポートでのコマンド受信がないか待つ（ステップ３０８）。
受信待ち時間ｄが経過する前に、非接触Ｉ／Ｏポート２６でコマンドを受信すると（ステップ３０９）、ＩＣカード１のＣＰＵ２１はＯＳ３１内のコマンド送受信処理３３により非接触Ｉ／Ｏポート２６から受信したコマンドの受信処理を行い、非接触Ｉ／Ｏ用アプリ４３にコマンド処理を指示し（ステップ３１０）、非接触Ｉ／Ｏ用アプリ４３はコマンド処理を開始する（ステップ３１１）。
【００４６】
非接触Ｉ／Ｏ用アプリ４３でのコマンド処理完了後、ＩＣカード１のＣＰＵ２１は、ＯＳ３１内のコマンド送受信処理３３により非接触Ｉ／Ｏポート２６へのレスポンス送信のための送信処理を行い（ステップ３１２）、非接触Ｉ／Ｏポート２６からコマンドを送信する（ステップ３１３）。
【００４７】
非接触Ｉ／Ｏポート２６へのコマンド送信後、ＩＣカード１のＣＰＵ２１はＯＳ３１内の受信待ち時間設定機能３９により受信待ち時間ｄを設定し、待ち状態となっている接触Ｉ／Ｏ用アプリ４２でのコマンド処理開始前に非接触Ｉ／Ｏポートでのコマンド受信がないか待つ（ステップ３１４）。
【００４８】
受信待ち時間設定機能３９により設定した受信待ち時間ｄが経過しても非接触Ｉ／Ｏポート２６でコマンドを受信しない場合、ＩＣカード１のＣＰＵ２１は、ＯＳ３１のコマンド処理切り替え機能４０により待ち状態となっていた接触Ｉ／Ｏ用アプリ４２でのコマンド処理の開始を指示する（ステップ３１５）。ＩＣカード１のＣＰＵ２１は、接触Ｉ／Ｏ用アプリ４２によるコマンド処理終了後（ステップ３１６）、ＯＳ３１内のコマンド送受信処理３３により接触Ｉ／Ｏポート２５へのレスポンス送信のための送信処理を行い（ステップ３１７）、接触Ｉ／Ｏポート２５からコマンドを送信する（ステップ３１８）。
【００４９】
以上、説明したように本実施によれば、複数のＩ／Ｏポートに優先度を付加し、優先度の高いＩ／Ｏポートからのコマンドを優先的に処理するＩＣカード等を提供することができる。
【００５０】
添付図面を参照しながら本発明に係るＩＣカードの好適な実施形態について説明したが、前述した実施の形態に限定されない。当業者であれば、特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００５１】
【図１】ＩＣカード１を搭載した携帯電話機３の運用例を示す図
【図２】ＩＣカード１のハードウエア構成を示す図
【図３】ＩＣカード１のメモリ２４の詳細を示す図
【図４】携帯電話機３のハードウエア構成を示す図
【図５】ＩＣカード読取装置７のハードウエア構成を示す図
【図６】優先度の低いＩ／Ｏポートからのコマンドの処理を実行中に優先度の高いＩ／Ｏポートからのコマンドを受信し、コマンド処理を切り替える場合の処理の流れを示す図
【図７】優先度の低いＩ／Ｏポートからのコマンド処理を実行中に優先度の高いＩ／Ｏポートからのコマンドを受信してもコマンド処理を切り替えない場合の処理の流れを示す図
【図８】優先度の高いＩ／Ｏポートからのコマンドの処理を実行中に優先度の低いＩ／Ｏポートからのコマンドを受信した場合の処理の流れを示す図
【符号の説明】
【００５２】
１………ＩＣカード
３………携帯電話機
５………基地局
７………ＩＣカード読取装置
９………決済ホスト
１１………ネットワーク
２１………ＣＰＵ
２２………ＲＯＭ
２３………ＲＡＭ
２４………メモリ
２５………接触Ｉ／Ｏポート
２６………非接触Ｉ／Ｏポート
２８………バス
３１………ＯＳ
３２………ＯＳ管理処理
３３………コマンド送受信処理
３４………コマンド管理処理
３５………コマンド配送機能
３６………コマンド処理判定機能
３７………コマンド処理中断／再開機能
３８………コマンド中断判定機能
３９………受信待ち時間設定機能
４０………コマンド処理切り替え機能
４１………Ｉ／Ｏポート優先度情報
４２………接触Ｉ／Ｏ用アプリ
４３………非接触Ｉ／Ｏ用アプリ
【図１】
2008059422.tif 000003
【図２】
2008059422.tif 000004
【図３】
2008059422.tif 000005
【図４】
2008059422.tif 000006
【図５】
2008059422.tif 000007
【図６】
2008059422.tif 000008
【図７】
2008059422.tif 000009
【図８】
2008059422.tif 000010