(57)【要約】【課題】電子機器デバイスとの間で通信機能を提供する通信制御ソフトウェアの修正に多大な工数をかけずに、既存のアプリケーションとの互換性を保つことが可能な通信機能提供装置、通信システム、および通信機能提供方法を提供する。【解決手段】カードリーダライタの動作を制御するアプリケーションプログラム部２１０と、ＰＣ／ＳＣ対応カードリーダライタとの間で通信機能を提供する通信制御ソフトウェア部２２０と、ＰＣ／ＳＣ仕様に応じて各リソースを管理するためのリソースマネージャ２３０と、ＰＣ／ＳＣ対応のカードリーダライタの機能を利用するためのインタフェースを提供するＰＣ／ＳＣデバイスドライバ部２４０と、通信制御ソフトウェア部とリソースマネージャとの間でＰＣ／ＳＣ対応の基本通信機能を提供するためのＰＣ／ＳＣ変換部２６０とを有する。【選択図】図４
2015197688.tif 000002
【特許請求の範囲】
【請求項１】
電子機器デバイスとの間で情報の送受信を行う通信機能を提供する通信機能提供装置であって、
前記電子機器デバイスの動作を制御するアプリケーションプログラム部と、
前記電子機器デバイスとの間で通信機能を提供する通信制御ソフトウェア部と、
所定のオペレーティングシステム（ＯＳ）環境において同類の前記電子機器デバイスの仕様に依存しない標準アプリケーションインタフェース仕様に応じて前記電子機器デバイス関連のリソースを管理するためのリソースマネージャと、
前記標準インタフェース仕様対応の電子機器デバイスの機能を利用するためのインタフェースを提供する標準インタフェース仕様対応デバイスドライバ部と、
前記通信制御ソフトウェア部と前記リソースマネージャとの間で前記標準インタフェース仕様対応の基本通信機能を提供する標準インタフェース仕様変換部と
を有することを特徴とする通信機能提供装置。
【請求項２】
前記通信制御ソフトウェア部は、
前記リソースマネージャを通して、前記電子機器デバイスとの間で通信機能を提供し、
前記標準インタフェース仕様変換部は、
前記通信制御ソフトウェア部の一部として設けられている
ことを特徴とする請求項１記載の通信機能提供装置。
【請求項３】
前記標準インタフェース仕様変換部は、
標準インタフェース仕様対応の変換関数群を備えている
ことを特徴とする請求項１または２記載の通信機能提供装置。
【請求項４】
前記標準インタフェース仕様対応の変換関数群は、
前記電子機器デバイスとの通信を確立するための第１関数と、
前記電子機器デバイスとの通信を終息するための第２関数と、
前記電子機器デバイスの処理対象とのデータの送受信を行うための第３関数と、
前記電子機器デバイスの情報を取得するための第４関数と、
前記電子機器デバイス特有の機能に関するコマンド/レスポンスの各データを送受信するための第５関数を少なくとも含む
ことを特徴とする請求項３記載の通信機能提供装置。
【請求項５】
前記電子機器デバイスはカードリーダライタである
ことを特徴とする請求項１から４のいずれか一に記載の通信機能提供装置。
【請求項６】
前記標準インタフェース仕様はＰＣ／ＳＣ（Personal Computer／Smart Card）である
ことを特徴とする請求項５記載の通信機能提供装置。
【請求項７】
上位装置と、
前記上位装置との間で通信を行い、当該通信の結果に基づいて所定の処理を実行する電子機器デバイスと、を有し、
前記上位装置は、
前記電子機器デバイスの動作を制御するアプリケーションプログラム部と、
前記電子機器デバイスとの間で通信機能を提供する通信制御ソフトウェア部と、
所定のオペレーティングシステム（ＯＳ）環境において同類の前記電子機器デバイスの仕様に依存しない標準アプリケーションインタフェース仕様に応じて前記電子機器デバイス関連のリソースを管理するためのリソースマネージャと、
前記標準インタフェース仕様対応の電子機器デバイスの機能を利用するためのインタフェースを提供する標準インタフェース仕様対応デバイスドライバ部と、
前記通信制御ソフトウェア部と前記リソースマネージャとの間で前記標準インタフェース仕様対応の基本通信機能を提供する標準インタフェース仕様変換部と
を有することを特徴とする通信システム。
【請求項８】
前記通信制御ソフトウェア部は、
前記リソースマネージャを通して、前記電子機器デバイスとの間で通信機能を提供し、
前記標準インタフェース仕様変換部は、
前記通信制御ソフトウェア部の一部として設けられている
ことを特徴とする請求項７記載の通信システム。
【請求項９】
前記標準インタフェース仕様変換部は、
標準インタフェース仕様対応の変換関数群を備えている
ことを特徴とする請求項７または８記載の通信システム。
【請求項１０】
前記標準インタフェース仕様対応の変換関数群は、
前記電子機器デバイスとの通信を確立するための第１関数と、
前記電子機器デバイスとの通信を終息するための第２関数と、
前記電子機器デバイスの処理対象とのデータの送受信を行うための第３関数と、
前記電子機器デバイスの情報を取得するための第４関数と、
前記電子機器デバイス特有の機能に関するコマンド/レスポンスの各データを送受信するための第５関数を少なくとも含む
ことを特徴とする請求項９記載の通信システム。
【請求項１１】
前記電子機器デバイスはカードリーダライタである
ことを特徴とする請求項７から１０のいずれか一に記載の通信システム。
【請求項１２】
前記標準インタフェース仕様はＰＣ／ＳＣ（Personal Computer／Smart Card）である
ことを特徴とする請求項１１記載の通信システム。
【請求項１３】
電子機器デバイスとの間で情報の送受信を行う通信機能を提供する通信機能提供方法であって、
前記電子機器デバイスとの間で通信機能を提供する通信制御ソフトウェア部と、所定のオペレーティングシステム（ＯＳ）環境において同類の前記電子機器デバイスの仕様に依存しない標準アプリケーションインタフェース仕様に応じて前記電子機器デバイス関連のリソースを管理するためのリソースマネージャとの間で、標準インタフェース仕様変換部により、前記標準インタフェース仕様対応の基本通信機能を提供し、
標準インタフェース仕様対応デバイスドライバ部により前記標準インタフェース仕様対応の電子機器デバイスの機能を利用するためのインタフェースを提供し、
提供された通信機能およびインタフェースを通して、前記電子機器デバイスの動作をアプリケーションプログラム部により制御する
ことを特徴とする通信機能提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置と、上位装置からの指令に従って処理を実行するカードリーダライタ等の電子機器デバイスとの間で情報の送受信を行う通信機能を提供する通信機能提供装置、通信システム、および通信機能提供方法に関するものである。
【背景技術】
【０００２】
通常、カードリーダライタ等の電子機器デバイスは、通信線（通信ケーブル）を介して上位装置と接続され、上位装置からの指令に従って処理を実行するように構成されている。このように、上位装置と電子機器デバイスとを含む通信システムにおいて、通信を確立するためには、ＲＳ-２３２Ｃ方式、パラレルポート方式、ＵＳＢ(Universal Serial Bus)接続方式など種々の通信方式が採用されている。
【０００３】
たとえばカードリーダライタを使用している通信システム（情報処理システム）においては、アプリケーションなどのソフトウェアを作成し、上位装置側からカードリーダライタを制御することになる。
【０００４】
このような状況において、使用中のカードリーダライタを別のカードリーダライタに交換する場合、通常これらのソフトウェアを作成し直して使用することになる。近年、コスト削減、システム仕様変更、標準化等の目的で、それまで使用していたカードリーダライタをＰＣ／ＳＣ（Personal Computer／Smart Card）対応のカードリーダライタに交換する例が増えてきている。この場合、ソフトウェアを作成し直すためには、このＰＣ／ＳＣの仕様を理解した上で、これに準じた形に作り直し、使用することになる。
【０００５】
特許文献１には、アプリケーションプログラムを備える上位装置と、上位装置との間で通信を行うとともに、その通信結果に基づいて所定の処理を実行する電子機器デバイスと、上位装置と電子機器デバイスとの間で通信機能を提供する通信制御ソフトウェアとから構成された情報システムが記載されている。この情報システムにおいては、通信制御ソフトウェアは、アプリケーションプログラムによって呼び出され、同種の処理を実行する、異なる電子機器デバイスに使用可能な互いに共通するＡＰＩ（Application Program Interface）を有し、アプリケーションプログラムは、このＡＰＩに対応するプログラミングインタフェースを含んでいる。
【０００６】
なお、ＡＰＩとは、あるプラットフォーム（ＯＳやミドルウェア）向けのソフトウェアを開発する際に使用できる命令や関数の集合、また、それらを利用するためのプログラム上の手続きを定めた規約の集合のことをいう。ＡＰＩは、デバイスの持つすべての機能を確立するためのプログラミングを必要とせず、多くの通信制御ソフトウェアが共通して利用する機能は、ミドルウェアなどの形でまとめて提供され、個々の開発者は規約に従ってその機能を「呼び出す」だけで、自分でプログラミングすることなくその機能を利用したソフトウェアを作成することができるという利点を有する。このソフトウェアは、個々のデバイスごとや、個々のインタフェースごとに対応して上位装置に格納されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−８６８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
既存の通信システム（情報処理システム）においては、ＰＣ／ＳＣ対応のカードリーダライタへの交換に伴い、それまで使用していたカードリーダライタを制御しているソフトウェア、特に通信部分のソフトウェアをＰＣ／ＳＣ仕様に合わせて大幅に作り直す必要がある。さらに、ＰＣ／ＳＣ仕様に関する知識が乏しいと、ソフトウェアの修正、作り直しをすることができない。
【０００９】
特許文献１に記載の情報システムにおいても、コスト削減等でＰＣ／ＳＣ仕様のカードリーダライタに交換する場合は、ＡＰＩのみの提供である場合、確かにアプリケーションプログラムなど上位ソフトウェアは、共通ＡＰＩをコールしているためそのままで良いが、基本通信機能を提供するソフトウェアは、ＰＣ／ＳＣ仕様にあわせて大幅に作成し直す必要がある。
【００１０】
本発明の目的は、電子機器デバイスとの間で通信機能を提供する通信制御ソフトウェアの修正に多大な工数をかけずに、既存のアプリケーションとの互換性を保つことが可能な通信機能提供装置、通信システム、および通信機能提供方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の観点は、電子機器デバイスとの間で情報の送受信を行う通信機能を提供する通信機能提供装置であって、前記電子機器デバイスの動作を制御するアプリケーションプログラム部と、前記電子機器デバイスとの間で通信機能を提供する通信制御ソフトウェア部と、所定のオペレーティングシステム（ＯＳ）環境において同類の前記電子機器デバイスの仕様に依存しない標準アプリケーションインタフェース仕様に応じて前記電子機器デバイス関連のリソースを管理するためのリソースマネージャと、前記標準インタフェース仕様対応の電子機器デバイスを制御するための標準インタフェース仕様対応デバイスドライバ部と、前記通信制御ソフトウェア部と前記リソースマネージャとの間で前記標準インタフェース仕様対応の基本通信機能を提供する標準インタフェース仕様変換部とを有する。これにより、既存アプリケーションとの互換性を保つことができる。つまり、標準インタフェース仕様、たとえばＰＣ／ＳＣ未対応のカードリーダライタに対して使用していた既存のアプリケーションであってもそのまま使用することができる。このため、既存アプリケーションにほとんど手を加えることなく、また、標準インタフェース仕様、たとえばＰＣ／ＳＣ仕様を既存アプリケーションで意識することなく、標準インタフェース仕様対応の電子機器デバイス、たとえばカードリーダライタを制御することができる。さらに、ＰＣ／ＳＣ対応のカードリーダライタであれば、他のＰＣ／ＳＣ対応のカードリーダライタであっても、既存システムで使用できることにもなる。
【００１２】
好適には、前記通信制御ソフトウェア部は、前記リソースマネージャを通して、前記電子機器デバイスとの間で通信機能を提供し、前記標準インタフェース仕様変換部は、前記通信制御ソフトウェア部の一部として設けられている。これにより、通信制御ソフトウェア部とリソースマネージャ間において変換機能を容易にかつ的確に実現することが可能であることはもとより、通信制御ソフトウェア部の通信制御ソフトウェアの修正を極力減らすことができる。
【００１３】
好適には、前記標準インタフェース仕様変換部は、標準インタフェース仕様対応の変換関数群を備えている。好適には、前記標準インタフェース仕様対応の変換関数群は、前記電子機器デバイスとの通信を確立するための第１関数と、前記電子機器デバイスとの通信を終息するための第２関数と、前記電子機器デバイスの処理対象とのデータの送受信を行うための第３関数と、前記電子機器デバイスの情報を取得するための第４関数と、前記電子機器デバイス特有の機能に関するコマンド/レスポンスの各データを送受信するための第５関数を少なくとも含む。これにより、電子機器デバイスを標準インタフェース仕様対応の電子機器デバイスに交換する場合、アプリケーションプログラムを変更せずに既存の資産を使用できる。
【００１４】
好適には、前記電子機器デバイスはカードリーダライタである。また、好適には、前記標準インタフェース仕様はＰＣ／ＳＣ（Personal Computer／Smart Card）である。
【００１５】
本発明の第２の観点の通信システムは、上位装置と、前記上位装置との間で通信を行い、当該通信の結果に基づいて所定の処理を実行する電子機器デバイスと、を有し、前記上位装置は、前記電子機器デバイスの動作を制御するアプリケーションプログラム部と、前記電子機器デバイスとの間で通信機能を提供する通信制御ソフトウェア部と、所定のオペレーティングシステム（ＯＳ）環境において同類の前記電子機器デバイスの仕様に依存しない標準アプリケーションインタフェース仕様に応じて前記電子機器デバイス関連のリソースを管理するためのリソースマネージャと、標準インタフェース仕様対応の電子機器デバイスを制御するためのインタフェースを提供する標準インタフェース仕様対応デバイスドライバ部と、前記通信制御ソフトウェア部と前記リソースマネージャとの間で前記標準インタフェース仕様対応の基本通信機能を提供する標準インタフェース仕様変換部とを有する。これにより、既存アプリケーションとの互換性を保つことができる。つまり、標準インタフェース仕様、たとえばＰＣ／ＳＣ未対応の電子機器デバイスであるカードリーダライタに対して使用していた既存のアプリケーションであってもそのまま使用することができる。このため、既存アプリケーションにほとんど手を加えることなく、また、標準インタフェース仕様、たとえばＰＣ／ＳＣ仕様を既存アプリケーションで意識することなく、標準インタフェース仕様対応の電子機器デバイス、たとえばカードリーダライタを制御することができる。さらに、ＰＣ／ＳＣ対応のカードリーダライタであれば、他のどんなＰＣ／ＳＣ対応のカードリーダライタであっても、既存システムで使用できることにもなる。
【００１６】
本発明の第３の観点は、電子機器デバイスとの間で情報の送受信を行う通信機能を提供する通信機能提供方法であって、前記電子機器デバイスとの間で通信機能を提供する通信制御ソフトウェア部と、所定のオペレーティングシステム（ＯＳ）環境において同類の前記電子機器デバイスの仕様に依存しない標準アプリケーションインタフェース仕様に応じて前記電子機器デバイス関連のリソースを管理するためのリソースマネージャとの間で、標準インタフェース仕様変換部により、前記標準インタフェース仕様対応の基本通信機能を提供し、標準インタフェース仕様対応デバイスドライバ部により前記標準インタフェース仕様対応の電子機器デバイスを制御するためのインタフェースを提供し、提供された通信機能およびインタフェースを通して、前記電子機器デバイスの動作をアプリケーションプログラム部により制御する。
【発明の効果】
【００１７】
本発明によれば、特別な知識を必要とすることなく、しかも通信制御ソフトウェアの修正に多大な工数をかけずに、既存のアプリケーションとの互換性を保つことが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る通信システムの概要を示すブロック図である。
【図２】本実施形態に係る上位装置のハードウェアの基本的な構成例を概念的に示す図である。
【図３】電子機器デバイスとしてのカードリーダライタの信号処理系の基本的な構成例を示す図である。
【図４】本実施形態に係る上位装置において、ソフトウェアシステムによって形成される通信機能提供装置の基本的構成の一例を示すブロック図である。
【図５】本実施形態に係るＰＣ／ＳＣ変換部を形成する変換関数群を、処理、機能を含めて示す図である。
【図６】本実施形態に係るＰＣ／ＳＣ変換部におけるメイン関数を用いた処理の一例を説明するためのフローチャートである。
【図７】本実施形態に係る通信システムの通信機能提供装置と、本装置を適用していない既存の通信システとにおいて、カードリーダライタをＰＣ／ＳＣ対応カードリーダライタに交換する場合の処理ついて比較して説明するための図である。
【図８】本実施形態に係る上位装置における通信機能提供装置の第１の変更例について説明するための図である。
【図９】本実施形態に係る上位装置における通信機能提供装置の第２の変更例について説明するための図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面に関連付けて説明する。
以下の実施形態においては、電子機器デバイスとしてのカードリーダライタを例に説明する。
【００２０】
図１は、本発明の実施形態に係る通信システムの概要を示すブロック図である。
図２は、本実施形態に係る上位装置のハードウェアの基本的な構成例を概念的に示す図である。
図３は、電子機器デバイスとしてのカードリーダライタの信号処理系の基本的な構成例を示す図である。
図４は、本実施形態に係る上位装置において、ソフトウェアシステムによって形成される通信機能提供装置の基本的構成の一例を示すブロック図である。
【００２１】
通信システム１０は、通信機能提供装置としての機能を有する上位装置（ホストコンピュータ）２０、電子機器デバイスとしてのカードリーダライタ３０、およびＩＣカード等の情報カード（以下、単にカードという場合もある）４０を含んで構成されている。本実施形態においては、電子機器デバイスとして、ＩＣカード等のカード４０の読み取りまたは書き込み機能を有するカードリーダライタ３０を例に説明する。本通信システム１０の概要を説明した後、各部の具体的な構成および機能について説明する。
【００２２】
［通信システム１０の概要］
金融機関などで使用され、キャッシュレスや個人認証などを実現するカードとして、たとえばプラスチック基板にストライプ状に磁気データが記録された磁気カード、プラスチック基板内部に集積回路チップ（ＩＣチップ）が埋め込まれ、表面にＩＣ端子が配置されたＩＣカード（接触式ＩＣカード）や内部にアンテナコイルが配置されたＩＣカード（非接触式ＩＣカード）がある。そして、このカード（たとえばＩＣカード）４０に対する情報の読み取りまたは書き込みは、カードリーダライタ３０によって行われる。
【００２３】
基本的に、カードリーダライタ３０は、上位装置２０からのコマンド（たとえばコマンドＡＰＤＵ：Application Protocol Data Unit）を受信し、カード４０との通信プロトコルに沿った形式（たとえばコマンドＴＰＤＵ：Transmission Protocol Data Unit）に変換する。そして、カードリーダライタ３０は、電圧や通信速度等も変換した後に、そのコマンドをカード４０へ送信する。また、カードリーダライタ３０は、カード４０からの応答を受信した後、逆変換（レスポンスＴＰＤＵからレスポンスＡＰＤＵへ）を行って、その応答を上位装置２０へ送信する。
【００２４】
上位装置２０とカードリーダライタ３０との間の通常の通信は、ＲＳ−２３２ＣやＵＳＢ（Universal Serial Bus）などの専用線（有線の通信線）を用いた通信方式が適用されている。したがって、上位装置２０とカードリーダライタ３０とは、通常の通信経路としてＵＳＢケーブル等の通信ケーブル５０，６０により接続されている。カードリーダライタ３０とカード４０との間の通信は、ＴＴＬレベル、ＵＳＢ、および非接触通信等が一般的である。また、一般に、カードリーダライタ３０は、ＡＰＤＵのデータ内容を解釈することなく、単にＴＰＤＵに変換する処理を行う。
【００２５】
本実施形態においては、このようなカードリーダライタ３０と通信を行う上位装置２０には、カードリーダライタ３０との接続機器に応じた通信を制御するための通信機能提供装置を実現する通信制御用ソフトウェアシステムが適用されている。
【００２６】
本実施形態において、カードリーダライタ３０を使用する通信システム１０は、使用しているカードリーダライタをたとえばＰＣ／ＳＣ対応のカードリーダライタに交換する場合、カードリーダライタと上位装置（ホストコンピュータ）２０との基本通信機能を提供するようなソフトウェア（ドライバ、ライブラリなど）に、ＰＣ／ＳＣ変換部（関数、クラス、モジュール等）を用いることで、ＰＣ／ＳＣ仕様に関する知識が乏しくとも（なくとも）、比較的容易に通信部分を修正できるように構成されている。これにより、本実施形態の通信システム１０においては、既存アプリケーションとの互換性も保たれる。つまり、ＰＣ／ＳＣ未対応のカードリーダライタに対して使用していた既存のアプリケーションであってもそのまま使用することができる。このため、既存アプリケーションにほとんど手を加えることなく、また、ＰＣ／ＳＣ仕様を既存アプリケーションで意識することなく、ＰＣ／ＳＣ対応のカードリーダライタを処理することができる。さらに、ＰＣ／ＳＣ対応のカードリーダライタであれば、他のどんなＰＣ／ＳＣ対応のカードリーダライタであっても、既存システムで使用できることにもなる。このような通信機能提供装置の機能は、上位装置２０にソフトウェアシステムとして実現されている。
【００２７】
なお、本実施形態において、ＰＣ／ＳＣ仕様とは、所定のＯＳ（オペレーティングシステム）環境において電子機器デバイス（ここでは，カードリーダライタ）に依存しない標準ＡＰＩ（アプリケーションインタフェース仕様）の一形態である。本実施形態では、ＰＣ／ＳＣ対応の通信機能提供装置について説明する。この上位装置２０における通信機能提供装置の具体的な構成および機能については、後で詳述する。
【００２８】
ここでに、上記構成を有する通信システム１０の上位装置（ホストコンピュータ）２０、並びにカードリーダライタ（電子機器デバイス）３０のハードウェアの具体的な構成および機能について説明し、その後、上位装置２０における通信機能提供装置の具体的な構成および機能について説明する。
【００２９】
［上位装置（ホストコンピュータ）２０のハードウェアの具体的な構成および機能］
本実施形態に係る上位装置２０の具体的な構成および機能について説明する。
上位装置２０は、上述したように、基本的に、カードリーダライタ３０との間で、主通信部であるＵＳＢ通信部２７あるいはＲＳ−２３２Ｃ通信部２８を通して通信制御を行い、コマンドの送信に対応したレスポンス（応答）を受信する等の各種情報の授受を行って、カードリーダライタ３０からの情報を取得する。
【００３０】
図２は、本実施形態に係る上位装置の構成例を概念的に示している。
図２の上位装置２０は、基本的に、処理装置であるＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ストレージユニット２４、所定の情報が表示される表示装置２５、およびキーボード２６１やマウス２６２を含む操作部２６を有している。さらに、上位装置２０は、主通信部としてのホスト側ＵＳＢ通信部２７、およびホスト側ＲＳ−２３２Ｃ通信部２８を有する。ホスト側ＵＳＢ通信部２７は、通信ケーブル（ＵＳＢケーブル）５０を介してカードリーダライタ３０のホスト側処理系のＵＳＢ通信部と接続される。ホスト側ＲＳ−２３２Ｃ通信部２８は、通信ケーブル（ＲＳ−２３２Ｃケーブル）６０を介してカードリーダライタ３０のＲＳ−２３２Ｃ通信部と接続される。
【００３１】
本例においては、図中のストレージユニット２４内に保存されたオペレーティングシステム（ＯＳ）、ミドルウェアＭＷ、アプリケーション等のプログラムがソフトウェアシステムの一部をなし、実行時にいわゆるコンピュータ（電子計算機）のソフトウェアとしてＲＡＭ２３上に展開される。
【００３２】
このような構成を有する上位装置２０においては、状況に応じた処理を実行するアプリケーションプログラムおよびカードリーダライタ３０との通信制御用の複数のミドルウェアを含むソフトウェアシステムを有している。本実施形態においては、この通信制御用ソフトウェアシステムにより、電子機器デバイスであるカードリーダライタ３０との接続機器に応じた通信を制御するための、後で詳述する通信機能提供装置２００を実現している。
【００３３】
上述したように、上位装置２０において、ＣＰＵ２１が全体の制御を行う。上位装置２０は、カードリーダライタ３０との通常の通信を行う場合に、ＣＰＵ２１の制御の下、ホスト側ＵＳＢ通信部２７あるいはホスト側ＲＳ−２３２Ｃ通信部２８を通して、通信ケーブル５０または６０により接続されたカードリーダライタ３０の通信部との間でＵＳＢやＲＳ−２３２Ｃの通信規格に準拠した通信を行う。
【００３４】
以上、上位装置２０のハードウェアの具体的な構成および機能について説明した。
次に、カードリーダライタ３０の構成および機能について説明する。
【００３５】
［カードリーダライタ３０の構成および機能］
カードリーダライタ３０は、上位装置２０との通信およびカード４０との通信機能を有する。カードリーダライタ３０は、上位装置２０とのメイン（通常）の通信はＵＳＢやＲＳ−２３２Ｃ等の通信規格に準拠して行う。
【００３６】
前述したように、図３は、本実施形態に係る電子機器デバイスとしてのカードリーダライタの信号処理系の構成例を示している。図３において、上位装置の構成は要部のみ示されている。
【００３７】
カードリーダライタ３０は、図３に示すように、カードリーダライタ３０全体を統合的に制御するＣＰＵ３１１、カードリーダライタ３０の動作プログラムや初期値、パラメータなどを格納するＲＯＭ３１２、およびＣＰＵ３１１のワーキングエリアとして機能するＲＡＭ３１３を有している。カードリーダライタ３０は、上位装置２０とＵＳＢやＲＳ−２３２Ｃ等の通信規格に準拠した通信を行うＩ／Ｆ（インタフェース）である通信部３１４、およびカードＩ／Ｆ３１５を有している。
【００３８】
カードリーダライタ３０は、通信部３１４さらには通信ケーブル５０あるいは６０を介して上位装置２０と接続され、カードＩ／Ｆ３１５を介してカード４０と（有線または無線で）通信可能に構成されている。カードリーダライタ３０は、上位装置２０との間の通信規約に沿った情報列のコマンドに基づき動作し、カード４０との間の通信規約に沿った情報列の送受信を行う機能を有する。
【００３９】
通信部３１４は、上位装置２０からカードリーダライタ３０へ送られた信号を所定レベルの信号に変換し、それをＣＰＵ３１１に転送する機能を有する。また、ＣＰＵ３１１からの信号を逆変換して、上位装置２０に転送する。
【００４０】
ＣＰＵ３１１は、上位装置２０との間の通信規約に沿った情報列（たとえばコマンドＡＰＤＵ）内のコマンドに基づいて動作する。そして、ＣＰＵ３１１は、そのコマンドＡＰＤＵを、カード４０との間の通信規約に沿った情報列に変換し、これをカード４０に送信する。すなわち、ＣＰＵ３１１は、上位装置２０からのコマンド（コマンドＡＰＤＵ）を、カード４０との通信プロトコルに沿った形式（コマンドＴＰＤＵ）に変換する。変換されたコマンドＴＰＤＵは、カードＩ／Ｆ３１５を通じてカード４０に送信される。
【００４１】
一方で、カード４０からのレスポンス受信時には、ＣＰＵ３１１はレスポンスＴＰＤＵをレスポンスＡＰＤＵに変換する。変換されたレスポンスＡＰＤＵは、通信部３１４を通じて上位装置２０に転送される。
【００４２】
カードＩ／Ｆ３１５は、コマンドＴＰＤＵを、カード４０に応じた電圧や通信速度に変換し、カード４０に送信する。また、カードＩ／Ｆ３１５は、カード４０から受信した信号を所定レベルの信号に変換し、それをＣＰＵ３１１に伝える機能を有する。
【００４３】
ＲＯＭ３１２は、プログラム等の不揮発性データを保存する。ＲＡＭ３１３は、ＣＰＵ３１１のワーキングエリアとして機能し、一時的にデータを保存する。
【００４４】
以上、上位装置２０およびカードリーダライタ３０のハードウェアの具体的な構成および機能について説明した。次に、使用しているカードリーダライタをＰＣ／ＳＣ対応のカードリーダライタに交換する場合に、カードリーダライタ３０と上位装置２０との基本通信機能を提供することが可能な、上位装置２０におけるカードリーダライタとの接続機器に応じた通信を制御するための通信制御用ソフトウェアシステムにより形成される通信機能提供装置２００の構成および機能について説明する。
【００４５】
［上位装置２０の通信機能提供装置２００の構成および機能］
前述したように、図４は、本実施形態に係る上位装置２０において、ソフトウェアシステムによって形成される通信機能提供装置２００の一例を示している。図４は、上位装置２０にＰＣ／ＳＣ対応のカードリーダライタ（Ａ）３０Ａが接続される例を示している。
【００４６】
本通信機能提供装置２００は、アプリケーションプログラム（ＡＰ）部２１０、通信制御ソフトウェア部２２０、ＯＳ標準搭載ＰＣ／ＳＣ制御用サービスであるリソースマネージャ２３０、ＰＣ／ＳＣ対応カードリーダライタ用ＰＣ／ＳＣデバイスドライバ部２４０、ＯＳ標準搭載デバイスドライバ部２５０、およびＰＣ／ＳＣ変換部２６０を含んで構成されている。
【００４７】
なお、ＰＣ／ＳＣでは、ＰＣ／ＳＣ対応（たとえばＵＳＢ）カードリーダライタ（Ａ）３０Ａのベンダーが、「ＯＳ標準搭載（ＵＳＢ関連）デバイスドライバ部２５０」を通して使用する「ＰＣ／ＳＣ対応（ＵＳＢ）カードリーダライタＡ用ＰＣ／ＳＣデバイスドライバ部２４０」を提供し、「ＯＳ標準搭載ＰＣ／ＳＣ制御用サービス（リソースマネージャ）２３０」を使用することが前提である。
【００４８】
ＡＰ部２１０は、通信制御ソフトウェア部２２０の通信制御ソフトウェアを呼び出し、上位装置２０に接続されて電子機器デバイスであるカードリーダライタ３０Ａの動作（操作）を、アプリケーションプログラムＡに基づいて制御する。
【００４９】
通信制御ソフトウェア部２２０は、カードリーダライタ３０Ａとの間で通信機能を提供する。より具体的には、通信制御ソフトウェア部２２０は、ＯＳ標準搭載ＰＣ／ＳＣ制御用サービスであるリソースマネージャ２３０を通して、ＰＣ／ＳＣ対応カードリーダライタ３０Ａと上位装置（ホスト装置）２０との通信を制御するような機能を提供する。
【００５０】
リソースマネージャ２３０は、本実施形態において標準インタフェース仕様に相当するＰＣ／ＳＣ仕様に応じてＰＣ/ＳＣ対応カードリーダライタ（Ａ）３０Ａ関連のリソース、本例ではＰＣ／ＳＣ対応カードリーダライタ用ＰＣ／ＳＣデバイスドライバ部２４０等を一括に管理する。リソースマネージャ２３０は、ＰＣ／ＳＣ変換部２６０の指示によりオープンまたはクローズされ、オープン時にはデータの送受信、カード４０のステータス情報の取得や、カードリーダライタ特有の機能に関するデータの取得等を行う。
【００５１】
ＰＣ／ＳＣ対応カードリーダライタ用ＰＣ／ＳＣデバイスドライバ部２４０は、ＰＣ/ＳＣ対応カードリーダライタ（Ａ）３０Ａが接続される各通信部（２７，２８）を制御するＯＳ標準搭載デバイスドライバ部２５０を通し、アプリケーションソフトウェアに対して抽象化・共通化したインタフェースを提供する。
【００５２】
ＯＳ標準搭載デバイスドライバ部２５０は、カードリーダライタ３０，３０Ａが接続される各通信部（２７，２８）に応じた制御をする。
【００５３】
ＰＣ／ＳＣ変換部２６０は、関数、クラス、あるいはモジュール等により形成され、通信制御ソフトウェア部２２０とリソースマネージャ２３０との間でＰＣ／ＳＣ仕様対応（標準インタフェース仕様対応）の基本通信機能を提供する。本実施形態において、あるアプリケーションプログラムで、カードリーダライタを制御（操作）しているシステムにおいて、カードリーダライタをＰＣ／ＳＣ対応のカードリーダライタ（Ａ）３０Ａに交換する場合、ＰＣ／ＳＣ変換部という変換部を、関数なり、クラスなり、モジュールなりの形で持つことにより、ＡＰ部２１０のアプリケーションプログラムを変更せずに既存の資産を使用できる、という特徴を有している。
【００５４】
通信機能提供装置２００において、通信制御ソフトウェア部２２０は、リソースマネージャ２３０を通して、電子機器デバイスであるＰＣ／ＳＣ対応カードリーダライタ３０Ａとの間で通信機能を提供する。本実施形態においては、ＰＣ／ＳＣ変換部２６０は、通信制御ソフトウェア部２２０の一部として設けられている。これにより、通信制御ソフトウェア部２２０とリソースマネージャ２３０間において変換機能を容易にかつ的確に実現することが可能であることはもとより、通信制御ソフトウェア部の通信制御ソフトウェアの修正を極力減らすことができる。換言すれば、ＰＣ／ＳＣ変換部２６０を作成したことで、通信制御ソフトウェア部２２０は、その基本的な機能は今までと同じであり、ＰＣ／ＳＣ変換部２６０とのデータのやり取りなどで修正する程度である。
【００５５】
本実施形態のＰＣ／ＳＣ変換部２６０は、一例として関数の形で変換部が形成されており、カードリーダライタをＰＣ／ＳＣ対応のカードリーダライタ３０Ａに交換する場合、アプリケーションプログラムを変更せずに既存の資産を使用できる。
【００５６】
本実施形態のＰＣ／ＳＣ変換部２６０は、ＰＣ／ＳＣ対応の変換関数群を備えている。図５は、本実施形態に係るＰＣ／ＳＣ変換部を形成する変換関数群を、処理、機能を含めて示す図である。
【００５７】
ＰＣ／ＳＣ変換部の関数群は、大きく分けて、「メイン関数」と「オプション関数」が存在する。メイン関数には、第１関数「ＣｏｎｖＯｐｅｎ」、第２関数「ＣｏｎｖＣｌｏｓｅ」、第３関数「ＣｏｎｖＣａｒｄＣｏｍｍｕｎｉｃａｔｉｏn」、第４関数「ＣｏｎｖＣａｒｄＳｔａｔｕｓ」、および第５関数「ＣｏｎｖＥｘｅｃｕｔｅＣｏｍｍａｎｄ」が存在する。
【００５８】
オプション関数には、第６関数「ＣｏｎｖＥｎｔｒｙ」、第７関数「ＣｏｎｖＥｊｅｃｔ」、および第８関数「ＣｏｎｖＡｃｔｉｖａｔｅ」が存在する。
【００５９】
メイン関数の第１関数「ＣｏｎｖＯｐｅｎ」は、カードリーダライタ３０Ａとの通信を確立するための関数であり、リソースマネージャ２３０をオープンする。
【００６０】
メイン関数の第２関数「ＣｏｎｖＣｌｏｓｅ」は、カードリーダライタ３０Ａとの通信を終息するための関数であり、リソースマネージャ２３０をクローズする。
【００６１】
メイン関数の第３関数「ＣｏｎｖＣａｒｄＣｏｍｍｕｎｉｃａｔｉｏn」は、カードリーダライタ３０Ａ内にあるカード４０とのデータの送受信を行うための関数であり、カードリーダライタ３０Ａ内にあるカード４０へ送信するデータをリソースマネージャ２３０へ送り、そのカード４０から受信したデータをリソースマネージャ２３０から取得する。
【００６２】
メイン関数の第４関数「ＣｏｎｖＣａｒｄＳｔａｔｕｓ」は、カード位置等のカードリーダライタ３０Ａ関連の情報を取得するための関数であり、現在カードがどこにあるのか、カードは活性化状態か、等の情報をリソースマネージャ２３０から取得する。
【００６３】
メイン関数の第５関数「ＣｏｎｖＥｘｅｃｕｔｅＣｏｍｍａｎｄ」は、カードリーダライタ３０Ａ特有の機能に関するコマンド/レスポンスの各データの送受信を行うための関数であり、カードリーダライタ３０Ａへ送信するコマンドデータ（カードリーダライタで定められているデータフォーマット）をリソースマネージャ２３０へ送り、カードリーダライタから受信したレスポンスデータをリソースマネージャ２３０から取得する。
【００６４】
オプション関数の第６関数「ＣｏｎｖＥｎｔｒｙ」は、カード取り込みを行うための関数であり、カード取り込みの命令をリソースマネージャ２３０に対して行う。
【００６５】
オプション関数の第７関数「ＣｏｎｖＥｊｅｃｔ」は、カード排出を行うための関数であり、カード排出の命令をリソースマネージャ２３０に対して行う。
【００６６】
オプション関数の第８関数「ＣｏｎｖＡｃｔｉｖａｔｅ」は、ＩＣカード活性化・非活性化を行うための関数であり、活性化が指定されれば活性化、非活性化が指定されれば非活性化の命令をリソースマネージャ２３０に対して行う。
【００６７】
ＰＣ／ＳＣ変換部２６０は、通常の処理においてはメイン関数を用いた処理を行う。ここで、メイン関数を用いた処理の一例を図６に関連付けて説明する。図６は、本実施形態に係るＰＣ／ＳＣ変換部におけるメイン関数を用いた処理の一例を説明するためのフローチャートである。
【００６８】
たとえば、通信制御ソフトウェア部２２０とリソースマネージャ２３０との間でＰＣ／ＳＣ仕様対応（標準インタフェース仕様対応）の基本通信機能が提供される（ステップＳＴ１）。まず、第１関数「ＣｏｎｖＯｐｅｎ」により、通信を確立するために、リソースマネージャ２３０をオープンする（ステップＳＴ２）。次に、第４関数「ＣｏｎｖＣａｒｄＳｔａｔｕｓ」により、接続されているＰＣ／ＳＣカードリーダライタ３０Ａにおいて、現在カードがどこにあるのか、カードは活性化状態か、等の情報をリソースマネージャ２３０から取得する（ステップＳＴ３）。ここで、カードリーダライタ特有の機能に関するコマンド/レスポンスの各データの送受信が必要な場合（ステップＳＴ４）、カードリーダライタ３０Ａへ送信するコマンドデータをリソースマネージャ２３０へ送り、カードリーダライタから受信したレスポンスデータをリソースマネージャ２３０から取得する（ステップＳＴ５）。
【００６９】
ステップＳＴ３の処理が終了し、ステップＳＴ４において特有の機能に関するコマンド/レスポンスの各データの送受信が不要な場合、または、ステップＳＴ５の処理が終了した後は通常の通信処理を行う。すなわち、第３関数「ＣｏｎｖＣａｒｄＣｏｍｍｕｎｉｃａｔｉｏn」により、カードリーダライタ３０Ａのカード４０へ送信するデータをリソースマネージャ２３０へ送り、そのカード４０から受信したデータをリソースマネージャ２３０から取得する（ステップＳＴ６）。このデータ送受信が終了すると、第２関数「ＣｏｎｖＣｌｏｓｅ」により、リソースマネージャ２３０をクローズする（ステップＳＴ７）。
【００７０】
このように、カードリーダライタを使用する通信システム１０において、使用しているカードリーダライタをＰＣ／ＳＣ対応のカードリーダライタ（Ａ）３０Ａに交換する場合、カードリーダライタと上位装置２０との基本通信機能を提供するようなソフトウェア（ドライバ、ライブラリなど）をＰＣ／ＳＣ仕様することを可能するために、ＰＣ／ＳＣ変換部（関数、クラス、モジュール等）２６０を用いることで、ＰＣ／ＳＣ仕様に関する知識が乏しくとも（なくとも）、比較的容易に通信部分を修正できる。これにより、既存アプリケーションとの互換性も保たれる。つまり、ＰＣ／ＳＣ未対応のカードリーダライタに対して使用していた既存のアプリケーションであってもそのまま使用することができる。このため、既存アプリケーションおよび基本通信機能を提供するソフトウェアにほとんど手を加えることなく、また、ＰＣ／ＳＣ仕様を既存アプリケーションで意識することなく、ＰＣ／ＳＣ対応のカードリーダライタを制御することができる。さらに、ＰＣ／ＳＣ対応のカードリーダライタであれば、他のどんなＰＣ／ＳＣ対応のカードリーダライタであっても、既存システムで使用できることにもなる。
【００７１】
以上のように、カードリーダライタを使用する通信システム１０において、使用しているカードリーダライタをＰＣ／ＳＣ対応のカードリーダライタ（Ａ）３０Ａに交換する場合、カードリーダライタと上位装置２０との基本通信機能を提供するようなソフトウェア（ドライバ、ライブラリなど）をＰＣ／ＳＣ仕様することを可能するために、ＰＣ／ＳＣ変換部（関数、クラス、モジュール等）２６０を用いたことによる効果について、より具体的に考察する。
【００７２】
図７（Ａ）および（Ｂ）は、本実施形態に係る通信システムの通信機能提供装置と、本通信機能提供装置を適用していない既存の通信システムとにおいて、カードリーダライタをＰＣ／ＳＣ対応カードリーダライタに交換する場合の処理ついて比較して説明するための図である。図７（Ａ）が本実施形態に係る通信システムの通信機能提供装置を、図７（Ｂ）が既存の通信システムを示している。
【００７３】
既に述べたように、本実施形態の通信システム１０は、あるアプリケーションプログラムで、カードリーダライタを制御（操作）しているシステムにおいて、カードリーダライタ３０をＰＣ／ＳＣ対応のカードリーダライタ（Ａ）３０Ａに交換する場合、ＰＣ／ＳＣ変換部２６０を、関数なり、クラスなり、モジュールなりの形で持つことにより、アプリケーションプログラムおよび通信制御ソフトウェアを変更せずに既存の資産を使用できる、という特徴を有している。
【００７４】
ここでは、図７（Ｂ）に示すように、例としてＡＰ部２１０の「アプリケーションプログラムＡ」にて「ＵＳＢカードリーダライタＡ」３０を制御している既存システムがあるとする。このとき、ＡＰ部２１０（アプリケーションプログラムＡ）は、ＵＳＢカードリーダライタ（Ａ）３０と上位装置２０との通信を制御するような機能を提供する通信制御ソフトウェア部２７０の通信制御ソフトウェアを使用している。この通信制御ソフトウェアは、ＯＳ標準搭載ＵＳＢ関連デバイスドライバ部２８０を使用するためのＵＳＢ通信に関する面倒な手続きを担っており、ＡＰ部２１０のアプリケーションプログラムＡでのＵＳＢカードリーダライタ（Ａ）３０の制御を比較的容易にしている。
【００７５】
ここで、コスト削減、システム仕様変更、標準化等の目的で、使用しているＵＳＢカードリーダライタ（Ａ）３０を「ＰＣ／ＳＣ対応ＵＳＢカードリーダライタ（Ａ）３０Ａ」へと変更する必要が出てきたとする。このとき、通常は、通信制御ソフトウェアをＰＣ／ＳＣ仕様に合うように作り変える必要が出てくる。これに伴い、ＡＰ部２１０のアプリケーションプログラムＡも修正する必要が出てくる可能性がある。また、ＵＳＢカードリーダライタからＵＳＢカードリーダライタへの変更ならまだしも、ＵＳＢカードリーダライタからＲＳ−２３２Ｃカードリーダライタ、またはその逆等、インタフェースが異なるものへの変更があった場合は、確実にアプリケーションプログラムＡも修正する必要がある。
【００７６】
ＰＣ／ＳＣでは、ＰＣ／ＳＣ対応ＵＳＢカードリーダライタ（Ａ）３０Ａのベンダーが、「ＯＳ標準搭載ＵＳＢ関連デバイスドライバ部２５０」を通して使用する「ＰＣ／ＳＣ対応ＵＳＢカードリーダライタＡ用ＰＣ／ＳＣデバイスドライバ部２４０」を提供し、「ＯＳ標準搭載ＰＣ／ＳＣ制御用サービス（リソースマネージャ）２３０」を使用することが前提である。
【００７７】
よって、図７（Ｂ）の通信システムでは、通信制御ソフトウェアのＯＳ標準搭載ＵＳＢ関連デバイスドライバ部２８０のインタフェースとなっている部分を、「ＯＳ標準搭載ＰＣ／ＳＣ制御用サービス（リソースマネージャ）２３０」を使用するような形に変換できれば、ＵＳＢカードリーダライタ（Ａ）３０）をＰＣ／ＳＣ対応ＵＳＢカードリーダライタ（Ａ）３０Ａに変更しても、ＡＰ部２１０のアプリケーションプログラムＡは既存のままで使用し続けることができる。
そこで、本実施形態では、図７（Ａ）に示すように、通信制御ソフトウェア部２２０とリソースマネージャ２３０との間でＰＣ／ＳＣ仕様対応（標準インタフェース仕様対応）の基本通信機能を提供するＰＣ／ＳＣ変換部２６０を設けている。これにより、この例の場合は、通信制御ソフトウェアの修正を極力減らすことができる。換言すれば、ＰＣ／ＳＣ変換部２６０を作成したことで、通信制御ソフトウェア部２２０は、その基本的な機能は今までと同じであり、ＰＣ／ＳＣ変換部２６０とのデータのやり取りなどで修正する程度である。また、ＰＣ／ＳＣ対応カードリーダライタをインタフェースが違うものに変更しても、ＰＣ／ＳＣ変換部２６０を使用することで、インタフェースの違いを意識することなく、通信制御ソフトウェアの修正ができる。
【００７８】
本例において、ＵＳＢカードリーダライタ（Ａ）３０をＵＳＢインタフェースのＰＣ／ＳＣ対応ＵＳＢカードリーダライタ３０Ａに交換した場合、ＰＣ／ＳＣ変換部２６０を適用したことにより、次のようなごく小さな変更が伴うことで、制御していたＡＰ部２１０のアプリケーションプログラムは変更せずに使用できる。この場合、通信制御ソフトウェア部２２０Ａは、ＯＳ標準搭載ＰＣ／ＳＣ制御用サービスであるリソースマネージャ２３０を通して、ＰＣ／ＳＣ対応ＵＳＢカードリーダライタ３０Ａと上位装置２０との通信を制御するような機能を提供するように構成される。また、ＰＣ／ＳＣデバイスドライバ部２４０Ａは、ＰＣ／ＳＣ対応ＵＳＢカードリーダライタ３０Ａ用ＰＣ／ＳＣデバイスドライバ部として構成される。
【００７９】
以上説明したように、本実施形態によれば、以下の効果を得ることができる。
既存システムにて、カードリーダライタを交換するような場合、コスト削減、システム仕様変更、標準化等の理由で、比較的安価なＰＣ／ＳＣ対応のカードリーダライタを採用する場合、ＰＣ／ＳＣ変換部を使用することで、既存のカードリーダライタの制御ソフトウェアの修正に多大な工数をかけずに済み、かつ既存アプリケーションとの互換性を保つことができる。さらに、通信制御ソフトウェアの修正において、ＰＣ／ＳＣの仕様に関する知識がなくてもよい。一旦、ＰＣ／ＳＣ変換部を使用した形に修正してしまえば、たとえカードリーダライタのインタフェースが異なっていても、ＰＣ／ＳＣに対応したカードリーダライタへの交換であれば、アプリケーションなどの既存のソフトウェアとの互換性が保たれているため、そのまま継続使用できる。
【００８０】
使用しているカードリーダライタをＰＣ／ＳＣ対応のカードリーダライタ３０Ａに交換する場合、カードリーダライタと上位装置２０との基本通信機能を提供するような（通信制御）ソフトウェア（ドライバ、ライブラリなど）をＰＣ／ＳＣ仕様することを可能するために、ＰＣ／ＳＣ変換部（関数、クラス、モジュール等）２６０を用いることで、ＰＣ／ＳＣ仕様に関する知識が乏しくとも（なくとも）、比較的容易に通信部分を修正できる。これにより、既存アプリケーションとの互換性も保たれる。つまり、ＰＣ／ＳＣ未対応のカードリーダライタに対して使用していた既存のアプリケーションであってもそのまま使用することができる。このため、既存アプリケーションにほとんど手を加えることなく、また、ＰＣ／ＳＣ仕様を既存アプリケーションで意識することなく、ＰＣ／ＳＣ対応のカードリーダライタを制御することができる。さらに、ＰＣ／ＳＣ対応のカードリーダライタであれば、他のＰＣ／ＳＣ対応のカードリーダライタであっても、既存システムで使用できることにもなる。
【００８１】
また、本実施形態では、あるアプリケーションプログラムで、カードリーダライタを制御（操作）しているシステムにおいて、カードリーダライタをＰＣ／ＳＣ対応のものに交換する場合、ＰＣ／ＳＣ変換部を、関数なり、クラスなり、モジュールなりの形で持つことにより、アプリケーションプログラムを変更せずに既存の資産を使用できる。
【００８２】
また、本実施形態では、通信制御ソフトウェア部２２０は、リソースマネージャ２３０を通して、カードリーダライタ３０Ａとの間で通信機能を提供し、ＰＣ／ＳＣ変換部２６０は、通信制御ソフトウェア部２２０の一部として設けられている。これにより、通信制御ソフトウェア部とリソースマネージャ間において変換機能を容易にかつ的確に実現することが可能であることはもとより、通信制御ソフトウェア部の通信制御ソフトウェアの修正を極力減らすことができる。
【００８３】
［変更例］
ここで、本実施形態に係る上位装置２０における図７（Ａ）に示す通信機能提供装置２００Ａの変更例について説明する。
【００８４】
［第１の変更例］
図８は、本実施形態に係る上位装置における通信機能提供装置の第１の変更例について説明するための図である。
【００８５】
この第１の変更例においては、ＲＳ−２３２ＣインタフェースのＲＳ−２３２Ｃカードリーダライタ３０−１をＵＳＢインタフェースのＰＣ／ＳＣ対応のＵＳＢカードリーダライタ３０Ａ−１に交換した場合を例としている。交換前は上位装置２０のホスト側ＲＳ−２３２Ｃ通信部２８の通信ポートにＲＳ−２３２ＣインタフェースのＲＳ−２３２Ｃカードリーダライタ３０−１が接続されている。この場合、通信機能提供装置２００Ｂにおいて、ＡＰ部２１０ＢはＲＳ−２３２Ｃカードリーダライタ制御用のアプリケーションプログラムを有している。通信制御ソフトウェア部２７０Ｂは、ＲＳ−２３２Ｃカードリーダライタと上位装置２０との通信を制御するような機能を提供する。また、デバイスドライバ部としてはＯＳ標準搭載ＲＳ−２３２Ｃ関連デバイスドライバ部２８０Ｂが設けられている。
【００８６】
このような状態から、ＲＳ−２３２ＣインタフェースのＲＳ−２３２Ｃカードリーダライタ３０−１をＵＳＢインタフェースのＰＣ／ＳＣ対応のＵＳＢカードリーダライタ３０Ａ−１に交換した場合、ＰＣ／ＳＣ変換部２６０を適用したことにより、次のようなごく小さな変更が伴うだけで、制御していたＡＰ部２１０のアプリケーションプログラムは変更せずに使用できる。この場合、通信制御ソフトウェア部２２０Ｂは、ＯＳ標準搭載ＰＣ／ＳＣ制御用サービスであるリソースマネージャ２３０を通して、ＰＣ／ＳＣ対応のＵＳＢカードリーダライタ３０Ａ−１と上位装置２０との通信を制御するような機能を提供するように構成される。また、ＰＣ／ＳＣデバイスドライバ部２４０Ｂは、ＰＣ／ＳＣ対応のＵＳＢカードリーダライタ３０Ａ−１用ＰＣ／ＳＣデバイスドライバ部として構成される。
【００８７】
この第１の変更例のように、ＲＳ−２３２ＣインタフェースのＲＳ−２３２ＣカードリーダライタをＵＳＢインタフェースのＰＣ／ＳＣ対応のＵＳＢカードリーダライタに交換しても、ＡＰ部２１０Ｂにおける制御していたアプリケーションプログラムは変更せずに使用できる。
【００８８】
［第２の変更例］
図９は、本実施形態に係る上位装置における通信機能提供装置の第２の変更例について説明するための図である。
【００８９】
図９の第２の変更例は、図８の第１の変更例にて使用したＵＳＢインタフェースのＰＣ／ＳＣ対応のＵＳＢカードリーダライタ３０Ａ−１を別のＵＳＢインタフェースのＰＣ／ＳＣ対応のＵＳＢカードリーダライタ３０Ａ−２に交換した例である。この場合も、ＰＣ／ＳＣ変換部２６０を適用したことにより、次のようなごく小さな変更が伴うだけで、制御していたＡＰ部２１０のアプリケーションプログラムは変更せずに使用できる。この場合、通信制御ソフトウェア部２２０Ｃは、ＯＳ標準搭載ＰＣ／ＳＣ制御用サービスであるリソースマネージャ２３０を通して、ＰＣ／ＳＣ対応のＵＳＢカードリーダライタ３０Ａ−１と上位装置２０との通信を制御するような機能を提供するように構成される。また、ＰＣ／ＳＣデバイスドライバ部２４０Ｂは、ＰＣ／ＳＣ対応のＵＳＢカードリーダライタ３０Ａ−２用ＰＣ／ＳＣデバイスドライバ部として構成される。
【００９０】
この第２の変更例のように、ＵＳＢインタフェースのＰＣ／ＳＣ対応のＵＳＢカードリーダライタを別のＵＳＢインタフェースのＰＣ／ＳＣのＵＳＢ対応カードリーダライタに交換しても、ＡＰ部２１０Ｂにおける制御していたアプリケーションプログラムは変更せずに使用できる。
【００９１】
なお、標準インタフェース仕様としては、ＰＣ／ＳＣ以外に、ＸＦＳやＯ−ＰＯＳ等がある。
また、本実施形態においては、情報の読み取りまたは書き込みを行うカードリーダライタに本発明を適用した例について説明したが、本発明は、情報の読み取りのみを行うカードリーダにも適用可能である。
【００９２】
なお、以上詳細に説明したソフトウェア構成は、上記手順に応じたプログラムとして形成し、ＣＰＵ等のコンピュータで実行するように構成することも可能である。また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
【符号の説明】
【００９３】
１０，１０Ａ〜１０Ｃ・・・通信システム、２０・・・上位装置（ホストコンピュータ）、２１・・・ＣＰＵ、２２・・・ＲＯＭ、２３・・・ＲＡＭ、２４・・・ストレージユニット、２５・・・表示装置、２６・・・操作部、２６１・・・キーボード、２６２・・・マウス、２７・・・ホスト側ＵＳＢ通信部、２８・・・ホスト側ＲＳ−２３２Ｃ通信部、２００．２００Ａ〜２００Ｃ・・・通信機能提供装置、２１０，２１０Ａ，２１０Ｂ・・・アプリケーションプログラム部（ＡＰ部）、２２０，２２０Ａ〜２２０Ｃ・・・通信制御ソフトウェア部、２３０・・・リソースマネージャ（ＯＳ標準搭載ＰＣ／ＳＣ制御用サービス）、２４０，２４０Ａ〜２４０Ｃ・・・ＰＣ／ＳＣ対応カードリーダライタ用ＰＣ／ＳＣデバイスドライバ部、２５０，２５０Ａ・・・ＯＳ標準搭載デバイスドライバ部、２６０・・・ＰＣ／ＳＣ変換部、３０，３０−１，３０Ａ，３０Ａ−１，３０Ａ−２・・・カードリーダライタ（電子機器デバイス）。
【図１】
2015197688.tif 000003
【図２】
2015197688.tif 000004
【図３】
2015197688.tif 000005
【図４】
2015197688.tif 000006
【図５】
2015197688.tif 000007
【図６】
2015197688.tif 000008
【図７】
2015197688.tif 000009
【図８】
2015197688.tif 000010
【図９】
2015197688.tif 000011