IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特開2024-44128携帯可能電子装置及び携帯可能電子装置の制御方法
<>
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図1
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図2
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図3
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図4
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図5
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図6
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図7
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図8
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図9A
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図9B
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図9C
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図10
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図11
  • 特開-携帯可能電子装置及び携帯可能電子装置の制御方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024044128
(43)【公開日】2024-04-02
(54)【発明の名称】携帯可能電子装置及び携帯可能電子装置の制御方法
(51)【国際特許分類】
   G06K 19/073 20060101AFI20240326BHJP
   G06F 16/11 20190101ALI20240326BHJP
【FI】
G06K19/073
G06F16/11
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022149491
(22)【出願日】2022-09-20
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】栗山 量一
(57)【要約】
【課題】検索対象のレコードが非活性状態であっても、検索対象に含めて検索を可能とする。
【解決手段】実施形態の携帯可能電子装置は、活性化状態(Activate)のレコードおよび非活性化状態(Deactivate)のレコードを記憶可能な記憶部と、外部装置から入力された検索コマンドに基づいて、非活性化状態(Deactivate)のレコードを検索対象に含めて、記憶部が記憶するレコードから検索コマンドに対応するレコードを検索する検索部と、検索部が検索したレコードに対応する検索結果を外部装置に出力する検索結果出力部と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
活性化状態(Activate)のレコードおよび非活性化状態(Deactivate)のレコードを記憶可能な記憶部と、
外部装置から入力された検索コマンドに基づいて、前記非活性化状態(Deactivate)のレコードを検索対象に含めて、前記記憶部が記憶する前記レコードから前記検索コマンドに対応するレコードを検索する検索部と、
前記検索部が検索した前記レコードに対応する検索結果を前記外部装置に出力する検索結果出力部と、
を備えた携帯可能電子装置。
【請求項2】
前記検索結果出力部は、前記活性化状態(Activate)のレコードに対応する検索結果および前記非活性化状態(Deactivate)のレコードに対応する検索結果を識別可能に検索結果として出力する、
請求項1に記載の携帯可能電子装置。
【請求項3】
前記検索コマンドは、パラメータとして、検索対象として、活性化状態(Activate)のレコードおよび非活性化状態(Deactivate)のレコードのうち、少なくとも一方を指定するための識別情報を含む、
請求項1に記載の携帯可能電子装置。
【請求項4】
前記検索コマンドは、パラメータとして、前記レコードを含む一又は複数のファイルを指定可能とされている、
請求項1に記載の携帯可能電子装置。
【請求項5】
活性化状態(Activate)のレコードおよび非活性化状態(Deactivate)のレコードを記憶可能な記憶部を備えた携帯可能電子装置を制御するための携帯可能電子装置の制御方法であって、
外部装置から入力された検索コマンドに基づいて、前記非活性化状態(Deactivate)のレコードを検索対象に含めて、前記記憶部が記憶する前記レコードから前記検索コマンドに対応するレコードを検索する過程と、
前記検索する過程において検索した前記レコードに対応する検索結果を前記外部装置に出力する過程と、
を備えた携帯可能電子装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、携帯可能電子装置及び携帯可能電子装置の制御方法に関する。
【背景技術】
【0002】
従来ICカード等の携帯可能電子装置においては、メモリに保存する複数のファイルを階層構造で管理していた。
この携帯可能電子装置のファイルに含まれるレコードの検索を行うに際しては、アプリケーション配下から複数のEF(Elementary File)、もしくは、指定された単体EFから実施されていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006-072924号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、検索対象のレコードが非活性化状態(Deactivate)のEFに含まれている場合、あるいは、検索対象のレコード自体が非活性化状態(Deactivate)の場合は、検索対象とはならなかった。
このため、レコードデータ全体から、対象レコードを検索したとしても所望のレコードを検索できないばかりで無く、当該レコードが含まれているのかすら判断することができなかった。
【0005】
本発明は、上記に鑑みてなされたものであって、検索対象のレコードが非活性状態であっても、検索対象に含めて検索を可能とする携帯可能電子装置及び携帯可能電子装置の制御方法を提供することを目的としている。
【課題を解決するための手段】
【0006】
実施形態の携帯可能電子装置は、活性化状態(Activate)のレコードおよび非活性化状態(Deactivate)のレコードを記憶可能な記憶部と、外部装置から入力された検索コマンドに基づいて、非活性化状態(Deactivate)のレコードを検索対象に含めて、記憶部が記憶するレコードから検索コマンドに対応するレコードを検索する検索部と、検索部が検索したレコードに対応する検索結果を外部装置に出力する検索結果出力部と、を備える。
【図面の簡単な説明】
【0007】
図1図1は、実施形態に係る携帯可能電子装置を備えた情報処理システムの概要構成ブロック図である。
図2図2は、携帯可能電子装置の概要構成ブロック図である。
図3図3はデータ構造例の説明図である。
図4図4は、検索コマンドのデータフォーマットである。
図5図5は、命令パラメータの説明図である。
図6図6は、検索対象のEFの一例の説明図である。
図7図7は、実施形態の携帯可能電子装置のコマンド入力時のメインフローチャートである。
図8図8は、シンプル検索処理の処理フローチャートである。
図9A図9Aは、複数のEFの一例の説明図である。
図9B図9Bは、複数のEFの一例の説明図である。
図9C図9Cは、複数のEFの一例の説明図である。
図10図10は、複数EF検索処理に用いる検索コマンドのデータフォーマットである。
図11図11は、複数EF検索処理の処理フローチャート(その1)である。
図12図12は、複数EF検索処理の処理フローチャート(その2)である。
【発明を実施するための形態】
【0008】
次に、好適な実施形態について図面を参照して説明する。
図1は、実施形態に係る携帯可能電子装置を備えた情報処理システムの概要構成ブロック図である。
情報処理システム10は、携帯可能電子装置11と、リーダライタ12と、情報処理装置13と、通信ネットワーク14と、情報サーバ15と、を備えている。
【0009】
携帯可能電子装置11は、例えば、ICカード、USBメモリ、SSD(Solid State Drive)等として構成されている。以下の説明においては、理解の容易のため、携帯可能電子装置11をICカードとして構成した場合を例として説明する。
【0010】
リーダライタ12(外部装置)は、ICカードとして構成された携帯可能電子装置11と無線通信が可能であるとともに、携帯可能電子装置11に対して無線で携帯可能電子装置11の駆動電源となる電力供給を行う。
【0011】
情報処理装置13は、いわゆるコンピュータとして構成されており、本実施形態においては、携帯可能電子装置11に格納されたデータの検索を行う検索装置として機能している。
通信ネットワーク14は、例えば、インターネット等として構成されており、情報処理装置13と、情報サーバ15と、を通信可能に接続している。
【0012】
情報サーバ15は、情報処理装置13との間で通信を行って、各種データの収集や、各種データの提供を行う。
【0013】
次に情報処理装置13の構成について説明する。
情報処理装置13は、図1に示すように、演算制御部21と、入出力インタフェース(I/F)部22と、通信インタフェース(I/F)部23と、外部記憶装置24と、操作入力部25と、表示部26と、を備えている。
【0014】
演算制御部21は、各種演算処理及び情報処理全体の制御を行うMPU21Aと、各種データを記憶するメモリ21Bと、を備えている。この場合において、メモリ21Bは、少なくともROM及びRAMを備えており、必要に応じて不揮発性メモリ(例えば、EEPROM、フラッシュメモリ等)を備えている。
入出力インタフェース(I/F)部22は、マウス、キーボード等の入力装置に対応する入力インタフェースと、表示部26としてのディスプレイ等の表示装置、図示しないプリンタなどの出力装置に対応する出力インタフェースと、を備えている。
通信インタフェース(I/F)部23は、イーサネット、WiFi、ブルートゥース(登録商標)等の通信インタフェエースを備えている。
外部記憶装置24は、HDD(Hard Disk Drive)、SSD等として構成されており、各種データを記憶する。
操作入力部25は、マウス、キーボード等として構成されている。
表示部26は、液晶ディスプレイ、有機ELディスプレイ等の表示装置として構成されている。
【0015】
次に携帯可能電子装置11の構成例について説明する。
図2は、携帯可能電子装置の概要構成ブロック図である。
携帯可能電子装置11は、アンテナ31と、通信/受電部32と、電源部33と、コントローラ34と、を備えている。
【0016】
アンテナ31は、アンテナコイルとして構成されており、リーダライタ12から送信された変調波を受信したり、コントローラ34の制御下で、リーダライタ12へ変調波を送信する。
通信/受電部32は、リーダライタ12との間で通信を行ったり、リーダライタから受信した変調波を電力信号として電源部33に供給する。
【0017】
電源部33は、電力信号の交流/直流変換を行って通信/受電部32の動作電源PW1及びコントローラ34の動作電源PW2として供給する。
コントローラ34は、MPU34Aと、EEPROM34Bと、RAM34Cと、ROM34Dと、を備えている。
【0018】
上記構成において、EEPROM34Bは、活性化状態(Activate)のレコードおよび非活性化状態(Deactivate)のレコードを記憶可能な記憶部として機能し、MPU34Aは、入力された検索コマンドに基づいて、非活性化状態(Deactivate)のレコードを検索対象に含める検索部として機能し、アンテナ31、通信/受電部32及びコントローラ34は、協働して、非活性化状態(Deactivate)のレコードに対応する検索結果を検索結果として出力する検索結果出力部として機能している。
【0019】
MPU34Aは、いわゆるマイクロコンピュータとして構成されており、後述のデータ検索処理を含む各種演算処理を行うとともに、コントローラ34全体の制御を行う。
【0020】
EEPROM34Bは、データメモリとして機能しており、アプリケーションデータなどの各種データを更新可能、かつ、不揮発的に記憶する必要がある場合に用いられる。
【0021】
RAM34Cは、MPU34Aが処理を行なう際の処理データを一時的に保持するためのワーキングエリアとして用いられる。
ROM34Dは、MPU34Aの基本制御プログラム、各種制御用データ等を格納するために用いられている。
【0022】
次に実施形態のデータ構造例について説明する。
図3はデータ構造例の説明図である。
データメモリとして機能するEEPROM34Bには、たとえば、アプリケーションデータ等の各種データが所定のファイル管理構造で記憶されている。このファイル構造は、例えば、ICカードの標準規格の一つであるISO/IEC7816-4に基づき、色々なフォルダの種類を持ったディレクトリのツリー構造になっている。
【0023】
より詳細には、データメモリとして機能するEEPROM34Bに記憶されるファイルは、MF(Master File)、DF(Dedicated File)、EF(Elementary File)の何れかとして定義されている。
MFは、いわゆるルートディレクトリに相当する。MFの下位階層には、DFおよびEFが定義される。
【0024】
DFは、ディレクトリに相当し、フォルダとして機能する。一つのDFの下位階層には、DFおよびEFを定義して持たせることができる。
このような構成を採ることにより、ICカードとして構成された携帯可能電子装置11では、MFを最上位とした階層構造によるファイル管理が可能となっている。MF、DFおよびEFは、それぞれを選択して使用される。
【0025】
図3の例においては、最上位層に、MF41が設けられている。
そして、MF41の次下層には、アクセス権を確立するためのキーの格納に使用されるキーEF42、各アプリケーションごとに設定されるフォルダとしてDF43-1、43-2が設けられている。
【0026】
さらに第1のアプリケーションに対応するDF43-1の下層には、第1のアプリケーションで用いられるユーザデータの格納に使用されるEF44-11~44-13が設けられている。
【0027】
第2のアプリケーションに対応するDF43-2の下層には、第2のアプリケーションで用いられるユーザデータの格納に使用されるEF44-21~44-22が設けられている。
なお、DFは、ICカードとして構成された携帯可能電子装置11が搭載しているアプリケーションに相当する数だけ設けられることとなる。
【0028】
次にデータ検索処理について説明するに先だって、実施形態が解決しようとする課題について説明する。
【0029】
第1の想定事例としては、ICカードを備えた旅券(いわゆる、ePassport)においては、レコードとして、ビザ(visa)データを格納することが考えられる。
しかしながら、ビザには有効期限があるため、有効期限が切れたビザのレコードは、非非活性化状態(Deactivate)とされ、有効ビザについてのみ活性化状態(Activate)とされる。
【0030】
したがって、過去に取得し、有効期限が切れたビザのレコードを参照、あるいは、確認が必要になった場合には、全てのビザのレコードを活性化状態(Activate)とする必要がある。しかしながら、いずれのビザのレコードが有効なのかを有効期限データを参照して、別途確認する必要が生じることとなる。
【0031】
第2の想定事例としては、ICカードを備えた旅券において、今後、レコードに伝染病の検査及び対応するワクチン接種履歴(例えば、コロナ検査、ワクチン接種のデータ)を格納することが想定される。
この場合においても、有効期限が切れたコロナ検査、ワクチン接種のレコードは、非活性状態(Deactivate)にされ、有効なレコードのみが活性状態(activate)とされることが考えられる。
この場合、過去にどのような検査、接種をしたことがあるか、確認することが発生した場合、すべての伝染病の検査及び対応するワクチン接種履歴のレコードを活性化状態(Activate)とする必要がある。しかしながら、いずれの伝染病の検査及び対応するワクチン接種履歴のレコードが有効なのかを有効期限データを参照して、別途確認する必要が生じることとなる。
【0032】
いずれの想定事例においても、本来検索する必要の無いデータも全て活性化状態(Activate)とする必要があるため、検索時間も必要以上に長くなる虞があった。
【0033】
そこで、本実施形態は、全てのレコードを活性化状態(Activate)とする必要も無く、オペレータが、レコードが活性化状態(Activate)あるいは非活性化状態(Deactivate)であるかを意識することなく、有意義なレコード検索を迅速に行えるようにすることを目的としている。
【0034】
次にデータ検索処理について説明する。
以下の説明においては、理解の容易のため、以下の前提が成立しているものとする。
(1)少なくとも一つのレコードが格納された少なくとも一つのEFが存在する。
(2)EFは、ISO/IEC7816-4/-9に規定されている活性化(Activate)状態もしくは非活性化(Deactivate)状態となる。
(3)EFに格納されたレコードはISO/IEC7816-4に記載されている活性化状態(Activate)もしくは非活性化状態(Deactivate)となる。
【0035】
まずデータ検索処理に用いる検索コマンドについて説明する。
図4は、検索コマンドのデータフォーマットである。
検索コマンド50は、コマンドヘッダ部51と、データフィールド部52と、Leフィールド部53と、を備えている。
コマンドヘッダ部51は、データ検索の対象となるデータを特定するための情報を格納している。
【0036】
コマンドヘッダ部51は、コマンドクラス部51Aと、命令部51Bと、第1検索パラメータ部51Cと、第2検索パラメータ部51Dと、データ部サイズデータ51Eと、を備えている。
【0037】
コマンドクラス部51Aは、命令クラス(CLA:class)を格納しており、そのデータサイズ(データ長)は、図4の例の場合には1バイトとなっている。
【0038】
命令部51Bは、命令コード(INS:instruction)、図4の例の場合には、データ検索命令を格納しており、そのデータサイズは、図4の例の場合には1バイトとなっている。
【0039】
第1検索パラメータ部51Cは、データ検索の対象を特定するための第1命令パラメータP1を格納しており、そのデータサイズは、図4の例の場合には1バイトとなっている。
【0040】
第2検索パラメータ部51Dは、データ検索の対象を特定するための第2命令パラメータP2を格納しており、そのデータサイズは、図4の例の場合には1バイトとなっている。
【0041】
データ部サイズデータ51Eは、データフィールド部52のデータサイズ(データ長)を特定するためのLcフィールドLcを格納しており、そのデータサイズは、1バイトあるいは3バイトとされており、図4の例の場合には1バイトとなっている。
【0042】
データフィールド部52は、検索対象を特定するための検索データを格納しており、そのデータサイズは、図4の例の場合には、データ部サイズデータ51EのLcフィールドLcで指定されたサイズ、すなわち、n(nは、自然数)バイトとなっている。
【0043】
Leフィールド部53は、検索コマンド50に対するレスポンスのデータフィールド内に期待される最大バイト数を表すデータを格納しており、そのデータサイズは、1バイトあるいは2バイトとされており、図4の例の場合には1バイトとなっている。
【0044】
より具体的には、ISO/IEC7816-4に規定されているとおり、図4の例の場合、コマンドクラス部51Aにおいて、CLA=00h(hは16進数を表す)であるので、当該コマンドがISO/IEC7816-4に規定されているユーザコマンドに区分される検索コマンド50であることを表している。
【0045】
また、命令部51Bにおいて、INS=A2hであるので、レコード検索(Search Record)を行う命令であることを表している。
【0046】
図5は、命令パラメータの説明図である。
また、第1検索パラメータ部51Cにおいて、第1命令パラメータP1=01hであるので、レコード#1から検索を行うことを表している。
【0047】
また、第2検索パラメータ部51Dにおいて、第2命令パラメータP2=0Chであるので、図5に示すように、EFの第1命令パラメータP1で示されたレコードから検索を開始する(Forward from P1)ことを表している。
この場合において、データ部サイズデータ51Eにおいて示されたサイズを有するデータフィールド部52に格納された検索データの検索がなされることとなる。
【0048】
図6は、検索対象のEFの一例の説明図である。
図6に示すように、検索対象のEFは、レコード番号(実際には、データ格納アドレス)に対応づけて、フラグ61及びデータ62が格納されている。ここで、フラグ61は、実際には1ビットであるが、理解の容易のため、図5においては、「Activate」あるいは「Deactivate」と表記している。
【0049】
より詳細にはレコード番号=#1のデータ格納アドレスには、フラグ61=「Activate」のデータData#1=「11 22 33 44 55 66 77 88」が格納されており、フラグ61=「Activate」であることからデータData#1は活性状態であり、当該時点で有効なデータであることを示している。
【0050】
同様に、レコード番号=#3のデータ格納アドレスには、フラグ61=「Deactivate」のデータData#3=「33 44 55 66 77 88 99 AA」が格納されており、フラグ61=「Deactivate」であることからデータData#1は非活性状態であり、当該時点で無効なデータであることを示している。
【0051】
次に実施形態の動作を説明する。
図7は、実施形態の携帯可能電子装置のコマンド入力時のメインフローチャートである。
まず、携帯可能電子装置11の通信/受電部32は、アンテナ31を介して受信したリーダライタ12からの変調波を電力信号として電源部33に供給する。
【0052】
これにより、電源部33は、電力信号の交流/直流変換を行って通信/受電部32の動作電源PW1及びコントローラ34の動作電源PW2として供給する。
この結果、コントローラ34のMPU34Aは、通常動作を開始する。
【0053】
そして、MPU34Aは、通信/受電部32を介して、検索コマンド(サーチレコードコマンド)50が入力されたか否かを判断する(ステップS11)。
ステップS11の判断において、入力されたのが検索コマンド50ではない場合には(ステップS11;No)、MPU34Aは、他のコマンド処理に移行する(ステップS15)。
【0054】
ステップS11の判断において、入力されたのが検索コマンド50である場合には(ステップS11;Yes)、MPU34Aは、第2命令パラメータP2が複数のEFを対象とする複数EF検索モードに対応するものであるか否かを判断する(ステップS12)。
【0055】
ステップS12の判断において、第2命令パラメータP2が複数のEFを対象とする複数EF検索モードに対応するものである場合には(ステップS12;Yes)、MPU34Aは、後に詳述する複数EF検索処理を行う(ステップS16)。
【0056】
ステップS12の判断において、第2命令パラメータP2が複数のEFを対象とする複数EF検索モードに対応するものではない場合には(ステップS12;No)、MPU34Aは、第2命令パラメータP2が単一のEFを対象とするシンプル検索モードに対応するものであるか否かを判断する(ステップS13)。
【0057】
ステップS13の判断において、第2命令パラメータP2が単一のEFを対象とするシンプル検索モードに対応するものである場合には(ステップS13;Yes)、MPU34Aは、後に詳述するシンプル検索処理を行う(ステップS14)。
【0058】
ステップS13の判断において、第2命令パラメータP2が単一のEFを対象とするシンプル検索モードに対応するものではない場合には(ステップS13;No)、MPU34Aは、図5に示した様なその他の検索処理を実行することとなる(ステップS17)。
【0059】
次にステップS14で行うシンプル検索処理について詳細に説明する。
図8は、シンプル検索処理の処理フローチャートである。
まず、MPU34Aは、第2命令パラメータP2のビット8~ビット4(図5参照)で示されるIDに対応するEFは存在するか否かを判断する(ステップS21)。
【0060】
ステップS21の判断において、第2命令パラメータP2のビット8~ビット4(図5参照)で示されるIDに対応するEFは存在しない場合には(ステップS;No)、MPU34Aは、ステータスを「EF無し」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS33)。
【0061】
ステップS21の判断において、第2命令パラメータP2のビット8~ビット4(図5参照)で示されるIDに対応するEFは存在する場合には(ステップS21;Yes)、MPU34Aは、検索対象とされたEFは、レコードを含むレコードEFであるか否かを判断する(ステップS22)。
【0062】
ステップS22の判断において、検索対象とされたEFは、レコードを含むレコードEFではない場合には(ステップS22;No)、MPU34Aは、ステータスを「EF構造異なる」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS34)。
【0063】
ステップS22の判断において、検索対象とされたEFは、レコードを含むレコードEFである場合には(ステップS22;Yes)、MPU34Aは、第1命令パラメータP1で指定されたレコードが存在するか否かを判断する(ステップS23)。
【0064】
ステップS23の判断において、第1命令パラメータP1で指定されたレコードが存在しない場合には(ステップS23;No)、MPU34Aは、ステータスを「指定レコード無し」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS35)。
【0065】
ステップS23の判断において、第1命令パラメータP1で指定されたレコードが存在する場合には(ステップS23;Yes)、MPU34Aは、指定されたレコードである対象レコードが活性化状態(Activate)であるか否かを判断する(ステップS24)。
【0066】
ステップS24の判断において、対象レコードが活性化状態(Activate)である場合には(ステップS24;Yes)、MPU34Aは、レコードが活性化状態(Activate)か否かを表す判定フラグを対象レコードが活性化状態(Activate)である場合に相当するオフ状態(=0)として(ステップS25)、処理をステップS27に移行する。
【0067】
ステップS24の判断において、対象レコードが非活性化状態(Deactivate)である場合には(ステップS24;No)、MPU34Aは、レコードが活性化状態(Activate)か否かを表す判定フラグを対象レコードが非非活性化状態(Deactivate)である場合に相当するオン状態(=1)とする(ステップS26)。
【0068】
つづいてMPU34Aは、検索コマンド50のデータフィールド部52で指定されたデータパターンが対象レコードに存在するか否かを判断する(ステップS27)。
ステップS27の判断において、検索コマンド50のデータフィールド部52で指定されたデータパターンが対象レコードに存在する場合には、MPU34Aは、対象レコードを特定するための番号を判定フラグに対応する作業領域に保持し、処理をステップS29に移行する。
【0069】
より詳細には、検索コマンド50のデータフィールド部52で指定されたデータパターンが対象レコードに存在し、かつ、対象レコードが活性化状態(Activate)である場合に相当する判定フラグがオフ状態(=0)である場合には、MPU34Aは、活性化状態(Activate)のレコードに対応する作業領域に対象レコード番号を保持する。
【0070】
また、検索コマンド50のデータフィールド部52で指定されたデータパターンが対象レコードに存在し、かつ、対象レコードが非非活性化状態(Deactivate)である場合に相当する判定フラグがオン状態(=1)である場合には、MPU34Aは、非活性化状態(Deactivate)のレコードに対応する作業領域に対象レコード番号を保持する。
【0071】
つづいてMPU34Aは、処理対象の次のレコードがあるか否かを判断する(ステップS29)。
ステップS29の判断において、処理対象の次のレコードがある場合には(ステップS29;Yes)、MPU34Aは、処理を再びステップS24に移行して次のレコードに対し、上述した処理を行う。
【0072】
ステップS29の判断において、処理対象の次のレコードがない場合には(ステップS29;No)、MPU34Aは、ステップS28で説明した作業領域に検索データ(対象レコード番号)が保持されて存在しているか否かを判断する(ステップS30)。
【0073】
ステップS30の判断において、ステップS28で説明した作業領域に検索データ(対象レコード番号)が一つも保持されていない場合には(ステップS30;No)、MPU34Aは、ステータスを「検索データ無し」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS32)。
【0074】
ステップS30の判断において、ステップS28で説明した作業領域に検索データ(対象レコード番号)が一つ以上保持されている場合には(ステップS30;Yes)、レスポンスデータを生成し、ステータスを「正常」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS32)。
【0075】
ここで、レスポンスデータの一例について、再び図6を参照して説明する。
以下においては、検索対象のEFのデータが図6にしめすようなものであった場合を例として説明する。
レスポンスデータにおいては、対象レコードが活性化状態(Activate)であったか、あるいは、対象レコードが非非活性化状態(Deactivate)であったかの情報も含めている。
すなわち、レスポンスデータのフォーマットとしては、対象レコードが活性化状態(Activate)であった検索データについては、対象レコードが活性化状態(Activate)であったことを示すタグTag=「XX」に続けて、データ長、検索データ(対象レコード番号)を並べ、さらに、対象レコードが活性化状態(Activate)であった検索データに続けて、対象レコードが非非活性化状態(Deactivate)であったことを示すタグTag=「YY」を付加し、このタグTag=「YY」に続けて、データ長、検索データ(対象レコード番号)を並べる構成となっている。
【0076】
より具体的には、検索データ=「88」の場合には、検索データ=「88」は、図6を参照すると、対象レコードが活性化状態(Activate)であるレコードのうち、レコード番号=#1,2,4,5,7に含まれており、合計5個であり、対象レコードが非非活性化状態(Deactivate)であるレコードのうち、レコード番号=#3,6,8に含まれており、合計3個である。
従ってレスポンスデータRPは、以下の通りとなる。
RP=「XX 05 01 02 04 05 07 YY 03 03 06 08 90 00」
なお、最後のデータ「90 00」は、コマンドが正常に終了したことを示すコードである(以下、同様)。
【0077】
また、検索データ=「33 44 55」の場合には、図6を参照すると、対象レコードが活性化状態(Activate)であるレコードのうち、レコード番号=#1,2に含まれており、合計2個であり、対象レコードが非非活性化状態(Deactivate)であるレコードのうち、レコード番号=#3に含まれているだけであり合計1個である。
従ってレスポンスデータRPは、以下の通りとなる。
RP=「XX 02 01 02 YY 01 03 90 00」
【0078】
また、検索データ=「EE FF」の場合には、図6を参照すると、対象レコードが活性化状態(Activate)であるレコードには存在しないので、合計0個であり、対象レコードが非非活性化状態(Deactivate)であるレコードのうち、レコード番号=#8に含まれているだけであり合計1個である。
従ってレスポンスデータRPは、以下の通りとなる。
RP=「XX 00 YY 01 08 90 00」
【0079】
また、検索データ=「11 22 33 44」の場合には、図6を参照すると、対象レコードが活性化状態(Activate)であるレコードのうち、レコード番号=#1に含まれているだけであり合計1個であり、対象レコードが非非活性化状態(Deactivate)であるレコードのには存在しないので、合計0個である。
従ってレスポンスデータRPは、以下の通りとなる。
RP=「XX 01 01 YY 00 90 00」
【0080】
以上の説明のように、対象レコードが活性化状態(Activate)である場合及び対象レコードが非非活性化状態(Deactivate)である場合のいずれにおいてもデータ検索を行えるとともに、対象レコードの状態も含めて把握できるので、データの利用がより容易となる。
【0081】
次にステップS16で行う複数EF検索処理について詳細に説明する。
まず複数のEFの一例について説明する。
図9A図9Cは、複数のEFの一例の説明図である。
ここでは、理解の容易のため、複数のEFとして、第1のEFであるEF1、第2のEFであるEF2及び第3のEFであるEF3の三つのEFから検索を行う場合について説明する。しかしながら、二つあるいは四つ以上のEFであっても同様に適用が可能である。
例えば、図3に示したデータ構造の場合、第1のEFであるEF1は、EF44-11に該当し、第2のEFであるEF2は、EF44-12に該当し、第3のEFであるEF3は、EF44-13に該当する。
【0082】
図9Aに示すように、検索対象の第1のEFであるEF1は、レコード番号(実際には、データ格納アドレス)に対応づけて、フラグ71及びデータ72が格納されている。ここで、フラグ71は、実際には1ビットであるが、理解の容易のため、図9Aにおいては、「Activate」あるいは「Deactivate」と表記している。図9B及び図9Cにおいても同様である。
【0083】
より詳細には、第1のEFであるEF1は、図9Aに示すように、8つのレコードを含んでおり、レコード番号=#1のデータ格納アドレスには、フラグ71=「Activate」のデータData#1=「11 22 33 44 55 66 77 88」が格納されており、フラグ71=「Activate」であることからデータData#1は活性状態であり、当該時点で有効なデータであることを示している。
【0084】
同様に、レコード番号=#3のデータ格納アドレスには、フラグ71=「Deactivate」のデータData#3=「33 44 55 66 77 88 99 AA」が格納されており、フラグ71=「Deactivate」であることからデータData#1は非活性状態であり、当該時点で無効なデータであることを示している。
【0085】
同様に第2のEFであるEF2は、図9Bに示すように、レコード番号に対応づけて、フラグ71及びデータ72が格納されている。さらに、EF2は、6つのレコードを含んでおり、レコード番号=#1のデータ格納アドレスには、フラグ71=「Activate」のデータData#1=「AA 22 33」が格納されており、フラグ71=「Activate」であることからデータData#1は活性状態であり、当該時点で有効なデータであることを示している。
【0086】
同様に、レコード番号=#3のデータ格納アドレスには、フラグ71=「Deactivate」のデータData#3=「CC 33 44」が格納されており、フラグ71=「Deactivate」であることからデータData#3は非活性状態であり、当該時点で無効なデータであることを示している。
【0087】
同様に第3のEFであるEF3は、図9Cに示すように、レコード番号に対応づけて、フラグ71及びデータ72が格納されている。さらに、EF3は、4つのレコードを含んでおり、レコード番号=#1のデータ格納アドレスには、フラグ71=「Activate」のデータData#1=「44 55 11 22 33」が格納されており、フラグ71=「Activate」であることからデータData#1は活性状態であり、当該時点で有効なデータであることを示している。
【0088】
同様に、レコード番号=#3のデータ格納アドレスには、フラグ71=「Deactivate」のデータData#3=「AA CC 55 66 77」が格納されており、フラグ71=「Deactivate」であることからデータData#3は非活性状態であり、当該時点で無効なデータであることを示している。
【0089】
図10は、複数EF検索処理に用いる検索コマンドのデータフォーマットである。
検索コマンド80は、コマンドヘッダ部81と、データフィールド部82と、Leフィールド部83と、を備えている。
コマンドヘッダ部81は、データ検索の対象となるデータを特定するための情報を格納している。
【0090】
コマンドヘッダ部81は、コマンドクラス部81Aと、命令部81Bと、第1検索パラメータ部81Cと、第2検索パラメータ部81Dと、データ部サイズデータ81Eと、を備えている。
【0091】
コマンドクラス部81Aは、命令クラス(CLA:class)を格納しており、そのデータサイズ(データ長)は、図10の例の場合には1バイトとなっている。
【0092】
命令部81Bは、命令コード(INS:instruction)、図10の例の場合には、データ検索命令を格納しており、そのデータサイズは、図10の例の場合には1バイトとなっている。
【0093】
第1検索パラメータ部81Cは、データ検索の対象を特定するための第1命令パラメータP1を格納しているが、複数EF検索処理においては、その値は00hに固定されており、そのデータサイズは、図10の例の場合には1バイトとなっている。
【0094】
第2検索パラメータ部81Dは、複数EF検索処理を特定するための第2命令パラメータP2を格納しており、その値はF8(図5の最下行参照)となっている。なお、データサイズは、図10の例の場合には1バイトとなっている。
【0095】
データ部サイズデータ81Eは、データフィールド部82のデータサイズ(データ長)を特定するためのLcフィールドLcを格納しており、そのデータサイズは、1バイトあるいは3バイトとされており、図10の例の場合には1バイトとなっている。
【0096】
データフィールド部82は、検索対象を特定するための検索指示及び検索データを格納しており、そのデータサイズは、図10の例の場合には、データ部サイズデータ81EのLcフィールドLcで指定されたサイズ、すなわち、n(nは、自然数)バイトとなっている。
【0097】
Leフィールド部83は、検索コマンド50に対するレスポンスのデータフィールド内に期待される最大バイト数を表すデータを格納しており、そのデータサイズは、1バイトあるいは2バイトとされており、図10の例の場合には1バイトとなっている。
【0098】
より具体的には、ISO/IEC7816-4に規定されているとおり、図10の例の場合も、コマンドクラス部81Aにおいて、CLA=00h(hは16進数を表す)であるので、当該コマンドがISO/IEC7816-4に規定されているユーザコマンドに区分される検索コマンド80であることを表している。
【0099】
また、命令部81Bにおいて、INS=A2hであるので、レコード検索(Search Record)を行う命令であることを表している。
【0100】
次に複数EF検索処理について説明する。
図11は、複数EF検索処理の処理フローチャート(その1)である。
まず、MPU34Aは、第1命令パラメータP1=「00」であるか否か、すなわち、第1命令パラメータP1あるいは第2命令パラメータP2エラーが発生していないか否かを判断する(ステップS41)。
【0101】
ステップS41の判断において、第1命令パラメータP1=「00」ではない場合には(ステップS41;No)、MPU34Aは、ステータスを「第1命令パラメータP1あるいは第2命令パラメータエラーが発生」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS49)。
【0102】
ステップS41の判断において、第1命令パラメータP1=「00」である場合には(ステップS41;Yes)、データフィールド部82で示された複数の対象EFが全て存在するか否かを判断する(ステップS42)。
【0103】
ステップS42の判断において、データフィールド部82で示された複数の対象EFのうち何れか一つでも存在しない場合には(ステップS42;No)、MPU34Aは、ステータスを「EF無し」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS50)。
【0104】
ステップS42の判断において、データフィールド部82で示された複数の対象EFが全て存在する場合には(ステップS42;Yes)、MPU34Aは、検索対象とされた複数のEFは、レコードを含むレコードEFであるか否かを判断する(ステップS43)。
【0105】
ステップS43の判断において、検索対象とされた複数のEFのうち、何れか一つでもレコードを含むレコードEFではない場合には(ステップS43;No)、MPU34Aは、ステータスを「EF構造異なる」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS51)。
【0106】
ステップS43の判断において、検索対象とされた複数のEFが全てレコードを含むレコードEFである場合には(ステップS43;Yes)、MPU34Aは、対象の複数のEFは全て検索済みであるか否かを判断する(ステップS44)。
【0107】
ステップS44の判断において、対象の複数のEFが検索済みではない場合には(ステップS44;No)は、対象のEFに対し順番に対象レコードを検索する(ステップS45)。
【0108】
次に検索された対象レコードが活性化状態(Activate)であるか否かを判断する(ステップS46)。
【0109】
図12は、複数EF検索処理の処理フローチャート(その2)である。
ステップS46の判断において、対象レコードが活性化状態(Activate)である場合には(ステップS46;Yes)、MPU34Aは、レコードが活性化状態(Activate)か否かを表す判定フラグを対象レコードが活性化状態(Activate)である場合に相当するオフ状態(=0)として(ステップS47)、処理をステップS61(図12参照)に移行する。
【0110】
ステップS46の判断において、対象レコードが非非活性化状態(Deactivate)である場合には(ステップS46;No)、MPU34Aは、レコードが活性化状態(Activate)か否かを表す判定フラグを対象レコードが非非活性化状態(Deactivate)である場合に相当するオン状態(=1)とする(ステップS48)。
【0111】
つづいてMPU34Aは、検索コマンド80のデータフィールド部82で指定されたデータパターンが対象レコードに存在するか否かを判断する(ステップS61)。
ステップS61の判断において、検索コマンド80のデータフィールド部82で指定されたデータパターンが対象レコードに存在する場合には、MPU34Aは、対象レコードを特定するための番号を判定フラグに対応する作業領域に保持し(ステップS66)、処理をステップS62に移行する。
【0112】
より詳細には、検索コマンド80のデータフィールド部82で指定されたデータパターンが対象レコードに存在し、かつ、対象レコードが活性化状態(Activate)である場合に相当する判定フラグがオフ状態(=0)である場合には、MPU34Aは、活性化状態(Activate)のレコードに対応する作業領域に対象レコード番号を保持する。
【0113】
また、検索コマンド80のデータフィールド部82で指定されたデータパターンが対象レコードに存在し、かつ、対象レコードが非非活性化状態(Deactivate)である場合に相当する判定フラグがオン状態(=1)である場合には、MPU34Aは、非活性化状態(Deactivate)のレコードに対応する作業領域に対象レコード番号を保持する。
【0114】
ステップS61の判断において、検索コマンド80のデータフィールド部82で指定されたデータパターンが対象レコードに存在しない場合には(ステップS62;No)、MPU34Aは、処理対象の次のレコードがあるか否かを判断する(ステップS62)。
【0115】
ステップS62の判断において、処理対象の次のレコードがある場合には(ステップS62;Yes)、MPU34Aは、処理を再びステップS61に移行して次のレコードに対し、上述した処理を行う。
ステップS62の判断において、処理対象の次のレコードがない場合には(ステップS62;No)、処理を再びステップS44に移行し、上述した処理を行うこととなる。
【0116】
一方、ステップS44の判断において、対象の複数のEFは全て検索済みである場合には(ステップS44;Yes)、MPU34Aは、ステップS66で説明した作業領域に検索データ(対象レコード番号)が保持されて存在しているか否かを判断する(ステップS63)。
【0117】
ステップS63の判断において、ステップS67で説明した作業領域に検索データ(対象レコード番号)が一つも保持されていない場合には(ステップS63;No)、MPU34Aは、ステータスを「検索データ無し」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS65)。
【0118】
ステップS63の判断において、ステップS67で説明した作業領域に検索データ(対象レコード番号)が一つ以上保持されている場合には(ステップS63;Yes)、レスポンスデータを生成し、ステータスを「正常」として、リーダライタ12を介して情報処理装置13に送信して、処理を終了する(ステップS64)。
【0119】
ここで、レスポンスデータの一例について、再び図9A図9Cを参照して説明する。
以下においては、検索対象のEFのデータが図9A図9Cに示すようなものであった場合を例として説明する。
【0120】
レスポンスデータにおいては、対象レコードが活性化状態(Activate)であったか、あるいは、対象レコードが非非活性化状態(Deactivate)であったかの情報も含めている。
【0121】
すなわち、レスポンスデータのフォーマットとしては、対象レコードが活性化状態(Activate)であった検索データについては、対象レコードが活性化状態(Activate)であったことを示すタグTag=「XX」に続けて、データ長、対象レコードが格納されていたEFを特定する情報を表すTag=「MM」、検索レコード番号を表すTag=「NN」及び検索データ(対象レコード番号)を並べ、さらに、対象レコードが活性化状態(Activate)であった検索データに続けて、対象レコードが非非活性化状態(Deactivate)であったことを示すタグTag=「YY」を付加し、このタグTag=「YY」に続けて、データ長、対象レコードが格納されていたEFを特定する情報を表すTag=「MM」、検索レコード番号を表すTag=「NN」及び検索データ(対象レコード番号)を並べる構成となっている。
【0122】
より具体的には、検索データ=「44 55」の場合には、検索データ=「44 55」は、図9Aを参照すると、EF1には、対象レコードが活性化状態(Activate)であるレコードのうち、レコード番号=#1,2,4に含まれており、合計3個である。
【0123】
また図9Bを参照すると、EF2には、一つも含まれていない。
また、図9Cを参照すると、対象レコードが活性化状態(Activate)であるレコードのうち、レコード番号=#2に含まれており、合計1個である。
【0124】
また、図9Aを参照すると、EF1には、対象レコードが非非活性化状態(Deactivate)であるレコードのうち、レコード番号=#3に含まれており、合計1個である。
【0125】
また、図9Bを参照すると、EF2には、対象レコードが非非活性化状態(Deactivate)であるレコードのうち、レコード番号=#3に含まれており、合計1個である。
従ってレスポンスデータRPは、以下の通りとなる。
RP=「XX 0A MM 01 01 NN 03 01 02 04 MM 01 03 NN 01 02
YY 07 MM 01 01 NN 01 03 MM 01 02 NN 01 03 」
【0126】
以上の説明のように、本実施形態によれば、非活性化状態(Deactivate)のレコードを検索対象に含めることができるので、検索対象のレコードが非活性状態であっても、活性状態と同様にデータ検索をすることができるともに、データ検索結果において、得られたものが、活性状態のレコードに含まれているのか非活性状態のレコードに含まれているのかを容易に把握することができ、検索結果の有効利用を図ることができる。
【0127】
本実施形態の携帯可能電子装置は、MPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、通常のコンピュータを利用したハードウェア構成となっている。
【0128】
本実施形態の携帯可能電子装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルで、USBメモリ、SSD(Solid State Drive)等の半導体メモリ装置、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0129】
また、本実施形態の携帯可能電子装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の携帯可能電子装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0130】
また、本実施形態の携帯可能電子装置のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施形態の携帯可能電子装置で実行されるプログラムは、上述した各部(検索部、検索結果出力部)を含むモジュール構成となっており、実際のハードウェアとしてはMPU(プロセッサ)が記憶媒体からログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、検索部、検索結果出力部が主記憶装置上に生成されるようになっている。
【0131】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0132】
以上の説明においては、検索対象として、ひいては、検索結果として、活性化状態(Activate)のレコード及び非活性化状態(Deactivate)のレコードとしていたが、検索コマンドにより何れか一方のみを検索対象とすることも命令パラメータの設定により可能である。
【0133】
以上の説明においては、非活性化状態(Deactivate)のレコードを制限せずに検索対象としていたが、非活性化状態(Deactivate)とされた時期を記憶しておき、時期的な制限をかけるように構成することも可能である。
【符号の説明】
【0134】
10 情報処理システム
11 携帯可能電子装置
12 リーダライタ
13 情報処理装置
14 通信ネットワーク
15 情報サーバ
21 演算制御部
21A MPU
21B メモリ
22 入出力インタフェース(I/F)部
23 通信インタフェース(I/F)部
24 外部記憶装置
25 操作入力部
26 表示部
31 アンテナ
32 通信/受電部
33 電源部
34 コントローラ
34A MPU
34B EEPROM
34C RAM
34D ROM
50 検索コマンド
51 コマンドヘッダ部
51A コマンドクラス部
51B 命令部
51C 第1検索パラメータ部
51D 第2検索パラメータ部
51E データ部サイズデータ
52 データフィールド部
53 Leフィールド部
61 フラグ
62 データ
71 フラグ
72 データ
80 検索コマンド
81 コマンドヘッダ部
81A コマンドクラス部
81B 命令部
81C 第1検索パラメータ部
81D 第2検索パラメータ部
81E データ部サイズデータ
82 データフィールド部
83 Leフィールド部
Lc Lcフィールド
P1 第1命令パラメータ
P2 第2命令パラメータ
RP レスポンスデータ
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図9C
図10
図11
図12