(57)【要約】【課題】特定のデータに対するアクセスに要する時間を低減することができる携帯可能電子装置、及びＩＣカードを提供することである。【解決手段】実施形態の携帯可能電子装置は、データ記憶部と、データリスト記憶部と、処理部とを持つ。データ記憶部は、特定のデータを含むファイルを記憶する。データリスト記憶部は、過去に選択された前記特定のデータを識別するデータ識別情報と、前記データ記憶部において当該特定のデータを記憶する先頭のアドレスとを対応付けた対応情報を記憶する。処理部は、外部装置から受信した前記特定のデータに対する特定の処理要求に応じて、前記データリスト記憶部が記憶する前記対応情報を参照して、当該特定のデータに対応する前記先頭のアドレスを選択する。【選択図】図３
2019053557.tif 000002
【特許請求の範囲】
【請求項１】
特定のデータを含むファイルを記憶するデータ記憶部と、
過去に選択された前記特定のデータを識別するデータ識別情報と、前記データ記憶部において当該特定のデータを記憶する先頭のアドレスとを対応付けた対応情報を記憶するデータリスト記憶部と、
外部装置から受信した前記特定のデータに対する特定の処理要求に応じて、前記データリスト記憶部が記憶する前記対応情報を参照して、当該特定のデータに対応する前記先頭のアドレスを選択する処理部と
を備える携帯可能電子装置。
【請求項２】
前記処理部は、
前記特定の処理要求に応じて、前記データリスト記憶部が記憶する前記対応情報を検索し、当該特定のデータに対応する前記対応情報が前記データリスト記憶部に存在する場合に、当該特定のデータに対応する前記対応情報を参照して、当該特定のデータに対応する前記先頭のアドレスを選択し、
前記特定のデータに対応する前記対応情報が前記データリスト記憶部に存在しない場合に、当該特定のデータに対応する前記対応情報を前記データリスト記憶部に追記させる
請求項１に記載の携帯可能電子装置。
【請求項３】
前記データリスト記憶部は、前記データ識別情報と、前記先頭のアドレスと、前記特定のデータが選択された回数を示す回数情報とを対応付けた前記対応情報を記憶し、
前記処理部は、前記回数情報が示す回数が多い前記対応情報を優先して検索する
請求項２に記載の携帯可能電子装置。
【請求項４】
前記処理部は、前記特定のデータに対応する前記先頭のアドレスを選択した場合に、当該特定のデータに対応する前記回数情報を更新する
請求項３に記載の携帯可能電子装置。
【請求項５】
前記データリスト記憶部は、アプリケーションごとに作成されたデータリストであって、前記対応情報を含むデータリストを複数記憶し、
前記処理部は、選択されたアプリケーションに応じて、前記データリストを切り替えて使用して、前記特定のデータに対応する前記先頭のアドレスを選択する
請求項１から請求項４のいずれか一項に記載の携帯可能電子装置。
【請求項６】
前記処理部は、前記外部装置から前記特定のデータに対するアクセス処理要求を受信した場合に、選択した当該特定のデータに対応する前記先頭のアドレスに基づいて、前記特定のデータにアクセスする処理を実行する
請求項１から請求項５のいずれか一項に記載の携帯可能電子装置。
【請求項７】
特定のデータを含むファイルを記憶するデータ記憶部と、
過去に選択された前記特定のデータを識別するデータ識別情報と、前記データ記憶部において当該特定のデータを記憶する先頭のアドレスとを対応付けた対応情報を記憶するデータリスト記憶部と、
外部装置から受信した前記特定のデータに対する特定の処理要求に応じて、前記データリスト記憶部が記憶する前記対応情報を参照して、当該特定のデータに対応する前記先頭のアドレスを選択する処理部と
を備えるＩＣモジュールと、
前記ＩＣモジュールが埋め込まれたカード本体と
を備えるＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、携帯可能電子装置、及びＩＣカードに関する。
【背景技術】
【０００２】
近年、ＩＣ（Integrated Circuit）チップを内蔵したＩＣカードなどの携帯可能電子装置が広く使用されている。従来の携帯可能電子装置では、ファイル名と当該ファイルの先頭アドレスとを記憶するファイル管理情報（例えば、ディレクトリ）を設け、外部装置から受信したコマンドに応じて、ディレクトリを検索することで、ファイルに迅速にアクセスすることを可能にしていた。しかしながら、従来の携帯可能電子装置では、ファイル内の特定のデータにアクセスする際には、ファイル内を検索する必要があり、アクセスに時間を要する場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６３−９５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、特定のデータに対するアクセスに要する時間を低減することができる携帯可能電子装置、及びＩＣカードを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の携帯可能電子装置は、データ記憶部と、データリスト記憶部と、処理部とを持つ。データ記憶部は、特定のデータを含むファイルを記憶する。データリスト記憶部は、過去に選択された前記特定のデータを識別するデータ識別情報と、前記データ記憶部において当該特定のデータを記憶する先頭のアドレスとを対応付けた対応情報を記憶する。処理部は、外部装置から受信した前記特定のデータに対する特定の処理要求に応じて、前記データリスト記憶部が記憶する前記対応情報を参照して、当該特定のデータに対応する前記先頭のアドレスを選択する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態のＩＣカードの一例を示す外観図。
【図２】第１の実施形態のＩＣカードのハードウェア構成例を示す図。
【図３】第１の実施形態のＩＣカードの機能構成例を示すブロック図。
【図４】ファイル内に格納されているＴＬＶ形式のデータの一例を示す図。
【図５】第１の実施形態の選択データリスト記憶部が記憶するデータ例を示す図。
【図６】第１の実施形態の検索順序記憶部が記憶するデータ例を示す図。
【図７】第１の実施形態のＩＣカードのＳＥＬＥＣＴ  ＤＡＴＡコマンドの処理の一例を示すフローチャート。
【図８】第１の実施形態のＩＣカードのアクセス処理コマンドの処理の一例を示すフローチャート。
【図９】第２の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１０】第２の実施形態の選択データリスト記憶部が記憶するデータ例を示す図。
【図１１】第２の実施形態のＩＣカードのファイル構成例を示す図。
【発明を実施するための形態】
【０００７】
以下、実施形態の携帯可能電子装置、及びＩＣカードを、図面を参照して説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態のＩＣカード１の一例を示す外観図である。
図１に示すように、ＩＣカード１は、ＩＣモジュール１０を備える。ＩＣモジュール１０は、コンタクト部３と、内部にＩＣチップ１００とを備える。
【０００９】
ＩＣカード１は、例えば、プラスチックのカード基材ＰＴ（カード本体の一例）に、ＩＣモジュール１０を実装して形成されている。すなわち、ＩＣカード１は、ＩＣモジュール１０と、ＩＣモジュール１０が埋め込まれたカード基材ＰＴとを備える。また、ＩＣカード１は、コンタクト部３を介して外部装置２と通信可能である。
なお、本実施形態では、携帯可能電子装置の一例として、ＩＣカード１について説明する。
【００１０】
ＩＣカード１は、例えば、外部装置２が送信したコマンド（処理要求）を、コンタクト部３を介して受信し、受信したコマンドに応じた処理（コマンド処理）を実行する。そして、ＩＣカード１は、コマンド処理の実行結果であるレスポンス（処理応答）を外部装置２にコンタクト部３を介して送信する。
ここで、外部装置２は、ＩＣカード１と通信する装置であり、例えば、リーダ／ライタ装置を含む端末装置などである。
【００１１】
ＩＣモジュール１０は、コンタクト部３と、ＩＣチップ１００とを備え、例えば、テープ上にＩＣモジュール１０が複数配置されたＣＯＴ（Chip On Tape）などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のＩＣモジュール１０をＣＯＴという場合がある。
【００１２】
コンタクト部３は、ＩＣカード１が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを外部装置２から供給を受ける端子、及び、外部装置２と通信するためのシリアルデ―タ入出力端子（ＳＩＯ端子）を有する。
ＩＣチップ１００は、例えば、１チップのマイクロプロセッサなどのＬＳＩ（Large Scale Integration）である。
【００１３】
次に、図２を参照して、本実施形態のＩＣカード１のハードウェア構成について説明する。
図２は、本実施形態のＩＣカード１のハードウェア構成例を示す図である。
図２に示すように、ＩＣカード１は、コンタクト部３と、ＩＣチップ１００とを備えたＩＣモジュール１０を備えている。そして、ＩＣチップ１００は、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）４と、ＣＰＵ５と、ＲＯＭ（Read Only Memory）６と、ＲＡＭ（Random Access Memory）７と、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）８とを備えている。また、各構成（４から８）は、内部バスＢＳ１を介して接続されている。
【００１４】
ＵＡＲＴ４は、上述したＳＩＯ端子を介して、外部装置２とシリアルデータ通信を行う。ＵＡＲＴ４は、ＳＩＯ端子を介して受信したシリアルデータ信号をパラレル変換したデータ（例えば、１バイトのデータ）を内部バスＢＳ１に出力する。また、ＵＡＲＴ４は、内部バスＢＳ１を介して取得したデータをシリアル変換して、ＳＩＯ端子を介して外部装置２に出力する。ＵＡＲＴ４は、例えば、ＳＩＯ端子を介してコマンドを外部装置２から受信する。また、ＵＡＲＴ４は、ＳＩＯ端子を介してレスポンスを外部装置２に送信する。
【００１５】
ＣＰＵ５は、ＲＯＭ６又はＥＥＰＲＯＭ８に記憶されているプログラムを実行して、ＩＣカード１の各種処理を行う。ＣＰＵ５は、例えば、コンタクト部３を介して、ＵＡＲＴ４が受信したコマンドに応じたコマンド処理を実行する。
【００１６】
ＲＯＭ６は、例えば、マスクＲＯＭなどの不揮発性メモリであり、ＩＣカード１の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
ＲＡＭ７は、例えば、ＳＲＡＭ（Static RAM）などの揮発性メモリであり、ＩＣカード１の各種処理を行う際に利用されるデータを一時記憶する。
【００１７】
ＥＥＰＲＯＭ８は、例えば、電気的に書き換え可能な不揮発性メモリである。ＥＥＰＲＯＭ８は、ＩＣカード１が利用する各種データを記憶する。ＥＥＰＲＯＭ８は、例えば、ＩＣカード１を利用した各種サービス（アプリケーション）に使用される情報を記憶する。
【００１８】
次に、図３を参照して、本実施形態によるＩＣカード１の機能構成例について説明する。
図３は、本実施形態のＩＣカード１の機能構成例を示すブロック図である。
図３に示すように、ＩＣカード１は、通信部４０と、制御部５０と、ＡＰデータ記憶部８１と、ファイル管理情報記憶部８２と、選択データリスト記憶部８３と、検索順序記憶部７１とを備える。
ここで、図３に示されるＩＣカード１の各部は、図２に示されるＩＣカード１のハードウェアを用いて実現される。
【００１９】
通信部４０は、例えば、ＵＡＲＴ４と、ＣＰＵ５と、ＲＯＭ６に記憶されているプログラムとにより実現され、コンタクト部３を介して、例えば、外部装置２との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部４０は、所定の処理を要求するコマンド（処理要求）を外部装置２から受信するとともに、コマンドに対するレスポンス（処理応答）を外部装置２に送信する。
【００２０】
ＡＰ（アプリケーション）データ記憶部８１（データ記憶部の一例）は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、アプリケーションデータを記憶する。ＡＰデータ記憶部８１は、ＭＦ（Master File）、ＤＦ（Dedicated File）、ＥＦ（Elementary File）などのファイルが階層構造になって記憶されている。なお、ＥＦには、図２に示すように、ＴＬＶ形式（Tag-Length-value形式）のデータ（特定のデータ）が格納される。すなわち、ＡＰデータ記憶部８１は、ＴＬＶ形式のデータ（特定のデータ）を含むファイルを記憶する。
【００２１】
図４は、ファイル内に格納されているＴＬＶ形式のデータの一例を示す図である。
図４に示す例は、ＥＦ内に、複数のＴＬＶ形式のデータ（「データＡ」、「データＢ」、・・・）が格納されている例を示している。ここで、「Ｔａｇ名」は、特定のデータのＴａｇを識別する識別情報であり、「Ｌｅｎ」は、特定のデータの長さを示している。また、「Ｖａｌｕｅ」には、特定のデータの内容（データ）が格納されている。各ＴＬＶ形式のデータは、ＥＦの先頭アドレスから「Ｌｅｎ」に基づいて順次検索することにより、選択したいＴＬＶ形式のデータを選択することが可能である。
【００２２】
図３の説明に戻り、ファイル管理情報記憶部８２は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、上述した各種ファイルを管理する管理情報（例えば、ディレクトリ情報）を記憶する。ファイル管理情報記憶部８２は、例えば、ファイル名、ファイルＩＤなどのファイル識別情報と、ファイルの先頭のアドレス（以下、ファイルの先頭アドレスという）とを対応付けて記憶する。ここで、ファイルの先頭アドレスは、例えば、ＥＥＰＲＯＭ８の物理アドレスである。ＩＣカード１において、各ファイルの選択、又は、各ファイルにアクセス処理を実行する場合には、ファイル管理情報記憶部８２が記憶するファイル管理情報に基づいて、各ファイルの選択、又は、各ファイルにアクセス処理を実行する。ここで、アクセス処理とは、データの読み出し、書き込み、更新などの処理のことである。
【００２３】
選択データリスト記憶部８３（データリスト記憶部の一例）は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。選択データリスト記憶部８３は、過去に選択された特定のデータを識別するデータ識別情報と、ＡＰデータ記憶部８１において当該特定のデータを記憶する先頭のアドレスと、当該特定のデータが選択された回数を示す回数情報とを対応付けた対応情報を記憶する。選択データリスト記憶部８３は、当該対応情報を複数有し、過去に選択された特定のデータのリスト（一覧）を示す選択データリスト（データリストの一例）を記憶する。ここで、図５を参照して、選択データリスト記憶部８３が記憶するデータ例について説明する。
【００２４】
図５は、本実施形態の選択データリスト記憶部８３が記憶するデータ例を示す図である。
図５に示すように、選択データリスト記憶部８３は、「リスト番号」と、「ＥＦＩＤ」と、「Ｔａｇ名」と、「選択回数」と、「Ｔａｇの先頭アドレス」（特定のデータの先頭アドレス）とを対応付けた対応情報を記憶する。ここで、「リスト番号」は、対応情報の番号を示している。また、「ＥＦＩＤ」は、ＥＦのＩＤ（識別子）を示しており、ファイルを識別するファイル識別情報の一例である。また、「Ｔａｇ名」は、Ｔａｇ名であるＴａｇのＩＤを示しており、データ識別情報の一例である。
【００２５】
また、「選択回数」は、当該Ｔａｇが過去に選択された回数を示し、「Ｔａｇの先頭アドレス」は、Ｔａｇの先頭のアドレスを示している。なお、Ｔａｇの先頭アドレスは、例えば、ＥＥＰＲＯＭ８の物理アドレスである。
【００２６】
例えば、図５に示す例では、「リスト番号」が“１”である対応情報は、「ＥＦＩＤ」が“０００１”であり、「Ｔａｇ名」が“８１”であり、「選択回数」が“１２”であることを示している。また、「Ｔａｇの先頭アドレス」が“３１５Ｂ８４”であることを示している。なお、「ＥＦＩＤ」、「Ｔａｇ名」、及び「Ｔａｇの先頭アドレス」は、１６進数表記（ヘキサデシマル表記）になっている。
選択データリスト記憶部８３は、このような対応情報を複数含む選択データリストを記憶する。
【００２７】
再び、図３の説明に戻り、検索順序記憶部７１は、例えば、ＲＡＭ７により構成された記憶部であり、上述した選択データリスト記憶部８３の選択データリストを検索するための順序情報を記憶する。検索順序記憶部７１は、例えば、検索番号を示す検索順序と、対応情報の番号などの対応情報の識別情報とを対応付けて記憶する。検索順序記憶部７１は、選択データリスト記憶部８３が記憶する対応情報の数だけ、順序情報を記憶する。また、検索順序記憶部７１は、選択データリスト記憶部８３の「選択回数」が多い順に、順序情報を記憶する。ここで、図６を参照して、検索順序記憶部７１が記憶するデータ例について説明する。
【００２８】
図６は、本実施形態の検索順序記憶部７１が記憶するデータ例を示す図である。
図６に示すように、検索順序記憶部７１は、「検索順序」と、「リスト番号」とを対応付けて記憶する。ここで、「検索順序」は、上述した検索順序であり、「リスト番号」は、選択データリスト記憶部８３が記憶する「リスト番号」である。
【００２９】
例えば、図６に示す例では、「検索順序」が“１”である「リスト番号」が“１”であることを示している。すなわち、１番目に、検索順序記憶部７１の「リスト番号」が“１”である、“０００１”のＥＦ内の“８１”のＴａｇの対応情報を検索することを示している。
また、「検索順序」が“２”である「リスト番号」が“２”であることを示している。すなわち、２番目に、検索順序記憶部７１の「リスト番号」が“２”である、“０００２”のＥＦ内の“８３”のＴａｇの対応情報を検索することを示している。
また、「検索順序」が“３”である「リスト番号」が“４”であることを示している。すなわち、３番目に、検索順序記憶部７１の「リスト番号」が“４”である、“０００３”のＥＦ内の“８１”のＴａｇの対応情報を検索することを示している。
【００３０】
なお、検索順序記憶部７１の記憶する順序情報は、制御部５０によって、例えば、ＩＣカード１の活性化時に、選択データリスト記憶部８３が記憶する選択データリストに基づいて、生成されて記憶されるものとする。
【００３１】
再び、図３の説明に戻り、制御部５０は、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１を統括的に制御する。制御部５０は、ファイル管理部５１と、コマンド処理部５２とを備える。
【００３２】
ファイル管理部５１は、ファイル管理情報記憶部８２が記憶する管理情報（例えば、ディレクトリ情報）に基づいて、ＡＰデータ記憶部８１内のファイルを管理する。ファイル管理部５１は、例えば、ファイルへのアクセス処理を実行する際に、ファイル管理情報記憶部８２が記憶する管理情報を検索して、ファイルの記憶場所を特定する。
【００３３】
コマンド処理部５２（処理部の一例）は、外部装置２からＩＣカード１に送信されたコマンド（処理要求）に応じて、各種コマンドの処理（コマンド処理）を実行する。コマンド処理部５２は、例えば、通信部４０を介して外部装置２から受信したコマンドに応じて、コマンド処理を実行する。また、コマンド処理部５２は、コマンド処理の結果であるレスポンスを、通信部４０を介して外部装置２に送信する。
【００３４】
また、コマンド処理部５２は、外部装置２から受信した特定のデータに対する特定の処理要求（特定のコマンド）に応じて、選択データリスト記憶部８３が記憶する対応情報を参照して、当該特定のデータに対応する先頭アドレスを選択する。ここで、特定の処理要求（特定のコマンド）とは、例えば、特定のデータを選択するＳＥＬＥＣＴ  ＤＡＴＡコマンドや、特定のデータ（Ｔａｇ）を指定してアクセスするアクセス処理コマンドなどである。また、アクセス処理コマンドとは、データの書き込み、読み出し、及び、更新などのアクセス処理を実行するコマンドである。
【００３５】
コマンド処理部５２は、例えば、上述した特定のコマンドに応じて、選択データリスト記憶部８３が記憶する対応情報を検索し、当該特定のデータ（Ｔａｇ）に対応する対応情報が選択データリスト記憶部８３に存在するか否かを判定する。コマンド処理部５２は、当該特定のデータに対応する対応情報が選択データリスト記憶部８３に存在する場合に、当該特定のデータに対応する対応情報を参照して、当該特定のデータに対応する先頭アドレスを選択する。コマンド処理部５２は、特定のデータに対応する先頭アドレスを選択した場合に、当該特定のデータに対応する回数情報を更新する。
【００３６】
また、コマンド処理部５２は、当該特定のデータに対応する対応情報が選択データリスト記憶部８３に存在しない場合に、ファイル（ＥＦ）内を、ファイル（ＥＦ）の先頭アドレスから各ＴＬＶ形式の「Ｌｅｎ」に基づいて順次検索することにより、選択したい特定のデータ（Ｔａｇ）の先頭アドレスを取得する。
また、コマンド処理部５２は、当該特定のデータに対応する対応情報が選択データリスト記憶部８３に存在しない場合に、当該特定のデータに対応する対応情報を選択データリスト記憶部８３に追記させる。
また、コマンド処理部５２は、例えば、外部装置２から特定のデータに対するアクセス処理要求（アクセス処理コマンド）を受信した場合に、選択（取得）した当該特定のデータに対応する先頭アドレスに基づいて、特定のデータにアクセスする処理を実行する。
【００３７】
なお、コマンド処理部５２は、選択データリスト記憶部８３が記憶する対応情報を検索する際に、回数情報が示す回数が多い対応情報を優先して検索する。具体的に、コマンド処理部５２は、検索順序記憶部７１が記憶する順序情報の順序に従って、回数情報が示す回数が多い対応情報を優先して検索する。
また、コマンド処理部５２は、回数情報が更新された場合には、更新された回数情報に応じて、検索順序記憶部７１の記憶する順序情報の順序を入れ替える更新を行う。
【００３８】
次に、図面を参照して、本実施形態のＩＣカード１の動作について説明する。
図７は、本実施形態のＩＣカード１のＳＥＬＥＣＴ  ＤＡＴＡコマンドの処理の一例を示すフローチャートである。
【００３９】
図７に示すように、外部装置２とＩＣカード１とがコンタクト部３を介して接続され、ＩＣカード１が活性化された状態において、ＩＣカード１は、コマンドを受信したか否かを判定する（ステップＳ１０１）。すなわち、ＩＣカード１の通信部４０は、ＵＡＲＴ４を介して、外部装置２からコマンドを受信したか否かを判定する。通信部４０は、コマンドを受信した場合（ステップＳ１０１：ＹＥＳ）に、処理をステップＳ１０２に進める。また、通信部４０は、コマンドを受信していない場合（ステップＳ１０１：ＮＯ）に、処理をステップＳ１０１に戻し、ステップＳ１０１の処理を繰り返す。
【００４０】
ステップＳ１０２において、ＩＣカード１のコマンド処理部５２は、受信したコマンドがＳＥＬＥＣＴ  ＤＡＴＡコマンドであるか否かを判定する。コマンド処理部５２は、例えば、受信したコマンド電文のうちの「ＣＬＡ」及び「ＩＮＳ」に基づいて、ＳＥＬＥＣＴ  ＤＡＴＡコマンドであるか否かを判定する。コマンド処理部５２は、受信したコマンドがＳＥＬＥＣＴ  ＤＡＴＡコマンドである場合（ステップＳ１０２：ＹＥＳ）に、処理をステップＳ１０３に進める。また、コマンド処理部５２は、受信したコマンドがＳＥＬＥＣＴ  ＤＡＴＡコマンドでない場合（ステップＳ１０２：ＮＯ）に、処理をステップＳ１０４に進める。
【００４１】
ステップＳ１０３において、コマンド処理部５２は、選択データリスト内に、選択したいＴａｇが存在するか否かを判定する。すなわち、コマンド処理部５２は、選択データリスト記憶部８３が記憶する選択データリストに基づいて、選択したいＴａｇが存在するか否かを判定する。コマンド処理部５２は、まず、検索順序記憶部７１が記憶する順序情報の順序に従って、選択データリストのうちの、選択回数が多い対応情報を優先して検索する。そして、コマンド処理部５２は、選択データリスト内に、選択したいＴａｇが存在するか否かを判定する。コマンド処理部５２は、選択したいＴａｇが存在する場合（ステップＳ１０３：ＹＥＳ）に、処理をステップＳ１０５に進める。また、コマンド処理部５２は、選択したいＴａｇが存在しない場合（ステップＳ１０３：ＮＯ）に、処理をステップＳ１０９に進める。
【００４２】
また、ステップＳ１０４において、コマンド処理部５２は、他のコマンド処理を実行する。コマンド処理部５２は、ステップＳ１０４の処理後に、処理をステップＳ１０８に進める。
【００４３】
ステップＳ１０５において、コマンド処理部５２は、Ｔａｇの先頭アドレスを用いてＴａｇを選択する。すなわち、コマンド処理部５２は、検索した選択したいＴａｇの対応情報に含まれる先頭アドレスに基づいて、Ｔａｇを選択する。
【００４４】
次に、コマンド処理部５２は、選択されたＴａｇの選択回数（回数情報）を更新する（ステップＳ１０６）。具体的に、コマンド処理部５２は、選択データリスト記憶部８３が記憶する対応情報のうちの、選択されたＴａｇに対応する対応情報に含まれている回数情報を更新する。すなわち、コマンド処理部５２は、選択されたＴａｇに対応する対応情報に含まれている回数情報の回数に“１”を加算した回数情報を記憶させる。
【００４５】
次に、コマンド処理部５２は、選択されたＴａｇの検索順序を見直す（ステップＳ１０７）。コマンド処理部５２は、選択されたＴａｇの回数情報が更新されたことにより、検索順序の入れ替えがあるか否かを判定し、入れ替えがある場合に、検索順序記憶部７１が記憶する順序情報の順序を入れ替える処理を実行する。
【００４６】
次に、コマンド処理部５２は、レスポンスを送信する（ステップＳ１０８）。コマンド処理部５２は、例えば、コマンド処理の結果情報を含むレスポンスを、通信部４０を介して、外部装置２へ送信させる。ステップＳ１０８の処理後に、コマンド処理部５２は、処理をステップＳ１０１に戻す。
【００４７】
また、ステップＳ１０９において、コマンド処理部５２は、ファイルを順次検索して、Ｔａｇを選択する。コマンド処理部５２は、図４に示すように、ＥＦ（ファイル）の先頭アドレスからＴＬＶ形式の「Ｌｅｎ」に基づいて順次検索することにより、選択したいＴａｇを選択する。
【００４８】
次に、コマンド処理部５２は、選択されたＴａｇの対応情報を追加する（ステップＳ１１０）。コマンド処理部５２は、新たに選択されたＴａｇの対応情報を、選択データリスト記憶部８３が記憶する選択データリストに追加する。すなわち、コマンド処理部５２は、図５に示すように、「リスト番号」と、「ＥＦＩＤ」と、「Ｔａｇ名」と、「選択回数」と、「Ｔａｇの先頭アドレス」とを対応付けた対応情報を記憶させる。また、コマンド処理部５２は、当該対応情報の追加に合わせて、検索順序記憶部７１が記憶する順序情報を更新する。ステップＳ１１０の処理後に、コマンド処理部５２は、処理をステップＳ１０８に進め、レスポンスを送信する。
【００４９】
次に、図８を参照して、ＳＥＬＥＣＴ  ＤＡＴＡコマンド以外のアクセス処理コマンドにおけるコマンド処理について説明する。
図８は、本実施形態のＩＣカード１のアクセス処理コマンドの処理の一例を示すフローチャートである。ここで、アクセス処理コマンドとは、例えば、選択したＴａｇにデータの書き込み、データの読み出し、又はデータの更新などの処理を実行するコマンドである。
【００５０】
図８に示すように、外部装置２とＩＣカード１とがコンタクト部３を介して接続され、ＩＣカード１が活性化された状態において、ＩＣカード１は、コマンドを受信したか否かを判定する（ステップＳ２０１）。すなわち、ＩＣカード１の通信部４０は、ＵＡＲＴ４を介して、外部装置２からコマンドを受信したか否かを判定する。通信部４０は、コマンドを受信した場合（ステップＳ２０１：ＹＥＳ）に、処理をステップＳ２０２に進める。また、通信部４０は、コマンドを受信していない場合（ステップＳ２０１：ＮＯ）に、処理をステップＳ２０１に戻し、ステップＳ２０１の処理を繰り返す。
【００５１】
ステップＳ２０２において、ＩＣカード１のコマンド処理部５２は、受信したコマンドがアクセス処理コマンドであるか否かを判定する。コマンド処理部５２は、例えば、受信したコマンド電文のうちの「ＣＬＡ」及び「ＩＮＳ」に基づいて、アクセス処理コマンドであるか否かを判定する。コマンド処理部５２は、受信したコマンドがアクセス処理コマンドである場合（ステップＳ２０２：ＹＥＳ）に、処理をステップＳ２０３に進める。また、コマンド処理部５２は、受信したコマンドがアクセス処理コマンドでない場合（ステップＳ２０２：ＮＯ）に、処理をステップＳ２０４に進める。
【００５２】
続く、ステップＳ２０３からステップＳ２０７までの処理は、上述した図７に示すステップＳ１０３からステップＳ１０７までの処理と同様であるため、ここではその説明を省略する。なお、ステップＳ２０３において、コマンド処理部５２は、選択したいＴａｇが存在しない場合（ステップＳ２０３：ＮＯ）に、処理をステップＳ２１０に進める。
また、ステップＳ２０４の処理後に、コマンド処理部５２は、処理をステップＳ２０９に進める。
【００５３】
次に、ステップＳ２０８において、コマンド処理部５２は、選択されたＴａｇに対して、アクセス処理を実行する。すなわち、コマンド処理部５２は、選択されたＴａｇに対して、データの書き込み、データの読み出し、又はデータの更新などの処理を実行する。
【００５４】
次に、コマンド処理部５２は、レスポンスを送信する（ステップＳ２０９）。コマンド処理部５２は、例えば、コマンド処理の結果情報を含むレスポンスを、通信部４０を介して、外部装置２へ送信させる。ステップＳ２０９の処理後に、コマンド処理部５２は、処理をステップＳ２０１に戻す。
【００５５】
また、ステップＳ２１０及びステップＳ２１１の処理は、上述した図７に示すステップＳ１０９及びステップＳ１１０の処理と同様であるため、ここではその説明を省略する。
ステップＳ２１１の処理後に、コマンド処理部５２は、処理をステップＳ２０８に進める。
【００５６】
以上説明したように、本実施形態によるＩＣカード１（携帯可能電子装置）は、ＡＰデータ記憶部８１（データ記憶部）と、選択データリスト記憶部８３（データリスト記憶部）と、コマンド処理部５２（処理部）とを備える。ＡＰデータ記憶部８１は、特定のデータを含むファイルを記憶する。選択データリスト記憶部８３は、過去に選択された特定のデータを識別するデータ識別情報（例えば、Ｔａｇ名）と、ＡＰデータ記憶部８１において当該特定のデータを記憶する先頭アドレスとを対応付けた対応情報を記憶する。コマンド処理部５２は、外部装置２から受信した特定のデータに対する特定の処理要求（特定のコマンド）に応じて、選択データリスト記憶部８３が記憶する対応情報を参照して、当該特定のデータに対応する先頭のアドレスを選択する。
【００５７】
これにより、本実施形態によるＩＣカード１は、過去に選択した特定のデータの対応情報を参照して、特定のデータを選択するため、特定のデータに対するアクセスに要する時間を低減することができる。また、本実施形態によるＩＣカード１は、目的の処理（例えば、アクセス処理）を行うまでに読み出すデータ量を、対応情報を利用することで必要最低限にすることができるため、機密性の向上させることができる。
【００５８】
また、本実施形態では、コマンド処理部５２は、特定の処理要求に応じて、選択データリスト記憶部８３が記憶する対応情報を検索する。そして、コマンド処理部５２は、当該特定のデータに対応する対応情報が選択データリスト記憶部８３に存在する場合に、当該特定のデータに対応する対応情報を参照して、当該特定のデータに対応する先頭アドレスを選択する。また、コマンド処理部５２は、特定のデータに対応する対応情報が選択データリスト記憶部８３に存在しない場合に、当該特定のデータに対応する対応情報を選択データリスト記憶部８３に追記させる。
これにより、本実施形態によるＩＣカード１は、選択データリスト記憶部８３が記憶する対応情報の追加、及び、対応情報に基づいた、特定のデータに対応する先頭アドレスの選択を、適切に行うことができ、特定のデータに対するアクセスに要する時間を低減することができる。
【００５９】
また、本実施形態では、選択データリスト記憶部８３は、データ識別情報と、先頭のアドレスと、特定のデータが選択された回数を示す回数情報とを対応付けた対応情報を記憶する（例えば、図５参照）。そして、コマンド処理部５２は、回数情報が示す回数が多い対応情報を優先して検索する。
これにより、本実施形態によるＩＣカード１は、アクセス頻度（選択頻度）が高いデータに対して優先して検索するため、アクセスに要する時間を効率良く低減することができる。
【００６０】
また、本実施形態では、コマンド処理部５２は、特定のデータに対応する先頭アドレスを選択した場合に、当該特定のデータに対応する回数情報を更新する。
これにより、本実施形態によるＩＣカード１は、アクセス頻度（選択頻度）が高いデータに対して、検索順位（検索順序）を高めることができる。
【００６１】
また、本実施形態では、コマンド処理部５２は、外部装置２から特定のデータに対するアクセス処理要求（例えば、アクセス処理コマンド）を受信した場合に、選択した当該特定のデータに対応する先頭アドレスに基づいて、特定のデータにアクセスする処理を実行する。
これにより、本実施形態によるＩＣカード１は、アクセス処理要求（例えば、アクセス処理コマンド）において、特定のデータに対するアクセスに要する時間を低減することができる。
【００６２】
また、本実施形態によるＩＣカード１は、ＩＣモジュール１０と、ＩＣモジュール１０が埋め込まれたカード基材ＰＴ（カード本体）とを備える。そして、ＩＣモジュール１０は、上述したＡＰデータ記憶部８１と、選択データリスト記憶部８３と、コマンド処理部５２とを備える。
これにより、本実施形態によるＩＣモジュール１０は、上述したＩＣカード１と同様の効果を奏し、特定のデータに対するアクセスに要する時間を低減することができる。
【００６３】
（第２の実施形態）
次に、図面を参照して、第２の実施形態によるＩＣカード１ａについて説明する。
図９は、第２の実施形態のＩＣカード１ａの機能構成例を示すブロック図である。
図９に示すように、ＩＣカード１ａは、通信部４０と、制御部５０と、ＡＰデータ記憶部８１と、ファイル管理情報記憶部８２と、選択データリスト記憶部８３ａと、検索順序記憶部７１とを備える。
【００６４】
なお、本実施形態によるＩＣカード１ａの外観及びハードウェア構成は、図１及び図２に示す第１の実施形態と同様であるので、ここではその説明を省略する。また、図９において、図３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【００６５】
また、図９に示されるＩＣカード１ａの各部は、図２に示されるＩＣカード１のハードウェアを用いて実現される。
本実施形態では、選択データリスト記憶部８３ａが、アプリケーションごとの複数の選択データリストを記憶する場合の一例について説明する。
【００６６】
選択データリスト記憶部８３ａ（データリスト記憶部の一例）は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。選択データリスト記憶部８３ａは、第１の実施形態と同様に、特定のデータのデータ識別情報と、当該特定のデータを記憶する先頭アドレスと、当該特定のデータの回数情報とを対応付けた対応情報を記憶する。また、選択データリスト記憶部８３ａは、アプリケーション（例えば、ＤＦ）ごとに作成されたデータリストであって、対応情報を含む選択データリストを複数記憶する。ここで、図１０を参照して、選択データリスト記憶部８３ａが記憶するデータ例について説明する。
【００６７】
図１０は、本実施形態の選択データリスト記憶部８３ａが記憶するデータ例を示す図である。
図１０に示すように、選択データリスト記憶部８３ａは、「ＤＦ名」と、「リスト番号」と、「ＥＦＩＤ」と、「Ｔａｇ名」と、「選択回数」と、「Ｔａｇの先頭アドレス」（特定のデータの先頭アドレス）とを対応付けた対応情報を記憶する。ここで、「ＤＦ名」は、アプリケーションに対応するＤＦ名であり、ＤＦ（又はアプリケーション）を識別するＡＰ識別情報である。また、「リスト番号」、「ＥＦＩＤ」、「Ｔａｇ名」、「選択回数」、及び「Ｔａｇの先頭アドレス」は、上述した第１の実施形態と同様である。
【００６８】
なお、本実施形態では、選択データリスト記憶部８３ａは、アプリケーションごとに選択データリストを記憶するため、「リスト番号」は、例えば、アプリケーションごとの対応情報の番号として、割り付けられている。
【００６９】
例えば、図１０に示す例では、「ＤＦ名」が“ＸＸＸＸ”に対応する選択データリストＬＳ１において、「リスト番号」が“１”である対応情報は、「ＥＦＩＤ」が“０００１”であり、「Ｔａｇ名」が“８１”であり、「選択回数」が“１２”であることを示している。そして、このデータの「Ｔａｇの先頭アドレス」が“３１５Ｂ８４”であることを示している。
また、「ＤＦ名」が“ＹＹＹＹ”に対応する選択データリストＬＳ２において、「リスト番号」が“１”である対応情報は、「ＥＦＩＤ」が“０００４”であり、「Ｔａｇ名」が“８４”であり、「選択回数」が“８”であることを示している。そして、このデータの「Ｔａｇの先頭アドレス」が“３１Ａ０００”であることを示している。
【００７０】
また、図１１は、本実施形態のＩＣカード１ａのファイル構成例を示す図である。
図１１に示すように、ＩＣカード１ａでは、ＡＰデータ記憶部８１及び選択データリスト記憶部８３ａにより、ＭＦ、ＤＦ、ＥＦなどのファイルが階層構造になって記憶されている。
図１１に示す例では、アプリケーションＡＰ１のＤＦの下位階層には、選択データリストＬＳ１、及び各種ＥＦが割り当てられている。また、アプリケーションＡＰ２のＤＦの下位階層には、選択データリストＬＳ２、及び各種ＥＦが割り当てられている。
このように、本実施形態では、アプリケーション（ＤＦ）ごとに、異なる選択データリストを有している。
【００７１】
なお、本実施形態では、コマンド処理部５２は、選択されたアプリケーションに応じて、選択データリストを切り替えて使用して、特定のデータに対応する先頭アドレスを選択する。例えば、図５及び図６において、「ＤＦ名」が“ＸＸＸＸ”に対応するアプリケーションＡＰ１が選択された場合には、選択データリストＬＳ１を使用して、ＳＥＬＥＣＴ  ＤＡＴＡコマンド及びアクセス処理コマンドの処理を実行する。また、「ＤＦ名」が“ＹＹＹＹ”に対応するアプリケーションＡＰ２が選択された場合には、選択データリストＬＳ２を使用して、ＳＥＬＥＣＴ  ＤＡＴＡコマンド及びアクセス処理コマンドの処理を実行する。
本実施形態によるＳＥＬＥＣＴ  ＤＡＴＡコマンド及びアクセス処理コマンドの処理は、アプリケーションごとに異なる選択データリストを使用する点を除いて、第１の実施形態と同様であるため、その説明を省略する。
【００７２】
また、本実施形態において、検索順序記憶部７１の記憶する順序情報は、アプリケーションが選択された際に、選択されたアプリケーションに対応する選択データリストに基づいて、生成及び記憶される。例えば、コマンド処理部５２は、新たにアプリケーションが選択された場合に、選択された当該アプリケーションに対応する選択データリストに基づいて、順序情報を生成し、検索順序記憶部７１に記憶させる。
【００７３】
以上説明したように、本実施形態によるＩＣカード１ａ（携帯可能電子装置）は、ＡＰデータ記憶部８１（データ記憶部）と、選択データリスト記憶部８３ａ（データリスト記憶部）と、コマンド処理部５２（処理部）とを備える。選択データリスト記憶部８３ａは、アプリケーションごとに作成された選択データリストであって、対応情報を含むデータリストを複数記憶する。コマンド処理部５２は、選択されたアプリケーションに応じて、選択データリストを切り替えて使用して、特定のデータに対応する先頭アドレスを選択する。
これにより、本実施形態によるＩＣカード１ａは、アプリケーションごとに選択データリストを備え、アプリケーションに応じて、選択データリストを切り替えて使用するため、特定のデータに対するアクセスに要する時間をさらに低減することができる。
【００７４】
上記の各実施形態において、検索順序記憶部７１は、図６に示すような「検索順序」と、「リスト番号」とを対応づけた順序情報を記憶する例を説明したが、これに限定されるものではない。例えば、検索順序記憶部７１は、選択データリスト記憶部８３（８３ａ）が記憶する選択データリストを優先度の高い順序に並べ替えた順序情報を記憶するようにしてもよい。また、検索順序記憶部７１は、「リスト番号」の代わりに、「ＥＦＩＤ」及び「Ｔａｇ名」を用いてよい。
【００７５】
また、上記の各実施形態において、選択データリスト記憶部８３（８３ａ）が、ＥＥＰＲＯＭ８により構成される例を説明したが、これに限定されるものではなく、ＲＡＭ７により構成してもよい。この場合、ＩＣカード１（１ａ）がリセットされるごとに、選択データリストが消去（クリア）され、特定のデータ（Ｔａｇ）への２回目以降のアクセスに要する時間をさらに低減することができる。
【００７６】
また、上記の各実施形態において、ＩＣカード１（１ａ）が、検索順序記憶部７１を備える例を説明したが、検索順序記憶部７１を備えない形態であってもよい。この場合、ＩＣカード１（１ａ）は、選択データリスト記憶部８３（８３ａ）の更新のたびに、回数情報が示し回数が多い順序に対応情報を並べ替えてもよい。
【００７７】
また、上記の各実施形態において、特定のコマンドとは、ＳＥＬＥＣＴ  ＤＡＴＡコマンド及びアクセス処理コマンドである例を説明したが、特定のコマンドは、ＳＥＬＥＣＴ  ＤＡＴＡコマンド及びアクセス処理コマンドのいずれか一方であってもよいし、アクセス処理コマンドは、ＩＣカード１（１ａ）が有するアクセス処理コマンドのうちの一部のコマンドであってもよい。
【００７８】
また、上記の各実施形態において、ＩＣカード１（１ａ）は、コンタクト部３を介して外部装置２と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置２と通信するように構成してもよい。
【００７９】
また、上記の各実施形態において、ＩＣカード１（１ａ）は、書き換え可能な不揮発性メモリとして、ＥＥＰＲＯＭ８を備える構成としたが、これに限定されるものではない。例えば、ＩＣカード１（１ａ）は、ＥＥＰＲＯＭ８の代わりに、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory：強誘電体メモリ）などを備えてもよい。
【００８０】
また、上記の各実施形態において、携帯可能電子装置の一例として、ＩＣカード１（１ａ）を用いる例を説明したが、これに限定されるものではない。携帯可能電子装置は、例えば、カード形状ではないＩＣタグなどの電子装置であってもよい。
【００８１】
以上説明した少なくともひとつの実施形態によれば、過去に選択された特定のデータを識別するデータ識別情報と、ＡＰデータ記憶部８１において当該特定のデータを記憶する先頭のアドレスとを対応付けた対応情報を記憶する選択データリスト記憶部８３（８３ａ）と、外部装置２から受信した特定のデータに対する特定の処理要求に応じて、選択データリスト記憶部８３が記憶する対応情報を参照して、当該特定のデータに対応する先頭のアドレスを選択するコマンド処理部５２とを持つことにより、特定のデータに対するアクセスに要する時間を低減することができる。
【００８２】
上記実施形態は、以下のように表現することができる。
特定のデータを含むファイルを記憶するデータ記憶部と、
過去に選択された前記特定のデータを識別するデータ識別情報と、前記データ記憶部において当該特定のデータを記憶する先頭のアドレスとを対応付けた対応情報を記憶するデータリスト記憶部と、
情報を記憶する記憶部と、
前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記記憶部には、前記ハードウェアプロセッサに、
外部装置から受信した前記特定のデータに対する特定の処理要求に応じて、前記データリスト記憶部が記憶する前記対応情報を参照して、当該特定のデータに対応する前記先頭のアドレスを選択する処理
を実行させる前記プログラムが格納されている、携帯可能電子装置。
【００８３】
なお、実施形態におけるＩＣカード１（１ａ）が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したＩＣカード１（１ａ）が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００８５】
１，１ａ…ＩＣカード、２…外部装置、３…コンタクト部、４…ＵＡＲＴ、５…ＣＰＵ、６…ＲＯＭ、７…ＲＡＭ、８…ＥＥＰＲＯＭ、１０‥ＩＣモジュール、４０…通信部、５０…制御部、５１…ファイル管理部、５２…コマンド処理部、７１…検索順序記憶部、８１…ＡＰデータ記憶部、８２…ファイル管理情報記憶部、８３，８３ａ…選択データリスト記憶部、１００…ＩＣチップ、ＢＳ１…内部バス、ＬＳ１，ＬＳ２…選択データリスト、ＰＴ…カード基材
【図１】
2019053557.tif 000003
【図２】
2019053557.tif 000004
【図３】
2019053557.tif 000005
【図４】
2019053557.tif 000006
【図５】
2019053557.tif 000007
【図６】
2019053557.tif 000008
【図７】
2019053557.tif 000009
【図８】
2019053557.tif 000010
【図９】
2019053557.tif 000011
【図１０】
2019053557.tif 000012
【図１１】
2019053557.tif 000013