(57)【特許請求の範囲】
【請求項１】
カード状記憶媒体より検索対象データを読み取る読取手段と、
前記検索対象データについて、検索範囲の開始データおよび検索範囲の終了データと、チェックすべき桁数を示すチェック桁数データとから構成されたレコードテーブルを記憶するレコードテーブル記憶手段と、
前記レコードテーブル記憶手段に記憶されているレコードテーブルのチェック桁数データに基づいて前記開始データのチェック桁以外の部分にＮＵＬＬを示す「０」を代入し、また前記終了データのチェック桁以外の部分に１６進法の最終値である「Ｆ」を代入し前記開始データおよび前記終了データを置換する置換手段と、
前記読取手段により読み取られた検索対象データが、前記置換手段により置換された前記開始データおよび前記終了データの範囲内に存在するか否かを検索する検索手段と
を具備したことを特徴とするカード処理装置。
【請求項２】
検索対象データについて、検索範囲の開始データおよび検索範囲の終了データと、チェックすべき桁数を示すチェック桁数データとから構成されたレコードテーブルを記憶するステップと、
前記レコードテーブルのチェック桁数データに基づいて前記開始データのチェック桁以外の部分にＮＵＬＬを示す「０」を代入し、また前記終了データのチェック桁以外の部分に１６進法の最終値である「Ｆ」を代入し前記開始データおよび前記終了データを置換するステップと、
カード状記憶媒体より検索対象データを読み取るステップと、
読み取った検索対象データが、置換した前記開始データおよび前記終了データの範囲内に存在するか否かを検索するステップと
を有することを特徴とするカード処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば磁気記録式あるいはＩＣメモリ式などのカード状記録媒体からカード固有の情報を読み取りカード状記録媒体の認証を行う際に用いられるカード処理装置、カード処理方法に関する。
【０００２】
【従来の技術】
従来のカード処理装置としては、ＩＣカードよりデータを読み取り、ＩＣカード自体の正当性をチェックした後、カード処理を行うカードリーダ／ライタなどがある。
【０００３】
従来のカードリーダ／ライタには、予めメモリにチェック元となる複数のレコードがレコードテーブルとして記憶されており、各レコードの内容とＩＣカードから読み取ったデータとを比較していずれかのレコードに該当データが存在するかどうかをチェックすることでＩＣカードが有効か無効かの判定（正当性チェック）を行っている。
【０００４】
メモリのレコードテーブルには、図５に示すように、レコード番号に対応してデータ範囲を示すＦｒｏｍデータとＴｏデータとチェック桁数が予め格納されている。
【０００５】
カードリーダ／ライタがカードから読み取った検索対象データが、例えば「56789012」などの場合、カードリーダ／ライタは、まず、メモリのレコードテーブルの第１レコードのチェック桁数を見る（図６のＳ６０１）。
【０００６】
そして、カードリーダ／ライタは、その桁数分のデータをＦｒｏｍデータ、Ｔｏデータ、検索対象データからそれぞれ抽出する（Ｓ６０２、Ｓ６０３）。
【０００７】
この例の場合、Ｆｒｏｍデータは、「１０」、Ｔｏデータは「２０」、検索対象データは「５６」となり、検索対象データがこの第１レコードの範囲には含まれおらず、判定結果としては、Ｎｏとなり、次のレコードの検索を行う（Ｓ６０５、Ｓ６０６）。
【０００８】
このような処理を順次繰り返し、全レコードの検索が終了するか（Ｓ６０５のＹｅｓ）、またはどこかのレコードの範囲に含まれた場合に（Ｓ６０４のＹｅｓ）、検索処理は終了する。
【０００９】
この例では、３レコード目に該当データが含まれているため、３レコード目を検索した時点で処理が終了となる（Ｓ６０４）。
【００１０】
すなわち、従来のカードリーダ／ライタの場合、１レコード毎にチェック桁数分のデータの抽出を行った後、その抽出した桁の中でデータが存在するか否かのチェックを行っている。
【００１１】
ところで、このようなカードリーダ／ライタを設計および商品化する上では、装置自体の処理機能（検索プログラム）が正常に機能するかどうかを確認する試験（デバッグなど）が行われる。
【００１２】
【発明が解決しようとする課題】
しかしながら、従来のカードリーダ／ライタ、つまりカード処理装置の場合、上記のようにカードよりデータを読み取る際に、レコード毎にデータからチェック桁を抽出する処理を行った上で、カードより読み出したデータが各レコードの範囲内に存在するか否かを検索するという煩わしい処理を随時行う必要があるため、試験（デバッグなど）に多大な時間を要するという問題がある。
【００１３】
また、従来のカード処理装置では、実際にカードが利用される際に、データからの桁数抽出処理と検索処理とを行うためカード処理に時間がかかり、カード処理時間の短縮化を求められるバスや駅の改札業務、有料道路の出入口などに導入される入退場システムには不向きであるという問題点があった。
【００１４】
本発明はこのような課題を解決するためになされたもので、カード処理時間を短縮することのできるカード処理装置、カード処理方法を提供することを目的としている。
【００１５】
【課題を解決するための手段】
上記した目的を達成するために、請求項１記載の発明は、カード状記憶媒体より検索対象データを読み取る読取手段と、前記検索対象データについて、検索範囲の開始データおよび検索範囲の終了データと、チェックすべき桁数を示すチェック桁数データとから構成されたレコードテーブルを記憶するレコードテーブル記憶手段と、前記レコードテーブル記憶手段に記憶されているレコードテーブルのチェック桁数データに基づいて前記開始データのチェック桁以外の部分にＮＵＬＬを示す「０」を代入し、また前記終了データのチェック桁以外の部分に１６進法の最終値である「Ｆ」を代入し前記開始データおよび前記終了データを置換する置換手段と、前記読取手段により読み取られた検索対象データが、前記置換手段により置換された前記開始データおよび前記終了データの範囲内に存在するか否かを検索する検索手段とを具備することを特徴としている。
【００１６】
請求項２記載の発明は、検索対象データについて、検索範囲の開始データおよび検索範囲の終了データと、チェックすべき桁数を示すチェック桁数データとから構成されたレコードテーブルを記憶するステップと、前記レコードテーブルのチェック桁数データに基づいて前記開始データのチェック桁以外の部分にＮＵＬＬを示す「０」を代入し、また前記終了データのチェック桁以外の部分に１６進法の最終値である「Ｆ」を代入し前記開始データおよび前記終了データを置換するステップと、カード状記憶媒体より検索対象データを読み取るステップと、読み取った検索対象データが、置換した前記開始データおよび前記終了データの範囲内に存在するか否かを検索するステップとを有することを特徴としている。
【００１７】
本発明では、レコードテーブル記憶手段に記憶されているレコードテーブルのチェック桁数データに基づいて開始データのチェック桁以外の部分にＮＵＬＬを示す「０」を代入し、また終了データのチェック桁以外の部分に１６進法の最終値である「Ｆ」を代入し開始データおよび終了データを予め置換しておく。
【００１８】
そして、読取手段によりカード状記憶媒体から検索対象データが読み取られたときに、検索対象データが、置換された開始データおよび終了データの範囲内に存在するか否かを検索することで、カード状記憶媒体が有効か無効かのチェックを行う。これにより、従来検索時に行っていた検索対象データ、開始データおよび終了データからの桁数分のデータ抽出処理が不用になり、カードデータの検索処理を高速に行うことができ、カード処理時間を短縮することができる。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図１は本発明に係る一つの実施形態のカード処理システムの構成を示す図である。
【００２０】
同図に示すように、このカード処理システムは、カード状記録媒体、例えばＩＣメモリ式のクレジットカード（以下ＩＣカード１と称す）をセットして、ＩＣカード１から情報を読み取り、カード処理を実行するカードリーダ／ライタ２と、このカードリーダ／ライタ２に通信網３を介して接続されたコンピュータ４とを有している。コンピュータ４は、カードリーダ／ライタ２に対して検索元のデータとなるレコードテーブルを転送するホストコンピュータであり、カード会社などに設置されている。コンピュータ４は、カードリーダ／ライタ２からの料金引き落とし依頼を受けて該当預金口座への料金引き落とし処理などを実行する。
【００２１】
ＩＣカード１には、カードを識別するためのカード固有の情報、つまり検索対象データが記憶されている。この例において、検索対象データの値は、従来の技術で説明した例と同様に、８桁の数値データ、例えば「56789012」などとする。
【００２２】
カードリーダ／ライタ２は、ＣＰＵなどの制御部と、ＥＥＰＲＯＭ、ＲＡＭなどのメモリと、ＩＣカード１から情報を読み取りおよび書き込むカードリードライト部と、ＥＥＰＲＯＭにはこの装置の制御プログラムおよびコンピュータ４から転送されてきたレコードテーブルが記憶されており、装置起動時にＣＰＵが制御プログラムを読み込みＲＡＭに展開することでカード処理が可能になる。制御プログラムおよびレコードテーブルの内容はアップグレードあるいは更新可能である。
【００２３】
以下、図２〜図５を参照してこのカード処理システムにおけるカードリーダ／ライタ２の動作を説明する。なお、説明を判りやすくするために、検索元のレコードテーブルは、複数のレコードを有し、従来の説明で図５に示したもの、つまりデータの範囲を示すＦｒｏｍデータ（検索範囲の開始データ）およびＴｏデータ（検索範囲の終了データ）と、チェックすべき桁数を示すチェック桁数データとから構成されているものとし、コンピュータ４からカードリーダ／ライタ２のメモリに予め転送され記憶されているものとする。
【００２４】
このカードリーダ／ライタ２の場合、検索処理前の事前準備として、カードリーダ／ライタ２のメモリに記憶されているレコードテーブルのデータ群（各レコードのＦｒｏｍデータおよびＴｏデータ）を変換しておく。
【００２５】
従って、このカードリーダ／ライタ２では、制御部は、まず、１レコード目からチェック桁数が最大桁（８桁）かどうかをチェックし（図２のＳ２０１）、最大桁未満であれば、データの置換処理を実施する。
【００２６】
図５のレコードテーブルでは、第１レコードのチェック桁数が「２」であるため、データの置換処理が必要となる。
【００２７】
この例では、第１レコードのＦｒｏｍデータが「10999999」であるが、必要な値は上２桁のみであるため、カードリーダ／ライタ２の制御部は、残りの下６桁をすべてＮＵＬＬ、例えば「0」などに置き換える。つまり満たない桁に「0」を埋める（Ｓ２０２）。
【００２８】
同様に、Ｔｏデータは「20999999」であるが、必要な値は上２桁のみであるため、カードリーダ／ライタ２の制御部は、残りの下６桁をすべて１６進法の最終値である「F」に置き換える。つまり満たない桁に「F」を埋める（Ｓ２０３）。
【００２９】
このデータ置換処理は、レコードテーブルの各レコードのデータ群すべてに対して行われる。
【００３０】
この結果、図３に示すような置換後のレコードテーブル（データ群）が生成される。
【００３１】
以降、チェック桁数は、意識する必要がなくなるため、事前変換したレコードテーブルのフォーマットでは不用となっている。
【００３２】
続いて、ＩＣカード１から実際に読み取ったデータの検索処理動作について説明する。なお、検索対象データの値は、従来の技術で説明した例と同様に「56789012」とする。
【００３３】
この場合、カードリーダ／ライタ２では、装置本体にセットされたＩＣカード１からカードリードライト部がデータを読み取ると、制御部は、まず、検索レコード番号ｎに１を設定し（図４のＳ４０１）、予め生成しておいた図３のレコードテーブルの第１レコードの範囲に検索対象データが含まれているかどうかをチェックする（図４のＳ４０２）。
【００３４】
このチェック結果、第１レコードの範囲に検索対象データが含まれていれば（Ｓ４０２のＹｅｓ）、検索処理終了となるが、この例では含まれないため、このＳ４０２の処理での判定はＮｏとなり、制御部は、次のレコードの検索を行う（Ｓ４０３、Ｓ４０４）。
【００３５】
この処理を順次繰り返し、全レコードの検索が終了するか（Ｓ４０３のＹｅｓ）、またはどこかのレコードの範囲に含まれていた場合（Ｓ４０２のＹｅｓ）、制御部は、検索処理を終了する。
【００３６】
図３のレコードテーブルの例では、「56789012」は、３レコード目の範囲（55550000〜7777FFFF）に含まれるため、そこで検索処理終了となる（Ｓ４０３）。
【００３７】
上記検索処理により、いずれかのレコードにＩＣカード１のデータがヒットすれば、そのＩＣカード１は、有効（使用可能）であり、続いて、ＩＣカードリーダライタ２によるＩＣカード１へのデータの書き込み処理やコンピュータ４に対する料金引き落とし依頼の処理などの通常のカード処理が行われる。
【００３８】
従来の技術の処理（図６のフローチャート）と本実施例の処理（図３のフローチャート）とを比較すると、図６の検索処理ステップＳ６０２，Ｓ６０３が図３には存在せず、その分、処理の高速化が図られることが判る。
【００３９】
つまり、従来の場合、処理のループ回数が多くなる（つまりレコードｎの値が大きい）と、その分処理が増え、処理時間が増大する。
【００４０】
本発明では、チェックする桁数が常に最大桁数分となってしまうものの、従来のような都度一律でない桁数分データを抽出する処理が不用になり、検索処理の高速化を図ることができる。
【００４１】
ここで、検索対象データを「98765439」とした場合（ケース）について説明する。従来の技術で示した図５のレコードテーブルを用いて本発明のように検索桁数を最大桁「８」で「98765439」をそのまま検索すると、「データが含まれない」という検索結果になるが、正解としては、７桁を抽出して検索する必要があるため「含まれる」という結果を導く必要がある。このため、図３のようなレコードテーブルへの事前変換処理は必須である。
【００４２】
このケースのように、検索対象データ側のチェック桁数に含まれない値に左右されることなく検索できるのも本実施形態のカードリーダ／ライタ２の利点となる。
【００４３】
なお、今まで説明した例では、第１レコードからの逐次検索を行っているが、レコードテーブルの各レコードが昇順、降順どちらか一方で並べられていれば、二分検索も併用することができ、さらに検索処理の高速化を図ることができる。
【００４４】
このようにこの実施形態のカード処理システムによれば、検索すべき桁数が全桁ではないデータ検索処理を行う場合、カードリーダ／ライタ２のメモリのレコードテーブルのデータを事前に検索桁数以外の部分を考慮しなくても済むようにデータを置換しておき、ＩＣカード１からデータを読み取ったときには、同じ桁数でのデータ検索を実行するだけなので、カード処理手順の単純化およびカード処理の高速化を図ることができる。
【００４５】
また、データを検索する際に、検索対象桁数に含まれない桁位置に入っている値により検索結果が変わるような不具合も回避できる。
【００４６】
すなわち、Ｆｒｏｍ−Ｔｏ形式のレコードテーブルでの検索処理により検索すべき桁数が全桁ではないデータ検索を行う上で、同一桁数での比較になるので、抽出処理が不要になり処理手順が単純化され、検索処理を高速化することができ、カード処理時間を短縮することができる。
【００４７】
なお、本発明は上記実施形態のみに限定されるものではない。
上記実施形態では、ＩＣカード１を読み書きするカードリーダ／ライタ２を例にして説明したが、この他、磁気記録式や無線通信方式のカード状記録媒体を読み書きするカード処理装置についても本発明を適用できることは言うまでもない。
【００４８】
また、上記実施形態におけるカードリーダ／ライタ２の処理を実行する制御プログラム（ソフトウェア）は、ＩＣカードやフレキシブルディスクなどのコンピュータあるいはカードリーダ／ライタ２が読み出し可能な記憶媒体に記憶されていても良く、また、ソフトウェア（プログラム）単体として伝送されるものでもよい。この場合、記憶媒体に記憶されたソフトウェア（プログラム）をコンピュータあるいはカードリーダ／ライタ２が読み出したり、ＬＡＮやインターネッ上のサイト（サーバ）からダウンロードすることにより、上記実施形態における処理が可能になる。
【００４９】
つまり、本発明におけるソフトウェア（プログラム）は、コンピュータと独立した記憶媒体に記憶されているものだけに限らず、ＬＡＮやインターネットなどの伝送媒体を介して流通されるものも含まれる。
【００５０】
なお、記憶媒体としては、上記ＩＣカードやフレキシブルディスクの他、例えば磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤなど）、光磁気ディスク（ＭＯなど）、半導体メモリなど、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式はいずれの形態であっても良い。
【００５１】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフトなどのＭＷ（ミドルウェア）などが本実施形態を実現するための各処理の一部を実行しても良い。
【００５２】
さらに、記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネットなどにより伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。また、記憶媒体は一つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記録媒体に含まれ、媒体構成はいずれの構成であっても良い。
【００５３】
なお、コンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコンなどの一つからなる装置、複数の装置がネットワーク接続されたシステムなどのいずれの構成であっても良い。
【００５４】
また、コンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコンなども含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【００５５】
以上説明したように本発明によれば、レコードテーブル記憶手段に記憶されている開始データのチェック桁以外の部分にＮＵＬＬを示す「０」を代入し、また終了データのチェック桁以外の部分に１６進法の最終値である「Ｆ」を代入し開始データおよび終了データを予め置換しておき、読取手段によりカード状記憶媒体から検索対象データが読み取られたときに、検索対象データが、開始データおよび終了データの範囲内に存在するか否かを検索することで、従来検索時に行っていた検索対象データ、開始データおよび終了データからの桁数分のデータの抽出処理が不要になり、カードデータの検索処理を高速に行うことができ、カード処理時間を短縮することができる。
【図面の簡単な説明】
【図１】本発明の一つの実施形態のカード処理システムの構成を示す図である。
【図２】この実施形態のカード処理システムにおいて、カードリーダ／ライタによる事前置換処理を示すフローチャートである。
【図３】図２の事前置換処理にて置換されたレコードテーブルの内容を示す図である。
【図４】カードリーダ／ライタによる検索処理を示すフローチャートである。
【図５】従来の検索処理に使用されるレコードテーブルを示す図。
【図６】従来の検索処理を示すフローチャートである。
【符号の説明】
１…ＩＣカード、２…カードリーダ／ライタ、３…通信網、４…コンピュータ。
【図１】
0003984062.tif 000002
【図２】
0003984062.tif 000003
【図３】
0003984062.tif 000004
【図４】
0003984062.tif 000005
【図５】
0003984062.tif 000006
【図６】
0003984062.tif 000007