(57)【特許請求の範囲】
【請求項１】
情報処理装置からのジョブ情報による依頼に基づき登録されたジョブの印刷順序を管理する印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置であって、
前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼手段と、
プリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持するようにする制御手段と、
前記登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示に基づき、印刷出力を行わせるべく前記第２スプール領域に保持された印刷データを出力するようにする出力制御手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記印刷制御装置において管理される順序変更通知依頼を前記印刷制御装置に依頼する順序変更通知依頼手段を有し、前記印刷制御装置は順序変更の通知を前記順序変更通知依頼手段により依頼を行った情報処理装置に行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
印刷制御装置と、前記印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置とからなる印刷システムであって、
前記印刷制御装置は、
前記情報処理装置からのジョブ情報によるジョブの登録の依頼に基づき登録したジョブの情報を前記情報処理装置に通知する通知手段と、
依頼されたジョブの印刷順序を管理する順序制御部の処理により印刷を行う順番になった情報処理装置に印刷データの送出が可能であることを示す指示を行う指示手段と、を有し、
前記情報処理装置は、
前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼手段と
プリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、前記指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持するようにする制御手段と、
印刷出力を行わせるべく、前記指示に基づき前記第２スプール領域に保持された印刷データを出力するようにする出力制御手段と、を有することを特徴とすることを特徴とする印刷システム。
【請求項４】
前記情報処理装置は、前記印刷制御装置において管理される順序変更通知依頼を前記印刷制御装置に依頼する順序変更通知依頼手段を有し、前記印刷制御装置は順序変更の通知を前記順序変更通知依頼手段により依頼を行った情報処理装置に行うことを特徴とする請求項３に記載の印刷システム。
【請求項５】
情報処理装置からのジョブ情報による依頼に基づき登録されたジョブの印刷順序を管理する印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置における印刷処理方法であって、
前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼ステップと、
プリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持させる制御ステップと、
前記登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示に基づき、前記第２スプール領域に保持された印刷データを印刷させるべく出力させる出力制御ステップと、を有することを特徴とする印刷処理方法。
【請求項６】
前記印刷制御装置において管理される順序変更通知依頼を前記印刷制御装置に依頼する順序変更通知依頼ステップを有し、前記印刷制御装置は順序変更の通知を前記順序変更通知依頼ステップにより依頼を行った情報処理装置に行うことを特徴とする請求項５に記載の印刷処理方法。
【請求項７】
印刷制御装置と、前記印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置とからなる印刷システムにおける印刷処理方法であって、
前記印刷制御装置における、
前記情報処理装置からのジョブ情報によるジョブの登録の依頼に基づき登録したジョブの情報を前記情報処理装置に通知する通知ステップと、
依頼されたジョブの印刷順序を管理する順序制御部の処理により印刷を行う順番になった情報処理装置に印刷データの送出が可能であることを示す指示を行う指示ステップと、を有し、
前記情報処理装置における、
前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼ステップと
プリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、前記指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持させる制御ステップと、を有することを特徴とする印刷処理方法。
【請求項８】
前記情報処理装置における、前記印刷制御装置において管理される順序変更通知依頼を前記印刷制御装置に依頼する順序変更通知依頼ステップを有し、前記印刷制御装置は順序変更の通知を前記順序変更通知依頼ステップにより依頼を行った情報処理装置に行うことを特徴とする請求項７に記載の印刷処理方法。
【請求項９】
情報処理装置からのジョブ情報による依頼に基づき登録されたジョブの印刷順序を管理する印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置において実行される印刷処理プログラムを記憶した記憶媒体であって、
前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼ステップと、
プリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持させる制御ステップと、
前記登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示に基づき、印刷出力を行わせるべく前記第２スプール領域に保持された印刷データを出力させる出力制御ステップと、を実現するための印刷処理プログラムをコンピュータ可読の形態で記憶した記憶媒体。
【請求項１０】
印刷制御装置と、前記印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置とからなる印刷システムにおいて実行される印刷処理プログラムを記憶した記憶媒体であって、
前記印刷制御装置における、
前記情報処理装置からのジョブ情報によるジョブの登録の依頼に基づき登録したジョブの情報を前記情報処理装置に通知する通知ステップと、
依頼されたジョブの印刷順序を管理する順序制御部の処理により印刷を行う順番になった情報処理装置に印刷データの送出が可能であることを示す指示を行う指示ステップと、を有し、
前記情報処理装置における、
前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼ステップと
プリンタドライバにより変換され前記オペレーティングシステムにおける第１スプーラにより第１スプール領域にスプールされた印刷データを、登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持させる制御ステップと、
印刷出力を行わせるべく、前記指示に基づき前記第２スプール領域に保持された印刷データを出力させる出力制御ステップと、を実現させるための印刷処理プログラムをコンピュータ可読の形態で記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワークに接続されたプリンタをネットワークに接続された複数台のクライアントで利用するシステムに関するものである。
【０００２】
【従来の技術】
昨今オフィスにおけるパーソナルコンピュータの普及はめざましく、またそれらを接続するネットワーク技術も発達してきている。プリンタの利用法も従来は１台のパソコンに１台のプリンタを接続して使用していたが、最近ではプリンタをネットワークに接続し、ネットワーク接続したパソコンで共有して使用するケースが増えている。
【０００３】
また、従来から、所定のオペレーティングシステム、例えばＷｉｎｄｏｗｓ（登録商標）におけるＷｉｎｄｏｗｓ（登録商標）プリンタスプーラにより印刷データをスプールする技術が知られていた。
【０００４】
また、従来の技術では、ネットワークプリンタに印刷データを送ると、クライアントは印刷データを失ってしまい、例えば、各ジョブの印刷終了まで確認することはできず、印刷データの転送後はプリンタが確実に排紙したのか、ホスト側パーソナルコンピュータで知る工程が限られていた。
【０００７】
【発明が解決しようとする課題】
本願発明は、情報処理装置からのジョブ情報による依頼に基づき登録されたジョブの印刷順序を管理する印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置に関連して、前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼手段と、プリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持するようにする制御手段と、前記登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示に基づき、印刷出力を行わせるべく前記第２スプール領域に保持された印刷データを出力するようにする出力制御手段とを有することを特徴とする仕組みを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記問題点を解決するための手段として、情報処理装置からのジョブ情報による依頼に基づき登録されたジョブの印刷順序を管理する印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置であって、
前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼手段と、プリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持するようにする制御手段と、前記登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示に基づき、印刷出力を行わせるべく前記第２スプール領域に保持された印刷データを出力するようにする出力制御手段と、を有することを特徴とする。
【０００９】
或いは、印刷制御装置と、前記印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置とからなる印刷システムであって、前記印刷制御装置は、前記情報処理装置からのジョブ情報によるジョブの登録の依頼に基づき登録したジョブの情報を前記情報処理装置に通知する通知手段と、依頼されたジョブの印刷順序を管理する順序制御部の処理により印刷を行う順番になった情報処理装置に印刷データの送出が可能であることを示す指示を行う指示手段と、を有し、前記情報処理装置は、前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼手段とプリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、前記指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持するようにする制御手段と、印刷出力を行わせるべく、前記指示に基づき前記第２スプール領域に保持された印刷データを出力するようにする出力制御手段と、を有することを特徴とすることを特徴とする印刷システム。
【００１０】
或いは、情報処理装置からのジョブ情報による依頼に基づき登録されたジョブの印刷順序を管理する印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置における印刷処理方法であって、前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼ステップと、プリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持させる制御ステップと、前記登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示に基づき、前記第２スプール領域に保持された印刷データを印刷させるべく出力させる出力制御ステップと、を有することを特徴とする印刷処理方法。
【００１１】
或いは、印刷制御装置と、前記印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置とからなる印刷システムにおける印刷処理方法であって、前記印刷制御装置における、前記情報処理装置からのジョブ情報によるジョブの登録の依頼に基づき登録したジョブの情報を前記情報処理装置に通知する通知ステップと、依頼されたジョブの印刷順序を管理する順序制御部の処理により印刷を行う順番になった情報処理装置に印刷データの送出が可能であることを示す指示を行う指示ステップと、を有し、前記情報処理装置における、前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼ステップとプリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、前記指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持させる制御ステップと、を有することを特徴とする印刷処理方法。
【００４７】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００４８】
図１は、本実施の仮想サーバを適用するネットワークシステムのシステム構成図である。
【００４９】
図１において、クライアントコンピュータは、ネットワーク１０６にｎ台接続されていることを仮定している。１０２、１０３、１０４はクライアントコンピュータであり、ネットワークケーブルによりネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタ言語をサポートするものとする。１０１はサーバであり、ネットワークケーブルによってネットワーク１０６接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。本実施例のサーバ１０１は、更に、クライアントコンピュータ１０２、１０３、１０４から印刷要求が出された印字データのジョブ情報を格納したり、ネットワークプリンタ１０５のＩＰ情報やバッファに受信したジョブの情報をクライアントコンピュータに通知したりする機能を備えている。１０５はネットワークプリンタであり、ネットワークインタフェースを介してネットワーク１０６と接続されており、クライアントコンピュータから送信される印字データを１ページずつドットイメージに変換して、１ページ毎に印刷する。１０６はネットワークであり、クライアントコンピュータ、サーバ、ネットワークプリンタ等と接続している。
【００５０】
このように、サーバ１０１、クライアントコンピュータ１０２、１０３、１０４、ネットワークプリンタ１０５により役割を分担することにより、クライアントコンピュータの有効利用、ネットワークの負担の軽減をする処理を行う。
【００５１】
図２は、クライアントコンピュータ１０２の概略構成を示すブロック図である。なお、クライアントコンピュータ１０３、１０４も同じ構成である。
【００５２】
ＣＰＵ２００は、ＨＤ（ハードディスク）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００５３】
ＲＯＭ２０１には、本実施例で説明するネットワークプリンタ制御プログラム、関連データ、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２はＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００５４】
２０３はＦＤ（フロッピーディスク）ドライブであり、図５に示すようにＦＤドライブ２０３を通じてＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。２０４はＦＤであり、本実施例で説明するネットワークプリンタ制御プログラムおよび関連データを格納しており、その記憶されている内容の構成を図４に示す。図４において、４００はＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施例で説明するネットワークプリンタ制御プログラム、４０４はその関連データである。このように本実施例で説明するネットワークプリンタ制御プログラムは、ＲＯＭ２０１に格納されているか、もしくはＦＤ２０４からＦＤドライブ２０３を介して読み込んでも使用されてもよい。
【００５５】
４０３のネットワークプリンタ制御プログラムは、図１２、１３に示されるネットワークプリンタ制御手順のフローチャートに基づいてプログラムコード化されたものである。
【００５６】
２０５はＨＤであり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。２０６はキーボードであり、ユーザがクライアントコンピュータに対して、デバイスの制御コマンドの命令等を入力指示する入力し辞手段である。２０７はディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりする表示手段である。２０８はシステムバスであり、クライアントコンピュータ内のデータの流れを司るものである。
【００５７】
また、クライアントコンピュータは、装置間の入出力を司る図示省略したインタフェースを介して接続され、相互にデータや情報の入出力が可能となっている。
【００５８】
図３は、本ネットワークプリンタ制御プログラムがＲＡＭ２０２にロードされ実行可能となった状態のメモリマップを表すものである。
【００５９】
本実施例では、ＦＤ２０４からネッワークプリンタ制御プログラム及び関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、この以外にも、ＦＤ２０４からネッワーク制御プログラムを動作させる度に、ＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。また、本ネットワークプリンタ制御プログラムを記録する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＩＣメモリーカード等であっても良い。更に、本ネッワークプリンタ制御プログラムをＲＯＭ２０１に記録しておき、これをメモリマッップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００６０】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローティング）機能等を有しているプログラムが入っている領域である。３０２はＯＳであり、３０３にはネットワークプリンタ制御プログラム、３０４には関連データがそれぞれ展開され、３０５にはＣＰＵ２００が本ネットワークプリンタ制御プログラムを実行するワークエリアがとられている。
【００６１】
図６は、本実施例におけるネットワークプリンタ１０５の概略構成を示すブロック図である。本実施例では、ネットワークプリンタとして、レーザビームプリンタ（ＬＢＰ）を使用しているが、これに限られるものではなく、他の方式のプリンタでもよいことは言うまでもない。
【００６２】
６０１はＣＰＵであり、装置全体を制御する。６０２はＲＯＭ／ＲＡＭであり、ＣＰＵ６０１を制御する制御プログラムや定数データ、送受信データを一時記憶するバッファを含んでいる。６０３は記憶部であり、例えば、ハードディスクのような、送受信するデータやＣＰＵ６０１で実行する制御プログラム、データを記憶する。６０４は表示部であり、ＲＯＭ  ／  ＲＡＭ６０２に一時記憶されているデータや、記憶部６０３に記憶されているデータの内容、および操作状況などを表示する。６０５はプリンタ印字部であり、ＲＯＭ／ＲＡＭ６０２に記憶されているプログラムに基づいてＣＰＵ６０１で生成したビットマップデータを印字出力する。６０６はネットワークボードであり、このネットワークボードを介してクライアントコンピュータやサーバ等の外部装置と印字データやジョブ情報等のデータ情報の通信を行う。６０７は通信回路であり、ネットワークボード６０６とネットワークをつなぐものである。６０８はシステムバスであり、各構成要素を互いに接続しており、制御コマンドやデータはこのシステムバス上を流れる。
【００６３】
図７は、本発明のクライアントコンピュータおよびサーバのソフトモジュール構成を表した図である。これらは、例えば、ＦＤから供給されるものである。
【００６４】
７０１はネットワークプリンタ、７０２はクライアントコンピュータのソフトモジュール構成、７０３はサーバのソフトモジュール構成である。７０４は本発明のネットワークプリントシステムに印刷指示を出すアプリケーションモジュールであり、７０５はＷｉｎｄｏｗｓ（登録商標）のＧＤＩ、７０６はＷｉｎｄｏｗｓ内に組み込まれるプリンタドライバ、７０７はＷｉｎｄｏｗｓ内のプリンタスプーラである。７０８は仮想プリンタ用プリンタモニタ、７０９はネットワークプリンタ用制御モニタ、７１０は仮想プリントマネージャ、７１１は仮想プリントサーバＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  ｉｎｔｅｒｆａｃｅ）、７１２は仮想プリンタサーバサービスであり、これらのモジュールは本発明である仮想プリントサーバのシステムを構成するものであり、記録媒体、本実施例ではＦＤ２０４から供給される。
【００６５】
仮想プリントマネージャ７１０、仮想プリントサーバＡＰＩ７１１、仮想プリントサーバサービス７１２は、クライアントコンピュータとサーバの両方に存在する。以後、仮想プリントサーバサービス７１２を構成している仮想プリントサーバサービス（クライアント）と仮想プリントサーバサービス（サーバ）を合わせたものを仮想プリントサーバと呼び、このシステムを仮想プリントサーバシステムと呼ぶ。
【００６６】
前記構成においてクライアントＰＣ１０２からネットワークプリンタ１０５に印刷を行う動作を説明する。本実施例においては、Ｗｉｎｄｏｗｓを例にとって説明を行う。クライアントＰＣからサーバへ印刷要求をする印刷処理の流れを図８に表し、サーバからクライアントＰＣへ印字可能許可を与えてプリンタに送信する印刷処理の流れを図９で表す。ここで、すでに説明したブロック図は、同じ符号を用いて説明を続けることにする。この図８および図９を用いて印刷処理の流れを説明する。
【００６７】
クライアントＰＣ７０２（１０２）上で、アプリケーション７０４はＧＤＩ７０５を通して印刷を開始する。ＧＤＩはＷｉｎｄｏｗｓスプーラ７０７及び仮想プリントサーバ用プリントモニタ７０８に印刷の開始を通知する。印刷の開始を受け取った仮想プリントサーバ用プリントモニタ７０８は仮想プリントサーバサービス（クライアント）７１２を経由して、サーバ７０３（１０１）上にある仮想プリントサーバサービス（サーバ）７１２に、これより印刷データの保存を開始を依頼する。ＧＤＩ７０５はプリンタドライバ７０６に印刷データをプリンタ言語に変換することを要求する。プリンタ言語に変換されたプリントデータはＷｉｎｄｏｗｓスプーラ７０７にスプールされる。一方、仮想プリントサーバ用プリントモニタ７０８は、Ｗｉｎｄｏｗｓスプーラ７０７にスプールされたプリントデータをＷｉｎｄｏｗｓスプーラ７０７より受けとり、そのプリントデータを仮想プリントサーバサービス（クライアント）７１２に渡す。仮想プリントサーバサービス（クライアント）７１２は受け取ったプリントデータを図２のＨＤ２０５内の仮想プリントスプーラ８０１にある図示省略したテンポラリファイルに一時保存する。すべてのプリントデータをＨＤ２０５内の仮想プリントスプーラ８０１内のテンポラリファイルに保存した時点で、仮想プリントサーバサービス（クライアント）７１２は、サーバ７０３（１０１）上にある仮想プリントサーバサービス（サーバ）７１２にプリントデータの保存終了を通知し、印刷を依頼する。ここで、仮想プリントサーバサービス７１２は、クライアントＰＣとサーバとで同じモジュールを使用していて、設定でクライアント用、サーバ用と使い分ける事のできるものである。
【００６８】
図９では、先に仮想プリントサーバサービス７１２に登録された印刷ジョブが、サーバの管理を経て印刷を行う順番になり、実際にネットワークプリンタにプリントデータを送信するまでの動作を示した図である。仮想プリントサーバサービス（サーバ）７１２は、印刷の順番になったクライアントＰＣに印刷可能の指示を出す。その指示を受け取った仮想プリントサーバサービス（クライアント）７１２は、前述で一時的に仮想プリントスプーラ８０１に保存したプリントデータを読みだし、ネットワークプリンタ用制御モニタ７０９に渡す。ネットワークプリンタ用制御モニタ７０９は、印刷通信プロトコルを通して、ネットワークプリンタ７０１にプリントデータを渡し、ネットワークプリンタ７０１で印刷をおこなう。
【００６９】
ネットワークプリンタ７０１のステイタスをクライアントＰＣに通知する動作を説明する。ここではＷｉｎｄｏｗｓを例にとって説明をする。プリンタステータス流れを図１０に示す。
【００７０】
仮想プリントサーバサービス（サーバ）７１２は、本実施例においては、５秒間隔（デフォルト）でＳＮＭＰマネージャ１００２にネットワークプリンタ７０１のステータスの収集を依頼する。ＳＮＭＰマネージャ１００２は、ステータス集収要求をネットワークプリンタ７０１に依頼する。ネットワークプリンタ７０１は、現在のプリンタステータスを返す。仮想プリントサーバサービス（サーバ）７１２は、ネットワークプリンタ７０１のステイタスが変化した場合、このネットワークプリンタ７０１を使用しているクライアンＰＣに対してステータスの変更通知を行う。サーバから出されたプリンタステータスの変更通知はクライアントＰＣ内の仮想プリントサーバサービス（クライアント）７１２が受けとり、クライアントＰＣ内のＲＡＭにあるレジストリ１００１にプリンタステータスを保存する。アプリケーション７０４は、仮想プリンタサーバＡＰＩ７１１を経由してレジストリ１００１に保存されているプリンタステイタスを取得することができる。
【００７１】
このようにして、仮想プリントサーバシステムは印刷の処理を行う。
【００７２】
本実施例はＷｉｎｄｏｗｓＮＴ３．５１（登録商標）を用いた場合であり、この中でプリントモニタ７０８、仮想プリントスプーラ、仮想プリントサーバサービス（クライアント／サーバ）７１２、ネットワークプリンタ制御モニタ７０９は本発明で新たに作られたものであり、それ以外はＷｉｎｄｏｗｓＮＴ標準のモジュールである。しかし、これに限られるものではなく、ＯＳ／２等の他のＯＳでも構築可能である。
【００７３】
本発明の変更通知の実施例についてクライアントＰＣが２台、仮想サーバサービスが実装されているマシンが１台ある場合の手順について説明する。
【００７４】
図１１は本発明の変更通知のシーケンスを示すシーケンス図である。
【００７５】
図１２、１３は本発明の変更通知における仮想サーバのクライアント、サーバの処理を示すフローチャートである。
【００７６】
図１４、１５はジョブの順序制御を行うためのキューイングテーブルと各ジョブの関連情報を保持するためのジョブ関連情報テーブルである。
【００７７】
図１４のキューイングテーブルにおいて最後のジョブを管理するキューイングテーブルのＮｅｘｔキューポインタはＮＵＬＬがセットされるものとする。
【００７８】
はじめに図１１を用いて本発明の実施例の仮想サーバシステム全体のシーケンスを説明する。
【００７９】
図１１において、クライアントＰＣ１０２が、仮想サーバ１０１にプライオリティ（優先順位）が２であるジョブ情報をスプールし、印刷を依頼すると、仮想サーバ１０１は例えば図１４に示すようなキューイングテーブルを用いてジョブを登録し、登録確認通知をクライアントＰＣ１０２に戻す。（以下はこのジョブをジョブＡとする）次にクライアントＰＣ１０２からプライオリティが１であるジョブ情報を登録し、仮想サーバ１０１も同様の処理を行って登録確認通知を戻す。（以下はこのジョブをジョブＢとする）クライアントＰＣ１０２では、ジョブの登録を確認すると各ジョブの登録ごとに登録結果をダイアログボックスを表示して、ユーザーに印刷終了予定時間のようなジョブ登録に関する情報を知らせる。このユーザーに知らせる方法は、仮想サーバシステムのいづれかのモジュールが、直接、表示する手段の他にアプリケーションソフトがＡＰＩで取得できるステータスの値を内部的に更新する、または、常駐ソフトウェアにイベントを通知して情報を渡す、等の方法で通知手段を提供するだけでもよい。次にクライアントＰＣ１０３が、１０２と手順は同様だが、プライオリティ（優先順位）が２であるジョブの印刷要求を仮想サーバ１０１に登録する。（以下はこのジョブをジョブＣとする）仮想サーバ１０１では、登録した順序はジョブＡ、ジョブＢ、ジョブＣの順であるが、優先順位の高いジョブから印刷するためジョブの印刷順序はジョブの印刷順序はジョブＡ、ジョブＣ，ジョブＢの順となる。ジョブＣの登録処理が終了すると登録の確認通知がクライアントＰＣ１０３に通知される。クライアントＰＣ１０３では、クライアントＰＣ１０２と同様、ジョブの登録結果をユーザーに通知する。一方、仮想サーバ１０１はジョブＣの登録結果を通知した後、印刷順序が変更されたジョブＢの印刷を依頼したクライアントＰＣ１０２にジョブの順序が変更されたことを通知する。変更通知依頼を受けたクライアントＰＣ１０２はジョブの順序変更結果と変更に伴うジョブの印刷終了予定時間を表示する。なお、ジョブのプライオリティは、クライアントＰＣで予め設定されている。これは、プリンタドライバもしくはアプリケーションで設定されることも考えられるが、仮想プリントサーバを含む本発明のネットワークプリンタ制御プログラムで印刷依頼時に設定されたものとする。
【００８０】
次に、図１２のフローチャートを用いてクライアントＰＣの印刷要求と確認通知までの手順を説明する。
【００８１】
図１２のＳ１２０１は、仮想プリントサーバサービス（クライアント）７１２がアプリケーションプログラム等を介したユーザーからの操作指示や、クライアントとして自分が登録されいてる仮想プリントサーバサービス（サーバ）７１２が動作している仮想サーバ１０１からの通知等を待っている指示待ち状態である。
【００８２】
今、ユーザーがアプリケーションソフトから仮想サーバに登録されているネットワークプリンタに対して印刷要求を出すと、Ｓ１２０２においてクライアントサービス（仮想プリントサーバサービス（クライアント））は印刷要求なのか他の指示かを判断する。もし、印刷依頼だとクライアントサービスが判断した場合は、Ｓ１２０３に処理が進み、Ｓ１２０３においてクライアントサービスは、仮想プリントサーバサービス（サーバ）に印刷要求を出す。印刷要求を出すとＳ１２０４において、クライアントサービスは仮想サーバ１０１からの確認通知を待つタイムアウト処理を行う。一定の時間をおいてＳ１２０５において、仮想サーバ１０１より登録確認通知があればＳ１２０６に進むが、仮想サーバ１０１より登録確認通知がない場合はＳ１２０３に戻り、再度、印刷要求処理を行う。Ｓ１２０３からＳ１２０５までの処理を繰り返している際に、タイムアウトの時間が経過すると、Ｓ１２１０に進み、印刷要求に伴い実行された全ての処理を初期化し、登録が正常に終了しなかったことを表示する等の依頼中止処理を行う。
【００８３】
タイムアウトとなる前に仮想サーバ１０１より印刷依頼を行ったクライアントに登録確認通知が届いた場合は、Ｓ１２０６において、クライアントサービスは登録されたジョブと最新の同じスプーラのジョブ情報を、仮想サーバ１０１からの登録確認通知から取り出し、ＷｉｎｄｏｗｓにおけるＷｉｎ３２ＡＰＩのＪｏｂ＿Ｉｎｆｏ＿２構造体程度の情報を記述する図１５のようなテーブルを用いてジョブ関連情報をＲＡＭ２０２に保存する。
【００８４】
次にＳ１２０７において、印刷要求の確認ダイアログボックスを表示するように設定されていれば、確認通知ダイアログを表示し、特にユーザーからの設定がなければ、通知に関する表示は何も行わず、Ｓ１２０１に戻り、指示待ちとなる。この確認ダイアログボックスの設定は、例えば、ＷｉｎｄｏｗｓＮＴ３．５１やＷｉｎｄｏｗｓ９５のレジストリや、ｉｎｉファイルに記録する等、ユーザーが仮想プリントサーバシステムが動作中でも任意のタイミングで設定変更できて、仮想プリントサーバサービス（クライアント）が識別できる手段であれば何でもよい。ｉｎｉファイルとは、アプリケーションソフトやＯＳの初期化情報や設定情報を記憶しておくファイルのことである。
【００８５】
Ｓ１２０７において確認ダイアログボックスを表示するとＳ１２０８に処理が進む。Ｓ１２０８では、さらに詳細なジョブの関連情報として印刷終了予定時間を表示する様に設定されているかを判断する。もし印刷終了予定時間を表示する設定がなされているとクライアントサービスが判断した場合は、Ｓ１２０９に進み、ジョブ関連情報の中から前に印刷しているジョブのデータサイズと印刷開始時間、終了時間の情報を用いて比較計算する等の方法で登録したジョブの印刷終了予定時間を表示する。Ｓ１２０８で詳細な表示をするように設定されていないとクライアントサービスが判断した場合は、そのままＳ１２０１に処理が戻って指示待ち状態となる。
【００８６】
次に仮想プリントサーバサービス（サーバ）が仮想プリントサーバサービス（クライアント）からの印刷要求を受けてジョブをキューイングテーブル（図１４）に登録する手順を図１３のフローチャートを用いて説明する。
【００８７】
Ｓ１３０１は、仮想プリントサーバサービス（サーバ）がアプリケーションプログラム等を介したユーザーからの操作指示や、各クライアントＰＣの仮想プリントサーバサービス（クライアント）からの通知等を待っている指示待ち状態である。
【００８８】
クライアントＰＣ１０２から指示が送られると、Ｓ１３０２では、仮想プリントサーバサービス（サーバ）が該指示が印刷要求か他の指示かを判断する。もし印刷要求が送信されたと判断した場合は、処理がＳ１３０２からＳ１３０３に進む。Ｓ１３０３では、新しく登録するジョブのＩＤやジョブの関連情報をメモリやハードディスク等の仮想プリントサーバサービス（サーバ）７１２が管理できる場所に図１５のようなテーブルを用いて保存する。次にＳ１３０４において仮想プリントサーバサービス（サーバ）は、現在キューに印刷待ちのジョブがあるかどうか判断する。もし印刷待ちのジョブがないと判断された場合は、Ｓ１３０５において、登録するジョブのキューイングテーブル（図１４）を作成し、ジョブの関連情報のポインタをセットする。
【００８９】
次にＳ１３０６では、印刷要求をしたクライアントＰＣに対して、例えばキューイングテーブルの情報等を含んだ登録確認通知を戻して、Ｓ１３０１の指示待ち状態に戻る。（図１１のジョブＡ）
【００９０】
また、Ｓ１３０４において、印刷待ちのジョブがあると仮想プリントサーバサービス（サーバ）が判断した場合は、処理がＳ１３０７に進み、仮想プリントサーバサービス（サーバ）はメモリ等に格納されている最初のキューイングテーブルを参照する。ここで「最初の」とは、一番早く印刷指示がまわってくるジョブという意味である。Ｓ１３０８では、ジョブ関連情報のポインタを用いてジョブ関連情報テーブルを参照して最初のキューイングテーブルが管理するジョブのプライオリティを取得する。Ｓ１３０９では、仮想プリントサーバサービス（サーバ）は、新しく登録するジョブのプライオリティが、現在参照しているキューイングテーブルの管理するジョブのプライオリティより高いかどうか判別する。新しく登録するジョブのプライオリティの方が低いか同じであると判断すればＳ１３１０に進み、キューイングテーブルのＮｅｘｔキューポインタを検索し、ＮＵＬＬであるかを判断する。もしＮｅｘｔキューポインタがＮＵＬＬでなければ、処理がＳ１３１１に進む。Ｓ１３１１において、キューイングテーブルのＮｅｘｔキューポインタを用いて次のキューイングテーブルを参照しＳ１３０８に戻り同様の処理を続行する。
【００９１】
もしＳ１３０９において新しく登録するジョブのプライオリティの方が高ければ、Ｓ１３１２に処理を進め、Ｓ１３１２において、仮想プリントサーバサービス（サーバ）はプライオリティが低かったジョブのキューイングテーブルの前に新しいキューイングテーブルを作成し、ＮｅｘｔキューポインタやジョブＩＤとＳ１３０３で保存してあったジョブ関連情報のポインタ等をセットする。ただし、新しく作成されるキューイングテーブルが先頭のキューで無い場合は一つ前のキューイングテーブルに新しいキューイングテーブルのポインタをＮｅｘｔキューポインタとしてセットするものとする。
【００９２】
次に、Ｓ１３１３において、すでにキューイングテーブルに登録されていたジョブの順序に変更があるので、仮想プリントサーバサービス（サーバ）は、新しく登録したジョブ以降のキューイングテーブルのジョブを依頼したクライアントＰＣに対して現在のキューの状況やジョブ関連情報を含んだ変更通知を送信する。次にＳ１３０６に進み新しく登録したジョブのクライアントＰＣにも現在のキューの状況やジョブ関連情報を含んだ登録確認通知を送信してＳ１３０１の指示待ち状態に戻る。（ジョブＣ）
【００９３】
また、新しく登録するジョブのプライオリティがすべてのキューイングテーブルのジョブのプライオリティより低いか同じプライオリティである場合、Ｓ１３１０において仮想プリントサーバサービス（サーバ）は、最後のキューイングテーブルのＮｅｘｔキューポインタがＮＵＬＬであることから最後のキューイングテーブルであることを認識し、Ｓ１３１４で新しく登録するジョブをキューの最後にキューイングテーブルを作成する。この場合もＳ１３０６において印刷要求をしたクライアントＰＣに現在のキューの状況やジョブの関連情報を含んだ登録確認を通知し、Ｓ１３０１の指示待ち状態に戻る。（ジョブＢ）
【００９４】
次にクライアントＰＣ１０２が変更通知を受け取った場合の手順を図１２のフローチャートで説明する。Ｓ１２０１の指示待ち状態において、仮想サーバ１０１から変更通知を受け取るとＳ１２０２、Ｓ１２１１と進む。Ｓ１２１１では、指示が変更通知であるかをクライアントサービスが判断する。もし変更通知であると判断した場合は、Ｓ１２１２において仮想プリントサーバサービス（サーバ）７１２から受け取ったキューの状況やジョブ関連情報をメモリ上やファイルなどの仮想プリントサーバサービス（クライアント）７１２であるクライアントサービスが管理できる場所に保存する。
【００９５】
Ｓ１２１３において、クライアントサービスは、ユーザーの設定で変更通知ダイアログをその都度、表示するように設定してあるかを判断する。もしそのように設定してあると判断した場合は、クライアントサービスの指示に従って印刷要求をかけたジョブの順序に変更があったことを示す、ダイアログボックスを表示装置に表示する。Ｓ１２１４では、さらに詳細な情報が必要であるかをクライアントサービスが判断し、必要であると判断された場合は、終了予定時間を再計算し、Ｓ１２１５でダイアログボックス内に追加表示し、Ｓ１２０１の指示待ち状態に戻る。
【００９６】
この実施例ではキューの状況を示すテーブルをすべて送信する例を示したが、キューの順番や変更のあったジョブのＩＤだけを送信し、通知してもよいし、ジョブ関連情報も同様なテーブルであれば、必要な情報のみ送信するだけでもよい。また、クライアントにジョブ関連情報を送信せず、仮想サーバが変更に伴う情報を作成し、表示データのみをクライアントＰＣに通知してもよい。
【００９７】
さらに、本実施例では印刷要求時のプライオリティによる順序変更について説明したが、印刷要求時だけでなくともプライオリティ以外の理由でも印刷待ちジョブの順序が変更された場合の通知に用いてもかまわない。例えば、ネットワークの管理者がジョブの取り消しや印刷順序を入れ替えた場合でも、取り消されたもしくは順序の入れ替わったジョブを依頼したクライアントにその旨を示す情報もしくは、印刷順序を表すテーブルを送信することにより報知してもよい。
【００９８】
また、本実施例では、仮想サーバに登録されているジョブの印刷順序が変更された場合、新しく登録したジョブ以降の印刷順位のキューイングテーブルに登録されているジョブを依頼したクライアントＰＣに対して現在のキューの状況やジョブ関連情報を含んだ変更通知を送信したが、変更通知を送信するクライアントＰＣは、予め仮想サーバに変更通知依頼を行っているクライアントＰＣだけにしてもよい。この変更通知依頼設定は、印刷時にジョブ情報を仮想サーバに登録する時に変更通知依頼を付加して送信し、仮想サーバは、ＲＡＭ２０２上に変更通知依頼を保持しておき、ジョブの印刷順序が変更され、該当するクライアントＰＣに通知する際に、ＲＡＭ２０２上の変更通知依頼を確認し、通知をするように登録されているクライアントＰＣにだけ、変更通知を送信するようにすればよい。
【００９９】
このように本実施の形態で説明したようなシステムを用いることにより、ホスト側パーソナルコンピュータにおいて、データ転送のための通信を冗長にせず、少ない通信回数でプリンタの排紙までの印刷を実行し、かつ、プリンタが印刷する順序の変更に伴う情報をホスト側パーソナルコンピュータにおいて確認できる手段を提供すること、及び、印刷待ちのスプーラ内のジョブの順序が変わるとホスト側パーソナルコンピュータにジョブの順序が変更されたこと、および、例えば印刷終了時間のようなジョブの順序変更に伴う情報を通知することが可能となる。
【０１００】
【発明の効果】
本実施例で説明した仕組みを用いることにより、情報処理装置からのジョブ情報による依頼に基づき登録されたジョブの印刷順序を管理する印刷制御装置と通信可能で、所定のオペレーティングシステムが稼動される情報処理装置に関連して、前記印刷制御装置にジョブの登録をジョブ情報として登録するように依頼をする依頼手段と、プリンタドライバにより変換され前記オペレーティングシステムにおけるスプーラにより第１スプール領域にスプールされた印刷データを、登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示を受けるプリントサービスモジュールが読み出し可能な第２スプール領域に保持するようにする制御手段と、前記登録されたジョブの印刷順序の管理に基づく前記印刷制御装置からの印刷データの送出が可能であることを示す指示に基づき、印刷出力を行わせるべく前記第２スプール領域に保持された印刷データを出力するようにする出力制御手段とを有することを特徴とする仕組みを提供することが可能となる。
【図面の簡単な説明】
【図１】本実施の仮想サーバを適用するネットワークシステムのシステム構成図である。
【図２】図１におけるクライアントコンピュータの概略構成を示すブロック図である。
【図３】図２におけるＲＡＭに、図４に示すＦＤからプログラムを展開したときのメモリマップである。
【図４】図２におけるＦＤ内部のデータを表すメモリマップである。
【図５】図１におけるクライアントコンピュータと図２におけるＦＤとの関係を表した図である。
【図６】図１におけるネットワークプリンタの概略構成を示すブロック図である。
【図７】本実施の形態に係るクライアントコンピュータおよびサーバのソフトモジュール構成を表す図である。
【図８】仮想サーバを用いた印刷機能に関するプリントモニタの処理の流れを表したフローチャートである。
【図９】仮想サーバを用いた印刷機能に関するプリントモニタの制御の流れを表したフローチャートである。
【図１０】図１におけるクライアントからサーバへ印刷要求する際の印刷処理の流れを表す図である。
【図１１】仮想サーバに登録したジョブの順序変更が起きる場合の通信シーケンス例である。
【図１２】ジョブの順序変更通知のクライアントの処理を示すフローチャートである。
【図１３】ジョブの順序変更通知の仮想サーバの処理を示すフローチャートである。
【図１４】仮想サーバ内でジョブを順序制御するキューイングテーブル例である。
【図１５】ジョブの関連情報を保持するテーブル例である。
【符号の説明】
１０１  サーバ
１０２〜１０４  クライアントコンピュータ（クライアントＰＣ）
１０５  ネットワークプリンタ
１０６  ネットワーク
２００  ＣＰＵ
２０１  ＲＯＭ
２０２  ＲＡＭ
２０３  ＦＤドライブ
２０４  ＦＤ（フロッピーディスク）
２０５  ＨＤ（ハードディスク）
２０６  キーボード
２０７  ディスプレイ
２０８  システムバス
３００  ＲＡＭのメモリマップ
３０１  基本Ｉ／Ｏプログラム
３０２  ＯＳ
３０３  ネットワークプリンタ制御プログラム
３０４  関連データ
３０５  ワークエリア
４００  ＦＤのメモリマップ
４０１  ボリューム情報
４０２  ディレクトリ情報
４０３  ネットワークプリンタ制御プログラム
４０４  関連データ
６０１  ＣＰＵ
６０２  ＲＯＭ／ＲＡＭ
６０３  記憶部
６０４  表示部
６０５  プリンタ印字部
６０６  通信部
６０７  通信回線
７０１  ネットワークプリンタ
７０２  クライアント（クライアントＰＣ）
７０３  サーバ
７０４  アプリケーション
７０５  ＧＤＩ
７０６  プリンタドライバ
７０７  Ｗｉｎｄｏｗｓスプーラ
７０８  仮想プリントサーバ用プリンタモニタ
７０９  ネットワークプリンタ用制御モニタ
７１０  仮想プリントマネージャ
７１１  仮想プリントサーバＡＰＩ
７１２  仮想プリントサーバ（仮想プリントサーバサービス）
８０１  仮想プリントスプーラ
１００１  レジストリ
１００２  ＳＮＭＰマネージャ
【図１】
0003566511.tif 000002
【図２】
0003566511.tif 000003
【図３】
0003566511.tif 000004
【図４】
0003566511.tif 000005
【図５】
0003566511.tif 000006
【図６】
0003566511.tif 000007
【図７】
0003566511.tif 000008
【図８】
0003566511.tif 000009
【図９】
0003566511.tif 000010
【図１０】
0003566511.tif 000011
【図１１】
0003566511.tif 000012
【図１２】
0003566511.tif 000013
【図１３】
0003566511.tif 000014
【図１４】
0003566511.tif 000015
【図１５】
0003566511.tif 000016