(57)【要約】【課題】  より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供する。【解決手段】  携帯可能電子装置２は、データを格納するレコードを複数備えるレコード構造のデータを記憶する記憶部２８を有する。携帯可能電子装置２は、処理装置１より受信するレコード読出しコマンドの所定の位置のビットの並びに応じてデータフィールドが付されているか否かを判定し、データフィールドが付されていると判定した場合、データフィールドの値に応じて読み出すレコードの数を決定し、決定した数のレコードデータを前記記憶部２８から読み出す。【選択図】  図７
2010218451.tif 000002
【特許請求の範囲】
【請求項１】
携帯可能電子装置の処理装置からのコマンドに応じて処理を行う携帯可能電子装置であって、
前記処理装置とデータの送受信を行う送受信部と、
データを格納するレコードを複数備えるレコード構造のデータを記憶する記憶部と、
前記送受信部により受信するレコード読出しコマンドの所定の位置のビットの並びに応じてデータフィールドが付されているか否かを判定する判定部と、
前記判定部によりデータフィールドが付されていると判定した場合、データフィールドの値に応じて読み出すレコードの数を決定する読出レコード数決定部と、
前記読出レコード数決定部により決定した数のレコードデータを前記記憶部から読み出す読出部と、
を具備することを特徴とする携帯可能電子装置。
【請求項２】
前記記憶部は、前記各レコード毎にレコード番号を記憶し、
前記読出部は、前記レコード読出しコマンドに含まれるレコード指定情報により指定されるレコードからレコード番号の連続するレコードのレコードデータを読み出す事を特徴とする請求項１に記載の携帯可能電子装置。
【請求項３】
前記読出部は、前記レコード指定情報により指定されるレコードより少ないレコード番号が付されているレコードのレコードデータを読み出すことを特徴とする請求項２に記載の携帯可能電子装置。
【請求項４】
前記読出部は、前記レコード指定情報により指定されるレコードより多いレコード番号が付されているレコードのレコードデータを読み出すことを特徴とする請求項２に記載の携帯可能電子装置。
【請求項５】
前記読出部は、複数のデータを昇順で読み出すことを特徴とする請求項１に記載の携帯可能電子装置。
【請求項６】
前記読出部は、複数のデータを降順で読み出すことを特徴とする請求項１に記載の携帯可能電子装置。
【請求項７】
前記読出部は、カレントレコードからレコード番号の連続するレコードのレコードデータを読み出す事を特徴とする請求項２に記載の携帯可能電子装置。
【請求項８】
携帯可能電子装置の処理装置からのコマンドに応じて処理を行う携帯可能電子装置であって、
前記処理装置とデータの送受信を行う送受信部と、
データを格納するレコードを複数備えるレコード構造のデータを記憶する記憶部と、
前記送受信部により受信するレコード読出しコマンドの所定の位置のビットの並びに応じて、前記レコード読出しコマンドに含まれるレコード指定情報により指定されるレコードから先頭レコードまでの全てのレコードのレコードデータを前記記憶部から読み出す読出部と、
を具備することを特徴とする携帯可能電子装置。
【請求項９】
前記読出部は、カレントレコードから先頭レコードまでの全てのレコードのレコードデータを読み出す事を特徴とする請求項８に記載の携帯可能電子装置。
【請求項１０】
携帯可能電子装置を処理する処理装置であって、
前記携帯可能電子装置とデータの送受信を行う送受信部と、
１つのレコードを指定するレコード指定情報と、読み出すレコードの数を指定するデータフィールドと、を含み、所定の位置のビットの並びを制御したレコード読出しコマンドを生成し、前記送受信部により前記携帯可能電子装置に生成したレコード読出しコマンドを送信する制御部と、
を具備することを特徴とする携帯可能電子装置の処理装置。
【請求項１１】
携帯可能電子装置と、前記携帯可能電子装置を処理する処理装置とを備える携帯可能電子装置の処理システムであって、
前記処理装置は、
前記携帯可能電子装置とデータの送受信を行う第１の送受信部と、
１つのレコードを指定するレコード指定情報と、読み出すレコードの数を指定するデータフィールドと、を含み、所定の位置のビットの並びを制御したレコード読出しコマンドを生成し、前記送受信部により前記携帯可能電子装置に生成したレコード読出しコマンドを送信する制御部と、
を具備し、
前記携帯可能電子装置は、
前記処理装置とデータの送受信を行う第２の送受信部と、
データを格納するレコードを複数備えるレコード構造のデータを記憶し、前記各レコード毎にレコード番号を記憶する記憶部と、
前記送受信部により受信するレコード読出しコマンドの所定の位置のビットの並びに応じてデータフィールドが付されているか否かを判定する判定部と、
前記判定部によりデータフィールドが付されていると判定した場合、データフィールドの値に応じて読み出すレコードの数を決定する読出レコード数決定部と、
レコード読出しコマンドに含まれるレコード指定情報により指定されるレコードから前記読出レコード数決定部により決定した数のレコード番号の連続するレコードのレコードデータを前記記憶部から読み出す読出部と、
を具備する、
ことを特徴とする携帯可能電子装置の処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、コマンドを送受信することにより種々の処理を実現する携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムに関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵとを有している。
【０００３】
ＩＣカードは、例えば、国際標準規格ＩＳＯ／ＩＥＣ７８１６−１、２に準拠したＩＣカードである。ＩＣカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ＩＣカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【０００４】
また、ＩＣカードは、例えば、ＩＳＯ／ＩＥＣ７８１６−４で規定されるファイル構造を不揮発性メモリに有している。即ち、不揮発性メモリは、Ｍａｓｔｅｒ  Ｆｉｌｅ（ＭＦ）、Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ（ＤＦ）、及びＥｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＥＦ）などのファイルの階層構造を有している。
【０００５】
また、ＥＦは、ＩＳＯ／ＩＥＣ７８１６−４で規定される透過構造（Ｔｒａｎｓｐａｒｅｎｔ  ｓｔｒｕｃｔｕｒｅ）、固定長順編成レコード構造（Ｌｉｎｅａｒ  ｓｔｒｕｃｔｕｒｅ  ｗｉｔｈ  ｒｅｃｏｒｄｓ  ｏｆ  ｆｉｘｅｄ  ｓｉｚｅ）、可変長順編成レコード構造（Ｌｉｎｅａｒ  ｓｔｒｕｃｔｕｒｅ  ｗｉｔｈ  ｒｅｃｏｒｄｓ  ｏｆ  ｖａｒｉａｂｌｅ  ｓｉｚｅ）、固定長循環順編成レコード構造（Ｃｙｃｌｉｃ  ｓｔｒｕｃｔｕｒｅ  ｗｉｔｈ  ｒｅｃｏｒｄｓ  ｏｆ  ｆｉｘｅｄ  ｓｉｚｅ）、及びＴＬＶ構造（ＴＬＶ  ｓｔｒｕｃｔｕｒｅ）のうちのいずれかにより構成される。
【０００６】
またさらに、上記した各構造のうちのレコード構造を有するＥＦに格納されているデータの読出しを指示するＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドがＩＳＯ／ＩＥＣ７８１６−４により規定されている。このＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドにより、ＩＣカードは、「指定した１レコードのみの読出し」、「指定したレコードから最終レコードまでの全レコードの読出し」、及び、「最終レコードから指定したレコードまでの全レコードの読出し」などの処理を実行する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３３５９９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記したＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドを用いてデータの読み出しを行う場合、パラメータにより読み出し対象の１レコードを指定することができる。しかし、読み出し対象のレコードが複数存在する場合、１レコードを読み出す毎にコマンドの送受信を行う必要がある。この場合、処理効率が悪く、処理に時間がかかるという問題がある。
【０００９】
また、「指定したレコードから最終レコードまでの全レコードの読出し」、または「最終レコードから指定したレコードまでの全レコードの読出し」を行う事により複数のレコードデータを読み出す場合、必要でないデータを読み出す為、効率が悪いという問題がある。
【００１０】
例えば、買い物の利用履歴データを１００件のレコードファイルに格納する場合、全てのデータではなく、最近１０件の利用履歴などを読み出したい、という場合が考えられる。この場合、現行の規格にのみ準拠したＩＣカードの処理装置は、例えば、「指定した１レコードのみの読出し」機能を使用して、指定するレコード番号を変えながらＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドをＩＣカードに送信する。この場合、ＩＣカード及びＩＣカードの処理装置は、コマンド及びレスポンスの送受信を繰り返す必要があるという問題がある。
【００１１】
また、ＩＣカード処理装置は、「最終レコードから指定したレコードまでの全レコードの読出し」、または「指定したレコードから最終レコードまでの全レコードの読出し」機能を使用して、複数のデータを読み出し、必要なデータのみを抽出する。この場合、処理装置は、不要なデータの読み出し、及び、抽出を行う必要がある為、効率が悪いという問題がある。
【００１２】
そこで、本発明の目的は、より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明の一実施形態としての携帯可能電子装置は、携帯可能電子装置の処理装置からのコマンドに応じて処理を行う携帯可能電子装置であって、前記処理装置とデータの送受信を行う送受信部と、データを格納するレコードを複数備えるレコード構造のデータを記憶する記憶部と、前記送受信部により受信するレコード読出しコマンドの所定の位置のビットの並びに応じてデータフィールドが付されているか否かを判定する判定部と、前記判定部によりデータフィールドが付されていると判定した場合、データフィールドの値に応じて読み出すレコードの数を決定する読出レコード数決定部と、前記読出レコード数決定部により決定した数のレコードデータを前記記憶部から読み出す読出部と、を具備する。
【００１４】
また、本発明の一実施形態としての携帯可能電子装置の処理装置は、携帯可能電子装置を処理する処理装置であって、前記携帯可能電子装置とデータの送受信を行う送受信部と、１つのレコードを指定するレコード指定情報と、読み出すレコードの数を指定するデータフィールドと、を含み、所定の位置のビットの並びを制御したレコード読出しコマンドを生成し、前記送受信部により前記携帯可能電子装置に生成したレコード読出しコマンドを送信する制御部と、を具備する。
【００１５】
また、本発明の一実施形態としての携帯可能電子装置の処理システムは、携帯可能電子装置と、前記携帯可能電子装置を処理する処理装置とを備える携帯可能電子装置の処理システムであって、前記処理装置は、前記携帯可能電子装置とデータの送受信を行う第１の送受信部と、１つのレコードを指定するレコード指定情報と、読み出すレコードの数を指定するデータフィールドと、を含み、所定の位置のビットの並びを制御したレコード読出しコマンドを生成し、前記送受信部により前記携帯可能電子装置に生成したレコード読出しコマンドを送信する制御部と、を具備し、前記携帯可能電子装置は、前記処理装置とデータの送受信を行う第２の送受信部と、データを格納するレコードを複数備えるレコード構造のデータを記憶し、前記各レコード毎にレコード番号を記憶する記憶部と、前記送受信部により受信するレコード読出しコマンドの所定の位置のビットの並びに応じてデータフィールドが付されているか否かを判定する判定部と、前記判定部によりデータフィールドが付されていると判定した場合、データフィールドの値に応じて読み出すレコードの数を決定する読出レコード数決定部と、レコード読出しコマンドに含まれるレコード指定情報により指定されるレコードから前記読出レコード数決定部により決定した数のレコード番号の連続するレコードのレコードデータを前記記憶部から読み出す読出部と、を具備する。
【発明の効果】
【００１６】
この発明の一形態によれば、より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の第１の実施形態に係るＩＣカード処理システムの構成例について説明するためのブロック図である。
【図２】図２は、図１に示す端末装置の構成例について説明するためのブロック図である。
【図３】図３は、図１に示すＩＣカードの構成例について説明するためのブロック図である。
【図４】図４は、図３に示す不揮発性メモリのファイル構造について説明するための説明図である。
【図５】図５は、図４に示すＥＦ内のデータの構造について説明するための説明図である。
【図６】図６は、図５に示すレコード構造を有するデータを読み出すためのコマンドの例について説明するための説明図である。
【図７】図７は、図３に示すＩＣカードにおいて行われる処理について説明するためのフローチャートである。
【図８】図８は、本発明の第２の実施形態に係るＩＣカード処理システムにおいて端末装置からＩＣカードに送信されるコマンドの例について説明するための説明図である。
【図９】図９は、第２の実施形態に係るＩＣカードにおいて行われる処理について説明するためのフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら、本発明の一実施形態に係る携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムについて詳細に説明する。
【００１９】
図１は、本発明の第１の実施形態に係るＩＣカード処理システム１０の構成例について説明するためのブロック図である。  
図１に示すようにＩＣカード処理システム１０は、携帯可能電子装置の処理装置（端末装置）１と携帯可能電子装置（ＩＣカード）２とを備えている。端末装置１とＩＣカード２とは、互いに種々のデータの送受信を行う。
【００２０】
図２は、図１に示す端末装置の構成例について説明するためのブロック図である。図２に示すように、端末装置１は、制御部１１、ディスプレイ１２、キーボード１３、カードリーダライタ１４、及び記憶部１５などを有している。
【００２１】
制御部１１は、ＣＰＵ、ＲＯＭ、及びＲＡＭなどを備える。制御部１１は、端末装置１全体の動作を制御する。  
ディスプレイ１２は、制御部１１の制御により種々の情報を表示する。キーボード１３は、端末装置１の操作者による操作を操作信号として受け取る。
【００２２】
カードリーダライタ１４は、ＩＣカード２と通信を行うためのインターフェース装置である。カードリーダライタ１４は、ＩＣカード２に対して、電源供給、クロック供給、リセット制御、及びデータの送受信を行う。即ち、カードリーダライタ１４は、送受信部として機能する。
【００２３】
制御部１１は、カードリーダライタ１４によりＩＣカード２に対して種々のコマンドを入力する。ＩＣカード２は、例えば、カードリーダライタ１４からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【００２４】
また、制御部１１は、ＩＣカード２に読み取りコマンドを送信することにより、ＩＣカード２からデータを読み出す。制御部１１は、ＩＣカード２から受信したデータに基づいて種々の処理を行う。
【００２５】
上記のカードリーダライタ１４は、ＩＣカード２とデータの送受信を行う。例えば、カードリーダライタ１４は、接触通信によりＩＣカード２とデータの送受信を行う。この場合、カードリーダライタ１４は、ＩＣカード２のコンタクトパターンと接続するための図示しない接触端子を備えている。また、例えば、カードリーダライタ１４は、非接触通信によりＩＣカード２とデータの送受信を行う。この場合、カードリーダライタ１４は、図示しない信号処理部、送受信回路、及びアンテナなどを備えている。
【００２６】
信号処理部は、ＩＣカード２との間で送受信するデータの符号化、復号、変調、及び復調を行なう。なお、信号処理部は、所定の通信プロトコルの規格に基づいて上記の信号処理を行う。即ち、信号処理部は、送受信を行うデータに対して、通信プロトコルの規格に基づいて変調処理、及び符号化処理を行う。送受信回路は、信号処理部により変調されたデータ、及び、アンテナにより受信したデータを増幅する。
【００２７】
アンテナは、送信するデータに応じて磁界を発生させることにより、ＩＣカード２に対してデータを送信する。また、アンテナは、電磁誘導により発生した誘導電流に基づいてＩＣカード２から送信されるデータを認識する。
【００２８】
制御部１１は、上記の接触通信、または非接触通信によりＩＣカード２にコマンドを送信することにより、ＩＣカード２に種々の動作を実行させる。
【００２９】
図３は、図１に示すＩＣカード２の構成例について説明するためのブロック図である。
【００３０】
図３に示すように、ＩＣカード２は、カード状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とを備えている。ＩＣモジュール２２は、１つ又は複数のＩＣチップ２３と、通信部２４とを備える。ＩＣチップ２３と通信部２４とは、互いに接続された状態でＩＣモジュール２２に形成されている。
【００３１】
ＩＣチップ２３は、通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、及び不揮発性メモリ２８などを備えている。
【００３２】
通信部２４は、端末装置１のカードリーダライタ１４と通信を行うためのインターフェースである。通信部２４は、送受信部として機能する。  
ＣＰＵ２５は、ＩＣカード２全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、カードリーダライタ１４から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【００３３】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２の仕様に応じて組み込まれる。ＣＰＵ２５は、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００３４】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、通信部２４を介して端末装置１から受信したデータを一時的に格納する。また、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。また、ＲＡＭ２７は、カレントレコードを記憶する記憶部２７ａを備えている。ＣＰＵ２５は、最後にアクセスしたレコードの番号を記憶部２７ａに格納する。即ち、ＣＰＵ２５は、記憶部２７ａを参照することにより、最終アクセスレコードを認識する。
【００３５】
不揮発性メモリ２８は、記憶部として機能する。不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ２８は、ＩＣカード２の運用用途に応じて制御プログラム及び種々のデータを格納する。
【００３６】
たとえば、不揮発性メモリ２８には、ファイル創成により図４に示すようなファイルが生成される。
【００３７】
図４は、図３に示す不揮発性メモリ２８のファイル構造について説明するための説明図である。  
図４に示すように、不揮発性メモリ２８は、ＭＦを有している。ＭＦの下位には、ＥＦ１及びＥＦ２が置かれている。
【００３８】
ＥＦ１及びＥＦ２は、不揮発性メモリ２８に記憶されたデータをファイル単位で管理するためのファイルである。ＥＦ１は、データ１を、ＥＦ２は、データ２をそれぞれ管理する。ＥＦ１には、ＩＳＯ／ＩＥＣ７８１６規格で定義されるＳｈｏｒｔ  ＥＦ  ｉｄｅｎｔｉｆｉｅｒ（ＳＦＩ）＝１が設定されている。また、ＥＦ２には、ＳＦＩ＝２が設定されている。
【００３９】
図５は、図４に示すＥＦ内のデータの構造について説明するための説明図である。  
図５に示すように、データ１及びデータ２は、レコード構造により記録されている。本実施形態では、データ１及びデータ２は、レコード番号＝１乃至１０のレコードにより構成されると仮定して説明する。なお、データ１及びデータ２は、固定長順編成レコード構造、可変長順編成レコード構造、及び固定長循環順編成レコード構造の何れかにより構成されている。
【００４０】
図５に示すように、データを構成する複数のレコードは、それぞれレコード番号を有する。レコード番号は、連続する固有の整数である。
【００４１】
データが順編成レコード構造により構成される場合、レコード番号は、追記、または書込みした順番で付与される。すなわち、最初に生成されたレコードは、レコード番号＝１が付与される。
【００４２】
また、データが循環順編成レコード構造により構成される場合、レコード番号は、順編成レコード構造と逆の順で付与される。即ち、最後に生成されたレコードは、レコード番号＝１が付与される。また、古いレコードには、逐次生成の順番に応じたレコード番号が付与される。
【００４３】
図６は、図５に示すレコード構造を有するデータを読み出すためのコマンドの例について説明するための説明図である。
【００４４】
図６に示すＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドは、本実施形態に係るＩＣカードの処理端末がＩＣカードに対して送信するコマンドである。図６に示すように、ＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドは、クラスバイト（ＣＬＡ）、コマンド種別（ＩＮＳ）、パラメータ（Ｐ１、Ｐ２）、データフィールドの長さ（Ｌｃ）、データフィールド（ＤＡＴＡ）、及び予想されるレスポンスのデータ長（Ｌｅ）などを含む。
【００４５】
コマンドがＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドである場合、ＣＬＡは「００」（１６進数の００）であり、ＩＮＳは「Ｂ２」（１６進数のＢ２）である。
【００４６】
Ｐ１は、読み出すレコードを特定するためのレコード番号を含んでいる。Ｐ２の上位５ビットは、処理対象のＥＦの識別子（ＳＦＩ）を含んでいる。また、Ｐ２の下位３ビットは、読み出し処理の種類を特定するための情報を含んでいる。
【００４７】
現在、ＩＳＯ／ＩＥＣ７８１６−４により、Ｐ２の下位３ビットのパターンに対して各種の処理が割り当てられている。例えば、下位３ビットが「１００」である場合、ＩＣカード２は、Ｐ１で指定された１レコードを読み出す。また、例えば、下位３ビットが「１０１」である場合、ＩＣカード２は、Ｐ１で指定されたレコードから最終レコードまでを読み出す。またさらに、例えば、下位３ビットが「１１０」である場合、ＩＣカード２は、最終レコードからＰ１で指定されたレコードまでを読み出す。
【００４８】
しかし、現行の規格では、Ｐ２の下位３ビットが「１１１」である場合に行う処理が設定されていない。これを利用し、本実施形態に係るＩＣカードは、Ｐ２の下位３ビットが「１１１」であるＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドを受信した場合、指定数分のレコードを読み出す処理を行う。
【００４９】
ＩＣカード２に指定数分のレコードの読み出し処理を実行させる為に、端末装置１は、Ｐ２の下位３ビットが「１１１」の図６に示すＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドを送信する。端末装置１は、Ｐ２の下位３ビットを「１１１」にする場合、即ち、指定数分のレコードの読み出しをＩＣカード２に指示する場合、Ｌｃ及びＤＡＴＡを追加したコマンドをＩＣカード２に送信する。端末装置１は、このＬｃ及びＤＡＴＡにより、読み出すレコードの数を指定する。
【００５０】
Ｌｃは、ＤＡＴＡフィールドの長さを示す情報である。ＤＡＴＡは、読み出すレコードの数を指定する為のフィールドである。
【００５１】
ＩＣカード２は、図６に示すコマンドを受信した場合、まずＣＬＡ及びＩＮＳを解釈することにより、受信したコマンドがＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドであることを認識する。ＩＣカード２は、Ｐ２の上位５ビットにより指定されるファイル（ＥＦ）を検索し、選択する。またさらに、ＩＣカード２は、Ｐ１により指定されるレコードを選択する。
【００５２】
また、ＩＣカード２のＣＰＵ２５は、Ｐ２の下位３ビットを解釈し、処理の種別を判断する。ここで、Ｐ２の下位３ビットが「１１１」である場合、ＩＣカード２は、Ｐ２の後続にＬｃ及びＤＡＴＡが存在することを認識する。即ち、ＣＰＵ２５は、判定部として機能する。
【００５３】
ＩＣカード２は、Ｌｃに基づいて、ＤＡＴＡフィールドの長さを認識し、ＤＡＴＡの解釈を行う。ＩＣカード２のＣＰＵ２５は、ＤＡＴＡにより指定される数に基づいて、読み出すレコードの数を決定する。ＣＰＵ２５は、Ｐ１により指定されるレコードから決定した数の連続するレコード番号を有するレコードのレコードデータを読み出し、端末装置１に送信する。即ち、ＣＰＵ２５は、読出しレコード数決定部、及び読出部として機能する。
【００５４】
図６に示す例によると、Ｐ１＝５であり、ＤＡＴＡ＝３である。即ち、指定レコード＝５であり、指定数（読み出すレコードの数）＝３である。この場合、ＩＣカード２は、レコード番号＝５が付与されているレコードを始点として連続する３つのレコードを読み出す。
【００５５】
なお、指定数分のレコードを読み出す処理として、いくつかのパターンが考えられる。
【００５６】
まず、一例として、指定レコードより前の番号（少ない番号）が付与されているレコードを読み出す例が考えられる。例えば、ＩＣカード２は、Ｐ２の下位３ビットが「１１１」であった場合、Ｐ１により指定されるレコード番号から、当該レコード番号よりも前のレコード番号を持つ指定数分のレコードを読み出す。この場合、ＩＣカード２は、レコード番号＝５、４及び３が付与されているレコードのデータを読み出す。
【００５７】
また、例えばＰ１＝０である場合、ＩＣカード２は、記憶部２７ａに記憶されているレコードを指定レコードとして扱う。即ち、ＩＣカード２は、カレントレコードを始点として読出し処理を行う。例えば、カレントレコードとしてレコード番号７が記憶されている場合、レコード番号＝７、６及び５が付与されているレコードのデータを読み出す。
【００５８】
また、他の例として、指定レコードより後の番号（多い番号）が付与されているレコードを読み出す例が考えられる。例えば、ＩＣカード２は、Ｐ２の下位３ビットが「１１１」であった場合、Ｐ１により指定されるレコード番号から、当該レコード番号よりも後のレコード番号を持つ指定数分のレコードを読み出す。この場合、ＩＣカード２は、レコード番号＝５、６及び７が付与されているレコードのデータを読み出す。
【００５９】
また、例えばＰ１＝０である場合、ＩＣカード２は、記憶部２７ａに記憶されているレコードを指定レコードとして扱う。即ち、ＩＣカード２は、カレントレコードを始点として読出し処理を行う。例えば、カレントレコードとしてレコード番号７が記憶されている場合、レコード番号＝７、８及び９が付与されているレコードのデータを読み出す。
【００６０】
図７は、図３に示すＩＣカード２において行われる処理について説明するためのフローチャートである。
【００６１】
ＩＣカード２は、まず、端末装置１のカードリーダライタ１４により活性化される。この状態で、ＩＣカード２は、端末装置１から、ＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドを受信する（ステップＳ１１）。
【００６２】
ＩＣカード２のＣＰＵ２５は、受信したＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドのＰ２の上位５ビットにより指定されるファイルが存在するか否か判断する（ステップＳ１２）。ファイルが存在しない場合（ステップＳ１２、ＮＯ）、ＣＰＵ２５は、エラーレスポンス（指定ファイル無し）を端末装置１に送信する（ステップＳ１３）。
【００６３】
ファイルが存在する場合（ステップＳ１２、ＹＥＳ）、ＣＰＵ２５は、Ｐ２の下位３ビットが「１１１」であるか否かを判定する（ステップＳ１４）。Ｐ２の下位３ビットが「１１１」でない場合（ステップＳ１４、ＮＯ）、ＣＰＵ２５は、従来と同様の処理を行う（ステップＳ１５）。即ち、ＣＰＵ２５は、Ｐ２の下位３ビットのパターンに応じてＩＳＯ／ＩＥＣ７８１６−４により規定されている処理を行う。
【００６４】
Ｐ２の下位３ビットが「１１１」である場合（ステップＳ１４、ＹＥＳ）、ＣＰＵ２５は、Ｐ１により指定されるレコードを検索する（ステップＳ１６）。ＣＰＵ２５は、Ｐ１により指定されるレコードが存在するか否か判断する（ステップＳ１７）。即ち、ＣＰＵ２５は、Ｐ１に格納されているレコード番号が付与されているレコードが存在するか否か判断する。レコードが存在しない場合（ステップＳ１７、ＮＯ）、ＣＰＵ２５は、エラーレスポンス（指定レコード無し）を端末装置１に送信する（ステップＳ１３）。
【００６５】
レコードが存在する場合（ステップＳ１７、ＹＥＳ）、ＣＰＵ２５は、ＤＡＴＡフィールドの値を確認する（ステップＳ１８）。即ち、ＣＰＵ２５は、読み出すレコードの数の確認を行う。
【００６６】
ＣＰＵ２５は、Ｐ１により指定されるレコードを始点としてＤＡＴＡにより指定される数のレコードが存在するか否か判断する（ステップＳ１９）。例えば、Ｐ１＝２、ＤＡＴＡ＝３であり、指定レコードから後ろのレコードを読み出す場合、ＣＰＵ２５は、レコード番号２、３、及び４が付与されているレコードが存在するか否か判定する。また、例えば、Ｐ１＝５、ＤＡＴＡ＝３であり、指定レコードから前のレコードを読み出す場合、ＣＰＵ２５は、レコード番号５、４、及び３が付与されているレコードが存在するか否か判定する。
【００６７】
ここで、読出し対象のレコードが存在しない場合（ステップＳ１９、ＮＯ）、ＣＰＵ２５は、エラーレスポンス（指定レコード無し）を端末装置１に送信する（ステップＳ１３）。
【００６８】
読出し対象のレコードが存在する場合（ステップＳ１９、ＹＥＳ）、ＣＰＵ２５は、Ｐ１により指定されるレコードを始点として、ＤＡＴＡにより指定される数のレコードの読出しを行う。（ステップＳ２０）。即ち、ＣＰＵ２５は、Ｐ１により指定されるレコード番号から、当該レコード番号よりも前のレコード番号を持つ指定数分のレコードを読み出す、または、Ｐ１により指定されるレコード番号から、当該レコード番号よりも後のレコード番号を持つ指定数分のレコードを読み出す。
【００６９】
最後に、ＣＰＵ２５は、レスポンスを端末装置１に送信する。レスポンスメッセージは、ＤＡＴＡ、ＳＷ１、及びＳＷ２などにより構成される。ＣＰＵ２５は、読み出したデータをＤＡＴＡに格納する。ＳＷ１及びＳＷ２は、ＩＳＯ／ＩＥＣ７８１６−４により規定されるステータスである。ＣＰＵ２５は、処理結果に応じてＳＷ１及びＳＷ２を設定する。
【００７０】
上記した実施形態によると、端末装置１は、レコード構造を有するデータの複数のデータの読出しを指示する場合、ＩＣカード２に送信するＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドのＰ２の下位３ビットを「１１１」に設定し、Ｌｃ及びＤＡＴＡを付与し、ＤＡＴＡに読み出すレコードの数を設定する。ＩＣカード２は、受信したＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドのＰ２の下位３ビットが「１１１」である場合、Ｐ１により指定されるレコードを始点としてＤＡＴＡにより指定される数のレコードの読出しを行う。
【００７１】
これにより、１つのコマンドで、必要なレコードを複数読み出すことができる。この結果、より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【００７２】
上記した第１の実施形態に係る端末装置１は、読み出すレコードの数をＤＡＴＡにより指定する。また、ＩＣカード２は、Ｐ１により指定されるレコードを始点としてＤＡＴＡにより指定される数のレコードを読み出す構成として説明したが、この構成に限定されない。
【００７３】
例えば、Ｐ２の下位３ビットが「１１１」である場合にＰ１により指定されるレコードから第１レコード（先頭レコード）までのレコードを読み出す構成であってもよい。この場合においても、効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【００７４】
図８は、本発明の第２の実施形態に係るＩＣカード処理システムにおいて端末装置１からＩＣカード２に送信されるコマンドの例について説明するための説明図である。なお、端末装置１及びＩＣカード２の構成は、第１の実施形態の端末装置１及びＩＣカード２と同様である為、詳細な説明を省略する。
【００７５】
図８に示すＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドは、本実施形態に係るＩＣカード２の端末装置１がＩＣカード２に対して送信するコマンドである。図８に示すように、ＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドは、クラスバイト（ＣＬＡ）、コマンド種別（ＩＮＳ）、パラメータ（Ｐ１、Ｐ２）、及び予想されるレスポンスのデータ長（Ｌｅ）などを含む。
【００７６】
コマンドがＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドである場合、ＣＬＡは「００」（１６進数の００）であり、ＩＮＳは「Ｂ２」（１６進数のＢ２）である。
【００７７】
Ｐ１は、読み出すレコードを特定するためのレコード番号を含んでいる。Ｐ２の上位５ビットは、処理対象のＥＦの識別子（ＳＦＩ）を含んでいる。また、Ｐ２の下位３ビットは、読み出し処理の種類を特定するための情報を含んでいる。
【００７８】
本実施形態に係るＩＣカード２は、Ｐ２の下位３ビットが「１１１」であるＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドを受信した場合、Ｐ１により指定されるレコードから先頭レコードまでの全てのレコードを読み出す処理を行う。
【００７９】
ＩＣカード２に指定レコードから先頭レコードまでの読み出し処理を実行させる為に、端末装置１は、Ｐ２の下位３ビットが「１１１」である、図８に示すＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドを送信する。
【００８０】
ＩＣカード２は、図８に示すコマンドを受信した場合、まずＣＬＡ及びＩＮＳを解釈することにより、受信したコマンドがＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドであることを認識する。ＩＣカード２は、Ｐ２の上位５ビットにより指定されるファイル（ＥＦ）を検索し、選択する。またさらに、ＩＣカード２は、Ｐ１により指定されるレコードを選択する。
【００８１】
また、ＩＣカード２は、Ｐ２の下位３ビットを解釈し、処理の種別を判断する。ここで、Ｐ２の下位３ビットが「１１１」である場合、Ｐ１により指定されるレコードから先頭レコードまでの全てのレコードを読み出し、端末装置１に送信する。
【００８２】
図８に示す例によると、Ｐ１＝５である。即ち、指定レコード＝５である。この場合、ＩＣカード２は、レコード番号＝５が付与されているレコードから先頭レコード、即ち、レコード番号＝１が付与されているレコードまでの全てのレコードを読み出す。この場合、ＩＣカード２は、レコード番号＝５、４、３、２、及び１が付与されているレコードのデータを読み出す。
【００８３】
また、例えばＰ１＝０である場合、ＩＣカード２は、記憶部２７ａに記憶されているレコードを指定レコードとして扱う。即ち、ＩＣカード２は、カレントレコードを始点として読出し処理を行う。例えば、カレントレコードとしてレコード番号７が記憶されている場合、ＩＣカード２は、レコード番号＝７、６、５、４、３、２、及び１が付与されているレコードのデータを読み出す。
【００８４】
図９は、第２の実施形態に係るＩＣカード２において行われる処理について説明するためのフローチャートである。
【００８５】
ＩＣカード２は、まず、端末装置１のカードリーダライタ１４により活性化される。この状態で、ＩＣカード２は、端末装置１から、ＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドを受信する（ステップＳ２１）。
【００８６】
ＩＣカード２のＣＰＵ２５は、受信したＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドのＰ２の上位５ビットにより指定されるファイルが存在するか否か判断する（ステップＳ２２）。ファイルが存在しない場合（ステップＳ２２、ＮＯ）、ＣＰＵ２５は、エラーレスポンス（指定ファイル無し）を端末装置１に送信する（ステップＳ２３）。
【００８７】
ファイルが存在する場合（ステップＳ２２、ＹＥＳ）、ＣＰＵ２５は、Ｐ２の下位３ビットが「１１１」であるか否かを判定する（ステップＳ２４）。Ｐ２の下位３ビットが「１１１」でない場合（ステップＳ２４、ＮＯ）、ＣＰＵ２５は、従来と同様の処理を行う（ステップＳ２５）。即ち、ＣＰＵ２５は、Ｐ２の下位３ビットのパターンに応じてＩＳＯ／ＩＥＣ７８１６−４により規定されている処理を行う。
【００８８】
Ｐ２の下位３ビットが「１１１」である場合（ステップＳ２４、ＹＥＳ）、ＣＰＵ２５は、Ｐ１により指定されるレコードを検索する（ステップＳ２６）。ＣＰＵ２５は、Ｐ１により指定されるレコードが存在するか否か判断する（ステップＳ２７）。即ち、ＣＰＵ２５は、Ｐ１に格納されているレコード番号が付与されているレコードが存在するか否か判断する。レコードが存在しない場合（ステップＳ２７、ＮＯ）、ＣＰＵ２５は、エラーレスポンス（指定レコード無し）を端末装置１に送信する（ステップＳ２３）。
【００８９】
レコードが存在する場合（ステップＳ２７、ＹＥＳ）、ＣＰＵ２５は、Ｐ１により指定されるレコードから先頭レコードまでの全てのレコードの読出しを行う。（ステップＳ２８）。
【００９０】
上記した実施形態によると、端末装置１は、レコード構造を有するデータの複数のデータの読出しを指示する場合、ＩＣカード２に送信するＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドのＰ２の下位３ビットを「１１１」に設定する。ＩＣカード２は、受信したＲＥＡＤ  ＲＥＣＯＲＤ（Ｓ）コマンドのＰ２の下位３ビットが「１１１」である場合、Ｐ１により指定されるレコードから先頭レコードまでの全てのレコードの読出しを行う。
【００９１】
これにより、１つのコマンドで、必要なレコードを複数読み出すことができる。特に、例えば、買い物の利用履歴データを１００件のレコードファイルに格納する場合、本実施形態により最近１０件の利用履歴のみを読み出すことができる。即ち、必要最低限のレコードデータのみを、効率的に読み出すことが可能となる。この結果、より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【００９２】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【００９３】
なお、上記した実施形態におけるコマンドのフォーマットは一例であり、上記実施形態以外の形に変更することも可能である。
【００９４】
また、複数のレコードデータの読み出し順を昇順と降順とで変更できるように構成してもよい。ＩＣカード２は、昇順で読み出す場合、レコード番号の少ないレコードから多いレコードの順番でレコードデータを読み出す。例えば、レコード番号＝３、４、５、及び６のレコードデータを昇順で読み出す場合、ＩＣカード２は、レコード番号＝３、４、５、及び６の順に読み出す。
【００９５】
また、ＩＣカード２は、降順で読み出す場合、レコード番号の多いレコードから少ないレコードの順番でレコードデータを読み出す。例えば、レコード番号＝３、４、５、及び６のレコードデータを降順で読み出す場合、ＩＣカード２は、レコード番号＝６、５、４、及び３の順に読み出す。
【符号の説明】
【００９６】
１…端末装置、２…ＩＣカード、１０…ＩＣカード処理システム、１１…制御部、１２…ディスプレイ、１３…キーボード、１４…カードリーダライタ、１５…記憶部、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…通信部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２７ａ…記憶部、２８…不揮発性メモリ。
【図１】
2010218451.tif 000003
【図２】
2010218451.tif 000004
【図３】
2010218451.tif 000005
【図４】
2010218451.tif 000006
【図５】
2010218451.tif 000007
【図６】
2010218451.tif 000008
【図７】
2010218451.tif 000009
【図８】
2010218451.tif 000010
【図９】
2010218451.tif 000011