(57)【特許請求の範囲】
【請求項１】
ネットワークを介してサーバーと接続された第１コンピューターに搭載可能であり、前記第１コンピューターの通信ポートに接続されたプリンターを制御して特定のアプリケーションからのアプリケーションデータを前記プリンターに印刷させるプリンタードライバーであって、
前記アプリケーションデータに基づいて第１印刷データを生成する制御データ生成部と、
前記特定のアプリケーションが動作する間に基づき前記通信ポートを占有するのではなく、前記アプリケーションデータが供給されると前記通信ポートを占有して前記第１印刷データを前記通信ポートを介して前記プリンターに送信し、予め設定した設定時間を経過すると前記通信ポートの占有を解除し、前記サーバーから送信された第２印刷データを前記プリンターに送信する通信部を有することを特徴とするプリンタードライバー。
【請求項２】
請求項１において、
前記設定時間は、前記通信部が前記第１印刷データを前記プリンターに送信開始した以降の第１の時点からの経過時間であることを特徴とするプリンタードライバー。
【請求項３】
請求項２において、
前記第１の時点は、前記通信部が前記第１印刷データを前記プリンターに送信終了した時点であることを特徴とするプリンタードライバー。
【請求項４】
請求項１において、
前記設定時間は、前記特定のアプリケーションから前記アプリケーションデータが供給開始された以降の第２の時点からの経過時間であることを特徴とするプリンタードライバー。
【請求項５】
請求項４において、
前記第２の時点は、前記特定のアプリケーションから前記アプリケーションデータが供給されなくなった時点であることを特徴とするプリンタードライバー。
【請求項６】
請求項１において、
前記通信部は、前記サーバーから前記第２印刷データが送られてきたときに前記通信ポートを占有している場合には前記サーバーにエラーを送信し、前記サーバーから前記第２印刷データが送られてきたときに前記通信ポートを占有していない場合には前記第２印刷データを前記プリンターに送信することを特徴とするプリンタードライバー。
【請求項７】
請求項１において、
前記通信部は、前記サーバーから受信した前記第２印刷データを保持し、前記通信ポートの占有を解除した後に前記第２印刷データを前記プリンターに送信することを特徴とするプリンタードライバー。
【請求項８】
請求項１から７のいずれか一項において、
前記アプリケーションデータには、前記プリンターとともに前記通信ポートに接続されたデバイスを動作させる動作コマンドが含まれており、
前記制御データ生成部は、前記動作コマンドが供給された場合に前記動作コマンドに対応する制御コマンドを生成し、
前記通信部は、前記制御コマンドが生成されると前記通信ポートを介して前記制御コマンドを前記デバイスに送信し、前記制御コマンドに対応する動作が終了したことを示す終了メッセージを前記デバイスから受信するまで前記通信ポートを占有した状態を維持することを特徴とするプリンタードライバー。
【請求項９】
通信ポートを有し、レシートデータを生成するＰＯＳアプリケーション、および前記ＰＯＳアプリケーションで生成された前記レシートデータに基づいて第１印刷データを生成するプリンタードライバーが動作するＰＯＳ端末装置と、
前記ＰＯＳ端末装置の前記通信ポートに接続されたプリンターと、
前記ＰＯＳ端末装置に通信可能に接続され、クーポンデータを生成するクーポン印刷アプリケーション、及び前記クーポンデータに基づいて第２印刷データを生成する第２プリンタードライバーが動作するサーバーと、を有し、
前記ＰＯＳ端末装置は前記サーバーに前記レシートデータを送信し、
前記プリンタードライバーは、前記レシートデータに基づいて前記第１印刷データを生成する制御データ生成部と、前記ＰＯＳアプリケーションが動作する間に基づき前記通信ポートを占有するのではなく、前記レシートデータが供給されると前記通信ポートを占有して前記第１印刷データを前記通信ポートを介して前記プリンターに送信し、予め設定した設定時間を経過すると前記通信ポートの占有を解除し、前記サーバーから送信された前記第２印刷データを前記プリンターに送信する通信部を有し、
前記第２プリンタードライバーは、前記ＰＯＳ端末装置から送信された前記レシートデータに基づいて前記プリンターに印刷を行わせる前記第２印刷データを生成する第２データ生成部と、前記第２印刷データが生成されると前記プリンタードライバーの前記通信部に前記第２印刷データを送信する第２通信部と、を備えることを特徴とするＰＯＳシステム。
【請求項１０】
請求項９において、
前記第２通信部は、前記プリンタードライバーから前記通信ポートが占有されていることを示すエラーが送信されてきた場合、前記プリンタードライバーから前記エラーが送信されなくなるまで前記第２印刷データを前記通信部に送信する送信動作を繰り返すことを特徴とするＰＯＳシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定のアプリケーションからのアプリケーションデータをプリンターに印刷させるプリンタードライバーに関する。また、特定のアプリケーションが動作するＰＯＳ端末装置とプリンターを有するＰＯＳシステムに関する。
【背景技術】
【０００２】
ＰＯＳシステムはレジカウンターに設置されたＰＯＳ端末装置とＰＯＳ端末装置の通信ポートに接続されたプリンターを備える。ＰＯＳ端末装置では、レシートを印刷するためのＰＯＳアプリケーションと、プリンターを駆動制御するプリンタードライバーが動作する。プリンタードライバーは、ＰＯＳアプリケーションが生成するアプリケーションデータに基づいてプリンターに印刷を行わせる印刷データを生成し、当該印刷データをプリンターに送信することによってプリンターを駆動制御する。
【０００３】
ＰＯＳ端末装置で動作するプリンタードライバーとしては、ＵｎｉｆｉｅｄＰＯＳの仕様書に準拠した専用ドライバーが用いられることが一般的である。かかる専用ドライバーは、特許文献１に記載されているように、ＰＯＳアプリケーションから最初の利用開始要求を受信すると、ＰＯＳアプリケーションのために、通信ポートを占有する。すなわち、専用ドライバーは、ＰＯＳアプリケーションからのアプリケーションデータのみをプリンターで印刷することが可能な状態とする。また、専用ドライバーは、ＰＯＳアプリケーションが動作する間、通信ポートを占有した状態を維持する。これにより、ＰＯＳシステムはレシートの印刷処理が中断されることを防止する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３５９７１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
小売店などでは、顧客の再来店を促すために、会計時に割引券などのクーポンを発行して顧客に提供するサービスを行うことがある。
【０００６】
このようなサービスを提供するためには、既存のＰＯＳシステムに影響を与えないように、クーポン印刷用のシステムを別に構成して、クーポン印刷用のプリンターを既存のプリンターとは別にレジカウンターに設置することが考えられる。しかし、この場合には、レジカウンターに新たなプリンターを設置するためのスペースが必要となる。また、クーポン印刷用のプリンターを新たに購入する必要があるので、クーポン印刷用のシステムを導入するための費用が嵩む。
【０００７】
ここで、既存のプリンターを利用してクーポンを印刷すれば、レジカウンターに新たなスペースを確保する必要はなく、新たなプリンターを購入する経費も必要ない。しかし、ＰＯＳ端末装置で動作する専用ドライバーは、ＰＯＳアプリケーションが動作する間、ＰＯＳアプリケーションのために通信ポートを占有する。また、ＰＯＳアプリケーションは常にＰＯＳ端末装置で動作する。従って、クーポンの印刷が必要となったときに通信ポートを介してプリンターにクーポン印刷用のデータを送信することができず、クーポンを適時に発行することができない。
【０００８】
本発明の課題は、かかる問題点に鑑みて、特定のアプリケーションの動作中に当該特定のアプリケーションからのデータではない他のデータを印刷できるプリンタードライバーを提供することにある。また、かかるプリンタードライバーが動作するＰＯＳ端末装置とプリンターを有するＰＯＳシステムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態で実現することが可能である。
【００１０】
本発明のプリンタードライバーは、コンピューターの通信ポートに接続されたプリンターを制御して特定のアプリケーションからのアプリケーションデータを前記プリンターに印刷させるプリンタードライバーにおいて、前記アプリケーションデータが供給されると前記通信ポートを占有し、予め設定した設定時間を経過すると前記通信ポートの占有を解除する通信部を有する。
【００１１】
この構成によれば、プリンタードライバーは、特定のアプリケーションからアプリケーションデータが供給される間、および予め設定した設定時間を経過するまでの間、通信ポートを占有する。この一方で、プリンタードライバーは、設定時間経過した後には、通信ポートの占有を解除する。すなわち、プリンタードライバーは、特定のアプリケーションから供給される一連のアプリケーションデータをプリンターに印刷させる期間を除き、通信ポートを開放する。ここで、通信ポートが開放されれば、通信ポートを介して他の印刷データをプリンターに供給できる。よって、特定のアプリケーションの動作中であっても、特定のアプリケーションからのアプリケーションデータではない他のデータを印刷できる。
【００１２】
本発明において、プリンタードライバーは、前記アプリケーションデータに基づいて前記プリンターに印刷を行わせる印刷データを生成するデータ生成部を有し、前記通信部は、前記印刷データが生成されると前記通信ポートを介して前記印刷データを前記プリンターに送信することが望ましい。
【００１３】
この構成によれば、プリンタードライバーは、データ生成部によって前記アプリケーションデータに基づいてプリンターに印刷を行わせる印刷データを生成し、通信部によって通信ポートを介して印刷データをプリンターに送信することができる。
【００１４】
本発明において、前記設定時間は、前記通信部が前記印刷データを前記プリンターに送信開始した以降の第１の時点からの経過時間であることが望ましい。
【００１５】
この構成によれば、通信ポートを開放する設定時間を、印刷データ送信後の所定時点（第１の時点）を基点とした経過時間として設定できる。そのため、プリンタードライバーは、印刷データ送信開始直後を基点として経過時間を計測することもできるし、印刷データの送信開始から一定の時間を空けた任意の時点を基点として経過時間を計測することもできる。したがって、経過時間を計測する基点や設定時間の設定に関して設計自由度が向上する。
【００１６】
本発明において、前記第１の時点は、前記通信部が前記印刷データを前記プリンターに送信終了した時点であることが望ましい。
【００１７】
この構成によれば、プリンタードライバーは、通信部が印刷データをプリンターに送信終了した時点を基点として、設定時間経過した後に通信ポートの占有を解除できる。そのため、一連の印刷データをプリンターが印刷する時間を加味した設定時間の設定が可能になる。
【００１８】
本発明において、前記設定時間は、前記アプリケーションから前記アプリケーションデータが供給開始された以降の第２の時点からの経過時間であることが望ましい。
【００１９】
この構成によれば、通信ポートを開放する設定時間を、アプリケーションデータの供給開始後の所定時点（第２の時点）を基点とした経過時間として設定できる。そのため、プリンタードライバーは、アプリケーションデータの供給開始直後を基点として経過時間を計測することもできるし、アプリケーションデータの供給開始から一定の時間を空けた任意の時点を基点として経過時間を計測することもできる。したがって、経過時間を計測する基点や設定時間の設定に関して設計自由度が向上する。
【００２０】
本発明において、前記第２の時点は、前記アプリケーションから前記アプリケーションデータが供給されなくなった時点であることが望ましい。
【００２１】
この構成によれば、プリンタードライバーは、特定のアプリケーションからのアプリケーションデータの供給が終了された時点を基点として、設定時間経過した後に通信ポートの占有を解除できる。そのため、一連の印刷データをプリンターが印刷する時間を加味した設定時間の設定が可能になる。
【００２２】
本発明において、前記通信部は、前記プリンターを制御可能な第２プリンタードライバーと通信可能であり、前記第２プリンタードライバーから前記プリンターに印刷を行わせる第２印刷データを受信して、前記第２印刷データを前記プリンターに送信することが望ましい。
【００２３】
この構成によれば、プリンタードライバーは、第２プリンタードライバーと通信可能である。そのため、特定のアプリケーションからのアプリケーションデータの印刷の他に第２プリンタードライバーからの第２印刷データをプリンターに送信して印刷させることができる。
【００２４】
本発明において、前記通信部は、前記第２プリンタードライバーから前記第２印刷データが送られてきたときに前記通信ポートを占有している場合には前記第２プリンタードライバーにエラーを送信し、前記第２プリンタードライバーから前記第２印刷データが送られてきたときに前記通信ポートを占有していない場合には前記第２印刷データを前記プリンターに送信することが望ましい。
【００２５】
この構成によれば、プリンタードライバーは、通信ポートが占有されていない時は第２印刷データをプリンターに送信して印刷し、通信ポートが占有されている時は第２プリンタードライバーにエラーを送信する。そのため、第２プリンタードライバーは、第２印刷データがプリンターに送信されず印刷されない場合には、エラーの受信によってその状況を知ることができる。
【００２６】
本発明において、前記通信部は、前記第２プリンタードライバーから受信した前記第２印刷データを保持し、通信ポートの占有を解除した後に前記第２印刷データを前記プリンターに送信することが望ましい。
【００２７】
この構成によれば、通信部は、受信した第２印刷データを保持し通信ポートの占有を解除した後にプリンターに送信する。このようにすれば、設定時間後には通信ポートの占有が解除されるため、第２印刷データは確実にプリンターに送信されて印刷される。
【００２８】
本発明において、前記アプリケーションデータには、前記プリンターとともに前記通信ポートに接続されたデバイスを動作させる動作コマンドが含まれており、前記データ生成部は、前記動作コマンドが供給された場合に前記動作コマンドに対応する制御コマンドを生成し、前記通信部は、前記制御コマンドが生成されると前記通信ポートを介して前記制御コマンドを前記デバイスに送信し、前記制御コマンドに対応する動作が終了したことを示す終了メッセージを前記デバイスから受信するまで前記通信ポートを占有した状態を維持することが望ましい。
【００２９】
この構成によれば、プリンタードライバーは、プリンターとともに通信ポートに接続されたデバイスを駆動制御できる。また、プリンタードライバーは、制御コマンドに対応する動作が終了したことを示す終了メッセージをデバイスから受信するまで通信ポートを占有した状態を維持するため、通信ポートの開放によってデバイスの動作が中断されることがない。
【００３０】
本発明のＰＯＳシステムは、上記に記載のプリンタードライバーおよび前記特定のアプリケーションが動作するＰＯＳ端末装置と、前記ＰＯＳ端末装置に通信可能に接続され、前記第２プリンタードライバーおよび前記第２プリンタードライバーに第２アプリケーションデータを供給する第２アプリケーションが動作するサーバーと、を有し、前記第２プリンタードライバーは、前記第２アプリケーションデータに基づいて前記プリンターに印刷を行わせる前記第２印刷データを生成する第２データ生成部と、前記第２印刷データが生成されると前記プリンタードライバーの前記通信部に前記第２印刷データを送信する第２通信部と、を備え、前記特定のアプリケーションは、レシートを印刷するための前記アプリケーションデータを生成するＰＯＳアプリケーションであり、前記第２アプリケーションは、クーポンを印刷するための前記第２アプリケーションデータを生成するクーポン印刷アプリケーションである。
【００３１】
この構成によれば、ＰＯＳシステムを構成するＰＯＳ端末装置のプリンタードライバーは、ＰＯＳアプリケーションからレシートを印刷するための一連のアプリケーションデータが供給されている間、および、このアプリケーションデータの供給が終了してから設定時間経過するまでの間、プリンターが接続された通信ポートを占有する。すなわち、プリンタードライバーは、アプリケーションデータに基づいてレシートが発行されるまでの間、通信ポートを占有する。従って、ＰＯＳシステムにおいてレシートの印刷動作が滞ることはない。この一方で、プリンタードライバーは、設定時間経過した後には通信ポートの占有を解除する。そのため、通信ポートが開放されると、ＰＯＳシステムを構成するサーバーの第２プリンタードライバーからプリンタードライバーの通信部に送られる第２印刷データが、通信ポートを介してプリンターに供給される。ここで、第２印刷データは、クーポンを印刷するための前記第２アプリケーションデータに基づいて生成されるため、レシートの印刷後に、クーポンを印刷できる。
【００３２】
本発明において、前記第２通信部は、前記プリンタードライバーから前記通信ポートが占有されていることを示すエラーが送信されてきた場合、前記プリンタードライバーから前記エラーが送信されなくなるまで前記第２印刷データを前記通信部に送信する送信動作を繰り返すことが望ましい。
【００３３】
この構成によれば、第２通信部は、プリンタードライバーからエラーが送信されなくなるまで第２印刷データを通信部に送信する送信動作を繰り返すため、クーポンを確実に印刷できる。
【００３４】
更に、本発明によれば、プリンタードライバーは、特定のアプリケーションからアプリケーションデータが供給される間、および、特定のアプリケーションからのアプリケーションデータの供給が終了してから設定時間に達するまでの間、通信ポートを占有する。この一方で、プリンタードライバーは、特定のアプリケーションからのアプリケーションデータの供給が終了して設定時間経過した後には、通信ポートの占有を解除する。すなわち、本発明のプリンタードライバーは、特定のアプリケーションから供給される一連のアプリケーションデータをプリンターに印刷させる期間を除き、通信ポートを開放する。ここで、通信ポートが開放されていれば、通信ポートを介して印刷データをプリンターに供給できる。よって、特定のアプリケーションの動作中であっても、特定のアプリケーションからのアプリケーションデータではない他のデータを印刷できる。
【００３５】
本発明において、プリンタードライバーは、特定のアプリケーションから供給されるアプリケーションデータに基づいてプリンターを制御するために、アプリケーションデータに基づいてプリンターに印刷を行わせる印刷データを生成するデータ生成部を有し、プリンタードライバーの通信部は、印刷データが生成されると通信ポートを介して印刷データをプリンターに送信することが望ましい。
【００３６】
本発明において、通信部は、プリンターを制御可能な第２プリンタードライバーと通信可能であり、第２プリンタードライバーからプリンターに印刷を行わせる第２印刷データが送られてきたときに通信ポートを占有している場合には第２プリンタードライバーにエラーを送信し、第２印刷データが送られてきたときに通信ポートを占有していない場合には第２印刷データをプリンターに送信することが望ましい。このようにすれば、特定のアプリケーションの動作中に第２印刷データを印刷できる。
【００３７】
本発明において、アプリケーションデータには、プリンターとともに通信ポートに接続されたデバイスを動作させる動作コマンドが含まれており、データ生成部は、動作コマンドが供給された場合に動作コマンドに対応する制御コマンドを生成し、通信部は、制御コマンドが生成されると通信ポートを介して制御コマンドをデバイスに送信し、制御コマンドに対応する動作が終了したことを示す終了メッセージをデバイスから受信するまで通信ポートを占有した状態を維持することが望ましい。このようにすれば、通信ポートに接続されたデバイスを駆動制御できる。また、通信ポートの開放によってデバイスの動作が中断されることがない。
【００３８】
また、本発明によれば、プリンタードライバーは、ＰＯＳアプリケーションからレシートを印刷するための一連のアプリケーションデータが供給される間、および、このアプリケーションデータの供給が終了してから設定時間経過するまでの間、プリンターが接続された通信ポートを占有する。すなわち、プリンタードライバーは、アプリケーションデータに基づいてレシートが発行されるまでの間、通信ポートを占有する。従って、レシートの印刷動作が滞ることはない。この一方で、プリンタードライバーは、ＰＯＳアプリケーションからのアプリケーションデータの供給が終了して設定時間経過した後には、通信ポートの占有を解除する。ここで、通信ポートが開放されると、第２印刷データが通信ポートを介してプリンターに供給される。従って、レシートの印刷後に、クーポンを印刷できる。
【００３９】
本発明において、第２通信部は、プリンタードライバーからエラーが送信されなくなるまで第２印刷データを通信部に送信する送信動作を繰り返すことが望ましい。このようにすれば、クーポンを確実に印刷できる。
【図面の簡単な説明】
【００４０】
【図１】本発明を適用したＰＯＳシステムの説明図である。
【図２】図１のＰＯＳシステムの制御系を示すブロック図である。
【図３】専用ドライバーによる通信ポートの占有動作のフローチャートである。
【図４】専用ドライバーによる通信ポートの占有解除動作の一例を示すフローチャートである。
【図５】図４の占有解除動作を示すタイミングチャートである。
【図６】専用ドライバーによる通信ポートの占有解除動作の他の例を示すフローチャートである。
【図７】図６の占有解除動作を示すタイミングチャートである。
【発明を実施するための形態】
【００４１】
（実施例）
以下に、図面を参照して、本発明を適用した印刷システムの実施の形態であるＰＯＳシステムを説明する。
【００４２】
（全体構成）
図１は、本発明を適用したＰＯＳシステムの概略システム構成図である。図１に示すように、本例のＰＯＳシステム１は、ＰＯＳ端末装置（コンピューター）２と、ＰＯＳ端末装置２の通信ポート３に接続されたＰＯＳプリンター４と、ネットワーク５を介してＰＯＳ端末装置２に接続されたサーバー６とを備える。ＰＯＳ端末装置２およびＰＯＳプリンター４は、店舗の複数あるレジカウンターにそれぞれ設置される。ＰＯＳプリンター４は、プリンター７と小切手読取装置（デバイス）８とからなる複合機である。小切手読取装置８は、小切手９に記載された磁気インク文字から磁気インク文字情報を磁気的に読み取るものである。
【００４３】
ＰＯＳ端末装置２によって購買代金の会計処理が行われ、顧客によって決済されると、ＰＯＳプリンター４からレシートが発行される。また、レシートの発行に引き続いて、ＰＯＳプリンター４からクーポンが発行される。クーポンは、例えば、次の来店時に商品の購入金額から割引を受けられるサービス券である。ここで、顧客が小切手９による決済を望む場合には、小切手読取装置８により小切手９の磁気インク文字情報が読み取られ、この磁気インク文字情報に基づいて決済が行われる。
【００４４】
（ＰＯＳ端末装置）
図２は、ＰＯＳシステム１の制御系を示すブロック図である。図３は、専用ドライバー１３による通信ポート３の占有動作のフローチャートである。図４は、専用ドライバー１３による通信ポート３の占有を解除する占有解除動作の一例を示すフローチャートである。図５は、図４の占有解除動作を示すタイミングチャートである。ＰＯＳ端末装置２では、ＯＳ１１（Operating System）、顧客の購入商品の会計処理を行うためのＰＯＳアプリケーション（特定のアプリケーション）１２、ＰＯＳプリンター４を駆動制御する専用ドライバー１３、および、サーバー６との間で通信を行うネットワーク通信ソフト１４が動作する。
【００４５】
ＰＯＳアプリケーション１２は、レシート印刷用のデータであるレシートデータ（アプリケーションデータ）を生成し、このレシートデータを、ＯＳ１１を介して、専用ドライバー１３に供給する。また、ＰＯＳアプリケーション１２は、小切手読取装置８に小切手９を読取らせるための小切手読取コマンド（アプリケーションデータ：動作コマンド）を生成し、この小切手読取コマンドを、ＯＳ１１を介して、専用ドライバー１３に供給する。
【００４６】
専用ドライバー１３は、ＰＯＳアプリケーション１２のための専用のプリンタードライバーである。専用ドライバー１３は、レシートデータに基づいてＰＯＳプリンター４を駆動制御してレシートを発行する。また、専用ドライバー１３は、小切手読取コマンドに基づいてＰＯＳプリンター４を駆動制御して小切手９から磁気インク文字情報を読み取らせ、読み取らせた磁気インク文字情報を取得する。専用ドライバー１３は、ＵｎｉｆｉｅｄＰＯＳの仕様書に準拠するものであるが、後述するように、通信ポート３を占有するタイミングが従来のものから変更されたものである。
【００４７】
図２に示すように、専用ドライバー１３は、制御データ生成部（データ生成部）１７と通信部１８を有する。
【００４８】
制御データ生成部１７は、レシートデータに基づいてＰＯＳプリンター４にレシートを印刷させる印刷データとしてのレシート印刷データを生成する。また、制御データ生成部１７は、小切手読取コマンドに基づいて小切手読取装置８に磁気インク文字を読み取らせる制御コマンドを生成する。
【００４９】
通信部１８は、図３に示すように、ＰＯＳアプリケーション１２から専用ドライバー１３にアプリケーションデータ（レシートデータ或いは小切手読取コマンド）が供給されると（ステップＳＴ１）、ＰＯＳプリンター４が接続されるＰＯＳ端末装置２の通信ポート３を占有する（ステップＳＴ２）。また、通信部１８は、制御データ生成部１７によってレシート印刷データが生成されると、占有した通信ポート３を介してＰＯＳプリンター４にレシート印刷データを送信する。
さらに、通信部１８は、図４に示すように、通信部１８がレシート印刷データをＰＯＳプリンター４に送信終了した時点（第１の時点）からの経過時間が、予め設定した設定時間Ｔ１以上になったか確認する（ステップＳＴ３）。経過時間が、設定時間Ｔ１以上でない場合（ステップＳＴ３のＮｏ）は、経過時間の確認を継続する。経過時間が、設定時間Ｔ１以上である場合（ステップＳＴ３のＹｅｓ）は、通信ポート３の占有を解除する（ステップＳＴ４）。
【００５０】
上述した専用ドライバー１３の動作のタイミングチャートを図５に示し、以下で動作を説明する。
アプリケーションデータとしてのレシートデータが、ＰＯＳアプリケーション１２から専用ドライバー１３に送信開始され（時点ｔ０）、その後送信が終了する（時点ｔ’０）。
レシートデータを受信した専用ドライバー１３の通信部１８は、ＰＯＳプリンター４が接続された通信ポート３を占有する（時点ｔ０）。
レシートデータの受信を終了すると（時点ｔ’０）、専用ドライバー１３の制御データ生成部１７は、レシートデータに基づいてレシート印刷データを生成して、ＰＯＳプリンター４に送信開始する（時点ｔ’０）。その後、レシート印刷データをすべて送った時点で送信を終了する（時点ｔ１）。
レシート印刷データの送信が終了した時点（時点ｔ１：第１の時点）から設定時間Ｔ１が経過した時点で、通信部１８は、通信ポート３の占有を解除する（時点ｔ３）。
【００５１】
このように動作させることで、ＰＯＳシステム１では、１枚のレシートの印刷開始から印刷終了までの間に通信ポート３の占有が解除されることがない。従って、レシートの印刷がスムーズに行われる。また、一連の印刷データをプリンターが印刷する時間を加味した設定時間に設定できるため、レシートの印刷が、割り込み印刷などによって中断されることがない。
【００５２】
また、通信部１８は、制御データ生成部１７によって制御コマンドが生成されると、占有した通信ポート３を介してＰＯＳプリンター４に制御コマンドを送信する。そして、通信部１８は、制御コマンドに対応する動作が終了したことを示す終了メッセージを小切手読取装置８から受信するまで通信ポート３を占有した状態を維持する。本例では、制御コマンドに対応する動作が終了したことを示す終了メッセージは、磁気インク文字情報であり、通信部１８は、小切手読取装置８から磁気インク文字情報を受信すると通信ポート３の占有を解除する。
【００５３】
ネットワーク通信ソフト１４は、ＰＯＳアプリケーション１２がレシートデータを専用ドライバー１３に供給するのを監視しており、ＰＯＳアプリケーション１２から専用ドライバー１３にレシートデータが供給されると、このレシートデータを、ネットワーク５を介して、サーバー６に送信する（図１参照）。
【００５４】
（サーバー）
サーバー６では、ＯＳ２１、クーポンを印刷するためのクーポン印刷アプリケーション（第２アプリケーション）２２、および、サーバー側ドライバー（第２プリンタードライバー）２３が動作する。サーバー側ドライバー２３は、ＰＯＳプリンター４を駆動制御するためのプリンタードライバーとして、サーバー６で動作するＯＳ２１用に提供されたものである。ＯＳ２１は、例えば、Ｗｉｎｄｏｗｓ（登録商標）である。
【００５５】
クーポン印刷アプリケーション２２は、ＰＯＳ端末装置２から送信されたレシートデータを、ネットワーク５を介して、受信する。また、クーポン印刷アプリケーション２２は、レシートデータに基づいて、ＰＯＳプリンターにクーポンを印刷させるクーポンデータ（第２アプリケーションデータ）を生成する。クーポン印刷アプリケーション２２は、例えば、レシートデータに含まれた購入商品の情報、来店日時、合計金額に基づいて、これらに予め対応付けられたクーポンを発行するクーポンデータを生成する。そして、クーポン印刷アプリケーション２２は、作成したクーポンデータをサーバー側ドライバー２３に供給する。
【００５６】
サーバー側ドライバー２３は、第２データ生成部としてのクーポン印刷データ生成部２５とサーバー側通信部（第２通信部）２６とを備える。クーポン印刷データ生成部２５は、クーポンデータに基づいてＰＯＳプリンター４にクーポンを印刷させる第２印刷データとしてのクーポン印刷データを生成する。
【００５７】
サーバー側通信部２６は、ＰＯＳ端末装置２で動作する専用ドライバー１３の通信部１８とネットワーク５を介して通信可能である。サーバー側通信部２６は、クーポン印刷データ生成部２５によってクーポン印刷データが生成されると、このクーポン印刷データを専用ドライバー１３の通信部１８に送信する。
【００５８】
ここで、ＰＯＳ端末装置２で動作する専用ドライバー１３の通信部１８は、サーバー側ドライバー２３からクーポン印刷データが送られてきたときに通信ポート３を占有している場合には、サーバー側通信部２６にエラーを送信する。これに対して、サーバー側通信部２６は、専用ドライバー１３からエラーが送信されなくなるまでクーポン印刷データを通信部１８に送信する送信動作を繰り返す。また、専用ドライバー１３の通信部１８は、クーポン印刷データが送られてきたときに通信ポート３を占有していない場合には、このクーポン印刷データをＰＯＳプリンター４に送信して、ＰＯＳプリンター４にクーポン印刷データを印刷させる。すなわち、ＰＯＳプリンター４にクーポンを印刷させる。
【００５９】
（ＰＯＳシステムの処理動作）
店舗において顧客が会計を行う際には、オペレーターは、ＰＯＳ端末装置２を介して顧客の購入した商品の商品情報および購入個数を入力する。ＰＯＳアプリケーション１２は、商品情報および購入個数に基づいて会計処理を行って、レシートデータを生成する。また、ＰＯＳアプリケーション１２は、レシートデータを専用ドライバー１３に供給する。
【００６０】
ここで、レシートデータが専用ドライバー１３に供給されると、ネットワーク通信ソフト１４は、このレシートデータをサーバー６に送信する。また、図３に示すように、レシートデータが専用ドライバー１３に供給されると（ステップＳＴ１）、専用ドライバー１３はＰＯＳ端末装置２の通信ポート３を占有する（ステップＳＴ２）。その後、専用ドライバー１３は、ＰＯＳアプリケーション１２から供給されるレシートデータからレシート印刷データを生成して、通信ポート３を介して、ＰＯＳプリンター４に送信する。レシート印刷データを受信したＰＯＳプリンター４は、レシート印刷データに基づいてレシートを印刷する。ＰＯＳプリンター４でレシート印刷データが印刷される間、専用ドライバー１３は、通信ポート３を占有する状態を維持する。
【００６１】
これと並行して、サーバー６では、クーポン印刷アプリケーション２２によりクーポンデータが生成され、サーバー側ドライバー２３に供給される。サーバー側ドライバー２３は、クーポン印刷データ生成部２５によりクーポンデータに基づいてクーポン印刷データを生成し、サーバー側通信部２６によりこのクーポン印刷データをＰＯＳ端末装置２の専用ドライバー１３に送信する。
【００６２】
ここで、サーバー側ドライバー２３がクーポン印刷データを専用ドライバー１３に送信したときに専用ドライバー１３が通信ポート３を占有している場合には、専用ドライバー１３の通信部１８からサーバー側ドライバー２３にエラーが返信される。サーバー側ドライバー２３のサーバー側通信部２６は、エラーが返信されなくなるまで、クーポン印刷データを専用ドライバー１３に送信する送信動作を繰り返す。
【００６３】
その後、通信部１８は、レシート印刷データをＰＯＳプリンター４に送信終了した時点（第１の時点）からの経過時間が、予め設定した設定時間Ｔ１以上である場合（ステップＳＴ３のＹｅｓ）は、通信ポート３の占有を解除する（ステップＳＴ４）。経過時間が、設定時間Ｔ１以上でない場合（ステップＳＴ３のＮｏ）は、経過時間の確認を継続する（図４参照）。
【００６４】
ここで、通信部１８が通信ポート３の占有を解除した後に、通信部１８がサーバー側ドライバー２３からクーポン印刷データを受信すると、通信部１８は、通信ポート３を介してクーポン印刷データをＰＯＳプリンター４に送信する。これにより、ＰＯＳプリンター４は、クーポンを印刷する。すなわち、ＰＯＳプリンター４からは、レシートに引き続きクーポンが発行される。
【００６５】
なお、顧客が小切手９による決済を望む場合には、オペレーターによるＰＯＳ端末装置２の操作により、ＰＯＳアプリケーション１２が、小切手読取コマンドを生成して、専用ドライバー１３に小切手読取コマンドを供給する。小切手読取コマンドが供給された専用ドライバー１３は、通信ポート３を占有する。また、専用ドライバー１３は、小切手読取コマンドに基づいて制御コマンドを生成して、ＰＯＳプリンター４に制御コマンドを送信する。これにより専用ドライバー１３は、ＰＯＳプリンター４（小切手読取装置８）を駆動制御して、ＰＯＳプリンター４に小切手９の磁気インク文字を読み取らせる。また、専用ドライバー１３は、ＰＯＳプリンター４が読み取った磁気インク文字情報を、通信ポート３を介して受信して、ＰＯＳアプリケーション１２に供給する。
【００６６】
ここで、専用ドライバー１３は、ＰＯＳプリンター４から磁気インク文字情報を受信すると、通信ポート３の占有を解除する。磁気インク文字情報を受け取ったＰＯＳアプリケーション１２は、磁気インク文字情報に基づいて決済処理を行う。
【００６７】
（作用効果）
本例では、専用ドライバー１３は、ＰＯＳアプリケーション１２からレシートデータの供給を受けると通信ポート３の占有を開始し、ＰＯＳプリンター４によってレシートの印刷が終了すると想定して設定された設定時間が経過すると、通信ポート３の占有を解除する。従って、ＰＯＳプリンター４によるレシートの印刷が中断されることがなく、レシートを確実に発行できる。
【００６８】
また、レシートの印刷が終わると、専用ドライバー１３は通信ポート３を開放する（占有を解除する）。従って、通信ポート３を介して、ＰＯＳプリンター４にＰＯＳアプリケーション１２からのデータではない他の印刷データを供給できる。本例では、サーバー６から供給されるクーポン印刷データをＰＯＳプリンター４に供給する。従って、レシートを発行した後に、これに引き続いて、クーポンを発行できる。
【００６９】
また、本例では、ＰＯＳアプリケーション１２により生成された小切手読取コマンドが専用ドライバー１３に送信されると、専用ドライバー１３は、通信ポート３を占有する。さらに、専用ドライバー１３は、通信ポート３に接続された小切手読取装置８から磁気インク文字情報を取得するまで通信ポート３を占有した状態を維持する。従って、小切手読取装置８による小切手９の読み取り動作が中断されることがない。
【００７０】
なお、本例の専用ドライバー１３は、ＰＯＳアプリケーション１２から売り上げ帳票を印刷するための帳票データの供給を受ける場合がある。この場合、通信部１８は、ＰＯＳアプリケーション１２から専用ドライバー１３に帳票データが供給されると、ＰＯＳプリンター４が接続されるＰＯＳ端末装置２の通信ポート３を占有する。制御データ生成部１７は、帳票データに基づいてＰＯＳプリンター４に売り上げ帳票を印刷させる印刷データとしての帳票印刷データを生成する。通信部１８は、制御データ生成部１７によって帳票印刷データが生成されると、占有した通信ポート３を介してＰＯＳプリンター４に帳票印刷データを送信する。これにより、ＰＯＳプリンター４で売り上げ帳票が印刷される。
さらに、通信部１８は、帳票印刷データの送信が終了した時点（時点ｔ１）から設定時間Ｔ１が経過した時点（時点ｔ３）で、通信ポート３の占有を解除する（図４および図５参照）。従って、ＰＯＳプリンター４による売り上げ帳票の印刷が中断されることがなく、売り上げ帳票を確実に発行できる。また、売り上げ帳票の印刷が終了した後には、ＰＯＳアプリケーション１２からのアプリケーションデータではない他のデータを印刷できる。
【００７１】
（変形例１）
上述の実施例において、設定時間Ｔ１は、通信部１８がレシート印刷をＰＯＳプリンター４に送信終了した時点（図５の時点ｔ１：第１の時点）からの経過時間として説明した。しかしながら、設定時間Ｔ１はこれに限られず、通信部１８が印刷データをＰＯＳプリンター４に送信開始した以降のいずれの時点（第１の時点）を基点とした経過時間でも構わない。例えば、通信部１８が印刷データをＰＯＳプリンター４に送信開始する時点（図５の時点ｔ’０）や送信途中の任意の時点を基点としてもよい。このようにすれば、経過時間を計測する基点および設定時間Ｔ１の設定に関して設計自由度が向上する。
【００７２】
（変形例２）
また、通信部１８は、ＰＯＳアプリケーション１２からアプリケーションデータ（レシートデータまたは帳票データ）が専用ドライバー１３に供給開始された以降のいずれかの時点を基点として経過時間を計測してもよい。
具体的には、例えば、ＰＯＳアプリケーション１２からアプリケーションデータが専用ドライバー１３に供給されなくなった時点（第２の時点）を基点として経過時間を計測してもよい。つまり、アプリケーションデータが供給されない状態での経過時間が予め設定した設定時間Ｔ２以上継続したら、通信ポート３の占有を解除してもよい。
【００７３】
図６および図７を参照して、本変形例の動作を説明する。図６は、専用ドライバー１３による通信ポート３の占有解除動作の他の例を示すフローチャートである。図７は、図６の占有解除動作を示すタイミングチャートである。図６および図７に示すように、ＰＯＳアプリケーション１２から専用ドライバー１３にアプリケーションデータが供給されない状態になった時点（図７の時点ｔ’０）を基点として、この基点（ｔ２：第２の時点）からの経過時間が、予め設定した設定時間Ｔ２以上になったか確認する（図６のステップＳＴ５）。経過時間が、設定時間Ｔ２以上でない場合（ステップＳＴ５のＮｏ）は、経過時間の確認を継続する。経過時間が、設定時間Ｔ２以上である場合（ステップＳＴ５のＹｅｓ）は、通信ポート３の占有を解除する（図６のステップＳＴ６、図７の時点ｔ４）。
ここで、設定時間Ｔ２は、例えば１秒であり、専用ドライバー１３が通信ポート３の占有を解除する時点（図７の時点ｔ４）が、ＰＯＳプリンター４においてレシートや帳票（売り上げ帳票）の印刷が終了した後の時点となるように設定される。従って、ＰＯＳプリンター４によるレシートや売り上げ帳票の印刷が中断されることがなく、レシートや売り上げ帳票を確実に発行できる。また、レシートや売り上げ帳票の印刷が終了した後には、ＰＯＳアプリケーション１２からのアプリケーションデータではない他のデータを印刷できる。
【００７４】
ここで、ＰＯＳアプリケーション１２の中には、決済の終了した顧客に対して１枚のレシートを発行する際に、１行分を印字するレシートデータを逐次に専用ドライバー１３に供給するものがある。ＰＯＳ端末装置２でこのようなＰＯＳアプリケーション１２が動作している場合には、専用ドライバー１３は、１枚のレシートを発行するためのレシートデータがどこで終了するのか判別できない。
【００７５】
このため、専用ドライバー１３は、ＰＯＳアプリケーション１２からレシートデータが供給されない状態が予め設定された設定時間継続した場合に、１枚のレシートを発行するための一連のレシートデータの供給が終了したものと判断する。ここで、設定時間は、ＰＯＳアプリケーション１２から最後のレシートデータの供給を受けた後に、専用ドライバー１３が逐次に供給されるレシートデータに基づいて逐次に生成した一連のレシート印刷データをＰＯＳプリンター４に送信し終わり、かつ、ＰＯＳプリンター４によるレシートの印刷が完了するまでの時間以上に設定される。従って、ＰＯＳアプリケーション１２から１行分を印字するレシートデータが逐次に専用ドライバー１３に供給される場合でも、専用ドライバー１３はＰＯＳプリンター４に１枚のレシートを印刷させる間に通信ポート３を占有し、レシートの印刷が完了した後に通信ポート３の占有を解除できる。
【００７６】
（変形例３）
通信部１８は、サーバー側ドライバー２３からクーポン印刷データが送られてきたときに通信ポート３を占有している場合には、受信したクーポン印刷データ（第２印刷データ）を保持し、その後設定時間（Ｔ１またはＴ２）が経過して通信ポートの占有を解除した後に、保持したクーポン印刷データをＰＯＳプリンター４に送信してもよい。このようにすれば、レシートや売り上げ帳票の印刷に続いて、クーポン印刷データをＰＯＳプリンター４に送信してクーポンを印刷できる。
【符号の説明】
【００７７】
１・・ＰＯＳシステム、２・・ＰＯＳ端末装置（コンピューター）、３・・通信ポート、４・・ＰＯＳプリンター、５・・ネットワーク、６・・サーバー、７・・プリンター、８・・小切手読取装置（デバイス）、９・・小切手、１２・・ＰＯＳアプリケーション（特定のアプリケーション）、１３・・専用ドライバー（プリンタードライバー）、１４・・ネットワーク通信ソフト、１７・・制御データ生成部（データ生成部）、１８・・通信部、２２・・クーポン印刷アプリケーション（第２アプリケーション）、２３・・サーバー側ドライバー（第２プリンタードライバー）、２５・・クーポン印刷データ生成部、２６・・サーバー側通信部（第２通信部）。
【図１】
0006638391.tif 000002
【図２】
0006638391.tif 000003
【図３】
0006638391.tif 000004
【図４】
0006638391.tif 000005
【図５】
0006638391.tif 000006
【図６】
0006638391.tif 000007
【図７】
0006638391.tif 000008