JP2004334316A - Icカード及びそのアプリケーション設定方法 - Google Patents

Icカード及びそのアプリケーション設定方法 Download PDF

Info

Publication number
JP2004334316A
JP2004334316A JP2003125646A JP2003125646A JP2004334316A JP 2004334316 A JP2004334316 A JP 2004334316A JP 2003125646 A JP2003125646 A JP 2003125646A JP 2003125646 A JP2003125646 A JP 2003125646A JP 2004334316 A JP2004334316 A JP 2004334316A
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.)
Granted
Application number
JP2003125646A
Other languages
English (en)
Other versions
JP4196721B2 (ja
Inventor
Manabu Mitsuyu
学 三露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toppan Inc
Original Assignee
Toppan Printing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toppan Printing Co Ltd filed Critical Toppan Printing Co Ltd
Priority to JP2003125646A priority Critical patent/JP4196721B2/ja
Publication of JP2004334316A publication Critical patent/JP2004334316A/ja
Application granted granted Critical
Publication of JP4196721B2 publication Critical patent/JP4196721B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】マルチアプリケーション型のICカードにおいて、指定のアプリケーションを選択して設定する処理時間の短縮化を図ることができるICカードを提供することにある。
【解決手段】マルチアプリケーション型のICカードにおいて、複数のアプリケーションを識別するAID群が設定された優先テーブル情報及び通常テーブル情報が格納されたフラッシュEEPROM130を備えたICカード10が開示されている。CPU100は、指定されたアプリケーションを選択するときに、優先テーブル情報を優先的に使用する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、一般的には、マルチアプリケーション型の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. 複数のアプリケーションを記憶する第1のメモリ手段と、
    前記各アプリケーションを識別する識別情報群を含むテーブル情報であって、優先的に設定可能なアプリケーションに対応する識別情報を有する優先テーブル情報を記憶する第2のメモリ手段と、
    外部からの指示に応じて、優先的に前記優先テーブル情報から該当する識別情報を検索し、検索された当該識別情報に対応するアプリケーションを前記第1のメモリ手段から読出して実行可能に設定する制御手段と
    を具備したことを特徴とするICカード。
  2. 前記第2のメモリ手段は、前記テーブル情報として、前記優先テーブル情報に含まれる識別情報以外の識別情報を含む通常テーブル情報を記憶し、
    前記制御手段は、前記優先テーブル情報から該当する識別情報を検索できないときには、前記通常テーブル情報から検索することを特徴とする請求項1に記載のICカード。
  3. 前記第2のメモリ手段は、前記テーブル情報として、前記優先テーブル情報に含まれる識別情報を含む全識別情報を有する通常テーブル情報を記憶し、
    前記制御手段は、前記優先テーブル情報から該当する識別情報を検索できないときには、前記通常テーブル情報から検索することを特徴とする請求項1に記載のICカード。
  4. 複数のアプリケーションを記憶する第1のメモリ手段と、
    前記各アプリケーションを識別する識別情報群を含むテーブル情報を記憶する第2のメモリ手段と、
    前記各アプリケーションのそれぞれの使用頻度を示す使用頻度情報を記憶する第3のメモリ手段と、
    外部からの指示に応じて前記テーブル情報から該当する識別情報を検索し、検索された当該識別情報に対応するアプリケーションを前記第1のメモリ手段から読出して実行可能に設定するときに、前記使用頻度情報に基づいて相対的に高い使用頻度を示す識別情報を前記テーブル情報から優先的に検索する制御手段と
    を具備したことを特徴とするICカード。
  5. 前記制御手段は、前記第1のメモリ手段から読出して実行可能に設定したアプリケーションに対応し、前記第3のメモリ手段に記憶された前記使用頻度情報を更新し、
    相対的に高い使用頻度を示すアプリケーションに対応する識別情報の検索優先順位が高くなるように前記第2のメモリ手段に記憶された前記テーブル情報を更新することを特徴とする請求項4に記載のICカード。
  6. 複数のアプリケーションを選択的に実行するICカードに適用するアプリケーション設定方法であって、
    外部からの指示に応じて、優先的に設定可能なアプリケーションに対応する識別情報を有する優先テーブル情報から該当する識別情報を検索する第1の検索ステップと、
    前記第1の検索ステップにより検索された識別情報に対応するアプリケーションを実行可能に設定する第1の設定ステップと、
    前記第1の検索ステップにより検索できない場合には、前記優先テーブル情報に含まれない識別情報を有する通常テーブル情報から該当する識別情報を検索する第2の検索ステップと、
    前記第2の検索ステップにより検索された識別情報に対応するアプリケーションを実行可能に設定する第2の設定ステップと
    を有する手順を実行することを特徴とするアプリケーション設定方法。
  7. 複数のアプリケーションを選択的に実行するICカードに適用するアプリケーション設定方法であって、
    前記ICカードは、
    前記各アプリケーションに対応する識別情報群であって、アプリケーションの使用頻度を示す使用頻度情報に基づいて当該識別情報群の検索順序が設定されたテーブル情報を有し、
    外部からの指示に応じて前記テーブル情報から該当する識別情報を検索する検索ステップと、
    前記検索ステップにより検索された識別情報に対応するアプリケーションを実行可能に設定する設定ステップと、
    前記設定ステップにより設定されたアプリケーションに対応する前記使用頻度情報を更新する第1の更新ステップと、
    前記第1の更新ステップにより更新された使用頻度情報に従って、相対的に高い使用頻度を示す識別情報の検索順位が高くなるように前記テーブル情報を更新する第2の更新ステップと
    を有する手順を実行することを特徴とするアプリケーション設定方法。
JP2003125646A 2003-04-30 2003-04-30 Icカード及びそのアプリケーション設定方法 Expired - Fee Related JP4196721B2 (ja)

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 true JP2004334316A (ja) 2004-11-25
JP4196721B2 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 (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044801A (ja) * 2001-07-27 2003-02-14 Dainippon Printing Co Ltd 複数の情報伝達手段を備えた可搬情報処理装置
JP2007148596A (ja) * 2005-11-25 2007-06-14 Hitachi Ltd 情報配信方法
KR100757533B1 (ko) 2006-06-19 2007-09-11 주식회사 케이티프리텔 고속 통신 지원을 위한 스마트 카드
JP2008059423A (ja) * 2006-09-01 2008-03-13 Dainippon Printing Co Ltd Icカード、icカードアプリケーション実行方法、及びプログラム
JP2009522633A (ja) * 2005-12-30 2009-06-11 ノキア コーポレイション 単一の可搬性電子デバイス内で複数rfidタグをエミュレートするための方法とデバイス
WO2011111307A1 (ja) * 2010-03-11 2011-09-15 パナソニック株式会社 近距離無線通信装置、アプリケーションプログラム、ホストおよび近距離無線通信システム
JP2011215833A (ja) * 2010-03-31 2011-10-27 Toshiba Corp 携帯可能電子装置及びicカード
JP2012533101A (ja) * 2009-07-09 2012-12-20 ジェムアルト エスアー 保全された電子トークン中に埋込まれたアプリケーションを管理する方法
EP3147779A4 (en) * 2014-05-29 2017-05-31 Agoop Corp. Program and information processing device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI747561B (zh) 2020-10-19 2021-11-21 創意電子股份有限公司 效能計算系統、效能計算方法與電子裝置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044801A (ja) * 2001-07-27 2003-02-14 Dainippon Printing Co Ltd 複数の情報伝達手段を備えた可搬情報処理装置
JP2007148596A (ja) * 2005-11-25 2007-06-14 Hitachi Ltd 情報配信方法
JP2009522633A (ja) * 2005-12-30 2009-06-11 ノキア コーポレイション 単一の可搬性電子デバイス内で複数rfidタグをエミュレートするための方法とデバイス
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 주식회사 케이티프리텔 고속 통신 지원을 위한 스마트 카드
JP2008059423A (ja) * 2006-09-01 2008-03-13 Dainippon Printing Co Ltd Icカード、icカードアプリケーション実行方法、及びプログラム
JP2012533101A (ja) * 2009-07-09 2012-12-20 ジェムアルト エスアー 保全された電子トークン中に埋込まれたアプリケーションを管理する方法
WO2011111307A1 (ja) * 2010-03-11 2011-09-15 パナソニック株式会社 近距離無線通信装置、アプリケーションプログラム、ホストおよび近距離無線通信システム
JP2011215833A (ja) * 2010-03-31 2011-10-27 Toshiba Corp 携帯可能電子装置及びicカード
EP3147779A4 (en) * 2014-05-29 2017-05-31 Agoop Corp. Program and information processing device

Also Published As

Publication number Publication date
JP4196721B2 (ja) 2008-12-17

Similar Documents

Publication Publication Date Title
US7127570B2 (en) Proximity communication system, proximity communication method, data managing apparatus and data management method, storage medium, and computer program
EP0451936B1 (en) Program control system for portable data storage device
JP4196721B2 (ja) Icカード及びそのアプリケーション設定方法
JP2006222588A (ja) Rfタグ読取りシステム、rfタグリーダライタ制御装置及びそれらに用いる干渉回避方法
JP4888742B2 (ja) 情報処理装置および方法、並びにプログラム
US8082395B2 (en) Portable electronic device
US6286757B1 (en) Portable electronic apparatus
JP4443699B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2010211516A (ja) 携帯可能電子装置および携帯可能電子装置におけるアクセス制御方法
US7346730B2 (en) Mobile electronic device
JP2006012026A (ja) 携帯型情報記憶媒体及びそのプログラム
JP2012133656A (ja) 携帯可能電子装置及びicカード
KR20030035171A (ko) 스마트 카드와 이의 os 프로그램 저장/삭제 및 실행방법
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
JP2002279371A (ja) Icカードのアプリケーション起動制御システム
JP2008146343A (ja) Icカード、および、更新プログラムの呼出し方法
JP7010084B2 (ja) Ic決済で用いるトークンデバイス
JP6948021B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP2018132818A (ja) 電子情報記憶媒体、icカード及びアプリケーション選択方法
JP2003150913A (ja) 携帯可能電子装置、携帯可能電子装置のファイル選択方法、及び上位装置
JP6933446B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP2005025441A (ja) Icカードのアプリケーションプログラム更新方法
JP2005234898A (ja) Romにアプリケーションを実装したマルチアプリケーションicカードおよびプログラム
JP2003203211A (ja) 携帯可能電子装置
JP2006209172A (ja) Icカードおよびicカード用プログラム

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 (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (prs 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