(57)【要約】【課題】電子情報記憶媒体と外部機器を含む通信システムであって、電子情報記憶媒体における情報が記録された複数のレコードのうち、当該情報として検索ワードを含むレコードの高速な検索を実現可能とする通信システム等を提供する。【解決手段】電子情報記憶媒体は、レコードにおける範囲を特定するための特定情報を含む読み出しコマンドを外部機器から受信し、特定情報に基づいて、複数のレコードのそれぞれにおける前記範囲に記録されている情報を連結した出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データを生成して、外部機器に送信する。【選択図】図３
2019128903.tif 000002
【特許請求の範囲】
【請求項１】
電子情報記憶媒体と外部機器を含む通信システムであって、
前記電子情報記憶媒体は、
情報が記録されている複数のレコードを記憶する記憶手段と、
前記レコードにおける範囲を特定するための特定情報を含む読み出しコマンドを前記外部機器から受信する第１受信手段と、
前記第１受信手段が受信した前記読み出しコマンドに含まれる前記特定情報に基づいて、前記複数のレコードのそれぞれにおける前記範囲に記録されている情報を連結した出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データを生成する生成手段と、
前記生成手段が生成した出力データを前記外部機器に送信する第１送信手段と、
を備え、
前記外部機器は、
前記読み出しコマンドを前記電子情報記憶媒体に送信する第２送信手段と、
前記出力データを前記電子情報記憶媒体から受信する第２受信手段と、
を備えることを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記外部機器は、
前記出力データに基づいて、検索ワードが何れのレコードの情報として記録されているかを特定する特定手段を、
更に備えることを特徴とする通信システム。
【請求項３】
請求項２に記載の通信システムであって、
前記特定情報は、前記範囲の開始位置及び終了位置を特定するための情報であり、
前記生成手段は、前記複数のレコードのそれぞれにおける前記開始位置から終了位置に記録された情報を、当該複数のレコードの並び順に従って連結した前記出力データを生成し、
前記特定手段は、前記出力データにおける検索ワードの位置と、前記開始位置から前記終了位置までの長さに基づいて、前記検索ワードが記録されたレコードが前記並び順の何れの位置のレコードかを特定することを特徴とする通信システム。
【請求項４】
請求項２に記載の通信システムであって、
前記複数のレコードには、前記検索ワードの検索対象である情報の開始位置を示す開始位置データと終了位置を示す終了位置データが記録されており、
前記特定情報は、前記開始位置データと前記終了位置データを示す情報であり、
前記生成手段は、前記複数のレコードのそれぞれにおける前記開始位置データと前記終了位置データの間に記録されている情報を、当該複数のレコードの並び順に従って、それぞれの当該情報間に区切り位置データを付加して連結した前記出力データを生成し、
前記特定手段は、前記出力データにおける検索ワードの位置と、前記区切り位置データに基づいて、前記検索ワードが記録されたレコードが前記並び順の何れの位置のレコードかを特定することを特徴とする通信システム。
【請求項５】
請求項４に記載の通信システムであって、
前記区切り位置データは、前記開始位置データ又は前記終了位置データであることを特徴とする通信システム。
【請求項６】
請求項２乃至５の何れか一項に記載の通信システムであって、
前記第１受信手段は、前記特定手段が特定したレコードを示すレコード識別情報を含む読み出しコマンドを前記外部機器から更に受信し、
前記第１送信手段は、前記レコード識別情報の示すレコードを前記外部機器に更に送信し、
前記第２送信手段は、前記レコード識別情報を含む読み出しコマンドを前記電子情報記憶媒体に更に送信し、
前記第２受信手段は、前記第１送信手段が送信したレコードを前記電子情報記憶媒体から更に受信することを特徴とする通信システム。
【請求項７】
情報が記録されている複数のレコードを記憶する記憶手段を備える電子情報記憶媒体と外部機器を含む通信システムによる通信方法であって、
前記電子情報記憶媒体が、前記レコードにおける範囲を特定するための特定情報を含む読み出しコマンドを前記外部機器から受信する第１受信工程と、
前記電子情報記憶媒体が、前記第１受信工程により受信した前記読み出しコマンドに含まれる前記特定情報に基づいて、前記複数のレコードのそれぞれにおける前記範囲に記録されている情報を連結した出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データを生成する生成工程と、
前記電子情報記憶媒体が、前記生成工程により生成した出力データを前記外部機器に送信する第１送信工程と、
前記外部機器が、前記読み出しコマンドを前記電子情報記憶媒体に送信する第２送信工程と、
前記外部機器が、前記出力データを前記電子情報記憶媒体から受信する第２受信工程と、
を含むことを特徴とする通信方法。
【請求項８】
情報が記録されている複数のレコードを記憶する記憶手段と、
前記レコードにおける範囲を特定するための特定情報を含む読み出しコマンドを外部機器から受信する受信手段と、
前記受信手段が受信した前記読み出しコマンドに含まれる前記特定情報に基づいて、前記複数のレコードのそれぞれにおける前記範囲に記録されている情報を連結した出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データを生成する生成手段と、
前記生成手段が生成した出力データを前記外部機器に送信する送信手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項９】
請求項８に記載の電子情報記憶媒体を備えるＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
ＩＣ（Integrated Circuit）チップ等の電子情報記憶媒体の技術分野に関する。
【背景技術】
【０００２】
特許文献１には、外部機器が、ＩＣチップの記憶部に記憶された異なるＥＦ（Elementary File）内の異なるレコードを、一括読み出しする技術が開示されている。当該技術によれば、ＩＣチップのファイルアクセスにおける全体の処理時間を短縮することができる。
【０００３】
ところで、ＩＣチップのファイルシステムはＭＦ（Master File）、ＤＦ（Dedicated File）、ＥＦによって構成される。ＥＦがレコード編成ファイルであった場合には、一又は複数の種類の情報が記録された複数のレコードがそのＥＦの配下に配置される。特許文献１の技術のように、外部機器がＩＣチップの記憶部に記憶されたレコードを読み出す場合、予め必要な情報が記録されているレコードを把握した上で読み出すこととなる。
【０００４】
国際規格ＩＳＯ／ＩＥＣ  ７８１６−４には、レコード編成ファイル内のレコードの中から、検索ワードを含むレコードを検索するレコード検索コマンドが定義されている。ＩＣチップは、外部機器からレコード検索コマンドを受信すると、コマンドで指定された検索ワードが記録されているレコードのレコード番号を外部機器に返信する。
【０００５】
なお、レコード検索コマンドでは、指定したレコード番号から前方のレコード番号又は後方のレコード番号のレコードを検索するオプションがある。これにより検索するレコードの範囲を限定でき、検索時間を短縮することができる。このオプションは、外部機器が、予め検索データが記録されているレコードのレコード番号の範囲を把握している場合に有効である。
【０００６】
また、レコード検索コマンドの拡張機能として、（１）各レコード内で始めに出現する特定の値より後ろの範囲を検索する機能、（２）各レコード内で先頭から指定したデータ長より後ろの範囲を検索する機能がある。当該拡張機能は、検索ワードがレコードの先頭に記録されておらず、且つ、外部機器が、検索ワードが記録されている位置より前にある特定の値や、検索ワードが記録されている位置が先頭から少なくともどれだけ後方にあるかを把握している場合に有効な機能である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−９５８７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、拡張機能を活用することができる条件が満たされているケースは稀である。例えば、ファイルが電話帳ファイルである場合、各レコードには先頭から氏名情報、電話番号情報、住所情報・・・といった順で複数種類の情報が記録されているのが一般的であり、検索ワードが氏名情報であることがほとんどである。つまり、検索対象である氏名情報がレコードの先頭に記録されていることが少なくなく、上述した拡張機能を活用できるケースが少ない。
【０００９】
また、近年、ＩＣチップに搭載されるメモリの大容量化に伴って、レコードのサイズは長くなり、レコード数も増加傾向にある。一方、ＩＣチップに搭載されるＣＰＵの処理速度は、パーソナルコンピュータや携帯端末に搭載されるＣＰＵと比較して一般に低速であるため、検索処理に掛かる処理時間が長くなってきている。
【００１０】
こうした事情に鑑み、本発明は、電子情報記憶媒体と外部機器を含む通信システムであって、電子情報記憶媒体における情報が記録された複数のレコードのうち、当該情報として検索ワードを含むレコードの高速な検索を実現可能とする通信システム等を提供することを課題とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、請求項１に記載の発明は、電子情報記憶媒体と外部機器を含む通信システムであって、前記電子情報記憶媒体は、情報が記録されている複数のレコードを記憶する記憶手段と、前記レコードにおける範囲を特定するための特定情報を含む読み出しコマンドを前記外部機器から受信する第１受信手段と、前記第１受信手段が受信した前記読み出しコマンドに含まれる前記特定情報に基づいて、前記複数のレコードのそれぞれにおける前記範囲に記録されている情報を連結した出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データを生成する生成手段と、前記生成手段が生成した出力データを前記外部機器に送信する第１送信手段と、を備え、前記外部機器は、前記読み出しコマンドを前記電子情報記憶媒体に送信する第２送信手段と、前記出力データを前記電子情報記憶媒体から受信する第２受信手段と、を備えることを特徴とする。
【００１２】
請求項２に記載の発明は、請求項１に記載の通信システムであって、前記外部機器は、前記出力データに基づいて、検索ワードが何れのレコードの情報として記録されているかを特定する特定手段を、更に備えることを特徴とする。
【００１３】
請求項３に記載の発明は、請求項２に記載の通信システムであって、前記特定情報は、前記範囲の開始位置及び終了位置を特定するための情報であり、前記生成手段は、前記複数のレコードのそれぞれにおける前記開始位置から終了位置に記録された情報を、当該複数のレコードの並び順に従って連結した前記出力データを生成し、前記特定手段は、前記出力データにおける検索ワードの位置と、前記開始位置から前記終了位置までの長さに基づいて、前記検索ワードが記録されたレコードが前記並び順の何れの位置のレコードかを特定することを特徴とする。
【００１４】
請求項４に記載の発明は、請求項２に記載の通信システムであって、前記複数のレコードには、前記検索ワードの検索対象である情報の開始位置を示す開始位置データと終了位置を示す終了位置データが記録されており、前記特定情報は、前記開始位置データと前記終了位置データを示す情報であり、前記生成手段は、前記複数のレコードのそれぞれにおける前記開始位置データと前記終了位置データの間に記録されている情報を、当該複数のレコードの並び順に従って、それぞれの当該情報間に区切り位置データを付加して連結した前記出力データを生成し、前記特定手段は、前記出力データにおける検索ワードの位置と、前記区切り位置データに基づいて、前記検索ワードが記録されたレコードが前記並び順の何れの位置のレコードかを特定することを特徴とする。
【００１５】
請求項５に記載の発明は、請求項４に記載の通信システムであって、前記区切り位置データは、前記開始位置データ又は前記終了位置データであることを特徴とする。
【００１６】
請求項６に記載の発明は、請求項２乃至５の何れか一項に記載の通信システムであって、前記第１受信手段は、前記特定手段が特定したレコードを示すレコード識別情報を含む読み出しコマンドを前記外部機器から更に受信し、前記第１送信手段は、前記レコード識別情報の示すレコードを前記外部機器に更に送信し、前記第２送信手段は、前記レコード識別情報を含む読み出しコマンドを前記電子情報記憶媒体に更に送信し、前記第２受信手段は、前記第１送信手段が送信したレコードを前記電子情報記憶媒体から更に受信することを特徴とする。
【００１７】
請求項７に記載の発明は、情報が記録されている複数のレコードを記憶する記憶手段を備える電子情報記憶媒体と外部機器を含む通信システムによる通信方法であって、前記電子情報記憶媒体が、前記レコードにおける範囲を特定するための特定情報を含む読み出しコマンドを前記外部機器から受信する第１受信工程と、前記電子情報記憶媒体が、前記第１受信工程により受信した前記読み出しコマンドに含まれる前記特定情報に基づいて、前記複数のレコードのそれぞれにおける前記範囲に記録されている情報を連結した出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データを生成する生成工程と、前記電子情報記憶媒体が、前記生成工程により生成した出力データを前記外部機器に送信する第１送信工程と、前記外部機器が、前記読み出しコマンドを前記電子情報記憶媒体に送信する第２送信工程と、前記外部機器が、前記出力データを前記電子情報記憶媒体から受信する第２受信工程と、を含むことを特徴とする。
【００１８】
請求項８に記載の発明は、情報が記録されている複数のレコードを記憶する記憶手段と、前記レコードにおける範囲を特定するための特定情報を含む読み出しコマンドを外部機器から受信する受信手段と、前記受信手段が受信した前記読み出しコマンドに含まれる前記特定情報に基づいて、前記複数のレコードのそれぞれにおける前記範囲に記録されている情報を連結した出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データを生成する生成手段と、前記生成手段が生成した出力データを前記外部機器に送信する送信手段と、を備えることを特徴とする。
【００１９】
請求項９に記載の発明は、請求項８に記載の電子情報記憶媒体を備えるＩＣカードである。
【発明の効果】
【００２０】
本発明によれば、複数のレコードのそれぞれにおける外部機器により指定された範囲の情報が連結された出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データが電子情報記憶媒体から外部機器に送信されることから、外部機器は出力データに基づいて、指定した範囲の情報として検索ワードを含むレコードを特定することができる。すなわち、指定した範囲の情報が連結された出力データに対して、電子情報記憶媒体のＣＰＵより処理速度が速い外部機器に搭載されるＣＰＵにより検索を行うことが可能となり、レコードの高速な検索を実現できる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係る携帯端末１のハードウェア構成例を示す図である。
【図２】本実施形態に係るＵＩＭカード２に搭載されるＩＣチップＣのハードウェア構成例を示す図である。
【図３】（Ａ）は、固定長方式のレコードを含むファイルに対する一部読み出しコマンドの構成例を示す図であり、（Ｂ）は、電話帳ファイルに含まれる固定長方式のレコードの一例であり、（Ｃ）は、出力データの例である。
【図４】（Ａ）は、可変長方式のレコードを含むファイルに対する一部読み出しコマンドの構成例を示す図であり、（Ｂ）は、電話帳ファイルに含まれる可変長方式のレコードの一例であり、（Ｃ）は、出力データの例である。
【図５】本実施形態に係るＩＣチップＣによる一部読み出しコマンド受信時処理の一例を示すフローチャートである。
【図６】変形例１における出力データの例である。
【図７】変形例２における出力データの例である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、スマートフォン等の携帯端末と、当該携帯端末に挿入されたＵＩＭカードに搭載されるＩＣチップに対して本発明を適用した場合の実施の形態である。携帯端末とＩＣチップは互いにデータ通信を行う通信システムとして機能する。
【００２３】
［１．携帯端末１の構成］
図１は、本実施形態に係る携帯端末１の概要構成例を示すブロック図である。図１に示すように、携帯端末１は、制御部１１、記憶部１２、無線通信部１３、表示部１４、入力部１５、ＣＬＦインターフェース１６ａ、ＩＣカードインターフェース１６ｂ及びＣＬＦ１８等を備えて構成され、これらの構成要素はバス１７を介して相互に接続される。また、携帯端末１にはＵＩＭカード２が挿入されており、ＩＣカードインターフェース１６ｂ及びＣＬＦ１８と接続されている。なお、携帯端末１は、例えば携帯電話機やスマートフォン、タブレット端末等である。
【００２４】
制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、及びＲＡＭ（Random Access Memory）等により構成される。記憶部１２は、例えばフラッシュメモリ等の不揮発性メモリにより構成される。上記ＲＯＭまたは記憶部１２には、汎用ＯＳ（Operating System）及びミドルウェアが記憶される。また、記憶部１２には、携帯端末１にインストールされたＡＰＩ（Application Program Interface）及びサービスアプリ等が記憶される。ＡＰＩは、アプリケーションソフトウェアからオペレーティングシステムの機能を利用するためのインターフェースである。アプリケーションソフトウェアは、例えば所定のサーバからダウンロード可能なプログラムである。
【００２５】
無線通信部１３は、アンテナを有し、移動体通信網における基地局との間で行われる無線通信や、無線ＬＡＮルータとの間で行われる無線通信を制御する。表示部１４は、例えばタッチパネル方式の表示パネルを有し、表示パネルへの表示制御、及び利用者Ｕからの操作指示の受け付けを行う。入力部１５は、利用者Ｕからの操作指示を入力するための操作ボタンを有し、操作ボタンに応じた信号を制御部１１に出力する。ＣＬＦインターフェースは、制御部１１とＣＬＦ１８との間のインターフェースを担い、ＩＣカードインターフェース１６ｂは、制御部１１とＵＩＭカード２との間のインターフェースを担う。
【００２６】
ＵＩＭカード２は、ＵＩＣＣ（Universal Integrated Circuit）の一つであり、例えば、従来のＳＩＭ（Subscriber Identity Module）をベースに機能を拡張された接触型ＩＣチップを搭載する。
【００２７】
ＣＬＦ１８は、ＮＦＣ（Near field communication）の規格で規定される非接触通信を行う非接触型ＩＣチップであり、非接触通信のフィールド内で読取装置（図示せず）との間で各種信号の送受信を行うためのアンテナに接続されている。そして、利用者が携帯端末１を読取装置に翳すと、読取装置から送信されたコマンドを、インターフェイス（図示せず）を介してＵＩＭカード２へ送信し、ＵＩＭカード２から送信された、コマンドに対する応答を読取装置に返すようになっている。なお、ＣＬＦ１８は、携帯端末１のＯＳにより操作可能になっている。
【００２８】
［２．ＩＣチップＣの構成］
図２は、本実施形態に係るＵＩＭカード２に搭載されるＩＣチップＣの概要構成例を示すブロック図である。図２に示すように、ＩＣチップＣは、ＣＰＵ２１、ＲＡＭ２２、フラッシュメモリ２３及びＩ／Ｏ回路２４等を備え、これらの構成要素はバス２５を介して相互に接続される。
【００２９】
ＲＡＭ２２には、例えばＯＳ、ミドルウェア、各種アプリケーションが機能するうえで一時的に必要となるデータが記憶される。
【００３０】
フラッシュメモリ２３は、例えばＮＯＲ型フラッシュメモリであって、ＯＳ、ミドルウェア及びアプリケーション等を記憶する。また、フラッシュメモリ２３のファイルシステムはＭＦ、ＤＦ、ＥＦによって構成される。
【００３１】
Ｉ／Ｏ回路２４は、ＩＳＯ７８１６等によって定められた、Ｃ１〜Ｃ８の８個の接続端子を有する。ここで、Ｃ１端子は電源端子（ＶＣＣ）であり、Ｃ５端子はグランド端子（ＧＮＤ）である。また、Ｃ２端子は、リセット端子（ＲＳＴ）であり、Ｃ３端子は、クロック端子（ＣＬＫ）である。また、Ｃ７端子は、ＣＰＵ２１と制御部１１との間の通信のために用いられる。また、Ｃ６端子は、ＣＰＵ２１とＣＬＦ１８との間の通信のために用いられる。なお、ＣＰＵ２１とＣＬＦ１８間の通信プロトコルには、ＳＷＰ（Single Wire Protocol）が適用される。
【００３２】
［３．レコード編成ファイル］
フラッシュメモリ２３のファイル（例えば、ＥＦ）の一部はレコード編成ファイルであり、複数のレコードにより構成されている。各レコードには、複数種類の情報が記録されている。レコードに情報を記録する方式には２通りあり、（Ａ）それぞれの種類の情報の長さを固定長として記録する方式（固定長方式）と、（Ｂ）それぞれの種類の情報を区分データを用いて区分し、情報の長さを可変長とする方式（可変長方式）である。（Ａ）の固定長方式では、それぞれの種類の情報を、レコードの何れの範囲にあるかによって区別する。（Ｂ）の可変長方式では、それぞれの種類の情報を、区分データで区分されたいくつ目の情報かによって区別する。なお、同一のファイルに含まれるレコードの記録方式は同一である。
【００３３】
［４．レコードの一部読み出し（ＲＥＡＤ）コマンド］
本実施形態の携帯端末１とＩＣチップＣは、レコードの一部読み出し（ＲＥＡＤ）コマンド（以下、「一部読み出しコマンド」という場合がある）に基づいて特徴的な動作を行う。すなわち、ＩＣチップＣのＣＰＵ２１は、携帯端末１から一部読み出しコマンドを受信すると、事前に選択されたレコード編成ファイルにおける各レコードの所定の種類の情報を連結した出力データを携帯端末１に返信する。具体的な処理については、事前に選択されたファイルに含まれるレコードの記録方式が（Ａ）の固定長方式又は（Ｂ）の可変長方式の何れであるかによって異なる。以下、図３及び図４を用いてそれぞれについて具体的に説明する。
【００３４】
［５．固定長方式］
図３（Ａ）は、固定長方式のレコードを含むファイルに対する一部読み出しコマンドの構成例を示す図であり、図３（Ｂ）は、電話帳ファイルに含まれる固定長方式のレコードの一例であり、図３（Ｃ）は、図３（Ａ）の一部読み出しコマンドに基づいて、図３（Ｂ）のレコードから編集した出力データの例である。
【００３５】
図３（Ａ）に示すように、一部読み出しコマンドは、「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」、「Ｐ２」からなるヘッダ部と、「Ｌｃ」、「データ」からなるボディ部により構成される。一部読み出しコマンドの「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」には、「００ｈ」、「ＢＥｈ」、「００ｈ」が格納される。また、「Ｐ２」には「００ｈ」が格納される。なお、「Ｐ２」は、出力データの元となるレコードの記録方式が固定長方式であるか、又は、可変長方式であるかによって異なり、固定長方式である場合に「００ｈ」が格納され、可変長方式である場合に「０１ｈ」が格納される。「Ｌｃ」はデータのサイズを示す「０２ｈ」が格納される。「データ」には、「０Ｃｈ」と「１５ｈ」が格納される。なお、「データ」は、各レコードから抽出する情報の開始位置と終了位置を示している。すなわち、図３（Ａ）の一部読み出しコマンドは、図３（Ｂ）に示す各レコードにおける「０Ｃｈ」から「１５ｈ」に記録されている情報（「氏名」情報）を連結した出力データの返信を要求するコマンドである。
【００３６】
図３（Ｂ）は、電話帳ファイルのレコードの一例を示しており、各レコードは、「電話番号」情報（開始位置：「０１ｈ」、終了位置「０Ｂｈ」）、「氏名」情報（開始位置：「０Ｃｈ」、終了位置「１５ｈ」）、「郵便番号」情報（開始位置：「１６ｈ」、終了位置「１Ｃｈ」）、「住所」情報（開始位置：「１Ｄｈ」、終了位置「３６ｈ」）により構成されている。なお、レコード番号は、レコードの並び順を示している。
【００３７】
ＣＰＵ２１は、図３（Ａ）の一部読み出しコマンドを受信すると、図３（Ｃ）に示すように、図３（Ｂ）に示すレコード番号「００１」のレコードにおける開始位置と終了位置で特定される範囲に記録されている「氏名」情報、レコード番号「００２」のレコードにおける開始位置と終了位置で特定される範囲に記録されている「氏名」情報、レコード番号「００３」のレコードにおける開始位置と終了位置で特定される範囲に記録されている「氏名」情報を連結した出力ファイルを生成する。なお、各レコードの「氏名」情報を連結する際、レコード番号順に連結する。これは、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能とするためである。また、ＣＰＵ２１は、情報を連結する際、情報内のブランクを含めたまま連結する。これは、携帯端末１が、出力ファイルにおける情報を何番目のレコードの情報かを情報のデータ長に基づいて区別するためである。
【００３８】
［６．可変長方式］
図４（Ａ）は、可変長方式のレコードを含むファイルに対する一部読み出しコマンドの構成例を示す例図であり、図４（Ｂ）は、電話帳ファイルに含まれる可変長方式のレコードの一例であり、図４（Ｃ）は、図４（Ａ）の一部読み出しコマンドに基づいて、図４（Ｂ）のレコードから編集した出力データの例である。
【００３９】
図４（Ａ）に示すように、可変長方式のレコードを含むファイルに対する一部読み出しコマンドは、「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」については、固定長方式のレコードを含むファイルに対する一部読み出しコマンドと同じ値が格納される。「Ｐ２」には、出力データの元となるレコードが可変長方式であるため「０１ｈ」が格納される。「Ｌｃ」はデータのサイズを示す「０２ｈ」が格納される。「データ」には、「５Ｃｈ」と「４０ｈ」 が格納される。なお、「データ」の「５Ｃｈ」は、各レコードから抽出する情報の開始位置を示す開始位置データである「￥」を示し、「データ」の「４０ｈ」終了位置を示す終了位置データである「＠」を示している。すなわち、図４（Ａ）の一部読み出しコマンドは、図４（Ｂ）に示す各レコードにおける「￥」から「＠」の間の範囲に記録されている情報（「氏名」情報）を連結した出力データの返信を要求するコマンドである。
【００４０】
図４（Ｂ）は、電話帳ファイルのレコードの一例を示しており、各レコードは、「電話番号」情報、「氏名」情報、「郵便番号」情報、「住所」情報により構成されている。また、検索キーとなる情報（検索ワードの検索対象である情報）である「氏名」情報については、文字列の前に「￥」、文字列の後ろに「＠」が記録されている。 更に、「郵便番号」情報と「住所」情報の間には両者を区分するために「＠」が記録されている。
【００４１】
ＣＰＵ２１は、図４（Ａ）の一部読み出しコマンドを受信すると、図４（Ｃ）に示すように、図４（Ｂ）に示すレコード番号「００１」のレコードにおける「￥」から「＠」の間の範囲に記録されている情報（「氏名」情報）、レコード番号「００２」のレコードにおける「￥」から「＠」の間の範囲に記録されている情報（「氏名」情報）、レコード番号「００３」のレコードにおける「￥」から「＠」の間の範囲に記録されている情報（「氏名」情報）を連結した出力ファイルを生成する。なお、各レコードの「氏名」情報を連結する際、レコード番号順に連結する。これは、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能とするためである。また、ＣＰＵ２１は、情報を連結する際、情報の後ろの終了位置データである「＠」を含めて連結する（末尾の「＠」は含めなくてもよい）。これは、携帯端末１が、出力ファイルにおける情報を何番目のレコードの情報かを「＠」に基づいて区別するためである。
【００４２】
［７．通信システムの動作］
次に、携帯端末１が、ＩＣチップＣのフラッシュメモリ２３における電話帳ファイルに含まれるレコードであって、「氏名」情報が「トミタケンシ゛」であるレコードを取得する場合について説明する。なお、ここでは、図４（Ｂ）に示す可変長方式のレコードの中から該当レコードを取得する場合について説明する。
【００４３】
まず、従来の方法（国際規格準拠のコマンドを用いる方法）により該当レコードを取得する場合について説明する。初めに、携帯端末１の制御部１１は、選択コマンドをＵＩＭカード２に送信し、取得対象のレコードを含む電話帳ファイルを選択する。次いで、制御部１１は、レコード番号「００１」のレコードの全情報を読み出すコマンドをＵＩＭカード２送信し、当該レコードを読み出す。次いで、制御部１１は、レコード番号「００２」のレコードの全情報を読み出すコマンドをＵＩＭカード２に送信し、当該レコードを読み出す、という処理を電話帳ファイルに含まれる全レコードを読み出すまで繰り返す。全レコードを読み出すと、次いで、制御部１１は、全てのレコードの中から、「￥」から「＠」の間の情報が「トミタケンシ゛」であるレコードを検索することにより該当レコードを取得する。このように、従来の方法では、電話帳ファイルに含まれるレコードの数＋１（選択コマンド分）のコマンドをＵＩＭカード２に送信することにより、全レコードの全ての情報を読み出す必要がある。更に、そこから該当レコードを検索する必要があるため処理時間が長くなってしまうという問題がある。この問題は、レコードの長さが長い場合、読み出すレコード件数が多い場合に顕著となる。
【００４４】
次に、本実施形態の方法により該当レコードを取得する場合について説明する。まず、携帯端末１の制御部１１は、選択コマンドをＵＩＭカード２に送信し、取得対象のレコードを含む電話帳ファイルを選択する。次いで、制御部１１は、図４（Ａ）に示す一部読み出しコマンドをＵＩＭカード２に送信し、出力データを受信する。出力データを受信すると、制御部１１は、出力データの先頭から順に「トミタケンシ゛」を検索し、何番目の「＠」の前に存在したかによって該当レコードを特定する。例えば、２番目の「＠」の前に存在した場合にはレコード番号「００２」のレコードを特定する。制御部１１は、レコード番号を特定すると、当該レコード番号を含む読み出しコマンドをＵＩＭカード２に送信し、当該レコードを読み出すことにより該当レコードを取得する。このように、本実施形態の方法では、該当レコードを取得するまでのコマンド数は、選択コマンド、一部読み出しコマンド及び読み出しコマンドの３コマンドで済み、従来の方法より短時間で該当レコードを取得することができる。また、レコード検索コマンドを用いて、ＩＣチップＣ内で該当レコードを検索する場合と比較すると、ＩＣチップＣのＣＰＵ２１よりも処理速度の速い制御部１１のＣＰＵにより検索を行うことができるため処理時間が短くなる。
【００４５】
［８．一部読み出しコマンド受信時処理］
次に、図５を用いてＩＣチップＣのＣＰＵ２１による一部読み出しコマンド受信時処理について説明する。一部読み出しコマンド受信時処理は、ＵＩＭカード２が携帯端末１から一部読み出しコマンドを受信することにより開始される。なお、ＵＩＭカード２は一部読み出しコマンドを受信する前に、フラッシュメモリ２３内の何れかのファイルを選択する選択コマンドを受信しており、ＣＰＵ２１は選択コマンドにより指定されたファイルに含まれるレコードに対して一部読み出しコマンド受信時処理を行う。
【００４６】
まず、ＣＰＵ２１は、一部読み出しコマンドにおける「Ｐ２」が「００ｈ」であるか否かを判定する（ステップＳ１０１）。ＣＰＵ２１は、一部読み出しコマンドにおける「Ｐ２」が「００ｈ」であると判定した場合には（ステップＳ１０１：ＹＥＳ）、一部読み出しコマンドにおける「データ」を参照し、開始位置、終了位置を取得する（ステップＳ１０２）。次いで、ＣＰＵ２１は、一部読み出しコマンドを受信する前に選択されたファイルに含まれる全レコードについて開始位置から終了位置までの範囲に記録された情報を連結して出力データを生成し（ステップＳ１０３）、携帯端末１に送信し（ステップ１０４）、一部読み出しコマンド受信時処理を終了する。
【００４７】
一方、ＣＰＵ２１は、一部読み出しコマンドにおける「Ｐ２」が「００ｈ」ではないと判定した場合には（ステップＳ１０１：ＮＯ）、次いで、「Ｐ２」が「０１ｈ」であるか否かを判定する（ステップＳ１０５）。ＣＰＵ２１は、「Ｐ２」が「０１ｈ」ではないと判定した場合には（ステップＳ１０５：ＮＯ）、エラーデータを生成して（ステップＳ１０８）、携帯端末１に送信し（ステップ１０９）、一部読み出しコマンド受信時処理を終了する。
【００４８】
他方、ＣＰＵ２１は、「Ｐ２」が「０１ｈ」であると判定した場合には（ステップＳ１０５：ＹＥＳ）、一部読み出しコマンドにおける「データ」を参照し、開始位置データ（図４の例では「￥」）と、終了位置データ（図４の例では「＠」）を取得する（ステップＳ１０６）。次いで、ＣＰＵ２１は、一部読み出しコマンドを受信する前に選択されたファイルに含まれる各レコードの開始位置データと終了位置データの間の範囲の情報と終了位置データ（すなわち、開始位置データの後ろから終了位置データまで）を連結して出力データを生成し（ステップＳ１０７）、携帯端末１に送信し（ステップ１０４）、一部読み出しコマンド受信時処理を終了する。
【００４９】
以上のように、本実施形態のＩＣチップＣ（「電子情報記憶媒体」の一例）と携帯端末１（「外部機器」の一例）を含む通信システムにおけるＩＣチップＣは、フラッシュメモリ２３（「記憶手段」の一例）が、情報が記録されている複数のレコードを記憶し、ＣＰＵ２１（第１受信手段」、「生成手段」、「送信手段」の一例）が、レコードにおける範囲を特定するための情報が記述された「データ」（「特定情報」の一例）を含む一部読み出しコマンド（「読み出しコマンド」の一例）を携帯端末１から受信し、当該一部読み出しコマンドに含まれる「データ」に記述された情報に基づいて、複数のレコードのそれぞれにおける前記範囲に記録されている情報を連結した出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データを生成し、当該出力データを携帯端末１に送信する。一方、携帯端末１は、制御部１１（「第２送信手段」、「第２受信手段」の一例）が、一部読み出しコマンドをＩＣチップＣに送信し、出力データをＩＣチップＣから受信する。
【００５０】
したがって、本実施形態の通信システムによれば、複数のレコードのそれぞれにおける携帯端末１により指定された範囲の情報が連結された出力データであって、連結したそれぞれの情報が何れのレコードに記録されている情報であるかを特定可能な出力データがＩＣチップＣから携帯端末１に送信されることから、携帯端末１は出力データに基づいて、指定した範囲の情報として検索ワードを含むレコードを特定することができる。すなわち、指定した範囲の情報が連結された出力データに対して、ＩＣチップＣのＣＰＵ２１より処理速度が速い携帯端末１の制御部１１に含まれるＣＰＵにより検索を行うことが可能となり、レコードの高速な検索を実現できる。
【００５１】
また、本実施形態の通信システムは、携帯端末１の制御部１１（「特定手段」の一例）が、出力データに基づいて、検索ワードが何れのレコードの情報として記録されているかを特定する。これにより、ＩＣチップＣのフラッシュメモリ２３に記憶されている複数のレコードの中から、検索ワードが情報として記録されているレコードを特定することができる。
【００５２】
更に、本実施形態の通信システムにおいて、一部読み出しコマンドの「データ」に記述されている情報は、前記範囲の開始位置及び終了位置を特定するための情報であり、ＩＣチップＣのＣＰＵ２１は、複数のレコードのそれぞれにおける開始位置から終了位置に記録された情報を、当該複数のレコードの並び順に従って連結した出力データを生成し、携帯端末１の制御部１１は、出力データにおける検索ワードの位置と、開始位置から終了位置までの長さに基づいて、検索ワードが記録されたレコードが前記並び順の何れの位置のレコードかを特定する。これにより、複数のレコードにおいて検索ワードの検索対象である情報が固定長の情報として記録されている場合に、携帯端末１は当該複数のレコードの中から検索ワードを含むレコードを特定することができる。
【００５３】
更にまた、本実施形態の通信システムにおいて、複数のレコードには、検索ワードの検索対象である情報の開始位置を示す開始位置データ「￥」と終了位置を示す終了位置データ「＠」が記録されており（図４（Ｂ）参照）、一部読み出しコマンドの「データ」に記述されている情報は、開始位置データ「￥」と終了位置データ「＠」を示す情報であり、ＩＣチップＣのＣＰＵ２１は、複数のレコードのそれぞれにおける開始位置データ「￥」と終了位置データ「＠」の間に記録されている情報を、当該複数のレコードの並び順に従って、それぞれの当該情報間に終了位置データ「＠」（「区切り位置データ」の一例）を付加して連結した出力データを生成し、携帯端末１の制御部１１は、出力データにおける検索ワードの位置と、終了位置データ「＠」に基づいて、検索ワードが記録されたレコードが前記並び順の何れの位置のレコードかを特定する。これにより、複数のレコードにおいて検索ワードの検索対象である情報が可変長の情報として記録されている場合において、当該情報の前後に開始位置データ「￥」と終了位置データ「＠」を記録しておくことにより、携帯端末１は、当該複数のレコードの中から検索ワードを含むレコードを特定することができる。
【００５４】
更にまた、本実施形態の通信システムにおいて、ＩＣチップＣのＣＰＵ２１は、携帯端末１の制御部１１が特定したレコードを示すレコード番号（「レコード識別情報」の一例）を含む読み出しコマンドを携帯端末１から更に受信し、レコード番号の示すレコードを携帯端末１に更に送信し、携帯端末１の制御部１１は、レコード番号を含む読み出しコマンドをＩＣチップＣに更に送信し、ＩＣチップＣのＣＰＵ２１が送信したレコードをＩＣチップＣから更に受信する。これにより、携帯端末１は、ＩＣチップＣのフラッシュメモリ２３に記憶されているレコードの中から、検索ワードが記録されているレコードを取得することができる。
【００５５】
［９．変形例］
次に、上記実施形態の変形例について説明する。なお、以下に説明する変形例は適宜組み合わせることができる。
【００５６】
［９．１．変形例１］
上記実施形態では、ＣＰＵ２１は、図４（Ａ）の一部読み出しコマンドを受信すると、図４（Ｃ）に示すように、レコード番号「００１」〜「００３」のレコードにおける「￥」から「＠」の間に記録されている情報（「氏名」情報）を、レコードの並び順に従って、それぞれの情報の後ろに記録されている終了位置データ「＠」とともに、連結した出力データを生成することとしたが、図６に示すように、それぞれの情報の前に記録されている開始位置データ「￥」とともに、連結した出力データを生成することとしてもよい（先頭の「￥」は含めなくてもよい）。一方、変形例１では、携帯端末１の制御部１１は、出力データの先頭から順に検索ワード（例えば、「トミタケンシ゛」）を検索し、何番目の「￥」の前に存在したかによって該当レコードを特定する（先頭の「￥」が含まれる場合）。
【００５７】
［９．２．変形例２］
また、図７に示すように、図４（Ｃ）の出力データにおける「＠」の代わりに、開始位置データ「￥」でも、終了位置データ「＠」でもない、他のデータ（例えば「％」）を用いることとしてもよい。
【００５８】
［９．３．変形例３］
上記実施形態では、ＣＰＵ２１が出力データを生成するためにレコードの情報を連結する際、レコード番号順に連結することにより、携帯端末１は、連結されたそれぞれの情報が何れのレコードに記録されている情報であるかを特定できることとしたが、連結する順序を任意とする代わりに、それぞれの情報を、当該情報が記録されているレコードを特定可能とするための情報（例えば、レコード番号）を付加した上で、連結することとしてもよい。この場合であっても、携帯端末１は、連結されたそれぞれの情報が何れのレコードに記録されている情報であるかを、付加した情報に基づいて特定することができる。
【符号の説明】
【００５９】
１  携帯端末
１１  制御部
１２  記憶部
１３  無線通信部
１４  表示部
１５  入力部
１６ａ  ＣＬＦインターフェース
１６ｂ  ＩＣカードインターフェース
１７  バス
１８  ＣＬＦ
２  ＵＩＭカード
Ｃ  ＩＣチップ（セキュアエレメント）
２１  ＣＰＵ
２２  ＲＡＭ
２３  フラッシュメモリ
２４  Ｉ／Ｏ回路
２５  バス
【図１】
2019128903.tif 000003
【図２】
2019128903.tif 000004
【図３】
2019128903.tif 000005
【図４】
2019128903.tif 000006
【図５】
2019128903.tif 000007
【図６】
2019128903.tif 000008
【図７】
2019128903.tif 000009