(57)【要約】【課題】アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできる携帯可能電子装置及びＩＣカードを提供する。【解決手段】携帯可能電子装置は、通信部と、第１記憶部と、第２記憶部と、第３記憶部と、制御部と、を備えている。第１記憶部は複数のアプリケーションを記憶する。第２記憶部は複数の識別子を記憶する。第３記憶部は、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する。制御部は、アプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれる識別子が第３記憶部のアドレス情報で示されるアドレスに存在しているのかどうか検索し、識別子がアドレスに存在している場合、アドレスの識別子が指定するアプリケーションを選択する。【選択図】図８
2011215833.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第１記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第２記憶部と、
前記第２記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第３記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第３記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とする携帯可能電子装置。
【請求項２】
前記制御部は、前記コマンドに含まれる識別子が前記アドレスに存在しておらず、前記第２記憶部に存在している場合、前記識別子のアドレス情報を前記第３記憶部に記憶し、前記第３記憶部のアドレス情報を更新し、前記識別子が指定するアプリケーションを選択することを特徴とする請求項１に記載の携帯可能電子装置。
【請求項３】
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第１記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第２記憶部と、
前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第３記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第２記憶部に存在しているのかどうか前記第３記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第２記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とする携帯可能電子装置。
【請求項４】
前記制御部は、
前記識別子が前記第２記憶部に存在している場合、前記識別子が指定するアプリケーションの選択をカウントし、前記第３記憶部の前記選択回数を更新し、
前記検索順番が前記選択回数の多い順番に沿わなくなった場合、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索できるよう前記第３記憶部の前記検索順番を更新することを特徴とする請求項３に記載の携帯可能電子装置。
【請求項５】
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第１記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第２記憶部と、前記第２記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第３記憶部と、制御部と、を具備したＩＣモジュールと、
前記ＩＣモジュールを収納したＩＣカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第３記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とするＩＣカード。
【請求項６】
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第１記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第２記憶部と、前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第３記憶部と、制御部と、を具備したＩＣモジュールと、
前記ＩＣモジュールを収納したＩＣカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第２記憶部に存在しているのかどうか前記第３記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第２記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、携帯可能電子装置及びＩＣカードに関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置としてＩＣカードが使用されている。ＩＣカードは、カード本体、ＩＣチップ及び通信部を備えている（例えば、特許文献１参照）。ＩＣカードは、接触通信、非接触通信（無線通信）、又は接触通信及び非接触通信の双方の機能を有している。ＩＣチップ内には、データの書き込み及び書き換えが可能な不揮発性メモリであるＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）及び制御部であるＣＰＵ（central processing unit）などが組み込まれている。
【０００３】
近年、１枚のＩＣカードに複数のアプリケーションが搭載された、いわゆるマルチアプリケーションＩＣカードが開発、運用されている。このマルチアプリケーションＩＣカードとして有名なものとして、例えばＪａｖａ（登録商標）Ｃａｒｄが挙げられる。ＪａｖａＣａｒｄは、Ｊａｖａ言語で記述された複数のアプリケーションを搭載、また削除が可能なＩＣカードである。
【０００４】
このような複数のアプリケーションを実行可能なＩＣカードは、ＩＳＯ７８１６−４に従い、国内、及び世界中で重複することがないよう登録制により、各アプリケーションに付与されるＡＩＤ（application identifier）という５乃至１６バイトの識別情報（識別子）からアプリケーションを特定している。そしてそのＡＩＤによりアプリケーションを選択してから、続く処理を指示及び実行している。
【０００５】
この各ＡＩＤは、例えばＥＥＰＲＯＭ等の内部メモリに保存され、ＩＣカード外部からアプリケーションを選択する命令が供給された場合は、外部から指定されたＡＩＤに基づき内部メモリ内に保存されているＡＩＤを検索し、検索されたＡＩＤに対応するアプリケーションを選択及び実行可能とする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−３２８８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、外部から指示されたＡＩＤに基づき、選択可能なアプリケーションを検索する際に、従来はＩＣカードの内部メモリに登録されているＡＩＤ情報を、固定的に登録された順番で順次検索処理を実施していた。
【０００８】
従ってＩＣカード内に登録されているアプリケーションの数が多くなると、アプリケーションの検索及び選択にかかる処理時間が増し、アプリケーションの処理に悪影響が出ていた。
【０００９】
さらに、近年、携帯電話システム方式として、携帯電話機にもＳＩＭ（Subscriber Identity Module）カードや、ＵＩＭ（Universal Identity Module）カードと呼ばれるＩＣカードが装着されている。今後このＩＣカードの運用形態として、例えばクレジットアプリケーションを搭載し、携帯電話機を非接触ＩＣカードとして使用したり、携帯電話機を使うすべてのユーザが、自分で使いたいアプリケーションをインターネットからダウンロードしてＩＣカードに登録し利用したり、といった運用形態も考えられている。そうなるとますますカード内に登録されるアプリケーションが増えることとなり、アプリケーションの選択効率の向上が重要となる。
【００１０】
この発明は以上の点に鑑みなされたもので、その目的は、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできる携帯可能電子装置及びＩＣカードを提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明の態様に係る携帯可能電子装置は、
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第１記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第２記憶部と、
前記第２記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第３記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第３記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とする。
【００１２】
また、本発明の他の態様に係る携帯可能電子装置は、
外部装置と通信を行う通信部と、
複数のアプリケーションを記憶する第１記憶部と、
それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第２記憶部と、
前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第３記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第２記憶部に存在しているのかどうか前記第３記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第２記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とする。
【００１３】
また、本発明の他の態様に係るＩＣカードは、
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第１記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第２記憶部と、前記第２記憶部に記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する第３記憶部と、制御部と、を具備したＩＣモジュールと、
前記ＩＣモジュールを収納したＩＣカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第３記憶部の前記アドレス情報で示されるアドレスに存在しているのかどうか検索し、
前記識別子が前記アドレスに存在している場合、前記アドレスの識別子が指定するアプリケーションを選択することを特徴とする。
【００１４】
また、本発明の他の態様に係るＩＣカードは、
外部装置と通信を行う通信部と、複数のアプリケーションを記憶する第１記憶部と、それぞれ前記複数のアプリケーションに付与された複数の識別子を記憶する第２記憶部と、前記複数のアプリケーションの選択回数と、前記選択回数の多い順番に沿って対応する前記複数の識別子を検索するよう設定可能な前記複数の識別子の検索順番と、を記憶する第３記憶部と、制御部と、を具備したＩＣモジュールと、
前記ＩＣモジュールを収納したＩＣカード本体と、を備え、
前記制御部は、
前記通信部を介してアプリケーションの選択を指示するコマンドを受信した際、前記コマンドに含まれる識別子が前記第２記憶部に存在しているのかどうか前記第３記憶部に記憶された前記検索順番に沿って検索し、
前記識別子が前記第２記憶部に存在している場合、前記識別子が指定するアプリケーションを選択することを特徴とする。
【発明の効果】
【００１５】
この発明によれば、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできる携帯可能電子装置及びＩＣカードを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係るＩＣカードと、ＩＣカードとの通信機能を有する外部装置としてのＩＣカード処理装置と、を備えた通信システムを概略的に示す図である。
【図２】上記実施の形態に係るＩＣカードと、ＩＣカードが装着される携帯電話機と、携帯電話機を用いてＩＣカードとの通信機能を有する外部装置としてのパーソナルコンピュータと、を備えた通信システムを概略的に示す図である。
【図３】上記ＩＣカードの構成を概略的に示す図である。
【図４】図３に示したデータメモリに格納されるファイルの構造例を示す図である。
【図５】コマンドフォーマット例を示す図である。
【図６】図３に示したデータメモリ、特にＡＩＤテーブルを示す概略図である。
【図７】図３に示したデータメモリ、特にＡＩＤデータメモリを示す概略図である。
【図８】上記実施の形態に係る実施例１のＩＣカードの制御部が、ＡＩＤの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図９】図８に続く、上記実施例１のＩＣカードの制御部が、ＡＩＤの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図１０】上記実施の形態に係る実施例２のＩＣカードの制御部が、ＡＩＤの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図１１】図１２に続く、上記実施例２のＩＣカードの制御部が、ＡＩＤの検索、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図１２】本発明の他の実施の形態に係るＩＣカードのデータメモリ、特に選択回数管理テーブルを示す概略図である。
【図１３】上記他の実施の形態に係る実施例３のＩＣカードの制御部が、ＡＩＤの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図１４】図１３に続く、上記実施例３のＩＣカードの制御部が、ＡＩＤの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図１５】上記実施例３のＩＣカードの制御部が図１３のステップＳ３ｃの制御方法を説明するためのフローチャートである。
【図１６】上記他の実施の形態に係る実施例４のＩＣカードの制御部が、ＡＩＤの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【図１７】図１６に続く、上記実施例４のＩＣカードの制御部が、ＡＩＤの検索、選択回数管理テーブルの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながらこの発明に係る携帯可能電子装置をＩＣカードに適用した実施の形態について詳細に説明する。  
ＩＣカード２は、例えば、図１に示すように、外部装置としてのＩＣカード処理装置１と直に通信していてもよく、図２に示すように、携帯電話機１０１に装着して外部装置としてのパーソナルコンピュータ１０７と通信していてもよい。
【００１８】
ＩＣカード処理装置１と直に通信する場合、図１に示すように、ＩＣカード２及びＩＣカード処理装置１は通信システムを形成している。ＩＣカード処理装置１は、端末装置１１、カードリーダライタ１２、キーボード１３、表示部としてのＣＲＴ（Cathode-Ray Tube）１４、プリンタ１５などを有している。端末装置１１は、ＣＰＵ、種々のメモリ及び各種インターフェースなどを有する装置により構成され、ＩＣカード処理装置１全体の動作を制御するものである。端末装置１１は、カードリーダライタ１２によりＩＣカード２へコマンドを送信する機能、ＩＣカード２から受信したデータを基に種々の処理を行う機能などを有している。
【００１９】
例えば、端末装置１１は、カードリーダライタ１２を介してＩＣカード２にデータの書き込みコマンドを送信することによりＩＣカード２内の後述するデータメモリ２２にデータを書き込む。また、端末装置１１は、ＩＣカード２に読み取りコマンドを送信することによりＩＣカード２からデータを読み出す。
【００２０】
カードリーダライタ１２は、ＩＣカード２との通信を行うためのインターフェース装置である。カードリーダライタ１２は、ＩＣカード２の通信方式に応じたインターフェースにより構成される。例えば、ＩＣカード２が接触型のＩＣカードである場合、カードリーダライタ１２は、ＩＣカード２のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。また、ＩＣカード２が非接触型のＩＣカードである場合、カードリーダライタ１２は、ＩＣカード２との無線通信を行うためのアンテナおよび通信制御などにより構成される。
【００２１】
カードリーダライタ１２では、ＩＣカード２に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ１２は、端末装置１１による制御に基づいてＩＣカード２の活性化（起動）、種々のコマンドの送信、及び送信したコマンドに対する応答の受信などを行なう。
【００２２】
キーボード１３は、ＩＣカード処理装置１の操作員が操作する操作部として機能し、操作員により種々の操作指示やデータなどが入力される。ＣＲＴ１４は、端末装置１１の制御により種々の情報を表示する。プリンタ１５は、処理結果などの各種データを印刷出力する。
【００２３】
一方、携帯電話機１０１にＩＣカード２装着して外部装置としてのパーソナルコンピュータ１０７と通信する場合、図２に示すように、ＩＣカード２、携帯電話機１０１及びパーソナルコンピュータ１０７は、通信システムを形成している。
【００２４】
携帯端末機器としての携帯電話機１０１は、無線通信事業者の通信システム１０２により提供されている通信サービス（音声通話、データ通信などの無線通信）を受ける機能を有している。事業者が提供する通信サービスは、事業者用のＩＣカード２を装着した携帯電話機１０１と事業者の通信システム１０２とが無線通信を行うことにより提供される。すなわち、各携帯電話機１０１は、各ユーザが契約している事業者用のＩＣカード２を装着した状態で携帯電話機としての音声通話あるいはデータ通信などの無線通信が利用可能となる。
【００２５】
携帯電話機１０１は、制御ユニット１０３、近距離通信部１０４、近距離通信用のアンテナ１０５などを有している。また、携帯電話機１０１には、ＩＣカード２が着脱可能なインターフェースを有している。このように、携帯電話機１０１は、ＩＣカード２が装着された状態で携帯電話機としての各種の機能が有効となる。制御ユニット１０３は、携帯電話機１０１の制御を司る。
【００２６】
近距離通信部１０４及びアンテナ１０５は、非接触ＩＣカードとしての通信機能を実現するためのユニットである。近距離通信部１０４及びアンテナ１０５は、非接触ＩＣカードとしての通信機能により、カードリーダライタ１０６を介してパーソナルコンピュータ１０７との近距離無線通信が可能となっている。
【００２７】
次に、ＩＣカード２の構成について説明する。  
図３に示すように、ＩＣカード２は、ＩＣカード本体３と、ＩＣモジュール４とを有している。ＩＣカード本体３はＩＣモジュール４を収納している。ＩＣモジュール４は、１つまたは複数のＩＣチップ５と通信部２５とが接続された状態で一体的に形成され、ＩＣカード本体３内に埋設されている。また、ＩＣモジュール４は、制御部２１、データメモリ２２、ワーキングメモリ２３、プログラムメモリ２４及び通信部２５などを備えている。上記のデータメモリ２２、ワーキングメモリ２３及びプログラムメモリ２４には、アドレスが設定されている。
【００２８】
制御部２１は、ＩＣカード２全体の制御を司るものである。制御部２１は、データメモリ２２或いはプログラムメモリ２４に記憶されている制御プログラムや制御データに基づいて動作することにより、種々の処理手段として機能する。
【００２９】
例えば、制御部２１は、オペレーティングシステムのプログラムを実行することにより、ＩＣカード２の基本的な動作制御を行う。また、制御部２１は、ＩＣカード２の利用目的に応じたアプリケーションプログラムを実行することにより、ＩＣカード２の運用形態に応じた種々の動作制御を行う。
【００３０】
データメモリ２２は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、フラッシュＲＯＭなどの、データの書き込み及び書換えが可能な不揮発性メモリで形成される。データメモリ２２には、ＩＣカード２の運用用途に応じて制御プログラムあるいは種々のデータが書込まれ、記憶される。例えば、データメモリ２２では、プログラムファイルやデータファイルなどが定義され、それらのファイルに制御プログラムや種々のデータが記憶される。
【００３１】
データメモリ２２は、複数のアプリケーションを記憶する第１記憶部として機能している。データメモリ２２は、第２記憶部として、ＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂを有している。ＡＩＤテーブル２２ａ及びＡＩＤデータメモリ２２ｂは、複数のアプリケーションに付与された複数の識別子を記憶する。
【００３２】
この実施の形態において、データメモリ２２は、第３記憶部としてのＡＩＤアドレスメモリ２２ｃを有している。ＡＩＤアドレスメモリ２２ｃは、ＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに記憶された複数の識別子の中、最後に選択されたアプリケーションに付与された識別子のアドレス情報を記憶する。
【００３３】
なお、後述するが、データメモリ２２は、ＡＩＤアドレスメモリ２２ｃの替わりに、他の第３記憶部としての選択回数管理テーブル２２ｄを有していてもよい。選択回数管理テーブル２２ｄは、複数のアプリケーションの選択回数と、上記選択回数の多い順番に沿って対応する複数の識別子を検索するよう設定可能な複数の識別子の検索順番と、を記憶する。
【００３４】
ワーキングメモリ２３は、ＲＡＭ（Random Access Memory）などの揮発性メモリで形成されている。また、ワーキングメモリ２３は、制御部２１が処理中のデータなどを一時保管するバッファとしても機能する。
【００３５】
プログラムメモリ２４は、予め制御用のプログラムや制御データなどが記憶されているマスクＲＯＭ（Read-Only Memory）などの不揮発性のメモリである。プログラムメモリ２４には、製造段階で制御プログラムあるいは制御データなどが記憶された状態でＩＣカード２内に組み込まれる。つまり、プログラムメモリ２４に記憶されている制御プログラムや制御データは、ＩＣカードの基本的な動作を司り、予めＩＣカード２の仕様に応じて組み込まれる。
【００３６】
次に、ＩＣカード２に複数のアプリケーションが登録されている場合の、データメモリ２２のファイル構造の概念について説明する。なお、ＩＣカード２に登録されているアプリケーションとしては、例えば、クレジット、ポイントシステム、ＩＤカードなどが挙げられる。
【００３７】
図３及び図４に示すように、データメモリ２２には、複数のアプリケーションに関する情報がファイル構造で記憶されている。このファイル構造は、ＩＳＯ／ＩＥＣ７８１６−４の規格に基づき、色々なフォルダの種類を持ったディレクトリのツリー構造になっており、複数のアプリケーションが登録可能である。
【００３８】
最上位がＭＦ（Master File）３０で、その配下にＤＦ（Dedicated File）として、アプリケーションごとに設定されるＡＰＬ３２、３３、３４、３５、３６が設けられ、さらに、それらの配下に実際にアプリケーションで使われるユーザデータの格納に使用されるＥＦ（Elementary File）３７、３８、３９が設けられている構成になっている。
【００３９】
また、ＭＦ３０の配下には、アクセス権を確立するためのキーの格納に使用されるキーＥＦ３１が設けられている。なお、ＡＰＬは搭載しているアプリケーションに相当する数だけ設けられる。
【００４０】
例えば、ＡＰＬ１  ３２には、クレジットＡ社向けアプリケーション用ファイルとして「クレジットＡ社」と設定され、その配下には、クレジットＡ社向けアプリケーションで使用されるＥＦ（ＥＦ１−１）３７、ＥＦ（ＥＦ１−２）３８という２つのファイルが存在する。
【００４１】
ＡＰＬ２  ３３には、例えば、ポイントＸ社系向けアプリケーション用ファイルとして「ポイントＸ社系」と設定され、その配下には、ポイントＸ社系向けアプリケーションで使用されるＥＦ（ＥＦ２−１）３９が存在する。
【００４２】
本ＩＣカード２が、携帯電話機１０１に装着されるＩＣカードの場合（図２）、ＡＰＬ３  ３４には、例えば、携帯電話通信業者Ｍ社が提供する携帯電話通信システム向け（以後、モバイル系とも称す）アプリケーション用ファイルとして「モバイルＭ社」と設定される。ＡＰＬ４  ３５、ＡＰＬ５  ３６についても、例えば携帯電話通信業者Ｍ社が提供する様々なアプリケーション用ファイルが設定されている。
【００４３】
各アプリケーションＡＰＬには、ＡＩＤといった識別子が付与されている。ＡＰＬ１にはＡＩＤ１が付与され、ＡＰＬ２にはＡＩＤ２が付与され、ＡＰＬ３にはＡＩＤ３が付与され、ＡＰＬ４にはＡＩＤ４が付与され、ＡＰＬ５にはＡＩＤ５が付与されている。
【００４４】
次に、上記ファイルにアクセスするためのコマンドについて説明する。  
ＩＣカード２は、外部装置から与えられるコマンドに応じて動作する。従って、ＩＣカード２は、外部装置からのコマンドに応じて特定のファイルに対するアクセス（読出し、書込み、更新、削除など）を行う。上記のコマンドは、所定のフォーマットで構成される。例えば、ＩＣカード２に与えられるコマンドは、コマンドの種類、アクセス対象のファイルなどを示す情報が所定のファーマットで格納されるようになっている。
【００４５】
図５は、コマンドフォーマットの例を示す図である。  
図５に示す例では、コマンドは、ＣＬＡ（クラスバイト）５１、ＩＮＳ（インストラクションバイト）５２、Ｐ１（パラメータバイト）５３、Ｐ２（パラメータバイト）５４、Ｌｃ（Ｌｃフィールド）５５、Ｄａｔａ（コマンドデータフィールド）５６、Ｌｅ（Ｌｅフィールド）５７などの情報から構成されている。
【００４６】
ＣＬＡ５１及びＩＮＳ５２には、コマンドの種類を示す情報が格納される。Ｐ１  ５３及びＰ２  ５４には、コマンドの処理パラメータを示す情報が格納される。Ｐ１  ５３には、データのアクセス対象とすべきファイル（ＥＦ）を指定する情報が格納される。Ｐ２  ５４には、例えば、Ｐ１  ５３で指定されるＥＦにおけるデータのアクセス開始位置（アドレス）を示す情報としてのオフセット値などが格納される。また、Ｌｃ５５には、たとえば、「Ｄａｔａ」部の長さを示す情報あるいは書込むべきデータ全体の長さを示す情報が格納される。Ｄａｔａ５６には、書込みデータなどが格納される。
【００４７】
図３乃至図５に示すように、ＩＣカード２が外部装置からアプリケーション選択の命令を受信した場合、例えばＩＳＯ７８１６−４の規格に示されるＳＥＬＥＣＴコマンドに従ったコマンドフォーマットが受信される。コマンドを受信すると、制御部２１は、コマンドフォーマットが正しいと判断した場合、コマンドデータフィールドで指定されるＡＩＤがＩＣカード２に存在しているのかどうか検索し、存在している場合、対応するアプリケーションを選択及び実行する。ＡＩＤの検索、アプリケーションの選択及び実行の詳細は後述する。
【００４８】
図３、図４及び図６に示すように、データメモリ２２がＡＩＤテーブル２２ａを有している場合、各アプリケーションに付与されるＡＩＤは、ＡＩＤテーブル２２ａに格納され、テーブル情報で管理されている。ＡＩＤテーブル２２ａ自体がＡＩＤの検索順番を規定している。このため、制御部２１は、ＡＩＤテーブル２２ａの行に基づいてＡＩＤを検索することができる。
【００４９】
図３、図４及び図７に示すように、データメモリ２２がＡＩＤデータメモリ２２ｂを有している場合、各アプリケーションに付与されるＡＩＤは、ＡＩＤデータメモリ２２ｂ内にばらばらに記憶されている。このため、ＡＩＤを管理するため、ここでは、各ＡＩＤにリンク先のＡＩＤを示すポインタＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５を付随させている。データメモリ２２に記憶された複数のアプリケーション及びＡＩＤデータメモリ２２ｂに記憶された複数のＡＩＤは、リンクしている。ポインタＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５がＡＩＤの検索順番を規定している。このため、制御部２１は、ポインタの示すＡＩＤを順に検索することができる。  
この実施の形態のＩＣカード２は上記のように形成されている。
【００５０】
ここで、この実施の形態の制御部２１は、通信部２５を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるＡＩＤがＡＩＤアドレスメモリ２２ｃのアドレス情報で示されるアドレスに存在しているのかどうか検索し、ＡＩＤが上記アドレスに存在している場合、上記アドレスのＡＩＤが指定するアプリケーションを選択及び実行する。
【００５１】
次に、通信部２５を介してアプリケーションの選択を指示するコマンドを受信した際、ＡＩＤの検索、並びにアプリケーションの選択及び実行を行うための制御部２１の制御の例として、実施例１及び実施例２のＩＣカードの制御部２１の処理について説明する。
【００５２】
始めに、実施例１のＩＣカードの制御部２１の処理について説明する。実施例１において、外部装置はＩＣカード処理装置１であり、データメモリ２２は、ＡＩＤテーブル２２ａ及びＡＩＤアドレスメモリ２２ｃを有している。
【００５３】
（実施例１）
図１、図３、図６及び図８に示すように、制御部２１が、通信部２５を介してアプリケーションの選択を指示するコマンド（ＳＥＬＥＣＴコマンド）をＩＣカード処理装置１から受信し、ＡＩＤの検索、並びにアプリケーションの選択及び実行を行うための制御部２１の制御がスタートすると、まず、ステップＳ１ａにおいて、制御部２１は、ＡＩＤテーブル２２ａ内において、検索ポインタを、ＡＩＤアドレスメモリ２２ｃに記憶されたアドレス情報で示されるアドレスのＡＩＤに設定する。ここで、ＡＩＤアドレスメモリ２２ｃには、ＡＩＤテーブル２２ａに記憶された複数のＡＩＤの中、最後に選択されたアプリケーションに付与されたＡＩＤのアドレス情報が記憶されている。このため、制御部２１は、検索ポインタを、最後（最近）に選択されたアプリケーションに付与されるＡＩＤに設定することができる。
【００５４】
続いて、ステップＳ２ａにおいて、制御部２１は、コマンドに含まれるＡＩＤが、検索ポインタが設定されているＡＩＤと一致しているのかどうか判断する。ＡＩＤが一致している場合（ステップＳ２ａ）、ステップＳ３ａに移行し、ステップＳ３ａにおいて、制御部２１は、検索ポインタが設定されているＡＩＤのアドレスを示すアドレス情報をＡＩＤアドレスメモリ２２ｃに記憶し、すなわち、制御部２１は、ＡＩＤアドレスメモリ２２ｃのアドレス情報を更新する。
【００５５】
次いで、ステップＳ４ａにおいて、制御部２１は、検索ポインタが設定されているＡＩＤが指定するアプリケーションを選択及び実行し、ＡＩＤの検索、並びにアプリケーションの選択及び実行を行うための制御部２１の制御を終了する。
【００５６】
ステップＳ２ａにおいて、ＡＩＤが一致していない場合、図１、図３、図６及び図９に示すように、ステップＳ５ａに移行し、ステップＳ５ａにおいて、制御部２１は、検索ポインタがＡＩＤテーブル２２ａの最後のＡＩＤに設定されているのかどうか判断する。
【００５７】
検索ポインタがＡＩＤテーブル２２ａの最後のＡＩＤに設定されていない場合（ステップＳ５ａ）、ステップＳ６ａに移行し、ステップＳ６ａにおいて、制御部２１は、検索ポインタを、検索ポインタが設定されているＡＩＤの次の行のＡＩＤに設定し、すなわち検索ポインタを１つ分進め、ステップＳ８ａに移行する。
【００５８】
検索ポインタがＡＩＤテーブル２２ａの最後のＡＩＤに設定されている場合（ステップＳ５ａ）、ステップＳ７ａに移行し、ステップＳ７ａにおいて、制御部２１は、検索ポインタをＡＩＤテーブル２２ａの先頭のＡＩＤに設定し、ステップＳ８ａに移行する。
【００５９】
次いで、ステップＳ８ａにおいて、制御部２１は、検索ポインタがＡＩＤアドレスメモリ２２ｃに記憶されたアドレスと一緒であるのかどうか判断する。すなわち、制御部２１は、上記コマンドを受信してから最初に検索ポインタが設定されたＡＩＤに再び検索ポインタが設定されているのかどうか判断する。
【００６０】
検索ポインタがＡＩＤアドレスメモリ２２ｃに記憶されたアドレスと一緒でない場合（ステップＳ８ａ）、ステップＳ２ａに移行する。検索ポインタがＡＩＤアドレスメモリ２２ｃに記憶されたアドレスと一緒である場合（ステップＳ８ａ）、ステップＳ９ａに移行し、ステップＳ９ａにおいて、制御部２１は、「アプリケーションの選択候補無し」を意味するステータスワードをＩＣカード処理装置１に送信し、ＡＩＤの検索を終了する。
【００６１】
上記のように、コマンドに含まれるＡＩＤが、検索ポインタが設定されているＡＩＤと一致している場合（ステップＳ２ａ）、制御部２１は、検索ポインタが設定されているＡＩＤのアドレスを示すアドレス情報をＡＩＤアドレスメモリ２２ｃに記憶する（ステップＳ３ａ）。
【００６２】
これにより、制御部２１は、次回アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、ＡＩＤアドレスメモリ２２ｃに記憶したアドレス情報で示されるアドレスのＡＩＤに最初に設定することができる。このため、最後（最近）に選択され、一般的に繰り返し利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【００６３】
次に、実施例２のＩＣカードの制御部２１の処理について説明する。実施例２において、外部装置はＩＣカード処理装置１であり、データメモリ２２は、ＡＩＤデータメモリ２２ｂ及びＡＩＤアドレスメモリ２２ｃを有している。
【００６４】
（実施例２）
図１、図３、図７及び図１０に示すように、制御部２１が、通信部２５を介してアプリケーションの選択を指示するコマンド（ＳＥＬＥＣＴコマンド）をＩＣカード処理装置１から受信し、ＡＩＤの検索、並びにアプリケーションの選択及び実行を行うための制御部２１の制御がスタートすると、まず、ステップＳ１ｂにおいて、制御部２１は、ＡＩＤデータメモリ２２ｂ内において、検索ポインタを、ＡＩＤアドレスメモリ２２ｃに記憶されたアドレス情報で示されるアドレスのＡＩＤに設定する。ここで、ＡＩＤアドレスメモリ２２ｃには、ＡＩＤテーブル２２ａに記憶された複数のＡＩＤの中、最後に選択されたアプリケーションに付与されたＡＩＤのアドレス情報が記憶されている。このため、制御部２１は、検索ポインタを、最後（最近）に選択されたアプリケーションに付与されるＡＩＤに設定することができる。
【００６５】
続いて、ステップＳ２ｂにおいて、制御部２１は、コマンドに含まれるＡＩＤが、検索ポインタが設定されているＡＩＤと一致しているのかどうか判断する。ＡＩＤが一致している場合（ステップＳ２ｂ）、ステップＳ３ｂに移行し、ステップＳ３ｂにおいて、制御部２１は、検索ポインタが設定されているＡＩＤのアドレスを示すアドレス情報をＡＩＤアドレスメモリ２２ｃに記憶し、すなわち、制御部２１は、ＡＩＤアドレスメモリ２２ｃのアドレス情報を更新する。
【００６６】
次いで、ステップＳ４ｂにおいて、制御部２１は、検索ポインタが設定されているＡＩＤが指定するアプリケーションを選択及び実行し、ＡＩＤの検索、並びにアプリケーションの選択及び実行を行うための制御部２１の制御を終了する。
【００６７】
ステップＳ２ｂにおいて、ＡＩＤが一致していない場合、図１、図３、図７及び図１１に示すように、ステップＳ５ｂに移行し、ステップＳ５ｂにおいて、制御部２１は、検索ポインタが設定されているＡＩＤのリンク先のＡＩＤがあるのかどうか判断する。
【００６８】
リンク先のＡＩＤがある場合（ステップＳ５ｂ）、ステップＳ６ｂに移行し、ステップＳ６ｂにおいて、制御部２１は、ＡＩＤデータメモリ２２ｂ内において、検索ポインタを、検索ポインタが設定されているＡＩＤのリンク先のＡＩＤに設定し、すなわち検索ポインタを１つ分進め、ステップＳ８ｂに移行する。
【００６９】
リンク先のＡＩＤがない場合（ステップＳ５ｂ）、ステップＳ７ｂに移行し、ステップＳ７ｂにおいて、制御部２１は、ＡＩＤデータメモリ２２ｂ内において、検索ポインタを、最初のリンク元のＡＩＤ（ＡＩＤデータメモリ上で先頭に登録されているＡＩＤ）に設定し、ステップＳ８ｂに移行する。
【００７０】
次いで、ステップＳ８ｂにおいて、制御部２１は、検索ポインタがＡＩＤアドレスメモリ２２ｃに記憶されたアドレスと一緒であるのかどうか判断する。すなわち、制御部２１は、上記コマンドを受信してから最初に検索ポインタが設定されたＡＩＤに再び検索ポインタが設定されているのかどうか判断する。
【００７１】
検索ポインタがＡＩＤアドレスメモリ２２ｃに記憶されたアドレスと一緒でない場合（ステップＳ８ｂ）、ステップＳ２ｂに移行する。検索ポインタがＡＩＤアドレスメモリ２２ｃに記憶されたアドレスと一緒である場合（ステップＳ８ｂ）、ステップＳ９ｂに移行し、ステップＳ９ｂにおいて、制御部２１は、「アプリケーションの選択候補無し」を意味するステータスワードをＩＣカード処理装置１に送信し、ＡＩＤの検索を終了する。
【００７２】
上記のように、コマンドに含まれるＡＩＤが、検索ポインタが設定されているＡＩＤと一致している場合（ステップＳ２ｂ）、制御部２１は、検索ポインタが設定されているＡＩＤのアドレスを示すアドレス情報をＡＩＤアドレスメモリ２２ｃに記憶する（ステップＳ３ｂ）。
【００７３】
これにより、制御部２１は、次回アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、ＡＩＤアドレスメモリ２２ｃに記憶したアドレス情報で示されるアドレスのＡＩＤに最初に設定することができる。このため、最後（最近）に選択され、一般的に繰り返し利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【００７４】
上記のように構成された実施の形態に係るＩＣカード２によれば、ＩＣカード２は、ＩＣモジュール４と、ＩＣモジュール４を収納したＩＣカード本体３とを備えている。ＩＣモジュール４は、ＩＣカード処理装置１、パーソナルコンピュータ１０７などの外部装置と通信を行う通信部２５と、複数のアプリケーションを記憶するデータメモリ２２と、それぞれ複数のアプリケーションに付与された複数のＡＩＤと、複数のＡＩＤの検索順番と、を記憶するＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂと、ＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに記憶された複数のＡＩＤの中、最後に選択されたアプリケーションに付与されたＡＩＤのアドレス情報を記憶するＡＩＤアドレスメモリ２２ｃと、制御部２１と、を備えている。
【００７５】
制御部２１は、通信部２５を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるＡＩＤがＡＩＤアドレスメモリ２２ｃのアドレス情報で示されるアドレスに存在しているのかどうか検索し、ＡＩＤが上記アドレスに存在している場合、上記アドレスのＡＩＤが指定するアプリケーションを選択及び実行する。このため、最後（最近）に選択され、一般的に繰り返し利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【００７６】
制御部２１は、上記コマンドに含まれるＡＩＤが上記アドレスに存在していない場合、上記ＡＩＤがＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに存在しているのかどうか検索順番に沿って検索する。そして、制御部２１は、上記ＡＩＤがＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに存在している場合、上記ＡＩＤのアドレス情報をＡＩＤアドレスメモリ２２ｃに記憶し、ＡＩＤアドレスメモリ２２ｃのアドレス情報を更新し、上記ＡＩＤが指定するアプリケーションを選択及び実行する。これにより、制御部２１は、次回アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、ＡＩＤアドレスメモリ２２ｃに記憶したアドレス情報で示されるアドレスのＡＩＤに最初に設定することができる。  
上記のことから、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできるＩＣカード２を得ることができる。
【００７７】
次に、この発明に係る携帯可能電子装置をＩＣカードに適用した他の実施の形態について詳細に説明する。この実施の形態のＩＣカード２は、上述した実施の形態に比べ、更にアプリケーションの選択効率の向上を図ることが可能である。なお、この実施の形態において、ＩＣカード２がＡＩＤアドレスメモリ２２ｃの替わりに選択回数管理テーブル２２ｄを有していること、制御部２１の制御が異なること以外は上述した実施の形態と同一であり、同一の部分には同一の符号を付してその詳細な説明を省略する。
【００７８】
図３に示すように、ＩＣカード２は、ＩＣカード本体３と、ＩＣモジュール４とを有している。ＩＣモジュール４は、制御部２１、データメモリ２２、ワーキングメモリ２３、プログラムメモリ２４及び通信部２５などを備えている。
【００７９】
データメモリ２２は、複数のアプリケーションを記憶する第１記憶部として機能している。データメモリ２２は、第２記憶部としてＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂを有している。ＡＩＤテーブル２２ａ及びＡＩＤデータメモリ２２ｂは、複数のアプリケーションに付与された複数の識別子を記憶する。
【００８０】
図３及び図１２に示すように、データメモリ２２は、第３記憶部として選択回数管理テーブル２２ｄを有している。選択回数管理テーブル２２ｄは、データメモリ２２に記憶された複数のアプリケーションの選択回数と、選択回数の多い順番に沿って対応する複数のＡＩＤを検索するよう設定可能な複数のＡＩＤの検索順番と、を記憶する。この実施の形態において、ＡＩＤの検索順番はテーブル情報で管理され、選択回数管理テーブル２２ｄには、アプリケーションの選択回数の多い順番に沿って対応する複数のＡＩＤの情報が、先頭から順に並べられている。
【００８１】
図１２に示す例では、選択回数が１０回のアプリケーションＡＰＬ４に付与されるＡＩＤ４の情報は選択回数管理テーブル２２ｄの先頭の行（１行目）に設定されている。選択回数が５回のアプリケーションＡＰＬ５に付与されるＡＩＤ５の情報は選択回数管理テーブル２２ｄの２行目に設定されている。選択回数が２回のアプリケーションＡＰＬ２に付与されるＡＩＤ２の情報は選択回数管理テーブル２２ｄの３行目に設定されている。選択回数が１回のアプリケーションＡＰＬ３に付与されるＡＩＤ３の情報は選択回数管理テーブル２２ｄの４行目に設定されている。選択回数が０回のアプリケーションＡＰＬ１に付与されるＡＩＤ１の情報は選択回数管理テーブル２２ｄの５行目に設定されている。
【００８２】
制御部２１は、選択回数管理テーブル２２ｄの行に沿って検索ポインタのリンク先を設定することができる。制御部２１は、ＡＩＤの検索を開始すると（ｓｔａｒｔ）、検索ポインタのリンク先をまずＡＩＤ４に設定し、その後、検索ポインタのリンク先をＡＩＤ５、ＡＩＤ２、ＡＩＤ３、ＡＩＤ１の順に設定する。検索ポインタがＡＩＤ１に設定されると、検索ポインタのリンク先は無いため、ＡＩＤの検索を終了する（ｅｎｄ）。
【００８３】
上記のように、選択回数管理テーブル２２ｄ自体がＡＩＤの検索順番を規定している。このため、制御部２１は、選択回数管理テーブル２２ｄの行に基づいてＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに記憶されたＡＩＤを順に検索することができる。  
この実施の形態のＩＣカード２は上記のように形成されている。
【００８４】
ここで、この実施の形態の制御部２１は、通信部２５を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるＡＩＤがＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに存在しているのかどうか選択回数管理テーブル２２ｄに記憶された検索順番に沿って検索する。  
そして、制御部２１は、上記ＡＩＤがＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに存在している場合、上記ＡＩＤが指定するアプリケーションを選択及び実行する。
【００８５】
次に、通信部２５を介してアプリケーションの選択を指示するコマンドを受信した際、ＡＩＤの検索、選択回数管理テーブル２２ｄの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部２１の制御の例として、実施例３及び実施例４のＩＣカードの制御部２１の処理について説明する。
【００８６】
始めに、実施例３のＩＣカードの制御部２１の処理について説明する。実施例３において、外部装置はＩＣカード処理装置１であり、データメモリ２２は、ＡＩＤテーブル２２ａ及び選択回数管理テーブル２２ｄを有している。
【００８７】
（実施例３）
図１、図３、図６、図１２及び図１３に示すように、制御部２１が、通信部２５を介してアプリケーションの選択を指示するコマンド（ＳＥＬＥＣＴコマンド）をＩＣカード処理装置１から受信し、ＡＩＤの検索、選択回数管理テーブル２２ｄの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部２１の制御がスタートすると、まず、ステップＳ１ｃにおいて、制御部２１は、ＡＩＤテーブル２２ａ内において、検索ポインタを、検索順番が最初のＡＩＤに設定する。これにより、検索ポインタを、選択回数の最も多いアプリケーションに付与されるＡＩＤに設定することができる。
【００８８】
続いて、ステップＳ２ｃにおいて、制御部２１は、コマンドに含まれるＡＩＤが、検索ポインタが設定されているＡＩＤと一致しているのかどうか判断する。ＡＩＤが一致している場合（ステップＳ２ｃ）、ステップＳ３ｃに移行し、ステップＳ３ｃにおいて、制御部２１は、検索ポインタが設定されているＡＩＤが指定するアプリケーションの選択をカウントし、選択回数管理テーブル２２ｄに記憶した情報（アプリケーションの選択回数及びＡＩＤの検索順番）を更新する。
【００８９】
次いで、ステップＳ４ｃにおいて、制御部２１は、検索ポインタが設定されているＡＩＤが指定するアプリケーションを選択及び実行し、ＡＩＤの検索、選択回数管理テーブル２２ｄの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部２１の制御を終了する。
【００９０】
ＡＩＤが一致していない場合（ステップＳ２ｃ）、図１、図３、図６、図１２及び図１４に示すように、ステップＳ５ｃに移行し、ステップＳ５ｃにおいて、制御部２１は、検索ポインタが、検索順番が最後のＡＩＤに設定されているのかどうか判断する。すなわち、制御部２１は、選択回数管理テーブル２２ｄの情報を基に検索ポインタのリンク先があるのかどうか判断する。
【００９１】
検索ポインタが、検索順番が最後のＡＩＤに設定されていない場合（ステップＳ５ｃ）、ステップＳ６ｃに移行し、ステップＳ６ｃにおいて、制御部２１は、選択回数管理テーブル２２ｄの情報を基に、次に選択回数が多いアプリケーションに付与されるＡＩＤに検索ポインタを設定し、ステップＳ２ｃに移行する。
【００９２】
検索ポインタが、検索順番が最後のＡＩＤに設定されている場合（ステップＳ５ｃ）、ステップＳ７ｃに移行し、ステップＳ７ｃにおいて、制御部２１は、「アプリケーションの選択候補無し」を意味するステータスワードをＩＣカード処理装置１に送信し、ＡＩＤの検索を終了する。
【００９３】
次に、上記ステップＳ３ｃについて、詳しく説明する。  
図１、図３、図６、図１２及び図１５に示すように、まず、ステップＳ１ｄにおいて、制御部２１は、検索ポインタが設定されているＡＩＤが指定するアプリケーションの選択をカウントし、選択回数管理テーブル２２ｄに記憶したアプリケーションの選択回数を更新する。
【００９４】
次いで、ステップＳ２ｄにおいて、制御部２１は、検索ポインタが設定されているＡＩＤが選択回数管理テーブル２２ｄの先頭（最上位）のＡＩＤであるのかどうか判断する。選択回数管理テーブル２２ｄの先頭のＡＩＤである場合（ステップＳ２ｄ）、上記ステップＳ３ｃの工程は終了し上記ステップＳ４ｃに移行する。
【００９５】
選択回数管理テーブル２２ｄの先頭のＡＩＤでない場合（ステップＳ２ｄ）、ステップＳ３ｄに移行し、ステップＳ３ｄにおいて、制御部２１は、「上位のＡＩＤの選択回数≧検索ポインタが設定されているＡＩＤの選択回数」であるのかどうか判断する。
【００９６】
「上位のＡＩＤの選択回数≧検索ポインタが設定されているＡＩＤの選択回数」である場合（ステップＳ３ｄ）、上記ステップＳ３ｃの工程は終了し上記ステップＳ４ｃに移行する。「上位のＡＩＤの選択回数≧検索ポインタが設定されているＡＩＤの選択回数」ではない場合（ステップＳ３ｄ）、ステップＳ４ｄに移行し、ステップＳ４ｄにおいて、制御部２１は、選択回数管理テーブル２２ｄ内において、検索ポインタが設定されているＡＩＤと、上位のＡＩＤと、の順序を入れ替え、すなわちＡＩＤの検索順番を更新し、上記ステップＳ３ｃの工程を終了し上記ステップＳ４ｃに移行する。
【００９７】
上記のように、コマンドに含まれるＡＩＤが、検索ポインタが設定されているＡＩＤと一致している場合（ステップＳ２ｃ）、制御部２１は、検索ポインタが設定されているＡＩＤが指定するアプリケーションの選択をカウントし、選択回数管理テーブル２２ｄに記憶した情報（アプリケーションの選択回数及びＡＩＤの検索順番）を更新する（ステップＳ３ｃ）。
【００９８】
これにより、制御部２１は、アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、アプリケーションの選択回数の多い順番に沿って対応する複数のＡＩＤに順に設定することができる。このため、利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【００９９】
次に、実施例４のＩＣカードの制御部２１の処理について説明する。実施例４において、外部装置はＩＣカード処理装置１であり、データメモリ２２は、ＡＩＤデータメモリ２２ｂ及び選択回数管理テーブル２２ｄを有している。
【０１００】
（実施例４）
図１、図３、図７、図１２及び図１６に示すように、制御部２１が、通信部２５を介してアプリケーションの選択を指示するコマンド（ＳＥＬＥＣＴコマンド）をＩＣカード処理装置１から受信し、ＡＩＤの検索、選択回数管理テーブル２２ｄの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部２１の制御がスタートすると、まず、ステップＳ１ｅにおいて、制御部２１は、ＡＩＤデータメモリ２２ｂ内において、検索ポインタを、検索順番が最初のＡＩＤに設定する。これにより、検索ポインタを、選択回数の最も多いアプリケーションに付与されるＡＩＤに設定することができる。
【０１０１】
続いて、ステップＳ２ｅにおいて、制御部２１は、コマンドに含まれるＡＩＤが、検索ポインタが設定されているＡＩＤと一致しているのかどうか判断する。ＡＩＤが一致している場合（ステップＳ２ｅ）、ステップＳ３ｅに移行し、ステップＳ３ｅにおいて、制御部２１は、検索ポインタが設定されているＡＩＤが指定するアプリケーションの選択をカウントし、選択回数管理テーブル２２ｄに記憶した情報（アプリケーションの選択回数及びＡＩＤの検索順番）を更新する。
【０１０２】
次いで、ステップＳ４ｅにおいて、制御部２１は、検索ポインタが設定されているＡＩＤが指定するアプリケーションを選択及び実行し、ＡＩＤの検索、選択回数管理テーブル２２ｄの選択回数及び検索順番の更新、並びにアプリケーションの選択及び実行を行うための制御部２１の制御を終了する。
【０１０３】
ＡＩＤが一致していない場合（ステップＳ２ｅ）、図１、図３、図７、図１２及び図１７に示すように、ステップＳ５ｅに移行し、ステップＳ５ｅにおいて、制御部２１は、検索ポインタが、検索順番が最後のＡＩＤに設定されているのかどうか判断する。すなわち、制御部２１は、選択回数管理テーブル２２ｄの情報を基に検索ポインタのリンク先があるのかどうか判断する。
【０１０４】
検索ポインタが、検索順番が最後のＡＩＤに設定されていない場合（ステップＳ５ｅ）、ステップＳ６ｅに移行し、ステップＳ６ｅにおいて、制御部２１は、選択回数管理テーブル２２ｄの情報を基に、次に選択回数が多いアプリケーションに付与されるＡＩＤに検索ポインタを設定し、ステップＳ２ｅに移行する。
【０１０５】
検索ポインタが、検索順番が最後のＡＩＤに設定されている場合（ステップＳ５ｅ）、ステップＳ７ｅに移行し、ステップＳ７ｅにおいて、制御部２１は、「アプリケーションの選択候補無し」を意味するステータスワードをＩＣカード処理装置１に送信し、ＡＩＤの検索を終了する。  
なお、実施例４においても、上記ステップＳ３ｅの詳細は、図１５に示した通りである。
【０１０６】
上記のように、コマンドに含まれるＡＩＤが、検索ポインタが設定されているＡＩＤと一致している場合（ステップＳ２ｅ）、制御部２１は、検索ポインタが設定されているＡＩＤが指定するアプリケーションの選択をカウントし、選択回数管理テーブル２２ｄに記憶した情報（アプリケーションの選択回数及びＡＩＤの検索順番）を更新する（ステップＳ３ｅ）。
【０１０７】
これにより、制御部２１は、アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、アプリケーションの選択回数の多い順番に沿って対応する複数のＡＩＤに順に設定することができる。このため、利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【０１０８】
上記のように構成された他の実施の形態に係るＩＣカード２によれば、ＩＣカード２は、ＩＣモジュール４と、ＩＣモジュール４を収納したＩＣカード本体３とを備えている。ＩＣモジュール４は、ＩＣカード処理装置１、パーソナルコンピュータ１０７などの外部装置と通信を行う通信部２５と、複数のアプリケーションを記憶するデータメモリ２２と、それぞれ複数のアプリケーションに付与された複数のＡＩＤを記憶するＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂと、複数のアプリケーションの選択回数と、選択回数の多い順番に沿って対応する複数のＡＩＤを検索するよう設定可能な複数のＡＩＤの検索順番と、を記憶する選択回数管理テーブル２２ｄと、制御部２１と、を備えている。
【０１０９】
制御部２１は、通信部２５を介してアプリケーションの選択を指示するコマンドを受信した際、コマンドに含まれるＡＩＤがＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに存在しているのかどうか選択回数管理テーブル２２ｄに記憶された検索順番に沿って検索する。そして、制御部２１は、上記ＡＩＤがＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに存在している場合、上記ＡＩＤが指定するアプリケーションを選択及び実行する。このため、利用される確率が高いアプリケーションの選択効率の向上を図ることができる。
【０１１０】
制御部２１は、上記コマンドに含まれるＡＩＤがＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂに存在している場合、上記ＡＩＤが指定するアプリケーションの選択をカウントし、選択回数管理テーブル２２ｄの選択回数を更新する。
【０１１１】
選択回数管理テーブル２２ｄの検索順番がアプリケーションの選択回数の多い順番に沿わなくなった場合、アプリケーションの選択回数の多い順番に沿って対応する複数のＡＩＤを検索できるよう選択回数管理テーブル２２ｄの検索順番を更新する。
【０１１２】
これにより、制御部２１は、アプリケーションの選択を指示するコマンドを受信した際、検索ポインタを、アプリケーションの選択回数の多い順番に沿って対応する複数のＡＩＤに順に設定することができる。  
上記のことから、アプリケーションの選択を指示するコマンドに対して効率的にアプリケーションを選択することのできるＩＣカード２を得ることができる。
【０１１３】
なお、この発明は上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化可能である。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１１４】
例えば、上述した第１の実施の形態において、制御部２１は、通信部２５を介して最後（最近）に選択されたアプリケーションの選択を指示するコマンドを受信し、同一のアプリケーションを繰り返し利用する場合、ＡＩＤアドレスメモリ２２ｃのアドレス情報を更新しなくともよい。
【０１１５】
上述した第１の実施の形態に係る実施例１において、ＡＩＤアドレスメモリ２２ｃにアドレス情報が記憶されていない状態でＡＩＤを検索する場合、制御部２１は、検索ポインタを、まずＡＩＤテーブル２２ａの先頭の行に設定した後、行に沿って検索すればよい。
【０１１６】
上述した第１の実施の形態に係る実施例２において、ＡＩＤアドレスメモリ２２ｃにアドレス情報が記憶されていない状態でＡＩＤを検索する場合、制御部２１は、検索ポインタを、まずＡＩＤデータメモリ２２ｂの最初のリンク元のＡＩＤに設定した後、順に検索すればよい。
【０１１７】
この発明の第１乃至第３記億部は、上述した例に限るものではなく、種々変形可能である。  
上述した第２の実施の形態において、他の第３記憶部は、選択回数管理テーブル２２ｄに限定されるものではなく、種々変形可能であり、複数のアプリケーションの選択回数と、上記選択回数の多い順番に沿って対応する複数の識別子を検索するよう設定可能な複数の識別子の検索順番と、を記憶するものであればよい。
【０１１８】
上述した第２の実施の形態に係る実施例３において、ＩＣカード２は、選択回数管理テーブル２２ｄを有していなくともよく、この場合、ＡＩＤテーブル２２ａをダイナミックに書き換え、ＡＩＤテーブル２２ａには、アプリケーションの選択回数の多い順番に沿って対応する複数のＡＩＤを、先頭から順に並べればよい。
【０１１９】
上述した第２の実施の形態に係る実施例４において、ＩＣカード２は、選択回数管理テーブル２２ｄを有していなくともよく、この場合、ＡＩＤデータメモリ２２ｂ内のリンク先の情報を書き換え、アプリケーションの選択回数の多い順番に沿って対応する複数のＡＩＤがリンクされていればよい。
【０１２０】
第２記憶部は、データメモリ２２の一部（ＡＩＤテーブル２２ａ又はＡＩＤデータメモリ２２ｂ）に設けられているが、これに限らず、例えば、プログラムメモリ２４の一部に設けられていてもよい。
【０１２１】
この発明の携帯可能電子装置は、ＩＣカードに限らず、通信機能を有した各種の携帯可能電子装置に適用することが可能である。
【符号の説明】
【０１２２】
１…ＩＣカード処理装置、２…ＩＣカード、３…ＩＣカード本体、４…ＩＣモジュール、１２…カードリーダライタ、２１…制御部、２２…データメモリ、２２ａ…ＡＩＤテーブル、２２ｂ…ＡＩＤデータメモリ、２２ｃ…ＡＩＤアドレスメモリ、２２ｄ…選択回数管理テーブル、２３…ワーキングメモリ、２４…プログラムメモリ、２５…通信部、１０１…携帯電話機、１０６…カードリーダライタ、１０７…パーソナルコンピュータ。
【図１】
2011215833.tif 000003
【図２】
2011215833.tif 000004
【図３】
2011215833.tif 000005
【図４】
2011215833.tif 000006
【図５】
2011215833.tif 000007
【図６】
2011215833.tif 000008
【図７】
2011215833.tif 000009
【図８】
2011215833.tif 000010
【図９】
2011215833.tif 000011
【図１０】
2011215833.tif 000012
【図１１】
2011215833.tif 000013
【図１２】
2011215833.tif 000014
【図１３】
2011215833.tif 000015
【図１４】
2011215833.tif 000016
【図１５】
2011215833.tif 000017
【図１６】
2011215833.tif 000018
【図１７】
2011215833.tif 000019