JP4196721B2 - Icカード及びそのアプリケーション設定方法 - Google Patents
Icカード及びそのアプリケーション設定方法 Download PDFInfo
- Publication number
- JP4196721B2 JP4196721B2 JP2003125646A JP2003125646A JP4196721B2 JP 4196721 B2 JP4196721 B2 JP 4196721B2 JP 2003125646 A JP2003125646 A JP 2003125646A JP 2003125646 A JP2003125646 A JP 2003125646A JP 4196721 B2 JP4196721 B2 JP 4196721B2
- Authority
- JP
- Japan
- Prior art keywords
- identification information
- application
- information
- applet
- table information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、一般的には、マルチアプリケーション型のICカードに関し、特に、優先順の高いアプリケーションを実行可能に設定できる技術に関する。
【0002】
【従来の技術】
近年、複数のアプリケーションを実行できるマルチアプリケーション型のICカードが開発されている。このICカードは、例えばMULTOS(登録商標)規格のカード用OS(Operation System)やJava(登録商標)等のOSが組み込まれて、内部メモリ(例えばフラッシュEEPROM)に格納された複数のアプリケーション(Javaではアプレット)から選択されたアプリケーションを実行する機能を有する。
【0003】
このようなマルチアプリケーション型のICカードであれば、例えばクレジットカード、商品やサービスの販売用のポイントカード、あるいは鉄道などの自動改札で使用される定期券やプリペイドカードなどの各種の機能を1枚のカードに統合したマルチ機能カードを実現することができる。
【0004】
【発明が解決しようとする課題】
マルチアプリケーション型のICカードでは、内部のCPUが指定された機能を実現するアプリケーション(又はアプレット)を選択して実行する。各アプリケーションのそれぞれには、例えば5〜16バイトのAID(Application ID)と称する識別情報が割り当てられている。この各AIDは、テーブル情報として例えばフラッシュEEPROM等の内部メモリに保存されている。CPUは、外部から指定されたAIDに対応するAIDをテーブル情報から検索し、検索されたAIDに対応するアプリケーションを実行可能に設定する。
【0005】
ここで、CPUは、テーブル情報を検索するときに、固定的に順序が設定されたAIDを順次検索していく。このため、使用形態に従って、選択される確率が高いアプリケーションがあるにもかかわらず、CPUは、常にテーブル情報の先頭から検索する。従って、特にICカードの内部に用意されるアプリケーション数が多くなると、指定のアプリケーションを選択して設定する処理時間が、アプリケーションの実行効率に影響することになる。
【0006】
そこで、本発明の目的は、マルチアプリケーション型のICカードにおいて、指定のアプリケーションを選択して設定する処理時間の短縮化を図ることができるICカードを提供することにある。
【0007】
【課題を解決するための手段】
本発明の観点は、マルチアプリケーション型のICカードにおいて、指定のアプリケーションを選択して実行可能に設定する処理時間の短縮化を実現するためのアプリケーションテーブル情報の構成に関する。
【0008】
請求項1に係る発明は、複数のアプリケーションを記憶する第1のメモリ手段と、前記各アプリケーションを識別する識別情報群を含むテーブル情報であって、優先的に設定可能なアプリケーションに対応する識別情報を有する優先テーブル情報を記憶する第2のメモリ手段と、外部からの指示に応じて、優先的に前記優先テーブル情報から該当する識別情報を検索し、検索された当該識別情報に対応するアプリケーションを前記第1のメモリ手段から読出して実行可能に設定する制御手段とを備えたICカードである。
【0009】
このような構成であれば、全ての識別情報ではなく、優先テーブル情報から優先的に検索することにより、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。
【0010】
請求項2に係る発明は、前記ICカードにおいて、前記第2のメモリ手段は、前記テーブル情報として、前記優先テーブル情報に含まれる識別情報以外の識別情報を含む通常テーブル情報を記憶し、前記制御手段は前記優先テーブル情報から該当する識別情報を検索できないときには、前記通常テーブル情報から検索する構成である。
【0011】
このような構成であれば、テーブル情報を優先テーブル情報と通常テーブル情報とに分割することにより、優先テーブル情報から優先的に検索して、次に通常テーブル情報を検索するため、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。
【0012】
請求項3に係る発明は、前記ICカードにおいて、前記第2のメモリ手段は、前記テーブル情報として、前記優先テーブル情報に含まれる識別情報を含む全識別情報を含む通常テーブル情報を記憶し、前記制御手段は、前記優先テーブル情報から該当する識別情報を検索できないときには、前記通常テーブル情報から検索する構成である。
【0013】
このような構成であれば、優先テーブル情報としては通常テーブル情報から選択された識別情報をコピーすることにより、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。
【0014】
請求項4に係る発明は、複数のアプリケーションを記憶する第1のメモリ手段と、前記各アプリケーションを識別する識別情報群を含むテーブル情報を記憶する第2のメモリ手段と、前記各アプリケーションのそれぞれの使用頻度を示す使用頻度情報を記憶する第3のメモリ手段と、外部からの指示に応じて前記テーブル情報から該当する識別情報を検索し、検索された当該識別情報に対応するアプリケーションを前記第1のメモリ手段から読出して実行可能に設定するときに、前記使用頻度情報に基づいて相対的に高い使用頻度を示す識別情報を前記テーブル情報から優先的に検索する制御手段とを備えたICカードである。
【0015】
このような構成であれば、全ての識別情報ではなく、使用頻度の高いアプリケーションに対応する識別情報から優先的に検索することにより、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。
【0016】
請求項5に係る発明は、請求項6に係るICカードにおいて、前記制御手段は、前記第1のメモリ手段から読出して実行可能に設定したアプリケーションに対応し、前記第3のメモリ手段に記憶された前記使用頻度情報を更新し、相対的に高い使用頻度を示すアプリケーションに対応する識別情報の検索優先順位が高くなるように前記第2のメモリ手段に記憶された前記テーブル情報を更新する構成である。
【0017】
このような構成であれば、テーブル情報を検索したときに、常に使用頻度の高いアプリケーションに対応する識別情報の検索順位が高くなるため、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。
【0018】
請求項6に係る発明は、複数のアプリケーションを選択的に実行するICカードに適用するアプリケーション設定方法であって、外部からの指示に応じて、優先的に設定可能なアプリケーションに対応する識別情報を有する優先テーブル情報から該当する識別情報を検索する第1の検索ステップと、前記第1の検索ステップにより検索された識別情報に対応するアプリケーションを実行可能に設定する第1の設定ステップと、前記第1の検索ステップにより検索できない場合には、前記優先テーブル情報に含まれない識別情報を有する通常テーブル情報から該当する識別情報を検索する第2の検索ステップと、前記第2の検索ステップにより検索された識別情報に対応するアプリケーションを実行可能に設定する第2の設定ステップとを有する手順を実行するアプリケーション設定方法である。
【0019】
このような構成であれば、全ての識別情報ではなく、優先テーブル情報から優先的に検索することにより、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。
【0020】
請求項7に係る発明は、複数のアプリケーションを選択的に実行するICカードに適用するアプリケーション設定方法であって、前記ICカードは、前記各アプリケーションに対応する識別情報群であって、アプリケーションの使用頻度を示す使用頻度情報に基づいて当該識別情報群の検索順序が設定されたテーブル情報を有し、外部からの指示に応じて前記テーブル情報から該当する識別情報を検索する検索ステップと、前記検索ステップにより検索された識別情報に対応するアプリケーションを実行可能に設定する設定ステップと、前記設定ステップにより設定されたアプリケーションに対応する前記使用頻度情報を更新する第1の更新ステップと、前記第1の更新ステップにより更新された使用頻度情報に従って、相対的に高い使用頻度を示す識別情報の検索順位が高くなるように前記テーブル情報を更新する第2の更新ステップとを有する手順を実行するアプリケーション設定方法である。
【0021】
このような構成であれば、全ての識別情報ではなく、使用頻度の高いアプリケーションに対応する識別情報から優先的に検索することにより、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。
【0022】
【発明の実施の形態】
以下図面を参照して、本発明の実施の形態を説明する。
【0023】
(ICカードの構成)
図1は、各実施形態に関するICカードの構成を示すブロック図である。
【0024】
ICカード10は、ICチップの中に、大別して制御を司るマイクロプロセッサ(CPU)100と、ICメモリ110,120,130が組み込まれた構成であり、マルチアプリケーション型のICカード(マルチ機能カードまたは統合カード)を想定する。
【0025】
CPU100は、後述するように、ここではJava(登録商標)のOSの制御に基づいて、複数のアプリケーション(アプレット)を選択的に実行し、各アプリケーション毎の機能を実現する。具体的には、CPU100は、対応するアプリケーションを実行することにより、本ICカードを例えばクレジットカード、商品やサービスの販売用のポイントカード、あるいは鉄道などの自動改札で使用される定期券やプリペイドカードとして機能させる。
【0026】
ICメモリとしては、RAM110,ROM120,及びフラッシュEEPROM130がある。RAM110は主として、CPU100がアプリケーションを実行する上でのワークメモリとして使用される。ROM120は主として、OS(ここではJavaを想定する)を格納している。フラッシュEEPROM130は、複数のアプリケーション用のファイル、及び本実施形態に関係するテーブル情報(図2を参照)を格納している。
【0027】
ICカード10は、各種の端末装置(使用形態により異なる)に組み込まれるリーダ/ライタ20と接触又は非接触で接続し、コマンド及びデータの入出力を行なう。具体的には、ICカード10は、リーダ/ライタ20から、例えばAPDU(Application Protocol Data Unit)というインターフェース規格によるコマンドを受付けることにより、フラッシュEEPROM130に用意されたアプリケーション(アプレット)を実行する。当該コマンドは、後述するように、実行すべきアプリケーションを指定するための識別情報であるAID(Application ID)を含む。また、ICカード10は、アプリケーションを実行したときの各種のデータをRAM110に格納する。リーダ/ライタ20は、当該RAM110から各種のデータを読出す。
【0028】
(第1の実施形態のテーブル情報の構造)
本実施形態は、CPU100は、JavaのOSの制御に基づいて、複数のアプレットを選択的に実行することを想定する。各アプレットを選択するためのテーブル情報は、アプレットテーブルと表記する。
【0029】
本実施形態では、図2に示すように、アプレットテーブルはフラッシュEEPROM130に格納されており、優先アプレットテーブル200と通常アプレットテーブル210とに分割管理される。優先アプレットテーブル200は、後述する所定の条件で選択されたAID(Applet N:N=1〜9)が、所定の順序で設定される。また、通常アプレットテーブル210は、ICカード10にインストールされたアプリケーションに対応するAIDが、当該インストール順に設定される。
【0030】
具体的には、優先アプレットテーブル200は、図3(A)に示すように、時間的に最近使用されたアプレットに対応するAID(Applet2,3,8)が設定される。ここでは、優先アプレットテーブル200のサイズは、上限が3つまでとする。一方、通常アプレットテーブル210は、いわば暫く使用されないアプレットに対応するAID(Applet1,4,5〜7,9)が設定される。いずれのアプレットテーブル200,210も、Index0を先頭として、Index番号の順番で検索される。
【0031】
(アプレット設定の手順)
以下図3から図5、及び図6と図7のフローチャートを参照して、第1の実施形態に関するアプレット設定の手順を説明する。
【0032】
まず、ICカード10は、例えばクレジットカード用の端末装置(リーダ/ライタ)20と接触又は非接触状態で接続すると、端末装置20から例えばAPDUのインターフェース規格によるコマンドが送信される。CPU100は、当該コマンドに含まれるAID(アプレットの識別情報)を取得すると、該当するアプレットを選択して実行可能に設定する処理を実行する。具体的には、CPU100は、フラッシュEEPROM130から該当するアプレットを選択して、RAM110に設定する。これにより、CPU100は、例えばクレジットカード機能を実現するためのアプレット(即ち、アプリケーション)を実行することになる。
【0033】
アプレット設定手順としては、CPU100は、図3(A)に示すような優先アプレットテーブル200の先頭(Index=0)から検索を開始する(ステップS1)。ここで、優先アプレットテーブル200には、アプレットを示すAIDがセットされていなければ(ヒットしない場合)、CPU100は通常アプレットテーブル210の検索に移行する(ステップS2のNO,S7)。
【0034】
CPU100は、優先アプレットテーブル200にセットされているAIDを先頭から順次チェックし、該当するアプレットに対応するAID(ここでは、Applet8とする)を検索する(ステップS3,S4)。CPU100は、該当するAIDを検索すると(ヒットすると)、後述するように、当該優先アプレットテーブル200の更新処理を実行する(ステップS5)。
【0035】
さらに、CPU100は、該当するAID(Applet8)を端末装置20に返し、所定のアプレット設定処理に移行する(ステップS6)。即ち、フラッシュEEPROM130から該当するAID(Applet8)のアプレットを選択して、実行可能なようにRAM110に設定する。
【0036】
一方、CPU100は、優先アプレットテーブル200には該当するAIDがなければ、図3(B)に示すような通常アプレットテーブル210の先頭(Index=0)から検索を開始する(ステップS7)。即ち、CPU100は、通常アプレットテーブル210にセットされているAIDを先頭から順次チェックし、該当するアプレットに対応するAIDを検索する(ステップS8〜S10)。
【0037】
ここで、通常アプレットテーブル210にも、該当するAIDがセットされていない場合(該当するアプレットがインストールされていない)、CPU100はNULL(機能不可)を端末装置20に返す(ステップS8のNO,S12)。
【0038】
CPU100は、該当するAIDを検索すると(ヒットすると)、後述するように、当該通常アプレットテーブル210の更新処理を実行する(ステップS11)。そして、CPU100は、該当するAIDを端末装置20に返し、所定のアプレット設定処理に移行する(ステップS6)。
【0039】
(テーブル更新処理)
次に、図7のフローチャートを参照して、優先アプレットテーブル200の更新処理(図6のステップS5)の手順を説明する。
【0040】
CPU100は、図3(A)に示すように、優先アプレットテーブル200の先頭ではなく、ここでは第3番目(Index=2)にある該当AID(Applet8)を検索した場合を想定する(ステップS21のNO)。CPU100は、図4(A)に示すように、当該AID(Applet8)を優先アプレットテーブル200の先頭(Index=0)に設定する(ステップS22)。
【0041】
従って、CPU100は、当該AID(Applet8)をRAM110のレジスタ(Temp Applet)に移動させた後、先頭(Index=0)にあったAID(Applet2)を次の位置(Index=1)に移動させて、また次の位置(Index=1)にあったAID(Applet3)を当該AID(Applet8)の位置(Index=2)に移動させる。そして、最後にRAM110のレジスタ(Temp Applet)に待避させた当該AID(Applet8)を先頭(Index=0)に設定する。なお、当然ながら、図4(B)に示すように、通常アプレットテーブル210の設定順序については、変更しない。
【0042】
また、図9のフローチャートを参照して、該当AID(ここではApplet5とする)を通常アプレットテーブル210から検索した場合に、優先及び通常アプレットテーブル200,210の更新処理(ステップS11)の手順を説明する。
【0043】
ここでは、図4(B)に示すように、CPU100は、該当AID(Applet5)が優先アプレットテーブル200には無く、通常アプレットテーブル210の3番目(Index=2)から検索され、実行された場合を想定する。このとき、優先アプレットテーブル200は、図4(A)に示すように、先頭(Index=0)から3番目の位置(Index=2)まで、各AID(Applet8,2,3)が設定されている。
【0044】
まず、CPU100は、優先アプレットテーブル200の最後尾の位置(Index=N)に設定されているAID(Applet3)を、RAM110のレジスタ(Temp Applet)に移動させる(ステップS30,S31)。ここで、Nは、優先アプレットテーブル200の設定サイズ(ここでは、上限3つ)に従って「2」となる。
【0045】
次に、CPU100は、優先アプレットテーブル200の位置(Index−1)に設定されているAID(Applet2)を、最後尾の位置(Index=2)に移動させる(ステップS32のYES,S33)。これを繰り返すことにより、優先アプレットテーブル200の先頭位置(Index=0)を空ける(ステップS34,S32のNO)。
【0046】
さらに、CPU100は、図4(B)に示すように、通常アプレットテーブル210にある該当AID(Applet5)を、優先アプレットテーブル200の先頭(Index=0)に移動させる(ステップS35)。これにより、優先アプレットテーブル200は、図5(A)に示すように、先頭から3番目の位置(Index=2)まで、各AID(Applet5,8,2)が設定される。
【0047】
次に、CPU100は、通常アプレットテーブル210から移動させた該当AID(Applet5)の位置(Index=M,ここではMは2)に、それより上位のAID(Applet4)を移動させる(ステップS36〜S38)。これを繰り返すことにより、通常アプレットテーブル210の先頭位置(Index=0)を空ける(ステップS39,S37のNO)。
【0048】
そして、CPU100は、図5(B)に示すように、RAM110のレジスタ(Temp Applet)にセットされたAID(Applet3)を、通常アプレットテーブル210の先頭(Index=0)に移動させる(ステップS40)。
【0049】
以上要するに本実施形態のアプレット設定方法であれば、CPU100は、端末装置20からのコマンド(外部からの指示)に応じて、該当するアプレットのAIDを、最初に優先アプレットテーブル200から検索し、無ければ通常アプレットテーブル210から検索する。ここで、優先アプレットテーブル200は、時間的に最近使用されたアプレットのAIDが設定されている。一般的に、最近使用されたアプレットは繰り返し使用されることが多いため、優先アプレットテーブル200から該当するAIDをヒットさせられる確率が高い。
【0050】
さらに、優先アプレットテーブル200から該当するAIDをヒットした場合に、当該テーブル200内で、今回ヒットしたAIDを先頭に移動させるテーブル更新処理を実行する。また、通常アプレットテーブル210から該当するAIDをヒットした場合には、今回ヒットしたAIDを優先アプレットテーブル200の先頭に移動させるテーブル更新処理を実行する。従って、優先アプレットテーブル200には、時間的に最近使用されたアプレットのAIDが、常に先頭である最優先順位に設定される。また、通常アプレットテーブル210には、やはり最近使用された順序で設定される。これにより、本実施形態のICカード10は、インストールされいる全アプレットを検索することなく、外部からコマンドで指定されたアプレットを短時間で選択して実行可能に設定することができる。
【0051】
(変形例)
図8は、本実施形態の変形例に関する図である。
【0052】
本実施形態は、アプレットテーブル情報を、優先アプレットテーブル200と通常アプレットテーブル210とに分割管理し、テーブル200には最近利用したAIDを割り当て、210には全アプレットの各AIDを割り当てる方式である。
【0053】
本変形例は、図8(A)に示すように、優先アプレットテーブル200の設定内容は本実施形態と同様であるが、同図(B)に示すように、通常アプレットテーブル210には全アプレットに対応するAIDの全てが設定されている構成である。このような構成であれば、優先アプレットテーブル200から、通常アプレットテーブル210にAIDを移動させる処理を省略できる効果がある。優先アプレットテーブル200には、通常アプレットテーブル210から選択された優先のAIDがコピーされることになる。
【0054】
以下、本変形例に関するテーブル更新処理の手順を、図10に示すフローチャートを参照して説明する。なお、本変形例では当該AID(Applet5)が選択され、アプレット(即ち、アプリケーション)がCPU100で実行されたものとする。
【0055】
まず、CPU100は、優先アプレットテーブル200の最後尾の位置(Index=N)に設定されているAID(Applet8)を、RAM110のレジスタ(Temp Applet)に移動させる(ステップS41,S42)。ここで、Nは、優先アプレットテーブル200の設定サイズ(ここでは、上限3つ)に従って、「2」となる。
【0056】
次に、CPU100は、優先アプレットテーブル200の位置(Index−1)に設定されているAID(Applet3)を、最後尾の位置(Index=2)に移動させる(ステップS43のYES,S44)。これを繰り返すことにより、優先アプレットテーブル200の先頭位置(Index=0)を空ける(ステップS45,S43のNO)。
【0057】
さらに、CPU100は、図8(B)に示すように、通常アプレットテーブル210にある該当AID(Applet5)を、優先アプレットテーブル200の先頭(Index=0)にコピーさせる(ステップS46)。これにより、優先アプレットテーブル200の先頭には、今回の検索でヒットしたAID(Applet5)が設定される。なお、本変形例では、図8(B)に示すように、通常アプレットテーブル210には、優先アプレットテーブル200の最後尾のAIDを含む全てのAIDが設定されているため、先の実施形態のようにRAM110のレジスタ(Temp Applet)に待避させたAIDを通常アプレットテーブル210に移動させる必要は無い。
【0058】
また、別の変形例として、優先アプレットテーブル200には、通常アプレットテーブル210から移動又はコピーされたAID以外に、予め外部(ユーザも含む)から指定されたアプレットのAIDが固定的に設定される構成でもよい。予め使用されることが想定されるアプレットについては、優先アプレットテーブル200にAIDを固定的に設定することにより、アプレットを実行可能に設定する処理時間の短縮化を図ることができる。具体的には、例えばプログラム(アプレット又はアプリケーション)などを、ICカード10にダウンロードするためのアプレットのAIDなどである。
【0059】
(第2の実施形態)
以下、図11から図14を参照して、第2の本実施形態に関するアプレット設定処理を説明する。
【0060】
本実施形態は、フラッシュEEPROM130には、図12に示すように、各アプレットを選択するためのテーブル情報として、単一のアプレットテーブル230が格納される。また、フラッシュEEPROM130には、図11に示すように、各アプレットの使用頻度を示す使用頻度テーブル情報220が格納される。
【0061】
本実施形態では、ICカード10のCPU100は、使用頻度テーブル情報220からアプレットごとの使用頻度を算出し、アプレットテーブル230上で使用頻度の高い順にアプレットのAIDを並び替える。これにより、常に、CPU100は、アプレットテーブル230の先頭から使用頻度の高い順にAIDを検索することができる。
【0062】
以下、主として図13及び図14のフローチャートを参照して、本実施形態のアプレット設定処理の手順を説明する。
【0063】
まず、ICカード10は、例えばクレジットカード用の端末装置(リーダ/ライタ)20と接触又は非接触状態で接続すると、例えばAPDUのインターフェース規格によるコマンドが送信される。CPU100は、当該コマンドに含まれるAID(アプレットの識別情報)を取得すると、該当するアプレットを選択して実行可能に設定する処理を実行する。
【0064】
本実施形態のアプレット設定手順としては、CPU100は、図12に示すようなアプレットテーブル230の先頭(Index=0)から検索を開始する(ステップS51)。アプレットを示すAIDがセットされていなければ(ヒットしない場合)、CPU100は、NULL(機能不可)を端末装置20に返す(ステップS52のNO,S57)。
【0065】
CPU100は、アプレットテーブル230にセットされているAIDを先頭から順次チェックし、該当するアプレットに対応するAID(例えばApplet5とする)を検索する(ステップS52,S53)。CPU100は、該当するAIDを検索すると(ヒットすると)、後述するように、当該アプレットテーブル230の更新処理を実行する(ステップS53のYES,S55)。CPU100は、該当するAIDがヒットするまで、アプレットテーブル230を検索する(ステップS53のNO,S54)。
【0066】
さらに、CPU100は、該当するAID(Applet5)を端末装置20に返し、所定のアプレット設定処理に移行する(ステップS56)。即ち、フラッシュEEPROM130から該当するAID(Applet5)のアプレットを選択して、実行可能なようにRAM110に設定する。
【0067】
(テーブル更新処理)
次に、図14のフローチャートを参照して、アプレットテーブル230の更新処理(図13のステップS55)の手順を説明する。
【0068】
まず、CPU100は、アプレットテーブル230から該当アプレットのAID(Applet5)をヒットさせると、図11に示す使用頻度テーブル情報220を参照して、該当AID(Applet5)の使用頻度(Faとする)を更新(インクリメント)する(ステップS61)。
【0069】
次に、CPU100は、アプレットテーブル230において、該当AID(Index=1)より上位の位置(Index=0)にあるAID(ここではApplet2)を選択する(ステップS62)。CPU100は、使用頻度テーブル情報220を参照して、該当AID(Applet5)の使用頻度(Fa)と、ステップS62で選択したAID(Applet2)の使用頻度(Fb)との大小を比較する(ステップS63)。
【0070】
比較結果が該当AID(Applet5)の使用頻度(Fa)の方が小さい場合には、アプレットテーブル230の順位を変更する必要が無いため、テーブル更新処理は終了となる(ステップS63のNO)。
【0071】
一方、今回選択したアプレットの該当AID(Applet5)の使用頻度(Fa)の方が仕様頻度(Fb)より大きくなると、CPU100は、アプレットテーブル230の順位を変更する処理を実行する(ステップS63のYES)。即ち、CPU100は、上位の位置(Index=0)にあるAID(Applet2)と、該当AID(Applet5)の位置(Index=1)とを入れ替える(ステップS64)。従って、アプレットテーブル230では、元の位置(Index=1)より一つ上位(Index=0)に該当AID(Applet5)が設定されて、次の位置(Index=1)にApplet2のAIDが設定される。このような更新処理が繰り返されることにより、アプレットテーブル230は、使用頻度の高い順に、先頭から各AIDが設定される(ステップS65)。
【0072】
以上要するに本実施形態のアプレット設定方法であれば、CPU100は、端末装置20からのコマンド(外部からの指示)に応じて、該当するアプレットのAIDを、使用頻度の高い順に設定されたアプレットテーブル230から検索する。一般的に、使用頻度の高いアプレットは繰り返し使用されることが多いため、アプレットテーブル230の相対的に上位の位置から該当するAIDをヒットする確率が高くなる。従って、本実施形態のICカード10は、インストールされいる全アプレットを検索することなく、外部からコマンドで指定されたアプレットを短時間で選択して実行可能に設定することができる。
【0073】
なお、本実施形態は、前述の第1の実施形態と比較して、各アプレットごとの使用頻度を管理するテーブル情報220が必要となるが、一方で、優先テーブル情報のような特別のテーブル情報を要することなく、単一のテーブル情報230によりアプレットの設定処理を実行できる。
【0074】
なお、各本実施形態及び変形例において、いわゆるJavaOSを適用したJavaカードを想定したが、これに限定されること無く、他のOS規格によるマルチアプリケーション型のICカードにも適用することができる。
【0075】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0076】
【発明の効果】
以上詳述したように本発明によれば、マルチアプリケーション型のICカードにおいて、指定のアプリケーション(またはアプレット)を選択して設定する処理時間の短縮化を図ることができるICカードを提供することができる。
【0077】
具体的には、請求項1に係る発明であれば、優先テーブル情報から優先的に指定のアプリケーションの識別情報を検索する構成により、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。請求項2に係る発明であれば、テーブル情報を優先テーブル情報と通常テーブル情報とに分割することにより、優先テーブル情報から優先的に検索して、次に通常テーブル情報を検索するため、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。請求項3に係る発明であれば、優先テーブル情報としては通常テーブル情報から選択された識別情報をコピーすることにより、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。請求項4に係る発明であれば、全ての識別情報ではなく、使用頻度の高いアプリケーションに対応する識別情報から優先的に検索することにより、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。請求項5に係る発明であれば、テーブル情報を検索したときに、常に使用頻度の高いアプリケーションに対応する識別情報の検索順位が高くなるため、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。請求項6に係る発明であれば、全ての識別情報ではなく、優先テーブル情報から優先的に検索することにより、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。請求項7に係る発明であれば、全ての識別情報ではなく、使用頻度の高いアプリケーションに対応する識別情報から優先的に検索することにより、指定される可能性の高いアプリケーションを選択して設定する処理時間を短縮化することができる。
【図面の簡単な説明】
【図1】 本発明の第1及び第2の各実施形態に関するICカードの構成を示すブロック図。
【図2】 第1の実施形態に関するテーブル情報の構造を説明するための図。
【図3】 同実施形態に関する優先及び通常の各テーブル情報の機能を説明するための図。
【図4】 同実施形態に関する優先アプレットテーブルの更新処理を説明するための図。
【図5】 同実施形態に関する通常アプレットテーブルの更新処理を説明するための図。
【図6】 同実施形態に関するアプレット設定処理の手順を説明するためのフローチャート。
【図7】 同実施形態に関する優先アプレットテーブルの更新処理を説明するためのフローチャート。
【図8】 同実施形態の変形例に関する優先及び通常アプレットテーブルの構成を説明するための図。
【図9】 同実施形態に関する優先及び通常アプレットテーブルの更新処理を説明するためのフローチャート。
【図10】 同変形例に関する優先及び通常アプレットテーブルの更新処理を説明するためのフローチャート。
【図11】 第2の実施形態に関するアプレットの使用頻度テーブル情報の構成を示す図。
【図12】 第2の実施形態に関するアプレットテーブルの構成を示す図。
【図13】 第2の実施形態に関するアプレット設定処理の手順を説明するためのフローチャート。
【図14】 第2の実施形態に関するアプレットテーブルの更新処理を説明するためのフローチャート。
【符号の説明】
10…ICカード、20…端末装置(リーダ/ライタ)、100…CPU、
110…RAM、120…ROM、130…フラッシュEEPROM、
200…優先アプレットテーブル、210…通常アプレットテーブル、
220…使用頻度テーブル情報、230…アプレットテーブル。
Claims (7)
- 複数のアプリケーションを記憶する第1のメモリ手段と、
前記各アプリケーションを識別する識別情報群を含むテーブル情報であって、優先的に設定可能なアプリケーションに対応する識別情報を有する優先テーブル情報を記憶する第2のメモリ手段と、
外部からの指示に応じて、優先的に前記優先テーブル情報から該当する識別情報を検索し、検索された当該識別情報に対応するアプリケーションを前記第1のメモリ手段から読出して実行可能に設定する制御手段と
を具備したことを特徴とするICカード。 - 前記第2のメモリ手段は、前記テーブル情報として、前記優先テーブル情報に含まれる識別情報以外の識別情報を含む通常テーブル情報を記憶し、
前記制御手段は、前記優先テーブル情報から該当する識別情報を検索できないときには、前記通常テーブル情報から検索することを特徴とする請求項1に記載のICカード。 - 前記第2のメモリ手段は、前記テーブル情報として、前記優先テーブル情報に含まれる識別情報を含む全識別情報を有する通常テーブル情報を記憶し、
前記制御手段は、前記優先テーブル情報から該当する識別情報を検索できないときには、前記通常テーブル情報から検索することを特徴とする請求項1に記載のICカード。 - 複数のアプリケーションを記憶する第1のメモリ手段と、
前記各アプリケーションを識別する識別情報群を含むテーブル情報を記憶する第2のメモリ手段と、
前記各アプリケーションのそれぞれの使用頻度を示す使用頻度情報を記憶する第3のメモリ手段と、
外部からの指示に応じて前記テーブル情報から該当する識別情報を検索し、検索された当該識別情報に対応するアプリケーションを前記第1のメモリ手段から読出して実行可能に設定するときに、前記使用頻度情報に基づいて相対的に高い使用頻度を示す識別情報を前記テーブル情報から優先的に検索する制御手段と
を具備したことを特徴とするICカード。 - 前記制御手段は、前記第1のメモリ手段から読出して実行可能に設定したアプリケーションに対応し、前記第3のメモリ手段に記憶された前記使用頻度情報を更新し、
相対的に高い使用頻度を示すアプリケーションに対応する識別情報の検索優先順位が高くなるように前記第2のメモリ手段に記憶された前記テーブル情報を更新することを特徴とする請求項4に記載のICカード。 - 複数のアプリケーションを選択的に実行するICカードに適用するアプリケーション設定方法であって、
外部からの指示に応じて、優先的に設定可能なアプリケーションに対応する識別情報を有する優先テーブル情報から該当する識別情報を検索する第1の検索ステップと、
前記第1の検索ステップにより検索された識別情報に対応するアプリケーションを実行可能に設定する第1の設定ステップと、
前記第1の検索ステップにより検索できない場合には、前記優先テーブル情報に含まれない識別情報を有する通常テーブル情報から該当する識別情報を検索する第2の検索ステップと、
前記第2の検索ステップにより検索された識別情報に対応するアプリケーションを実行可能に設定する第2の設定ステップと
を有する手順を実行することを特徴とするアプリケーション設定方法。 - 複数のアプリケーションを選択的に実行するICカードに適用するアプリケーション設定方法であって、
前記ICカードは、
前記各アプリケーションに対応する識別情報群であって、アプリケーションの使用頻度を示す使用頻度情報に基づいて当該識別情報群の検索順序が設定されたテーブル情報を有し、
外部からの指示に応じて前記テーブル情報から該当する識別情報を検索する検索ステップと、
前記検索ステップにより検索された識別情報に対応するアプリケーションを実行可能に設定する設定ステップと、
前記設定ステップにより設定されたアプリケーションに対応する前記使用頻度情報を更新する第1の更新ステップと、
前記第1の更新ステップにより更新された使用頻度情報に従って、相対的に高い使用頻度を示す識別情報の検索順位が高くなるように前記テーブル情報を更新する第2の更新ステップと
を有する手順を実行することを特徴とするアプリケーション設定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003125646A JP4196721B2 (ja) | 2003-04-30 | 2003-04-30 | Icカード及びそのアプリケーション設定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003125646A JP4196721B2 (ja) | 2003-04-30 | 2003-04-30 | Icカード及びそのアプリケーション設定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004334316A JP2004334316A (ja) | 2004-11-25 |
JP4196721B2 true JP4196721B2 (ja) | 2008-12-17 |
Family
ID=33502849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003125646A Expired - Fee Related JP4196721B2 (ja) | 2003-04-30 | 2003-04-30 | Icカード及びそのアプリケーション設定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4196721B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI747561B (zh) | 2020-10-19 | 2021-11-21 | 創意電子股份有限公司 | 效能計算系統、效能計算方法與電子裝置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003044801A (ja) * | 2001-07-27 | 2003-02-14 | Dainippon Printing Co Ltd | 複数の情報伝達手段を備えた可搬情報処理装置 |
JP4765579B2 (ja) * | 2005-11-25 | 2011-09-07 | 株式会社日立製作所 | 情報配信方法 |
US8410908B2 (en) | 2005-12-30 | 2013-04-02 | Nokia Corporation | Method and device for emulating multiple RFID tags within a single mobile electronic device |
KR100757533B1 (ko) | 2006-06-19 | 2007-09-11 | 주식회사 케이티프리텔 | 고속 통신 지원을 위한 스마트 카드 |
JP4967543B2 (ja) * | 2006-09-01 | 2012-07-04 | 大日本印刷株式会社 | 情報記録媒体、情報記録媒体アプリケーション実行方法及びプログラム |
EP2273748A1 (en) * | 2009-07-09 | 2011-01-12 | Gemalto SA | Method of managing an application embedded in a secured electronic token |
WO2011111307A1 (ja) * | 2010-03-11 | 2011-09-15 | パナソニック株式会社 | 近距離無線通信装置、アプリケーションプログラム、ホストおよび近距離無線通信システム |
JP2011215833A (ja) * | 2010-03-31 | 2011-10-27 | Toshiba Corp | 携帯可能電子装置及びicカード |
WO2015181854A1 (ja) * | 2014-05-29 | 2015-12-03 | 株式会社Agoop | プログラム及び情報処理装置 |
-
2003
- 2003-04-30 JP JP2003125646A patent/JP4196721B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI747561B (zh) | 2020-10-19 | 2021-11-21 | 創意電子股份有限公司 | 效能計算系統、效能計算方法與電子裝置 |
Also Published As
Publication number | Publication date |
---|---|
JP2004334316A (ja) | 2004-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3820999B2 (ja) | 近接通信システム及び近接通信方法、データ管理装置及びデータ管理方法、記憶媒体、並びにコンピュータ・プログラム | |
EP0451936B1 (en) | Program control system for portable data storage device | |
JP4196721B2 (ja) | Icカード及びそのアプリケーション設定方法 | |
US6286757B1 (en) | Portable electronic apparatus | |
US20080284572A1 (en) | Data control system, control server, data control method, and program | |
JP4443699B2 (ja) | 携帯可能電子装置および携帯可能電子装置の制御方法 | |
KR100273614B1 (ko) | 아이씨 카드 | |
JP2004348234A (ja) | 携帯可能電子媒体、携帯可能電子媒体の発行装置、携帯可能電子媒体の発行システム、及び、携帯可能電子媒体の発行方法 | |
JP2010211516A (ja) | 携帯可能電子装置および携帯可能電子装置におけるアクセス制御方法 | |
CN109669628B (zh) | 基于flash设备的数据存储管理方法及装置 | |
JP7563536B1 (ja) | Icカード、半導体チップ、内部状態復元方法およびコンピュータプログラム | |
US7346730B2 (en) | Mobile electronic device | |
JP2012133656A (ja) | 携帯可能電子装置及びicカード | |
JP2008146343A (ja) | Icカード、および、更新プログラムの呼出し方法 | |
JP2003150913A (ja) | 携帯可能電子装置、携帯可能電子装置のファイル選択方法、及び上位装置 | |
JP6915338B2 (ja) | Icカード | |
JP6948021B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
JP4517607B2 (ja) | 電子機器及びそのプログラム更新方法 | |
JP7010084B2 (ja) | Ic決済で用いるトークンデバイス | |
JP2005234898A (ja) | Romにアプリケーションを実装したマルチアプリケーションicカードおよびプログラム | |
JP6933446B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
JP2005025441A (ja) | Icカードのアプリケーションプログラム更新方法 | |
JP2018147345A (ja) | 電子装置 | |
JP2019160190A (ja) | 携帯可能電子装置、及びicカード | |
JP2003203211A (ja) | 携帯可能電子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060320 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080902 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080909 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080922 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121010 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131010 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |