説明

ICチップ、ICチップにおける処理方法、ICチップ用処理プログラム、及び携帯端末

【課題】ある通信手段に関するリセット処理と、他の通信手段を介して処理時間制約の厳しいサービス要求に応じたコマンド処理が同時に発生した場合であっても、リセット処理の時間制約を守りながらサービス要求に応じたコマンド処理を優先して実行することが可能なICチップ、ICチップにおける処理方法、ICチップ用処理プログラム、及び携帯端末を提供する。
【解決手段】第一の通信手段を介して受信されたリセット信号に応じたリセット処理と、第二の通信手段を介して受信された、サービス要求に係るコマンド信号に応じたコマンド処理が同時に発生した場合に、UIM13は、上記リセット処理のうち、コントローラ11に対するリアクション、及び必要最低限の準備処理を実行した後、上記受信されたコマンド信号に応じたコマンド処理を実行し、その後に必要最低限の準備処理以外の準備処理を実行するように構成した。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のインターフェースに対応したICチップにおける処理技術に関する。
【背景技術】
【0002】
従来から、接触型IC(Integrated Circuit)チップが搭載されたUIM(User Identity Module)が搭載された携帯端末が普及している。近年、このような携帯端末に非接触型ICチップを搭載することにより、UIMに、従来の機能(例えば加入者認証処理等)に加えて、非接触インターフェースを使って様々な機能(サービス)を提供するためのグローバルな仕組みの整備が進められている。携帯端末に搭載される非接触型ICチップには、例えば、FeliCa(登録商標)の通信方式を採用した所謂FeliCaチップや、NFC(Near Field Communication)の規格で規定されるCLF(ContactLess Front-end)などがある。
【0003】
そして、UIMについては、接触型ICチップに接触通信用のソフトウェアに加え、非接触通信用のソフトウェアを搭載することが検討されている。
【0004】
上記の構成を考えた場合、UIMは、1チップ(1CPU)に接触及び非接触通信用の2種類のソフトウェアを備え、それぞれのエンティティは異なることから、接触又は非接触通信インターフェースのリセット処理とコマンド処理等のイベントが2つのインターフェースで同時に発生、つまり、競合が発生する可能性がある。インターフェースのリセット処理とコマンド処理とが競合するケースとしては、例えば、携帯端末のバッテリー残量が無くなり、電源がOFF状態(Power loss)になった後にバッテリーを充電し、その後、ユーザが電源をON(UIMに電力供給)にしながら携帯端末を非接触リーダに翳した場合、あるいは携帯端末の機能を担うコントローラ(制御部)とUIM間の通信で何らかのエラーが発生し、携帯端末がインターフェースのリセット処理を実行したと同時にユーザによって非接触リーダに翳された場合が挙げられる。
【0005】
UIMの接触通信インターフェースのリセット処理は、ETSI(European Telecommunications Standards Institute)等の標準化団体により策定された仕様にて処理手順や処理時間制約が規程されている。UIMがこの処理時間制約を守らないと、携帯端末が正しくUIMを認識することができずに、以後UIMはこのインターフェース上で機能することができない。よって、UIMの接触通信インターフェースのリセット処理は、非常に優先度が高い。また、UIMはインターフェースのリセット処理と共に、受信コマンドの実行に備えて、オペレーティングシステムの初期化処理を実施する。
【0006】
一方、非接触通信インターフェースを使うサービスにおいては、ユーザ自身が携帯端末を非接触リーダに翳すため、処理の失敗や処理の遅延は、提供されるサービスの品質に大きな影響を与えることは明確で優先的に処理(コマンド処理)することが求められる。
【0007】
特許文献1には、複数の非接触通信により授受される情報を処理するソフトウェアモジュールに対して、あるソフトウェアモジュールの起動の最中に、他のソフトウェアモジュール処理が開始され完了した場合は、先に起動中のモジュール処理を再開させる方法が開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2010−67199号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、従来のUIMは接触通信用のソフトウェアが1つであったため、上記の競合は発生しない。したがって、UIMは、携帯端末の機能を担うコントローラからUIMの接触用端子を介してリセット信号を受信した場合、それに対応するリセット処理を標準仕様に規程された内容を守りながら行うと共に受信コマンドの実行に備えてオペレーティングシステムを初期化した後、コマンド信号の受信待ち状態になっていた。
【0010】
しかしながら、UIMに接触及び非接触通信用の2種類のソフトウェアが存在する場合は先に述べたように競合が発生する。しかも、これらの競合する2つの処理はそれぞれ高い優先度が求められるため、インターフェースのリセット処理後にサービス要求に応じたコマンド処理が実行された場合、後者の処理が求められる時間制約を満たせない可能性がある。
【0011】
そこで、本発明は、このような点等に鑑みてなされたものであり、ある通信手段に関するリセット処理と、他の通信手段を介して処理時間制約の厳しいサービス要求に応じたコマンド処理が同時に発生した場合であっても、リセット処理の時間制約を守りながらサービス要求に応じたコマンド処理を優先して実行することが可能なICチップ、ICチップにおける処理方法、ICチップ用処理プログラム、及び携帯端末を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、請求項1に記載の発明は、第一の通信手段を介してリセット信号が受信された場合に、当該第一の通信手段に関するリセット処理を実行する第一の実行手段と、第二の通信手段を介してコマンド信号が受信された場合に、当該コマンド信号に応じたコマンド処理を実行する第二の実行手段と、を備え、前記第一の実行手段による前記第一の通信手段に関するリセット処理の実行中に前記第二の通信手段を介してコマンド信号が受信された場合に、前記第一の実行手段は前記リセット処理のうち当該受信されたコマンド信号に応じたコマンド処理を実行するために必要な処理を実行し、当該必要な処理の実行後に前記第二の実行手段は前記コマンド信号に応じたコマンド処理を実行し、当該コマンド処理の実行後に前記第一の実行手段は前記必要な処理以外の処理を実行することを特徴とする。
【0013】
請求項2に記載の発明は、請求項1に記載のICチップにおいて、前記リセット信号の受信により中断された処理を回復する回復処理のうち、前記受信されたコマンド信号に応じたコマンド処理に関係する回復処理を、前記必要な処理以外の処理として特定する特定手段を備えることを特徴とする。
【0014】
請求項3に記載の発明は、請求項1又は2に記載のICチップにおいて、前記第一の実行手段は、前記リセット処理においてリセットに対するリアクションを制約時間内に実行し、前記第二の実行手段は、前記コマンド処理の結果を示す処理応答を制約時間内に実行することを特徴とする。
【0015】
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のICチップにおいて、前記ICチップは、UIM(User Identity Module)に搭載されていることを特徴とする

【0016】
請求項5に記載の発明は、請求項4に記載のICチップにおいて、前記UIMは、携帯端末に装着されていることを特徴とする。
【0017】
請求項6に記載の発明は、ICチップにおける処理方法であって、第一の通信手段を介してリセット信号が受信された場合に、当該第一の通信手段に関するリセット処理を実行する第一の実行ステップと、第二の通信手段を介してコマンド信号が受信された場合に、当該コマンド信号に応じたコマンド処理を実行する第二の実行ステップと、を含み、前記第一の通信手段に関するリセット処理の実行中に前記第二の通信手段を介してコマンド信号が受信された場合に、前記リセット処理のうち当該受信されたコマンド信号に応じたコマンド処理を実行するために必要な処理を実行し、当該必要な処理の実行後に前記コマンド信号に応じたコマンド処理を実行し、当該コマンド処理の実行後に前記必要な処理以外の処理を実行することを特徴とする。
【0018】
請求項7に記載のICチップ用処理プログラムの発明は、ICチップに含まれるコンピュータを、第一の通信手段を介してリセット信号が受信された場合に、当該第一の通信手段に関するリセット処理を実行する第一の実行手段、及び、第二の通信手段を介してコマンド信号が受信された場合に、当該コマンド信号に応じたコマンド処理を実行する第二の実行手段として機能させ、前記第一の実行手段による前記第一の通信手段に関するリセット処理の実行中に前記第二の通信手段を介してコマンド信号が受信された場合に、前記第一の実行手段が前記リセット処理のうち当該受信されたコマンド信号に応じたコマンド処理を実行するために必要な処理を実行し、当該必要な処理の実行後に前記第二の実行手段が前記コマンド信号に応じたコマンド処理を実行し、当該コマンド処理の実行後に前記第一の実行手段が前記必要な処理以外の処理を実行するように機能させることを特徴とする。
【0019】
請求項8に記載の発明は、接触型ICチップと、当該ICチップと第一の通信手段を介して通信可能なコントローラとを備える携帯端末において、前記接触型ICチップは、前記コントローラから第一の通信手段を介してリセット信号が受信された場合に、当該第一の通信手段に関するリセット処理を実行する第一の実行手段と、非接触型ICチップから第二の通信手段を介してコマンド信号が受信された場合に、当該コマンド信号に応じたコマンド処理を実行する第二の実行手段と、を備え、前記第一の実行手段による前記第一の通信手段に関するリセット処理の実行中に前記第二の通信手段を介してコマンド信号が受信された場合に、前記第一の実行手段は前記リセット処理のうち当該受信されたコマンド信号に応じたコマンド処理を実行するために必要な処理を実行し、当該必要な処理の実行後に前記第二の実行手段は前記コマンド信号に応じたコマンド処理を実行し、当該コマンド処理の実行後に前記第一の実行手段は前記必要な処理以外の処理を実行することを特徴とする。
【発明の効果】
【0020】
本発明によれば、ある通信手段に関するリセット処理と、他の通信手段を介して処理時間制約の厳しいサービス要求に応じたコマンド処理が同時に発生した場合であっても、リセット処理の時間制約を守りながらサービス要求に応じたコマンド処理を優先して実行することができ、処理時間制約の厳しいサービス要求に対して処理結果を応答することができる。
【図面の簡単な説明】
【0021】
【図1】(A)は、本実施形態に係る携帯端末の概要構成例を示すブロック図である。(B)は、本実施形態に係るUIM13の概要構成例を示すブロック図である。
【図2】コントローラ11より受信されたリセット信号に応じたリセット処理と、CLF12より受信されたコマンド信号に応じたコマンド処理が同時に発生した場合の携帯端末1における動作シーケンスの一例を示す図である。
【図3】本実施形態に係るUIM13におけるソフトウェア機能ブロックの一例を示す図である。
【図4】中断時に処理中断情報として記録されていた処理等と当該処理等に対応する判定情報の例を示す図である。
【図5】中断時に処理中断情報として記録されていた処理等と当該処理等に対応する判定情報の例を示す図である。
【図6】本実施形態に係るUIM13のCPU131における電力供給検知時の処理を示すフローチャートである。
【図7】本実施形態に係るUIM13のCPU131における割込み処理を示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、携帯端末に対して本発明を適用した場合の実施の形態である。
【0023】
先ず、図1を参照して、本実施形態に係る携帯端末の構成及び機能概要について説明する。
【0024】
図1(A)は、本実施形態に係る携帯端末の概要構成例を示すブロック図である。図1(A)に示すように、携帯端末1は、携帯端末1の機能を担うコントローラ11、CLF12、及びUIM13等を備えて構成されている。なお、携帯端末1には、例えば操作キー、ディスプレイ、スピーカ、及び移動体通信部等を備える携帯電話機やPDA等を適用できる。
【0025】
コントローラ11は、図示しないが、CPU(Central Processing Unit)、各種プロ
グラム及びデータを記憶する不揮発性メモリ(例えばフラッシュメモリ等)、データを一時記憶するRAM、UIM13との間のインターフェースを担うI/Oポート等を備えている。コントローラ11は、UIM13との間でインターフェースXを通じて通信可能になっている。そして、コントローラ11は、携帯端末1の通信(移動体通信網やインターネットを介して行われる通信)処理や携帯端末1のユーザからの操作キーを介した操作指示に応じて各種処理を実行する。このような処理の中で、コントローラ11は、例えば暗号化処理や認証処理等に係るコマンド信号をインターフェースを通じてUIM13へ送信する。また、コントローラ11は、例えば、電源ON、又はUIM13との間で通信エラーが発生した場合に、インターフェースXのリセット信号をUIM13へ送信するようになっている。
【0026】
CLF12は、NFCの規格で規定される非接触通信を行う非接触型ICチップであり、図示しないが、CPU、各種プログラム及びデータを記憶する不揮発性メモリ、データを一時記憶するRAM、UIM13との間のインターフェースを担うI/Oポート(SWIO)等を備えている。また、CLF12は、非接触のフィールド内で非接触リーダ2との間で各種信号の送受信を行うためのアンテナ12aに接続されている。そして、ユーザが携帯端末1を非接触リーダ2に翳すと、非接触リーダ2から送信されたサービス要求に係るコマンド信号をインターフェースYを通じてUIM13へ送信するようになっている。
【0027】
UIM13は、UICC(Universal Integrated Circuit Card)の一つであり、従来の
SIM(Subscriber Identity Module)をベースに機能を拡張された接触型ICチップを搭載する。図1(B)は、本実施形態に係るUIM13の概要構成例を示すブロック図である。図1(B)に示すように、UIM13は、信号処理を担うCPU(Central Processing Unit)131、所定のデータやプログラムを記憶するROM(Read Only Memory)132、データを一時記憶するRAM(Random Access Memory)133、所定のデータやプログラム等を記憶する不揮発性メモリ(例えばフラッシュメモリやEEPROM)134、及びI/Oポート(入出力ポート)135等を備えている。なお、UIM13はICカード基体Bに設けられ、ICカードとして携帯端末1に実装される。I/Oポート135は、図1(B)に示すように、ISO/IEC7816等によって定められた、C1〜C8の8個の端子(接触型ICチップの接続端子)を有する。ここで、C1端子は電源端子(VCC)であり、C5端子はグランド端子(GND)である。また、C2端子は、リセット端子(RST)であり、コントローラ11とのインターフェースXのリセット信号を入力するために用いられる。また、C3端子は、クロック端子(CLK)であり、コントローラ11とのインターフェースXのクロックを入力するために用いられる。また、C7端子(第一の通信手段の一例)は、コントローラ11との間のインターフェースXを担う端子であり、UIM13とコントローラ11との間の通信のために用いられる。また、C6端子(第二の通信手段の一例)は、CLF11との間のインターフェースYを担う端子であり、CLF12とUIM13との間の通信のために用いられる。なお、CLF12とUIM13間の通信プロトコルには、上述したようにSWPが適用される。
【0028】
また、UIM13の不揮発性メモリ134に記憶されるプログラムとしては、オペレーティングシステム(以下、「OS」という)、複数種類のアプリケーションプログラム、及び本発明のICチップ用処理プログラムがある。ここで、アプリケーションプログラム(以下、「アプリケーション」という)は、CPU131により実行される複数のコマンド(命令)及びそれらの実行順序を規定するプログラムである。アプリケーション中のコマンドの処理をコマンド処理という。また、UIM13の不揮発性メモリ134には、電話番号や加入者ID等の個人情報、及び電子マネーの残高情報等が記憶されている。
【0029】
そして、UIM13のCPU131(第一の実行手段)は、コントローラ11から接触型ICチップの接続端子を介してインターフェースXのリセット信号(接触通信に関するリセット信号)が受信された場合に、当該インターフェースXのリセット処理(接触通信に関するリセット処理)を実行する。このリセット処理は、ハードウェアの初期化、コントローラ11に対するリアクション(インターフェースリセットの初期応答)、OSの初期化(OSの動作パラメータの初期化)、及びコマンド処理を実行するための準備処理から構成される。ここで、ハードウェアの初期化には、例えば、UIM13のクロック設定、記憶装置(RAM等)及び周辺回路(乱数生成器,暗号コプロセッサ等)の動作確認、記憶装置(RAM等)の初期化、スタックポインタ初期化、周辺回路の初期設定等が含まれる。また、コントローラ11に対するリアクションは、幾つかの処理時間制約が存在し(制約時間内に応答する必要がある)、かつ処理時間にばらつきが少ない。一方、準備処理は、直接的な処理時間制約が無い代わりに、UIM13がリセットされた時のOSの状態によって処理時間にかなりのばらつきが発生し得る。この準備処理の例としては、リセット信号の受信により中断された処理(アプリケーション全体の処理、アプリケーション中のコマンド処理)を回復する回復処理が挙げられる。インターフェースリセットが発生した時になんらかの処理が実行されていた場合は、その処理内容が処理中断情報として記録される。結果的にこの処理はインターフェースリセットによって処理が中断されるが、上記準備処理の一環として中断状態を回復する処理が実行されるようになっている。なお、インターフェースリセットが発生した時に何も処理されていなかった場合は、準備処理として上記回復処理は含まれない。
【0030】
また、UIM13のCPU131(第二の実行手段)は、CLF12から接触型ICチップの接続端子を介して、非接触通信用のサービス要求に係るコマンド信号が受信された場合に、当該コマンド信号(サービス要求)に応じたコマンド処理(つまり、サービス要求に対応する何れかのアプリケーションのコマンド処理)を実行し、当該処理の結果を示す処理応答を接触型ICチップの接続端子を介してCLF12へ行う(返信する)ようになっている。ここで、非接触インターフェースを使うサービス要求処理も、サービスレベルでの処理全体に処理時間制約が存在すると同時に、サービス要求処理を構成する幾つかのコマンド処理に対しても夫々処理時間制約が存在する場合がある。つまり、制約時間内にサービス要求に対して応答する必要がある。
【0031】
そして、本実施形態においては、コントローラ11より受信されたリセット信号に応じたリセット処理と、CLF12より受信されたコマンド信号に応じたコマンド処理(処理時間制約の厳しいサービス要求に応じたコマンド処理)が同時に発生(競合)した場合、つまり、インターフェースXのリセット処理の実行中にCLF12からコマンド信号が受信された場合、UIM13のCPU131は、以下の処理を行うことになる。
【0032】
すなわち、UIM13のCPU131は、上記リセット処理のうち、受信されたコマンド信号に応じたコマンド処理を実行するために必要な処理を実行した後、上記受信されたコマンド信号に応じたコマンド処理を実行する。ここで、コマンド信号に応じたコマンド処理を実行するために必要な処理には、ハードウェアの初期化、コントローラ11に対するリアクション、及びOSの初期化、更にはコマンド処理を実行するための準備処理の中から、予め設定された(不揮発性メモリに記憶された)判定情報に基づいて特定(特定手段による)された必要最低限の準備処理が含まれる。そして、この必要最低限の準備処理以外の準備処理は、コマンド信号に応じたコマンド処理の実行後に実行されることになる。
【0033】
図2は、コントローラ11より受信されたリセット信号に応じたリセット処理と、CLF12より受信されたコマンド信号に応じたコマンド処理が同時に発生した場合の携帯端末1における動作シーケンスの一例を示す図である。この必要最低限の準備処理以外の準備処理は、図2に示すように優先順位が下げられ、CLF12への処理応答後に実行(コマンド受信待機状態に移る前に優先順位が下げられた準備処理が実行)される。これにより、インターフェースのリセット処理と重なったサービス要求に応じたコマンド処理の処理時間制約を守りながら処理結果を応答することが可能になる。
【0034】
ここで、上記必要最低限の準備処理を特定するための判定情報には、例えば、以下の(a)〜(i)の何れかに示すリストが含まれる。
(a)中断時に記録されていたアプリケーションの処理が、その成功如何に関わらず実行可能なアプリケーションリスト(アプリケーションを識別する識別情報が記述されたリスト)
(b)中断時に記録されていたアプリケーションの処理が、その成功如何に関わらず実行可能なアプリケーションのコマンドリスト(アプリケーションを識別する識別情報及びその中のコマンドを識別する識別情報等が記述されたリスト)
(c)中断時に記録されていたアプリケーションの処理が、その成功如何に関わらず実行不可能なアプリケーションリスト
(d)中断時に記録されていたアプリケーションの処理が、その成功如何に関わらず実行不可能なアプリケーションのコマンドリスト
(e)(a)〜(d)に記載された中断時の処理「アプリケーションの処理」を「アプリケーションのコマンド処理」に置き換えた場合の上記リスト
(f)(a)〜(d)に記載された中断時の処理「アプリケーションの処理」を「不揮発性メモリのある領域に対する更新処理」に置き換えた場合の上記リスト
(g)(a)〜(d)に記載された中断時の処理「アプリケーションの処理」を「あるアプリケーション集合に含まれるアプリケーションの処理」に置き換えた場合の上記リスト(h)(a)〜(d)に記載された中断時の処理「アプリケーションの処理」を「あるコマンド集合に含まれるコマンド処理」に置き換えた場合の上記リスト
(i)(b),(d)に記載された中断時の処理「アプリケーションの処理」を「アプリケーションのコマンド処理及びこのときのコマンド信号の受信インターフェース」に置き換え、且つ、(b),(d)に記載された「コマンドリスト」を、「アプリケーション、コマンド、及びインターフェースの組合せリスト」に置き換えた場合の上記リスト
【0035】
UIM13のCPU131は、上記必要最低限の準備処理を特定するための判定情報に含まれる上記リストから判断して、中断時に処理中断情報として記録されていた処理の回復処理が、サービス要求に応じたコマンド処理に関係しない場合、サービス要求に応じたコマンド処理を実行するために必要な処理ではないので、当該中断時に記録されていた処理の回復処理の優先順位を下げて待機させ、その代わりにサービス要求に応じたコマンド処理を先に実行することで処理制約時間内に処理応答をCLF12へ返信する。言い換えれば、各処理を分割したサブタスクに対してスケジューリングを行うことで、処理時間制約を守りながらサービス要求に対して応答するのである。
【0036】
次に、図3〜図7を参照して、本実施形態に係る携帯端末の動作について説明する。
【0037】
図3は、本実施形態に係るUIM13におけるソフトウェア機能ブロックの一例を示す図である。図3に示す例では、同時に機能(ソフトウェア的に機能)可能なインターフェースX,Y及びそれらの制御機能を有するUIM13には、アプリケーションA〜Dが格納されている。なお、図3に示す判定情報は、UIM13に格納された全アプリケーション(A〜D)分を実行環境がまとめて持つように構成しても良いし、夫々のアプリケーションが保持し必要に応じて実行環境が参照するように構成しても良い。何れにしても、判定情報は、UIM13外部から設定可能であり、更新も可能である。
【0038】
図4及び図5は、中断時に処理中断情報として記録されていた処理等と当該処理等に対応する判定情報の例を示す図である。
【0039】
図4(A)は、上記(a)の場合の例を示しており、例えば、アプリケーション(Application)Dのコマンド(Command)の処理実行中にPower lossが発生し、その後、携帯端末1が非接触リーダ2に翳されることによるコマンド処理と、UIM13への電力供給によるインターフェースXのリセット処理とが競合するケースを想定している。
【0040】
図4(B)は、上記(e)の場合の(b)の置き換えの例を示しており、例えば、アプリケーション(Application)Dのコマンド(Command)Bの処理実行中にPower lossが発生し、その後、携帯端末1が非接触リーダ2に翳されることによるコマンド処理と、UIM13への電力供給によるインターフェースXのリセット処理とが競合するケースを想定している。
【0041】
図5(A)は、上記(f)の場合の(c)の置き換えの例を示しており、例えば、アプリケーション(Application)Dのコマンド(Command)Aの処理過程における変数First Nameの更新中にPower lossが発生し、その後、携帯端末1が非接触リーダ2に翳されることによるコマンド処理と、UIM13への電力供給によるインターフェースXのリセット処理とが競合するケースを想定している。なお、変数名である“First Name”は、実際には、アドレスとレングス(例えば0x0010,4:指定アドレスから4バイトの領域)、アドレスの範囲(例えば0x0010,0x0013間の領域)、またはOSが一意に特定可能なIDなどの
データで表される。
【0042】
図5(B)は、上記(i)の場合の(b)の置き換えの例を示しており、コマンド信号が受信されることによるアプリケーション(Application)Dのコマンド(Command)Aの処理実行中にPower lossが発生し、その後、携帯端末1が非接触リーダ2に翳されることによるコマンド処理と、UIM13への電力供給によるインターフェースXのリセット処理とが競合するケースを想定している。
【0043】
図6は、本実施形態に係るUIM13のCPU131における電力供給検知時の処理を示すフローチャートである。図7は、本実施形態に係るUIM13のCPU131における割込み処理を示すフローチャートである。
【0044】
図6に示す処理は、例えば図4又は図5で想定されるようなケースにおいて、UIM13への電力供給等が検知された場合に開始される。図6に示す処理おいて、UIM13のCPU131は、コントローラ11からリセット信号を受信すると(ステップS1)、リセット処理を開始し、先ず、上述したようにハードウェアの初期化を実行する(ステップS2)。
【0045】
次いで、UIM13のCPU131は、コントローラ11に対するリアクション(インターフェースリセットの初期応答)を実行する(ステップS3)。
【0046】
次いで、UIM13のCPU131は、OSの初期化(OSの動作パラメータの初期化)を実行する(ステップS4)。このOSの初期化処理は、OS初期状態を構築するための処理であり、アプリケーションに無関係で必須の処理である。
【0047】
次いで、UIM13のCPU131(中断処理判定機能)は、処理中断情報を参照して中断時に記録されていた処理の有無を確認することにより中断された処理が有るか否かを判定する(ステップS5)。そして、UIM13のCPU131は、中断された処理が無いと判定した場合には(ステップS5:NO)、図6に示す処理を終了し、中断された処理が有ると判定した場合には(ステップS5:YES)、ステップS6に進む。
【0048】
ステップS6では、UIM13のCPU131は、CLF12から、サービス要求に係るコマンド信号を受信したか否かを判定する。そして、UIM13のCPU131は、サービス要求に係るコマンド信号を受信していない場合には(ステップS6:NO)、ステップS7に進み、サービス要求に係るコマンド信号を受信した場合には(ステップS6:YES)、ステップS8に進む。
【0049】
ステップS7では、UIM13のCPU131は、コマンド処理を実行するための準備処理として、中断された処理を回復する回復処理(中断された処理の回復処理)を実行し、ステップS14に進む。
【0050】
一方、ステップS8では、UIM13のCPU131は、中断時に記録されていた処理を基に判定情報を選択する(ステップS8)。例えば、中断時に記録されていた処理が、図4(A)に示すようにアプリケーションDである場合、当該アプリケーションDに対応する判定情報(アプリケーションAとCを識別する識別情報が記述されたリストを含む)が選択され、不揮発性メモリ134から取得される。
【0051】
次いで、UIM13のCPU131は、中断された処理の回復処理の内容を確認し(ステップS9)、コマンド処理前に実行すべき回復処理(言い換えれば、上記受信されたコマンド信号に応じたコマンド処理に関係する回復処理(上述した必要最低限の準備処理))が有るか否かを判定する(ステップS10)。この判定は、上記ステップS6で受信されたコマンド信号と、上記ステップS8で選択された判定情報に基づいて行われる。例えば、図4(A)又は(B)のケースにおいて、判定情報に含まれるリストに記述された処理が、受信されたコマンド信号が関係する処理(例えば、当該コマンド信号(コマンド)を含むアプリケーションの処理、又は当該コマンド信号(コマンド)と一致するコマンドの処理が)である場合には、コマンド処理前に実行すべき回復処理がないと判定される。これは、中断された処理の回復処理に関わらずコマンド処理を実行できるためである。
【0052】
そして、UIM13のCPU131(特定手段の一例)は、コマンド処理前に実行すべき回復処理が有ると判定した場合には(ステップS10:YES)、当該コマンド処理前に実行すべき回復処理を特定し、ステップS11に進む。ここで特定されたコマンド処理前に実行すべき回復処理以外の回復処理があれば、この回復処理の優先順位が下げられる設定がなされる。
【0053】
一方、UIM13のCPU131は、コマンド処理前に実行すべき回復処理が無いと判定した場合には(ステップS10:NO)、ステップS12に進む。
【0054】
ステップS11では、UIM13のCPU131は、コマンド処理前に実行すべき回復処理として特定した、中断された処理の回復処理を実行し、ステップS12に進む。
【0055】
ステップS12では、UIM13のCPU131は、上記ステップS6で受信されたコマンド信号(サービス要求)に応じたコマンド処理を実行し、当該処理の結果を示す処理応答をCLF12へ返す。
【0056】
次いで、UIM13のCPU131は、中断された処理の回復処理を実行し(ステップS13)、ステップS14に進む。ここで、上記ステップS11を経由してきた場合において優先順位が下げられた回復処理があれば、この回復処理が実行される。
【0057】
ステップS14では、UIM13のCPU131は、上記処理中断情報をクリアする。そして、UIM13のCPU131は、図6に示す処理を終了し、インターフェースX又はYを通じたコマンド信号の受信確認、及び受信されたコマンド信号に応じたコマンド処理に移行(通常の処理に移行)する。
【0058】
一方、図7に示す処理は、インターフェースYを通じたコマンド信号の受信により割込みが発生したときの処理である。この割込みは、例えば、図6に示す処理におけるステップS2のハードウェアの初期化後、任意に発生し、これにより処理が中断され、図7に示す処理が開始される。図7に示す処理おいて、UIM13のCPU131は、先ず、コマンド信号の受信処理(コマンド受信処理)を行い(ステップS21)、続いて、中断された処理の回復処理を実行中であるか否かを判定する(ステップS22)。そして、UIM13のCPU131は、中断された処理の回復処理を実行中でないと判定した場合には(ステップS22:NO)、図7に示す処理(割込み処理)を終了し、中断された処理の回復処理を実行中であると判定した場合には(ステップS22:YES)、ステップS23に進む。
【0059】
なお、ステップS23及びS24の処理は、図6に示すステップS8及びS9の処理と同様である。次いで、ステップS25では、UIM13のCPU131は、上記ステップS22で未実行、且つコマンド処理前に実行すべき回復処理が有るか否かを判定し、未実行、且つコマンド処理前に実行すべき回復処理が有ると判定した場合には(ステップS25:YES)、ステップS26に進み、そうでないと判定した場合には(ステップS25:NO)、ステップS27に進む。そして、UIM13のCPU131は、ステップS27(上記ステップS12と同様)の実行後、図7に示す処理(割込み処理)を終了する。なお、この割込み処理終了後は、図6に示す処理において、中断されたポイントから処理が再開される。
【0060】
以上説明したように、上記実施形態によれば、コントローラ11より受信されたリセット信号に応じたリセット処理と、CLF12より受信された、サービス要求に係るコマンド信号に応じたコマンド処理が同時に発生した場合に、UIM13は、上記リセット処理のうち、コントローラ11に対するリアクション、及び必要最低限の準備処理を実行した後、上記受信されたコマンド信号に応じたコマンド処理を実行し、その後に必要最低限の準備処理以外の準備処理(例えば、サービス要求に応じたコマンド処理に関係しない処理の中断状態を回復する処理)を実行するように構成したので、リセット処理の時間制約を守りながらサービス要求に応じたコマンド処理を優先して実行することができ、処理時間制約の厳しいサービス要求に対して処理結果を応答することができる。
【符号の説明】
【0061】
1 携帯端末
2 非接触リーダ
11 コントローラ
12 CLF
13 UIM

【特許請求の範囲】
【請求項1】
第一の通信手段を介してリセット信号が受信された場合に、当該第一の通信手段に関するリセット処理を実行する第一の実行手段と、
第二の通信手段を介してコマンド信号が受信された場合に、当該コマンド信号に応じたコマンド処理を実行する第二の実行手段と、
を備え、
前記第一の実行手段による前記第一の通信手段に関するリセット処理の実行中に前記第二の通信手段を介してコマンド信号が受信された場合に、前記第一の実行手段は前記リセット処理のうち当該受信されたコマンド信号に応じたコマンド処理を実行するために必要な処理を実行し、当該必要な処理の実行後に前記第二の実行手段は前記コマンド信号に応じたコマンド処理を実行し、当該コマンド処理の実行後に前記第一の実行手段は前記必要な処理以外の処理を実行することを特徴とするICチップ。
【請求項2】
請求項1に記載のICチップにおいて、
前記リセット信号の受信により中断された処理を回復する回復処理のうち、前記受信されたコマンド信号に応じたコマンド処理に関係する回復処理を、前記必要な処理以外の処理として特定する特定手段を備えることを特徴とするICチップ。
【請求項3】
請求項1又は2に記載のICチップにおいて、
前記第一の実行手段は、前記リセット処理においてリセットに対するリアクションを制約時間内に実行し、
前記第二の実行手段は、前記コマンド処理の結果を示す処理応答を制約時間内に実行することを特徴とするICチップ。
【請求項4】
前記ICチップは、UIM(User Identity Module)に搭載されていることを特徴とす
る請求項1乃至3の何れか一項に記載のICチップ。
【請求項5】
前記UIMは、携帯端末に装着されていることを特徴とする請求項4に記載のICチップ。
【請求項6】
ICチップにおける処理方法であって、
第一の通信手段を介してリセット信号が受信された場合に、当該第一の通信手段に関するリセット処理を実行する第一の実行ステップと、
第二の通信手段を介してコマンド信号が受信された場合に、当該コマンド信号に応じたコマンド処理を実行する第二の実行ステップと、
を含み、
前記第一の通信手段に関するリセット処理の実行中に前記第二の通信手段を介してコマンド信号が受信された場合に、前記リセット処理のうち当該受信されたコマンド信号に応じたコマンド処理を実行するために必要な処理を実行し、当該必要な処理の実行後に前記コマンド信号に応じたコマンド処理を実行し、当該コマンド処理の実行後に前記必要な処理以外の処理を実行することを特徴とするICチップにおける処理方法。
【請求項7】
ICチップに含まれるコンピュータを、
第一の通信手段を介してリセット信号が受信された場合に、当該第一の通信手段に関するリセット処理を実行する第一の実行手段、及び、
第二の通信手段を介してコマンド信号が受信された場合に、当該コマンド信号に応じたコマンド処理を実行する第二の実行手段として機能させ、
前記第一の実行手段による前記第一の通信手段に関するリセット処理の実行中に前記第二の通信手段を介してコマンド信号が受信された場合に、前記第一の実行手段が前記リセット処理のうち当該受信されたコマンド信号に応じたコマンド処理を実行するために必要な処理を実行し、当該必要な処理の実行後に前記第二の実行手段が前記コマンド信号に応じたコマンド処理を実行し、当該コマンド処理の実行後に前記第一の実行手段が前記必要な処理以外の処理を実行するように機能させることを特徴とするICチップ用処理プログラム。
【請求項8】
接触型ICチップと、当該ICチップと第一の通信手段を介して通信可能なコントローラとを備える携帯端末において、
前記接触型ICチップは、
前記コントローラから第一の通信手段を介してリセット信号が受信された場合に、当該第一の通信手段に関するリセット処理を実行する第一の実行手段と、
非接触型ICチップから第二の通信手段を介してコマンド信号が受信された場合に、当該コマンド信号に応じたコマンド処理を実行する第二の実行手段と、
を備え、
前記第一の実行手段による前記第一の通信手段に関するリセット処理の実行中に前記第二の通信手段を介してコマンド信号が受信された場合に、前記第一の実行手段は前記リセット処理のうち当該受信されたコマンド信号に応じたコマンド処理を実行するために必要な処理を実行し、当該必要な処理の実行後に前記第二の実行手段は前記コマンド信号に応じたコマンド処理を実行し、当該コマンド処理の実行後に前記第一の実行手段は前記必要な処理以外の処理を実行することを特徴とする携帯端末。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate