(57)【特許請求の範囲】
【請求項１】
第１のインターフェースおよび第２のインターフェースを備える印刷制御装置であって、
前記第１のインターフェースからデバイス識別情報要求を受信することに従い、前記第１インターフェースおよび前記第２インターフェースが使用できる空き状態か否かを判定する判定手段と、
前記判定手段により前記空き状態であると判定された場合、前記第２のインターフェースからの印刷データを受信せず、前記第１のインターフェースからは印刷データを受信して印刷を行う占有状態にし、当該占有状態であることを示す情報とデバイス識別情報とを前記第１のインターフェースを介して送信し、一方、前記判定手段により前記空き状態ではないと判定された場合、当該他のインターフェースによって占有されていることを示す情報とデバイス識別情報とを前記前記第１のインターフェースを介して送信する送信制御手段を有することを特徴とする印刷制御装置。
【請求項２】
前記第１と第２のインターフェースはセントロニクスインターフェースであることを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記第１のインターフェースからデバイス識別情報要求を受信した場合、前記送信制御手段は、前記占有状態にし、前記印刷制御装置が前記占有状態となった後に、一定時間内に前記第１のインターフェースからデータを受信した場合、受信したデータの印刷を行い、印刷終了後、前記占有状態を解除することを特徴とする請求項１または２に記載の印刷制御装置。
【請求項４】
前記送信制御手段は、前記占有状態となった後に、前記第１のインターフェースから一定の時間内にデータが受信されない場合、前記占有状態を解除することを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御装置。
【請求項５】
前記判定手段は、前記第１のインターフェースから印刷データを受信することに従って、前記第１インターフェースおよび前記第２インターフェースが使用できる状態か判定し、
前記判定手段によって前記第１インターフェースおよび前記第２インターフェースが使用できる状態と判定された場合、前記送信制御手段は、前記印刷制御装置を前記占有状態にすることを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御装置。
【請求項６】
前記印刷データに従って印刷する印刷手段を備えることを特徴とする請求項１乃至５のいずれか１項に記載の印刷制御装置。
【請求項７】
第１のインターフェースおよび第２のインターフェースを備える印刷制御装置における印刷制御方法であって、
前記第１のインターフェースからデバイス識別情報要求を受信することに従い、前記第１インターフェースおよび前記第２インターフェースが使用できる空き状態か否かを判定する判定手段と、
前記判定手段により前記空き状態であると判定された場合、前記第２のインターフェースからの印刷データを受信せず、前記第１のインターフェースからは印刷データを受信して印刷を行う占有状態にし、当該占有状態であることを示す情報とデバイス識別情報とを前記第１のインターフェースを介して送信し、一方、前記判定手段により前記空き状態ではないと判定された場合、当該他のインターフェースによって占有されていることを示す情報とデバイス識別情報とを前記前記第１のインターフェースを介して送信する送信制御手段を有することを特徴とする印刷制御方法。
【請求項８】
前記第１と第２のインターフェースはセントロニクスインターフェースであることを特徴とする請求項７に記載の印刷制御方法。
【請求項９】
前記第１のインターフェースからデバイス識別情報要求を受信した場合、前記送信制御手段は、前記占有状態にし、前記印刷制御装置が前記占有状態となった後に、一定時間内に前記第１のインターフェースからデータを受信した場合、受信したデータの印刷を行い、印刷終了後、前記占有状態を解除することを特徴とする請求項７または８に記載の印刷制御方法。
【請求項１０】
前記送信制御手段は、前記占有状態となった後に、前記第１のインターフェースから一定の時間内にデータが受信されない場合、前記占有状態を解除することを特徴とする請求項７乃至９のいずれか１項に記載の印刷制御方法。
【請求項１１】
前記判定手段は、前記第１のインターフェースから印刷データを受信することに従って、前記第１インターフェースおよび前記第２インターフェースが使用できる状態か判定し、
前記判定手段によって前記第１インターフェースおよび前記第２インターフェースが使用できる状態と判定された場合、前記送信制御手段は、前記印刷制御装置を前記占有状態にすることを特徴とする請求項７乃至１０のいずれか１項に記載の印刷制御方法。
【請求項１２】
前記印刷データに従って印刷する印刷手段を備えることを特徴とする請求項７乃至１１のいずれか１項に記載の印刷制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のインターフェースの送受信を制御する印刷制御装置及び印刷制御方法に関するものである。
【０００２】
【従来の技術】
従来、一般的に、セントロニクスインターフェースを介してパソコンなどのホスト装置（以下、単にホストという）に接続されるプリンタでは、ＩＥＥＥ・Ｐ１２８４仕様によるプロトコルに従って、ホストからデバイスＩＤ要求を受信したら、自らのデバイスＩＤ情報（メーカー名と型番等）と共に、自らの状態の情報（印刷中、用紙なし、ジャム発生など）をホスト装置に送信するように構成されている。ホストのプリンタドライバは、プリンタに印刷データを送信する前にデバイスＩＤ要求を送信し、プリンタからの応答によってプリンタが印刷できる状態であることを確認してから印刷データを送信する。また、印刷データを送信しない場合でも、必要に応じてデバイスＩＤ要求をプリンタに送信し、プリンタの状態を確認するようになっていた。
【０００３】
ところで、上記の種類のプリンタにおいて、複数のセントロニクスインターフェースを介して複数のホスト装置に接続され、その複数のインターフェースを切り替えて択一的に使用することにより、複数のホストから印刷データを受信して１つの印刷機構部で用紙に印刷できるように構成されたものがある。
【０００４】
このようなプリンタの従来の構成では、複数のインターフェースを介して複数のホストから任意のタイミングでデバイスＩＤ要求を受信し、１つのホストからの印刷データの印刷中でも他のホストからデバイスＩＤ要求を受信するが、各インターフェースを介してデバイスＩＤ要求を受信したら、いつでも、そのインターフェースを介して応答の送信を行なうようになっていた。
【０００５】
【発明が解決しようとする課題】
ところが、上記の複数のインターフェースを有するプリンタの従来の構成では、ホストから受信した印刷データを格納する受信バッファが１つであって、複数のインターフェースを介して複数の印刷データを同時には受信できない構成の場合、以下のような問題があった。
【０００６】
すなわち、上記構成のプリンタに対して、あるホストＡのプリンタドライバが印刷を行なわせようとして１つのインターフェースを介してプリンタにデバイスＩＤを要求してプリンタからデバイスＩＤと共に印刷データの受信、印刷が可能である状態の情報を取得したとする。そしてホストＡのプリンタドライバが前記の情報を取得してから印刷データを用意してプリンタに送信するまでのごく短時間の間に、たまたま他のホストＢのプリンタドライバが印刷を行なわせようとして他のインターフェースを介してプリンタにデバイスＩＤ要求を行なったとする。
【０００７】
ここで、プリンタはホストＡから印刷データを受信するまでは、インターフェース使用中として上記１つのインターフェースのみを使用して印刷データの受信を可能とする占有状態にならず、ホストＢに対してもプリンタからデバイスＩＤと共に印刷データの受信、印刷が可能である状態の情報が送信される。
【０００８】
しかし、その直後にホストＡのプリンタドライバからプリンタに印刷データが送信され、プリンタは印刷データを受信する処理の処理中で上記インターフェースの占有状態となり、ホストＢのプリンタドライバがデバイスＩＤ要求でプリンタから取得した情報による状態とは異なる状態となる。そして、ホストＢのプリンタドライバがＯＳ（オペレーションシステム）を介して印刷データをプリンタに送信しようとすると、プリンタで受け付けられないが、このときにホストの構成による能力の低さやＯＳの複雑さなどによって、プリンタが印刷データを受け付けない旨の情報をホストＢのプリンタドライバがＯＳから取得するまでに数１０秒もの長い時間がかかる場合がある。すなわち、デバイスＩＤ要求で取得した情報によるプリンタの状態が現時点のプリンタの実際の状態と異なることがわかるまで数１０秒かかる場合がある。ここで、ホストＢのプリンタドライバがデバイスＩＤ要求でプリンタの状態の情報を取得したときに、そのプリンタの状態の情報に基づいてホストＢのディスプレイにプリンタの状態を表示したとすると、プリンタの現時点の実際の状態とは異なる状態の表示を数１０秒間行なってしまうことになる。
【０００９】
そこで本発明の課題は、複数のインターフェースの送受信を制御する印刷制御装置及び印刷制御方法において、デバイスＩＤ要求に対して適切に対処して、上述のような問題を防止し、印刷システムの信頼性を向上できるようにすることにある。
【００１０】
【課題を解決するための手段】
上記の課題を解決するため、本発明によれば、
第１のインターフェースおよび第２のインターフェースを備える印刷制御装置であって、前記第１のインターフェースからデバイス識別情報要求を受信することに従い、前記第１インターフェースおよび前記第２インターフェースが使用できる空き状態か否かを判定する判定手段と、前記判定手段により前記空き状態であると判定された場合、前記第２のインターフェースからの印刷データを受信せず、前記第１のインターフェースからは印刷データを受信して印刷を行う占有状態にし、当該占有状態であることを示す情報とデバイス識別情報とを前記第１のインターフェースを介して送信し、一方、前記判定手段により前記空き状態ではないと判定された場合、当該他のインターフェースによって占有されていることを示す情報とデバイス識別情報とを前記前記第１のインターフェースを介して送信する送信制御手段を有することを特徴とする。
【００１１】
【発明の実施の形態】
以下、図を参照して本発明の実施の形態を詳細に説明する。まず、図１により実施形態のプリンタの制御系の機能的構成を説明する。
【００１２】
本実施形態のプリンタ１１４は、それぞれセントロニクスインターフェースであるインターフェース（１）１０４とインターフェース（２）１０７を介して例えばパソコンであるホスト（１）１００とホスト（２）１０６に接続される。
【００１３】
ホスト（１）１００では、不図示の文書作成用のアプリケーションプログラムで作成された文書をプリンタ１１４に印刷させるときにプリンタドライバ１０２が起動され、前記の文書の印刷データを作成し、物理的なプリンタポートに対する読み書きを行なうＯＳ（オペレーションシステム）１０３とインターフェース（１）１０４を介してプリンタに送信する。その前に、プリンタドライバ１０２はプリンタ１１４が印刷可能か確認するために、ＩＥＥＥ・Ｐ１２８４のプロトコルに従って、デバイスＩＤ要求の制御コマンドをプリンタ１１４に送信する。また、印刷データを送信しない場合でも、プリンタの状態を確認する必要に応じて、デバイスＩＤ要求の制御コマンドを送信する。プリンタ１１４は、ＩＥＥＥ・Ｐ１２８４のプロトコルに対応しており、ホスト（１）１００からデバイスＩＤ要求を受信したら自らのデバイスＩＤ情報と共に自らの状態の情報をホスト（１）１００に送信する。プリンタドライバ１０２は、デバイスＩＤ要求によってプリンタ１１４からデバイスＩＤ情報と共にプリンタ１１４の状態の情報を取得したら、その情報に基づいて、ディスプレイ制御部１０１を介して不図示のディスプレイにプリンタ１１４の状態をユーザーに通知するための表示をおこなわせる。ホスト（２）１０６はホスト（１）１００と同様に構成される。
【００１４】
プリンタ１１４の制御系は以下の構成からなる。
【００１５】
１０５及び１０８は、それぞれインターフェース（１）１０４及びインターフェース（２）１０７のプロトコルを処理してホスト（１）１００及びホスト（２）１０６との通信を行なうインターフェース（１）制御部及びインターフェース（２）制御部であり、具体的には入出力ポート素子とその制御のためのファームウェアから構成される。
【００１６】
１０９は、インターフェース切り替え制御部であり、インターフェース（１）１０４とインターフェース（２）１０７を切り替えて択一的に使用するために、インターフェース（１）制御部１０５とインターフェース（２）制御部１０８を切り替えて択一的に後段の制御コマンド解析部１１０とプリンタ状態通知部１１３に接続する。その切り替えを印刷ジョブ毎に行なうことで、２つのホストからの印刷要求に答えることができる。
【００１７】
制御コマンド解析部１１０は、インターフェース切り替え制御部１０９の切り替えにより選択されるインターフェース（１）１０４またはインターフェース（２）１０７を介してホスト（１）１００またはホスト（２）１０６から受信した印刷データの制御コマンドを解析し、そのコマンドに応じた動作を不図示のプリンタエンジン（印刷機構部）に行なわせるためのエンジン制御コマンドに変換し、エンジン制御部１１１に出力する。
【００１８】
エンジン制御部１１１は、制御コマンド解析部１１０からエンジン制御コマンドを受け取り、そのエンジン制御コマンドに応じて不図示のプリンタエンジンの各部を制御し、給紙、印刷、排紙の各動作を行なわせる。例えば、不図示の記録ヘッドとしてのＢＪ（バブルジェット）ヘッドのヒーターに電力を供給し、インクを吐出させるインク吐出制御、ＢＪヘッドが搭載されているキャリッジをパルスモータなどの駆動により移動させてＢＪヘッドの位置を制御するヘッド位置制御、給紙カセットなどからの用紙の給紙を行なう給紙制御、給紙された用紙のプリンタ内での紙送りの制御、印刷された用紙の排紙を行なう排紙制御などを行う。
【００１９】
また、１１２は、プリンタ状態管理部であり、エンジン制御部１１１から通知されたプリンタ１１４の状態を制御コマンド解析部１１０とプリンタ状態通知部１１３に通知する。
【００２０】
プリンタ状態通知部１１３は、プリンタ状態管理部１１２から通知されたプリンタ１１４の状態をインターフェース切り替え制御部１０９を介してホスト（１）１００またはホスト（２）１０６に通知する。
【００２１】
なお、上記の１０９〜１１３の各部はハードウェアとしてはＣＰＵ１１５から構成され、ＣＰＵ１１５がメモリのＲＯＭとＲＡＭからなる記憶部１１６のＲＯＭ部に格納された制御プログラムを実行することにより、それぞれの機能が実現される。なお、次に説明する図２のフローチャートで手順を示す処理は、記憶部１１６のＲＯＭ部に格納された制御プログラムに従ってＣＰＵ１１５により行なわれる。そのＲＯＭ部は、本発明に係るプリンタの制御プログラムを格納したコンピュータにより読み取り可能な記憶媒体の実施形態に相当する。
【００２２】
また、記憶部１１６のＲＡＭ部は各種情報処理を行なうためのワークエリアとして使用される。ＲＡＭ部の一部は、ホスト（１）１００またはホスト（２）１０６から受信した印刷データを一時的に格納する受信バッファとして使用される。ここでは受信バッファは１つとし、インターフェース（１）１０４とインターフェース（２）１０７を介してホスト（１）１００とホスト（２）１０６から同時に印刷データを受信することはできないものとする。
【００２３】
次に、上述したプリンタ１１４の制御系の構成において、ホスト（１）１００ないしホスト（２）１０６からのデバイスＩＤ要求と印刷データの受信に応じてなされる処理の動作を図２のフローチャートにより説明する。なお、図２の処理は、主にインターフェース切り替え制御部１０９の機能によりなされる。
【００２４】
図２の処理では、まずステップＳ２００において、デバイスＩＤ要求を検出するインターフェース（１）制御部１０５またはインターフェース（２）制御部１０８からの通知により、インターフェース切り替え制御部１０９がホスト（１）１００またはホスト（２）１０６からのデバイスＩＤ要求の受信があったかどうかを判断する。
【００２５】
そしてデバイスＩＤ要求の受信があったら、ステップＳ２０１に進み、インターフェースが空き状態かどうかを判断する。ここでインターフェースが空き状態とは、インターフェース（１）１０４もインターフェース（２）１０７も共に印刷データの受信に使用されておらず、使用可能な状態とする。
【００２６】
ステップＳ２０１でインターフェースが空き状態だったら、ステップＳ２０２でインターフェース使用中として、インターフェース（１）１０４とインターフェース（２）１０７の内で上記のデバイスＩＤ要求のあった方のインターフェースのみを使用して印刷データの受信を可能とする占有状態とし、更にステップＳ２０３で上記デバイスＩＤ要求の受信によってインターフェースを占有状態にした時刻を記憶部１１６のＲＡＭ等に記憶する。その後、ステップＳ２０４に進む。また、ステップＳ２０１でインターフェースが空き状態でなかった場合は直接ステップＳ２０４に進む。
【００２７】
ステップＳ２０４ではデバイスＩＤ情報とプリンタの状態の情報を作成し、続いてステップＳ２０５において前記のデバイスＩＤ情報とプリンタの状態の情報を上記デバイスＩＤ要求を検出したインターフェース（１）制御部１０５またはインターフェース（２）制御部１０８を介してホスト（１）１００またはホスト（２）１０６に送信する。その後、ステップＳ２００へ戻る。
【００２８】
一方、ステップＳ２００でデバイスＩＤ要求がなかったらステップＳ２０６に進み、印刷データの受信があったかどうかを判定する。そして、印刷データを受信していなければステップＳ２０７に進み、前述したステップＳ２０３で記憶した時刻から一定時間経過したか判定し、経過していなければステップＳ２００に戻る。
【００２９】
そして、ステップＳ２００，Ｓ２０６，Ｓ２０７の判定ループを繰り返し、ステップＳ２０７で一定時間（例えば１０秒程度）が経過した場合、すなわち、上記のデバイスＩＤ要求の受信から前記一定時間内に印刷データの受信がなかった場合は、ステップＳ２１２に進み、インターフェースの占有状態を解除してインターフェースを空き状態とし、その後、ステップＳ２００へ戻る。
【００３０】
一方、上記のステップＳ２０６で印刷データの受信があった場合、すなわち、上記のデバイスＩＤ要求の受信から上記の一定時間内に印刷データの受信があった場合は、ステップＳ２０８でインターフェースが空き状態か判定し、空き状態でなかったらステップＳ２１０に進むが、空き状態だったら、ステップＳ２０９でインターフェース使用中とし、上記印刷データを受信しているインターフェースのみを使用して印刷データの受信を可能とする占有状態とし、その後、ステップＳ２１０に進む。なお、ステップＳ２０８，Ｓ２０９の処理は、ホストからデバイス要求なしで、いきなり印刷データが送信された場合に対処するためである。
【００３１】
ステップＳ２１０では、受信した印刷データの印刷を行う。そして印刷中に、制御コマンド解析部１１０が印刷終了かどうかを印刷データの一連の制御コマンドの終了を示すコードをチェックするなどして調べてインターフェース切り替え制御部１０９に通知し、同制御部１０９はステップＳ２１１で前記の通知により印刷終了かどうかを判断し、終了でないならステップＳ２１０に戻って印刷を続行するが、印刷終了であると判断したらステップＳ２１２に進んでインターフェースの占有状態を解除してインターフェースを空き状態にし、その後、ステップＳ２００に戻る。
【００３２】
以上のような処理により、インターフェース（１）１０４またはインターフェース（２）１０７を介してホスト（１）１００またはホスト（２）１０６からデバイスＩＤ要求を受信した場合、インターフェース使用中としてデバイスＩＤを受信した一方のインターフェースのみを使用して印刷データの受信を可能とする占有状態とし、デバイスＩＤ要求の受信から一定時間内に印刷データの受信があれば用紙に印刷して印刷終了後に前記占有状態を解除し、前記一定時間内に印刷データの受信がなければその一定時間経過後に前記占有状態を解除する。したがって、前述した従来の問題点を以下のように防止することができる。
【００３３】
すなわち、プリンタ１１４に対して、ホスト（１）１００のプリンタドライバ１０２が印刷を行なわせようとしてインターフェース（１）１０４を介してプリンタ１１４にデバイスＩＤ要求を送信し、インターフェースが空き状態であって、プリンタ１１４からデバイスＩＤ情報と共に印刷データの受信、印刷が可能である状態の情報を取得したとする。そしてプリンタドライバ１０２が前記の情報を取得してから印刷データを用意してプリンタ１１４に送信するまでのごく短時間の間に、たまたまホスト（２）１０６のプリンタドライバが印刷を行なわせようとしてインターフェース（２）１０７を介してプリンタ１１４にデバイスＩＤ要求を送信したとする。
【００３４】
ここで、プリンタ１１４はインターフェース使用中で占有状態、つまりホスト（２）１０６から印刷データを受信できない状態となっており、その状態の情報がデバイスＩＤ情報と共にプリンタ１１４からホスト（２）１０６に送信されるので、その後でホスト（２）１０６のプリンタドライバが印刷データをプリンタ１１４に送信しようとすることはない。
【００３５】
したがって、従来のように、あるホストがデバイスＩＤ要求によりプリンタの印刷データ受信、印刷可能な状態の情報を取得してから印刷データをプリンタに送信しようとするまでの間に他のホストがプリンタに印刷データを送信してプリンタの状態が変化してしまうことがなく、前者のホストがデバイスＩＤ要求により取得したプリンタの状態の情報に基づいて現時点の実際のプリンタの状態と異なるプリンタの状態をディスプレイに表示してしまうようなこともなく、プリンタとホストからなる印刷システムの信頼性を向上することができる。
【００３６】
なお、以上では、インターフェース１０４，１０７は共にセントロニクスインターフェースとしたが、これらが他のインターフェースとしても、上述と同様のプロトコルでデバイスＩＤ要求とそれに対する応答がなされるならば、上述の本発明に係る技術を適用することができる。また、プリンタのホストに接続するインターフェースの数は２つに限らず、３つ以上の複数でもよいことは勿論である。
【００３７】
【発明の効果】
本願発明により、デバイス識別情報の要求があった一方のインターフェースを占有状態とすることで、例えば一方のインターフェースを用いてデバイス識別情報の要求を行ってから印刷データを送信するまでの間に、他方のインターフェースを用いて印刷データが送信されることにより、デバイス識別情報の要求を行った一方のインターフェースを用いて印刷データを送信することができなくなるといった不具合を解消することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態におけるプリンタの制御系の機能的構成を示すブロック図である。
【図２】同プリンタにおけるデバイスＩＤ要求および印刷データの受信に応じた処理の制御手順を示すフローチャート図である。
【符号の説明】
１００  ホスト（１）
１０１  ディスプレイ制御部
１０２  プリンタドライバ
１０３  オペレーションシステム
１０４  インターフェース（１）
１０５  インターフェース（１）制御部
１０６  ホスト（２）
１０７  インターフェース（２）
１０８  インターフェース（２）制御部
１０９  インターフェース切り替え制御部
１１０  制御コマンド解析部
１１１  エンジン制御部
１１２  プリンタ状態管理部
１１３  プリンタ状態通知部
１１４  プリンタ
１１５  ＣＰＵ
１１６  記憶部
【図１】
0004174169.tif 000002
【図２】
0004174169.tif 000003