(57)【特許請求の範囲】
【請求項１】
互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有し、クライアント装置から送信された印刷データを受信する経路を設け、該経路を介して受信した印刷データを、複数の論理印刷手段のいずれかにより印刷するプリンタにおいて、
クライアント装置から第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信プロトコルで送信された印刷データを第１の論理印刷手段が受信するための第１の経路を設ける手段と、
複数の論理印刷手段の稼働状況を判別する手段と、
判別した結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の経路を閉ざすとともに第１の論理印刷手段と同一のエミュレーション処理を行う第２の論理印刷手段を印刷データの受信先として選択し、前記第２の論理印刷手段が印刷データを受信するための第２の経路を設ける手段とを備えることを特徴とするプリンタ。
【請求項２】
前記第１及び第２の論理印刷手段に対応した通信プロトコルを判別する手段と、第１及び第２の論理印刷手段に対応した通信プロトコルが異なる場合に、第１の論理印刷手段により印刷すべく送信された印刷データの通信プロトコルを、第２の論理印刷手段に対応した通信プロトコルに変換する手段とを備えることを特徴とする請求項１に記載のプリンタ。
【請求項３】
互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するプリンタのいずれかの論理印刷手段へネットワークを介して印刷データを送信するサーバ装置において、
複数の論理印刷手段の稼働状況を示すテーブルと、
該テーブルに基づいて複数の論理印刷手段の稼働状況を判別する手段と、
判別した結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段へ送信すべく第１の論理印刷手段に対応させた通信プロトコルでクライアント装置から送られる印刷データの送信先として第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段を選択する手段と、
第２の論理印刷手段へ印刷データを送信する手段とを備えることを特徴とするサーバ装置。
【請求項４】
前記第１及び第２の論理印刷手段に対応した通信プロトコルを判別する手段と、第１及び第２の論理印刷手段に対応した通信プロトコルが異なる場合に、第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応させた印刷データの通信プロトコルを、第２の論理印刷手段に対応した通信プロトコルに変換する手段とを備えることを特徴とする請求項３に記載のサーバ装置。
【請求項５】
互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するプリンタのいずれかの論理印刷手段へネットワークを介して印刷データを送信するクライアント装置において、
第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信プロトコルで印刷データを送信する手段と、
複数の論理印刷手段の稼働状況を示すテーブルと、
該テーブルに基づいて複数の論理印刷手段の稼働状況を判別する手段と、
判別した結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段により印刷すべく送信した印刷データをサーバ装置から削除させる手段、及び第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段へ印刷データを送信する手段とを備えることを特徴とするクライアント装置。
【請求項６】
前記第１及び第２の論理印刷手段に対応した通信プロトコルを判別する手段と、第１及び第２の論理印刷手段に対応した通信プロトコルが異なる場合に、第１の論理印刷手段により印刷すべく送信された印刷データの通信プロトコルを第２の論理印刷手段に対応した通信プロトコルに変換する手段とを備えることを特徴とする請求項５に記載のクライアント装置。
【請求項７】
互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するローカル接続されたプリンタのいずれかの論理印刷手段へネットワークを介して受信した印刷データを送信する印刷制御装置において、
クライアント装置から第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信プロトコルで送信された印刷データをデータ処理装置を介して受信する手段と、
複数の論理印刷手段の稼働状況を示すテーブルと、
該テーブルに基づいて複数の論理印刷手段の稼働状況を判別する手段と、
判別した結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段を印刷データの送信先として選択する手段と、第２の論理印刷手段へ印刷データを送信する手段とを備えることを特徴とする印刷制御装置。
【請求項８】
前記第１及び第２の論理印刷手段に対応した通信プロトコルを判別する手段と、第１及び第２の論理印刷手段に対応した通信プロトコルが異なる場合に、第１の論理印刷手段により印刷すべく送信された印刷データの通信プロトコルを、第２の論理印刷手段に対応した通信プロトコルに変換する手段とを備えることを特徴とする請求項７に記載の印刷制御装置。
【請求項９】
ネットワークを介して印刷データを送信するクライアント装置と、
該クライアント装置から送信された印刷データを受信し、ネットワークを介して印刷データを送信する経路を設けて、印刷データを送信するサーバ装置と、
該サーバ装置からネットワークを介して送信された印刷データを受信する請求項１又は請求項２に記載のプリンタとを備えることを特徴とする印刷システム。
【請求項１０】
印刷データを送信するクライアント装置と、
該クライアント装置から送信された印刷データを受信する請求項３又は請求項４に記載のサーバ装置と、
該サーバ装置から送信された印刷データを受信する論理印刷手段を有するプリンタとを備えることを特徴とする印刷システム。
【請求項１１】
請求項５又は請求項６に記載のクライアント装置と、
該クライアント装置からネットワークを介して送信された印刷データを受信し、印刷データを送信する経路を設けて、論理印刷手段へ印刷データを送信するサーバ装置と、
クライアント装置からサーバ装置を介して送信された印刷データを受信する論理印刷手段を有するプリンタとを備えることを特徴とする印刷システム。
【請求項１２】
印刷データを送信するクライアント装置と、
該クライアント装置から送信された印刷データを受信し、印刷データを送信する経路を設けて、印刷データを送信するサーバ装置と、
クライアント装置からサーバ装置を介して送信された印刷データを受信する請求項７又は請求項８に記載の印刷制御装置と、
該印刷制御装置から送信された印刷データを受信する論理印刷手段を有するプリンタとを備えることを特徴とする印刷システム。
【請求項１３】
コンピュータに、互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するプリンタにおいていずれかの論理印刷手段へ印刷データを送信させるプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体であって、
コンピュータに、複数の論理印刷手段の稼働状況を示すテーブルを設定させる手段と、
コンピュータに、テーブルに基づいて複数の論理印刷手段の稼働状況を判別させるプログラムコード手段と、
コンピュータに、判別させた結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段へ送信すべく第１の論理印刷手段に対応させた通信プロトコルの印刷データの送信先として、第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段を選択させるプログラムコード手段と、
コンピュータに、第２の論理印刷手段へ印刷データを送信させるプログラムコード手段とを含むコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体。
【請求項１４】
コンピュータに、クライアント装置において印刷データを互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するプリンタのいずれかの論理印刷手段へ送信させるプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体において、
コンピュータに、第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信プロトコルで印刷データを送信させるプログラムコード手段と、
コンピュータに、複数の論理印刷手段の稼働状況を示すテーブルを設定させる手段と、
コンピュータに、テーブルに基づいて複数の論理印刷手段の稼働状況を判別させるプログラムコード手段と、
コンピュータに、判別させた結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段により印刷すべく送信させた印刷データを削除させる手段、及び第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段へ印刷データを送信させるプログラムコード手段とを含むコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体。
【請求項１５】
互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を備え、クライアント装置から送信された印刷データを受信する経路を設け、該経路を介して受信した印刷データを、複数の論理印刷手段のいずれかにより印刷する方法であって、
クライアント装置から第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信プロトコルで送信された印刷データを第１の論理印刷手段が受信するための第１の経路を設けるステップと、
複数の論理印刷手段の稼動状況を判別するステップと、
判別した結果より第１の論理印刷手段が稼動中であることが判明した場合に、第１の経路を閉ざすとともに第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段を印刷データの受信先として選択し、前記第２の論理印刷手段が印刷データを受信するための第２の経路を設けるステップとを有することを特徴とする印刷方法。
【請求項１６】
第２の論理印刷手段への変更およびその内容を依頼元クライアント装置へ通知することを特徴とする請求項１に記載のプリンタ。
【請求項１７】
前記テーブルはネットワークに接続された他のプリンタの稼動状況を示すとともに、
前記プリンタに同一エミュレーション処理を行う論理印刷手段がない場合は、前記他のプリンタへ印刷データを送信することを特徴とする請求項３または請求項４に記載のサーバ装置。
【請求項１８】
前記稼動状況を判別する手段は前記プリンタの各論理印刷手段の処理負荷の合計とネットワークに接続された他のプリンタの処理負荷を判別するとともに、
印刷依頼が前記プリンタの処理負荷を超える場合、前記他のプリンタであって処理負荷に余裕のあるプリンタへ印刷データを送信することを特徴とする請求項３または請求項４に記載のサーバ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ送信装置から印刷データを送信し、送信された印刷データを複数の印刷手段のいずれかにより印刷する印刷制御方法、その方法を実施するためのプリンタ、データ処理装置、データ送信装置、それらの装置を用いた印刷システム、印刷制御装置、及びそれらを実現するためのプログラムが記録されてある記録媒体に関する。
【０００２】
【従来の技術】
ＬＡＮ等のネットワークに複数台のクライアント及び１台のサーバを接続し、１台のプリンタを共有して利用するシステムが普及している。このようなシステムにおいてはクライアントからサーバを介してプリンタへ送信された一つの印刷依頼について処理している間は、他の印刷依頼を受け付けないため、処理が完了してから再度印刷依頼を行わなければならず、このためクライアントからの印刷依頼を一時的に格納しているサーバがプリンタの処理状況を監視するため、サーバの負荷が増加するという問題があった。
【０００３】
この問題を解決するために本願出願人は特開平８−３６４７２号公報において次のような方法を提案している。すなわち、複数のクライアントからの印刷依頼の処理を並列的に行えるように、物理的に存在する１台のプリンタの中に互いに独立して作動する複数の仮想的なプリンタである論理プリンタを設定することにより、１台のプリンタを複数のプリンタとして利用する。そして印刷依頼を印刷キューとして管理することにより、複数の印刷依頼を同時に受けることを可能にし、サーバの負荷を軽減するだけでなく、システム全体のスループットを高めるものである。このように実在するプリンタに複数の仮想的なプリンタを設定したプリンタを本願出願人は仮想システムプリンタ（Ｖｉｒｔｕａｌ  Ｓｙｓｔｅｍ  Ｐｒｉｎｔｅｒ）と称している。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の方法においては、指定した論理プリンタが印刷中である場合、指定した論理プリンタの印刷キューの最後にキューイングして印刷待ち状態にするか、又は印刷依頼可能な論理プリンタの稼働状況を判別し、空いている論理プリンタを選択して、選択した論理プリンタへ再度印刷依頼しなければならない。このため印刷待ちにした場合は待ち時間が無駄であり、再度印刷依頼をする場合は煩雑な処理を人手により行うため手間がかかるという問題がある。
【０００５】
特に指定し直した論理プリンタが当初指定した論理プリンタとプロトコルが異なる場合は、論理プリンタを指定し直すだけでなくプロトコルの変換処理も必要となり、プロトコルが同じである場合より、更に変換処理に時間を必要とするという問題がある。
【０００６】
また、複数のクライアントから印刷依頼を受けるため、一つのクライアントからの印刷処理に時間がかかる印刷依頼について印刷中である場合、他のクライアントから印刷依頼をしても実際に印刷が行われるまで長時間待たなければならず、例え空いている論理プリンタへ印刷依頼をしたときであっても無駄な待ち時間を費やし、全体のスループットが低下するという問題がある。
【０００７】
さらに、ＬＡＮ回線に比べて、ＬＡＮ回線及びプリンタを接続する接続線はデータ転送速度が遅いため、サーバからＬＡＮ回線及び接続線を介してプリンタへ送信されるデータのデータ転送速度は、接続線のデータ転送速度がボトルネックとなる。このため印刷依頼が集中した場合に、低速なデータ転送により高速なＬＡＮ回線を占有するため、全体のスループットが低下するという問題がある。この場合、ＬＡＮ回線及びプリンタとの間に一時的に印刷依頼を格納するバッファ装置を設けていても特定のプリンタに印刷が集中したときには、全体としてのスループットが低下する。また、同様にしてサーバからプリンタへのデータ転送量が、プリンタにおいてデータを受信する際の処理速度を超える場合にも同様の問題が発生する。
【０００８】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、データ送信装置にて作成した印刷データを、印刷させる論理プリンタを指定して印刷依頼し、指定した論理プリンタが印刷中である場合、指定した論理プリンタ以外の論理プリンタに対する印刷依頼に自動的に切り替えることによって、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする印刷制御方法、その方法を実施するためのプリンタ、データ処理装置、データ送信装置、印刷制御装置、これらの装置を用いた印刷システム、及びコンピュータに、印刷制御を実施させるプログラムが記録されている記録媒体の提供を主たる目的とする。
【０００９】
さらに、切り替えた論理プリンタが当初指定した論理プリンタとプロトコルが異なる場合は、プロトコル変換処理も自動的に行うことによって、プロトコル変換処理を行う作業の省略をする印刷制御方法等の提供を他の目的とする。
【００１０】
また、印刷依頼を印刷制御装置に一時的に格納し、印刷制御装置にて効率的に印刷できるプリンタを選択し、印刷制御装置からＬＡＮ回線を介さずプリンタへ印刷依頼を行い全体のスループットの低下を防止する印刷制御装置の提供を更に他の目的とする。
【００１１】
さらに、第１のプリンタが備える論理プリンタに対する印刷依頼を、第２のプリンタに対する印刷依頼に自動的に切り替えることにより、印刷待ち時間を短縮し、全体のスループットの低下を防止する印刷制御方法等の提供を更に他の目的とする。
【００１２】
【課題を解決するための手段】
第１発明に係るプリンタは、互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有し、クライアント装置から送信された印刷データを受信する経路を設け、該経路を介して受信した印刷データを、複数の論理印刷手段のいずれかにより印刷するプリンタにおいて、クライアント装置から第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信プロトコルで送信された印刷データを第１の論理印刷手段が受信するための第１の経路を設ける手段と、複数の論理印刷手段の稼働状況を判別する手段と、判別した結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の経路を閉ざすとともに第１の論理印刷手段と同一のエミュレーション処理を行う第２の論理印刷手段を印刷データの受信先として選択し、前記第２の論理印刷手段が印刷データを受信するための第２の経路を設ける手段とを備えることを特徴とする。
【００１３】
第２発明に係るプリンタは、第１発明において、前記第１及び第２の論理印刷手段に対応した通信プロトコルを判別する手段と、第１及び第２の論理印刷手段に対応した通信プロトコルが異なる場合に、第１の論理印刷手段により印刷すべく送信された印刷データの通信プロトコルを、第２の論理印刷手段に対応した通信プロトコルに変換する手段とを備えることを特徴とする。
【００１４】
第３発明に係るサーバ装置は、互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するプリンタのいずれかの論理印刷手段へネットワークを介して印刷データを送信するサーバ装置において、複数の論理印刷手段の稼働状況を示すテーブルと、該テーブルに基づいて複数の論理印刷手段の稼働状況を判別する手段と、判別した結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段へ送信すべく第１の論理印刷手段に対応させた通信プロトコルでクライアント装置から送られる印刷データの送信先として第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段を選択する手段と、第２の論理印刷手段へ印刷データを送信する手段とを備えることを特徴とする。
【００１５】
第４発明に係るサーバ装置は、第３発明において、前記第１及び第２の論理印刷手段に対応した通信プロトコルを判別する手段と、第１及び第２の論理印刷手段に対応した通信プロトコルが異なる場合に、第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応させた印刷データの通信プロトコルを、第２の論理印刷手段に対応した通信プロトコルに変換する手段とを備えることを特徴とする。
【００１６】
第５発明に係るクライアント装置は、互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するプリンタのいずれかの論理印刷手段へネットワークを介して印刷データを送信するクライアント装置において、第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信プロトコルで印刷データを送信する手段と、複数の論理印刷手段の稼働状況を示すテーブルと、該テーブルに基づいて複数の論理印刷手段の稼働状況を判別する手段と、判別した結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段により印刷すべく送信した印刷データをサーバ装置から削除させる手段、及び第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段へ印刷データを送信する手段とを備えることを特徴とする。
【００１７】
第６発明に係るクライアント装置は、第５発明において、前記第１及び第２の論理印刷手段に対応した通信プロトコルを判別する手段と、第１及び第２の論理印刷手段に対応した通信プロトコルが異なる場合に、第１の論理印刷手段により印刷すべく送信された印刷データの通信プロトコルを第２の論理印刷手段に対応した通信プロトコルに変換する手段とを備えることを特徴とする。
【００１８】
第７発明に係る印刷制御装置は、互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するローカル接続されたプリンタのいずれかの論理印刷手段へネットワークを介して受信した印刷データを送信する印刷制御装置において、クライアント装置から第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信プロトコルで送信された印刷データをデータ処理装置を介して受信する手段と、複数の論理印刷手段の稼働状況を示すテーブルと、該テーブルに基づいて複数の論理印刷手段の稼働状況を判別する手段と、判別した結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段を印刷データの送信先として選択する手段と、第２の論理印刷手段へ印刷データを送信する手段とを備えることを特徴とする。
【００１９】
第８発明に係る印刷制御装置は、第７発明において、前記第１及び第２の論理印刷手段に対応した通信プロトコルを判別する手段と、第１及び第２の論理印刷手段に対応した通信プロトコルが異なる場合に、第１の論理印刷手段により印刷すべく送信された印刷データの通信プロトコルを、第２の論理印刷手段に対応した通信プロトコルに変換する手段とを備えることを特徴とする。
【００２０】
第９発明に係る印刷システムは、ネットワークを介して印刷データを送信するクライアント装置と、該クライアント装置から送信された印刷データを受信し、ネットワークを介して印刷データを送信する経路を設けて、印刷データを送信するサーバ装置と、該サーバ装置からネットワークを介して送信された印刷データを受信する第１発明又は第２発明のプリンタとを備えることを特徴とする。
【００２１】
第１０発明に係る印刷システムは、印刷データを送信するクライアント装置と、該クライアント装置から送信された印刷データを受信する第３発明又は第４発明のサーバ装置と、該サーバ装置から送信された印刷データを受信する論理印刷手段を有するプリンタとを備えることを特徴とする。
【００２２】
第１１発明に係る印刷システムは、第５発明又は第６発明のクライアント装置と、該クライアント装置からネットワークを介して送信された印刷データを受信し、印刷データを送信する経路を設けて、論理印刷手段へ印刷データを送信するサーバ装置と、クライアント装置からサーバ装置を介して送信された印刷データを受信する論理印刷手段を有するプリンタとを備えることを特徴とする。
【００２３】
第１２発明に係る印刷システムは、印刷データを送信するクライアント装置と、該クライアント装置から送信された印刷データを受信し、印刷データを送信する経路を設けて、印刷データを送信するサーバ装置と、クライアント装置からサーバ装置を介して送信された印刷データを受信する第７発明又は第８発明の印刷制御装置と、該印刷制御装置から送信された印刷データを受信する論理印刷手段を有するプリンタとを備えることを特徴とする。
【００２４】
第１３発明に係るコンピュータでの読み取りが可能な記録媒体は、コンピュータに、互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するプリンタにおいていずれかの論理印刷手段へ印刷データを送信させるプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体であって、コンピュータに、複数の論理印刷手段の稼働状況を示すテーブルを設定させる手段と、コンピュータに、テーブルに基づいて複数の論理印刷手段の稼働状況を判別させるプログラムコード手段と、
コンピュータに、判別させた結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段へ送信すべく第１の論理印刷手段に対応させた通信プロトコルの印刷データの送信先として、第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段を選択させるプログラムコード手段と、コンピュータに、第２の論理印刷手段へ印刷データを送信させるプログラムコード手段とを含むコンピュータプログラムを記録してあることを特徴とする。
【００２５】
第１４発明に係るコンピュータでの読み取りが可能な記録媒体は、コンピュータに、クライアント装置において印刷データを互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を有するプリンタのいずれかの論理印刷手段へ送信させるプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体において、コンピュータに、第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信設定プロトコルで印刷データを送信させるプログラムコード手段と、コンピュータに、複数の論理印刷手段の稼働状況を示すテーブルを設定させる手段と、コンピュータに、テーブルに基づいて複数の論理印刷手段の稼働状況を判別させるプログラムコード手段と、コンピュータに、判別させた結果より第１の論理印刷手段が稼働中であることが判明した場合に、第１の論理印刷手段により印刷すべく送信させた印刷データを削除させる手段、及び第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段へ印刷データを送信させるプログラムコード手段とを含むコンピュータプログラムを記録してあることを特徴とする。
【００２６】
第１５発明に係る印刷方法は、互いに独立して異なるエミュレーション処理を行う複数の論理印刷手段を備え、クライアント装置から送信された印刷データを受信する経路を設け、該経路を介して受信した印刷データを、複数の論理印刷手段のいずれかにより印刷する方法であって、クライアント装置から第１の論理印刷手段により印刷すべく第１の論理印刷手段に対応した通信プロトコルで送信された印刷データを第１の論理印刷手段が受信するための第１の経路を設けるステップと、複数の論理印刷手段の稼動状況を判別するステップと、判別した結果より第１の論理印刷手段が稼動中であることが判明した場合に、第１の経路を閉ざすとともに第１の論理印刷手段と同一エミュレーション処理を行う第２の論理印刷手段を印刷データの受信先として選択し、前記第２の論理印刷手段が印刷データを受信するための第２の経路を設けるステップとを有することを特徴とする。
【００２７】
第１６発明に係るプリンタは、第１発明において、第２の論理印刷手段への変更およびその内容を依頼元クライアント装置へ通知することを特徴とする。
【００２８】
第１７発明に係るサーバ装置は、第３発明又は第４発明において、前記テーブルはネットワークに接続された他のプリンタの稼動状況を示すとともに、前記プリンタに同一エミュレーション処理を行う論理印刷手段がない場合は、前記他のプリンタへ印刷データを送信することを特徴とする。
【００２９】
第１８発明に係るサーバ装置は、第３発明又は第４発明において、前記稼動状況を判別する手段は前記プリンタの各論理印刷手段の処理負荷の合計とネットワークに接続された他のプリンタの処理負荷を判別するとともに、印刷依頼が前記プリンタの処理負荷を超える場合、前記他のプリンタであって処理負荷に余裕のあるプリンタへ印刷データを送信することを特徴とする。
【００３０】
第１発明では、プリンタが備えている論理プリンタの稼働状況を示すプリンタ稼働状況テーブルを参照して、データ送信装置から送信された印刷データが指定している論理プリンタが印刷中である場合、指定している論理プリンタ以外の論理プリンタに対する印刷依頼に自動的に切り替えを行うので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする。
【００３１】
第２発明では、切り替えた論理プリンタが当初指定した論理プリンタとプロトコルが異なる場合は、プロトコル変換処理も自動的に行うので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする。
【００３２】
第３発明では、データ処理装置が備えている論理プリンタの稼働状況を示すプリンタ稼働状況テーブルを参照して、データ送信装置から送信された印刷データが指定している論理プリンタが印刷中である場合、指定している論理プリンタ以外の論理プリンタに対する印刷依頼に自動的に切り替えを行うので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする。
【００３３】
第４発明、第６発明、第８発明、第１４発明、第１６発明、及び第１８発明では、切り替えたプリンタが当初指定したプリンタとプロトコルが異なる場合は、プロトコル変換処理も自動的に行うので、印刷待ちによる無駄な時間の削減、又はプロトコル変換処理の省略をする。
【００３４】
第５発明では、データ送信装置が備えているプリンタの稼働状況を示すプリンタ稼働状況テーブルを参照して、送信した印刷データが指定しているプリンタが印刷中である場合、指定しているプリンタ以外のプリンタに対する印刷依頼に自動的に切り替えを行うので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする。
【００３５】
第７発明では、印刷制御装置が備えているプリンタの稼働状況を示すプリンタ稼働状況テーブルを参照して、データ送信装置から送信された印刷データが指定しているプリンタが印刷中である場合、指定しているプリンタ以外のプリンタに対する印刷依頼に自動的に切り替えを行うので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする。
【００３６】
さらに第７発明では、データ転送速度が低速であるプリンタへの接続線を介する印刷データの送信、又はプリンタの処理速度を超える印刷データの送信のためにデータ転送速度が高速であるＬＡＮ回線を占有することがないので、全体のスループットの低下を防止する。
【００３７】
第９発明、第１０発明、第１１発明、及び第１２発明では、プリンタの稼働状況を示すプリンタ稼働状況テーブルを参照して、送信された印刷データが指定しているプリンタが印刷中である場合、指定しているプリンタ以外のプリンタに対する印刷依頼に自動的に切り替えを行うので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする。
【００３８】
第１３発明では、コンピュータに設定されたプリンタの稼働状況を示すプリンタ稼働状況テーブルを参照して、データ送信装置から送信された印刷データが指定しているプリンタが印刷中である場合、指定しているプリンタ以外のプリンタに対する印刷依頼に自動的に切り替えを行うので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする。
【００３９】
第１５発明では、コンピュータに設定されたプリンタの稼働状況を示すプリンタ稼働状況テーブルを参照して、送信した印刷データが指定しているプリンタが印刷中である場合、指定しているプリンタ以外のプリンタに対する印刷依頼に自動的に切り替えを行うので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする。
【００４０】
第１７発明では、プリンタの稼働状況を示すプリンタ稼働状況テーブルを参照して、印刷依頼すべきプリンタが稼働中である場合、他のプリンタに対する印刷依頼に自動的に切り替えを行うので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をする。
【００４１】
【発明の実施の形態】
実施の形態１．
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
図１は本発明の実施の形態１におけるプリンタを備えたネットワークの構成を示すブロック図である。図中１は仮想システムプリンタとして用いられるプリンタであり、プリンタ１には夫々異なるエミュレーションを備えさせることができる仮想的な４個の論理プリンタ１Ａ〜１Ｄが設定されており、ＬＡＮ等のネットワーク４に接続されている。ネットワーク４には、プリンタ１に印刷データを送信するデータ処理装置であるサーバコンピュータ（以下サーバという）２、及び印刷データを作成してサーバ２へ送信するデータ送信装置であるクライアントコンピュータ（以下クライアントという）３，３，…が接続されており、サーバ２及びクライアント３，３，…は、ネットワーク４を介してデータを送受信する通信インターフェース及び処理状況を表示するモニタを備えている。
【００４２】
図２はプリンタ１に設定された仮想プリンタを示す概念図であり、図３はプリンタ１の構成を示すブロック図である。プリンタ１は夫々異なるサイズの用紙の給紙口である複数の物理ホッパ１０１、印刷された用紙の排出口である１又は複数の物理スタッカ１０２、及び物理操作パネル１０３を実在する印刷用部材として備えている。
【００４３】
さらにプリンタ１はＣＰＵ１１１を備え、ＣＰＵ１１１は仮想システムプリンタを実現するために各種のプログラムを記録しているＲＯＭ１１２からプログラムを読み取り、プログラムの実行時に発生する各種データを記憶するＲＡＭ１１３上に、論理プリンタ１Ａ〜１Ｄを設定する。
【００４４】
これらの論理プリンタ１Ａ〜１Ｄは夫々独立して処理を行い、実在する印刷用部材に対応した仮想的な印刷用部材を設定されている。サーバ２及びクライアント３，３，…は論理プリンタ１Ａ〜１Ｄを夫々独立した４台のプリンタとして認識しており、印刷依頼をする論理プリンタ１Ａ〜１Ｄのいずれかへ印刷キューを送信する。印刷キューを受信した論理プリンタでは、印刷キュー内容に基づき仮想的な印刷用部材に対して処理を指示し、対応する実在の印刷用部材が他の論理プリンタに関する処理を行っていないタイミングで、仮想的な印刷用部材から実在の印刷用部材に指示を伝えて実際の印刷に関する処理を実行する。
【００４５】
またプリンタ１はサーバ２とのデータの送受信及び各種のデータ処理を行う通信処理部１０４を有し、通信処理部１０４は論理プリンタ１Ａ〜１Ｄとデータの授受を行う。各論理プリンタ１Ａ〜１Ｄの稼働状況は、ＲＡＭ１１３上に設定されるプリンタ稼働状況テーブル１０５に記憶され、プリンタ稼働状況テーブル１０５は、論理プリンタ１Ａ〜１Ｄの稼働状況が変化する都度、記憶内容が更新される。
【００４６】
各論理プリンタ１Ａ〜１Ｄは、データを生成するクライアント３，３，…の仕様に対応したエミュレーションを有するエミュレーション処理部１０６，１０６…を夫々備え、各エミュレーション処理部１０６，１０６…は、通信処理部１０４とデータの授受を行う当該論理プリンタ上の仮想インタフェース１０７から印刷キューを受け取り、送信元であるクライアント３の仕様の命令体系で記述されている印刷キューの情報を解読して印刷用紙の選択、印字、及び排出口の選択等の印刷動作を仮想的な印刷用部材に指示する。
【００４７】
ここでは論理プリンタ１Ａ、論理プリンタ１Ｂ、及び論理プリンタ１ＣがＦＭエミュレーションとして設定され、論理プリンタ１ＤがＥＳＣ／Ｐエミュレーションとして設定されており、夫々の仕様の命令体系で記述された印刷キューを解読できるものとする。
【００４８】
エミュレーション処理部１０６は当該論理プリンタの仮想的な印刷用部材である論理ホッパ１０８に印刷キューの情報に基づくサイズの用紙を給紙するように指示し、論理ホッパ１０８は指定のサイズの用紙を給紙できるタイミングで物理ホッパ１０１へ給紙する動作をするように指示を伝える。
【００４９】
またエミュレーション処理部１０６は当該論理プリンタの仮想的な印刷用部材である論理スタッカ１０９に印刷キューの情報に基づいて印刷された用紙の排出口及び排出方法を指示し、論理スタッカ１０９は指定の排出口を使用できるタイミングで物理スタッカ１０２へ指定の排出方法により印刷された用紙を排出する動作をするように指示を伝える。
【００５０】
さらに利用者が物理操作パネル１０３を用いて印刷停止等の割り込み処理を入力した場合、割り込み処理の情報は物理操作パネル１０３から当該論理プリンタの仮想的な印刷用部材である仮想操作パネル１１０へ渡され、仮想操作パネル１１０はエミュレーション処理部１０６へ割り込み処理の情報を伝える。
【００５１】
図４は印刷キューとして扱われる印刷仕様情報を示す概念図である。クライアント３にて作成した印刷データをサーバ２へ送信し、サーバ２にて印刷データを基に印刷する頁毎に依頼元クライアント、次印刷仕様情報、ページカウント、片面／両面印刷情報、用紙サイズ情報、指定給紙ホッパ、指定排紙スタッカ、及び印刷データ内容等の印刷仕様情報を含む印刷キューをサーバ２のメモリ上の領域に作成する。
【００５２】
そして、プリンタ１において、サーバ２から使用する論理プリンタを指定して印刷依頼を受けた場合に、指定された論理プリンタがサーバ２から送信される印刷キューを受信できる経路を設け、経路を介して受信した印刷キューの印刷仕様情報に基づいて指定された論理プリンタにて各種の処理をすることによりプリンタ１による印刷が行われる。
【００５３】
なお、指定された論理プリンタが“処理中”である場合にはプリンタ稼働状況テーブルを参照して、印刷処理可能な論理プリンタを選択し、当初指定された論理プリンタへの経路を閉ざし、選択した論理プリンタへの経路を設けるために論理プリンタの稼働状況をサーバ２へ通知する。
【００５４】
このようにプリンタ１に複数の論理プリンタ１Ａ〜１Ｄを設定し、１台のプリンタ内で複数の論理プリンタ１Ａ〜１Ｄを稼働させることにより複数のクライアント３，３，…の異なるエミュレーションに対応できるマルチエミュレーションを実現している。
【００５５】
また、夫々の論理プリンタ１Ａ〜１Ｄが備えるエミュレーション処理部１０６，１０６，…は、仮想的な印刷用部材に対する情報の授受を、実在する印刷用部材に対する情報の授受と同様に行うので、新たなエミュレーションを備えさせる場合にも、該当するエミュレーションのプログラムを移植する作業を容易に行える。
【００５６】
次に本発明のプリンタに印刷依頼を行った場合の処理手順を説明する。
図５、図６、及び図７は実施の形態１におけるサーバ、クライアント、及びプリンタのデータ処理を示すフローチャートである。クライアント３では論理プリンタ１Ａで印刷すべくＦＭエミュレーションにて印刷データを作成し（Ｓ１０１）、サーバ２へ送信する（Ｓ１０２）。サーバ２では印刷データを受信し（Ｓ１０３）、印刷データを基に印刷キューを作成して（Ｓ１０４）、印刷依頼としてプリンタ１の論理プリンタ１Ａへ経路を設けるように要求する（Ｓ１０５）。
【００５７】
印刷を依頼されたプリンタ１では、プリンタ稼働状況テーブル１０５を参照して（Ｓ１０６）、論理プリンタ１Ａの稼働状況を判別し（Ｓ１０７）、論理プリンタ１Ａが“空き”である場合、サーバ２へ印刷可能通知を送信し、印刷を開始する。
【００５８】
図２に示すように論理プリンタ１Ａが“処理中”で、論理プリンタ１Ｂ〜１Ｄが“空き”である場合、プリンタ１では、論理プリンタ１Ａと同一仕様のＦＭエミュレーションである論理プリンタ１Ｂを印刷可能な論理プリンタとして選択して（Ｓ１０８）、論理プリンタ１Ｂへの経路に変更するために、これらの稼働状況をサーバ２へ通知する（Ｓ１０９）。
【００５９】
サーバ２ではプリンタ１からの通知に基づいて、論理プリンタ１Ａに対して経路を閉ざすように要求し（Ｓ１１０）、論理プリンタ１Ａでは経路を閉ざした後、サーバ２へ通知し（Ｓ１１１）、サーバ２では論理プリンタ１Ｂへ経路を設けるように要求する（Ｓ１１２）。
【００６０】
プリンタ１では、論理プリンタ１Ｂが“空き”であることを確認し、サーバ２及びクライアント３へ、論理プリンタ１Ａから変更した論理プリンタ１Ｂが印刷可能であることを通知し（Ｓ１１３）、プリンタ稼働状況テーブル１０５における論理プリンタ１Ｂの稼働状況が“処理中”となるように更新する。
【００６１】
図８は変更メッセージ通知データ形式を示す概念図であり、図９はプリンタ変更通知を示す説明図である。図８に示すように依頼元クライアント、プリンタ装置名、論理プリンタ番号、及びスタッカ番号等の論理プリンタ変更情報がサーバ２及びクライアント３へ送信され、図９に示すようにサーバ２及び／又はクライアント３のモニタに論理プリンタの変更、プリンタ装置名称、論理プリンタ番号、及び排紙スタッカ番号等の情報が表示されるので（Ｓ１１４）、利用者は論理プリンタの変更及びその内容を認識することが可能であり、印刷物が迷子になることを防止できる。
【００６２】
そしてサーバ２からプリンタ１の論理プリンタ１Ｂへ印刷キューを送信する（Ｓ１１５）。論理プリンタ１Ｂでは印刷キューを受信し（Ｓ１１６）、論理プリンタ１Ｂを利用して印刷を行い（Ｓ１１７）、印刷終了後、論理プリンタ１Ｂからサーバ２へ印刷終了を通知する（Ｓ１１８）。
【００６３】
なお、この段階で受信した印刷キューは本来論理プリンタ１Ａにより印刷することを前提とした印刷データから作成されているので、論理プリンタ１Ａと論理プリンタ１Ｂとが同一エミュレーションであっても、通信設定であるプロトコルが異なる場合がある。そのためプリンタ１において印刷キューを受信した後、論理プリンタ１Ａ及び１Ｂのプロトコルを判別し、プロトコル変換処理が必要な場合（Ｓ１１９）、プロトコルの変換処理を行う（Ｓ１２０）。
【００６４】
サーバ２では論理プリンタ１Ｂに対して経路を閉ざすように要求する（Ｓ１２１）。プリンタ１では、論理プリンタ１Ｂの経路を閉ざした後、プリンタ稼働状況テーブル１０５における論理プリンタ１Ｂの稼働状況が“空き”となるように更新し、処理が完了したことをサーバ２を介してクライアント３へ通知する（Ｓ１２２）。そしてサーバ２及びクライアント３においても完了処理を行う（Ｓ１２３）。
【００６５】
図１０及び図１１は論理プリンタの印刷キュー処理を示す概念図である。印刷依頼時に同一エミュレーションの論理プリンタが全て“処理中”である場合、図８に示すように、“処理中”又は“印刷待ち中”である印刷キューの最後にキューイングすることより印刷待ち状態にする。このときキューイングする論理プリンタは、印刷依頼した時点で最も印刷待ち状態の印刷キューが少ない論理プリンタを選択するように処理される。
【００６６】
また、同一エミュレーションの論理プリンタが全て“処理中”である場合の処理は、図９に示すように、同一エミュレーションの印刷依頼キューを、まとめて“印刷待ち中”としておき、該当するエミュレーションの論理プリンタが“空き”状態になった時点で、“空き”状態の論理プリンタに印刷依頼するようにしても良い。
【００６７】
このように本発明は、プリンタ１内に論理プリンタの稼働状況を示すプリンタ稼働状況テーブル１０５を有し、プリンタ稼働状況テーブル１０５を参照して印刷制御を行うようにした構成である。
【００６８】
実施の形態２．
実施の形態２は、データ処理装置であるサーバにて実施の形態１における印刷制御を行うことにより、実施の形態１の印刷制御を行えないプリンタに対しても本発明の印刷制御方法を実施することができ、さらに１台のプリンタ内の論理プリンタを選択するだけでなく、ネットワーク上に接続された他のプリンタに対しても印刷を依頼できるようにした構成である。
【００６９】
図１２は本発明の実施の形態２におけるサーバを備えたネットワークの構成及びサーバの構成を示すブロック図である。図中２はサーバであり、サーバ２はネットワーク４に接続されている。ネットワーク４にはクライアント３，３，…、仮想システムプリンタとして用いられるプリンタ１、及び仮想システムプリンタではない物理プリンタ５が接続されている。
【００７０】
サーバ２は本発明のプログラム等の情報を記録したＣＤ−ＲＯＭ等の記録媒体２０１から本発明のプログラム等の情報を読み取るＣＤ−ＲＯＭドライブ等の外部記憶装置２０２を備え、外部記憶装置２０２により読み取った本発明のプログラム等の情報はハードディスク２０３に格納される。
【００７１】
そして本発明のプログラム等の情報をハードディスク２０３から読み取り、一時的に情報を記憶するＲＡＭ２０４に記憶させて、サーバ２が備えるＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）上で本発明のプログラムをＣＰＵ２０５により実行することで、本発明の印刷制御方法を実現する。さらにサーバ２はネットワーク４を介してデータを送受信する通信インターフェース２０６、及び本発明の稼働状況を表示するモニタ２０７を備えている。
【００７２】
なお本発明のプログラムは、記録媒体２０１から読み取る以外にも、外部のネットワーク回線を利用して外部のサーバコンピュータに接続し、外部のサーバコンピュータに内蔵された本発明のプログラムを記録している記録媒体からサーバ２へプログラムをダウンロードすることによりハードディスク２０３に格納することができる。
【００７３】
図１３は接続可能プリンタの一覧及び優先順位テーブルを示す概念図である。サーバ２は複数の論理プリンタ及び物理プリンタの印刷制御を行うために、これらのプリンタの情報を、図１３に示す接続可能プリンタの一覧及び優先順位テーブルを参照して管理する。
【００７４】
図１４及び図１５は実施の形態２におけるサーバ、クライアント、及びプリンタのデータ処理を示すフローチャートである。クライアント３では論理プリンタ１Ａで印刷すべくＦＭエミュレーションにて印刷データを作成し（Ｓ２０１）、サーバ２へ送信する（Ｓ２０２）。サーバ２では印刷データを受信し（Ｓ２０３）、サーバ２のＲＡＭ２０４上に設定されたプリンタ稼働状況テーブルを参照して（Ｓ２０４）、論理プリンタ１Ａの稼働状況を判別し（Ｓ２０５）、論理プリンタ１Ａが“空き”である場合、印刷データを基に印刷キューを作成の上、論理プリンタ１Ａへ経路を設けるように要求し、印刷キューを送信して印刷を開始する。
【００７５】
論理プリンタ１Ａの稼働状況を判別して、論理プリンタ１Ａが“処理中”で、論理プリンタ１Ｂ〜１Ｄ及び物理プリンタ５が“空き”である場合、サーバ２は“空き”であり、論理プリンタ１Ａと同一仕様のＦＭエミュレーションである論理プリンタ１Ｂを印刷可能な論理プリンタとして選択し（Ｓ２０６）、印刷データを基に印刷キューを作成する（Ｓ２０７）。このとき“空き”であり、ＦＭエミュレーションである論理プリンタ及び物理プリンタが複数である場合は優先順位テーブルに記された優先順位に従い選択する。
【００７６】
なおクライアント３から受信している印刷データは本来論理プリンタ１Ａにより印刷することを前提とした印刷データであるので、論理プリンタ１Ａと論理プリンタ１Ｂとが同一エミュレーションであっても、プロトコルが異なる場合がある。そのため、サーバ２において論理プリンタを選択後、論理プリンタ１Ａ及び論理プリンタ１Ｂのプロトコルを判別し、プロトコル変換処理が必要な場合（Ｓ２０８）、プロトコルの変換処理を行う（Ｓ２０９）。
【００７７】
そして、論理プリンタ１Ｂへ経路を設けるように要求し（Ｓ２１０）、プリンタ１では、論理プリンタ１Ｂが“空き”であることを確認し、サーバ２及びクライアント３へ、論理プリンタ１Ｂが印刷可能であることを通知して（Ｓ２１１）、サーバ２及び／又はクライアント３のモニタに論理プリンタの変更、プリンタ装置名称、論理プリンタ番号、及び排紙スタッカを表示する（Ｓ２１２）。このときサーバ２ではプリンタ稼働状況テーブル１０５における論理プリンタ１Ｂの稼働状況を“処理中”に更新する。
【００７８】
そしてサーバ２からプリンタ１の論理プリンタ１Ｂへ印刷キューを送信する（Ｓ２１３）。論理プリンタ１Ｂでは印刷キューを受信し（Ｓ２１４）、論理プリンタ１Ｂを利用して印刷を行い（Ｓ２１５）、印刷終了後、論理プリンタ１Ｂからサーバ２へ印刷終了を通知する（Ｓ２１６）。
【００７９】
サーバ２では論理プリンタ１Ｂに対して経路を閉ざすことを要求し（Ｓ２１７）、プリンタ１では論理プリンタ１Ｂの経路を閉ざした後（Ｓ２１８）、処理が完了したことをサーバ２を介してクライアント３へ通知し、サーバ２及びクライアント３において完了処理を行う（Ｓ２１９）。このときサーバ２ではプリンタ稼働状況テーブル１０５における論理プリンタ１Ｂの稼働状況を“空き”に更新する。
【００８０】
また、プリンタ１における使用できるエミュレーションの論理プリンタが全て“処理中”である場合に、印刷キューを物理プリンタ５へ送信することによりプリンタへの印刷負荷を分散させる負荷分散制御処理を行うことができる。
【００８１】
本発明における負荷分散制御処理を、図１６の負荷分散制御処理の例を示す説明図、並びに図１７の優先順位テーブル兼接続一覧、及び処理状態テーブルを示す概念図を用いて説明する。なお、図１６においては複数のクライアントを区別するためにクライアント３Ａ，３Ｂ，３Ｃ，…と記述する。
【００８２】
処理能力５０Ｋｂｙｔｅ／ｓであるプリンタ１に対し、クライアント３Ａから論理プリンタ１Ａへ２０Ｋｂｙｔｅ／ｓ、そしてクライアント３Ｂから論理プリンタ１Ｂへ２５Ｋｂｙｔｅ／ｓの処理負荷で夫々印刷依頼をしている場合で、さらにクライアント３Ｃから論理プリンタ１Ｃへ１５Ｋｂｙｔｅ／ｓの処理負荷で印刷依頼があったとき、クライアント３Ｃからの印刷キューを論理プリンタ１Ｃへ送信すると、プリンタ１に対する処理負荷の合計は、６０Ｋｂｙｔｅ／ｓとなりプリンタ１の処理能力５０Ｋｂｙｔｅ／ｓを超えるためプリンタ１の印刷速度が低下し、効率的な印刷ができなくなる。
【００８３】
サーバ２はＲＡＭ２０４上に設定された各プリンタの処理負荷を示す処理状態テーブルを用いて夫々のプリンタにおける処理負荷の合計を監視し、印刷依頼が処理負荷を超える場合は、論理プリンタ１Ｃと同一エミュレーションであるプリンタの中から処理負荷に余裕のあるプリンタを検索し、検索された物理プリンタ５へ印刷キューを送信し印刷処理を行う。
【００８４】
図８は変更メッセージ通知データ形式を示す概念図であり、図１８はプリンタ変更通知を示す説明図である。図８に示すように依頼元クライアント、プリンタ装置名、論理プリンタ番号、及びスタッカ番号等のプリンタ変更情報がサーバ２及びクライアント３Ｃへ送信され、図１８に示すようにサーバ２及び／又はクライアント３Ｃのモニタにプリンタ装置の変更、プリンタ装置名称、論理プリンタ番号、及び排紙スタッカ番号が表示される。
これにより利用者はプリンタの変更、及びその内容を認識することが可能であり、印刷物が迷子になることを防止する。
【００８５】
さらに、負荷分散制御処理の利用方法としては、印刷頁数が多い印刷データに対して、例えば前半の頁を論理プリンタ１Ａで印刷し、後半の頁を物理プリンタ５で印刷することにより、印刷負荷を分散して印刷時間の短縮及びシステム全体のスループットの向上を行うという方法も可能である。
また、印刷依頼が可能なプリンタ装置が全て処理能力を超える場合には、全体としてのスループットを優先し、一時的に印刷依頼を中断することも可能である。
【００８６】
ここではサーバが既に認識している２台のプリンタを使用する例を示したが、接続可能プリンタの一覧には、サーバ２に認識されていなくとも接続が可能であるプリンタを示しておくことにより、２台のプリンタの双方が“処理中”である場合に、接続可能である新たなプリンタに関するドライバの設定等の処理を、サーバ２が自動的に行うことにより、印刷依頼可能なプリンタであると認識させ、印刷依頼を行うことも可能である。
【００８７】
その他の要部構成及び動作は、上述の実施の形態１で説明した要部構成及び動作と同様であるので説明を省略する。
【００８８】
実施の形態３．
実施の形態３は、データ送信装置であるクライアントにて実施の形態２における印刷制御を行うようにした構成であり、サーバの処理負荷が大きい印刷システムに有効である。
【００８９】
図１９は本発明の実施の形態３におけるクライアントを備えたネットワークの構成及びクライアントの構成を示すブロック図である。図中３，３，…はクライアントであり、クライアント３，３…はネットワーク４に接続されている。ネットワーク４にはサーバ２、プリンタ１、及び物理プリンタ５が接続されている。
【００９０】
実施の形態３のクライアント３は実施の形態２におけるサーバ２とほぼ同様の構成であり、クライアント３，３，…は本発明のプログラム等の情報を記録したＣＤ−ＲＯＭ等の記録媒体３０１から本発明のプログラム等の情報を読み取る外部記憶装置３０２、ハードディスク３０３、ＲＡＭ３０４、ＣＰＵ３０５、通信インターフェース３０６、及びモニタ３０７を備えている。
【００９１】
図２０、図２１、及び図２２は実施の形態３におけるサーバ、クライアント、及びプリンタのデータ処理を示すフローチャートである。クライアント３では、論理プリンタ１Ａで印刷すべくＦＭエミュレーションにて印刷データを作成し（Ｓ３０１）、サーバ２へ送信する（Ｓ３０２）。サーバ２では印刷データを受信し（Ｓ３０３）、印刷データを元に印刷キューを作成して（Ｓ３０４）、印刷依頼としてプリンタ１の論理プリンタ１Ａへ経路を設けることを要求する（Ｓ３０５）。
【００９２】
印刷を依頼されたプリンタ１では、管理プリンタ稼働状況を判別し（Ｓ３０６）、これらの状況をサーバ２を介して、クライアント３へ通知する（Ｓ３０７）。
【００９３】
クライアント３では通知された稼働状況を基にクライアント３のＲＡＭ３０４上に設定されたプリンタ稼働状況テーブルの内容を更新する。更新されたプリンタ稼働状況テーブルを参照し、論理プリンタ１Ａが“空き”であった場合は、サーバへ印刷開始要求を行い、サーバから論理プリンタ１Ａへ印刷キューを送信し、印刷を開始する。通知された稼働状況において論理プリンタ１Ａが“処理中”で、あった場合は、サーバ２へ印刷キューの削除を要求し（Ｓ３０８）、サーバ２において印刷キューを削除して（Ｓ３０９）、サーバから論理プリンタ１Ａへ経路を閉ざすように要求する（Ｓ３１０）。
【００９４】
プリンタ１では論理プリンタ１Ａに対する印刷キューの削除が完了後（Ｓ３１１）、サーバ２を介してクライアント３へ印刷キューの削除完了を通知する（Ｓ３１２）。
【００９５】
クライアント３ではプリンタ稼働状況テーブルを参照し（Ｓ３１３）、論理プリンタ１Ａが依然“処理中”であり、論理プリンタ１Ｂ〜１Ｄが“空き”であると判別した場合（Ｓ３１４）、論理プリンタ１Ａと同一仕様のＦＭエミュレーションである論理プリンタ１Ｂを印刷可能な論理プリンタとして選択する（Ｓ３１５）。
【００９６】
なお、この段階で受信した印刷キューは本来論理プリンタ１Ａにより印刷することを前提とした印刷データから作成されているので、論理プリンタ１Ａと論理プリンタ１Ｂとが同一エミュレーションであっても、通信設定であるプロトコルが異なる場合がある。そのためクライアント３において論理プリンタ１Ａ及び論理プリンタ１Ｂのプロトコルを判別し、プロトコル変換処理が必要な場合（Ｓ３１６）、プロトコル変換処理を行う（Ｓ３１７）。
【００９７】
そして、クライアント３から印刷データをサーバ２へ送信する（Ｓ３１８）。サーバ２では印刷データを受信し（Ｓ３１９）、印刷データを元に印刷キューを作成して（Ｓ３２０）、プリンタ１の論理プリンタ１Ｂへ経路を設けることを要求する（Ｓ３２１）。
【００９８】
プリンタ１では、論理プリンタ１Ｂが“空き”であることを確認し、サーバ２及びクライアント３へ印刷可能であることを通知して（Ｓ３２２）、サーバ２及び／又はクライアント３のモニタに論理プリンタの変更、プリンタ装置名称、論理プリンタ番号、及び排紙スタッカを表示する（Ｓ３２３）。このときクライアント３ではプリンタ稼働状況テーブルにおける論理プリンタ１Ｂの稼働状況を“処理中”に更新する。
【００９９】
そしてサーバ２からプリンタ１の論理プリンタ１Ｂへ印刷キューを送信する（Ｓ３２４）。論理プリンタ１Ｂでは印刷キューを受信し（Ｓ３２５）、論理プリンタ１Ｂを利用して印刷を行い（Ｓ３２６）、印刷終了後、論理プリンタ１Ｂからサーバ２へ印刷終了を通知する（Ｓ３２７）。
【０１００】
サーバ２では論理プリンタ１Ｂに対して経路を閉ざすように要求し（Ｓ３２８）、プリンタ１では論理プリンタ１Ｂの経路を閉ざした後（Ｓ３２９）、処理が完了したことをサーバ２を介してクライアント３へ通知し、サーバ２及びクライアント３において完了処理を行う（Ｓ３３０）。このときクライアント３ではプリンタ稼働状況テーブル１０５における論理プリンタ１Ｂの稼働状況を“空き”に更新する。
【０１０１】
その他の要部構成及び動作は、上述の実施の形態２で説明した要部構成及び動作と同様であるので説明を省略する。
【０１０２】
実施の形態４．
実施の形態４は、印刷制御装置にて実施の形態２における印刷制御を行うことにより、従来の印刷システムに印刷制御装置を追加するだけで、本発明の印刷制御方法を実施することができるようにした構成である。
【０１０３】
図２３は本発明の実施の形態４における印刷制御装置を備えたネットワークの構成及び印刷制御装置の構成を示すブロック図である。図中６は印刷制御機能を有する印刷制御装置であり、印刷制御装置６はネットワーク４に接続されている。ネットワーク４にはクライアント３，３，…、及びサーバ２，２，…が接続されている。さらに印刷制御装置６にはプリンタ１及び物理プリンタ５が接続されている。
【０１０４】
印刷制御装置６はＣＰＵ６０１を備え、ＣＰＵ６０１は本発明の印刷制御方法を実現するために各種のプログラムを記録しているＲＯＭ６０３からプログラムを読み取り、プログラムの実行時に発生する各種データを記憶するＲＡＭ６０２上に、稼働状況テーブルを設定する。
【０１０５】
さらに印刷制御装置６はネットワーク４を介してサーバ２，２，…とデータの送受信を行う第１通信インターフェース６０４、並びにプリンタ１及び物理プリンタ５とデータの送受信を行う第２通信インターフェース６０５を備えている。
【０１０６】
このように実施の形態４は印刷制御機能を独立した装置としてネットワーク４に接続しているため複数のサーバ２，２…からの印刷依頼を処理することが可能である。
【０１０７】
図２４は実施の形態４におけるサーバ、クライアント、印刷制御装置、及びプリンタのデータ処理を示すフローチャートである。クライアント３では論理プリンタ１Ａで印刷すべくＦＭエミュレーションにて印刷データを作成し（Ｓ４０１）、サーバ２へ送信する（Ｓ４０２）。サーバ２では印刷データを受信し（Ｓ４０３）、印刷データを基に印刷キューを作成して（Ｓ４０４）、印刷制御装置６へ印刷キューを送信する（Ｓ４０５）。
【０１０８】
印刷制御装置６では印刷キューを受信し（Ｓ４０６）、印刷制御装置６が備えるＲＡＭ上に設定されたプリンタ稼働状況テーブルを参照して（Ｓ４０７）、論理プリンタ１Ａの稼働状況を判別し（Ｓ４０８）、論理プリンタ１Ａが“空き”である場合、論理プリンタ１Ａへ経路を設け、印刷キューを送信して印刷を開始する。
【０１０９】
論理プリンタ１Ａの稼働状況を判別して、論理プリンタ１Ａが“処理中”で、論理プリンタ１Ｂ〜１Ｄ及び物理プリンタ５が“空き”である場合、印刷制御装置６は“空き”であり、論理プリンタ１Ａと同一仕様のＦＭエミュレーションである論理プリンタ１Ｂを印刷可能な論理プリンタとして選択する（Ｓ４０９）。
【０１１０】
ただし、クライアント３で作成された印刷データは本来論理プリンタ１Ａにより印刷することを前提として印刷データであるので、論理プリンタ１Ａと論理プリンタ１Ｂとが同一エミュレーションであっても、プロトコルが異なる場合がある。そのため、印刷制御装置６において論理プリンタを選択後、論理プリンタ１Ａ及び１Ｂのプロトコルを判別し、プロトコル変換が処理が必要な場合（Ｓ４１０）、プロトコルの変換処理を行う（Ｓ４１１）。
【０１１１】
そして、印刷制御装置６から論理プリンタ１Ｂへ経路を設けるように要求する（Ｓ４１２）。プリンタ１では、論理プリンタ１Ｂが“空き”であることを確認し、論理プリンタ１Ｂが印刷可能であることを印刷制御装置６へ通知する（Ｓ４１３）。印刷制御装置６では、サーバ２及びクライアント３へ論理プリンタ１Ｂが印刷可能であることを通知し（Ｓ４１４）、プリンタ稼働状況テーブルにおけるプリンタ２の稼働状況を“処理中”に更新する。サーバ２及び／又ではクライアント３のモニタに論理プリンタの変更、プリンタ装置名称、論理プリンタ番号、及び排紙スタッカを表示する（Ｓ４１５）。
【０１１２】
そして印刷制御装置６からプリンタ１の論理プリンタ１Ｂへ印刷キューを送信する（Ｓ４１６）。論理プリンタ１Ｂでは印刷キューを受信し（Ｓ４１７）、論理プリンタ１Ｂを利用して印刷を行い（Ｓ４１８）、印刷終了後、論理プリンタ１Ｂから印刷制御装置６へ印刷終了を通知する（Ｓ４１９）。
【０１１３】
印刷制御装置６では論理プリンタ１Ｂに対して経路を閉ざすように要求し（Ｓ４２０）、プリンタ１では論理プリンタ１Ｂの経路を閉ざした後（Ｓ４２１）、処理が完了したことを印刷制御装置６へ通知する。
【０１１４】
印刷制御装置６ではプリンタ稼働状況テーブルにおける論理プリンタ１Ｂの稼働状況を“空き”に更新して、印刷処理が完了したことをサーバ２及びクライアント３へ通知し（Ｓ４２２）、サーバ２及びクライアント３において完了処理を行う（Ｓ４２３）。
【０１１５】
さらに実施の形態４は、実施の形態２と同様に、プリンタ１及び物理プリンタ５の双方へ印刷負荷を分散させる負荷分散制御処理を行うことが可能である。
【０１１６】
実施の形態４における負荷分散制御処理を、図２６の負荷分散制御処理の例を示す説明図を用いて説明する。なお、図２６においては複数のクライアント及びサーバを区別するためにクライアント３Ａ，３Ｂ，３Ｃ，…及びサーバ２Ａ，２Ｂ，…と記述する。
【０１１７】
処理能力５０Ｋｂｙｔｅ／ｓであるプリンタ１へクライアント３Ａからサーバ２Ａを介して論理プリンタ１Ａへ２０Ｋｂｙｔｅ／ｓ、そしてクライアント３Ｂからサーバ２Ａを介して論理プリンタ１Ｂへ２５Ｋｂｙｔｅ／ｓの処理負荷で夫々印刷依頼をしている場合で、さらにクライアント３Ｃからサーバ２Ｂを介して論理プリンタ１Ｃへ１５Ｋｂｙｔｅ／ｓの処理負荷で印刷依頼があったとき、プリンタ１の処理負荷が処理能力を超えないようにするために、論理プリンタ１Ｃと同一エミュレーションであり印刷依頼をすることが可能な物理プリンタ５へ印刷キューを送信し印刷処理を行う。
【０１１８】
その他の要部構成及び動作は、上述の実施の形態２で説明した要部構成及び動作と同様であるので説明を省略する。
【０１１９】
【発明の効果】
以上詳述した如く本発明では、データ送信装置にて作成した印刷依頼を、印刷させる論理プリンタを指定して送信し、指定した論理プリンタが印刷中である場合、指定した論理プリンタ以外の論理プリンタに対する印刷依頼に自動的に切り替えを行う。
【０１２０】
さらに、指定された論理プリンタを備えるプリンタへ印刷依頼を行うことにより、プリンタの処理能力を超える場合は、指定された論理プリンタを備えるプリンタ以外で印刷依頼が可能なプリンタを検索し、該当したプリンタに対する印刷依頼に自動的に切り替えを行う。
【０１２１】
これにより、印刷依頼を指定した論理プリンタが印刷中であっても、自動的に空いている論理プリンタに対する印刷依頼に切り替えるので、印刷待ちによる無駄な時間の削減、又は再度印刷依頼を行う作業の省略をすることができる。
【０１２２】
さらに、１台のプリンタに対して印刷依頼が集中することを防止できるので、プリンタの印刷速度及び全体のスループットの低下を防止できる等、優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態１におけるプリンタを備えたネットワークの構成を示すブロック図である。
【図２】本発明の実施の形態１におけるプリンタに設定された仮想プリンタを示す概念図である。
【図３】本発明の実施の形態１におけるプリンタの構成を示すブロック図である。
【図４】本発明の印刷キューとして扱われる印刷仕様情報を示す概念図である。
【図５】本発明の実施の形態１におけるサーバコンピュータ、クライアントコンピュータ、及びプリンタのデータ処理を示すフローチャートである。
【図６】本発明の実施の形態１におけるサーバコンピュータ、クライアントコンピュータ、及びプリンタのデータ処理を示すフローチャートである。
【図７】本発明の実施の形態１におけるサーバコンピュータ、クライアントコンピュータ、及びプリンタのデータ処理を示すフローチャートである。
【図８】本発明の変更メッセージ通知データ形式を示す概念図である。
【図９】本発明のプリンタ変更通知を示す説明図である。
【図１０】本発明の論理プリンタの印刷キュー処理を示す概念図である。
【図１１】本発明の論理プリンタの印刷キュー処理を示す概念図である。
【図１２】本発明の実施の形態２におけるサーバコンピュータを備えたネットワークの構成及びサーバコンピュータの構成を示すブロック図である。
【図１３】本発明の接続可能プリンタの一覧及び優先順位テーブルを示す概念図である。
【図１４】本発明の実施の形態２におけるサーバコンピュータ、クライアントコンピュータ、及びプリンタのデータ処理を示すフローチャートである。
【図１５】本発明の実施の形態２におけるサーバコンピュータ、クライアントコンピュータ、及びプリンタのデータ処理を示すフローチャートである。
【図１６】本発明の実施の形態２における負荷分散制御処理の例を示す説明図である。
【図１７】本発明の優先順位テーブル兼接続一覧、及び処理状態テーブルを示す概念図である。
【図１８】本発明の実施の形態２におけるプリンタ変更通知を示す説明図である。
【図１９】本発明の実施の形態３におけるクライアントコンピュータを備えたネットワークの構成及びクライアントコンピュータの構成を示すブロック図である。
【図２０】本発明の実施の形態３におけるサーバコンピュータ、クライアントコンピュータ、及びプリンタのデータ処理を示すフローチャートである。
【図２１】本発明の実施の形態３におけるサーバコンピュータ、クライアントコンピュータ、及びプリンタのデータ処理を示すフローチャートである。
【図２２】本発明の実施の形態３におけるサーバコンピュータ、クライアントコンピュータ、及びプリンタのデータ処理を示すフローチャートである。
【図２３】本発明の実施の形態４における印刷制御装置を備えたネットワークの構成及び印刷制御装置の構成を示すブロック図である。
【図２４】本発明の実施の形態４におけるサーバコンピュータ、クライアントコンピュータ、印刷制御装置、及びプリンタのデータ処理を示すフローチャートである。
【図２５】本発明の実施の形態４におけるサーバコンピュータ、クライアントコンピュータ、印刷制御装置、及びプリンタのデータ処理を示すフローチャートである。
【図２６】本発明の実施の形態４における負荷分散制御処理の例を示す説明図である。
【符号の説明】
１  プリンタ
１Ａ，１Ｂ，１Ｃ，１Ｄ  論理プリンタ
２，２Ａ，２Ｂ  サーバコンピュータ
３，３Ａ，３Ｂ，３Ｃ  クライアントコンピュータ
４  ネットワーク
５  物理プリンタ
６  印刷制御装置
【図１】
0003582696.tif 000002
【図２】
0003582696.tif 000003
【図３】
0003582696.tif 000004
【図４】
0003582696.tif 000005
【図５】
0003582696.tif 000006
【図６】
0003582696.tif 000007
【図７】
0003582696.tif 000008
【図８】
0003582696.tif 000009
【図９】
0003582696.tif 000010
【図１０】
0003582696.tif 000011
【図１１】
0003582696.tif 000012
【図１２】
0003582696.tif 000013
【図１３】
0003582696.tif 000014
【図１４】
0003582696.tif 000015
【図１５】
0003582696.tif 000016
【図１６】
0003582696.tif 000017
【図１７】
0003582696.tif 000018
【図１８】
0003582696.tif 000019
【図１９】
0003582696.tif 000020
【図２０】
0003582696.tif 000021
【図２１】
0003582696.tif 000022
【図２２】
0003582696.tif 000023
【図２３】
0003582696.tif 000024
【図２４】
0003582696.tif 000025
【図２５】
0003582696.tif 000026
【図２６】
0003582696.tif 000027