(57)【要約】【課題】  より簡易で且つ高速に処理を行うことができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供する。【解決手段】  一実施形態に係る携帯可能電子装置は、レコード構造でレコードデータを記憶する記憶部と、外部機器から送信されたコマンドを受信する受信部と、前記受信部により受信された前記コマンドを解析し、比較対象データを取得する解析部と、前記解析部により取得された前記比較対象データに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する抽出部と、前記抽出部の結果に基づいて、前記コマンドに対するレスポンスを生成するコマンド処理部と、前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、を具備する。【選択図】      図２
2012194698.tif 000002
【特許請求の範囲】
【請求項１】
レコード構造でレコードデータを記憶する記憶部と、
外部機器から送信されたコマンドを受信する受信部と、
前記受信部により受信された前記コマンドを解析し、比較対象データを取得する解析部と、
前記解析部により取得された前記比較対象データに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する抽出部と、
前記抽出部の結果に基づいて、前記コマンドに対するレスポンスを生成するコマンド処理部と、
前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、
を具備する携帯可能電子装置。
【請求項２】
前記解析部は、前記コマンドに基づいて、抽出条件を取得し、
前記抽出部は、前記抽出条件と前記比較対象データとに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する、
請求項１に記載の携帯可能電子装置。
【請求項３】
前記解析部は、前記コマンドに基づいて前記レコードデータの中から比較に用いる参照データを特定し、
前記抽出部は、特定された前記参照データと前記比較対象データとを比較し、比較結果が前記抽出条件を満たす場合、前記参照データを含む前記レコードデータを抽出する、
請求項２に記載の携帯可能電子装置。
【請求項４】
前記抽出部は、一致、小なり、大なり、以下、及び以上のうちのいずれかの抽出条件に基づいて、前記レコードデータを抽出する請求項３に記載の携帯可能電子装置。
【請求項５】
前記コマンド処理部は、前記抽出部により抽出された前記レコードデータのデータ本体、レコード番号、またはレコードデータの件数のいずれかに基づいて、前記コマンドに対するレスポンスを生成する、請求項２に記載の携帯可能電子装置。
【請求項６】
前記コマンド処理部は、前記解析部による前記コマンドの解析結果に基づいて、前記外部機器に送信するレスポンスの生成に用いる抽出対象を前記データ本体、前記レコード番号と、及び前記レコードデータの件数から判断する、請求項５に記載の携帯可能電子装置。
【請求項７】
前記抽出部は、前記解析部により複数の前記抽出条件が取得された場合、複数の前記抽出条件の論理和、または論理積に基づいて、前記レコードデータを抽出する、
請求項２に記載の携帯可能電子装置。
【請求項８】
前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載の携帯可能電子装置。
【請求項９】
携帯可能電子装置を処理する携帯可能電子装置の処理装置であって、
比較対象データを含むコマンドを生成するコマンド生成部と、
前記コマンド生成部により生成された前記コマンドを前記携帯可能電子装置に送信する送信部と、
前記携帯可能電子装置から送信されたレスポンスを受信する受信部と、
を具備する携帯可能電子装置の処理装置。
【請求項１０】
携帯可能電子装置と、前記携帯可能電子装置を処理する携帯可能電子装置の処理装置とを備える携帯可能電子装置処理システムであって、
前記処理装置は、
比較対象データを含むコマンドを生成するコマンド生成部と、
前記コマンド生成部により生成された前記コマンドを前記携帯可能電子装置に送信する第１の送信部と、
前記携帯可能電子装置から送信されたレスポンスを受信する第１の受信部と、
を具備し、
前記携帯可能電子装置は、
レコード構造でレコードデータを記憶する記憶部と、
前記処理装置から送信されたコマンドを受信する第２の受信部と、
前記第２の受信部により受信された前記コマンドを解析し、比較対象データを取得する解析部と、
前記解析部により取得された前記比較対象データに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する抽出部と、
前記抽出部の結果に基づいて、前記コマンドに対するレスポンスを生成するコマンド処理部と、
前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する第２の送信部と、
を具備する携帯可能電子装置処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムに関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵとを有している。
【０００３】
ＩＣカードは、例えば、国際標準規格ＩＳＯ／ＩＥＣ７８１６に準拠したＩＣカードである。ＩＣカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ＩＣカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【０００４】
ＩＣカードは、ＩＣカードを処理する処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ＩＣカードは、種々の機能を実現することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３５７１８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＩＣカードは、例えば、アプリケーションなどに用いられるデータなどをレコード構造で不揮発性メモリに記憶する。レコード構造で記憶されているデータ（レコードデータ）を読み出す場合、処理装置は、例えば、レコード番号（またはレコード識別子）を指定することにより、レコードデータを読み出す。また、処理装置は、例えば、全てのレコードを指定し、レコードデータを読み出す。
【０００７】
また、ＩＣカードにより記憶されているレコードデータのうち、所定の条件に当てはまるデータの件数を確認する場合、処理装置は、全てのレコードを読出し、条件に一致するデータを含むレコードの数を確認する必要がある。この為、コマンドの発行回数及び処理時間などが増加し、処理端末による処理が複雑化するという課題がある。
【０００８】
そこで、より簡易で且つ高速に処理を行うことができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一実施形態に係る携帯可能電子装置は、レコード構造でレコードデータを記憶する記憶部と、外部機器から送信されたコマンドを受信する受信部と、前記受信部により受信された前記コマンドを解析し、比較対象データを取得する解析部と、前記解析部により取得された前記比較対象データに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する抽出部と、前記抽出部の結果に基づいて、前記コマンドに対するレスポンスを生成するコマンド処理部と、前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、を具備する。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係るＩＣカード処理システムの構成例について説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードの構成例について説明するための図である。
【図３】図３は、一実施形態に係るレコードデータの例について説明するための図である。
【図４】図４は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図５】図５は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図６】図６は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図７】図７は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図８】図８は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図９】図９は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図１０】図１０は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図１１】図１１は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、一実施形態に係る携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムについて詳細に説明する。
【００１２】
本実施形態に係る携帯可能電子装置（ＩＣカード）２０及びＩＣカードを処理する処理装置（端末装置）１０は、例えば、接触通信、及び／または非接触通信の機能を備える。これにより、ＩＣカード２０及び端末装置１０は、互いにデータの送受信を行うことができる。
【００１３】
図１は、一実施形態に係るＩＣカード処理システム１の構成例を示す。  
ＩＣカード処理システム１は、ＩＣカード２０を処理する端末装置１０と、ＩＣカード２０と、を備える。
【００１４】
端末装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７、ディスプレイ１８、及び電源部１９を備える。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７、及びディスプレイ１８は、それぞれバスを介して互いに接続されている。
【００１５】
ＣＰＵ１１は、端末装置１０全体の制御を司る制御部として機能する。ＣＰＵ１１は、ＲＯＭ１２又は不揮発性メモリ１４に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ１１は、カードリーダライタ１５を介してＩＣカード２０とコマンド及びレスポンスの送受信を行う。
【００１６】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１３は、カードリーダライタ１５を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを一時的に格納する。
【００１７】
不揮発性メモリ１４は、例えばＥＥＰＲＯＭ、ＦＲＡＭなどを備える。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【００１８】
カードリーダライタ１５は、ＩＣカード２０と通信を行うためのインターフェース装置である。カードリーダライタ１５は、接触通信、または非接触通信によりＩＣカード２０とデータの送受信を行う。
【００１９】
接触通信のインターフェースとして用いられる場合、カードリーダライタ１５は、ＩＣカード２０が装着されるスロットと、ＩＣカード２０が備えるコンタクトパターンと接続される複数の接触端子を備える。
【００２０】
スロットにＩＣカード２０が装着される場合、カードリーダライタ１５の複数の接触端子は、ＩＣカード２０のコンタクトパターンに接続される。これにより、端末装置１０とＩＣカード２０とは電気的に接続される。カードリーダライタ１５は、スロットに装着されるＩＣカード２０に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
【００２１】
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ１５は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
【００２２】
カードリーダライタ１５は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ１５は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置１０は、通信可能範囲に存在するＩＣカード２０に対してデータを非接触で送信することができる。
【００２３】
さらに、カードリーダライタ１５のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ１５は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置１０は、ＩＣカード２０から送信された元のデータを取得することができる。
【００２４】
操作部１７は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。操作部１７は、生成した操作信号をＣＰＵに入力する。これにより、ＣＰＵ１１は、操作者により入力された操作に基づいて処理を実行することができる。
【００２５】
ディスプレイ１８は、ＣＰＵ１１、または図示されないグラフィックコントローラなどの表示処理モジュールから入力される映像を表示するための信号に基づいて種々の情報を表示する。
【００２６】
電源部１９は、端末装置１０の各部に電力を供給する。電源部１９は、例えば、商用電源より電力を受け取り、所定の電圧に変換し、端末装置１０の各部に供給する。
【００２７】
図２は、一実施形態に係るＩＣカード２０の構成例を示す。  
図２に示すように、ＩＣカード２０は、例えば、矩形状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とを備える。ＩＣモジュール２２は、ＩＣチップ２３と、通信部２４とを備える。ＩＣチップ２３と通信部２４とは、互いに接続された状態でＩＣモジュール２２内に形成されている。
【００２８】
なお、本体２１は、少なくとも通信部２４が配設されるＩＣモジュール２２を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【００２９】
ＩＣチップ２３は、通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、電源部３１、及びロジック部３２などを備える。通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、電源部３１、及びロジック部３２は、バスを介して互いに接続されている。
【００３０】
通信部２４は、端末装置（外部機器）１０のカードリーダライタ１５と通信を行うためのインターフェースである。通信部２４は、接触通信、または非接触通信により、端末装置１０とデータの送受信を行う。
【００３１】
接触通信のインターフェースとして用いられる場合、通信部２４は、カードリーダライタ１５の接触端子と接続されるコンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりＩＣモジュール２２の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置１０と接触可能に形成されている。
【００３２】
コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれ端子として機能する。通信部２４は、コンタクトパターンを介してカードリーダライタ１５とデータの送受信を行うことができる。
【００３３】
また、非接触通信のインターフェースとして用いられる場合、通信部２４は、信号処理部とアンテナとを備える。
【００３４】
信号処理部は、端末装置１０に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置１０に送信するデータの変調（増幅）を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
【００３５】
アンテナは、例えば、ＩＣモジュール２２内に所定の形状で配設される金属線により構成される。ＩＣカード２０は、端末装置１０に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ＩＣカード２０は、端末装置１０に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置１０から送信されるデータを認識する。
【００３６】
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信部２４は、２値の論理データを取得する。通信部２４は、解析したデータをバスを介してＣＰＵ２５に送信する。
【００３７】
ＣＰＵ２５は、ＩＣカード２０全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置１０から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【００３８】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００３９】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、通信部２４を介して端末装置１０から受信したデータを一時的に格納する。またＲＡＭ２７は、通信部２４を介して端末装置１０に送信するデータを一時的に格納する。またさらに、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。
【００４０】
不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリを備える。不揮発性メモリ２８は、ＩＣカード２０の運用用途に応じて制御プログラム及び種々のデータを格納する。
【００４１】
たとえば、不揮発性メモリ２８では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００４２】
電源部３１は、端末装置１０の各部に電力を供給する。ＩＣカード２０が接触通信を行う構成を備える場合、電源部３１は、通信部２４のコンタクトパターンを介してカードリーダライタ１５から供給される電力をＩＣカード２０の各部に供給する。
【００４３】
また、ＩＣカード２０が非接触通信を行う構成を備える場合、カードリーダライタ１５のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部３１は、動作クロックを生成する。電源部３１は、発生させた電力及び動作クロックをＩＣカード２０の各部に電力を供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００４４】
ロジック部３２は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部３２は、端末装置１０からのコマンドに基づいて、暗号化、復号、及び乱数の生成などの処理を行う。例えば、端末装置１０から相互認証コマンドを受信する場合、ロジック部３２は、乱数を生成し、生成した乱数をＣＰＵ２５に伝送する。
【００４５】
また、不揮発性メモリ２８は、レコード構造でデータを記憶する記憶部２８ａを備えている。記憶部２８ａは、例えば、図３により示されるデータを記憶する。例えば、ＩＣカード２０がＩＣ旅券として用いられる場合、図３により示されるように、記憶部２８ａは、レコード構造で出入国情報を記憶する。
【００４６】
レコード構造には、固定長順編成構造、可変長順編成構造、または固定長循環順編成構造などの種類が存在する。レコード構造で記憶されるデータは、少なくとも、レコード番号（レコード識別子）と、データの本体とを有する。
【００４７】
図３に示される例では、記憶部２８ａは、Ｔａｇ  Ｌｅｎｇｔｈ  Ｖａｌｕｅ（ＴＬＶ）構造のデータをデータの本体として記憶している。即ち、記憶部２８ａは、レコード番号、データ種別（Ｔａｇ）、データの長さ（Ｌｅｎｇｔｈ）、及びデータ値（Ｖａｌｕｅ）を記憶する。
【００４８】
ＴＬＶデータオブジェクトのＴａｇは、ＩＣカード２０のＣＰＵ２５にＴＬＶデータオブジェクトを識別させる為の情報である。Ｌｅｎｇｔｈは、ＴＬＶデータオブジェクトのＶａｌｕｅのデータ長を示す情報である。Ｖａｌｕｅは、ＴＬＶデータオブジェクトのデータ本体である。
【００４９】
出入国情報を記憶する場合、記憶部２８ａは、Ｖａｌｕｅとして、入出を示す情報（入出情報）、国コード（国記号）、場所コード、及び登録日付を記憶する。
【００５０】
入出情報は、１ｂｙｔｅのデータである。例えば、入出情報の論理値が「０」である場合、入出情報は、入国を示す。また、入出情報の論理値が「１」である場合、入出情報は、出国を示す。
【００５１】
国記号は、３ｂｙｔｅのデータである。国記号は、例えば、国際標準規格ＩＳＯ／ＩＥＣ３１６６−２により規定される国コードを示す。
【００５２】
場所コードは、３ｂｙｔｅのデータである。場所コードは、例えば、「成田」、「羽田」などの場所を示す情報が各国毎にコード化されたものである。なお、本実施形態では、場所コードについて具体的な値を示さない。
【００５３】
登録日付は、８ｂｙｔｅのデータである。登録日付は、当該出入国情報がＩＣカード２０の不揮発性メモリ２８に書き込まれた時刻を示すタイムスタンプである。登録日付は、例えば「ｙｙｙｙｍｍｄｄ」の形式で書き込まれる。
【００５４】
図３に示される例によると、レコード番号が「０１」であるレコードには、入出情報として「１」＝出国、国記号として「３９２」＝日本、場所コードとして「ｘｘｘ」、登録日付として「２００９１２２２」が記録されている。
【００５５】
また、端末装置１０は、入出情報の値と、「入国」及び「出国」とが対応付けられたテーブルを予め備える。また、端末装置１０は、国記号の値と、国名を示す情報とが対応付けられたテーブルを予め備える。また、端末装置１０は、場所コードの値と、場所を示す情報とが対応付けられたテーブルを予め備える。またさらに、端末装置１０は、登録日付の値に基づいて、出入国情報が記録された時刻を特定する為の手法（またはテーブル）を予め備える。
【００５６】
端末装置１０は、ＩＣカード２０からレコードを読み出した場合、読み出した各情報の値に基づいて、予め記憶している各テーブルを参照することにより、入出情報、国名、場所名、及び登録日付を特定することができる。
【００５７】
さらに、端末装置１０は、図４に示されるコマンドをＩＣカード２０に送信することにより、所定の条件に当てはまるレコードの件数、レコード番号、及び／またはデータをＩＣカード２０から読み出すことが出来る。
【００５８】
図４に示されるコマンドは、「ＣＬＡ」３０１、「ＩＮＳ」３０２、「Ｐ１」３０３、「Ｐ２」３０４、「Ｌｃ」３０５、「Ｄａｔａ」３０６、及び「Ｌｅ」３０７を有する。
【００５９】
「ＣＬＡ」３０１は、コマンドの層別を示すｃｌａｓｓ  ｂｙｔｅである。「ＩＮＳ」３０２は、コマンドの種別を示すｉｎｓｔｒｕｃｔｉｏｎ  ｂｙｔｅである。「Ｐ１」３０３及び「Ｐ２」３０４は、「ＩＮＳ」３０２に応じたパラメータを示すｐａｒａｍｅｔｅｒ  ｂｙｔｅである。
【００６０】
「Ｌｃ」３０５は、「Ｄａｔａ」３０６のデータの長さ（バイト数）を示すｌｅｎｇｔｈ  ｆｉｅｌｄ  ｆｏｒ  ｃｏｒｄｉｎｇ  ｎｕｍｂｅｒ  Ｎｃである。「Ｄａｔａ」３０６は、当該コマンドのデータ本体を示すｃｏｍｍａｎｄ  ｄａｔａ  ｆｉｅｌｄである。「Ｌｅ」３０７は、当該コマンドに対するレスポンスのデータ長を示すｌｅｎｇｔｈ  ｆｉｅｌｄ  ｆｏｒ  ｃｏｒｄｉｎｇ  ｎｕｍｂｅｒ  Ｎｅである。
【００６１】
さらに、「Ｄａｔａ」３０６は、図５に示されるように、複数のＴＬＶデータオブジェクトを含む。
【００６２】
図５は、「Ｄａｔａ」３０６に含まれるデータを示す。図５に示されるように、「Ｄａｔａ」３０６は、Ｔａｇ４０１、Ｌｅｎ４０２、抽出対象４０３、Ｔａｇ４０４、Ｌｅｎ４０５、抽出条件４０６、Ｔａｇ４０７、Ｌｅｎ４０８、オフセット４０９、Ｔａｇ４１０、Ｌｅｎ４１１、比較対象データレングス４１２、Ｔａｇ４１３、Ｌｅｎ４１４、及び比較対象データ４１５を含む。
【００６３】
即ち、「Ｄａｔａ」３０６は、抽出対象４０３を含むＴＬＶデータオブジェクト、抽出条件４０６を含むＴＬＶデータオブジェクト、オフセット４０９を含むＴＬＶデータオブジェクト、比較対象データレングス４１２を含むＴＬＶデータオブジェクト、及び比較対象データ４１５を含むＴＬＶデータオブジェクトを有する。なお、抽出対象４０３、抽出条件４０６、オフセット４０９、比較対象データレングス４１２、及び比較対象データ４１５がそれぞれ固定長である場合、「Ｄａｔａ」３０６は、ＴＬＶデータオブジェクトのＶａｌｕｅのみを含む構成であってもよい。
【００６４】
抽出対象４０３は、例えば、件数、データ、またはレコード番号などの、抽出する対象を示す情報である。
【００６５】
抽出条件４０６は、例えば、比較対象データ４１５と一致、比較対象データ４１５より小さい、比較対象データ４１５より大きい、比較対象データ４１５以下、または比較対象データ４１５以上などの、抽出条件を示す情報である。
【００６６】
オフセット４０９、比較対象データ４１５と比較するデータの位置を示す情報である。例えば、オフセット４０９は、レコードの先頭からのバイト数、または、レコードのＶａｌｕｅの先頭からのバイト数などを示す。
【００６７】
比較対象データレングス４１２は、比較対象と比較するデータ長（バイト数）を示す情報である。
【００６８】
比較対象データ４１５は、ＩＣカード２０のレコードのデータと比較する為の対象データである。
【００６９】
即ち、ＩＣカード２０は、オフセット４０９により示される位置から、比較対象データレングス４１２により示されるバイト数のデータを参照データとして特定し、参照データと比較対象データ４１５と比較する。さらに、ＩＣカード２０は、抽出対象４０３、及び抽出条件４０６が示す対象及び条件に基づいて、情報の抽出を行う。
【００７０】
なお、端末装置１０及びＩＣカード２０は、図６に示されるテーブルに基づいて、抽出対象４０３及び抽出条件４０６の生成及び解析を行う。
【００７１】
例えば、抽出条件に当てはまるレコードのデータ全てを読み出す場合、端末装置１０は、抽出対象４０３として「０」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の抽出対象４０３が「０」である場合、当該コマンドが、抽出条件に当てはまるレコードのデータ全てを読み出すことを指示するコマンドであると認識する。
【００７２】
また、例えば、抽出条件に当てはまるレコードの番号を読み出す場合、端末装置１０は、抽出対象４０３として「１」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の抽出対象４０３が「１」である場合、当該コマンドが、抽出条件に当てはまるレコードの番号を読み出すことを指示するコマンドであると認識する。
【００７３】
また、例えば、抽出条件に当てはまるレコードの件数を読み出す場合、端末装置１０は、抽出対象４０３として「２」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の抽出対象４０３が「２」である場合、当該コマンドが、抽出条件に当てはまるレコードの件数を読み出すことを指示するコマンドであると認識する。
【００７４】
また、比較対象データ４１５と一致する参照データを含むレコードを抽出する場合、端末装置１０は、抽出条件４０６として「０」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の抽出条件４０６が「０」である場合、当該コマンドの比較対象データ４１５と一致する参照データを含むレコードを抽出する。
【００７５】
また、比較対象データ４１５より小さい参照データを含むレコードを抽出する場合、端末装置１０は、抽出条件４０６として「１」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の抽出条件４０６が「１」である場合、当該コマンドの比較対象データ４１５より小さい参照データを含むレコードを抽出する。
【００７６】
また、比較対象データ４１５より大きい参照データを含むレコードを抽出する場合、端末装置１０は、抽出条件４０６として「２」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の抽出条件４０６が「２」である場合、当該コマンドの比較対象データ４１５より大きい参照データを含むレコードを抽出する。
【００７７】
また、比較対象データ４１５以下の参照データを含むレコードを抽出する場合、端末装置１０は、抽出条件４０６として「３」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の抽出条件４０６が「３」である場合、当該コマンドの比較対象データ４１５以下の参照データを含むレコードを抽出する。
【００７８】
また、比較対象データ４１５以上の参照データを含むレコードを抽出する場合、端末装置１０は、抽出条件４０６として「４」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の抽出条件４０６が「４」である場合、当該コマンドの比較対象データ４１５以上の参照データを含むレコードを抽出する。
【００７９】
即ち、ＩＣカード２０は、参照データと比較対象データとを比較し、比較結果が抽出条件を満たす場合、参照データを含むレコードデータを抽出する。この場合、ＩＣカード２０は、一致、小なり、大なり、以下、及び以上のうちのいずれかの抽出条件に基づいて、レコードデータを抽出する。
【００８０】
図７乃至図１０は、ＩＣカード２０が受信するコマンドの例を示す。  
例えば、図７に示されるコマンドは、「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」、「Ｐ２」、「Ｌｃ」、「Ｄａｔａ」、及び「Ｌｅ」を有する。また、この「Ｄａｔａ」は、抽出対象７０１、抽出条件７０２、オフセット７０３、比較対象データレングス７０４、及び比較対象データ７０５を含む。図７に示される例では、抽出対象７０１が「０」であり、抽出条件７０２が「２」であり、オフセット７０３が「８」であり、比較対象データレングス７０４が「６」であり、比較対象データ７０５が「２０１００８」である。
【００８１】
図７に示されるコマンドを受信する場合、ＩＣカード２０は、各レコードの８バイト目から６バイトのデータを参照データとして特定する。さらに、ＩＣカード２０は、比較対象データ＝「２０１００８」より大きい参照データを含むレコードを全て読みだし、読み出したレコードデータをデータ本体としてレスポンスを生成する。さらに、ＩＣカード２０は、生成したレスポンスを端末装置１０に送信する。即ち、ＩＣカード２０は、２０１０年９月以降に記録された出入国情報を端末装置１０に送信する。
【００８２】
また、例えば、図８に示されるコマンドは、「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」、「Ｐ２」、「Ｌｃ」、「Ｄａｔａ」、及び「Ｌｅ」を有する。また、この「Ｄａｔａ」は、抽出対象８０１、抽出条件８０２、オフセット８０３、比較対象データレングス８０４、及び比較対象データ８０５を含む。図８に示される例では、抽出対象８０１が「１」であり、抽出条件８０２が「０」であり、オフセット８０３が「１」であり、比較対象データレングス８０４が「１」であり、比較対象データ８０５が「１」である。
【００８３】
図８に示されるコマンドを受信する場合、ＩＣカード２０は、各レコードの１バイト目から１バイトのデータを参照データとして特定する。さらに、ＩＣカード２０は、比較対象データ＝「１」と一致する参照データを含むレコードのレコード番号を読みだし、読み出したレコード番号をデータ本体としてレスポンスを生成する。さらに、ＩＣカード２０は、生成したレスポンスを端末装置１０に送信する。即ち、ＩＣカード２０は、入出情報が出国である出入国情報のレコード番号を端末装置１０に送信する。
【００８４】
また、例えば、図９に示されるコマンドは、「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」、「Ｐ２」、「Ｌｃ」、「Ｄａｔａ」、及び「Ｌｅ」を有する。また、この「Ｄａｔａ」は、抽出対象９０１、抽出条件９０２、オフセット９０３、比較対象データレングス９０４、及び比較対象データ９０５を含む。図９に示される例では、抽出対象９０１が「２」であり、抽出条件９０２が「０」であり、オフセット９０３が「１」であり、比較対象データレングス９０４が「４」であり、比較対象データ９０５が「０５２８」である。
【００８５】
図９に示されるコマンドを受信する場合、ＩＣカード２０は、各レコードの１バイト目から４バイトのデータを参照データとして特定する。さらに、ＩＣカード２０は、比較対象データ＝「０５２８」と一致する参照データを含むレコードの件数を読みだし、読み出したレコードの件数をデータ本体としてレスポンスを生成する。さらに、ＩＣカード２０は、生成したレスポンスを端末装置１０に送信する。即ち、ＩＣカード２０は、入出情報が「０」＝入国であり、国記号が「５２８」＝オランダである出入国情報の件数を端末装置１０に送信する。これにより、ＩＣカード２０は、オランダに入国した回数を端末装置１０に通知することが出来る。
【００８６】
また、例えば、図１０に示されるコマンドは、「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」、「Ｐ２」、「Ｌｃ」、「Ｄａｔａ」、及び「Ｌｅ」を有する。また、この「Ｄａｔａ」は、抽出対象１００１、抽出条件１００２、オフセット１００３、比較対象データレングス１００４、比較対象データ１００５、抽出条件１００６、オフセット１００７、比較対象データレングス１００８、及び比較対象データ１００９を含む。このように、複数の抽出条件がコマンドに含まれていても良い。
【００８７】
図１０に示される例では、抽出対象１００１が「２」であり、抽出条件１００２が「０」であり、オフセット１００３が「１」であり、比較対象データレングス１００４が「４」であり、比較対象データ１００５が「０５２８」であり、抽出条件１００６が「２」であり、オフセット１００７が「８」であり、比較対象データレングス１００８が「４」であり、比較対象データ１００９が「２０１０」である。
【００８８】
図１０に示されるコマンドを受信する場合、ＩＣカード２０は、各レコードの１バイト目から４バイトのデータを第１の参照データとして特定する。また、ＩＣカード２０は、各レコードの８バイト目から４バイトのデータを第２の参照データとして特定する。
【００８９】
さらに、ＩＣカード２０は、比較対象データ＝「０５２８」と一致する第１の参照データを含むレコードを抽出する。さらに、ＩＣカード２０は、抽出したレコードのうち、比較対象データ＝「２０１０」より大きい第２の参照データを含むレコードの件数を読みだし、読み出したレコードの件数をデータ本体としてレスポンスを生成する。さらに、ＩＣカード２０は、生成したレスポンスを端末装置１０に送信する。
【００９０】
これにより、ＩＣカード２０は、２０１１年以降にオランダに入国した回数を端末装置１０に通知することが出来る。
【００９１】
図１１は、ＩＣカード２０の処理の例を示す。  
まず、端末装置１０は、抽出対象、抽出条件、及び比較対照データを決定し、図４及び図５に示されるようなコマンドを生成する。端末装置１０は、生成したコマンドをＩＣカード２０に送信する。
【００９２】
ＩＣカード２０は、端末装置１０から送信されたコマンドを受信する（ステップＳ１１）。  次に、ＩＣカード２０は、受信したコマンドの解析を行う（ステップＳ１２）。これにより、ＩＣカード２０は、コマンドにより指定される抽出対象、抽出条件、オフセット、比較対照データレングス、及び比較対照データを認識する。
【００９３】
さらに、ＩＣカード２０は、初期化処理を行う（ステップＳ１３）。即ち、ＩＣカード２０は、ＲＡＭ２７（バッファ）のクリア、及び、抽出されたレコードが書き込まれるバッファ上のアドレス（抽出レコードアドレス）を登録する。
【００９４】
次に、ＩＣカード２０は、レコードデータを参照する不揮発性メモリ２８上のアドレス（参照レコードアドレス）を登録する（ステップＳ１４）。この場合、ＩＣカード２０は、あるレコードの先頭のレコードを参照するように参照レコードアドレスを登録する。例えば、コマンドによりＥＦなどのファイルが指定されている場合、ＩＣカード２０は、コマンドにより指定されたファイルの中の先頭のレコードを参照するように参照レコードアドレスを登録する。
【００９５】
なお、具体的には、参照レコードアドレス及び抽出レコードアドレスは、ＲＡＭ２７、または不揮発性メモリ２８上に記憶されることにより登録される。
【００９６】
ＩＣカード２０は、オフセット、及び比較対象データレングスに基づいて、参照データを特定する（ステップＳ１５）。即ち、ＩＣカード２０は、参照レコードアドレスが示すレコードの先頭からオフセットが示す位置から比較対象データレングスが示す長さのデータを参照データと特定する。
【００９７】
ＩＣカード２０は、参照データが、抽出条件に該当するか否かを判断する（ステップＳ１６）。即ち、ＩＣカード２０は、参照データと比較対象データとの関係が、抽出条件を満たすか否かを判断する。
【００９８】
例えば、抽出条件が「０」である場合、ＩＣカード２０は、比較対象データと参照データとが一致するか否かを判断する。抽出条件が「１」である場合、ＩＣカード２０は、参照データが比較対象データより小さいか否かを判断する。抽出条件が「２」である場合、ＩＣカード２０は、参照データが比較対象データより大きいか否かを判断する。抽出条件が「３」である場合、ＩＣカード２０は、参照データが比較対象データ以下であるか否かを判断する。抽出条件が「４」である場合、ＩＣカード２０は、参照データが比較対象データ以上であるか否かを判断する。
【００９９】
参照データが抽出条件を満たすと判断した場合、ＩＣカード２０は、参照しているレコードのデータをバッファにコピーする（ステップＳ１７）。即ち、ＩＣカード２０は、参照レコードアドレスにより示されるレコードデータを、ＲＡＭ２７上の抽出レコードアドレスにより示される位置にコピーする。この場合、ＩＣカード２０は、抽出レコードアドレスをレコード１つ分進める。また、参照データが抽出条件を満たさないと判断した場合、ＩＣカード２０は、処理を行わずにステップＳ１８に移行する。
【０１００】
ＩＣカード２０は、後続のレコードが存在するか否か判断する。（ステップＳ１８）。後続のレコードが存在すると判断した場合、ＩＣカード２０は、参照レコードアドレスをレコード１つ分進める（ステップＳ１９）。即ち、ＩＣカード２０は、次のレコードを参照するように参照レコードアドレスを更新する。ＩＣカード２０は、レコードの数だけステップＳ１５乃至ステップＳ１９の処理を繰り返し行う。
【０１０１】
後続のレコードが存在しないと判断した場合、ＩＣカード２０は、次の抽出条件が存在するか否か判断する（ステップＳ２０）。即ち、ＩＣカード２０は、コマンドを受信した際に認識した抽出条件のうち、上記のステップＳ１５乃至ステップＳ１９の処理に用いられていない抽出条件が存在するか否か判断する。次の抽出条件が存在すると判断した場合、ＩＣカード２０は、ステップＳ１４に移行し、次の抽出条件に基づいて、ステップＳ１４乃至ステップＳ１９の処理を行う。
【０１０２】
次の抽出条件が存在しないと判断した場合、ＩＣカード２０は、抽出対象を確認する（ステップＳ２１）。即ち、ＩＣカード２０は、受信したコマンドの抽出対象の値に基づいて、レコードデータ自体、レコードの番号、及びレコードの件数のうちのどれを抽出するのかを判断する。
【０１０３】
レコードデータ自体を抽出する場合、即ち、抽出対象の値が「０」である場合、ＩＣカード２０は、ＲＡＭ２７にコピーしたレコードデータに基づいてレスポンスを生成する（ステップＳ２２）。即ち、ＩＣカード２０は、ＲＡＭ２７により記憶されているレコードデータ自体をレスポンスのデータ本体としてレスポンスを生成する。
【０１０４】
また、レコード番号を抽出する場合、即ち、抽出対象の値が「１」である場合、ＩＣカード２０は、ＲＡＭ２７にコピーしたレコードのレコード番号に基づいてレスポンスを生成する（ステップＳ２３）。即ち、ＩＣカード２０は、ＲＡＭ２７により記憶されているレコードのレコード番号をレスポンスのデータ本体としてレスポンスを生成する。
【０１０５】
レコードの件数を抽出する場合、即ち、抽出対象の値が「２」である場合、ＩＣカード２０は、ＲＡＭ２７にコピーしたレコードの件数に基づいてレスポンスを生成する（ステップＳ２４）。即ち、ＩＣカード２０は、ＲＡＭ２７により記憶されているレコードの件数をカウントし、件数をレスポンスのデータ本体としてレスポンスを生成する。
【０１０６】
ＩＣカード２０は、生成したレスポンスを端末装置１０に送信する（ステップＳ２５）。これにより、ＩＣカード２０は、端末装置１０により指定される条件に適合したレコードのレコードデータ、レコード番号、またはレコードの件数を端末装置１０に伝送することができる。
【０１０７】
この構成によると、端末装置１０は、ＩＣカード２０に記憶されているレコードデータを読み出すことなく条件に適合するレコードを探すことができる。これにより、コマンドの発行回数及び処理時間などを抑えることができ、端末装置１０の処理を簡易化することができる。この結果、より簡易で且つ高速に処理を行うことができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供することができる。
【０１０８】
なお、上記の実施形態では、出入国情報は、入出情報、国記号、場所コード、及び登録日付を有する構成として説明したが、この構成に限定されない。出入国情報は、如何なる情報であってもよい。さらに、レコード構造で記憶されているレコードデータは、出入国情報に限られるものではなく、如何なるものであっても、上記の実施形態を実施することができる。
【０１０９】
また、上記の実施形態では、端末装置１０からＩＣカード２０に送信されるコマンドは、抽出対象、抽出条件、オフセット、比較対象データレングス、及び比較対象データを備える構成として説明したが、この構成に限定されない。抽出対象、抽出条件、及び参照データの位置がＩＣカード２０に予め設定されている場合、端末装置１０は、少なくとも比較対象データを含むコマンドをＩＣカード２０に送信すればよい。この場合、ＩＣカード２０は、受信したコマンドの比較対象データと、予め設定される抽出対象、抽出条件、及び参照データとに基づいて、抽出処理を行うことができる。
【０１１０】
また、上記の実施形態では、端末装置１０からＩＣカード２０に送信されるコマンドが、複数の抽出条件を含む例について説明したが、ＩＣカード２０は、複数の抽出条件のＡＮＤ（論理積）に基づいて抽出処理を行う構成であっても、ＯＲ（論理和）に基づいて抽出処理を行う構成であってもよい。
【０１１１】
また、上記の実施形態では、端末装置１０からＩＣカード２０に送信されるコマンドが、複数の抽出条件を含む例について説明したが、上記の実施形態に限定されない。例えば、コマンドは、それぞれ１つの抽出対象、抽出条件、オフセット、及び比較対象データレングスと、複数の比較対象データとを含む構成であってもよい。この場合、ＩＣカード２０は、例えば、２つの比較対象データのいずれかと一致する参照データを含むレコードを同時に抽出することができる。
【０１１２】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【０１１３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１１４】
１…ＩＣカード処理システム、１０…端末装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…不揮発性メモリ、１５…カードリーダライタ、１７…操作部、１８…ディスプレイ、１９…電源部、２０…ＩＣカード、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…通信部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２８…不揮発性メモリ、２８ａ…記憶部、３１…電源部。
【図１】
2012194698.tif 000003
【図２】
2012194698.tif 000004
【図３】
2012194698.tif 000005
【図４】
2012194698.tif 000006
【図５】
2012194698.tif 000007
【図６】
2012194698.tif 000008
【図７】
2012194698.tif 000009
【図８】
2012194698.tif 000010
【図９】
2012194698.tif 000011
【図１０】
2012194698.tif 000012
【図１１】
2012194698.tif 000013