携帯可能電子装置及びICカード
【課題】アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできる携帯可能電子装置及びICカードを提供する。
【解決手段】携帯可能電子装置は、通信部と、第1記憶部と、第2記憶部と、第3記憶部と、制御部と、を備えている。第1記憶部は複数のアプリケーションを記憶する。第2記憶部は複数の識別子を記憶する。第3記憶部は、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する。制御部は、アプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれる識別子が第3記憶部のアドレス情報で示されるアドレスに存在しているのかどうか検索し、識別子がアドレスに存在している場合、アドレスの識別子が指定するアプリケーションを選択する。
【解決手段】携帯可能電子装置は、通信部と、第1記憶部と、第2記憶部と、第3記憶部と、制御部と、を備えている。第1記憶部は複数のアプリケーションを記憶する。第2記憶部は複数の識別子を記憶する。第3記憶部は、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する。制御部は、アプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれる識別子が第3記憶部のアドレス情報で示されるアドレスに存在しているのかどうか検索し、識別子がアドレスに存在している場合、アドレスの識別子が指定するアプリケーションを選択する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、携帯可能電子装置及びICカードに関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置としてICカードが使用されている。ICカードは、カード本体、ICチップ及び通信部を備えている(例えば、特許文献1参照)。ICカードは、接触通信、非接触通信(無線通信)、又は接触通信及び非接触通信の双方の機能を有している。ICチップ内には、データの書き込み及び書き換えが可能な不揮発性メモリであるEEPROM(Electrically Erasable Programmable Read-Only Memory)及び制御部であるCPU(central processing unit)などが組み込まれている。
【0003】
近年、1枚のICカードに複数のアプリケーションが搭載された、いわゆるマルチアプリケーションICカードが開発、運用されている。このマルチアプリケーションICカードとして有名なものとして、例えばJava(登録商標)Cardが挙げられる。JavaCardは、Java言語で記述された複数のアプリケーションを搭載、また削除が可能なICカードである。
【0004】
このような複数のアプリケーションを実行可能なICカードは、ISO7816−4に従い、国内、及び世界中で重複することがないよう登録制により、各アプリケーションに付与されるAID(application identifier)という5乃至16バイトの識別情報(識別子)からアプリケーションを特定している。そしてそのAIDによりアプリケーションを選択してから、続く処理を指示及び実行している。
【0005】
この各AIDは、例えばEEPROM等の内部メモリに保存され、ICカード外部からアプリケーションを選択する命令が供給された場合は、外部から指定されたAIDに基づき内部メモリ内に保存されているAIDを検索し、検索されたAIDに対応するアプリケーションを選択及び実行可能とする。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−328845号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、外部から指示されたAIDに基づき、選択可能なアプリケーションを検索する際に、従来はICカードの内部メモリに登録されているAID情報を、固定的に登録された順番で順次検索処理を実施していた。
【0008】
従ってICカード内に登録されているアプリケーションの数が多くなると、アプリケーションの検索及び選択にかかる処理時間が増し、アプリケーションの処理に悪影響が出ていた。
【0009】
さらに、近年、携帯電話システム方式として、携帯電話機にもSIM(Subscriber Identity Module)カードや、UIM(Universal Identity Module)カードと呼ばれるICカードが装着されている。今後このICカードの運用形態として、例えばクレジットアプリケーションを搭載し、携帯電話機を非接触ICカードとして使用したり、携帯電話機を使うすべてのユーザが、自分で使いたいアプリケーションをインターネットからダウンロードしてICカードに登録し利用したり、といった運用形態も考えられている。そうなるとますますカード内に登録されるアプリケーションが増えることとなり、アプリケーションの選択効率の向上が重要となる。
【0010】
この発明は以上の点に鑑みなされたもので、その目的は、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできる携帯可能電子装置及びICカードを提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本発明の態様に係る携帯可能電子装置は、
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第1記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、
前記第2記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第3記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第3記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とする。
【0012】
また、本発明の他の態様に係る携帯可能電子装置は、
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第1記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、
前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第3記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第2記憶部に存在しているのかどうか前記第3記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とする。
【0013】
また、本発明の他の態様に係るICカードは、
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第1記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、前記第2記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第3記憶部と、制御部と、を具備したICモジュールと、
前記ICモジュールを収納したICカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第3記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とする。
【0014】
また、本発明の他の態様に係るICカードは、
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第1記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第3記憶部と、制御部と、を具備したICモジュールと、
前記ICモジュールを収納したICカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第2記憶部に存在しているのかどうか前記第3記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とする。
【発明の効果】
【0015】
この発明によれば、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできる携帯可能電子装置及びICカードを提供することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施の形態に係るICカードと、ICカードとの通信機能を有する外部装置としてのICカード処理装置と、を備えた通信システムを概略的に示す図である。
【図2】上記実施の形態に係るICカードと、ICカードが装着される携帯電話機と、携帯電話機を用いてICカードとの通信機能を有する外部装置としてのパーソナルコンピュータと、を備えた通信システムを概略的に示す図である。
【図3】上記ICカードの構成を概略的に示す図である。
【図4】図3に示したデータメモリに格納されるファイルの構造例を示す図である。
【図5】コマンドフォーマット例を示す図である。
【図6】図3に示したデータメモリ、特にAIDテーブルを示す概略図である。
【図7】図3に示したデータメモリ、特にAIDデータメモリを示す概略図である。
【図8】上記実施の形態に係る実施例1のICカードの制御部が、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図9】図8に続く、上記実施例1のICカードの制御部が、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図10】上記実施の形態に係る実施例2のICカードの制御部が、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図11】図12に続く、上記実施例2のICカードの制御部が、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図12】本発明の他の実施の形態に係るICカードのデータメモリ、特に選択回数管理テーブルを示す概略図である。
【図13】上記他の実施の形態に係る実施例3のICカードの制御部が、AIDの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図14】図13に続く、上記実施例3のICカードの制御部が、AIDの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図15】上記実施例3のICカードの制御部が図13のステップS3cの制御方法を説明するためのフローチャートである。
【図16】上記他の実施の形態に係る実施例4のICカードの制御部が、AIDの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図17】図16に続く、上記実施例4のICカードの制御部が、AIDの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【発明を実施するための形態】
【0017】
以下、図面を参照しながらこの発明に係る携帯可能電子装置をICカードに適用した実施の形態について詳細に説明する。
ICカード2は、例えば、図1に示すように、外部装置としてのICカード処理装置1と直に通信していてもよく、図2に示すように、携帯電話機101に装着して外部装置としてのパーソナルコンピュータ107と通信していてもよい。
【0018】
ICカード処理装置1と直に通信する場合、図1に示すように、ICカード2及びICカード処理装置1は通信システムを形成している。ICカード処理装置1は、端末装置11、カードリーダライタ12、キーボード13、表示部としてのCRT(Cathode-Ray Tube)14、プリンタ15などを有している。端末装置11は、CPU、種々のメモリ及び各種インターフェースなどを有する装置により構成され、ICカード処理装置1全体の動作を制御するものである。端末装置11は、カードリーダライタ12によりICカード2へコマンドを送信する機能、ICカード2から受信したデータを基に種々の処理を行う機能などを有している。
【0019】
例えば、端末装置11は、カードリーダライタ12を介してICカード2にデータの書き込みコマンドを送信することによりICカード2内の後述するデータメモリ22にデータを書き込む。また、端末装置11は、ICカード2に読み取りコマンドを送信することによりICカード2からデータを読み出す。
【0020】
カードリーダライタ12は、ICカード2との通信を行うためのインターフェース装置である。カードリーダライタ12は、ICカード2の通信方式に応じたインターフェースにより構成される。例えば、ICカード2が接触型のICカードである場合、カードリーダライタ12は、ICカード2のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。また、ICカード2が非接触型のICカードである場合、カードリーダライタ12は、ICカード2との無線通信を行うためのアンテナおよび通信制御などにより構成される。
【0021】
カードリーダライタ12では、ICカード2に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ12は、端末装置11による制御に基づいてICカード2の活性化(起動)、種々のコマンドの送信、及び送信したコマンドに対する応答の受信などを行なう。
【0022】
キーボード13は、ICカード処理装置1の操作員が操作する操作部として機能し、操作員により種々の操作指示やデータなどが入力される。CRT14は、端末装置11の制御により種々の情報を表示する。プリンタ15は、処理結果などの各種データを印刷出力する。
【0023】
一方、携帯電話機101にICカード2装着して外部装置としてのパーソナルコンピュータ107と通信する場合、図2に示すように、ICカード2、携帯電話機101及びパーソナルコンピュータ107は、通信システムを形成している。
【0024】
携帯端末機器としての携帯電話機101は、無線通信事業者の通信システム102により提供されている通信サービス(音声通話、データ通信などの無線通信)を受ける機能を有している。事業者が提供する通信サービスは、事業者用のICカード2を装着した携帯電話機101と事業者の通信システム102とが無線通信を行うことにより提供される。すなわち、各携帯電話機101は、各ユーザが契約している事業者用のICカード2を装着した状態で携帯電話機としての音声通話あるいはデータ通信などの無線通信が利用可能となる。
【0025】
携帯電話機101は、制御ユニット103、近距離通信部104、近距離通信用のアンテナ105などを有している。また、携帯電話機101には、ICカード2が着脱可能なインターフェースを有している。このように、携帯電話機101は、ICカード2が装着された状態で携帯電話機としての各種の機能が有効となる。制御ユニット103は、携帯電話機101の制御を司る。
【0026】
近距離通信部104及びアンテナ105は、非接触ICカードとしての通信機能を実現するためのユニットである。近距離通信部104及びアンテナ105は、非接触ICカードとしての通信機能により、カードリーダライタ106を介してパーソナルコンピュータ107との近距離無線通信が可能となっている。
【0027】
次に、ICカード2の構成について説明する。
図3に示すように、ICカード2は、ICカード本体3と、ICモジュール4とを有している。ICカード本体3はICモジュール4を収納している。ICモジュール4は、1つまたは複数のICチップ5と通信部25とが接続された状態で一体的に形成され、ICカード本体3内に埋設されている。また、ICモジュール4は、制御部21、データメモリ22、ワーキングメモリ23、プログラムメモリ24及び通信部25などを備えている。上記のデータメモリ22、ワーキングメモリ23及びプログラムメモリ24には、アドレスが設定されている。
【0028】
制御部21は、ICカード2全体の制御を司るものである。制御部21は、データメモリ22或いはプログラムメモリ24に記憶されている制御プログラムや制御データに基づいて動作することにより、種々の処理手段として機能する。
【0029】
例えば、制御部21は、オペレーティングシステムのプログラムを実行することにより、ICカード2の基本的な動作制御を行う。また、制御部21は、ICカード2の利用目的に応じたアプリケーションプログラムを実行することにより、ICカード2の運用形態に応じた種々の動作制御を行う。
【0030】
データメモリ22は、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュROMなどの、データの書き込み及び書換えが可能な不揮発性メモリで形成される。データメモリ22には、ICカード2の運用用途に応じて制御プログラムあるいは種々のデータが書込まれ、記憶される。例えば、データメモリ22では、プログラムファイルやデータファイルなどが定義され、それらのファイルに制御プログラムや種々のデータが記憶される。
【0031】
データメモリ22は、複数のアプリケーションを記憶する第1記憶部として機能している。データメモリ22は、第2記憶部として、AIDテーブル22a又はAIDデータメモリ22bを有している。AIDテーブル22a及びAIDデータメモリ22bは、複数のアプリケーションに付与された複数の識別子を記憶する。
【0032】
この実施の形態において、データメモリ22は、第3記憶部としてのAIDアドレスメモリ22cを有している。AIDアドレスメモリ22cは、AIDテーブル22a又はAIDデータメモリ22bに記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する。
【0033】
なお、後述するが、データメモリ22は、AIDアドレスメモリ22cの替わりに、他の第3記憶部としての選択回数管理テーブル22dを有していてもよい。選択回数管理テーブル22dは、複数のアプリケーションの選択回数と、上記選択回数の多い順番に沿って対応する複数の識別子を検索するよう設定可能な複数の識別子の検索順番と、を記憶する。
【0034】
ワーキングメモリ23は、RAM(Random Access Memory)などの揮発性メモリで形成されている。また、ワーキングメモリ23は、制御部21が処理中のデータなどを一時保管するバッファとしても機能する。
【0035】
プログラムメモリ24は、予め制御用のプログラムや制御データなどが記憶されているマスクROM(Read-Only Memory)などの不揮発性のメモリである。プログラムメモリ24には、製造段階で制御プログラムあるいは制御データなどが記憶された状態でICカード2内に組み込まれる。つまり、プログラムメモリ24に記憶されている制御プログラムや制御データは、ICカードの基本的な動作を司り、予めICカード2の仕様に応じて組み込まれる。
【0036】
次に、ICカード2に複数のアプリケーションが登録されている場合の、データメモリ22のファイル構造の概念について説明する。なお、ICカード2に登録されているアプリケーションとしては、例えば、クレジット、ポイントシステム、IDカードなどが挙げられる。
【0037】
図3及び図4に示すように、データメモリ22には、複数のアプリケーションに関する情報がファイル構造で記憶されている。このファイル構造は、ISO/IEC7816−4の規格に基づき、色々なフォルダの種類を持ったディレクトリのツリー構造になっており、複数のアプリケーションが登録可能である。
【0038】
最上位がMF(Master File)30で、その配下にDF(Dedicated File)として、アプリケーションごとに設定されるAPL32、33、34、35、36が設けられ、さらに、それらの配下に実際にアプリケーションで使われるユーザデータの格納に使用されるEF(Elementary File)37、38、39が設けられている構成になっている。
【0039】
また、MF30の配下には、アクセス権を確立するためのキーの格納に使用されるキーEF31が設けられている。なお、APLは搭載しているアプリケーションに相当する数だけ設けられる。
【0040】
例えば、APL1 32には、クレジットA社向けアプリケーション用ファイルとして「クレジットA社」と設定され、その配下には、クレジットA社向けアプリケーションで使用されるEF(EF1−1)37、EF(EF1−2)38という2つのファイルが存在する。
【0041】
APL2 33には、例えば、ポイントX社系向けアプリケーション用ファイルとして「ポイントX社系」と設定され、その配下には、ポイントX社系向けアプリケーションで使用されるEF(EF2−1)39が存在する。
【0042】
本ICカード2が、携帯電話機101に装着されるICカードの場合(図2)、APL3 34には、例えば、携帯電話通信業者M社が提供する携帯電話通信システム向け(以後、モバイル系とも称す)アプリケーション用ファイルとして「モバイルM社」と設定される。APL4 35、APL5 36についても、例えば携帯電話通信業者M社が提供する様々なアプリケーション用ファイルが設定されている。
【0043】
各アプリケーションAPLには、AIDといった識別子が付与されている。APL1にはAID1が付与され、APL2にはAID2が付与され、APL3にはAID3が付与され、APL4にはAID4が付与され、APL5にはAID5が付与されている。
【0044】
次に、上記ファイルにアクセスするためのコマンドについて説明する。
ICカード2は、外部装置から与えられるコマンドに応じて動作する。従って、ICカード2は、外部装置からのコマンドに応じて特定のファイルに対するアクセス(読出し、書込み、更新、削除など)を行う。上記のコマンドは、所定のフォーマットで構成される。例えば、ICカード2に与えられるコマンドは、コマンドの種類、アクセス対象のファイルなどを示す情報が所定のファーマットで格納されるようになっている。
【0045】
図5は、コマンドフォーマットの例を示す図である。
図5に示す例では、コマンドは、CLA(クラスバイト)51、INS(インストラクションバイト)52、P1(パラメータバイト)53、P2(パラメータバイト)54、Lc(Lcフィールド)55、Data(コマンドデータフィールド)56、Le(Leフィールド)57などの情報から構成されている。
【0046】
CLA51及びINS52には、コマンドの種類を示す情報が格納される。P1 53及びP2 54には、コマンドの処理パラメータを示す情報が格納される。P1 53には、データのアクセス対象とすべきファイル(EF)を指定する情報が格納される。P2 54には、例えば、P1 53で指定されるEFにおけるデータのアクセス開始位置(アドレス)を示す情報としてのオフセット値などが格納される。また、Lc55には、たとえば、「Data」部の長さを示す情報あるいは書込むべきデータ全体の長さを示す情報が格納される。Data56には、書込みデータなどが格納される。
【0047】
図3乃至図5に示すように、ICカード2が外部装置からアプリケーション選択の命令を受信した場合、例えばISO7816−4の規格に示されるSELECTコマンドに従ったコマンドフォーマットが受信される。コマンドを受信すると、制御部21は、コマンドフォーマットが正しいと判断した場合、コマンドデータフィールドで指定されるAIDがICカード2に存在しているのかどうか検索し、存在している場合、対応するアプリケーションを選択及び実行する。AIDの検索、アプリケーションの選択及び実行の詳細は後述する。
【0048】
図3、図4及び図6に示すように、データメモリ22がAIDテーブル22aを有している場合、各アプリケーションに付与されるAIDは、AIDテーブル22aに格納され、テーブル情報で管理されている。AIDテーブル22a自体がAIDの検索順番を規定している。このため、制御部21は、AIDテーブル22aの行に基づいてAIDを検索することができる。
【0049】
図3、図4及び図7に示すように、データメモリ22がAIDデータメモリ22bを有している場合、各アプリケーションに付与されるAIDは、AIDデータメモリ22b内にばらばらに記憶されている。このため、AIDを管理するため、ここでは、各AIDにリンク先のAIDを示すポインタP1、P2、P3、P4、P5を付随させている。データメモリ22に記憶された複数のアプリケーション及びAIDデータメモリ22bに記憶された複数のAIDは、リンクしている。ポインタP1、P2、P3、P4、P5がAIDの検索順番を規定している。このため、制御部21は、ポインタの示すAIDを順に検索することができる。
この実施の形態のICカード2は上記のように形成されている。
【0050】
ここで、この実施の形態の制御部21は、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるAIDがAIDアドレスメモリ22cのアドレス情報で示されるアドレスに存在しているのかどうか検索し、AIDが上記アドレスに存在している場合、上記アドレスのAIDが指定するアプリケーションを選択及び実行する。
【0051】
次に、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御の例として、実施例1及び実施例2のICカードの制御部21の処理について説明する。
【0052】
始めに、実施例1のICカードの制御部21の処理について説明する。実施例1において、外部装置はICカード処理装置1であり、データメモリ22は、AIDテーブル22a及びAIDアドレスメモリ22cを有している。
【0053】
(実施例1)
図1、図3、図6及び図8に示すように、制御部21が、通信部25を介してアプリケーションの選択を指示するコマンド(SELECTコマンド)をICカード処理装置1から受信し、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御がスタートすると、まず、ステップS1aにおいて、制御部21は、AIDテーブル22a内において、検索ポインタを、AIDアドレスメモリ22cに記憶されたアドレス情報で示されるアドレスのAIDに設定する。ここで、AIDアドレスメモリ22cには、AIDテーブル22aに記憶された複数のAIDの中、最後に選択されたアプリケーションに付与されたAIDのアドレス情報が記憶されている。このため、制御部21は、検索ポインタを、最後(最近)に選択されたアプリケーションに付与されるAIDに設定することができる。
【0054】
続いて、ステップS2aにおいて、制御部21は、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致しているのかどうか判断する。AIDが一致している場合(ステップS2a)、ステップS3aに移行し、ステップS3aにおいて、制御部21は、検索ポインタが設定されているAIDのアドレスを示すアドレス情報をAIDアドレスメモリ22cに記憶し、すなわち、制御部21は、AIDアドレスメモリ22cのアドレス情報を更新する。
【0055】
次いで、ステップS4aにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションを選択及び実行し、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御を終了する。
【0056】
ステップS2aにおいて、AIDが一致していない場合、図1、図3、図6及び図9に示すように、ステップS5aに移行し、ステップS5aにおいて、制御部21は、検索ポインタがAIDテーブル22aの最後のAIDに設定されているのかどうか判断する。
【0057】
検索ポインタがAIDテーブル22aの最後のAIDに設定されていない場合(ステップS5a)、ステップS6aに移行し、ステップS6aにおいて、制御部21は、検索ポインタを、検索ポインタが設定されているAIDの次の行のAIDに設定し、すなわち検索ポインタを1つ分進め、ステップS8aに移行する。
【0058】
検索ポインタがAIDテーブル22aの最後のAIDに設定されている場合(ステップS5a)、ステップS7aに移行し、ステップS7aにおいて、制御部21は、検索ポインタをAIDテーブル22aの先頭のAIDに設定し、ステップS8aに移行する。
【0059】
次いで、ステップS8aにおいて、制御部21は、検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒であるのかどうか判断する。すなわち、制御部21は、上記コマンドを受信してから最初に検索ポインタが設定されたAIDに再び検索ポインタが設定されているのかどうか判断する。
【0060】
検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒でない場合(ステップS8a)、ステップS2aに移行する。検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒である場合(ステップS8a)、ステップS9aに移行し、ステップS9aにおいて、制御部21は、「アプリケーションの選択候補無し」を意味するステータスワードをICカード処理装置1に送信し、AIDの検索を終了する。
【0061】
上記のように、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致している場合(ステップS2a)、制御部21は、検索ポインタが設定されているAIDのアドレスを示すアドレス情報をAIDアドレスメモリ22cに記憶する(ステップS3a)。
【0062】
これにより、制御部21は、次回アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、AIDアドレスメモリ22cに記憶したアドレス情報で示されるアドレスのAIDに最初に設定することができる。このため、最後(最近)に選択され、一般的に繰り返し利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0063】
次に、実施例2のICカードの制御部21の処理について説明する。実施例2において、外部装置はICカード処理装置1であり、データメモリ22は、AIDデータメモリ22b及びAIDアドレスメモリ22cを有している。
【0064】
(実施例2)
図1、図3、図7及び図10に示すように、制御部21が、通信部25を介してアプリケーションの選択を指示するコマンド(SELECTコマンド)をICカード処理装置1から受信し、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御がスタートすると、まず、ステップS1bにおいて、制御部21は、AIDデータメモリ22b内において、検索ポインタを、AIDアドレスメモリ22cに記憶されたアドレス情報で示されるアドレスのAIDに設定する。ここで、AIDアドレスメモリ22cには、AIDテーブル22aに記憶された複数のAIDの中、最後に選択されたアプリケーションに付与されたAIDのアドレス情報が記憶されている。このため、制御部21は、検索ポインタを、最後(最近)に選択されたアプリケーションに付与されるAIDに設定することができる。
【0065】
続いて、ステップS2bにおいて、制御部21は、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致しているのかどうか判断する。AIDが一致している場合(ステップS2b)、ステップS3bに移行し、ステップS3bにおいて、制御部21は、検索ポインタが設定されているAIDのアドレスを示すアドレス情報をAIDアドレスメモリ22cに記憶し、すなわち、制御部21は、AIDアドレスメモリ22cのアドレス情報を更新する。
【0066】
次いで、ステップS4bにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションを選択及び実行し、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御を終了する。
【0067】
ステップS2bにおいて、AIDが一致していない場合、図1、図3、図7及び図11に示すように、ステップS5bに移行し、ステップS5bにおいて、制御部21は、検索ポインタが設定されているAIDのリンク先のAIDがあるのかどうか判断する。
【0068】
リンク先のAIDがある場合(ステップS5b)、ステップS6bに移行し、ステップS6bにおいて、制御部21は、AIDデータメモリ22b内において、検索ポインタを、検索ポインタが設定されているAIDのリンク先のAIDに設定し、すなわち検索ポインタを1つ分進め、ステップS8bに移行する。
【0069】
リンク先のAIDがない場合(ステップS5b)、ステップS7bに移行し、ステップS7bにおいて、制御部21は、AIDデータメモリ22b内において、検索ポインタを、最初のリンク元のAID(AIDデータメモリ上で先頭に登録されているAID)に設定し、ステップS8bに移行する。
【0070】
次いで、ステップS8bにおいて、制御部21は、検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒であるのかどうか判断する。すなわち、制御部21は、上記コマンドを受信してから最初に検索ポインタが設定されたAIDに再び検索ポインタが設定されているのかどうか判断する。
【0071】
検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒でない場合(ステップS8b)、ステップS2bに移行する。検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒である場合(ステップS8b)、ステップS9bに移行し、ステップS9bにおいて、制御部21は、「アプリケーションの選択候補無し」を意味するステータスワードをICカード処理装置1に送信し、AIDの検索を終了する。
【0072】
上記のように、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致している場合(ステップS2b)、制御部21は、検索ポインタが設定されているAIDのアドレスを示すアドレス情報をAIDアドレスメモリ22cに記憶する(ステップS3b)。
【0073】
これにより、制御部21は、次回アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、AIDアドレスメモリ22cに記憶したアドレス情報で示されるアドレスのAIDに最初に設定することができる。このため、最後(最近)に選択され、一般的に繰り返し利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0074】
上記のように構成された実施の形態に係るICカード2によれば、ICカード2は、ICモジュール4と、ICモジュール4を収納したICカード本体3とを備えている。ICモジュール4は、ICカード処理装置1、パーソナルコンピュータ107などの外部装置と通信を行う通信部25と、複数のアプリケーションを記憶するデータメモリ22と、それぞれ複数のアプリケーションに付与された複数のAIDと、複数のAIDの検索順番と、を記憶するAIDテーブル22a又はAIDデータメモリ22bと、AIDテーブル22a又はAIDデータメモリ22bに記憶された複数のAIDの中、最後に選択されたアプリケーションに付与されたAIDのアドレス情報を記憶するAIDアドレスメモリ22cと、制御部21と、を備えている。
【0075】
制御部21は、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるAIDがAIDアドレスメモリ22cのアドレス情報で示されるアドレスに存在しているのかどうか検索し、AIDが上記アドレスに存在している場合、上記アドレスのAIDが指定するアプリケーションを選択及び実行する。このため、最後(最近)に選択され、一般的に繰り返し利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0076】
制御部21は、上記コマンドに含まれるAIDが上記アドレスに存在していない場合、上記AIDがAIDテーブル22a又はAIDデータメモリ22bに存在しているのかどうか検索順番に沿って検索する。そして、制御部21は、上記AIDがAIDテーブル22a又はAIDデータメモリ22bに存在している場合、上記AIDのアドレス情報をAIDアドレスメモリ22cに記憶し、AIDアドレスメモリ22cのアドレス情報を更新し、上記AIDが指定するアプリケーションを選択及び実行する。これにより、制御部21は、次回アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、AIDアドレスメモリ22cに記憶したアドレス情報で示されるアドレスのAIDに最初に設定することができる。
上記のことから、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできるICカード2を得ることができる。
【0077】
次に、この発明に係る携帯可能電子装置をICカードに適用した他の実施の形態について詳細に説明する。この実施の形態のICカード2は、上述した実施の形態に比べ、更にアプリケーションの選択効率の向上を図ることが可能である。なお、この実施の形態において、ICカード2がAIDアドレスメモリ22cの替わりに選択回数管理テーブル22dを有していること、制御部21の制御が異なること以外は上述した実施の形態と同一であり、同一の部分には同一の符号を付してその詳細な説明を省略する。
【0078】
図3に示すように、ICカード2は、ICカード本体3と、ICモジュール4とを有している。ICモジュール4は、制御部21、データメモリ22、ワーキングメモリ23、プログラムメモリ24及び通信部25などを備えている。
【0079】
データメモリ22は、複数のアプリケーションを記憶する第1記憶部として機能している。データメモリ22は、第2記憶部としてAIDテーブル22a又はAIDデータメモリ22bを有している。AIDテーブル22a及びAIDデータメモリ22bは、複数のアプリケーションに付与された複数の識別子を記憶する。
【0080】
図3及び図12に示すように、データメモリ22は、第3記憶部として選択回数管理テーブル22dを有している。選択回数管理テーブル22dは、データメモリ22に記憶された複数のアプリケーションの選択回数と、選択回数の多い順番に沿って対応する複数のAIDを検索するよう設定可能な複数のAIDの検索順番と、を記憶する。この実施の形態において、AIDの検索順番はテーブル情報で管理され、選択回数管理テーブル22dには、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDの情報が、先頭から順に並べられている。
【0081】
図12に示す例では、選択回数が10回のアプリケーションAPL4に付与されるAID4の情報は選択回数管理テーブル22dの先頭の行(1行目)に設定されている。選択回数が5回のアプリケーションAPL5に付与されるAID5の情報は選択回数管理テーブル22dの2行目に設定されている。選択回数が2回のアプリケーションAPL2に付与されるAID2の情報は選択回数管理テーブル22dの3行目に設定されている。選択回数が1回のアプリケーションAPL3に付与されるAID3の情報は選択回数管理テーブル22dの4行目に設定されている。選択回数が0回のアプリケーションAPL1に付与されるAID1の情報は選択回数管理テーブル22dの5行目に設定されている。
【0082】
制御部21は、選択回数管理テーブル22dの行に沿って検索ポインタのリンク先を設定することができる。制御部21は、AIDの検索を開始すると(start)、検索ポインタのリンク先をまずAID4に設定し、その後、検索ポインタのリンク先をAID5、AID2、AID3、AID1の順に設定する。検索ポインタがAID1に設定されると、検索ポインタのリンク先は無いため、AIDの検索を終了する(end)。
【0083】
上記のように、選択回数管理テーブル22d自体がAIDの検索順番を規定している。このため、制御部21は、選択回数管理テーブル22dの行に基づいてAIDテーブル22a又はAIDデータメモリ22bに記憶されたAIDを順に検索することができる。
この実施の形態のICカード2は上記のように形成されている。
【0084】
ここで、この実施の形態の制御部21は、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるAIDがAIDテーブル22a又はAIDデータメモリ22bに存在しているのかどうか選択回数管理テーブル22dに記憶された検索順番に沿って検索する。
そして、制御部21は、上記AIDがAIDテーブル22a又はAIDデータメモリ22bに存在している場合、上記AIDが指定するアプリケーションを選択及び実行する。
【0085】
次に、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御の例として、実施例3及び実施例4のICカードの制御部21の処理について説明する。
【0086】
始めに、実施例3のICカードの制御部21の処理について説明する。実施例3において、外部装置はICカード処理装置1であり、データメモリ22は、AIDテーブル22a及び選択回数管理テーブル22dを有している。
【0087】
(実施例3)
図1、図3、図6、図12及び図13に示すように、制御部21が、通信部25を介してアプリケーションの選択を指示するコマンド(SELECTコマンド)をICカード処理装置1から受信し、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御がスタートすると、まず、ステップS1cにおいて、制御部21は、AIDテーブル22a内において、検索ポインタを、検索順番が最初のAIDに設定する。これにより、検索ポインタを、選択回数の最も多いアプリケーションに付与されるAIDに設定することができる。
【0088】
続いて、ステップS2cにおいて、制御部21は、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致しているのかどうか判断する。AIDが一致している場合(ステップS2c)、ステップS3cに移行し、ステップS3cにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶した情報(アプリケーションの選択回数及びAIDの検索順番)を更新する。
【0089】
次いで、ステップS4cにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションを選択及び実行し、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御を終了する。
【0090】
AIDが一致していない場合(ステップS2c)、図1、図3、図6、図12及び図14に示すように、ステップS5cに移行し、ステップS5cにおいて、制御部21は、検索ポインタが、検索順番が最後のAIDに設定されているのかどうか判断する。すなわち、制御部21は、選択回数管理テーブル22dの情報を基に検索ポインタのリンク先があるのかどうか判断する。
【0091】
検索ポインタが、検索順番が最後のAIDに設定されていない場合(ステップS5c)、ステップS6cに移行し、ステップS6cにおいて、制御部21は、選択回数管理テーブル22dの情報を基に、次に選択回数が多いアプリケーションに付与されるAIDに検索ポインタを設定し、ステップS2cに移行する。
【0092】
検索ポインタが、検索順番が最後のAIDに設定されている場合(ステップS5c)、ステップS7cに移行し、ステップS7cにおいて、制御部21は、「アプリケーションの選択候補無し」を意味するステータスワードをICカード処理装置1に送信し、AIDの検索を終了する。
【0093】
次に、上記ステップS3cについて、詳しく説明する。
図1、図3、図6、図12及び図15に示すように、まず、ステップS1dにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶したアプリケーションの選択回数を更新する。
【0094】
次いで、ステップS2dにおいて、制御部21は、検索ポインタが設定されているAIDが選択回数管理テーブル22dの先頭(最上位)のAIDであるのかどうか判断する。選択回数管理テーブル22dの先頭のAIDである場合(ステップS2d)、上記ステップS3cの工程は終了し上記ステップS4cに移行する。
【0095】
選択回数管理テーブル22dの先頭のAIDでない場合(ステップS2d)、ステップS3dに移行し、ステップS3dにおいて、制御部21は、「上位のAIDの選択回数≧検索ポインタが設定されているAIDの選択回数」であるのかどうか判断する。
【0096】
「上位のAIDの選択回数≧検索ポインタが設定されているAIDの選択回数」である場合(ステップS3d)、上記ステップS3cの工程は終了し上記ステップS4cに移行する。「上位のAIDの選択回数≧検索ポインタが設定されているAIDの選択回数」ではない場合(ステップS3d)、ステップS4dに移行し、ステップS4dにおいて、制御部21は、選択回数管理テーブル22d内において、検索ポインタが設定されているAIDと、上位のAIDと、の順序を入れ替え、すなわちAIDの検索順番を更新し、上記ステップS3cの工程を終了し上記ステップS4cに移行する。
【0097】
上記のように、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致している場合(ステップS2c)、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶した情報(アプリケーションの選択回数及びAIDの検索順番)を更新する(ステップS3c)。
【0098】
これにより、制御部21は、アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDに順に設定することができる。このため、利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0099】
次に、実施例4のICカードの制御部21の処理について説明する。実施例4において、外部装置はICカード処理装置1であり、データメモリ22は、AIDデータメモリ22b及び選択回数管理テーブル22dを有している。
【0100】
(実施例4)
図1、図3、図7、図12及び図16に示すように、制御部21が、通信部25を介してアプリケーションの選択を指示するコマンド(SELECTコマンド)をICカード処理装置1から受信し、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御がスタートすると、まず、ステップS1eにおいて、制御部21は、AIDデータメモリ22b内において、検索ポインタを、検索順番が最初のAIDに設定する。これにより、検索ポインタを、選択回数の最も多いアプリケーションに付与されるAIDに設定することができる。
【0101】
続いて、ステップS2eにおいて、制御部21は、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致しているのかどうか判断する。AIDが一致している場合(ステップS2e)、ステップS3eに移行し、ステップS3eにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶した情報(アプリケーションの選択回数及びAIDの検索順番)を更新する。
【0102】
次いで、ステップS4eにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションを選択及び実行し、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御を終了する。
【0103】
AIDが一致していない場合(ステップS2e)、図1、図3、図7、図12及び図17に示すように、ステップS5eに移行し、ステップS5eにおいて、制御部21は、検索ポインタが、検索順番が最後のAIDに設定されているのかどうか判断する。すなわち、制御部21は、選択回数管理テーブル22dの情報を基に検索ポインタのリンク先があるのかどうか判断する。
【0104】
検索ポインタが、検索順番が最後のAIDに設定されていない場合(ステップS5e)、ステップS6eに移行し、ステップS6eにおいて、制御部21は、選択回数管理テーブル22dの情報を基に、次に選択回数が多いアプリケーションに付与されるAIDに検索ポインタを設定し、ステップS2eに移行する。
【0105】
検索ポインタが、検索順番が最後のAIDに設定されている場合(ステップS5e)、ステップS7eに移行し、ステップS7eにおいて、制御部21は、「アプリケーションの選択候補無し」を意味するステータスワードをICカード処理装置1に送信し、AIDの検索を終了する。
なお、実施例4においても、上記ステップS3eの詳細は、図15に示した通りである。
【0106】
上記のように、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致している場合(ステップS2e)、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶した情報(アプリケーションの選択回数及びAIDの検索順番)を更新する(ステップS3e)。
【0107】
これにより、制御部21は、アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDに順に設定することができる。このため、利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0108】
上記のように構成された他の実施の形態に係るICカード2によれば、ICカード2は、ICモジュール4と、ICモジュール4を収納したICカード本体3とを備えている。ICモジュール4は、ICカード処理装置1、パーソナルコンピュータ107などの外部装置と通信を行う通信部25と、複数のアプリケーションを記憶するデータメモリ22と、それぞれ複数のアプリケーションに付与された複数のAIDを記憶するAIDテーブル22a又はAIDデータメモリ22bと、複数のアプリケーションの選択回数と、選択回数の多い順番に沿って対応する複数のAIDを検索するよう設定可能な複数のAIDの検索順番と、を記憶する選択回数管理テーブル22dと、制御部21と、を備えている。
【0109】
制御部21は、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるAIDがAIDテーブル22a又はAIDデータメモリ22bに存在しているのかどうか選択回数管理テーブル22dに記憶された検索順番に沿って検索する。そして、制御部21は、上記AIDがAIDテーブル22a又はAIDデータメモリ22bに存在している場合、上記AIDが指定するアプリケーションを選択及び実行する。このため、利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0110】
制御部21は、上記コマンドに含まれるAIDがAIDテーブル22a又はAIDデータメモリ22bに存在している場合、上記AIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dの選択回数を更新する。
【0111】
選択回数管理テーブル22dの検索順番がアプリケーションの選択回数の多い順番に沿わなくなった場合、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDを検索できるよう選択回数管理テーブル22dの検索順番を更新する。
【0112】
これにより、制御部21は、アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDに順に設定することができる。
上記のことから、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできるICカード2を得ることができる。
【0113】
なお、この発明は上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化可能である。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0114】
例えば、上述した第1の実施の形態において、制御部21は、通信部25を介して最後(最近)に選択されたアプリケーションの選択を指示するコマンドを受信し、同一のアプリケーションを繰り返し利用する場合、AIDアドレスメモリ22cのアドレス情報を更新しなくともよい。
【0115】
上述した第1の実施の形態に係る実施例1において、AIDアドレスメモリ22cにアドレス情報が記憶されていない状態でAIDを検索する場合、制御部21は、検索ポインタを、まずAIDテーブル22aの先頭の行に設定した後、行に沿って検索すればよい。
【0116】
上述した第1の実施の形態に係る実施例2において、AIDアドレスメモリ22cにアドレス情報が記憶されていない状態でAIDを検索する場合、制御部21は、検索ポインタを、まずAIDデータメモリ22bの最初のリンク元のAIDに設定した後、順に検索すればよい。
【0117】
この発明の第1乃至第3記億部は、上述した例に限るものではなく、種々変形可能である。
上述した第2の実施の形態において、他の第3記憶部は、選択回数管理テーブル22dに限定されるものではなく、種々変形可能であり、複数のアプリケーションの選択回数と、上記選択回数の多い順番に沿って対応する複数の識別子を検索するよう設定可能な複数の識別子の検索順番と、を記憶するものであればよい。
【0118】
上述した第2の実施の形態に係る実施例3において、ICカード2は、選択回数管理テーブル22dを有していなくともよく、この場合、AIDテーブル22aをダイナミックに書き換え、AIDテーブル22aには、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDを、先頭から順に並べればよい。
【0119】
上述した第2の実施の形態に係る実施例4において、ICカード2は、選択回数管理テーブル22dを有していなくともよく、この場合、AIDデータメモリ22b内のリンク先の情報を書き換え、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDがリンクされていればよい。
【0120】
第2記憶部は、データメモリ22の一部(AIDテーブル22a又はAIDデータメモリ22b)に設けられているが、これに限らず、例えば、プログラムメモリ24の一部に設けられていてもよい。
【0121】
この発明の携帯可能電子装置は、ICカードに限らず、通信機能を有した各種の携帯可能電子装置に適用することが可能である。
【符号の説明】
【0122】
1…ICカード処理装置、2…ICカード、3…ICカード本体、4…ICモジュール、12…カードリーダライタ、21…制御部、22…データメモリ、22a…AIDテーブル、22b…AIDデータメモリ、22c…AIDアドレスメモリ、22d…選択回数管理テーブル、23…ワーキングメモリ、24…プログラムメモリ、25…通信部、101…携帯電話機、106…カードリーダライタ、107…パーソナルコンピュータ。
【技術分野】
【0001】
この発明は、携帯可能電子装置及びICカードに関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置としてICカードが使用されている。ICカードは、カード本体、ICチップ及び通信部を備えている(例えば、特許文献1参照)。ICカードは、接触通信、非接触通信(無線通信)、又は接触通信及び非接触通信の双方の機能を有している。ICチップ内には、データの書き込み及び書き換えが可能な不揮発性メモリであるEEPROM(Electrically Erasable Programmable Read-Only Memory)及び制御部であるCPU(central processing unit)などが組み込まれている。
【0003】
近年、1枚のICカードに複数のアプリケーションが搭載された、いわゆるマルチアプリケーションICカードが開発、運用されている。このマルチアプリケーションICカードとして有名なものとして、例えばJava(登録商標)Cardが挙げられる。JavaCardは、Java言語で記述された複数のアプリケーションを搭載、また削除が可能なICカードである。
【0004】
このような複数のアプリケーションを実行可能なICカードは、ISO7816−4に従い、国内、及び世界中で重複することがないよう登録制により、各アプリケーションに付与されるAID(application identifier)という5乃至16バイトの識別情報(識別子)からアプリケーションを特定している。そしてそのAIDによりアプリケーションを選択してから、続く処理を指示及び実行している。
【0005】
この各AIDは、例えばEEPROM等の内部メモリに保存され、ICカード外部からアプリケーションを選択する命令が供給された場合は、外部から指定されたAIDに基づき内部メモリ内に保存されているAIDを検索し、検索されたAIDに対応するアプリケーションを選択及び実行可能とする。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−328845号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、外部から指示されたAIDに基づき、選択可能なアプリケーションを検索する際に、従来はICカードの内部メモリに登録されているAID情報を、固定的に登録された順番で順次検索処理を実施していた。
【0008】
従ってICカード内に登録されているアプリケーションの数が多くなると、アプリケーションの検索及び選択にかかる処理時間が増し、アプリケーションの処理に悪影響が出ていた。
【0009】
さらに、近年、携帯電話システム方式として、携帯電話機にもSIM(Subscriber Identity Module)カードや、UIM(Universal Identity Module)カードと呼ばれるICカードが装着されている。今後このICカードの運用形態として、例えばクレジットアプリケーションを搭載し、携帯電話機を非接触ICカードとして使用したり、携帯電話機を使うすべてのユーザが、自分で使いたいアプリケーションをインターネットからダウンロードしてICカードに登録し利用したり、といった運用形態も考えられている。そうなるとますますカード内に登録されるアプリケーションが増えることとなり、アプリケーションの選択効率の向上が重要となる。
【0010】
この発明は以上の点に鑑みなされたもので、その目的は、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできる携帯可能電子装置及びICカードを提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本発明の態様に係る携帯可能電子装置は、
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第1記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、
前記第2記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第3記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第3記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とする。
【0012】
また、本発明の他の態様に係る携帯可能電子装置は、
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第1記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、
前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第3記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第2記憶部に存在しているのかどうか前記第3記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とする。
【0013】
また、本発明の他の態様に係るICカードは、
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第1記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、前記第2記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第3記憶部と、制御部と、を具備したICモジュールと、
前記ICモジュールを収納したICカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第3記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とする。
【0014】
また、本発明の他の態様に係るICカードは、
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第1記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第3記憶部と、制御部と、を具備したICモジュールと、
前記ICモジュールを収納したICカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第2記憶部に存在しているのかどうか前記第3記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とする。
【発明の効果】
【0015】
この発明によれば、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできる携帯可能電子装置及びICカードを提供することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施の形態に係るICカードと、ICカードとの通信機能を有する外部装置としてのICカード処理装置と、を備えた通信システムを概略的に示す図である。
【図2】上記実施の形態に係るICカードと、ICカードが装着される携帯電話機と、携帯電話機を用いてICカードとの通信機能を有する外部装置としてのパーソナルコンピュータと、を備えた通信システムを概略的に示す図である。
【図3】上記ICカードの構成を概略的に示す図である。
【図4】図3に示したデータメモリに格納されるファイルの構造例を示す図である。
【図5】コマンドフォーマット例を示す図である。
【図6】図3に示したデータメモリ、特にAIDテーブルを示す概略図である。
【図7】図3に示したデータメモリ、特にAIDデータメモリを示す概略図である。
【図8】上記実施の形態に係る実施例1のICカードの制御部が、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図9】図8に続く、上記実施例1のICカードの制御部が、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図10】上記実施の形態に係る実施例2のICカードの制御部が、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図11】図12に続く、上記実施例2のICカードの制御部が、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図12】本発明の他の実施の形態に係るICカードのデータメモリ、特に選択回数管理テーブルを示す概略図である。
【図13】上記他の実施の形態に係る実施例3のICカードの制御部が、AIDの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図14】図13に続く、上記実施例3のICカードの制御部が、AIDの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図15】上記実施例3のICカードの制御部が図13のステップS3cの制御方法を説明するためのフローチャートである。
【図16】上記他の実施の形態に係る実施例4のICカードの制御部が、AIDの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図17】図16に続く、上記実施例4のICカードの制御部が、AIDの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【発明を実施するための形態】
【0017】
以下、図面を参照しながらこの発明に係る携帯可能電子装置をICカードに適用した実施の形態について詳細に説明する。
ICカード2は、例えば、図1に示すように、外部装置としてのICカード処理装置1と直に通信していてもよく、図2に示すように、携帯電話機101に装着して外部装置としてのパーソナルコンピュータ107と通信していてもよい。
【0018】
ICカード処理装置1と直に通信する場合、図1に示すように、ICカード2及びICカード処理装置1は通信システムを形成している。ICカード処理装置1は、端末装置11、カードリーダライタ12、キーボード13、表示部としてのCRT(Cathode-Ray Tube)14、プリンタ15などを有している。端末装置11は、CPU、種々のメモリ及び各種インターフェースなどを有する装置により構成され、ICカード処理装置1全体の動作を制御するものである。端末装置11は、カードリーダライタ12によりICカード2へコマンドを送信する機能、ICカード2から受信したデータを基に種々の処理を行う機能などを有している。
【0019】
例えば、端末装置11は、カードリーダライタ12を介してICカード2にデータの書き込みコマンドを送信することによりICカード2内の後述するデータメモリ22にデータを書き込む。また、端末装置11は、ICカード2に読み取りコマンドを送信することによりICカード2からデータを読み出す。
【0020】
カードリーダライタ12は、ICカード2との通信を行うためのインターフェース装置である。カードリーダライタ12は、ICカード2の通信方式に応じたインターフェースにより構成される。例えば、ICカード2が接触型のICカードである場合、カードリーダライタ12は、ICカード2のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。また、ICカード2が非接触型のICカードである場合、カードリーダライタ12は、ICカード2との無線通信を行うためのアンテナおよび通信制御などにより構成される。
【0021】
カードリーダライタ12では、ICカード2に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ12は、端末装置11による制御に基づいてICカード2の活性化(起動)、種々のコマンドの送信、及び送信したコマンドに対する応答の受信などを行なう。
【0022】
キーボード13は、ICカード処理装置1の操作員が操作する操作部として機能し、操作員により種々の操作指示やデータなどが入力される。CRT14は、端末装置11の制御により種々の情報を表示する。プリンタ15は、処理結果などの各種データを印刷出力する。
【0023】
一方、携帯電話機101にICカード2装着して外部装置としてのパーソナルコンピュータ107と通信する場合、図2に示すように、ICカード2、携帯電話機101及びパーソナルコンピュータ107は、通信システムを形成している。
【0024】
携帯端末機器としての携帯電話機101は、無線通信事業者の通信システム102により提供されている通信サービス(音声通話、データ通信などの無線通信)を受ける機能を有している。事業者が提供する通信サービスは、事業者用のICカード2を装着した携帯電話機101と事業者の通信システム102とが無線通信を行うことにより提供される。すなわち、各携帯電話機101は、各ユーザが契約している事業者用のICカード2を装着した状態で携帯電話機としての音声通話あるいはデータ通信などの無線通信が利用可能となる。
【0025】
携帯電話機101は、制御ユニット103、近距離通信部104、近距離通信用のアンテナ105などを有している。また、携帯電話機101には、ICカード2が着脱可能なインターフェースを有している。このように、携帯電話機101は、ICカード2が装着された状態で携帯電話機としての各種の機能が有効となる。制御ユニット103は、携帯電話機101の制御を司る。
【0026】
近距離通信部104及びアンテナ105は、非接触ICカードとしての通信機能を実現するためのユニットである。近距離通信部104及びアンテナ105は、非接触ICカードとしての通信機能により、カードリーダライタ106を介してパーソナルコンピュータ107との近距離無線通信が可能となっている。
【0027】
次に、ICカード2の構成について説明する。
図3に示すように、ICカード2は、ICカード本体3と、ICモジュール4とを有している。ICカード本体3はICモジュール4を収納している。ICモジュール4は、1つまたは複数のICチップ5と通信部25とが接続された状態で一体的に形成され、ICカード本体3内に埋設されている。また、ICモジュール4は、制御部21、データメモリ22、ワーキングメモリ23、プログラムメモリ24及び通信部25などを備えている。上記のデータメモリ22、ワーキングメモリ23及びプログラムメモリ24には、アドレスが設定されている。
【0028】
制御部21は、ICカード2全体の制御を司るものである。制御部21は、データメモリ22或いはプログラムメモリ24に記憶されている制御プログラムや制御データに基づいて動作することにより、種々の処理手段として機能する。
【0029】
例えば、制御部21は、オペレーティングシステムのプログラムを実行することにより、ICカード2の基本的な動作制御を行う。また、制御部21は、ICカード2の利用目的に応じたアプリケーションプログラムを実行することにより、ICカード2の運用形態に応じた種々の動作制御を行う。
【0030】
データメモリ22は、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュROMなどの、データの書き込み及び書換えが可能な不揮発性メモリで形成される。データメモリ22には、ICカード2の運用用途に応じて制御プログラムあるいは種々のデータが書込まれ、記憶される。例えば、データメモリ22では、プログラムファイルやデータファイルなどが定義され、それらのファイルに制御プログラムや種々のデータが記憶される。
【0031】
データメモリ22は、複数のアプリケーションを記憶する第1記憶部として機能している。データメモリ22は、第2記憶部として、AIDテーブル22a又はAIDデータメモリ22bを有している。AIDテーブル22a及びAIDデータメモリ22bは、複数のアプリケーションに付与された複数の識別子を記憶する。
【0032】
この実施の形態において、データメモリ22は、第3記憶部としてのAIDアドレスメモリ22cを有している。AIDアドレスメモリ22cは、AIDテーブル22a又はAIDデータメモリ22bに記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する。
【0033】
なお、後述するが、データメモリ22は、AIDアドレスメモリ22cの替わりに、他の第3記憶部としての選択回数管理テーブル22dを有していてもよい。選択回数管理テーブル22dは、複数のアプリケーションの選択回数と、上記選択回数の多い順番に沿って対応する複数の識別子を検索するよう設定可能な複数の識別子の検索順番と、を記憶する。
【0034】
ワーキングメモリ23は、RAM(Random Access Memory)などの揮発性メモリで形成されている。また、ワーキングメモリ23は、制御部21が処理中のデータなどを一時保管するバッファとしても機能する。
【0035】
プログラムメモリ24は、予め制御用のプログラムや制御データなどが記憶されているマスクROM(Read-Only Memory)などの不揮発性のメモリである。プログラムメモリ24には、製造段階で制御プログラムあるいは制御データなどが記憶された状態でICカード2内に組み込まれる。つまり、プログラムメモリ24に記憶されている制御プログラムや制御データは、ICカードの基本的な動作を司り、予めICカード2の仕様に応じて組み込まれる。
【0036】
次に、ICカード2に複数のアプリケーションが登録されている場合の、データメモリ22のファイル構造の概念について説明する。なお、ICカード2に登録されているアプリケーションとしては、例えば、クレジット、ポイントシステム、IDカードなどが挙げられる。
【0037】
図3及び図4に示すように、データメモリ22には、複数のアプリケーションに関する情報がファイル構造で記憶されている。このファイル構造は、ISO/IEC7816−4の規格に基づき、色々なフォルダの種類を持ったディレクトリのツリー構造になっており、複数のアプリケーションが登録可能である。
【0038】
最上位がMF(Master File)30で、その配下にDF(Dedicated File)として、アプリケーションごとに設定されるAPL32、33、34、35、36が設けられ、さらに、それらの配下に実際にアプリケーションで使われるユーザデータの格納に使用されるEF(Elementary File)37、38、39が設けられている構成になっている。
【0039】
また、MF30の配下には、アクセス権を確立するためのキーの格納に使用されるキーEF31が設けられている。なお、APLは搭載しているアプリケーションに相当する数だけ設けられる。
【0040】
例えば、APL1 32には、クレジットA社向けアプリケーション用ファイルとして「クレジットA社」と設定され、その配下には、クレジットA社向けアプリケーションで使用されるEF(EF1−1)37、EF(EF1−2)38という2つのファイルが存在する。
【0041】
APL2 33には、例えば、ポイントX社系向けアプリケーション用ファイルとして「ポイントX社系」と設定され、その配下には、ポイントX社系向けアプリケーションで使用されるEF(EF2−1)39が存在する。
【0042】
本ICカード2が、携帯電話機101に装着されるICカードの場合(図2)、APL3 34には、例えば、携帯電話通信業者M社が提供する携帯電話通信システム向け(以後、モバイル系とも称す)アプリケーション用ファイルとして「モバイルM社」と設定される。APL4 35、APL5 36についても、例えば携帯電話通信業者M社が提供する様々なアプリケーション用ファイルが設定されている。
【0043】
各アプリケーションAPLには、AIDといった識別子が付与されている。APL1にはAID1が付与され、APL2にはAID2が付与され、APL3にはAID3が付与され、APL4にはAID4が付与され、APL5にはAID5が付与されている。
【0044】
次に、上記ファイルにアクセスするためのコマンドについて説明する。
ICカード2は、外部装置から与えられるコマンドに応じて動作する。従って、ICカード2は、外部装置からのコマンドに応じて特定のファイルに対するアクセス(読出し、書込み、更新、削除など)を行う。上記のコマンドは、所定のフォーマットで構成される。例えば、ICカード2に与えられるコマンドは、コマンドの種類、アクセス対象のファイルなどを示す情報が所定のファーマットで格納されるようになっている。
【0045】
図5は、コマンドフォーマットの例を示す図である。
図5に示す例では、コマンドは、CLA(クラスバイト)51、INS(インストラクションバイト)52、P1(パラメータバイト)53、P2(パラメータバイト)54、Lc(Lcフィールド)55、Data(コマンドデータフィールド)56、Le(Leフィールド)57などの情報から構成されている。
【0046】
CLA51及びINS52には、コマンドの種類を示す情報が格納される。P1 53及びP2 54には、コマンドの処理パラメータを示す情報が格納される。P1 53には、データのアクセス対象とすべきファイル(EF)を指定する情報が格納される。P2 54には、例えば、P1 53で指定されるEFにおけるデータのアクセス開始位置(アドレス)を示す情報としてのオフセット値などが格納される。また、Lc55には、たとえば、「Data」部の長さを示す情報あるいは書込むべきデータ全体の長さを示す情報が格納される。Data56には、書込みデータなどが格納される。
【0047】
図3乃至図5に示すように、ICカード2が外部装置からアプリケーション選択の命令を受信した場合、例えばISO7816−4の規格に示されるSELECTコマンドに従ったコマンドフォーマットが受信される。コマンドを受信すると、制御部21は、コマンドフォーマットが正しいと判断した場合、コマンドデータフィールドで指定されるAIDがICカード2に存在しているのかどうか検索し、存在している場合、対応するアプリケーションを選択及び実行する。AIDの検索、アプリケーションの選択及び実行の詳細は後述する。
【0048】
図3、図4及び図6に示すように、データメモリ22がAIDテーブル22aを有している場合、各アプリケーションに付与されるAIDは、AIDテーブル22aに格納され、テーブル情報で管理されている。AIDテーブル22a自体がAIDの検索順番を規定している。このため、制御部21は、AIDテーブル22aの行に基づいてAIDを検索することができる。
【0049】
図3、図4及び図7に示すように、データメモリ22がAIDデータメモリ22bを有している場合、各アプリケーションに付与されるAIDは、AIDデータメモリ22b内にばらばらに記憶されている。このため、AIDを管理するため、ここでは、各AIDにリンク先のAIDを示すポインタP1、P2、P3、P4、P5を付随させている。データメモリ22に記憶された複数のアプリケーション及びAIDデータメモリ22bに記憶された複数のAIDは、リンクしている。ポインタP1、P2、P3、P4、P5がAIDの検索順番を規定している。このため、制御部21は、ポインタの示すAIDを順に検索することができる。
この実施の形態のICカード2は上記のように形成されている。
【0050】
ここで、この実施の形態の制御部21は、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるAIDがAIDアドレスメモリ22cのアドレス情報で示されるアドレスに存在しているのかどうか検索し、AIDが上記アドレスに存在している場合、上記アドレスのAIDが指定するアプリケーションを選択及び実行する。
【0051】
次に、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御の例として、実施例1及び実施例2のICカードの制御部21の処理について説明する。
【0052】
始めに、実施例1のICカードの制御部21の処理について説明する。実施例1において、外部装置はICカード処理装置1であり、データメモリ22は、AIDテーブル22a及びAIDアドレスメモリ22cを有している。
【0053】
(実施例1)
図1、図3、図6及び図8に示すように、制御部21が、通信部25を介してアプリケーションの選択を指示するコマンド(SELECTコマンド)をICカード処理装置1から受信し、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御がスタートすると、まず、ステップS1aにおいて、制御部21は、AIDテーブル22a内において、検索ポインタを、AIDアドレスメモリ22cに記憶されたアドレス情報で示されるアドレスのAIDに設定する。ここで、AIDアドレスメモリ22cには、AIDテーブル22aに記憶された複数のAIDの中、最後に選択されたアプリケーションに付与されたAIDのアドレス情報が記憶されている。このため、制御部21は、検索ポインタを、最後(最近)に選択されたアプリケーションに付与されるAIDに設定することができる。
【0054】
続いて、ステップS2aにおいて、制御部21は、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致しているのかどうか判断する。AIDが一致している場合(ステップS2a)、ステップS3aに移行し、ステップS3aにおいて、制御部21は、検索ポインタが設定されているAIDのアドレスを示すアドレス情報をAIDアドレスメモリ22cに記憶し、すなわち、制御部21は、AIDアドレスメモリ22cのアドレス情報を更新する。
【0055】
次いで、ステップS4aにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションを選択及び実行し、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御を終了する。
【0056】
ステップS2aにおいて、AIDが一致していない場合、図1、図3、図6及び図9に示すように、ステップS5aに移行し、ステップS5aにおいて、制御部21は、検索ポインタがAIDテーブル22aの最後のAIDに設定されているのかどうか判断する。
【0057】
検索ポインタがAIDテーブル22aの最後のAIDに設定されていない場合(ステップS5a)、ステップS6aに移行し、ステップS6aにおいて、制御部21は、検索ポインタを、検索ポインタが設定されているAIDの次の行のAIDに設定し、すなわち検索ポインタを1つ分進め、ステップS8aに移行する。
【0058】
検索ポインタがAIDテーブル22aの最後のAIDに設定されている場合(ステップS5a)、ステップS7aに移行し、ステップS7aにおいて、制御部21は、検索ポインタをAIDテーブル22aの先頭のAIDに設定し、ステップS8aに移行する。
【0059】
次いで、ステップS8aにおいて、制御部21は、検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒であるのかどうか判断する。すなわち、制御部21は、上記コマンドを受信してから最初に検索ポインタが設定されたAIDに再び検索ポインタが設定されているのかどうか判断する。
【0060】
検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒でない場合(ステップS8a)、ステップS2aに移行する。検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒である場合(ステップS8a)、ステップS9aに移行し、ステップS9aにおいて、制御部21は、「アプリケーションの選択候補無し」を意味するステータスワードをICカード処理装置1に送信し、AIDの検索を終了する。
【0061】
上記のように、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致している場合(ステップS2a)、制御部21は、検索ポインタが設定されているAIDのアドレスを示すアドレス情報をAIDアドレスメモリ22cに記憶する(ステップS3a)。
【0062】
これにより、制御部21は、次回アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、AIDアドレスメモリ22cに記憶したアドレス情報で示されるアドレスのAIDに最初に設定することができる。このため、最後(最近)に選択され、一般的に繰り返し利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0063】
次に、実施例2のICカードの制御部21の処理について説明する。実施例2において、外部装置はICカード処理装置1であり、データメモリ22は、AIDデータメモリ22b及びAIDアドレスメモリ22cを有している。
【0064】
(実施例2)
図1、図3、図7及び図10に示すように、制御部21が、通信部25を介してアプリケーションの選択を指示するコマンド(SELECTコマンド)をICカード処理装置1から受信し、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御がスタートすると、まず、ステップS1bにおいて、制御部21は、AIDデータメモリ22b内において、検索ポインタを、AIDアドレスメモリ22cに記憶されたアドレス情報で示されるアドレスのAIDに設定する。ここで、AIDアドレスメモリ22cには、AIDテーブル22aに記憶された複数のAIDの中、最後に選択されたアプリケーションに付与されたAIDのアドレス情報が記憶されている。このため、制御部21は、検索ポインタを、最後(最近)に選択されたアプリケーションに付与されるAIDに設定することができる。
【0065】
続いて、ステップS2bにおいて、制御部21は、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致しているのかどうか判断する。AIDが一致している場合(ステップS2b)、ステップS3bに移行し、ステップS3bにおいて、制御部21は、検索ポインタが設定されているAIDのアドレスを示すアドレス情報をAIDアドレスメモリ22cに記憶し、すなわち、制御部21は、AIDアドレスメモリ22cのアドレス情報を更新する。
【0066】
次いで、ステップS4bにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションを選択及び実行し、AIDの検索、並びにアプリケーションの選択及び実行を行うための制御部21の制御を終了する。
【0067】
ステップS2bにおいて、AIDが一致していない場合、図1、図3、図7及び図11に示すように、ステップS5bに移行し、ステップS5bにおいて、制御部21は、検索ポインタが設定されているAIDのリンク先のAIDがあるのかどうか判断する。
【0068】
リンク先のAIDがある場合(ステップS5b)、ステップS6bに移行し、ステップS6bにおいて、制御部21は、AIDデータメモリ22b内において、検索ポインタを、検索ポインタが設定されているAIDのリンク先のAIDに設定し、すなわち検索ポインタを1つ分進め、ステップS8bに移行する。
【0069】
リンク先のAIDがない場合(ステップS5b)、ステップS7bに移行し、ステップS7bにおいて、制御部21は、AIDデータメモリ22b内において、検索ポインタを、最初のリンク元のAID(AIDデータメモリ上で先頭に登録されているAID)に設定し、ステップS8bに移行する。
【0070】
次いで、ステップS8bにおいて、制御部21は、検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒であるのかどうか判断する。すなわち、制御部21は、上記コマンドを受信してから最初に検索ポインタが設定されたAIDに再び検索ポインタが設定されているのかどうか判断する。
【0071】
検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒でない場合(ステップS8b)、ステップS2bに移行する。検索ポインタがAIDアドレスメモリ22cに記憶されたアドレスと一緒である場合(ステップS8b)、ステップS9bに移行し、ステップS9bにおいて、制御部21は、「アプリケーションの選択候補無し」を意味するステータスワードをICカード処理装置1に送信し、AIDの検索を終了する。
【0072】
上記のように、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致している場合(ステップS2b)、制御部21は、検索ポインタが設定されているAIDのアドレスを示すアドレス情報をAIDアドレスメモリ22cに記憶する(ステップS3b)。
【0073】
これにより、制御部21は、次回アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、AIDアドレスメモリ22cに記憶したアドレス情報で示されるアドレスのAIDに最初に設定することができる。このため、最後(最近)に選択され、一般的に繰り返し利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0074】
上記のように構成された実施の形態に係るICカード2によれば、ICカード2は、ICモジュール4と、ICモジュール4を収納したICカード本体3とを備えている。ICモジュール4は、ICカード処理装置1、パーソナルコンピュータ107などの外部装置と通信を行う通信部25と、複数のアプリケーションを記憶するデータメモリ22と、それぞれ複数のアプリケーションに付与された複数のAIDと、複数のAIDの検索順番と、を記憶するAIDテーブル22a又はAIDデータメモリ22bと、AIDテーブル22a又はAIDデータメモリ22bに記憶された複数のAIDの中、最後に選択されたアプリケーションに付与されたAIDのアドレス情報を記憶するAIDアドレスメモリ22cと、制御部21と、を備えている。
【0075】
制御部21は、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるAIDがAIDアドレスメモリ22cのアドレス情報で示されるアドレスに存在しているのかどうか検索し、AIDが上記アドレスに存在している場合、上記アドレスのAIDが指定するアプリケーションを選択及び実行する。このため、最後(最近)に選択され、一般的に繰り返し利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0076】
制御部21は、上記コマンドに含まれるAIDが上記アドレスに存在していない場合、上記AIDがAIDテーブル22a又はAIDデータメモリ22bに存在しているのかどうか検索順番に沿って検索する。そして、制御部21は、上記AIDがAIDテーブル22a又はAIDデータメモリ22bに存在している場合、上記AIDのアドレス情報をAIDアドレスメモリ22cに記憶し、AIDアドレスメモリ22cのアドレス情報を更新し、上記AIDが指定するアプリケーションを選択及び実行する。これにより、制御部21は、次回アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、AIDアドレスメモリ22cに記憶したアドレス情報で示されるアドレスのAIDに最初に設定することができる。
上記のことから、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできるICカード2を得ることができる。
【0077】
次に、この発明に係る携帯可能電子装置をICカードに適用した他の実施の形態について詳細に説明する。この実施の形態のICカード2は、上述した実施の形態に比べ、更にアプリケーションの選択効率の向上を図ることが可能である。なお、この実施の形態において、ICカード2がAIDアドレスメモリ22cの替わりに選択回数管理テーブル22dを有していること、制御部21の制御が異なること以外は上述した実施の形態と同一であり、同一の部分には同一の符号を付してその詳細な説明を省略する。
【0078】
図3に示すように、ICカード2は、ICカード本体3と、ICモジュール4とを有している。ICモジュール4は、制御部21、データメモリ22、ワーキングメモリ23、プログラムメモリ24及び通信部25などを備えている。
【0079】
データメモリ22は、複数のアプリケーションを記憶する第1記憶部として機能している。データメモリ22は、第2記憶部としてAIDテーブル22a又はAIDデータメモリ22bを有している。AIDテーブル22a及びAIDデータメモリ22bは、複数のアプリケーションに付与された複数の識別子を記憶する。
【0080】
図3及び図12に示すように、データメモリ22は、第3記憶部として選択回数管理テーブル22dを有している。選択回数管理テーブル22dは、データメモリ22に記憶された複数のアプリケーションの選択回数と、選択回数の多い順番に沿って対応する複数のAIDを検索するよう設定可能な複数のAIDの検索順番と、を記憶する。この実施の形態において、AIDの検索順番はテーブル情報で管理され、選択回数管理テーブル22dには、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDの情報が、先頭から順に並べられている。
【0081】
図12に示す例では、選択回数が10回のアプリケーションAPL4に付与されるAID4の情報は選択回数管理テーブル22dの先頭の行(1行目)に設定されている。選択回数が5回のアプリケーションAPL5に付与されるAID5の情報は選択回数管理テーブル22dの2行目に設定されている。選択回数が2回のアプリケーションAPL2に付与されるAID2の情報は選択回数管理テーブル22dの3行目に設定されている。選択回数が1回のアプリケーションAPL3に付与されるAID3の情報は選択回数管理テーブル22dの4行目に設定されている。選択回数が0回のアプリケーションAPL1に付与されるAID1の情報は選択回数管理テーブル22dの5行目に設定されている。
【0082】
制御部21は、選択回数管理テーブル22dの行に沿って検索ポインタのリンク先を設定することができる。制御部21は、AIDの検索を開始すると(start)、検索ポインタのリンク先をまずAID4に設定し、その後、検索ポインタのリンク先をAID5、AID2、AID3、AID1の順に設定する。検索ポインタがAID1に設定されると、検索ポインタのリンク先は無いため、AIDの検索を終了する(end)。
【0083】
上記のように、選択回数管理テーブル22d自体がAIDの検索順番を規定している。このため、制御部21は、選択回数管理テーブル22dの行に基づいてAIDテーブル22a又はAIDデータメモリ22bに記憶されたAIDを順に検索することができる。
この実施の形態のICカード2は上記のように形成されている。
【0084】
ここで、この実施の形態の制御部21は、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるAIDがAIDテーブル22a又はAIDデータメモリ22bに存在しているのかどうか選択回数管理テーブル22dに記憶された検索順番に沿って検索する。
そして、制御部21は、上記AIDがAIDテーブル22a又はAIDデータメモリ22bに存在している場合、上記AIDが指定するアプリケーションを選択及び実行する。
【0085】
次に、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御の例として、実施例3及び実施例4のICカードの制御部21の処理について説明する。
【0086】
始めに、実施例3のICカードの制御部21の処理について説明する。実施例3において、外部装置はICカード処理装置1であり、データメモリ22は、AIDテーブル22a及び選択回数管理テーブル22dを有している。
【0087】
(実施例3)
図1、図3、図6、図12及び図13に示すように、制御部21が、通信部25を介してアプリケーションの選択を指示するコマンド(SELECTコマンド)をICカード処理装置1から受信し、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御がスタートすると、まず、ステップS1cにおいて、制御部21は、AIDテーブル22a内において、検索ポインタを、検索順番が最初のAIDに設定する。これにより、検索ポインタを、選択回数の最も多いアプリケーションに付与されるAIDに設定することができる。
【0088】
続いて、ステップS2cにおいて、制御部21は、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致しているのかどうか判断する。AIDが一致している場合(ステップS2c)、ステップS3cに移行し、ステップS3cにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶した情報(アプリケーションの選択回数及びAIDの検索順番)を更新する。
【0089】
次いで、ステップS4cにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションを選択及び実行し、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御を終了する。
【0090】
AIDが一致していない場合(ステップS2c)、図1、図3、図6、図12及び図14に示すように、ステップS5cに移行し、ステップS5cにおいて、制御部21は、検索ポインタが、検索順番が最後のAIDに設定されているのかどうか判断する。すなわち、制御部21は、選択回数管理テーブル22dの情報を基に検索ポインタのリンク先があるのかどうか判断する。
【0091】
検索ポインタが、検索順番が最後のAIDに設定されていない場合(ステップS5c)、ステップS6cに移行し、ステップS6cにおいて、制御部21は、選択回数管理テーブル22dの情報を基に、次に選択回数が多いアプリケーションに付与されるAIDに検索ポインタを設定し、ステップS2cに移行する。
【0092】
検索ポインタが、検索順番が最後のAIDに設定されている場合(ステップS5c)、ステップS7cに移行し、ステップS7cにおいて、制御部21は、「アプリケーションの選択候補無し」を意味するステータスワードをICカード処理装置1に送信し、AIDの検索を終了する。
【0093】
次に、上記ステップS3cについて、詳しく説明する。
図1、図3、図6、図12及び図15に示すように、まず、ステップS1dにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶したアプリケーションの選択回数を更新する。
【0094】
次いで、ステップS2dにおいて、制御部21は、検索ポインタが設定されているAIDが選択回数管理テーブル22dの先頭(最上位)のAIDであるのかどうか判断する。選択回数管理テーブル22dの先頭のAIDである場合(ステップS2d)、上記ステップS3cの工程は終了し上記ステップS4cに移行する。
【0095】
選択回数管理テーブル22dの先頭のAIDでない場合(ステップS2d)、ステップS3dに移行し、ステップS3dにおいて、制御部21は、「上位のAIDの選択回数≧検索ポインタが設定されているAIDの選択回数」であるのかどうか判断する。
【0096】
「上位のAIDの選択回数≧検索ポインタが設定されているAIDの選択回数」である場合(ステップS3d)、上記ステップS3cの工程は終了し上記ステップS4cに移行する。「上位のAIDの選択回数≧検索ポインタが設定されているAIDの選択回数」ではない場合(ステップS3d)、ステップS4dに移行し、ステップS4dにおいて、制御部21は、選択回数管理テーブル22d内において、検索ポインタが設定されているAIDと、上位のAIDと、の順序を入れ替え、すなわちAIDの検索順番を更新し、上記ステップS3cの工程を終了し上記ステップS4cに移行する。
【0097】
上記のように、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致している場合(ステップS2c)、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶した情報(アプリケーションの選択回数及びAIDの検索順番)を更新する(ステップS3c)。
【0098】
これにより、制御部21は、アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDに順に設定することができる。このため、利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0099】
次に、実施例4のICカードの制御部21の処理について説明する。実施例4において、外部装置はICカード処理装置1であり、データメモリ22は、AIDデータメモリ22b及び選択回数管理テーブル22dを有している。
【0100】
(実施例4)
図1、図3、図7、図12及び図16に示すように、制御部21が、通信部25を介してアプリケーションの選択を指示するコマンド(SELECTコマンド)をICカード処理装置1から受信し、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御がスタートすると、まず、ステップS1eにおいて、制御部21は、AIDデータメモリ22b内において、検索ポインタを、検索順番が最初のAIDに設定する。これにより、検索ポインタを、選択回数の最も多いアプリケーションに付与されるAIDに設定することができる。
【0101】
続いて、ステップS2eにおいて、制御部21は、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致しているのかどうか判断する。AIDが一致している場合(ステップS2e)、ステップS3eに移行し、ステップS3eにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶した情報(アプリケーションの選択回数及びAIDの検索順番)を更新する。
【0102】
次いで、ステップS4eにおいて、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションを選択及び実行し、AIDの検索、選択回数管理テーブル22dの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部21の制御を終了する。
【0103】
AIDが一致していない場合(ステップS2e)、図1、図3、図7、図12及び図17に示すように、ステップS5eに移行し、ステップS5eにおいて、制御部21は、検索ポインタが、検索順番が最後のAIDに設定されているのかどうか判断する。すなわち、制御部21は、選択回数管理テーブル22dの情報を基に検索ポインタのリンク先があるのかどうか判断する。
【0104】
検索ポインタが、検索順番が最後のAIDに設定されていない場合(ステップS5e)、ステップS6eに移行し、ステップS6eにおいて、制御部21は、選択回数管理テーブル22dの情報を基に、次に選択回数が多いアプリケーションに付与されるAIDに検索ポインタを設定し、ステップS2eに移行する。
【0105】
検索ポインタが、検索順番が最後のAIDに設定されている場合(ステップS5e)、ステップS7eに移行し、ステップS7eにおいて、制御部21は、「アプリケーションの選択候補無し」を意味するステータスワードをICカード処理装置1に送信し、AIDの検索を終了する。
なお、実施例4においても、上記ステップS3eの詳細は、図15に示した通りである。
【0106】
上記のように、コマンドに含まれるAIDが、検索ポインタが設定されているAIDと一致している場合(ステップS2e)、制御部21は、検索ポインタが設定されているAIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dに記憶した情報(アプリケーションの選択回数及びAIDの検索順番)を更新する(ステップS3e)。
【0107】
これにより、制御部21は、アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDに順に設定することができる。このため、利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0108】
上記のように構成された他の実施の形態に係るICカード2によれば、ICカード2は、ICモジュール4と、ICモジュール4を収納したICカード本体3とを備えている。ICモジュール4は、ICカード処理装置1、パーソナルコンピュータ107などの外部装置と通信を行う通信部25と、複数のアプリケーションを記憶するデータメモリ22と、それぞれ複数のアプリケーションに付与された複数のAIDを記憶するAIDテーブル22a又はAIDデータメモリ22bと、複数のアプリケーションの選択回数と、選択回数の多い順番に沿って対応する複数のAIDを検索するよう設定可能な複数のAIDの検索順番と、を記憶する選択回数管理テーブル22dと、制御部21と、を備えている。
【0109】
制御部21は、通信部25を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるAIDがAIDテーブル22a又はAIDデータメモリ22bに存在しているのかどうか選択回数管理テーブル22dに記憶された検索順番に沿って検索する。そして、制御部21は、上記AIDがAIDテーブル22a又はAIDデータメモリ22bに存在している場合、上記AIDが指定するアプリケーションを選択及び実行する。このため、利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【0110】
制御部21は、上記コマンドに含まれるAIDがAIDテーブル22a又はAIDデータメモリ22bに存在している場合、上記AIDが指定するアプリケーションの選択をカウントし、選択回数管理テーブル22dの選択回数を更新する。
【0111】
選択回数管理テーブル22dの検索順番がアプリケーションの選択回数の多い順番に沿わなくなった場合、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDを検索できるよう選択回数管理テーブル22dの検索順番を更新する。
【0112】
これにより、制御部21は、アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDに順に設定することができる。
上記のことから、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできるICカード2を得ることができる。
【0113】
なお、この発明は上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化可能である。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0114】
例えば、上述した第1の実施の形態において、制御部21は、通信部25を介して最後(最近)に選択されたアプリケーションの選択を指示するコマンドを受信し、同一のアプリケーションを繰り返し利用する場合、AIDアドレスメモリ22cのアドレス情報を更新しなくともよい。
【0115】
上述した第1の実施の形態に係る実施例1において、AIDアドレスメモリ22cにアドレス情報が記憶されていない状態でAIDを検索する場合、制御部21は、検索ポインタを、まずAIDテーブル22aの先頭の行に設定した後、行に沿って検索すればよい。
【0116】
上述した第1の実施の形態に係る実施例2において、AIDアドレスメモリ22cにアドレス情報が記憶されていない状態でAIDを検索する場合、制御部21は、検索ポインタを、まずAIDデータメモリ22bの最初のリンク元のAIDに設定した後、順に検索すればよい。
【0117】
この発明の第1乃至第3記億部は、上述した例に限るものではなく、種々変形可能である。
上述した第2の実施の形態において、他の第3記憶部は、選択回数管理テーブル22dに限定されるものではなく、種々変形可能であり、複数のアプリケーションの選択回数と、上記選択回数の多い順番に沿って対応する複数の識別子を検索するよう設定可能な複数の識別子の検索順番と、を記憶するものであればよい。
【0118】
上述した第2の実施の形態に係る実施例3において、ICカード2は、選択回数管理テーブル22dを有していなくともよく、この場合、AIDテーブル22aをダイナミックに書き換え、AIDテーブル22aには、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDを、先頭から順に並べればよい。
【0119】
上述した第2の実施の形態に係る実施例4において、ICカード2は、選択回数管理テーブル22dを有していなくともよく、この場合、AIDデータメモリ22b内のリンク先の情報を書き換え、アプリケーションの選択回数の多い順番に沿って対応する複数のAIDがリンクされていればよい。
【0120】
第2記憶部は、データメモリ22の一部(AIDテーブル22a又はAIDデータメモリ22b)に設けられているが、これに限らず、例えば、プログラムメモリ24の一部に設けられていてもよい。
【0121】
この発明の携帯可能電子装置は、ICカードに限らず、通信機能を有した各種の携帯可能電子装置に適用することが可能である。
【符号の説明】
【0122】
1…ICカード処理装置、2…ICカード、3…ICカード本体、4…ICモジュール、12…カードリーダライタ、21…制御部、22…データメモリ、22a…AIDテーブル、22b…AIDデータメモリ、22c…AIDアドレスメモリ、22d…選択回数管理テーブル、23…ワーキングメモリ、24…プログラムメモリ、25…通信部、101…携帯電話機、106…カードリーダライタ、107…パーソナルコンピュータ。
【特許請求の範囲】
【請求項1】
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第1記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、
前記第2記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第3記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第3記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とする携帯可能電子装置。
【請求項2】
前記制御部は、前記コマンドに含まれる識別子が前記アドレスに存在しておらず、前記第2記憶部に存在している場合、前記識別子のアドレス情報を前記第3記憶部に記憶し、前記第3記憶部のアドレス情報を更新し、前記識別子が指定するアプリケーションを選択することを特徴とする請求項1に記載の携帯可能電子装置。
【請求項3】
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第1記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、
前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第3記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第2記憶部に存在しているのかどうか前記第3記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とする携帯可能電子装置。
【請求項4】
前記制御部は、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションの選択をカウントし、前記第3記憶部の前記選択回数を更新し、
前記検索順番が前記選択回数の多い順番に沿わなくなった場合、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索できるよう前記第3記憶部の前記検索順番を更新することを特徴とする請求項3に記載の携帯可能電子装置。
【請求項5】
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第1記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、前記第2記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第3記憶部と、制御部と、を具備したICモジュールと、
前記ICモジュールを収納したICカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第3記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とするICカード。
【請求項6】
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第1記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第3記憶部と、制御部と、を具備したICモジュールと、
前記ICモジュールを収納したICカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第2記憶部に存在しているのかどうか前記第3記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とするICカード。
【請求項1】
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第1記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、
前記第2記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第3記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第3記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とする携帯可能電子装置。
【請求項2】
前記制御部は、前記コマンドに含まれる識別子が前記アドレスに存在しておらず、前記第2記憶部に存在している場合、前記識別子のアドレス情報を前記第3記憶部に記憶し、前記第3記憶部のアドレス情報を更新し、前記識別子が指定するアプリケーションを選択することを特徴とする請求項1に記載の携帯可能電子装置。
【請求項3】
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第1記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、
前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第3記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第2記憶部に存在しているのかどうか前記第3記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とする携帯可能電子装置。
【請求項4】
前記制御部は、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションの選択をカウントし、前記第3記憶部の前記選択回数を更新し、
前記検索順番が前記選択回数の多い順番に沿わなくなった場合、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索できるよう前記第3記憶部の前記検索順番を更新することを特徴とする請求項3に記載の携帯可能電子装置。
【請求項5】
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第1記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、前記第2記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第3記憶部と、制御部と、を具備したICモジュールと、
前記ICモジュールを収納したICカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第3記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とするICカード。
【請求項6】
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第1記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第2記憶部と、前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第3記憶部と、制御部と、を具備したICモジュールと、
前記ICモジュールを収納したICカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第2記憶部に存在しているのかどうか前記第3記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第2記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とするICカード。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2011−215833(P2011−215833A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−82876(P2010−82876)
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]