(57)【要約】【課題】コンピューターが使用する論理デバイスとして登録された出力装置の構成が変更されても、煩雑な作業を行うことなく出力を可能にする。【解決手段】ＰＯＳアプリケーション４２が出力したデータに基づいて出力装置を制御するホストコンピューター３０は、使用する出力装置を論理デバイスとして登録するシステムレジストリー４７と、ＰＯＳアプリケーション４２が論理デバイスを指定してデータを出力した場合に、指定された論理デバイスにより出力させるプリンタードライバー４３と、指定された論理デバイスが使用できない場合に、使用可能な他の出力装置をＰＯＳアプリケーション４２により使用可能な他の出力装置を、指定された論理デバイスを代替する代替論理デバイスとしてシステムレジストリー４７に登録させるドライバー設定ツール４６とを備える。【選択図】図２
2013041440.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムが出力したデータに基づいて出力装置を制御する出力制御装置であって、
当該出力制御装置が使用する前記出力装置を論理デバイスとして登録する登録手段と、
前記アプリケーションプログラムが前記論理デバイスを指定してデータを出力した場合に、指定された前記論理デバイスによりデータを出力させる出力制御手段と、
前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、使用可能な他の前記出力装置を、前記アプリケーションプログラムにより指定された前記論理デバイスを代替する代替論理デバイスとして前記登録手段に登録させる登録制御手段と、
を備えたことを特徴とする出力制御装置。
【請求項２】
前記登録制御手段は、前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、当該論理デバイスとして、使用可能な他の前記出力装置を前記登録手段に登録させることを特徴とする請求項１記載の出力制御装置。
【請求項３】
前記登録制御手段は、前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、指定された前記論理デバイスに対応する前記出力装置と同種の他の前記出力装置を、指定された前記論理デバイスを代替する前記代替論理デバイスとして前記登録手段に登録させることを特徴とする請求項１または２記載の出力制御装置。
【請求項４】
前記登録手段は、各々の前記論理デバイスが接続された論理ポートと、前記論理デバイスの属性を含む情報とを記憶しており、
前記登録制御手段は、前記論理ポート以外の情報が前記アプリケーションプログラムにより指定された前記論理デバイスに対応する前記出力装置と一致する他の前記出力装置を、指定された前記論理デバイスを代替する前記代替論理デバイスとして前記登録手段に登録させることを特徴とする請求項３記載の出力制御装置。
【請求項５】
前記出力装置を接続可能な複数種類のインターフェイスを備え、
前記登録制御手段は、前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、指定された前記論理デバイスに対応する前記出力装置と別種の前記インターフェイスに接続された他の前記出力装置を、指定された前記論理デバイスを代替する前記代替論理デバイスとして前記登録手段に登録させることを特徴とする請求項１から３のいずれかに記載の出力制御装置。
【請求項６】
アプリケーションプログラムが出力したデータに基づいて出力装置を制御する出力装置の制御方法であって、
使用する前記出力装置を論理デバイスとして登録し、
前記アプリケーションプログラムが前記論理デバイスを指定してデータを出力した場合に、指定された前記論理デバイスによりデータを出力させ、
前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合には、使用可能な他の前記出力装置を、前記アプリケーションプログラムにより指定された前記論理デバイスを代替する代替論理デバイスとして登録すること、
を特徴とする出力装置の制御方法。
【請求項７】
アプリケーションプログラムが出力したデータに基づいて出力装置を制御する装置を制御する制御部が実行するプログラムであって、
前記制御部を、
前記出力装置を論理デバイスとして登録する登録手段と、
前記アプリケーションプログラムが前記論理デバイスを指定してデータを出力した場合に、指定された前記論理デバイスによりデータを出力させる出力制御手段と、
前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、使用可能な他の前記出力装置を前記アプリケーションプログラムにより指定された前記論理デバイスを代替する代替論理デバイスとして前記登録手段に登録させる登録制御手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力装置を制御する出力制御装置、出力装置の制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
一般に出力制御装置など、プリンター等の出力装置を使用して出力を行うホストコンピューターには、出力装置をソフトウェア的に制御するため、使用する出力装置が論理デバイス（論理デバイス名）として登録されている。ホストコンピューターが実行するアプリケーションプログラムが論理デバイスを指定すると、指定された論理デバイスとして登録された出力装置を使用して、出力が実行される。（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１０８１１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、論理デバイスの設定はハードウェアとしての出力装置に一対一で対応づけられるため、例えばホストコンピューターにおける出力装置の接続形態が変更されると、論理デバイスとして登録された内容に合致する出力装置が存在しなくなるため、その論理デバイスを使用できなくなってしまうという問題があった。具体的には、ホストコンピューターのＩＥＥＥ１２９４インターフェイスに接続されていた出力装置が、ＵＳＢインターフェイスにつなぎ替えられた場合や、ＬＡＮ上に配置されたサーバーにつなぎ替えられた場合には、ホストコンピューターからアクセス可能であることに変わりないが、接続形態が変わっている。また、単に、ホストコンピューターに接続された出力装置が取り外されたり、別の機種の出力装置に交換されたりした場合も、接続形態の変更の一例である。このような出力装置の接続形態の変更はユーザーの意図で行われるため、どのように変更されたかをホストコンピューターは知り得ない。このため、ホストコンピューターにおける論理デバイスの設定変更をユーザーが手動で行う必要があり、面倒であった。このような点を考慮して、特許文献１記載の構成ではアプリケーションソフトウェア（アプリケーションプログラム）をプリンター自体が搭載しホストコンピューターが取得して使用しているが、この構成ではプリンターがアプリケーションソフトウェアを格納できる容量の記憶装置を搭載する必要があり、汎用的ではなかった。
本発明は、上述した事情に鑑みてなされたものであり、ホストコンピューターが使用する論理デバイスとして登録された出力装置の構成が変更されても、煩雑な作業を行うことなく出力を可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、アプリケーションプログラムが出力したデータに基づいて出力装置を制御する出力制御装置であって、当該出力制御装置が使用する前記出力装置を論理デバイスとして登録する登録手段と、前記アプリケーションプログラムが前記論理デバイスを指定してデータを出力した場合に、指定された前記論理デバイスによりデータを出力させる出力制御手段と、前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、使用可能な他の前記出力装置を、前記アプリケーションプログラムにより指定された前記論理デバイスを代替する代替論理デバイスとして前記登録手段に登録させる登録制御手段とを備えたことを特徴とする。
本発明によれば、使用しようとする論理デバイスが使用できない場合に、他の出力装置が、指定された論理デバイスを代替する代替論理デバイスとして登録されるので、煩雑な作業を伴わずに出力が可能となる。また、アプリケーションプログラムや出力装置に対して特殊な構成変更を加える必要が無いので、汎用性に富み、様々なアプリケーションプログラム及び出力装置に対して適用可能である。
【０００６】
また、本発明は、上記出力制御装置において、前記登録制御手段は、前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、当該論理デバイスとして、使用可能な他の前記出力装置を前記登録手段に登録させることを特徴とする。
本発明によれば、指定された論理デバイスが使用できない場合に、他の出力装置が、この使用できない論理デバイスを代替する論理デバイスとして登録されることで、出力が可能となる。このため、アプリケーションプログラムに構成変更を加える必要が無く、汎用性に富み、様々なアプリケーションプログラムに対して適用可能である。
この場合、代替としての出力装置を、アプリケーションプログラムにより指定された論理デバイスとして登録してもよい。この場合、アプリケーションプログラムを含む各部は論理デバイスが使用不可か否かを認識せずに論理デバイスを指定して、処理を実行できるという利点がある。
【０００７】
また、本発明は、上記出力制御装置において、前記登録制御手段は、前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、指定された前記論理デバイスに対応する前記出力装置と同種の他の前記出力装置を、指定された前記論理デバイスを代替する前記代替論理デバイスとして前記登録手段に登録させることを特徴とすることを特徴とする。
本発明によれば、使用できない論理デバイスとして登録されていた出力装置の代替として、同種の出力装置が登録されるため、当初使用しようとしていた出力装置との出力形態の相違を防止し、望まれた通りの高い出力品質を維持できる。
【０００８】
また、本発明は、上記出力制御装置において、前記登録手段は、各々の前記論理デバイスが接続された論理ポートと、前記論理デバイスの属性を含む情報とを記憶しており、前記登録制御手段は、前記論理ポート以外の情報が前記アプリケーションプログラムにより指定された前記論理デバイスに対応する前記出力装置と一致する他の前記出力装置を、指定された前記論理デバイスを代替する前記代替論理デバイスとして前記登録手段に登録させることを特徴とする。
本発明によれば、使用できない論理デバイスとして登録されていた出力装置の代替として、接続された論理ポート以外が共通の出力装置が登録されるため、当初使用しようとしていた出力装置との出力形態の相違をより確実に防止できる。
【０００９】
また、本発明は、上記出力制御装置において、前記出力装置を接続可能な複数種類のインターフェイスを備え、前記登録制御手段は、前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、指定された前記論理デバイスに対応する前記出力装置と別種の前記インターフェイスに接続された他の前記出力装置を、指定された前記論理デバイスを代替する前記代替論理デバイスとして前記登録手段に登録させることを特徴とする。
本発明によれば、使用できない論理デバイスとして登録されていた出力装置の代替として、別種のインターフェイスに接続された出力装置が登録されるため、出力装置の接続形態の変更に対応して、望まれた通りの高い出力品質で出力を行える。
【００１０】
また、上記課題を解決するため、本発明は、アプリケーションプログラムが出力したデータに基づいて出力装置を制御する出力装置の制御方法であって、使用する前記出力装置を論理デバイスとして登録し、前記アプリケーションプログラムが前記論理デバイスを指定してデータを出力した場合に、指定された前記論理デバイスによりデータを出力させ、前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合には、使用可能な他の前記出力装置を、前記アプリケーションプログラムにより指定された前記論理デバイスを代替する前記代替論理デバイスとして登録することを特徴とする。
本発明の制御方法を実行することにより、使用しようとする論理デバイスが使用できない場合に、他の出力装置が、指定された論理デバイスを代替する論理デバイスとして登録されるので、煩雑な作業を伴わずに出力が可能となる。また、アプリケーションプログラムや出力装置に対して特殊な構成変更を加える必要が無いので、汎用性に富み、様々なアプリケーションプログラム及び出力装置に対して適用可能である。
【００１１】
また、上記課題を解決するため、本発明は、アプリケーションプログラムが出力したデータに基づいて出力装置を制御する装置を制御する制御部が実行するプログラムであって、前記制御部を、前記出力装置を論理デバイスとして登録する登録手段と、前記アプリケーションプログラムが前記論理デバイスを指定してデータを出力した場合に、指定された前記論理デバイスによりデータを出力させる出力制御手段と、前記アプリケーションプログラムにより指定された前記論理デバイスが使用できない場合に、使用可能な他の前記出力装置を前記アプリケーションプログラムにより指定された前記論理デバイスを代替する前記代替論理デバイスとして前記登録手段に登録させる登録制御手段として機能させることを特徴とする。
本発明のプログラムを制御部が実行することにより、使用しようとする論理デバイスが使用できない場合に、他の出力装置が、指定された論理デバイスを代替する論理デバイスとして登録されるので、煩雑な作業を伴わずに出力が可能となる。また、アプリケーションプログラムや出力装置に対して特殊な構成変更を加える必要が無いので、汎用性に富み、様々なアプリケーションプログラム及び出力装置に対して適用可能である。
また、本発明は、上記プログラムを記憶した記憶媒体として実現してもよい。
【発明の効果】
【００１２】
本発明によれば、論理デバイスとして登録された出力装置の接続形態の変更や交換等によって、使用しようとする論理デバイスが使用できない場合であっても、煩雑な作業を伴わずに出力が可能となる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係るＰＯＳシステムの構成を示すブロック図である。
【図２】ホストコンピューターの詳細構成を示すブロック図である。
【図３】論理デバイスの登録状態の例を示す図である。
【図４】ホストコンピューターの動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明を適用した実施形態に係るＰＯＳシステム１の機能的構成を示すブロック図である。
図１に示すＰＯＳシステム１は、ＰＯＳサーバー２０に通信ネットワーク５を介して接続されたホストコンピューター３０（出力制御装置）を備え、このホストコンピューター３０に、レシート等の出力装置としてのプリンター１１を接続して構成される。また、ホストコンピューター３０は通信ネットワーク５を介して、ユーザーが会計処理をする近くに設置されるもので、顧客に渡すクーポンやキッチンでの調理指示用の伝票などを印刷するための複数のプリンター１２と通信可能に接続されており、これらプリンター１２を出力装置として印刷を実行させることも可能である。
ホストコンピューター３０は、プリンター１１とともにスーパーやコンビニエンス・ストア等の店舗にて利用され、オペレーターによって入力された商品販売に関する入力情報に基づいてレシートを発行する。プリンター１１は、ホストコンピューター３０が生成した印刷データを受信して印刷するものである。ホストコンピューター３０は、プリンター１１の他、出力装置としてキャッシュドロワー５５を備えている。キャッシュドロワー５５は、商品販売に伴い授受される金銭を収容し、ホストコンピューター３０により会計処理がされる毎に開閉される。
【００１５】
プリンター１１は、直接ホストコンピューター３０に接続されるローカルプリンターであり、ホストコンピューター３０に対して有線または無線接続される。プリンター１２は通信ネットワーク５を介してホストコンピューター３０に接続されるネットワークプリンターであり、例えばＴＣＰ／ＩＰプロトコルに準じて相互に通信を実行することで、プリンター１２からホストコンピューター３０へステータスを通知し、ホストコンピューター３０の制御によりプリンター１２が印刷を実行する。通信ネットワーク５の具体的態様およびプリンター１２とホストコンピューター３０との間の通信方式は任意である。プリンター１２の設置位置は任意であるが、本実施形態では、プリンター１２がホストコンピューター３０とともに店舗に設置された場合を例に挙げて説明する。
【００１６】
プリンター１１、１２は、例えばサーマルヘッド方式のプリンターであり、記録媒体としての感熱ロール紙を搬送する搬送部、感熱ロール紙に熱エネルギーを与えて発色させ、文字や画像を印刷するサーマルヘッド、印刷後の感熱ロール紙を切断するカッターユニット等の図示しない構成部を備えている。プリンター１１、１２は、ホストコンピューター３０から各種制御コマンドや印刷データを受信し、この制御コマンドに従って、印刷データを感熱ロール紙に印刷して、レシートや伝票等を印刷出力する。
【００１７】
ホストコンピューター３０は、商品情報を入力する入力装置としてキーボード５２およびバーコードリーダー５３を備え、キーボード５２による入力またはバーコードリーダー５３によるバーコードの読み取りによって商品に関する入力情報を取得する。また、ホストコンピューター３０はカード型記録媒体に記録された磁気情報を読み取るカードリーダー５４を有し、このカードリーダー５４によって顧客のクレジットカードや会員カードを読み取り、クレジット清算に関する情報や会員番号等の会員に関する情報を取得する。さらに、ホストコンピューター３０は、ＰＯＳサーバー２０から送信された商品データを元に生成した商品情報を表示するディスプレイ５１を有し、このディスプレイ５１における表示によって、顧客に対して購入商品の金額等を掲示する。
【００１８】
ＰＯＳサーバー２０は、ＣＰＵ、ＲＯＭおよびＲＡＭ等からなる制御部を有する。ＰＯＳサーバー２０は、ＲＯＭ内に記憶された制御プログラムをＣＰＵが実行することにより、ＲＡＭ内に設けられるバッファーに記憶された情報の処理を行い、ホストコンピューター３０が送信する入力情報に基づいて、商品マスタから商品コード、商品名、金額に関する情報を抽出して返信し、ホストコンピューター３０は、これらに基づき、レシートの印刷等およびディスプレイ５１の表示に用いる商品データを生成する。
【００１９】
ホストコンピューター３０は、ＲＯＭ３２に記憶された基本制御プログラムを実行してホストコンピューター３０の各部を制御するＣＰＵ３１と、ＣＰＵ３１が実行する基本制御プログラムおよび処理に用いられる設定値等のデータを記憶するＲＯＭ３２と、ＣＰＵ３１が実行するプログラムや処理対象のデータを一時的に記憶するＲＡＭ３３と、ＣＰＵ３１が実行するオペレーティングシステム（ＯＳ）、アプリケーションプログラム、プリンタードライバープログラム等の各種プログラム、および、処理対象のデータ等を記憶する記憶部３４を有する制御部４０を備えている。
制御部４０は、表示部３５、主に入力装置と通信するための入力インターフェイス（Ｉ／Ｆ）３６、主に出力装置と通信するための出力インターフェイス（Ｉ／Ｆ）３７および主に通信ネットワーク５を介して他装置と通信するための通信インターフェイス（Ｉ／Ｆ）３８の各部と相互に接続され、ホストコンピューター３０の各種機能を実現する。これらのインターフェイスは、双方向に通信できるものでもよい。
【００２０】
表示部３５は、制御部４０がＰＯＳサーバー２０から受信した情報を処理したデータに基づいて、商品登録された商品名や購入金額を表示するための画像信号を生成し、この画像信号をディスプレイ５１に出力して、ディスプレイ５１に表示を実行させる。
また、入力Ｉ／Ｆ３６は、ＲＳ−２３２ＣシリアルインターフェイスやＵＳＢ（Universal Serial Bus）等の規格に準拠したコネクターおよびインターフェイス回路を備え、各種の入力装置を接続可能である。入力Ｉ／Ｆ３６は、上記の規格により定められたプロトコルに従って、接続された入力装置と制御データを送受信することにより、接続された各入力装置の種類や型番等を特定して、制御部４０に出力する。これにより、制御部４０の制御によって各入力装置が認識され、使用可能な状態となり、各入力装置からの入力が可能になる。
本実施形態では、入力Ｉ／Ｆ３６にはキーボード５２、バーコードリーダー５３およびカードリーダー５４が接続され、入力Ｉ／Ｆ３６は、これらの各部から入力される信号を取得し、制御部４０に出力する。
【００２１】
出力Ｉ／Ｆ３７は、ＲＳ−２３２Ｃシリアルインターフェイス、ＩＥＥＥ１２８４パラレルインターフェイス、ＵＳＢ等の規格に準拠したコネクターおよびインターフェイス回路を備え、各種の出力装置を接続可能である。出力Ｉ／Ｆ３７は、上記の規格により定められたプロトコルに従って、接続された出力装置と制御データを送受信することにより、各出力装置の接続状態を判定するとともに、各出力装置の種類や型番等を特定して、制御部４０に出力する。これにより、制御部４０の制御によって、後述するように各出力装置が論理デバイスとして登録され、以降は各出力装置からの出力が可能になる。また、出力Ｉ／Ｆ３７は、制御部４０の制御に従って各出力装置と出力Ｉ／Ｆ３７との接続状態を検出する機能を有し、検出結果を制御部４０に出力する。
本実施形態では、出力Ｉ／Ｆ３７にはプリンター１１およびキャッシュドロワー５５が接続されている。
【００２２】
通信Ｉ／Ｆ３８は、通信ネットワーク５に接続されるコネクターや通信インターフェイス回路を備え、制御部４０による制御に従って、通信ネットワーク５を介して接続されたプリンター１２およびＰＯＳサーバー２０との間の通信を実行する。ここで、通信ネットワーク５は、Ｅｔｈｅｒｎｅｔ（登録商標）規格に準拠して構成されたＬＡＮ、あるいは専用線や公衆回線網を利用して構成された広域ネットワークであり、無線通信回線を利用して構成されたものであってもよい。通信Ｉ／Ｆ３８は、通信ネットワーク５の構成に適合する種類の通信インターフェイスであって、通信ネットワーク５と有線接続される構成としてもよいし、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）等の無線通信インターフェイスとして構成してもよい。また、通信ネットワーク５が構内ＬＡＮと、この構内ＬＡＮに接続された広域ネットワークとを含んで構成されてもよい。本実施形態では、通信Ｉ／Ｆ３８が、プリンター１２とともに構内ＬＡＮに接続され、この構内ＬＡＮが広域ネットワークを介してＰＯＳサーバー２０に接続された構成とする。
【００２３】
図２は、ホストコンピューター３０の機能的構成を詳細に示す機能ブロック図である。
この図２に示すように、ホストコンピューター３０を制御する制御部４０は、記憶部３４（図１）に記憶されたプログラムを実行することにより、オペレーティングシステム４１、ＰＯＳアプリケーション４２（アプリケーションプログラム）、および、オペレーティングシステム４１の一部として機能するプリンタードライバー４３（出力制御手段）の各部の機能を実現する。
【００２４】
すなわち、制御部４０は、ウィンドウズ（登録商標）等のオペレーティングシステム４１上で稼動するプリンタードライバーOLE for Retail POS（以下ＯＰＯＳという）により出力装置を制御する。ＯＰＯＳは、オペレーティングシステム４１上で稼動するＰＯＳアプリケーション４２に対して、プリンター１１、１２やバーコードリーダー５３等の周辺デバイスとの機種依存性のないインターフェイスを提供するものであり、プリンターなどデバイスのカテゴリー毎に対応したコントロールオブジェクト（ＣＯ）４４とデバイスの機種毎の仕様に対応したサービスオブジェクト（ＳＯ）４５とによって構成されている。
制御部４０は、オペレーティングシステム４１を実行し、このオペレーティングシステム４１上で動作するＰＯＳアプリケーション４２の機能と、オペレーティングシステム４１上で動作するプリンタードライバー４３の機能により、上述した商品登録、金額表示、プリンター１１、１２によるレシートの出力等を実行する。
【００２５】
ＰＯＳアプリケーション４２（アプリケーションプログラム）は、ＰＯＳサーバー２０から送信される商品データや入力情報に基づいてレシート上に印刷するための印刷データを生成するが、この印刷データは、オペレーティングシステム４１を介して、プリンターのデバイスクラス（デバイスのカテゴリー）に対応したコントロールオブジェクト４４に引き渡され、さらにコントロールオブジェクト４４からプリンター１１、１２の機種に対応したサービスオブジェクト４５に引き渡される。サービスオブジェクト４５は、この印刷データを加工してプリンター１１、１２のコマンド等の仕様に対応する印刷コマンドを生成し、プリンター１１、１２へ送信する。なお、上記したＯＰＯＳは、コントロールオブジェクト４４とサービスオブジェクト４５とをコンバインした形態で、プリンタードライバー４３としてユーザーに提供される。
【００２６】
プリンター１１、１２は、ホストコンピューター３０から印刷実行のコマンドと印刷データとを受信し、受信したデータを受信バッファー（図示略）内に一時的に格納し、このコマンドおよび印刷データを解析し、印刷データに従って印刷用のイメージデータを生成し、サーマルヘッドにより印刷を実行する。
【００２７】
各プリンター１１、１２は、オペレーティングシステム４１が提供する通信用のポート（論理ポート）４Ａ、４Ｂに接続されている。ポート４Ａ、４Ｂは、オペレーティングシステム４１が入出力装置に対するデータの入出力を行うために形成された仮想的（論理的）な接続口であって、一つの入出力装置に対して一つのポート４Ａ、または４Ｂが割り当てられる。ポート４Ａはホストコンピューター３０が備える出力Ｉ／Ｆ３７または通信Ｉ／Ｆ３８に対応し、ポート４Ｂは入力Ｉ／Ｆ３６に対応している。言い換えれば、オペレーティングシステム４１が有する各ポート４Ａ、４Ｂは、対応する物理インターフェイスの種類によって区別できる。例えば、いくつかのポート４Ａは出力Ｉ／Ｆ３７が備えるＵＳＢポートやシリアルポート（ＣＯＭポート）を使用するポートとして設定されており、出力Ｉ／Ｆ３７が２つのシリアルコネクターを備えている場合、オペレーティングシステム４１は、各コネクターに対応する２つのＣＯＭポート４Ａを設定できる。また、ポート４Ａ、４Ｂは入出力装置に対応して設けられる論理的なポートであるため、入出力装置を特定できる場合には、実際の物理的な接続口（コネクター等）の数に制限されない。例えば、通信Ｉ／Ｆ３８が一つのＲＪ４５コネクターしか有していない場合であっても、複数のポート４Ａを設定できる。この場合、各ポート４Ａに、接続されているプリンター１２のＩＰアドレスなど一つのプリンター１２を特定し得る情報が対応づけられていればよい。本実施形態では、出力Ｉ／Ｆ３７に対応するポート４Ａにプリンター１１が接続され、出力Ｉ／Ｆ３７に対応する別のポート４Ａにキャッシュドロワー５５が接続され、通信Ｉ／Ｆ３８に対応するポート４Ａにプリンター１２が接続されている。
オペレーティングシステム４１が有するポートのうち、キーボード５２、バーコードリーダー５３、カードリーダー５４或いはプリンター１１、１２等の入出力デバイスのうちで接続されていないポートは空きポートとなっている。空きポートは必要に応じて削除し、また、必要に応じて新たなポートを作成することが可能である。
【００２８】
各ポート４Ａ、４Ｂに接続された入出力装置は、オペレーティングシステム４１において、論理デバイス（論理デバイス名）としてシステムレジストリー４７に登録される。システムレジストリー４７はオペレーティングシステム４１の一部として、各種設定に係る設定値を格納する登録手段として機能し、オペレーティングシステム４１が使用する入出力装置のデバイス名や使用するポート４Ａ、４Ｂを特定する情報が登録されている。システムレジストリー４７に論理デバイスとして登録された入出力装置は、オペレーティングシステム４１の制御のもとに動作させることができる。例えば、入力装置であるキーボード５２、バーコードリーダー５３からのオペレーティングシステム４１にデータを入力し、オペレーティングシステム４１からプリンター１１、１２及びキャッシュドロワー５５にデータを出力できる。
【００２９】
図３は、システムレジストリー４７における論理デバイスの登録状態の例を示す図であり、一例として、登録された論理デバイスに関する情報をツリー状に示す。
システムレジストリー４７には、登録された論理デバイスに関する情報が論理デバイス管理情報４７Ａとして含まれている。論理デバイス管理情報４７Ａにおいて、論理デバイスはデバイスカテゴリー別に分類される。デバイスカテゴリーは、デバイスの種類（カテゴリー）毎に設けられ、例えば、入力装置はキーボード、マウス、デジタイザー、バーコードリーダー、カードリーダー等の種類別にカテゴリー分けされる。また、出力装置は、例えばプリンター、キャッシュドロワー、外部記憶装置等の種類（カテゴリー）別にカテゴリー分けされる。
【００３０】
デバイスカテゴリーに分類された各論理デバイスには論理デバイス名が付与されている。論理デバイス名は、ホストコンピューター３０に入出力装置が接続された際、あるいはキーボード５２の操作により入出力装置が論理デバイスとして設定された際に、自動または手動で付与される。オペレーティングシステム４１は、各論理デバイスを論理デバイス名により特定するので、一つのオペレーティングシステム４１が管理する範囲において論理デバイス名は各論理デバイスに固有であり、重複しないよう付与される。
論理デバイス管理情報４７Ａには、論理デバイス名に対応づけて、その論理デバイスが接続されている通信用のポートの種別、ポートを識別するためのポート番号またはポートの名称、ポートの設定に関するデータ、論理デバイスとして管理される入出力装置に関するデバイス情報、入出力装置の動作に係る設定データが含まれている。
【００３１】
ポートの種別は、例えば、ＵＳＢ、シリアル、ＬＡＮ等の物理インターフェイスの種類である。同一種類の物理インターフェイスに対応するポートが複数ある場合には、例えば、ＣＯＭポート１、ＣＯＭポート２、…のように各ポートに番号が付与され識別できる。ポート設定データには、例えば、ＵＳＢインターフェイスやＲＳ−２３２Ｃインターフェイスにおいては、双方向通信の有無等の設定に関するデータが含まれ、ＬＡＮインターフェイスの場合にはＩＰアドレスやＳＮＭＰの使用の可否等の設定に関するデータが含まれる。
【００３２】
デバイス情報には、例えば、入出力装置の機種名、メーカー名、装備しているオプション機能等に関するデータが含まれる。デバイス設定データには、例えば、使用するドライバープログラムのバージョン、デバイスドライバープログラムにより設定可能な全ての項目のデータが含まれている。例えば論理デバイスがプリンターである場合、デバイス設定データには、用紙幅または用紙サイズ、規定のフォントサイズ、１行の桁数、自動給紙や手動給紙などの用紙の供給方法、カッターユニットの使用の可否、紙に印刷する領域を規定する際のトップマージンのサイズ、ボトムマージンのサイズ、外周余白サイズ等が含まれる。
【００３３】
論理デバイス管理情報４７Ａのデータはキーボード５２の操作等によってユーザーが編集可能である。また、オペレーティングシステム４１の機能により、論理デバイス管理情報４７Ａに登録済みの論理デバイスについて入力Ｉ／Ｆ３６および出力Ｉ／Ｆ３７を介して動作状態（ステータス）を検出し、検出したステータスを示すデータを論理デバイス管理情報４７Ａに追加することができる。論理デバイスとして登録された入出力装置が接続されていない、あるいは電源がオンになっていない等の理由で使用できない場合、オペレーティングシステム４１は、論理デバイス管理情報４７Ａに、「使用不可」のステータスを登録する。ステータスは、例えば一定時間毎にオペレーティングシステム４１が検出して更新する。
【００３４】
プリンタードライバー４３は、コントロールオブジェクト４４とサービスオブジェクト４５で構成されている。コントロールオブジェクト４４は、ＰＯＳアプリケーション４２によってプリンタードライバー４３が呼び出された場合に、ＰＯＳアプリケーション４２が出力するレシート印刷用のデータを取得し、出力装置を制御するための出力用のコマンドと、出力用のデータとを生成する。コントロールオブジェクト４４が生成するコマンドおよびデータは、ＯＰＯＳの仕様に従って、一つのデバイスカテゴリーに属する出力装置に共通するものである。
【００３５】
ＰＯＳアプリケーション４２は、データの出力を指示する際に、論理デバイス管理情報４７Ａを参照し、論理デバイス管理情報４７Ａに登録された論理デバイスの中から、当該データの出力に使用する論理デバイス（論理デバイス名）を指定する。すなわち、出力するデータ、データ出力の指示とともに、使用する論理デバイスを指定する情報（論理デバイス名）を出力する。プリンタードライバー４３のコントロールオブジェクト４４は、ＰＯＳアプリケーション４２が出力したデータに従って、システムレジストリー４７を参照し、指定された論理デバイスのステータスを論理デバイス管理情報４７Ａから取得する。ここで、コントロールオブジェクト４４は、指定された論理デバイスがシステムレジストリー４７に登録されていない場合、あるいは、ステータスが使用不可となっている場合には、エラーをアプリケーション４２に返す。
【００３６】
コントロールオブジェクト４４が論理デバイスのステータスに関してエラーを返すと、ＰＯＳアプリケーション４２がエラーを受け取って、ユーザーに入出力装置が接続されていない等を知らせるため、ディスプレイ５１にエラーメッセージが表示される等の動作が行われる。しかし、本実施形態では、プリンタードライバー４３が備えるドライバー設定ツール４６の機能により、論理デバイスの構成を変更するようにしている。
【００３７】
ドライバー設定ツール４６（登録制御手段）は、コントロールオブジェクト４４が出力するエラーを検出した場合に、システムレジストリー４７を参照し、ＰＯＳアプリケーション４２が指定した論理デバイスを代替する別の論理デバイスを探索する。代替可能な論理デバイスがある場合には、この論理デバイスのデバイス名を、ＰＯＳアプリケーション４２が指定した論理デバイスの論理デバイス名とするように変更し、システムレジストリー４７の設定を更新する。この場合、ドライバー設定ツール４６が事前にコントロールオブジェクト４４のエラーを検出し、代替可能な論理デバイスがある場合には、コントロールオブジェクト４４を制御してＰＯＳアプリケーション４２へエラーを返さないようにしている。
【００３８】
例えば、図３の論理デバイス管理情報４７Ａに登録された論理デバイスのうち、プリンターＰが接続されていない等で使用不可となっている場合、ドライバー設定ツール４６は、同じデバイスカテゴリーに属するプリンターＱを使用可能であると判別した場合、代替の論理デバイスとして選択し、論理デバイス名「プリンターＰ」に、プリンターＱを対応づける。
対応付けの態様は、例えば以下の２通りが挙げられる。
（１）論理デバイス名「プリンターＰ」に対応するポート種別、ポート設定データ、デバイス情報、デバイス設定データを、「プリンターＱ」のデータに基づいて書き換えた後、論理デバイス名「プリンターＱ」に対応されていたデータを削除する。この場合、もとのプリンターＰの登録の内容は削除され、プリンターＱとして登録されていた出力装置の内容が新たにプリンターＰとして登録され、プリンターＱとして登録されていた内容は削除される。
（２）論理デバイス名「プリンターＰ」に対応するポート種別、ポート設定データ、デバイス情報、デバイス設定データを、「プリンターＱ」のデータに基づいて書き換える。「プリンターＱ」に対応しているデータは、そのままとする。この場合、プリンターＱとして登録されていた出力装置は、プリンターＰとしても動作する。ＰＯＳアプリケーション４２が、プリンターＰを指定しても、プリンターＱを指定しても、同じ出力装置が出力を行うことになる。
上記の（１）、（２）いずれの場合も、論理デバイス管理情報４７Ａに登録されたデータを変更することで、論理デバイス管理情報４７Ａの構成そのものを変更することなく、論理デバイスの代替を実現できるという利点がある。
【００３９】
ドライバー設定ツール４６は、例えば、指定された論理デバイスとデバイスカテゴリーが一致する他の論理デバイスを、使用不可の論理デバイスを代替する他の論理デバイスとして選択する。これにより、一つのプリンター１１、或いは１２のいずれ一方が使用不可となっていても、使用可能な他のプリンター１１、或いは１２の他方によって印刷出力を実行できるので、ユーザー等が論理デバイスに関する手動の設定操作を行うことない。
また、ドライバー設定ツール４６は、例えば、指定されたが使用不可の論理デバイスとデバイスカテゴリーが一致し、かつ、ポート種別が一致する使用可の論理デバイスを、使用不可の論理デバイスを代替する他の論理デバイスとして選択してもよい。この場合、一つのプリンター１１、或いは１２のいずれか一方が使用不可となっていても、ポート４Ａなどの同一のポートに接続されたプリンター１１、或いは１２の他方により印刷が実行される。ユーザーが会計処理をするプリンター１１の近くにクーポンや伝票を印刷するためのプリンター１２が設置されているので、ユーザーが意図したプリンター１１、或いは１２に一方に近い場所あるいは似た環境に設置されたプリンター１１、或いは１２の他方が印刷を実行する点で利便性に優れている。さらにまた、ドライバー設定ツール４６は、例えば、指定された論理デバイスとポート種別・番号およびポート設定データ以外の装置構成、仕様、動作に係る設定などの少なくともいずれかのデータが一致する論理デバイス等を、使用不可の論理デバイスを代替する他の論理デバイスとして選択してもよい。この場合、装置構成、仕様、動作に係る設定がほぼ一致するプリンターによって印刷が実行されるので、例えば、紙幅や紙のカット、文字サイズ、文字の桁数、余白マージンなどユーザーが望んだものとほぼ同じ印刷結果を得ることができるという利点がある。
【００４０】
さらに、ドライバー設定ツール４６は、ＰＯＳアプリケーション４２により指定された論理デバイスの代替として、指定された論理デバイスとは異なるインターフェイスに接続された論理デバイスを選択するように予め登録することができる。具体的には、ＰＯＳアプリケーション４２が指定した論理デバイスに対応するプリンターが、出力Ｉ／Ｆ３７に接続されたプリンター１１であり、このプリンター１１が使用不可である場合に、ドライバー設定ツール４６は、出力Ｉ／Ｆ３７以外のインターフェイス（例えば、通信Ｉ／Ｆ３８）に接続された他のプリンターを、代替する論理デバイスとして登録する。
論理デバイスが使用不可になる場合の典型的な例として、ユーザーがプリンター１１の設定を変更するなどして接続形態を変更した結果、そのプリンターが接続されるポート４Ａが変更されるケースがある。このような場合、異なるインターフェイスに接続されたプリンター１２を代替として登録すれば、そのプリンター１２が、当初指定された論理デバイスに対応するプリンター１１そのものである可能性が高い。このため、異なるインターフェイスに接続されたプリンターを代替として登録すれば、プリンターの接続形態の変更に対応して、望まれた通りの高い出力品質で出力を行える。
【００４１】
サービスオブジェクト４５は、プリンター１１、１２の機種毎にまたは複数の機種に適合させて作成されたものである。サービスオブジェクト４５は、コントロールオブジェクト４４が生成したデータに基づいて、ＰＯＳアプリケーション４２が指定した論理デバイスに適した印刷用のコマンドおよび印刷データを含む印刷用データを生成し、指定された論理デバイスに出力する。
【００４２】
図４には、上記のホストコンピューター３０の動作をフローチャートとして示す。
まず、ＰＯＳアプリケーション４２がプリンタードライバー４３へデータを出力すると（ステップＳ１１）、このデータに基づいてコントロールオブジェクト４４が、システムレジストリー４７の論理デバイス管理情報４７Ａを参照して（ステップＳ１２）、指定された論理デバイスのステータスが使用可能となっているか否かを判定する（ステップＳ１３）。
【００４３】
指定された論理デバイスが使用可能である場合（ステップＳ１３；Ｙｅｓ）、コントロールオブジェクト４４およびサービスオブジェクト４５は、ＰＯＳアプリケーション４２が出力したデータに基づいて印刷コマンドと印刷データを生成し（ステップＳ１４）、指定された論理デバイスに対応するプリンター１１、１２に出力して印刷を実行させる（ステップＳ１５）。
【００４４】
これに対し、指定された論理デバイスが使用可能でない場合（ステップＳ１３；Ｎｏ）、コントロールオブジェクト４４はエラーをオペレーティングシステム４１に出力し（ステップＳ１６）、このエラーを検出したオペレーティングシステム４１によってドライバー設定ツール４６が呼び出される（ステップＳ１７）。オペレーティングシステム４１は、コントロールオブジェクト４４がエラーをＰＯＳアプリケーション４２に返すことを保留させる。ドライバー設定ツール４６は、指定された論理デバイスを代替する使用可能な他の論理デバイスを、論理デバイス管理情報４７Ａから検索し（ステップＳ１８）、該当する論理デバイスの有無を判定する（ステップＳ１９）。
【００４５】
指定された論理デバイスを代替可能な他の論理デバイスがない場合（ステップＳ１９；Ｎｏ）、ドライバー設定ツール４６は、オペレーティングシステム４１を経由してコントロールオブジェクト４４がエラーをＰＯＳアプリケーション４２に返すことを許可し、オペレーティングシステム４１は印刷をキャンセルする（ステップＳ２０）。
一方、指定された論理デバイスを代替可能な他の論理デバイスがある場合（ステップＳ１９；Ｙｅｓ）、ドライバー設定ツール４６は、指定された論理デバイスを他の論理デバイスで代替するために論理デバイス管理情報４７Ａを更新し（ステップＳ２１）、更新後の論理デバイス管理情報４７Ａに従って、ステップＳ１４で印刷コマンドと印刷データが生成される。
【００４６】
以上のように、本発明を適用した実施形態に係るＰＯＳシステム１によれば、ＰＯＳアプリケーション４２が出力したデータに基づいて出力装置としてのプリンター１１、１２、キャッシュドロワー５５等を制御するホストコンピューター３０は、ホストコンピューター３０で使用する出力装置を論理デバイスとして登録するシステムレジストリー４７と、ＰＯＳアプリケーション４２が論理デバイスを指定してデータを出力した場合に、指定された論理デバイスによりデータを出力させるプリンタードライバー４３と、ＰＯＳアプリケーション４２により指定された論理デバイスが使用できない場合に、ＰＯＳアプリケーション４２により使用可能な他の出力装置を、ＰＯＳアプリケーション４２により指定された論理デバイスを代替する代替論理デバイスとしてシステムレジストリー４７に登録させるドライバー設定ツール４６とを備える。この結果、出力装置の構成変更等によって、指定した論理デバイスが使用できない場合に、他の出力装置が、指定された論理デバイスを代替する論理デバイスとして登録されるので、ユーザーが手動で設定するような煩雑な作業を伴わずに出力が可能となる。また、ＰＯＳアプリケーション４２や出力装置に対して特殊な構成変更を加える必要が無いので、汎用性に富み、様々なＰＯＳアプリケーション４２及び出力装置に対して適用可能である。
【００４７】
また、ドライバー設定ツール４６は、ＰＯＳアプリケーション４２により指定された論理デバイスが使用できない場合に、当該論理デバイスとして、使用可能な他の出力装置をシステムレジストリー４７に登録させるので、ユーザーの論理デバイスの設定変更に係る手作業を経ることなく出力が可能となる。
この場合、代替としての出力装置を、ＰＯＳアプリケーション４２により指定された論理デバイスとして登録すれば、ＰＯＳアプリケーション４２を含む各部は論理デバイスが使用不可か否かを認識せずに論理デバイスを指定して、処理を実行できるという利点がある。
【００４８】
また、ドライバー設定ツール４６が、ＰＯＳアプリケーション４２により指定された論理デバイスが使用できない場合に、指定された論理デバイスに対応する出力装置と同種の他の出力装置を、指定された論理デバイスを代替する論理デバイスとしてシステムレジストリー４７に登録することが可能であり、この場合、当初使用しようとしていた出力装置との出力形態の相違を防止し、望まれた通りの高い出力品質を維持できる。
【００４９】
また、システムレジストリー４７は、各々の論理デバイスが接続された論理ポートと、論理デバイスの属性を含む情報とを論理デバイス管理情報４７Ａとして有しており、ドライバー設定ツール４６は、論理ポート以外の情報がＰＯＳアプリケーション４２により指定された論理デバイスに対応する出力装置と一致する他の出力装置を、指定された論理デバイスを代替する論理デバイスとしてシステムレジストリー４７に登録することができ、この場合、当初使用しようとしていた出力装置との出力形態の相違をより確実に防止できる。
【００５０】
また、ホストコンピューター３０は、出力装置を接続可能な複数種類のインターフェイスを備え、ドライバー設定ツール４６は、ＰＯＳアプリケーション４２により指定された論理デバイスが使用できない場合に、指定された論理デバイスに対応する出力装置と別種のインターフェイスに接続された他の出力装置を、指定された論理デバイスを代替する論理デバイスとしてシステムレジストリー４７に登録してもよく、この場合、出力装置の接続形態の変更に対応して、望まれた通りの高い出力品質で出力を行える。
【００５１】
なお、上記各実施形態は本発明を適用した一具体例を示すものであり、本発明はこれに限定されるものではない。例えば、ＰＯＳシステム１が備える出力装置はプリンター１１、１２、キャッシュドロワー５５に限定されず、表示装置等の他の出力デバイスを使用することが可能である。さらに、上記実施形態では、ＰＯＳアプリケーションを実行するＰＯＳシステムにおいて本発明を適用した例を説明したが、ホストコンピューター３０が実行するアプリケーションプログラムはＰＯＳアプリケーションに限定されないし、他の用途に使用されるアプリケーションプログラムを実行し、出力装置を制御する場合に、本発明を適用することもできる。
【００５２】
また、図１、２のブロック図に示した各機能部は機能的構成を示すものであって、各機能部を独立したハードウェアにより構成する必要はなく、ソフトウェアとハードウェアとの協働により、複数の機能部の機能を１つのハードウェアに集約して実現することも、一つの機能部を複数のハードウェアにより実現することも勿論可能である。また、上述の動作を行うホストコンピューター３０が実行するプログラムは、ＲＯＭ３２が記憶する構成に限らず、可搬型の記録媒体に記憶されている構成であってもよいし、或いは、通信回線を介して接続された他の装置にダウンロード可能に記憶され、これらの装置からホストコンピューター３０が上記プログラムをダウンロードして実行してもよく、その他の構成についても任意に変更可能である。
【符号の説明】
【００５３】
１…ＰＯＳシステム、５…通信ネットワーク、１１、１２…プリンター（出力装置）、３０…ホストコンピューター（出力制御装置）、３６…入力Ｉ／Ｆ、３７…出力Ｉ／Ｆ（インターフェイス）、３８…通信Ｉ／Ｆ（インターフェイス）、４０…制御部、４１…オペレーティングシステム、４Ａ、４Ｂ…ポート（論理ポート）、４２…ＰＯＳアプリケーション（アプリケーションプログラム）、４３…プリンタードライバー（出力制御手段）、４４…コントロールオブジェクト、４５…サービスオブジェクト、４６…ドライバー設定ツール（登録制御手段）、４７…システムレジストリー（登録手段）、５５…キャッシュドロワー（出力装置）。
【図１】
2013041440.tif 000003
【図２】
2013041440.tif 000004
【図３】
2013041440.tif 000005
【図４】
2013041440.tif 000006