(57)【要約】【課題】  ネットワークに接続されたホストベースプリンタは、多数のクライアントホストからいっせいに問い合わせを受けると、処理が鈍化したり、応答しなくなる問題があった。【解決手段】  プリンタ３００のビジー状態ならば、サーバ２００が、クライアントホスト１０００にポートをプリンタ３００からサーバ２００に変更するように要求を行う。【選択図】  図１０
2011243052.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された他の機器に対して要求を発行する少なくとも１つのクライアントホストと、前記クライアントホストから発行される要求に基づいて動作をする画像出力装置と、前記画像出力装置の状態を監視するサーバを接続するネットワークプリントシステムであって、
前記サーバは、
前記画像出力装置の状態を受信する受信手段と、
前記受信手段により受信された当該画像出力装置の状態に応じて、前記クライアントホストに対して、当該サーバにスプールさせるためのポート変更要求、または前記画像出力装置に出力させるためのポート変更解除要求を通知する通知手段を有し、
前記クライアントホストは、
前記サーバよりポート変更要求を受信した場合、ポートを前記画像出力装置から前記サーバへ変更し、前記サーバよりポート変更解除要求を受信した場合、ポートを前記サーバから前記画像出力装置へ変更するポート変更手段を有し、
前記画像出力装置は、
閾値を超える数のコネクションが接続された場合、ビジー状態を前記サーバに通知し、コネクションの数が閾値以下となった場合、ビジー解除を前記サーバに通知する通知手段を持つことを特徴とするネットワークプリントシステム。
【請求項２】
前記クライアントホストは、
前記ネットワークに接続された画像出力装置のデバイスドライバがインストールされると、前記サーバに、該クライアントホストの登録を要請する手段を有することを特徴とする請求項１に記載のネットワークプリントシステム。
【請求項３】
前記サーバは、
前記クライアントホストより登録の要請を受信する手段と、
登録の要請のあったクライアントを登録する手段を有することを特徴とする請求項１に記載のネットワークプリントシステム。
【請求項４】
前記サーバは、
前記クライアントホストに設定されるポートが当該サーバに変更されたときに、前記クライアントホストから出力されるプリントデータをスプールするスプール手段を有し、
前記画像出力装置よりビジー解除を受信したら、スプールされたプリントデータを出力する出力手段を有することを特徴とする請求項１に記載のネットワークプリントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された少なくとも１つのクライアントホストと、前記クライアントホストから発行される要求に基づいて動作をする少なくとも１つの画像出力装置を接続するネットワークプリントシステムに関するものである。
【背景技術】
【０００２】
近年、リッチになったＣＰＵや内部メモリを活かして、コンピュータ上でレンダリング・圧縮することでプリンタの負荷を減らし、低コストかつコンパクトを図ったホストベースのプリンタが普及してきている。
【０００３】
最近ではコンピュータの増加に伴い、ＬＡＮなどのネットワーク上にサーバを置き、そこにホストベースプリンタを接続して共有したり、ネットワーク上に直接ホストベースプリンタを設置するといった形態が普及している。つまり、複数のコンピュータ上のユーザが、ネットワークを介して接続されているホストベースプリンタ同時に利用して、画像情報のプリントを行うことが可能となってきた。
【０００４】
上記の両者の接続形態において、前者はいったん印刷データをサーバにスプールさせるステップが入る。ゆえにファーストプリントアウトタイムを考慮すると、ネットワーク上から直接ホストベースプリンタに印刷データを送信する後者のほうが高速なプリントを行えるといえる。つまり、可能な限り後者の形態をとるほうが望ましい。
【０００５】
しかしこのような形態では、多数のコンピュータが同時にホストベースプリンタに出力要求を行うことが考えられる。この場合、大きな容量のメモリを持たないホストベースプリンタでは一度に大量のジョブを処理できずプリント速度が低下したり、またホストベースプリンタそのものが応答しなくなる問題があった。
【０００６】
このような問題を解決させるため、例えば特許文献１では、コンピュータからプリンタの状態を問い合わせるコマンドをネットワークに対して発行してプリンタがレディ状態かどうかを把握することでコンピュータとプリンタの応答性を高めている。すなわちプリンタがレディ状態であればプリンタに対してプリントコマンドを発行する一方、そのプリンタがビジー状態であれば、ネットワークに接続されたサーバにコンピュータがプリントコマンドのジョブを登録する。この後、サーバは登録されたジョブ情報に基づき、プリンタに対してプリント命令を発行してプリントを行うといった形態である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−０１１３９３
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述のような構成においては、コンピュータが一度にしてもホストベースプリンタに問い合わせる状況は変わっていない。よって、多数のコンピュータがプリンタに同時に問い合わせを行った場合は、ホストベースプリンタが要求を処理しきれずに、応答しなくなる課題が依然として残ってしまう。
【課題を解決するための手段】
【０００９】
本発明のネットワークプリントシステムは、ネットワークに接続された他の機器に対して要求を発行する少なくとも１つのクライアントホストと、前記クライアントホストから発行される要求に基づいて動作をする画像出力装置と、前記画像出力装置の状態を監視するサーバを接続するネットワークプリントシステムであって、前記サーバは、前記画像出力装置の状態を受信する受信手段と、前記受信手段により受信された当該画像出力装置の状態に応じて、前記クライアントホストに対して、当該サーバにスプールさせるためのポート変更要求、または前記画像出力装置に出力させるためのポート変更解除要求を通知する通知手段を有し、前記クライアントホストは、前記サーバよりポート変更要求を受信した場合、ポートを前記画像出力装置から前記サーバへ変更し、前記サーバよりポート変更解除要求を受信した場合、ポートを前記サーバから前記画像出力装置へ変更するポート変更手段を有し、前記画像出力装置は、閾値を超える数のコネクションが接続された場合、ビジー状態を前記サーバに通知し、コネクションの数が閾値以下となった場合、ビジー解除を前記サーバに通知する通知手段を持つことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、コンピュータがホストベースプリンタへレディ状態を問い合わせることが不要となる。また、これによりネットワークのトラフィックを一層抑えることができる効果がある。
【図面の簡単な説明】
【００１１】
【図１】本発明におけるネットワークプリントシステムの構成例を示す図である。
【図２】プリンタ３００の構成を表すブロック図である。
【図３】クライアントホスト１０００の構成を示すブロック図である。
【図４】サーバ２００の構成を示すブロック図である。
【図５】クライアントホスト１０００の設定手順を示したフローチャートである。
【図６】クライアントホスト１０００の登録手順を示したフローチャートである。
【図７】サーバ２００の内部のリスト２１４を示した図である。
【図８】プリンタ３００の処理の流れを示したフローチャートである。
【図９】サーバ２００の処理の流れを示したフローチャートである。
【図１０】クライアントホスト１０００の処理の流れを示したフローチャートである。
【図１１】一連の処理シーケンスの一例をあらわした図である。
【発明を実施するための形態】
【００１２】
以下、本発明の発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
図１は、本発明の実施の形態に係るネットワークプリントシステムの構成例を示す図である。図１において、１０００，１００１はクライアントユーザのコンピュータ（以下、クライアントホストと呼ぶ）を示し、２００はＬＡＮ１に接続されているサーバである。３００は画像出力装置としてのホストベースプリンタ（以下、単にプリンタと呼ぶ）で、デジタル画像データに基づいて画像を印刷出力する。つまり本実施の形態では、プリンタ３００は、ＬＡＮ１に接続された他の機器との間で通信を行っている。尚、図１はあくまでも本実施の形態の構成例を示す図で、各機器の台数などは、これに限定されるものでない。尚、図１におけるクライアントホスト１０００，１００１は同じ構成である。
【００１４】
図２は、本実施の形態のプリンタ３００の構成を表すブロック図である。ネットワークコントローラ３０２はＬＡＮ１を介してサーバ２００とプリンタ３００との間でプロトコルを制御する。３０３はＲＡＭ３０４やＲＯＭ３０５に格納されているプログラムやデータを用いてプリンタ３００全体の制御を行うＣＰＵである。ＲＡＭ３０４は、ネットワークコントローラ３０２を介してクライアントホスト１０００，１００１やサーバ２００データを一時的に記憶するためのエリアを備えると共に、ＣＰＵ３０３が各種の処理を実行する際に用いるワークエリアを備える。ＲＯＭ３０５は、ＣＰＵ３０３にプリンタ３００全体を制御すると共に、各処理をＣＰＵ３０３に実行させるためのプログラムやデータ、また、プリンタ３００の設定データなどが格納されている。画像処理部３０６は、ＵＳＢコントローラ３０１やネットワークコントローラ３０２から送出されたデータに基づいた画像に対する画像処理を行う。エンジンＩ／Ｆ部３０７は、プリンタ３００による画像処理済みのデータを印字エンジン部に送出するための一連の処理を行う。３０８は上述の各部を繋ぐバスである。印字エンジン部３０９は、プリンタ３００から出力された画像処理済みのデータに基づいて、紙などの記憶媒体上に印字処理を行う。
【００１５】
図３は、ＬＡＮ１に接続されているクライアントホスト１０００の構成を示すブロック図である。クライアントホスト１０００は、ＬＡＮ１を介してサーバ２００とプリンタ３００との間でプロトコルを制御するためのネットワークコントローラ１０９を有している。１０１は、本実施の形態のクライアントホスト１０００全体を制御するためのＣＰＵで、ＲＡＭ１１２に記憶されたプログラムに従って各種制御動作を実行している。１１１はハードディスクで、画像データの一時登録、各種データを記憶するための外部記憶装置として使用されている。１１０はハードディスク１１１へのデータの書込み、及びハードディスク１１１よりのデータの読み出しを制御するハードディスク・コントローラである。１０６はキーボード／マウス・コントローラで、作業者からの指示入力手段であるマウス１０７、キーボード１０８のよりのデータ入力を制御している。１０３はＣＲＴや液晶等のディスプレイ１０５への表示を制御するディスプレイ・コントローラ、１０４はディスプレイ１０５に表示されるイメージデータを記憶するディスプレイメモリである。尚、ディスプレイ１０５は、レイアウト・編集・メニュー表示等を行うためのカラーディスプレイである。１０２は画像編集コントローラで、ディスプレイメモリ１０４における画像のレイアウト・編集を行う。ＲＯＭ１１４は、文字フォントやブートプログラムや各種データを記憶している。尚、ＲＡＭ１１２に記憶されているプログラムはハードディスク１１１或はフロッピィディスクよりダウンロードされたプログラムでも、或はネットワーク１を介してダウンロードしたプログラムでも良い。１１５は上述の各部を繋ぐバスである。
【００１６】
図４は、本実施の形態のサーバ２００の構成を示すブロック図である。このサーバ２００の構成を説明すると、サーバ２００全体を制御するためのＣＰＵ２０１、ＬＡＮ１を介してプリンタ３００、クライアントホスト１０００，１００１との間でのプロトコルを制御するためのネットワーク・コントローラ２０９を有している。後述する登録されたクライアントのリストを管理・制御するリスト管理コントローラ２１３、その情報を記憶しているリスト２１４を有している。また、レイアウト・編集・メニュー表示等を行うためのカラーディスプレイ２０５を備えている。そのディスプレイ２０５に表示されるイメージデータを記憶するディスプレイメモリ２０４及びディスプレイ２０５への画像表示を制御するディスプレイ・コントローラ２０３を備えている。更に、サーバ２００はサーバ管理者からの指示入力手段としてのマウス２０７、キーボード２０８と、それら入力機器を制御するためのキーボード・マウスコントローラ２０６を備えている。また、画像データの一時登録、各種データを記憶するためのハードディスク２１２を有している。そして、そのハードディスク２１２へのデータの書込み及びディスクからのデータの読み出しを制御するハードディスクコントローラ２１１を備えている。またサーバ２００は、ＣＰＵ２０１で実行される処理プログラムや各種データを記憶しているＲＡＭ２０２を備えている。ＲＯＭ２１５は、ＣＰＵ２０１により実行されるブートプログラムや文字フォントなどを記憶している。尚、このＲＡＭ２０２に記憶されて実行されるプログラムは、例えばハードディスク２１２或は図示しないフロッピィディスク等よりダウンロードされたプログラムであっても良い。２１６は上述の各部を繋ぐバスである。
【００１７】
図５は、以上の構成のネットワークプリントシステムにおいてクライアントホスト１０００が最初に行われるべき設定手順を示したフローチャートである。まずステップＳ１０１でプリンタ３００のデバイスドライバをクライアントホスト１０００にインストールする。そしてステップＳ１０２にてクライアントホスト１０００を登録するようにサーバ２００に要請を行う。以上のステップによりクライアントホスト１０００はプリンタ３００が使用可能となる。後述するポート変更要求を受信してポートが変更されない限り、クライアントホスト１０００はＬＡＮ１を通じてプリンタ３００へ直接プリントデータを送信し、プリンタ３００に出力させる。
【００１８】
図６は、クライアントホストからの要請を受けて、サーバ２００がクライアントホスト１０００を登録する手順を示したフローチャートである。まずステップＳ２０１にて、サーバ２００がクライアントホスト１０００からの登録要請の受信を待つ。登録要請を受信したならばクライアントホスト１０００をリスト２１４に登録する（ステップＳ２０２）。具体的には、サーバ２００内部のリスト管理コントローラがクライアントホスト１０００をリスト２１４へ登録する。
【００１９】
尚、図５、図６に示したフローチャートによる手続きはクライアントホスト１００１においても同様に行われる。
【００２０】
図７は、サーバ２００の内部のリスト２１４を示した図である。このリストには、登録要請のあったクライアントホストが記憶されている。
【００２１】
図８は本ネットワークプリントシステムにおけるプリンタ３００の処理の流れを示したフローチャートである。まずステップＳ３０１でプリンタ３００はＬＡＮ１を通じてコネクションを張っているクライアントホストの数を監視する。閾値を超える数のコネクションが張られたときはステップＳ３０２へ移行し、プリンタ３００に接続しているクライアントホストの情報と、ビジー状態であることをサーバ２００へ通知する。その後もコネクション数の監視を続け、コネクションの数が閾値以下になったかどうかを判断する（ステップＳ３０３）。コネクションの数が閾値以下になったならば、ステップＳ３０４に移行し、ビジー解除をサーバ２００へ通知する。
【００２２】
図９は本ネットワークプリントシステムにおけるサーバ２００の処理の流れを示したフローチャートである。まずステップＳ４０１にてサーバ２００は、プリンタ３００からビジー状態であることを受信したかどうかを判断する。受信したならば、同時に送信された、プリンタ３００に接続しているクライアントホストの情報を確認する。そしてリスト２１４に登録された内、接続クライアントホスト以外の各クライアントホストに、プリンタ３００からサーバ２００へポートを変更する要求を配信する（ステップＳ４０２）。その後サーバ２００はプリンタ３００からビジー解除が送信されるのを待ち（ステップＳ４０３）、ビジー解除を受信したならば、ステップＳ４０４に移行する。ステップＳ４０４にて、リスト２１４に登録された内、接続クライアントホスト以外の各クライアントホストに、ポート変更を解除するように要求を配信する。
【００２３】
図１０は本ネットワークプリントシステムにおけるクライアントホスト１０００の処理の流れを示したフローチャートである。まずステップＳ５０１にてクライアントホスト１０００は、サーバ２００へのポート変更要求を受信したかどうかを判断する。受信したならば、クライアントホスト内のデバイスドライバがプリンタ３００からサーバ２００へプリント出力ポートを変更させる（ステップＳ５０２）。その後クライアントホスト１０００は、サーバ２００からのポート変更解除要求を受信するのを待ち（ステップＳ５０３）、ポート変更解除を受信したならば、ステップＳ５０４に移行し、ポートを元に戻す。つまりプリント出力ポートをプリンタ３００に接続させる。
【００２４】
図１１は本ネットワークプリントシステムにおける一連の処理シーケンスの一例をあらわした図である。このシーケンスでは、クライアントホスト１０００がプリント要求を行い、それに従ってプリンタ３００がビジー状態となり、その間に別のクライアントホスト１００１からプリント要求が発生した時のシーケンスを表している。また、説明を簡便にするため、プリンタ３００のコネクションの閾値を１にしている。つまり、プリンタ３００にホストが１台でもコネクションが発生すれば、プリンタ３００はビジー情報を送信する。まず、クライアントホスト１０００からプリント要求（１）が発生すると、クライアントホスト１０００はプリンタ３００へプリントデータ（１）を送信する。プリンタ３００では、受信されたプリントデータ（１）に従ってプリント処理（１）を行うと共に、サーバ２００に対してビジー情報を送信する。ビジー情報を受けたサーバ２００は、他のクライアントホスト（この例では、クライアントホスト１００１）に対し、プリンタ３００からサーバ２００へプリント出力ポートを切り替えるように、ポート切換要求を送信する。切換要求を受信したクライアントホスト１００１は、プリント出力ポートをプリンタ３００からサーバ２００へと切り替える。その後クライアントホスト１００１にプリント要求（２）が発生すると、クライアントホスト１００１はポートが切り替わったことによりサーバ２００へプリントデータ（２）を送信する。サーバ２００では、受信されたプリントデータ（２）をスプールして、プリンタ２００がプリント処理（１）を終了するまで待つ。プリンタ２００はプリント処理（１）が終了すると、サーバ２００に対してビジー解除を送信する。ビジー解除を受信したサーバ２００は、スプールされたプリントデータ（２）をプリンタ３００へ送信する。プリントデータ（２）を受けたプリンタ３００は、プリント処理（２）を行い、終了したら、サーバ２００へプリント（２）終了を送信する。終了を受信したサーバ２００は、ポート切換要求を送信したクライアントホスト（この例ではクライアントホスト１００１）に対し、サーバ２００からプリンタ３００へプリント出力ポートを切り替えるように、ポート切換解除要求を送信する。解除要求を受信したクライアントホスト１００１は、プリント出力ポートを、サーバ２００から元のプリンタ３００へ切り替える。
【００２５】
以上説明したように、本実施の形態によれば、プリンタがレディ状態であればクライアントホストより直接、プリンタへプリントジョブが発行され、プリンタがビジー状態であれば、サーバへプリントジョブが発行されることになる。このとき、クライアントホストはサーバからのポート切換要求に従ってポートを切り替える。このため従来のように、クライアントがプリンタに対してレディ状態を問い合わせる必要がなく、多くの問い合わせによりプリンタが鈍化したり応答しなくなるといった事態を回避することができる。またこれによりネットワークのトラフィックをいっそう抑えることができる効果がある。
【００２６】
なお本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また、前述した実施形態の機能を実現するソフトウェアのプログラムコードは記憶媒体に収めることができる。そして本発明の目的は、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータまたはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００２７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【図１】
2011243052.tif 000003
【図２】
2011243052.tif 000004
【図３】
2011243052.tif 000005
【図４】
2011243052.tif 000006
【図５】
2011243052.tif 000007
【図６】
2011243052.tif 000008
【図７】
2011243052.tif 000009
【図８】
2011243052.tif 000010
【図９】
2011243052.tif 000011
【図１０】
2011243052.tif 000012
【図１１】
2011243052.tif 000013