(57)【要約】【課題】１台のカードリーダにより運複数枚のカードを取り扱うことができると共に、これまでに作成されたアプリケーションプログラムをそのまま使用可能にする。【解決手段】本発明のカードシステム２１は、カードリーダ２４のデバイスドライバ２８を、２つのアプリケーションプログラム２６、２７とそれぞれ対応する２つのアプリケーションＩ／Ｆプログラム２９，３０と、これら２つのアプリケーションＩ／Ｆプログラム２９，３０を２つのカード２２、２３に対して各別に対応させるデバイスＩ／Ｆプログラム３１とから構成したものである。この構成によれば、１台のカードリーダ２４で２枚のカード２２、２３を取り扱うことができると共に、これまでに作成された多数のアプリケーションプログラムをそのまま使用することができる。【選択図】　図１
2004046610.tif 000002
【特許請求の範囲】
【請求項１】
カードをリード・ライトするカードリーダと、
このカードリーダに接続され、カード用のアプリケーションプログラムと、このアプリケーションプログラムが前記カードリーダに対してアクセス可能なようにするデバイスドライバとがインストールされた情報処理機器とを備えて成るカードシステムにおいて、
前記カードリーダを、複数枚のカードに対応可能なように構成し、
前記デバイスドライバを、複数のアプリケーションプログラムに対して、それぞれ対応する複数のアプリケーションＩ／Ｆプログラムと、これら複数のアプリケーションＩ／Ｆプログラムを前記カードリーダによってリード・ライトされる複数のカードに対して各別に対応させるデバイスＩ／Ｆプログラムとから構成したことを特徴とするカードシステム。
【請求項２】
前記デバイスＩ／Ｆプログラムは、前記複数のアプリケーションＩ／Ｆプログラムから出力されたコマンドを前記複数のカードに振り分けると共に、前記複数のカードから出力されたレスポンスを前記複数のアプリケーションＩ／Ｆプログラムに振り分ける振り分け機能を備えていることを特徴とする請求項１記載のカードシステム。
【請求項３】
前記デバイスＩ／Ｆプログラムは、前記各アプリケーションＩ／Ｆプログラムから出力されたコマンドを各別に時系列でバッファリングするスケジュール機能と、前記バッファリングされたコマンドを時系列で取得して前記カードリーダへ送信する通信機能とを備えていることを特徴とする請求項２記載のカードシステム。
【請求項４】
請求項１ないし３のいずれかに記載されたデバイスドライバを記録する記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カードをリード・ライトするカードリーダと、このカードリーダが接続された情報処理機器としての例えばパソコンとを備えて成るカードシステム及び記録媒体に関する。
【０００２】
【発明が解決しようとする課題】
例えばＩＣカードを取り扱うカードシステムは、通常、１台のカードリーダによって１枚のＩＣカードを取り扱うことを前提にして構成されており、この一例を図３に示す。このシステムでは、１台のカードリーダ１をパソコン２に接続し、パソコン２内に、ＩＣカード用のアプリケーションプログラム３と、このアプリケーションプログラム３を上記カードリーダ１に対してアクセス可能なようにするデバイスドライバ４とをインストールしている。この構成の場合、アプリケーションプログラム３によって１台のカードリーダ１を介して１枚のＩＣカード５に対してアクセスする構成となっている。
【０００３】
さて、近年、ビジネス上の制限等により、例えば２枚のＩＣカードを取り扱わなければならない場合が出てきている。このような場合には、カードシステムを、図４のように構成することが容易に考えられる。この図４のカードシステムでは、２台のカードリーダ６ａ、６ｂをパソコン２に接続し、パソコン２内に、２枚のＩＣカード７ａ、７ｂ用の２つのアプリケーションプログラム８ａ、８ｂと、このアプリケーションプログラム８ａ、８ｂを上記２台のカードリーダ６ａ、６ｂに対してアクセス可能なようにする２つのデバイスドライバ９ａ、９ｂとをインストールしている。この構成の場合、２つのアプリケーションプログラム８ａ、８ｂによって２台のカードリーダ６ａ、６ｂを介して２枚のＩＣカード７ａ、７ｂに対してアクセスする構成となっている。
【０００４】
しかし、上記図４のシステムの場合、２台のカードリーダ６ａ、６ｂを使用するので、コストが高くなるという問題点がある。これに対して、近年、１台のカードリーダで２枚のＩＣカードに対応可能なものが考えられている。そこで、本発明者らは、このカードリーダを用いて、図５に示すようなカードシステムを開発してみた。
【０００５】
この図５のシステムでは、２枚のＩＣカードに対応可能なカードリーダ１０と２個のアプリケーションプログラム８ａ、８ｂとに対応する新しいデバイスドライバ１１を作成し、これをパソコン２にインストールしている。上記デバイスドライバ１１は、２個のアプリケーションプログラム８ａ、８ｂに対応するアプリケーションＩ／Ｆプログラム１２と、カードリーダ１０に対応するデバイスＩ／Ｆプログラム１３とから構成されている。
【０００６】
しかし、上記図５のカードシステムの場合、２個のアプリケーションプログラム８ａ、８ｂを、新しいアプリケーションＩ／Ｆプログラム１２のアプリケーションＩ／Ｆ関数に合うように変更しなければならない。このため、これまでに作成した多数のアプリケーションプログラムをそのままでは使用できなくなるという問題点が発生する。また、新しいアプリケーションプログラムを作成する場合も、新しいアプリケーションＩ／Ｆプログラム１２を理解した上で作成しなければならないので、アプリケーションプログラム作成者にとって負担が大きくなるという不具合もある。これらの点が、解決すべき課題となっている。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的は、１台のカードリーダにより複数枚のカードを取り扱うことができると共に、これまでに作成されたアプリケーションプログラムをそのまま使用することができるカードシステム及び記録媒体を提供するにある。
【０００８】
【課題を解決するための手段】
請求項１の発明においては、デバイスドライバを、複数のアプリケーションプログラムとそれぞれ対応する複数のアプリケーションＩ／Ｆプログラムと、これら複数のアプリケーションＩ／Ｆプログラムをカードリーダによってリード・ライトされる複数のカードに対して各別に対応させるデバイスＩ／Ｆプログラムとから構成した。この構成の場合、１台のカードリーダにより複数枚のカードを取り扱うことができる。また、複数のアプリケーションＩ／ＦプログラムのアプリＩ／Ｆ関数を従来と同じになるように構成することが可能であるから、これまでに作成された多数のアプリケーションプログラムをそのまま使用することができる。
【０００９】
この構成の場合、請求項２の発明のように、前記デバイスＩ／Ｆプログラムは、前記複数のアプリケーションＩ／Ｆプログラムから出力されたコマンドを前記複数のカードに振り分けると共に、前記複数のカードから出力されたレスポンスを前記複数のアプリケーションＩ／Ｆプログラムに振り分ける振り分け機能を備えていることが好ましい。
【００１０】
また、請求項３の発明のように、前記デバイスＩ／Ｆプログラムは、前記各アプリケーションＩ／Ｆプログラムから出力されたコマンドを各別に時系列でバッファリングするスケジュール機能と、前記バッファリングされたコマンドを時系列で取得して前記カードリーダへ送信する通信機能とを備えていることがより一層好ましい構成である。
【００１１】
更に、請求項４の発明のように、請求項１ないし３のいずれかに記載されたデバイスドライバを、記録媒体に記録するように構成しても良い。
【００１２】
【発明の実施の形態】
以下、本発明の一実施例について、図１及び図２を参照しながら説明する。まず、図１は、本実施例のカードシステム２１の全体構成を概略的に示すブロック図である。この図１に示すように、上記カードシステム２１は、例えば２枚のＩＣカード２２，２３に対応可能なように構成されたカードリーダ２４と、このカードリーダ２４に接続されたパソコン（情報処理機器）２５とを備えて構成されている。
【００１３】
上記パソコン２５内には、２枚のＩＣカード２２、２３用の２個のアプリケーションプログラム２６、２７がインストールされている。更に、これら２個のアプリケーションプログラム２６、２７を上記１台のカードリーダ２４に対してアクセス可能なようにするデバイスドライバ２８がインストールされている。
【００１４】
このデバイスドライバ２８は、２個のアプリケーションプログラム２６、２７とそれぞれ対応する２個のアプリケーションＩ／Ｆプログラム２９、３０と、これら２個のアプリケーションＩ／Ｆプログラム２９、３０をカードリーダ２４によってリード・ライトされる２枚のカード２２、２３に対して各別に対応させるデバイスＩ／Ｆプログラム３１とから構成されている。
【００１５】
この構成の場合、各アプリケーションＩ／Ｆプログラム２９、３０は、各アプリケーションプログラム２６、２７との間のインターフェース、即ち、アプリケーションＩ／Ｆ関数が従来構成（図３や図４参照）のアプリケーションＩ／Ｆ関数と同じになるように構成されている。これにより、アプリケーションプログラム２６、２７としては、従来構成において使用されている多数のアプリケーションプログラムをそのまま使用することができる構成となっている。
【００１６】
一方、デバイスＩ／Ｆプログラム３１は、２つのアプリケーションプログラム２６、２７（及びアプリケーションＩ／Ｆプログラム２９、３０）によって１台のカードリーダ２４を介して２枚のＩＣカード２２、２３に対してアクセス可能にするための機能を有している。この場合、２つのアプリケーションプログラム２６、２７側からは、仮想的に２台のカードリーダが存在するように見える構成となっている。
【００１７】
上記デバイスＩ／Ｆプログラム３１は、上記機能を実現するために、図２に示すように、振り分け機能３２とスケジュール機能３３と通信機能３４とを備えている。上記振り分け機能３２は、２つのアプリケーションＩ／Ｆプログラム２９、３０からの種々のコマンドを、処理対象であるカードリーダ２４の２つのカード２３、２４毎に振り分けて通知（送信）するコマンド振り分け機能３２ａと、カードリーダ２４の２つのカード２３、２４からの各種のレスポンスを、処理対象である２つのアプリケーションＩ／Ｆプログラム２９、３０毎に振り分けて通知（送信）するレスポンス振り分け機能３２ｂとから構成されている。
【００１８】
また、スケジュール機能３３は、上記コマンド振り分け振り分け機能３２ａによって振り分けられたコマンドを時系列でバッファリングするバッファリング機能３３ａと、カードリーダ２４の２つのカード２３、２４からの各種のレスポンスを上記レスポンス振り分け機能３２ｂへ通知する通知機能３３ｂとから構成されている。尚、上記バッファリング機能３３ａは、一定時間、バッファが空のときには、カード抜け、追加検出などの処理内容を自らバッファリングするように構成されている。
【００１９】
更に、通信機能３４は、上記バッファリング機能３３ａによりバッファリングされたコマンドを時系列で取得して、カードリーダ２４（２つのカード２２、２３）へ送信する送信機能３４ａと、カードリーダ２４（２つのカード２２、２３）からのレスポンスを受信して上記通知機能３３ｂへ送る受信機能３４ｂとから構成されている。
【００２０】
本実施例の場合、デバイスＩ／Ｆプログラム３１の振り分け機能３２及びスケジュール機能３３は、例えばペトリネットという周知のアルゴリズムを用いることにより実現することができる。尚、他のアルゴリズムを用いて上記各機能を実現するように構成しても良い。
【００２１】
上記したデバイスＩ／Ｆプログラム３１及びアプリケーションＩ／Ｆプログラム２９、３０によれば、２つのアプリケーションプログラム２６、２７は、あたかも２台のカードリーダが存在するように動作する。即ち、２つのアプリケーションプログラム２６、２７からのコマンドは、各アプリケーションプログラム２６、２７（２枚のカード２２、２３）毎に振り分けられてスケジュールされ、２枚のカード２２、２３に対して重複することなく各別にアクセスされるように構成されている。そして、２枚のカード２２、２３からのレスポンスは、２つのアプリケーションプログラム２６、２７（アプリケーションＩ／Ｆプログラム２９、３９）毎に振り分けられて通知されるように構成されている。
【００２２】
この構成の場合、基本的には、一方のアプリケーションプログラムが一方のカードに対してコマンドを送り、そのレスポンスを待っている間に、他方のアプリケーションプログラムが他方のカードに対してコマンドを送ってアクセスすることができる構成となっている。そして、一方のアプリケーションプログラムの一方のカードに対するアクセスがないときには、他方のアプリケーションプログラムの他方のカードに対するアクセスが順次進行する構成となっている。
【００２３】
このような構成の本実施例においては、１台のカードリーダ２４と、２つのアプリケーションプログラム２６、２７とデバイスドライバ２８をインストールしたパソコン２５とを備えてなるカードシステム２１において、デバイスドライバ２８を、２つのアプリケーションプログラム２６、２７とそれぞれ対応する２つのアプリケーションＩ／Ｆプログラム２９、３０と、これら２つのアプリケーションＩ／Ｆプログラム２９、３０をカードリーダ２４によってリード・ライトされる２枚のカード２２，２３に対して各別に対応させるデバイスＩ／Ｆプログラム３１とから構成するようにした。
【００２４】
この構成によれば、カードリーダ２４を１台しか備えないカードシステム２１でありながら、２つのアプリケーションプログラム２６、２７によって２枚のカード２２、２３を取り扱う（アクセスする）ことができる。しかも、この構成の場合、２つのアプリケーションＩ／Ｆプログラム２９、３０のアプリＩ／Ｆ関数を従来構成（図３及び図４参照）のそれと同じになるように構成することが可能であるから、これまでに作成された複数（多数）のアプリケーションプログラムをそのまま使用することができる。
【００２５】
そして、上記構成の場合、デバイスＩ／Ｆプログラム３１は、２つのアプリケーションプログラム２６、２７（２つのアプリケーションＩ／Ｆプログラム２９、３０）から出力されたコマンドを２つのカード２２、２３に振り分けると共に、これら２つのカード２２、２３から出力されたレスポンスを２つのアプリケーションＩ／Ｆプログラム２９，３０に振り分ける振り分け機能３２と、各アプリケーションＩ／Ｆプログラム２９、３０から出力されたコマンドを各別に時系列でバッファリングするスケジュール機能３３と、バッファリングされたコマンドを時系列で取得して前記カードリーダ２４へ送信する通信機能３４とを備えるように構成した。これにより、カードリーダ２４を１台しか備えないカードシステム２１でありながら、２つのアプリケーションプログラム２６、２７によって２枚のカード２２、２３を取り扱うカードシステム２１を容易に実現することができる。
【００２６】
また、本実施例においては、デバイスドライバ２８を、記録媒体（例えばＣＤ−ＲＯＭやＦＤやメモリカード等）に記録しておくように構成した。このように構成すると、デバイスドライバ２８を上記記録媒体からパソコン２５へ容易にインストールすることができる。
【００２７】
尚、上記実施例においては、パソコン２５に２つのアプリケーションプログラム２６，２７をインストールしておくように構成したが、これに限られるものではなく、例えば、多数のカード用アプリケーションプログラムをインストールしておき、これら多数のアプリケーションプログラムの中から所望の２つを選択して上記カードシステム２１に適用するように構成しても良い。
【００２８】
また、上記実施例では、１台のカードリーダ２４によってリードライト可能なカードの枚数を２枚としたが、これに代えて、３枚以上のカードとしても良い。この場合、アプリケーションＩ／Ｆプログラムの個数を３つ以上とすると共に、アプリケーションプログラムの個数も３つ以上とすれば良い。
【００２９】
更に、上記実施例においては、情報処理機器として例えばパソコン２５に適用したが、これに限られるものではなく、他のコンピュータや情報処理端末等に適用しても良い。更にまた、上記実施例では、ＩＣカードのカードシステム２１に適用したが、これに限られるものではなく、例えば磁気カードや他のカードのカードシステムに適用するように構成しても良い。
【図面の簡単な説明】
【図１】本発明の一実施例を示すカードシステムのブロック図
【図２】デバイスＩ／Ｆプログラムの機能を説明する図
【図３】従来構成を示す図１相当図
【図４】他の従来構成を示す図１相当図
【図５】更に他の従来構成を示す図１相当図
【符号の説明】
２１はカードシステム、２２は第１のカード、２３は第２のカード、２４はカードリーダ、２５はパソコン（情報処理機器）、２６、２７はアプリケーションプログラム、２８はデバイスドライバ、２９、３０はアプリケーションＩ／Ｆプログラム、３１はデバイスＩ／Ｆプログラム、３２は振り分け機能、３３はスケジュール機能、３４は通信機能を示す。
【図１】
2004046610.tif 000003
【図２】
2004046610.tif 000004
【図３】
2004046610.tif 000005
【図４】
2004046610.tif 000006
【図５】
2004046610.tif 000007