(57)【要約】【課題】上位装置とデバイスとの間で通信機能を提供するに際し、デバイスやインターフェースに依存することなく通信を行い、デバイスを制御することができる情報システムを提供する。【解決手段】アプリケーションプログラム（Ｓ２０）を備える上位装置２と、上位装置２との間で通信を行うとともに、該通信の結果に基づいて所定の処理を実行するデバイス（Ｓ２２，Ｓ２６）と、上位装置２とデバイス（Ｓ２２，Ｓ２６）との間で通信機能を提供する制御ソフトウェア（Ｓ２１，Ｓ２５）と、から構成され、制御ソフトウェア（Ｓ２１，Ｓ２５）は、アプリケーションプログラム（Ｓ２０）によって呼び出され、同種の処理を実行する異なるデバイスに使用可能な互いに共通するＡＰＩ（Ｓ２４）を有し、アプリケーションプログラム（Ｓ２０）は、このＡＰＩに対応するプログラミングインターフェースを含むことを特徴とする。【選択図】図２
2009086832.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを備える上位装置と、
前記上位装置との間で通信を行うとともに、該通信の結果に基づいて所定の処理を実行するデバイスと、
前記上位装置と前記デバイスとの間で通信機能を提供する制御ソフトウェアと、を備え、
前記制御ソフトウェアは、前記アプリケーションプログラムによって呼び出され、同種の処理を実行する異なるデバイスに使用可能なＡＰＩ（Application Program Interface）を有し、
前記アプリケーションプログラムは、前記ＡＰＩに対応するプログラミングインターフェースを含むことを特徴とする情報システム。
【請求項２】
前記ＡＰＩと前記プログラミングインターフェースとは、互いに共通する関数であることを特徴とする請求項１記載の情報システム。
【請求項３】
前記上位装置は、前記ＡＰＩに使用する情報を記録する情報登録部を備え、
前記情報登録部には、異なるデバイスを識別する識別情報が登録されていることを特徴とする請求項１又は２記載の情報システム。
【請求項４】
前記デバイスは、カードリーダライタであることを特徴とする請求項１から３のいずれか記載の情報システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに接続された上位装置とデバイスとの間で通信機能を提供するに際し、デバイスやインターフェースに依存することなく通信を行うことができる情報システムに関する。
【背景技術】
【０００２】
Ｏ−ＰＯＳ、ＰＣ／ＳＣ、ＸＦＳ等の標準仕様を用いた小規模のＰＯＳシステムに接続されたデバイス（例えば、カードリーダライタ）は、上位装置（ホストコンピュータ）とデバイスとの基本通信機能を提供する制御ソフトウェア（ドライバ、ライブラリ）によって、その機能を発揮することができる。
【０００３】
この際、上位装置とデバイスとの間では、インターフェース特有の処理を意識することなく、既に用意された制御ソフトウェアのＡＰＩ（Application Program Interface）を使用して、デバイスを制御する技術が一般化されている。ＡＰＩとは、あるプラットフォーム（ＯＳやミドルウェア）向けのソフトウェアを開発する際に使用できる命令や関数の集合、また、それらを利用するためのプログラム上の手続きを定めた規約の集合のことをいう。
【０００４】
ＡＰＩによれば、デバイスの持つすべての機能を確立するためのプログラミングを必要とせず、多くの制御ソフトウェアが共通して利用する機能は、ＯＳやミドルウェアなどの形でまとめて提供され、個々の開発者は規約に従ってその機能を「呼び出す」だけで、自分でプログラミングすることなくその機能を利用したソフトウェアを作成することができるという利点を有する。
【０００５】
このソフトウェアは、個々のデバイスごとや、個々のインターフェースごとに対応して上位装置に格納されている。
【０００６】
例えば、特許文献１の第２図によれば、プリンタ、ディスプレイ、ハンドスキュー、ＣＤといった異なる種類のデバイスごとに、それぞれのハンドラを必要とし、複数のデバイスをセレクタで切り替えて、１つのデバイスを選択的に接続する技術が開示されている。
【０００７】
また、同じ種類のデバイスであっても、デバイスが物理的に異なれば、デバイスごとにそれぞれのハンドラを必要とする。これは、どのデバイスをどのハンドラで制御するかという、デバイスとハンドラとの関連付けがレジストリに登録されていて、物理的に異なるデバイスについては関連付けされていないことに起因するものである。
【０００８】
【特許文献１】特開平４−１４１５８号公報（第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このように、従来の情報システムにおいては、図５に示すように、異なるデバイスごとに対応したアプリケーションプログラム及び制御ソフトウェアを必要としていた。すなわち、図５によれば、アプリケーションプログラムＡ（Ｓ１０）にてカードリーダライタＡ（Ｓ１２）を制御する場合、制御ソフトウェアＡ（Ｓ１１）を使用しなければならず、他のデバイス（カードリーダライタＢ）を制御できない。同様に、制御ソフトウェアＢ（Ｓ１４）は、アプリケーションプログラムＢ（Ｓ１３）と関連してカードリーダライタＢ（Ｓ１５）を制御するもので、他のデバイス（カードリーダライタＡ）を制御できない。
【００１０】
そして、上述した従来技術が示すように、デバイスとの基本通信機能を提供してデバイスを制御する既存の制御ソフトウェアの制約から、いくつかの問題点があった。
【００１１】
例えば、デバイスと上位装置とのインターフェースが異なる場合や、インターフェースが同じでもデバイス自体の仕様が異なる場合などは、それぞれに対応して制御ソフトウェアを変更し、それに伴ってアプリケーションプログラムも変更しなければならず、開発コストや開発期間の負担等の面で問題点がある。
【００１２】
また、デバイス固有の仕様に依存した制御ソフトウェアのＡＰＩを使用する場合は、その仕様を熟知し、かつ、その仕様を意識したものにしなければならず、同様に開発コストや開発期間の負担等の面で問題点がある。
【００１３】
また、特許文献１（特開平４−１４１５８号公報）に記載された発明のように、セレクタによるデバイスの選択によっても、各デバイスに特有のハンドラを必要とするばかりか、ハンドラやアプリケーションプログラム自体が複雑になってしまい、システムの負荷が増大してしまうという問題点がある。
【００１４】
さらに、特開平６−２４３０８１号公報に記載された発明のように、クライアント−サーバ−デバイスというサーバ介在型のネットワーク通信においては、アプリケーションプログラムによるサーバへの要求と、サーバープロセスによるデバイスへの要求と、をサーバで管理して処理する必要があり、システム全体としてはサーバープロセスが複雑になってしまい、システムの負荷が増大してしまうという問題点がある。また、このようなネットワーク通信によってデバイスが制御されるものは、デバイスがローカルに接続されるような小規模なＰＯＳシステムには適さない。
【００１５】
本発明は、このような点に鑑みてなされたものであり、その目的は、上位装置とデバイスとの間で通信機能を提供するに際し、デバイスやインターフェースに依存することなく通信を行い、デバイスを制御することができる情報システムを提供することにある。
【課題を解決するための手段】
【００１６】
以上のような課題を解決するために、本発明は、アプリケーションプログラムを備える上位装置と、上位装置との間で通信を行うとともに、該通信の結果に基づいて所定の処理を実行するデバイスと、上位装置とデバイスとの間で通信機能を提供する制御ソフトウェアと、から構成され、制御ソフトウェアは、アプリケーションプログラムによって呼び出され、同種の処理を実行する異なるデバイスに使用可能な互いに共通するＡＰＩを有し、アプリケーションプログラムは、このＡＰＩに対応するプログラミングインターフェースを含むことを特徴とする。
【００１７】
より具体的には、本発明は、以下のものを提供する。
【００１８】
（１）  アプリケーションプログラムを備える上位装置と、前記上位装置との間で通信を行うとともに、該通信の結果に基づいて所定の処理を実行するデバイスと、前記上位装置と前記デバイスとの間で通信機能を提供する制御ソフトウェアと、を備え、前記制御ソフトウェアは、前記アプリケーションプログラムによって呼び出され、同種の処理を実行する異なるデバイスに使用可能なＡＰＩ（Application Program Interface）を有し、前記アプリケーションプログラムは、前記ＡＰＩに対応するプログラミングインターフェースを含むことを特徴とする情報システム。
【００１９】
本発明によれば、制御ソフトウェアは、同種の処理を実行する異なるデバイスに使用可能なＡＰＩを有し、上位装置に備えられたアプリケーションプログラムは、このＡＰＩに対応するプログラミングインターフェースを含むことから、アプリケーション内で発生する処理がアプリケーションプログラムによって呼び出されてデバイスを制御する場合に、デバイスに依存することなく、同種の処理を実行するデバイスであれば共通したＡＰＩによる通信機能の提供が可能となる。また、異なるデバイスによって上位装置とデバイスとの通信方式が異なる場合でも、そのデバイスに依存することなく、共通したＡＰＩによる通信機能の提供が可能となる。
【００２０】
（２）  前記ＡＰＩと前記プログラミングインターフェースとは、互いに共通する関数であることを特徴とする情報システム。
【００２１】
本発明によれば、ＡＰＩとプログラミングインターフェースとが互いに共通する関数を持つことにより、アプリケーションプログラムによって適当なパラメータ（引数）を指定して呼び出されたＡＰＩの関数をプログラミングインターフェース上で処理することができ、デバイスやインターフェースに依存することなく、共通したＡＰＩによる通信機能の提供が可能となる。
【００２２】
（３）  前記上位装置は、前記ＡＰＩに使用する情報を記録する情報登録部を備え、前記情報登録部には、異なるデバイスを識別する識別情報が登録されていることを特徴とする情報システム。
【００２３】
本発明によれば、情報登録部に登録された識別情報によって異なるデバイスを各々識別することができることから、異なるデバイスによっても共通したＡＰＩによる上位装置とデバイスとの通信機能の提供が可能となる。
【００２４】
（４）  前記デバイスは、カードリーダライタであることを特徴とする情報システム。
【００２５】
本発明によれば、デバイスとしてのカードリーダの仕様や通信方式に依存することなく、共通したＡＰＩによる通信機能の提供が可能となる。
【発明の効果】
【００２６】
以上説明したように、本発明によれば、デバイス自体や上位装置とデバイスとの通信方式が異なる場合でも、共通したＡＰＩによる通信機能の提供が可能となり、それらに依存することなくデバイスの制御が可能となる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２８】
図１は、本発明の実施の形態に係る情報システム１のハードウェア構成図である。
【００２９】
情報システム１は、下位に接続される各種のデバイスを制御する上位装置２と、上位装置２によって制御され、各種の機能を実現するデバイスとしてのカードリーダライタ３と、によって構成される。なお、デバイスとしてのカードリーダライタは一例であって、カードリーダライタ以外にも、プリンタやバーコードリーダ等の各種のデバイスを個別に又は複合的に構成することもできる。
【００３０】
上位装置２は、ＢＵＳ（バス）を介して各種の機器が接続されており、情報システム１においては、ＣＰＵ２０と、ストレイジ２１と、メモリ２２と、インターフェース２３と、が主に接続されている。なお、本実施の形態では、ストレイジ２１は、ハードディスクを用いている。
【００３１】
ＣＰＵ２０は、ストレイジ２１に記憶されているプログラムやデータをメモリ２２上に読み出し、それらを用いることで上位装置２及びカードリーダライタ３の制御を行う。
【００３２】
メモリ２２は、ストレイジ２１から読み出された基本ソフトウェア（ＯＳ）のほか、ＯＳの下で実行されるアプリケーションプログラムや、上位装置２とカードリーダライタ３との間で通信機能を提供する制御ソフトウェアプログラムを記憶する。また、制御ソフトウェアとカードリーダライタとを関連付けて、異なるカードリーダライタを識別する識別情報を登録する情報登録部としての機能も有している。
【００３３】
また、メモリ２２は、ＡＰＩとプログラミングインターフェースとが互いに共通する関数を記憶する。共通する関数（共通ＡＰＩ群）としては、カードリーダライタ等のデバイスとの通信を確立する「ｏｐｅｎ」処理、デバイスとの通信を切断する「ｃｌｏｓｅ」処理等の各種関数がある。
【００３４】
ＲＡＭ２２は、ＣＰＵ２０がプログラムを実行するための作業領域も提供する。
【００３５】
インターフェース２３は、ＣＰＵ２０からの命令に基づいて様々な処理が実行される他の機器，デバイスと上位装置２とを接続するものであり、カードリーダライタ３等とローカル接続されている。
【００３６】
かかる構成を有する情報システム１は、ＣＰＵ２０からの命令に従い、ストレイジ２１に記憶されているプログラムやデータをメモリ２２上に読み出して、それらを用いることで、インターフェース２３に接続されるカードリーダライタ３をＡＰＩを使用して制御する。
【００３７】
図２は、本発明の実施の形態に係る情報システム１のソフトウェア構成図である。
【００３８】
アプリケーションプログラムは、異なるカードリーダライタＡ，カードリーダライタＢを制御するのに共通に使用可能なＡＰＩに対応するプログラミングインターフェースを含み、制御ソフトウェアＡ，制御ソフトウェアＢが有するＡＰＩを呼び出すことができる。
【００３９】
制御ソフトウェアＡ及び制御ソフトウェアＢは、上位装置２とカードリーダライタＡ及びカードリーダライタＢとの間でそれぞれ通信機能を提供してカードリーダライタＡ，カードリーダライタＢを制御する。
【００４０】
図２によれば、カードの磁気情報を読み取る、或いは、カードのＩＣチップに記憶された情報を読み取るという同種の処理を実行する異なるカードリーダライタＡ，カードリーダライタＢを、互いに共通のＡＰＩを用意しておくことで個別に制御するものである。具体的には、アプリケーションプログラム（Ｓ２０）でカードリーダライタＡ（Ｓ２２）を制御する場合、情報登録部（Ｓ２３）に登録された情報を下に、アプリケーションプログラムのプログラミングインターフェイスを介して共通のＡＰＩ（Ｓ２４）を使用することにより、カードリーダライタＡ（Ｓ２２）の主な動作の実現が可能となる。共通のＡＰＩ（Ｓ２４）がアプリケーションプログラム（Ｓ２０）によってコールされた際の各処理は、基本通信機能を提供する制御ソフトウェアＡ（Ｓ２１）によって行うことで、アプリケーションプログラム（Ｓ２０）に依存しない形でカードリーダライタＡ（Ｓ２２）特有の処理を行うことができる。同様に、アプリケーションプログラム（Ｓ２０）に依存しない形でカードリーダライタＢ（Ｓ２６）特有の処理を行うことができる。
【００４１】
例として、カードリーダライタＡ（Ｓ２２）を使用してＩＣカードと通信を行う場合の処理について説明する。なお、各種処理の実行に先立ち、情報登録部（Ｓ２３）に、カードリーダライタＡ（Ｓ２２）のデバイス名やデバイス情報を登録しておく。
【００４２】
まず、上位装置２とカードリーダライタＡ（Ｓ２２）との通信を確立するために、アプリケーションプログラム（Ｓ２０）によって「ｏｐｅｎ」が呼び出され、制御ソフトウェアＡ（Ｓ２１）によって「ｏｐｅｎ」処理が実行される。この際に、上位装置２はカードリーダライタＡ（Ｓ２２）を使用するハンドルを取得する。このハンドルは、以後のＡＰＩコール時にも使用する。
【００４３】
次に、カード取り込みを行うために、アプリケーションプログラム（Ｓ２０）によって「ｅｎｔｒｙ」が呼び出され、制御ソフトウェアＡ（Ｓ２１）によって「ｅｎｔｒｙ」処理が実行されて、ＩＣカードの挿入を待つ。ＩＣカードが挿入されると、制御ソフトウェアＡ（Ｓ２１）からアプリケーションプログラム（Ｓ２０）に「ｅｎｔｒｙ」の結果が返される。
【００４４】
次に、ＩＣカードの活性化を行うために、アプリケーションプログラム（Ｓ２０）によって「ａｃｔｉｖａｔｅ」が活性化指定で呼び出され、制御ソフトウェアＡ（Ｓ２１）によって「ａｃｔｉｖａｔｅ」活性化処理が実行されて、ＩＣカードの活性化が行われる。
【００４５】
次に、ＩＣカードとのデータ送受信を行うために、アプリケーションプログラム（Ｓ２０）によって「ｉｃｃｏｍｍｕｎｉｃａｔｉｏｎ」が呼び出され、制御ソフトウェアＡ（Ｓ２１）によって「ｉｃｃｏｍｍｕｎｉｃａｔｉｏｎ」処理が実行されて、ＩＣカードとの通信を行い、必要なデータの送受信を行う。
【００４６】
通信処理終了後、ＩＣカードの非活性化を行うために、アプリケーションプログラム（Ｓ２０）によって「ａｃｔｉｖａｔｅ」が非活性化指定で呼び出され、制御ソフトウェアＡ（Ｓ２１）によって「ａｃｔｉｖａｔｅ」非活性化処理が実行されて、ＩＣカードの非活性化が行われる。
【００４７】
次に、ＩＣカードの排出を行うために、アプリケーションプログラム（Ｓ２０）によって「ｅｊｅｃｔ」が呼び出され、制御ソフトウェアＡ（Ｓ２１）によって「ｅｊｅｃｔ」処理が実行されて、ＩＣカードの排出を待つ。ＩＣカードが排出されて取り除かれたら、制御ソフトウェアＡ（Ｓ２１）からアプリケーションプログラム（Ｓ２０）に「ｅｊｅｃｔ」の結果が返される。
【００４８】
最後に、上位装置２とカードリーダライタＡ（Ｓ２２）との通信を切断するために、アプリケーションプログラム（Ｓ２０）によって「ｃｌｏｓｅ」が呼び出され、制御ソフトウェアＡ（Ｓ２１）によって「ｃｌｏｓｅ」処理が実行されて、デバイスとの通信が切断される。この際、取得したハンドルもクローズされる。
【００４９】
このようにして、カードリーダライタＡ（Ｓ２２）の主な動作の実現が可能となる。また、カードリーダライタＢ（Ｓ２６）の主な動作の実現にあたっては、アプリケーションプログラム（Ｓ２０）によってＡＰＩが呼び出され、制御ソフトウェアＢ（Ｓ２５）によってＡＰＩが要求する処理が実行される。
【００５０】
すなわち、同種の処理を実行する異なるカードリーダライタに使用可能な共通のＡＰＩを使用し、呼び出されたＡＰＩの処理を制御ソフトウェアによって実行することで、カードリーダライタに依存することなく、上位装置とカードリーダライタとの通信機能の提供が可能となる。この場合、物理的に異なるカードリーダライタＡ，カードリーダライタＢを用いるとき、換言すれば、搭載されるチップ（ファームウェア等）によって上位装置が別媒体と認識するときでも、アプリケーションプログラムによって呼び出されたＡＰＩに使用する情報をカードリーダライタごとに情報登録部に登録しておくことで、上位装置とカードリーダライタとの通信機能の提供が可能となる。
【００５１】
図３は、本発明の他の実施の形態に係る情報システム１'のソフトウェア構成図である。
【００５２】
図３に示す情報システム１'は、図２に示す情報システム１と異なり、カードリーダライタＡ'がＲＳ−２３２ＣポートＣＯＭ１に、カードリーダライタＢ'がＵＳＢポートに、上位装置２と異なる形態の通信方式で接続されている。このような形態を、上位装置２は「異なるデバイス」として認識することから、本発明における「異なるデバイス」と称する。
【００５３】
情報登録部には、ＲＳ−２３２ＣポートＣＯＭ１に接続されたカードリーダライタＡ'と通信するための情報（接続ポート（ＣＯＭ）、通信速度（Baudrate））が登録され、また、ＵＳＢポートに接続されたカードリーダライタＢ'と通信するための情報（ProductID、Serial Number）が登録されており、上位装置２は、カードリーダライタＡ'，カードリーダライタＢ'を識別することができる。
【００５４】
まず、カードリーダライタＡ'を用いて上位装置２との通信を行う場合を考えると、この場合の処理は上述したカードリーダライタＡと同様である。次に、カードリーダライタＡ'をカードリーダライタＢ'に変えて通信を行う場合を考える。
【００５５】
この場合は、従来であれば異なるカードリーダライタと認識する上位装置２において、カードリーダライタＢ'に対応したアプリケーションプログラム及び制御ソフトウェアが必要であるが、本発明の実施の形態によれば、アプリケーションプログラムによって呼び出されたＡＰＩをカードリーダライタＢ'に対応した制御ソフトウェアにて処理することができるように、制御ソフトウェアは同種の処理を実行する異なるデバイスに使用可能なＡＰＩを有し、アプリケーションプログラムはこのＡＰＩに対応するプログラミングインターフェースを含むようにしている。
【００５６】
従って、上位装置とカードリーダライタとの通信方式が異なる場合でも、アプリケーションプログラムによって呼び出されたＡＰＩに使用する情報をカードリーダライタごとに情報登録部に登録しておくことで、上位装置とカードリーダライタとの通信機能の提供が可能となることから、アプリケーションプログラムを変更することなく異なるカードリーダライタを使用することができる。
【００５７】
このように、あるクラス群に対してアクセスするプログラミングインターフェースを統一し、同種の処理を実行する異なるデバイスに使用可能なＡＰＩを共通にすることで、外からは同じインターフェースでアクセスすればよくなる。この場合に、通信方式の違いによって全く同一の処理ができなくても、要求される処理が共通して同種の処理を実行するように制御ソフトウェアを構成しておけばよい。例えば、上位装置２とカードリーダライタとの通信を確立するためのプログラミングインターフェイス及びＡＰＩ「ｏｐｅｎ」につき、メソッド名を「ｏｐｅｎ（）」としてインターフェースを統一させることもできる。この場合、アプリケーションプログラムからは、プログラミングインターフェイスに適当なパラメータ（引数）ｉを指定して、カードリーダライタのＡＰＩ「ｏｐｅｎ（ｉ）」の関数を呼び出す。また、関数を呼び出したときに実際に何が行われるかは、デバイスごとに異なることもあり、デバイスの制御は制御ソフトウェアによる。例えば、プリンタに対して「ｗｒｉｔｅ」を行うと印字されるが、サウンドデバイスに対して「ｗｒｉｔｅ」を行うと、音が鳴る。
【００５８】
図４は、本発明の実施の形態に係る情報システム１におけるデータの流れを示す図である。アプリケーションプログラムを変更することなく、制御ソフトウェアＡ，Ａ'、制御ソフトウェアＢ，Ｂ'を機能させて、カードリーダライタＡ，Ａ'、カードリーダライタＢ，Ｂ'を制御するシステムについて説明する。
【００５９】
図４（ａ）を参照して、カードリーダライタＡ，Ａ'を制御する制御ソフトウェアＡ，Ａ'は、ＣＰＵ２０の制御によって、直接、カードリーダライタＡ，Ａ'の領域であるカードリーダライタＡ，Ａ'セグメントに処理内容が書き込まれる。一方、カードリーダライタＢ，Ｂ'を制御する制御ソフトウェアＢ，Ｂ'は、ＣＰＵ２０の制御によって、直接、カードリーダライタＢ，Ｂ'の領域であるカードリーダライタＢ，Ｂ'セグメントに処理内容が書き込まれる。
【００６０】
また、カードリーダライタＡ，Ａ'及びカードリーダライタＢ，Ｂ'を同時に使用する場合は、時間的空間的多重化制御方式を導入することができる。
【００６１】
ＣＰＵ２０は、その内部が複数のユニットに区分けされており、それぞれのユニットが異なる役割（命令の読み込み動作であるフェッチ、命令の解析動作であるデコード、命令の実行等）を有することから、これを上手く利用したパイプライン処理方式を採用し、時間的空間的多重化制御方式を導入することによって、異なるカードリーダライタの複数同時制御が可能となる。具体的には、工程１のフェッチを完了した段階で、工程１のデコードを開始するとともに、待ち状態になったフェッチユニットに対して、工程２のフェッチを実行させるといったものである。
【００６２】
このような、時間的空間的多重化制御方式によれば、図１に示すメモリ２２に、基本ソフトウェア（ＯＳ）の下で実行されるアプリケーションプログラムや、上位装置２とカードリーダライタとの間で通信機能を提供する個々の制御ソフトウェアプログラムを格納しておき、それぞれの制御ソフトウェアプログラムを同一のアプリケーションプログラムで実行することができる。
【００６３】
また、図４（ｂ）を参照して、ディスクリプタテーブルの管理によっても、異なるカードリーダライタの複数同時制御が可能となる。
【００６４】
具体的には、制御ソフトウェアＡ，Ａ'はＣＰＵ２０による制御によって、バスインターフェースを介して、カードリーダライタＡ，Ａ'セグメントに処理内容が書き込まれる。一方、制御ソフトウェアＢ，Ｂ'も同様に、ＣＰＵ２０による制御によって、バスインターフェースを介して、カードリーダライタＢ，Ｂ'セグメントに処理内容が書き込まれる。このとき、メモリ領域を管理するディスクリプタテーブルによる各プロセスごとに確保した領域やアドレス、通信ポート等の管理によって、制御ソフトウェアＡ，Ａ'による情報は、カードリーダライタＡ，Ａ'セグメントとして割り当てられた領域（０５００〜０５ＦＦ番地）に書き込まれ、制御ソフトウェアＢ，Ｂ'による情報は、カードリーダライタＢ，Ｂ'セグメントとして割り当てられた領域（０Ａ００〜０ＡＦＦ番地）に書き込まれる。
【産業上の利用可能性】
【００６５】
以上説明したように、本発明は、上位装置とデバイスとの通信機能を提供する制御ソフトウェアが異なっても、アプリケーションプログラムを変更することなくデバイスを制御して、アプリケーションの実行が可能なものとして有用である。依依田
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態に係る情報システムのハードウェア構成図である。
【図２】本発明の実施の形態に係る情報システムのソフトウェア構成図である。
【図３】本発明の他の実施の形態に係る情報システムのソフトウェア構成図である。
【図４】本発明の実施の形態に係る情報システムにおけるデータの流れを示す図である。
【図５】従来の情報システムのソフトウェア構成図である。
【符号の説明】
【００６７】
１，１'  情報システム
２  上位装置
３  カードリーダライタ
【図１】
2009086832.tif 000003
【図２】
2009086832.tif 000004
【図３】
2009086832.tif 000005
【図４】
2009086832.tif 000006
【図５】
2009086832.tif 000007