(57)【要約】【課題】印刷装置の処理負荷を軽減しつつ印刷処理の結果より確実に得られるようにする。【解決手段】プリントサーバ１０１は、処理結果を確認すべき印刷ジョブに対してジョブ追跡用ＩＤを生成し、ネットワークプリンタ１０５に送信する。その後、ネットワークプリンタ１０５で印刷ジョブが生成されると、プリントサーバ１０１は、ネットワークプリンタ１０５から、その印刷ジョブの情報を取得する。この印刷ジョブの情報には、ジョブ追跡用ＩＤが付与されている。プリントサーバ１０１は、印刷ジョブの情報に含まれているジョブ追跡用ＩＤに基づいて、取得した印刷ジョブの情報が、追跡中の印刷ジョブの情報でないと判定した場合、追跡中の印刷ジョブが消滅したと判断する。そして、プリントサーバ１０１は、ジョブ追跡用ＩＤを用いて、ネットワークプリンタ１０５に、消滅した印刷ジョブの処理結果の問い合わせる。【選択図】図１２
2008158560.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリにおいて管理される印刷ジョブの状態、及び揮発性メモリにおいて管理される印刷ジョブの履歴の夫々を外部に通知可能な印刷装置と通信可能な印刷管理装置であって、
前記揮発性メモリにおいて管理される印刷ジョブの状態を示す状態通知により印刷ジョブの処理結果を取得できたか否かを判定する判定手段と、
前記判定手段により、前記状態通知により印刷ジョブの処理結果を取得できないと判定されると、前記不揮発性メモリにおいて管理される印刷ジョブの処理結果であるジョブ履歴を取得する追跡手段とを有することを特徴とする印刷管理装置。
【請求項２】
前記判定手段、及び前記追跡手段は印刷制御手段に含まれ、
前記印刷制御手段が再起動した際に前記判定手段による判定を行うことを特徴とする請求項１に記載の印刷管理装置。
【請求項３】
前記印刷装置の前記不揮発性メモリに記憶された印刷ジョブの一覧を表示部に表示させる表示制御手段と、
前記表示された一覧から何れかの印刷ジョブの印刷が指示された場合に、ジョブ追跡用識別情報を生成する生成手段と、
前記生成手段により生成されたジョブ追跡用識別情報を前記印刷装置に通知する通知手段とを有し、
前記判定手段は、前記ジョブ追跡用識別情報を含む前記状態通知により印刷ジョブの処理結果を取得できたか否かを判定することを特徴とする請求項１又は２に記載の印刷管理装置。
【請求項４】
前記追跡手段は、前記不揮発性メモリに記憶されている印刷履歴であって、前記印刷ジョブの処理結果としての印刷履歴を前記印刷装置から取得する印刷ジョブの数に応じて、個々の印刷ジョブを指定した第１コマンドと、複数の印刷ジョブの印刷履歴を一括して取得する第２コマンドと、の発行を切り分けることを特徴とする請求項１〜３の何れか１項に記載の印刷管理装置。
【請求項５】
前記状態通知は、前記印刷装置から通知されるイベント、或いは、前記印刷装置へのポーリングに従う応答であることを特徴とする請求項１〜４の何れか１項に記載の印刷管理装置。
【請求項６】
不揮発性メモリにおいて管理される印刷ジョブの状態、及び揮発性メモリにおいて管理される印刷ジョブの履歴の夫々を外部に通知可能な印刷装置と通信可能な印刷管理装置を用いて行う印刷管理方法であって、
前記揮発性メモリにおいて管理される印刷ジョブの状態を示す状態通知により印刷ジョブの処理結果を取得できたか否かを判定する判定ステップと、
前記判定ステップにより、前記状態通知により印刷ジョブの処理結果を取得できないと判定されると、前記不揮発性メモリにおいて管理される印刷ジョブの処理結果であるジョブ履歴を取得する追跡ステップとを有することを特徴とする印刷管理方法。
【請求項７】
前記判定ステップを行う判定手段ステップ及び前記追跡ステップを行う追跡手段は印刷制御手段に含まれ、
前記印刷制御手段が再起動した際に前記判定ステップによる判定を行うことを特徴とする請求項６に記載の印刷管理方法。
【請求項８】
前記印刷装置の前記不揮発性メモリに記憶された印刷ジョブの一覧を表示部に表示させる表示制御ステップと、
前記表示された一覧から何れかの印刷ジョブの印刷が指示された場合に、ジョブ追跡用識別情報を生成する生成ステップと、
前記生成ステップにより生成されたジョブ追跡用識別情報を前記印刷装置に通知する通知ステップとを有し、
前記判定ステップは、前記ジョブ追跡用識別情報を含む前記状態通知により印刷ジョブの処理結果を取得できたか否かを判定することを特徴とする請求項６又は７に記載の印刷管理方法。
【請求項９】
前記追跡ステップは、前記不揮発性メモリに記憶されている印刷履歴であって、前記印刷ジョブの処理結果としての印刷履歴を前記印刷装置から取得する印刷ジョブの数に応じて、個々の印刷ジョブを指定した第１コマンドと、複数の印刷ジョブの印刷履歴を一括して取得する第２コマンドと、の発行を切り分けることを特徴とする請求項６〜８の何れか１項に記載の印刷管理方法。
【請求項１０】
前記状態通知は、前記印刷装置から通知されるイベント、或いは、前記印刷装置へのポーリングに従う応答であることを特徴とする請求項６〜９の何れか１項に記載の印刷管理方法。
【請求項１１】
不揮発性メモリにおいて管理される印刷ジョブの状態、及び揮発性メモリにおいて管理される印刷ジョブの履歴の夫々を外部に通知可能な印刷装置との通信の結果に基づく処理をコンピュータに実行させるためのコンピュータプログラムであって、
前記揮発性メモリにおいて管理される印刷ジョブの状態を示す状態通知により印刷ジョブの処理結果を取得できたか否かを判定する判定ステップと、
前記判定ステップにより、前記状態通知により印刷ジョブの処理結果を取得できないと判定されると、前記不揮発性メモリにおいて管理される印刷ジョブの処理結果であるジョブ履歴を取得する追跡ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１２】
不揮発性メモリにおいて管理される印刷ジョブの状態、及び揮発性メモリにおいて管理される印刷ジョブの履歴の夫々を外部に通知可能な印刷装置との通信の結果に基づく処理をコンピュータに実行させるためのコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、
前記揮発性メモリにおいて管理される印刷ジョブの状態を示す状態通知により印刷ジョブの処理結果を取得できたか否かを判定する判定ステップと、
前記判定ステップにより、前記状態通知により印刷ジョブの処理結果を取得できないと判定されると、前記不揮発性メモリにおいて管理される印刷ジョブの処理結果であるジョブ履歴を取得する追跡ステップとをコンピュータに実行させるためのコンピュータプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷管理装置、印刷管理方法、及びコンピュータプログラムに関し、特に、印刷処理の結果を確認するために用いて好適なものである。
【背景技術】
【０００２】
ＰＯＤ（Print On Demand）等の商業印刷においては、印刷出力した結果や、記録紙の枚数等を厳密に確認する必要がある。そこで、印刷処理の結果を印刷装置にログとして保持させ、印刷装置に保持されたログをプリントサーバが確認するようにした技術が開示されている（特許文献１を参照）。
【０００３】
【特許文献１】特開２００２−９１７２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した従来の技術では、印刷装置に設けられたハードディスクに保持されたログを、プリントサーバが要求し参照するようにしているので、印刷結果を確実に管理できる反面、印刷装置にとって負荷のかかる処理となっていた。一般的にハードディスクへのデータの読み書きを伴うアクセスは、ＲＡＭ等のそれに比べてスピードが遅くまた処理負荷も大きい。このハードディスクへの頻繁なアクセスは印刷装置のパフォーマンスを低下させる。言い換えれば、プリントサーバは、印刷装置における印刷完了の結果を精度良く確認するために、頻繁にログの取得を行うと、印刷装置で実行中の印刷処理に影響を与える虞があった。
【０００５】
また、印刷を監視しているプリントサーバを印刷処理の途中で再起動する必要が生じたり、印刷装置とプリンタとの間に通信エラーが発生したり、印刷処理を実行中の印刷装置が再起動したりすること等がある。このような場合、プリントサーバにおける印刷制御プログラムは、監視中の印刷ジョブを見失い、印刷ジョブの処理結果を確認できなくなる虞があった。
更に、印刷装置に存在する印刷データに基づく印刷の実行を、プリントサーバ等の印刷装置と離れたコンピュータから指示した場合、そのプリントサーバは、その印刷データに基づく印刷ジョブを管理する手段を持っていなかった。このため、印刷処理の結果を管理できないという不都合もあった。
【０００６】
本発明は、以上のような問題点に鑑みてなされたものであり、印刷装置の処理負荷を軽減しつつ印刷処理の結果より確実に得られるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の印刷管理装置は、不揮発性メモリにおいて管理される印刷ジョブの状態、及び揮発性メモリにおいて管理される印刷ジョブの履歴の夫々を外部に通知可能な印刷装置と通信可能な印刷管理装置であって、前記揮発性メモリにおいて管理される印刷ジョブの状態を示す状態通知により印刷ジョブの処理結果を取得できたか否かを判定する判定手段と、前記判定手段により、前記状態通知により印刷ジョブの処理結果を取得できないと判定されると、前記不揮発性メモリにおいて管理される印刷ジョブの処理結果であるジョブ履歴を取得する追跡手段とを有することを特徴とする。
【０００８】
本発明の印刷管理方法は、不揮発性メモリにおいて管理される印刷ジョブの状態、及び揮発性メモリにおいて管理される印刷ジョブの履歴の夫々を外部に通知可能な印刷装置と通信可能な印刷管理装置を用いて行う印刷管理方法であって、前記揮発性メモリにおいて管理される印刷ジョブの状態を示す状態通知により印刷ジョブの処理結果を取得できたか否かを判定する判定ステップと、前記判定ステップにより、前記状態通知により印刷ジョブの処理結果を取得できないと判定されると、前記不揮発性メモリにおいて管理される印刷ジョブの処理結果であるジョブ履歴を取得する追跡ステップとを有することを特徴とする。
【０００９】
本発明のコンピュータプログラムは、不揮発性メモリにおいて管理される印刷ジョブの状態、及び揮発性メモリにおいて管理される印刷ジョブの履歴の夫々を外部に通知可能な印刷装置との通信の結果に基づく処理をコンピュータに実行させるためのコンピュータプログラムであって、前記揮発性メモリにおいて管理される印刷ジョブの状態を示す状態通知により印刷ジョブの処理結果を取得できたか否かを判定する判定ステップと、前記判定ステップにより、前記状態通知により印刷ジョブの処理結果を取得できないと判定されると、前記不揮発性メモリにおいて管理される印刷ジョブの処理結果であるジョブ履歴を取得する追跡ステップとをコンピュータに実行させることを特徴とする。
【００１０】
本発明のコンピュータ読み取り可能な記憶媒体は、不揮発性メモリにおいて管理される印刷ジョブの状態、及び揮発性メモリにおいて管理される印刷ジョブの履歴の夫々を外部に通知可能な印刷装置との通信の結果に基づく処理をコンピュータに実行させるためのコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記揮発性メモリにおいて管理される印刷ジョブの状態を示す状態通知により印刷ジョブの処理結果を取得できたか否かを判定する判定ステップと、前記判定ステップにより、前記状態通知により印刷ジョブの処理結果を取得できないと判定されると、前記不揮発性メモリにおいて管理される印刷ジョブの処理結果であるジョブ履歴を取得する追跡ステップとをコンピュータに実行させるためのコンピュータプログラムを記憶したことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、印刷装置の処理負荷を軽減しつつ印刷処理の結果より確実に得ることができる。
【発明を実施するための最良の形態】
【００１２】
［第１の実施形態］
次に、図面を参照しながら、本発明の第１の実施形態について説明する。
図１は、印刷管理システムの構成の一例を示したブロック図である。
図１において、クライアントコンピュータ１０２〜１０４は、情報処理装置であり、イーサネット（登録商標）等のネットワークケーブルを介して、ネットワーク１０７に接続されている。尚、クライアントコンピュータ１０２〜１０４と外部機器とが通信を行うための通信媒体は、ネットワーク１０７に限定されず、ネットワーク１０７以外の他の通信インタフェースを前記通信媒体として適用することが可能であることは言うまでもない。
【００１３】
クライアントコンピュータ１０２〜１０４は、アプリケーションプログラム等の各種のプログラムを実行すること可能である。また、クライアントコンピュータ１０２〜１０４には、ネットワークプリンタ１０５、１０６に対応するプリンタ言語に印刷データを変換する機能を有するプリンタドライバがインストールされている。尚、クライアントコンピュータ１０２〜１０４は、複数のプリンタドライバを登録することが可能なものとする。
尚、図１では、３つのクライアントコンピュータ１０２〜１０４が印刷管理システムに設けられた場合を例に挙げて示している。しかしながら、クライアントコンピュータの数は、３つに限定されるものではなく、１つ以上あれば幾つであってもよい。
【００１４】
印刷管理装置の一例であるプリントサーバ１０１は、情報処理装置であり、ネットワークケーブルを介して、ネットワーク１０７に接続されている。プリントサーバ１０１は、ネットワーク１０７で使用されるファイルを蓄積したり、ネットワーク１０７の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０７に接続されている複数のネットワークプリンタ１０５、１０６を管理している。
【００１５】
尚、クライアントコンピュータ１０２〜１０４とプリントサーバ１０１とは、一般的な情報処理装置に、夫々異なる制御を行う印刷制御プログラムを実行可能に格納することにより構成することができる。
また、プリントサーバ１０１として一般的な情報処理装置を用いた場合、クライアントコンピュータ１０２〜１０４の機能を、プリントサーバ１０１に同時に持たせることもできる。
プリントサーバ１０１は、印字データを含む印刷ジョブを、クライアントコンピュータ１０２〜１０４から受け取ると、その印刷ジョブを記憶媒体に格納し、記憶媒体に格納した印刷ジョブを、ネットワークプリンタ１０５、１０６に出力して印刷させる。また、プリントサーバ１０１は、印字データを含まない印刷ジョブを、クライアントコンピュータ１０２〜１０４から受け取ると、クライアントコンピュータ１０２〜１０４の印刷順序を管理する。そして、プリントサーバ１０１は、印刷順序になったクライアントコンピュータ１０２〜１０４に対して、印字データを含む印刷ジョブの送信許可を通知する。更に、プリントサーバ１０１は、ネットワークプリンタ１０５、１０６のステータスや印刷ジョブの各種情報を取得し、取得した各種情報を、クライアントコンピュータ１０２〜１０４に通知する。
【００１６】
印刷装置の一例であるネットワークプリンタ１０５、１０６は、ネットワークインタフェースを介して、ネットワーク１０７に接続されている。ネットワークプリンタ１０５、１０６は、クライアントコンピュータ１０２〜１０４から、印字データを含む印刷ジョブが送信されると、その印刷ジョブを解析して、印字データを１ページずつドットイメージに変換する。そして、ネットワークプリンタ１０５、１０６は、ドットイメージに変換した印字データを、１ページ毎に印刷する（印刷ジョブを実行する）。また、ネットワークプリンタ１０５、１０６は、ＩＳＯ１０１７５（ＤＰＡ）で規定されている印刷ジョブの管理機能を、プリントサーバ１０１及びクライアントコンピュータ１０２〜１０４の少なくとも何れか１つへ提供する事が可能（通知可能）である。尚、ＤＰＡとは、「Document Printing Application」の略語である。
【００１７】
また、プリントサーバ１０１で実施される機能、或いはプリントサーバ１０１のサーバとしての機能を、ネットワークプリンタ１０５、１０６或いはそのネットワークインタフェースカードに持たせる構成としても良い。
尚、図１では、２つのネットワークプリンタ１０５、１０６が印刷管理システムに設けられた場合を例に挙げて示している。しかしながら、ネットワークプリンタの数は、２つに限定されるものではなく、１つ以上あれば幾つであってもよい。
また、ネットワークプリンタ１０５、１０６として、例えば、レーザービームプリンタや、インクジェットプリンタや、デジタル複合機等、様々な方式で印刷を行う印刷装置を適用することが可能である。
【００１８】
ネットワーク１０７は、クライアントコンピュータ１０２〜１０４、プリントサーバ１０１、及びネットワークプリンタ１０５、１０６等を相互に通信可能に接続するためのものである。ネットワーク１０７は、例えば、インターネットやＬＡＮ（Local Area Network）等を用いて実現される。
【００１９】
図２は、クライアントコンピュータ１０２〜１０５及びプリントサーバ１０１として利用可能な情報処理装置におけるハードウェアの構成の一例を示したブロック図である。
クライアントコンピュータ１０２〜１０４及びプリントサーバ１０１は、同様のハードウェア構成を有した情報処理装置によって実現することが可能である。
【００２０】
図２において、ＣＰＵ２００は、情報処理装置の制御手段である。ＣＰＵ２００は、ハードディスク（ＨＤ）２０５等に格納されているプログラムを実行する。ＣＰＵ２００が実行するプログラムとしては、例えば、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ（Operating System）、及びネットワークプリンタ制御プログラム等がある。また、ＣＰＵ２００は、プログラムを実行しているときに、プログラムの実行に必要な情報やファイル等をＲＡＭ２０２に一時的に格納する制御を行う。
【００２１】
ＲＯＭ２０１は、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータやテンプレート用データ等の各種データを記憶する記憶媒体である。ＲＡＭ２０２は、データを一時的に記憶する記憶媒体であり、ＣＰＵ２００の主メモリやワークエリア等として機能する。
フレキシブルディスク（ＦＤ）ドライブ２０３は、記憶媒体としてのフレキシブルディスク（ＦＤ）２０４に記憶されたプログラム等を、情報処理装置にロードするために使用されるものである。尚、記憶媒体は、ＦＤに限られない。ＦＤの代わりに、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意の記憶媒体を利用することができる。
【００２２】
ハードディスク（ＨＤ）２０５は、外部記憶装置の一つであり、大容量メモリとして機能する。ＨＤ２０５には、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、及び関連プログラム等が格納されている。また、スプーラはこのＨＤ２０５に格納される。尚、スプーラは、クライアントコンピュータ１０２〜１０４ではクライアントスプーラのことであり、プリントサーバ１０１ではサーバスプーラのことである。また、プリントサーバ１０１では、クライアントコンピュータ１０２〜１０４から受け取った印刷ジョブの情報や、印刷順序の制御を行うためのテーブルもこのＨＤ２０５に格納される。
【００２３】
ＵＩ（User Interface）２０６は、ユーザが指示入力を行うためのユーザインターフェースである。具体的にＵＩ２０６は、キーボードとマウスとを備えている。ユーザは、ＵＩ２０６が備えるキーボードやマウスを用いることにより、情報処理装置（クライアントコンピュータ１０２〜１０４、プリントサーバ１０１）に対して、ネットワークプリンタ１０５、１０６への制御コマンドの命令等を入力指示する。
【００２４】
ディスプレイ２０７は、ＵＩ２０６から入力された制御コマンドや、ネットワークプリンタ１０５、１０６の状態等を表示する。ディスプレイ２０７は、例えば、ＬＣＤ（Liquid Crystal Display）を用いて実現することができる。システムバス２０８は、情報処理装置（クライアントコンピュータ１０２〜１０４、プリントサーバ１０１）内のデータの伝送経路である。インタフェース２０９は、情報処理装置（クライアントコンピュータ１０２〜１０４、プリントサーバ１０１）を、ネットワーク１０７に接続するためのものである。情報処理装置（クライアントコンピュータ１０２〜１０４、プリントサーバ１０１）は、インタフェース２０９を介して、外部装置とデータのやり取りを行うことが可能となる。
【００２５】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
ＦＤ２０４に格納されているネットワークプリンタ制御プログラムは、ＲＡＭ２０２にロードされることにより、実行可能となる。図３では、このようにして実行可能となった状態のメモリマップを示している。
【００２６】
図３において、基本Ｉ／Ｏプログラム３０１は、情報処理装置の電源がＯＮされたときに、ＨＤ２０５からＯＳをＲＡＭ２０２に展開し、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能等を有しているプログラムを含む。ＯＳ３０２、ネットワークプリンタ制御プログラム３０３、及び関連データ３０４は、夫々ＲＡＭ２０２に確保された領域に記憶される。ワークエリア３０５は、ＣＰＵ２００がネットワークプリンタ制御プログラム３０３等を実行する際に利用される作業領域である。
【００２７】
尚、本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラム及び関連データを直接、ＲＡＭ２０２にロードして実行させる例を示すが、必ずしもこのようにする必要はない。例えば、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にネットワークプリンタ制御プログラムをロードするようにしてもよい。
【００２８】
また、ネットワークプリンタ制御プログラム３０３を記憶する記憶媒体は、ＦＤ２０４に限定されず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカード等であってもよい。更に、ネットワークプリンタ制御プログラム３０３をＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成することによって、ネットワークプリンタ制御プログラム３０３をＣＰＵ２００で直接実行することも可能である。
また、以上の各装置と同等の機能を実現するソフトウェアを、ハードウェア装置の代替として構成することもできる。
【００２９】
尚、以下の説明では、ネットワークプリンタ制御プログラム３０３のことを、印刷制御プログラム３０３と称する。印刷制御プログラム３０３は、クライアントコンピュータ１０２〜１０４が、印刷ジョブの印刷先の変更を指示したり、印刷順序の変更を指示したりするための制御を行うプログラムを含む。また、印刷制御プログラム３０３は、プリントサーバ１０１が、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求等を通知したりするためのプログラムを含む。
【００３０】
また、このような制御を行う本実施形態の印刷制御プログラム３０３を、クライアントコンピュータ１０２〜１０４にインストールされるモジュールと、プリントサーバ１０１にインストールされるモジュールとに分けることができる。また、一つの印刷制御プログラム３０３が、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能したりすることもできる。更に、クライアント用の機能を持つモジュールと、プリントサーバ用の機能を持つモジュールとを、印刷制御プログラム３０３として共に一台の情報処理装置にインストールし、それらを同時に、或いは時分割で擬似的に並列動作させることも可能である。本実施形態では、クライアントコンピュータ１０２〜１０４及びプリントサーバ１０１には、同じ印刷制御プログラム３０３がロードされる構成をとっている。
【００３１】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
図４において、ＦＤ２０４には、データの情報を示すボリューム情報４０１と、ディレクトリ情報４０２と、図３に示したようにしてＲＡＭ２０２に展開される印刷制御プログラム４０３と、印刷制御プログラム４０３の関連データ４０４とが格納されている。印刷制御プログラム４０３は、本実施形態で説明するフローチャートやタイムチャートに基づいてプログラム化されたものである。ＦＤ２０４に格納されている印刷制御プログラム４０３が、図３に示したように印刷制御プログラム３０３としてＲＡＭ２０２にロードされる。尚、前述したように、本実施形態では、クライアントコンピュータ１０２〜１０４及びプリントサーバ１０１には、同じ印刷制御プログラム４０３がＲＡＭ２０２にロードされる構成をとっている。
【００３２】
図５は、ＦＤドライブ２０３と、そのＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係の一例を示す図である。図５において、ＦＤ２０４には、本実施形態で説明するフローチャートやタイムチャートに基づいてプログラム化された印刷制御プログラム４０３や、その関連データ４０４等が格納されている。
【００３３】
図６は、プリントサーバ１０１と、ネットワークプリンタ１０５との機能的な構成の一例を示したブロック図である。プリントサーバ１０１内に示される、表示制御部１１、スプーラ１２、データ送受信管理部１３、機器内ジョブ管理部１４、ジョブ追跡部１５、ジョブ追跡情報記憶部１６の一部又は全部が図２で説明した印刷制御プログラム３０３により実現される機能に相当する。本実施形態では、例えば、この印刷制御プログラム３０３により印刷制御手段が実現される。尚、ここでは、プリントサーバ１０１がホストコンピュータ（クライアントコンピュータと呼ぶこともある）として動作する場合を例に挙げて説明する。また、ネットワークプリンタ１０５の代わりにネットワークプリンタ１０６を用いてもよい。
【００３４】
プリントサーバ１０１に設けられている表示制御部１１は、スプーラ１２にある印刷ジョブの一覧やネットワークプリンタ１０５中の印刷ジョブの一覧を表示部の一例であるディスプレイ２０７に表示させる。この印刷ジョブの一覧は、ネットワークプリンタ１０５に設けられた不揮発性メモリ及び揮発性メモリの何れか一方に記憶されているものである。また、印刷ジョブの実行指示を行うためのＧＵＩ（Graphic User Interface）としての機能を有する。このように本実施形態では、例えば、表示制御部１１を用いて表示制御手段が実現される。
【００３５】
スプーラ１２は、不図示の外部プログラム、或いは印刷ジョブを受け付ける。そして、スプーラ１２は、受け付けた外部プログラム、或いは印刷ジョブを、データ送受信管理部１３を経由してネットワークプリンタ１０５へ順次送信する。尚、スプーラ１２は、印刷ジョブをネットワークプリンタ１０５に送信する際に、ジョブ追跡部１５により発行されたジョブ追跡用識別情報の一例であるジョブ追跡用ＩＤを、図９に示すジョブチケット９１に付与する機能を有する。尚、前述したように、印刷ジョブの実行指示は、表示制御部１１により表示されたＧＵＩに対するユーザの操作結果に基づいて行われる。
【００３６】
データ送受信管理部１３は、ネットワークプリンタ１０５への送信データ、及びネットワークプリンタ１０５からの受信データを、ネットワーク１０７を介して送受信する機能を有する。
機器内ジョブ管理部１４は、ネットワークプリンタ１０５中の印刷ジョブを取得してキャッシュ（cache）し、表示制御部１１へ供給する機能を有する。また、機器内ジョブ管理部１４は、表示制御部１１により表示されたＧＵＩに対するユーザの操作結果に基づく指示を受け、印刷ジョブのキャンセル・停止等の制御コマンドを、データ送受信管理部１３を介してネットワークプリンタ１０５へ送信する機能を有する。
【００３７】
ジョブ追跡部１５は、スプーラ１２から、ネットワークプリンタ１０５で実行（印刷）された印刷ジョブ、或いは機器内ジョブ管理部１４によりキャッシュされた印刷ジョブの処理状況を追跡する。尚、ジョブ追跡部１５の詳細については図７を用いて後述する。
ジョブ追跡情報記憶部１６は、ジョブ追跡部１５が追跡している印刷ジョブに関する情報を保存する。本実施形態において、ジョブ追跡情報記憶部１６は、不揮発性メモリを用いて構成されている。これにより、印刷制御プログラム３０３が再起動された後であっても、ジョブ追跡部１５は、それ以前に得られた印刷ジョブに関する情報を用いて印刷ジョブの追跡を行う事ができる。
【００３８】
ネットワークプリンタ１０５に設けられているデータ送受信管理部２１は、ネットワークプリンタ１０５への送信データ、及びネットワークプリンタ１０５からの送信データを、ネットワーク１０７を介して送受信する機能を有する。データ送受信管理部２１は、例えば、プリントサーバ１０１より、印刷ジョブのデータ及び印刷ジョブの属性を受け取り管理する。
【００３９】
言語解析部２２は、印刷ジョブやコマンドのデータの内容を詳しく解析して印刷命令を解読し、その印刷命令に従って、印刷ジョブの管理や描画出力等に関連する制御コマンドを実行する。具体的に言語解析部２２は、例えば、データ送受信管理部２１内の受信バッファから、制御コマンド群を一つ一つ順番に受け取り、その内容をプリンタ制御言語の記述ルールに従って調査し、その制御コマンドがどのような処理を要求しているかを判別する。この判別の結果、制御コマンドが、印刷ジョブに関するコマンドであった場合や、印刷ジョブの属性に関するコマンドであった場合、言語解析部２２は、該当する印刷ジョブの管理命令をジョブ管理部２３に発行する。尚、印刷ジョブに関するコマンドは、例えば、印刷ジョブの開始宣言や終了宣言等である。また、印刷ジョブの属性に関するコマンドは、例えば、用紙サイズ、枚数、ステープル等である。
更に、制御コマンドが、文字や図形やイメージ等の描画出力を指令するものであった場合、言語解析部２２は、該当する印刷ジョブに基づく描画出力命令を描画出力部２４に対して行う。
【００４０】
ジョブ管理部２３は、言語解析部２２からの印刷ジョブの管理命令に従って、プリントサーバ１０１から送られてきた印刷ジョブの属性を、印刷ジョブ単位で作成したスケジュールに基づき管理する。
ジョブ管理部２３は、揮発性メモリを用いて構成されるジョブ情報管理メモリ２３１を備えている。このジョブ情報管理メモリ２３１には、後述するジョブ管理テーブルが格納されている。ジョブ管理部２３は、このジョブ管理テーブルを用いることにより、ジョブ単位の制御を行う。ジョブ管理テーブルに登録されている情報は、印刷ジョブの開始命令で初期化生成され、印刷ジョブの終了命令で確定する。
【００４１】
また、ジョブ管理部２３は、印刷ジョブの終了命令を受け取ったか否かに関わらず、後続する印刷ジョブのデータや、プリントサーバ１０１からの指示に基づいて、ジョブ管理テーブルに登録されている情報を変更することができる。具体的に、ジョブ管理部２３は、印刷ジョブの属性の変更や、スケジュール（印刷順序）の優先順位の変更や、印刷のキャンセル（印刷ジョブのデータの削除）等を行う事が可能である。
【００４２】
また、ジョブ管理部２３は、実行する印刷ジョブの属性に応じて、使用する用紙や排紙ビンの選択命令（プリンタ制御命令）をプリンタ制御部２５に対して発行する。更に、ジョブ管理部２３は、ネットワークプリンタ１０５の状態を、プリンタ制御部２５を介して取得することによって、実行中の印刷ジョブの状態を常に監視する。そして、ジョブ管理部２３は、エラーが発生したとき等、所定の条件が成立したときに、ステータス応答要求指令をステータス応答処理部２７に対して行う。
尚、ジョブ管理部２３の処理については後述する。
【００４３】
描画出力部２４は、印刷出力を行うための文字や図形やイメージ等の描画展開を行い出力する機能を有する。例えば、描画出力部２４は、言語解析部２２からの描画出力命令に従って、該当する文字パターンを作成したり、図形の計算やイメージデータの展開処理等を行ったりして、出力に適したデータ形式に印刷データを展開した上で、プリンタエンジン２６に送出する。
プリンタエンジン２６は、描画出力部２４によって出力に適したデータ形式に変換された印刷データ（出力展開データ）に従い、例えば電子写真方式等の仕組みを用いて、実際に紙面に画像を形成して印刷出力処理を行う。
また、プリンタエンジン２６は、記録紙の残量検知手段を持ち、用紙がセットされていない場合には常に警告信号をプリンタ制御部２５へ送出している。また展開・印刷処理に際して用紙が無い場合、プリンタエンジン２６は、プリンタドラム等の記録手段を停止させ、割り込み等の手段でプリンタ制御部２５へエラー信号を送出する。
【００４４】
プリンタ制御部２５は、ジョブ管理部２３からのプリンタ制御命令に従い、例えば、使用する用紙の選択を行ったり、ネットワークプリンタ１０５の初期化等を行ったりして、ネットワークプリンタ１０５の制御を行う機能を有している。また、プリンタ制御部２５は、給紙カセットの状態、ドアオープン、及びトナー無し等、ネットワークプリンタ１０５全般の状態を常時監視しており、必要に応じて他のコンポーネントへネットワークプリンタ１０５の状態を通知する機能も有している。
尚、用紙残量やエラー状態等、ネットワークプリンタ１０５の最新の状態は、プリンタ制御部２５内に設けられたプリンタ情報管理メモリ２５１内に保存されている。
【００４５】
ステータス応答処理部２７は、ジョブ管理部２３から受け取ったステータス応答要求指令に従い、ネットワークプリンタ１０５の内部形式で表現されたステータス通知を、プリントサーバ１０１で理解可能な外部表現へ変換してステータス応答情報を作成する。ジョブ管理部２３から受け取るステータスは、ジョブ管理部２３自身が揮発性メモリ上で展開されるジョブ管理テーブルで管理されるステータスと、不揮発性メモリ上で印刷履歴記憶部２８により管理されるステータスとの何れをも含む。そして、ステータス応答処理部２７は、このステータス応答情報をデータ送受信管理部２１へ伝達する。
【００４６】
データ送受信管理部２１は、ステータス応答処理部２７から、ステータス応答情報を受け取ると、そのステータス応答情報を送信バッファ等に一時的に蓄え、その蓄えたステータス応答情報を、ネットワーク１０７を介してプリントサーバ１０１に返信する。
印刷履歴記憶部２８は、ハードディスク等の不揮発性メモリ上で後述の図１８（ｂ）に示すレスポンスを生成する為の印刷の処理結果のステータスを管理する。プリントサーバ１０１が揮発性メモリ上で展開されるジョブ管理テーブルからジョブの状態を取得できない場合に、この印刷履歴記憶部２８が印刷ジョブの処理結果であるジョブ履歴がプリントサーバ１０１に送信される。
【００４７】
図７は、ジョブ追跡部１５の詳細な構成の一例を示したブロック図である。
図７において、ジョブ追跡ＩＤ生成部１５１は、スプーラ１２から印刷ジョブが送信されるとき、或いは機器内ジョブ管理部１４によりキャッシュされた印刷ジョブの印刷が実行されるときに、その印刷ジョブの状態を追跡するためのユニークなＩＤを生成する。以下の説明では、このＩＤをジョブ追跡用ＩＤと称する。尚、本実施形態では、ジョブ追跡用ＩＤの一例として、ＵＵＩＤ（Universally Unique Identifier）を用いる。
【００４８】
ジョブ生成・抹消検知部１５２は、ジョブ追跡ＩＤ生成部１５１から受け取ったジョブ追跡用ＩＤを、ジョブ追跡情報記憶部１６に記憶されているジョブ追跡情報テーブルを用いて管理する。また、ジョブ生成・抹消検知部１５２は、イベント受信部１５３、ジョブ属性ポーリング部１５４、及びスプーラ１２からの情報を受ける。するとジョブ生成・抹消検知部１５２は、それらの情報に基づいて、ジョブ追跡ＩＤ生成部１５１で生成されたジョブ追跡用ＩＤを持つ印刷ジョブが、ネットワークプリンタ１０５内に生成されたか否かと、印刷処理が終了して抹消されたか否かとを監視する。
【００４９】
イベント受信部１５３は、データ送受信管理部１３を介して、ネットワークプリンタ１０５からイベント情報を受信する。また、イベント受信部１５３は、プリントサーバ１０１内で発生したイベント情報も受信する。イベント情報は、例えば、印刷ジョブの状態が変化したことを示すジョブ状態変化イベントや、タイマの起動を示すタイマイベント等である。ここで、印刷ジョブの状態には、印刷ジョブの完了も含まれる。
ジョブ属性ポーリング部１５４は、印刷ジョブの情報（例えば属性）を、ポーリング処理を行って取得する。
尚、本実施形態では、ジョブ生成・抹消検知部１５２、イベント受信部１５３、及びジョブ属性ポーリング部１５４を用いて、ネットワークプリンタ１０５における処理結果を確認するタイミングを制御する処理結果確認タイミング制御部１５０が構成される。ここでの処理結果には、印刷ジョブの正常終了、異常終了、及びキャンセル終了等が含まれる。
【００５０】
処理結果問い合わせ部１５５は、ジョブ生成・抹消検知部１５２により、確認対象である印刷ジョブが抹消されたことが検知された場合に、後述するコマンドを用いて、その印刷ジョブの処理結果を問い合わせる機能を有する。
尚、ジョブ追跡部１５の詳細な処理フローチャートについては、図１５を用いて後述する。
【００５１】
図８は、ある時点におけるジョブ追跡情報テーブルの状態の一例を示す図である。このジョブ追跡情報テーブルは、前述したように、ジョブ追跡情報記憶部１６に記憶されている。
図８に示すジョブ追跡情報管理テーブルでは、ユニークなジョブＩＤ８１を用いて、各種の情報がテーブル形式で管理されている。ジョブＩＤ８１は、ジョブ追跡情報管理テーブル内での各レコードを一意に特定する為の識別子である。本実施形態においては、ジョブＩＤ８１をジョブ追跡用ＩＤ８２で代用することもできる。更に具体的に、ジョブ追跡用ＩＤ８２、ネットワークプリンタ１０５内の印刷ジョブのＩＤ（機器内ジョブＩＤ）８３、ネットワークプリンタ１０５内の印刷ジョブの処理状態（ジョブの状態）８４、及び印刷ジョブの属性（ジョブ属性）８５が管理されている。図８に示す例では、２つの印刷ジョブを追跡中である。これら２つの印刷ジョブのうち、ジョブＩＤ８１が「２」の印刷ジョブは、ネットワークプリンタ１０５内で生成されていないため、機器内ジョブＩＤ８３及びジョブの状態８４が空欄になっている。尚、ジョブ追跡情報管理テーブルの内容は、ネットワークプリンタ制御プログラム４０３による処理（ジョブ生成・抹消検知部１５２）によって変更される。そして、図８中のジョブ追跡用ＩＤ８２をキーにして、後述する図１６に示されるジョブ状態変化イベント、及び、図１７（ｂ）、図１８（ｂ）に示されるネットワークプリンタ１０５からのレスポンスがどの印刷ジョブに対応するかが特定される。
【００５２】
図９は、本実施形態の印刷管理システムで利用される印刷ジョブのデータの一例を示す図である。
図９において、印刷ジョブのデータは、印刷設定を保持するジョブチケット９１と、ＰＤＦやＰＳ等の印刷データ９２とを有しており、ジョブチケット９１の内容から印刷データの場所が参照されている。尚、ジョブチケット９１は、例えば、ＪＤＦ（Job Definition Format）に基づくものとすることができる。
【００５３】
図１０は、ジョブチケット９１の一例を示す図である。
図１０に示すジョブチケット９１には、印刷部数、用紙サイズ、及びジョブ名等の印刷属性１００５の他に、ネットワークプリンタ制御プログラム４０３が印刷ジョブを識別・管理する為のジョブＩＤ１００１と、前述したジョブ追跡用ＩＤ１００２とが含まれる。
尚、印刷属性１００５の一種である総頁数は、印刷データ９２を展開するまで確定しない場合があり、不明な場合もあり得る。更に、本実施形態におけるジョブチケット９１では、頁範囲を特定して例外的な設定（例外設定）を行うことが可能である。図１０に示す例では、１〜２頁に対して用紙タイプ「厚紙」が指定されており、２３〜２４頁に対しても同様に「厚紙」が指定されている。例外設定されている頁では、印刷ジョブの全体に設定される用紙タイプ（「普通紙」）に代わり、例外設定されている用紙タイプ（「厚紙」）が利用される。尚、例外設定の対象となる印刷属性を複数種類にすることもでき、夫々について例外設定された印刷属性が利用される。また、例外設定で指定されていない頁の印刷属性は、印刷ジョブ全体における印刷属性１００５ａが利用されるものとする。
【００５４】
図１１は、図６に示したジョブ情報管理メモリ２３１に記憶されているジョブ管理テーブルの一例を示す図である。図１１では、図８に示したジョブ追跡情報テーブルに記憶されている印刷ジョブが存在している場合を例に挙げて示している。
図１１において、ジョブ管理テーブルでは、ジョブの状態１１０４、受け付け番号１１０１といった情報と共に、前述したジョブチケット９１から抽出された情報（ジョブ追跡用ＩＤ１１０２、機器内ジョブＩＤ１１０３、ジョブ属性１１０５）が管理されている。図１１では、図１２に示す処理手順に従って機器内ジョブＩＤが「０ｘ１１１８１」の印刷ジョブを受信した直後の状態を示している。受け付け番号１１０１は、プリンタ側のジョブ情報管理メモリ２３１内の各レコードを一意に整理する為のものである。本実施形態においては、受け付け番号１１０１を機器内ジョブＩＤで代用しても良い。
【００５５】
図１２は、プリントサーバ１０１にロードされた印刷制御プログラム３０３の処理によって、プリントサーバ１０１からネットワークプリンタ１０５へ印刷ジョブを送信する際の印刷管理システムにおける処理手順の一例を示すシーケンス図である。すなわち、図１２は、スプーラ１２にある印刷ジョブをネットワークプリンタ１０５に送信する場合の印刷管理システムにおける処理に対応する。
まず、Ｓ１２０１において、スプーラ１２は、印刷ジョブの送信処理を開始する。そうすると、Ｓ１２０２において、スプーラ１２は、ジョブ追跡部１５にジョブ追跡用ＩＤの生成を依頼する。
【００５６】
次に、Ｓ１２０３において、ジョブ追跡部１５は、ジョブ追跡用ＩＤ（ＵＵＩＤ）を生成する。
次に、Ｓ１２０４において、ジョブ追跡部１５は、印刷ジョブの追跡処理を開始するためにタイマイベントを発生する（プリントサーバ１０１が備えるタイマに所定値を登録（セット）する）。
次に、Ｓ１２０５において、ジョブ追跡部１５は、Ｓ１２０３で生成されたジョブ追跡用ＩＤを、スプーラ１２に出力する。尚、ジョブ追跡部１５における印刷ジョブの追跡処理は、図１５を用いて詳述する。
【００５７】
スプーラ１２は、ジョブ追跡用ＩＤを受け取ると、Ｓ１２０６において、前述したジョブチケット９１のジョブ追跡用ＩＤ１００２として、受け取ったジョブ追跡用ＩＤを設定（付与）する。続いてＳ１２０７において、スプーラ１２は、Ｓ１２０６でジョブ追跡用ＩＤが設定されたジョブチケット９１と印刷データ９２とを含む印刷ジョブをネットワークプリンタ１０５へ送信する。そして、Ｓ１２０８において、スプーラ１２は、ネットワークプリンタ１０５からの応答があるまで待機する。
【００５８】
次に、Ｓ１２０９において、ネットワークプリンタ１０５は、印刷ジョブを受信すると、印刷ジョブを生成し、印刷ジョブの状態が変化したことを示すジョブ状態変化イベントを、ジョブ追跡部１５へ通知する。図７に示したイベント受信部１５３は、このジョブ状態変化イベントを受け取って、ジョブ生成・抹消検知部１５２に出力する。ジョブ生成・抹消検知部１５２は、イベント受信部１５３から出力されたジョブ状態変化イベントに基づいて、図８に示したジョブ追跡情報テーブルを更新する。このジョブ状態変化イベントを受け取ることにより、ジョブ生成・抹消検知部１５２は、印刷ジョブが生成されたことを検知する。また、印刷ジョブの状態変化には、印刷の正常終了、異常終了、及びキャンセル終了等も含まれ、Ｓ１２１３以降のタイミングでもネットワークプリンタ１０５からジョブ追跡部１５へ、印刷ジョブの状態変化の通知がなされる。
【００５９】
次に、Ｓ１２１０において、ジョブ追跡部１５内のイベント受信部１５３は、プリントサーバ１０１が備えるタイマがタイムアップするとタイマイベントの通知を受ける。そして、Ｓ１２１１において、ジョブ属性ポーリング部１５４は、Ｓ１２０７でスプーラ１２から送信された印刷ジョブの送信先であるネットワークプリンタ１０５に対して、印刷ジョブのポーリング処理を行う。該ポーリングの応用により、ジョブ属性ポーリング部１５４は、Ｓ１２０６で設定されたジョブ追跡用ＩＤが付与された印刷ジョブの情報（例えば属性や印刷ジョブの状態）をネットワークプリンタ１０５から取得する。そして、ジョブ生成・抹消検知部１５２は、ジョブ属性ポーリング部１５４で取得された印刷ジョブの情報に基づいて、図８に示したジョブ追跡情報テーブルを更新する。尚、このＳ１２１１のポーリングに対する応答に含まれるステータスにも、印刷の正常終了、異常終了、及びキャンセル終了等が含まれるものとする。
【００６０】
次に、Ｓ１２１２において、ネットワークプリンタ１０５が、印刷ジョブの受信処理が完了するまで待機する。印刷ジョブの受信処理が完了すると、Ｓ１２１３において、ネットワークプリンタ１０５は、ネットワークプリンタ１０５内に生成されたジョブのＩＤを、スプーラ１２に対して送信する。このＩＤは、例えば、図１１に示した機器内ジョブＩＤ（「０ｘ１１１８１」）である。無論、プリントサーバ１０１は、Ｓ１２０７で行われる印刷ジョブの送信後に、即時、ネットワークプリンタ１０５から機器内ジョブＩＤを取得するようにしても良い。しかし本実施形態では、ネットワークプリンタ１０５における印刷ジョブの処理完了（例えば印刷完了）を確実に監視するという意味で、ネットワークプリンタ１０５による印刷ジョブの処理完了に応じてＳ１２１３で機器内ジョブＩＤをスプーラ１２側で取得する。
【００６１】
スプーラ１２は、機器内ジョブＩＤを受信すると、Ｓ１２１４において、その機器内ジョブＩＤを、ジョブ生成・抹消検知部１５２に出力する。ジョブ生成・抹消検知部１５２は、スプーラ１２から出力された機器内ジョブＩＤを、図８に示したジョブ追跡情報テーブルに登録する。ジョブ生成・抹消検知部１５２は、例えば、図８で示したジョブＩＤが「２」の機器内ジョブＩＤ８３として、「０ｘ１１１８１」の機器内ジョブＩＤを設定する。
【００６２】
尚、Ｓ１２０９、Ｓ１２１１、Ｓ１２１４でジョブ追跡部１５が行うジョブ追跡処理の詳細は、図１５を用いて後述する。また、Ｓ１２０７〜Ｓ１２１３の間のタイミングでネットワークプリンタ１０５が行う印刷ジョブの受信処理の詳細は、図１３を用いて後述する。
【００６３】
図１３は、ネットワークプリンタ１０５における印刷ジョブの受信処理の一例を説明するフローチャートである。
Ｓ１３０１において、データ送受信管理部２１は、ジョブチケット９１が受信されるまで待機する。ジョブチケット９１が受信されると、Ｓ１３０２に進む。Ｓ１３０２に進むと、言語解析部２２は、Ｓ１３０１で受信されたジョブチケット９１を解析する。
【００６４】
次に、Ｓ１３０３において、ジョブ管理部２３は、ジョブ情報管理メモリ２３１、新しい印刷ジョブを生成する。例えば、ジョブ管理部２３は、図１１に示した機器内ジョブＩＤが「０ｘ１１１８１」の印刷ジョブを生成する。このように、Ｓ１３０３で機器内ジョブＩＤが生成される。
以上のようにしてネットワークプリンタ１０５内に印刷ジョブが生成されると、ステータス応答処理部２７は、印刷ジョブの状態が変化したことを示すジョブ状態変化イベントを生成する。そして、データ送受信管理部２１は、ステータス応答処理部２７で生成されたジョブ状態変化イベントを、Ｓ１３０１で受信されたジョブチケット９１の送信元であるスプーラ１２に対して送信する。
【００６５】
次に、Ｓ１３０４において、データ送受信管理部２１は、印刷データ９２の全てを受信するまで待機する。印刷データ９２の全てが受信されると、Ｓ１３０５に進む。Ｓ１３０５に進むと、データ送受信管理部２１は、Ｓ１３０３で生成された機器内ジョブＩＤ（例えば「０ｘ１１１８１」）を、スプーラ１２に対して送信する。このＳ１３０４の処理は、図１２に示したＳ１２１３に対応する処理である。
【００６６】
続いてＳ１３０６において、描画出力部２４は、Ｓ１３０１で受信されたジョブチケット９１と、Ｓ１３０４で受信された印刷データ９２とに基づいて、描画処理を行う。そして、Ｓ１３０７において、プリンタエンジン２６は、Ｓ１３０６で行われた描画処理の結果に基づいて、紙面に画像を形成する印刷処理を実行する。尚、Ｓ１３０７の描画処理、Ｓ１３０８の印刷処理は、夫々キューイングされ、先行する印刷ジョブが存在する場合には待ち状態に入る。
【００６７】
図１４は、プリントサーバ１０１にロードされた印刷制御プログラム３０３の処理に基づいて、ネットワークプリンタ１０５のハードディスク等に蓄積されている印刷ジョブを実行する際の印刷管理システムにおける処理手順の一例を示すシーケンス図である。このハードディスクには複数の印刷ジョブが蓄積されており、ユーザは任意のタイミングで蓄積された何れかの印刷ジョブに対して、操作パネル又は遠隔のコンピュータ（プリントサーバ１０１）から再印刷指示を行うことができる。
【００６８】
まず、Ｓ１４０１において、機器内ジョブ管理部１４は、ネットワークプリンタ１０５に蓄積されている印刷ジョブの実行（印刷処理）を開始指示する。この印刷ジョブの開始指示に際して、表示制御部１１は、ネットワークプリンタ１０５の不揮発性メモリ又は揮発性メモリに蓄積された印刷ジョブの一覧を印刷制御プログラム３０３によりプリントサーバ１０１に表示させる。そして、表示された印刷ジョブの一覧から、ユーザが所望する印刷ジョブの実行指示をトリガーにして、印刷ジョブの開始指示が行われる。
以上のように本実施形態では、Ｓ１４０１で、プリントサーバ１０１のＣＰＵ２００が、ＦＤ２０４やＨＤ２０５内の印刷制御プログラム３０３を実行することにより表示制御ステップが実現される。
【００６９】
次に、Ｓ１４０２において、機器内ジョブ管理部１４は、ジョブ追跡部１５に対して、ジョブ追跡用ＩＤの生成を依頼する。
次に、Ｓ１４０３において、ジョブ追跡部１５は、ジョブ追跡用ＩＤ（ＵＵＩＤ）を生成する。このように本実施形態では、例えば、ジョブ追跡部１５により、生成手段が実現される。また、例えば、Ｓ１４０３で、プリントサーバ１０１のＣＰＵ２００が、ＦＤ２０４やＨＤ２０５内の印刷制御プログラム３０３を実行することにより生成ステップが実現される。
【００７０】
次に、Ｓ１４０４において、ジョブ追跡部１５は、印刷ジョブの追跡処理を開始するためにタイマイベントを発生する（プリントサーバ１０１が備えるタイマに所定値を登録（セット）する）。
【００７１】
次に、Ｓ１４０５において、ジョブ追跡部１５は、Ｓ１４０３で生成されたジョブ追跡用ＩＤを、機器内ジョブ管理部１４に出力する。尚、ジョブ追跡部１５における印刷ジョブの追跡処理は、図１５を用いて詳述する。
機器内ジョブ管理部１４は、ジョブ追跡用ＩＤを受け取ると、Ｓ１４０６において、受け取ったジョブ追跡用ＩＤを用いて、ネットワークプリンタ１０５に対して印刷の実行を指示する。具体的に機器内ジョブ管理部１４は、受け取ったジョブ追跡用ＩＤを含む制御コマンドを、データ送受信管理部１３を介してネットワークプリンタ１０５に送信することによって、ネットワークプリンタ１０５に対して印刷の実行を指示する。このように本実施形態では、例えば、データ送受信管理部１３及び機器内ジョブ制御を用いて、通知手段が実現される。また、例えば、Ｓ１４０６で、プリントサーバ１０１のＣＰＵ２００が、ＦＤ２０４やＨＤ２０５内の印刷制御プログラム３０３を実行することにより通知ステップが実現される。
【００７２】
次に、Ｓ１４０７において、ネットワークプリンタ１０５は、印刷ジョブを実行することにより新たに機器内ジョブＩＤを生成すると、その機器内ジョブＩＤを直ちに機器内ジョブ管理部１４に対して送信する。
【００７３】
機器内ジョブ管理部１４は、ネットワークプリンタ１０５から機器内ジョブＩＤを受信すると、Ｓ１４０８において、その機器内ジョブＩＤを、ジョブ生成・抹消検知部１５２に出力する。ジョブ生成・抹消検知部１５２は、スプーラ１２から出力された機器内ジョブＩＤを、図８に示したジョブ追跡情報テーブルに登録し、ジョブ追跡部１５は、印刷ジョブの追跡処理を行う。
【００７４】
次に、Ｓ１４０９において、ネットワークプリンタ１０５は、印刷ジョブを実行すると、新たな印刷ジョブを生成し、印刷ジョブの状態が変化したことを示すジョブ状態変化イベントを、ジョブ追跡部１５へ通知する。尚、Ｓ１４０９でジョブ追跡部１５に通知される状態変化イベントにも、Ｓ１２０９で説明したジョブ状態変化イベントと同様に、印刷の正常終了、異常終了、及びキャンセル終了等が含まれる。
図７に示したイベント受信部１５３は、このジョブ状態変化イベントを受け取って、ジョブ生成・抹消検知部１５２に出力する。ジョブ生成・抹消検知部１５２は、イベント受信部１５３から出力されたジョブ状態変化イベントに基づいて、図８に示したジョブ追跡情報テーブルを更新する。
【００７５】
次に、Ｓ１４１０において、ジョブ追跡部１５内のイベント受信部１５３は、プリントサーバ１０１が備えるタイマがタイムアップするとタイマイベントの通知を受ける。そして、Ｓ１４１１において、ジョブ属性ポーリング部１５４は、Ｓ１４０６で印刷の実行を指示したネットワークプリンタ１０５に対して、印刷ジョブのポーリング処理を行い、印刷ジョブの情報（例えば属性や印刷ジョブの状態）を取得する。そして、ジョブ生成・抹消検知部１５２は、ジョブ属性ポーリング部１５４で取得された印刷ジョブの情報に基づいて、図８に示したジョブ追跡情報テーブルを更新する。尚、このＳ１４１１で行われるポーリングに対する応答に含まれるステータスにも印刷の正常終了、異常終了、及びキャンセル終了等が含まれるものとする。
尚、ジョブ追跡部１５が行うジョブ追跡処理の詳細は図１５を用いて詳述する。
【００７６】
図１５は、ジョブ追跡部１５が行うジョブ追跡処理の一例を詳細に説明するフローチャートである。この図１５のフローチャートの処理は、図１２のＳ１２０１、図１４のＳ１４０１の印刷指示に応じて、プリントサーバ１０１の不意の電源遮断等が起きない限り、通常の印刷制御処理として実行される処理に相当する。
まず、Ｓ１５０１において、ジョブ追跡部１５内のイベント受信部１５３は、イベント情報が入力されるまで待機する。イベント情報が入力されると、Ｓ１５０２に進む。
【００７７】
Ｓ１５０２に進むと、イベント受信部１５３は、入力したイベント情報が、追跡中の印刷ジョブに対する処理結果イベント（例えば印刷完了イベント）か否かを判定する。この判定の結果、入力したイベント情報が、追跡中の印刷ジョブに対する処理結果イベント（印刷ジョブの状態通知）である場合には、Ｓ１５０３〜Ｓ１５０９を省略して、後述するＳ１５１０に進む。一方、入力したイベント情報が、追跡中の印刷ジョブに対する処理結果イベントでない場合には、Ｓ１５０３に進む。このように、Ｓ１５０２で判定される印刷ジョブの状態通知は、ネットワークプリンタ１０５から通知されるイベント情報によって行われる。
【００７８】
Ｓ１５０３に進むと、イベント受信部１５３は、入力したイベント情報が、追跡中の印刷ジョブの状態が変化したことを示すジョブ状態変化イベントか否かを判定する。このＳ１５０３の処理は、図１２のＳ１２０９、図１４のＳ１４１０に対応する処理である。この判定の結果、入力したイベント情報が、追跡中の印刷ジョブの状態が変化したことを示すジョブ状態変化イベントである場合にはＳ１５０４に進む。Ｓ１５０４に進むと、ジョブ生成・抹消検知部１５２は、入力されたジョブ状態変化イベントに基づいて、ジョブ追跡情報記憶部１６に記憶されているジョブ追跡情報テーブルを更新する。尚、本実施形態におけるジョブ状態変化イベントの例は、図１６を用いて後述する。そして、Ｓ１５０１に戻り、イベント情報が入力されるまで待機する。
【００７９】
一方、Ｓ１５０３において、入力したイベント情報が、追跡中の印刷ジョブの状態が変化したことを示すジョブ状態変化イベントでない場合には、Ｓ１５０５に進む。Ｓ１５０５に進むと、イベント受信部１５３は、入力したイベント情報が、タイマイベントか否かを判定する。この判定の結果、入力したイベント情報が、タイマイベントでない場合には、Ｓ１５０１に戻り、イベント情報が入力されるまで待機する。一方、入力したイベント情報が、タイマイベントである場合には、Ｓ１５０６に進む。Ｓ１５０６に進むと、ジョブ属性ポーリング部１５４は、ネットワークプリンタ１０５に対して、印刷ジョブのポーリング処理を行い、印刷ジョブの情報（例えば属性）を取得する。このＳ１５０６の処理は、図１２のＳ１２１１、図１４のＳ１４１２に対応する処理である。尚、本実施形態おけるジョブ属性ポーリング処理に用いるコマンドとレスポンスの一例は、図１７を用いて後述する。
【００８０】
次に、Ｓ１５０７で、ジョブ生成・抹消検知部１５２は、Ｓ１５０６で取得された印刷ジョブの情報（印刷ジョブの状態通知）と、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルとをジョブ追跡用ＩＤ８２をキーにして照合する。そして、ジョブ生成・抹消検知部１５２は、照合した結果に基づいて、追跡中の印刷ジョブの情報が取得できたか否かを判定する。このように、Ｓ１５０７で判定される印刷ジョブの状態通知は、ネットワークプリンタ１０５へのポーリングに従う応答によって行われる。
この判定の結果、追跡中の印刷ジョブの情報が取得できた場合には、Ｓ１５０８に進む。Ｓ１５０８に進むと、ジョブ生成・抹消検知部１５２は、Ｓ１５０６で取得された印刷ジョブの情報に基づいて、ジョブ追跡情報記憶部１６に記憶されているジョブ追跡情報テーブルを更新する。
以上のように本実施形態では、例えば、ジョブ生成・抹消検知部１５２及びイベント受信部１５３（ジョブ追跡部１５）を用いて、判定手段が実現される。また、例えば、Ｓ１５０２、Ｓ１５０７で、プリントサーバ１０１のＣＰＵ２００が、ＦＤ２０４やＨＤ２０５内の印刷制御プログラム３０３を実行することにより判定ステップが実現される。
【００８１】
次に、Ｓ１５１１において、ジョブ生成・抹消検知部１５２、印刷ジョブの状態が、印刷ジョブの終了（印刷ジョブの正常終了、異常終了、又はキャンセル終了）であるか否かを判定する。この判定の結果、印刷ジョブの状態が、印刷ジョブの終了である場合には、後述するＳ１５１０に進む。一方、印刷ジョブの状態が、印刷ジョブの終了でない場合には、Ｓ１５０１に戻り、イベント情報が入力されるまで待機する。
【００８２】
Ｓ１５０７において、追跡中の印刷ジョブの情報が取得できなかったと判定された場合には、追跡中の印刷ジョブが抹消（消滅）したと判断し、Ｓ１５０９に進む。Ｓ１５０９に進むと、処理結果問い合わせ部１５５は、追跡中の印刷ジョブを処理しているネットワークプリンタ１０５に対して、印刷ジョブの処理結果の問い合わせを行う。Ｓ１５０９の処理結果の問い合わせを言語解析部２２で解析したネットワークプリンタ１０５は、ジョブ管理部２３を介して印刷履歴記憶部２８よりレスポンス情報を読み出す。そして、ネットワークプリンタ１０５は、読み出したレスポンス情報を、ステータス応答処理部２７を介してプリントサーバ１０１に送信し、処理結果の問い合わせに対する応答を行う。印刷ジョブの処理結果の問い合わせに用いるコマンドとレスポンスとの一例は、図１８を用いて後述する。
以上のように本実施形態では、例えば、処理結果問い合わせ部１５５（ジョブ追跡部１５）を用いて追跡手段が実現される。また、例えば、Ｓ１５０９で、プリントサーバ１０１のＣＰＵ２００が、ＦＤ２０４やＨＤ２０５内の印刷制御プログラム３０３を実行することにより追跡ステップが実現される。
【００８３】
次に、Ｓ１５１０において、ジョブ生成・抹消検知部１５２は、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルから、該当する印刷ジョブの情報を抹消し、印刷履歴ファイルに処理結果や、印刷済み枚数等を書き込む。尚、印刷履歴ファイルは、例えば、プリントサーバ１０１に設けられている不揮発メモリに記憶されている。
尚、以上の図１５に示すフローチャートの処理は、プリントサーバ１０１が起動される度に自動的に行うようにするのが好ましい。
【００８４】
図１６は、ジョブ状態変化イベントの情報の一例を示す図である。
図１６において、ジョブ状態変化イベントには、パケットタイプ（Packet Type）１６０１、リクエストＩＤ（ReqID）１６０２、機器内ジョブＩＤ１６０３、ジョブ追跡用ＩＤ１６０４、及びジョブの状態１６０５が含まれる。ここで、ジョブ追跡用ＩＤ１６０４は、図１０に示したジョブチケット９１中のジョブ追跡用ＩＤ１００２と、図８に示したジョブ追跡情報テーブル中のジョブ追跡用ＩＤ８２とに対応したものである。ジョブ追跡部１５は、ジョブ状態変化イベントに含まれるジョブ追跡用ＩＤ１６０４と、ジョブ追跡情報テーブル中のジョブ追跡用ＩＤ８２とを比較する事によって、ジョブ追跡用ＩＤ１６０４と一致するジョブ追跡用ＩＤ８２に関する情報を更新する。
【００８５】
図１７は、本実施形態におけるジョブ属性ポーリング処理に用いられるコマンド（ジョブ属性ポーリングコマンド）と、そのジョブ属性ポーリングコマンドに対するレスポンス（応答）の内容の一例を示す図である。
図１７（ａ）は、ジョブ属性ポーリングコマンドの内容の一例を示す図である。図１７（ａ）では、２つの印刷ジョブから、印刷ジョブの属性として、印刷ジョブの状態（属性１７０８）と、ジョブ追跡用ＩＤ（属性１７０９）とを取得する場合を例に挙げて示している。尚、２つの印刷ジョブから、印刷ジョブの属性を取得する事は、取得ジョブ数１７０４が「２」であることから判断される。また、ジョブ属性ポーリングコマンドには、パケットタイプ（Packet Type）１７０１、リクエストＩＤ（ReqID）１７０２、及びオペレーションコード（OpCode）１７０３が存在している。
【００８６】
ジョブ属性ポーリングコマンドは、ネットワークプリンタ１０５内のジョブ管理部２３で処理される。
図１７（ｂ）は、図１７（ａ）で示されたジョブ属性ポーリングコマンドに対するレスポンス（応答）の内容の一例を示す図である。ジョブ管理部２３は、ジョブ情報管理メモリ２３１から、機器内ジョブＩＤ１７０５、１７０６と、取得する印刷ジョブの属性１７０８、１７０９とをキーとして必要な情報を抽出する事により、ジョブ属性ポーリングコマンドに対するレスポンスを作成する。
このレスポンスを受けたジョブ追跡部１５は、そのレスポンスに含まれるジョブ追跡用ＩＤ１７０９´と、ジョブ追跡情報記憶部１６に記憶されているジョブ追跡用情報記憶テーブル内のジョブ追跡用ＩＤ８２とを比較する。そして、ジョブ追跡部１５は、ジョブ追跡用ＩＤ１７０９´と一致するジョブ追跡用ＩＤ８２に関する情報を更新する。
【００８７】
図１８は、印刷ジョブの処理結果の問い合わせに用いられるコマンド（処理結果問い合わせコマンド）と、その処理結果問い合わせコマンドに対するレスポンス（応答）の内容の一例を示す図である。
図１８（ａ）は、処理結果問い合わせコマンドの内容の一例を示す図である。図１８（ａ）では、ジョブ追跡用ＩＤ１８０４が「８３４ｆｂｆ０７−８６ｄ３−４２２６−９３ｄｆ−２０ｆ３６ｃ２９９８４４」で示される印刷ジョブの処理結果を問い合わせる場合を例に挙げて示している。この他、処理結果問い合わせコマンドには、パケットタイプ（Packet Type）１８０１、リクエストＩＤ（ReqID）１８０２、及びオペレーションコード（OpCode）１８０３が存在している。このように本実施形態では、ジョブ追跡用ＩＤ１８０４を用いて、印刷ジョブの処理結果を問い合わせるようにしている。
【００８８】
図１８（ｂ）は、図１８（ａ）で示された処理結果問い合わせコマンドに対するレスポンス（応答）の内容を示す図である。図１８（ｂ）では、ジョブ追跡用ＩＤ１８０４が、「８３４ｆｂｆ０７−８６ｄ３−４２２６−９３ｄｆ−２０ｆ３６ｃ２９９８４４」で示される印刷ジョブの処理結果として、次の内容が応答される場合を例に挙げて示している。すなわち、図１８（ｂ）では、印刷ジョブの処理結果として、ジョブの処理結果１８０６が「ＯＫ（正常終了）」であり、印刷済み枚数１８０７が「３枚」が応答される場合を例に挙げて示している。尚、印刷ジョブの処理結果は、例えば、ネットワークプリンタ１０５内のハードディスク等の不揮発性メモリを用いて構成される印刷履歴記憶部２８から読み出されることもある。また、この印刷履歴記憶部２８には、ジョブ追跡用ＩＤ１８０４、機器内ジョブＩＤ１８０５、ジョブの処理結果１８０６、及び印刷済み枚数１８０７が、１つの印刷ジョブあたり１つのレコードして記憶されている。
【００８９】
図１９は、印刷ジョブ状態復元処理の一例を説明するフローチャートである。より具体的には、例えばプリントサーバ１０１の不意の電源遮断により図６の印刷制御プログラムが強制終了し、その後に、印刷制御プログラムが再度起動した再に実行される処理に相当する。この図１９における処理は、印刷制御プログラム３０３の初期化処理の中で呼び出され、ジョブ追跡部１５において実行される。
まず、Ｓ１９０１において、ジョブ生成・抹消検知部１５２は、ジョブ追跡情報記憶部１６に記憶されているジョブ追跡情報テーブル内の情報（ジョブ追跡情報）を読み出す。
次に、Ｓ１９０２において、ジョブ生成・抹消検知部１５２は、ジョブの状態８４が「送信済み」になっているジョブ追跡情報が存在しているか否かを判定する。この判定の結果、ジョブの状態８４が「送信済み」になっているジョブ追跡情報が存在しない場合には、ジョブ状態復元処理を終了する。尚、ジョブの状態８４が「送信済み」でない印刷ジョブに関しては一時停止状態として復元処理を行うようにしてもよい。
【００９０】
一方、ジョブの状態８４が「送信済み」になっているジョブ追跡情報が存在した場合には、Ｓ１９０３に進む。Ｓ１９０３に進むと、ジョブ属性ポーリング部１５４は、ネットワークプリンタ１０５に対して、印刷ジョブのポーリング処理を行い、印刷ジョブの情報（例えば属性や印刷ジョブの処理結果）を取得する。
【００９１】
次に、Ｓ１９０４において、ジョブ生成・抹消検知部１５２は、Ｓ１９０３で取得された印刷ジョブの情報が、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルに存在するか否かをジョブ追跡用ＩＤをキーにして判定する。この判定の結果、Ｓ１９０３で取得された印刷ジョブの情報が、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルに存在する場合、追跡中の印刷ジョブの情報が取得できたと判断し、Ｓ１９０５に進む。Ｓ１９０５に進むと、ジョブ生成・抹消検知部１５２は、Ｓ１９０３で取得した印刷ジョブの情報に基づいて、図８に示したジョブ追跡情報テーブル（例えば、ジョブの状態８４やジョブ属性８５）を更新する。そして、後述するＳ１９０７に進む。
以上のように本実施形態では、例えば、Ｓ１９０４で、プリントサーバ１０１のＣＰＵ２００が、ＦＤ２０４やＨＤ２０５内の印刷制御プログラム３０３を実行することにより判定ステップが実現される。
【００９２】
一方、Ｓ１９０４において、Ｓ１９０３で取得された印刷ジョブの情報が、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルに存在した場合、追跡中の印刷ジョブの情報が取得できなかったと判断し、Ｓ１９０６に進む。このＳ１９０４でＮｏと判定する場合は、ＰＣが再起動等する前に、先の図１５で説明したＳ１５１０の処理を経由したかったことを意味する。Ｓ１９０６に進むと、ジョブ生成・抹消検知部１５２は、Ｓ１９０３で取得された印刷ジョブの情報を、未確認の印刷ジョブの情報として、未確認のジョブ情報リストに追加する。そして、Ｓ１９０７に進む。
【００９３】
Ｓ１９０７に進むと、ジョブ生成・抹消検知部１５２は、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルにおいて、ジョブの状態８４が「送信済み」となっている全ての印刷ジョブについて、印刷結果等を確認したか否かを判定する。すなわち、ジョブの状態８４が「送信済み」となっている全ての印刷ジョブについて、Ｓ１９０４〜Ｓ１９０６の処理を行ったか否かを判定する。この判定の結果、ジョブの状態８４が「送信済み」となっている全ての印刷ジョブについて確認を行っていない場合には、確認を行うまで、Ｓ１９０４〜Ｓ１９０７を繰り返し行う。
【００９４】
そして、ジョブの状態８４が「送信済み」となっている全ての印刷ジョブについて確認を行うと、Ｓ１９０８に進む。Ｓ１９０８に進むと、ジョブ生成・抹消検知部１５２は、未確認のジョブ情報リストが空であるか否かを判定して、未確認の印刷ジョブがあるか否かを判定する。この判定の結果、未確認のジョブ情報リストが空であり、未確認の印刷ジョブがない場合には、ジョブ状態復元処理を終了する。一方、未確認のジョブ情報リストが空でなく、未確認の印刷ジョブがある場合には、Ｓ１９０９に進む。Ｓ１９０９に進むと、処理結果問い合わせ部１５５は、ネットワークプリンタ１０５へ処理結果の問い合わせを行い、ネットワークプリンタ１０５から、印刷処理のログを取得する。Ｓ１９０９の処理結果の問い合わせを言語解析部２２で解析したネットワークプリンタ１０５は、ジョブ管理部２３を介して印刷履歴記憶部２８よりレスポンス情報を読み出す。そして、ネットワークプリンタ１０５は、読み出したレスポンス情報を、ステータス応答処理部２７を介してプリントサーバ１０１に送信して、処理結果の問い合わせに対する応答を行う。本実施形態では、処理結果問い合わせ部１５５が処理結果の問い合わせを行うためのコマンドが２つある。１つは前述した処理結果問い合わせコマンド（Ｔｒａｃｅ）であり（図１８を参照）、もう１つは本フローチャートで用いているログ問い合わせコマンド（Ｌｏｇ）である。ここで、第１のコマンドの一例である処理結果問い合わせコマンド（Ｔｒａｃｅ）は、ネットワークプリンタ１０５のハードディスクに記憶されている印刷ジョブの履歴を１つずつ（個々に）問い合わせるためのコマンドである。また、第２のコマンドの一例であるログ問い合わせコマンド（Ｌｏｇ）は、ネットワークプリンタ１０５のハードディスクに記憶されている複数の印刷ジョブの履歴を一括して問い合わせるためのコマンドである。
【００９５】
次に、Ｓ１９１０において、ジョブ生成・抹消検知部１５２は、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルに登録されている印刷ジョブが、Ｓ１９０９で取得されたログ中に存在しているか否かを判定する。この判定の結果、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルに登録されている印刷ジョブが、Ｓ１９０９で取得されたログ中に存在している場合には、Ｓ１９１１に進む。Ｓ１９１１に進むと、ジョブ生成・抹消検知部１５２は、Ｓ１９０９で取得されたログに含まれる印刷ジョブの処理結果を印刷済みジョブリストに記録し、履歴を残す。そして、ジョブ生成・抹消検知部１５２は、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルと、未確認のジョブ情報リストから、その印刷ジョブの情報を抹消する。尚、印刷済みジョブリストは、例えば、プリントサーバ１０１内の不揮発性メモリに記憶される。
【００９６】
一方、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルに登録されている印刷ジョブが、Ｓ１９０９で取得されたログ中に存在していない場合には、Ｓ１９１２に進む。Ｓ１９１２に進むと、ジョブ生成・抹消検知部１５２は、その印刷ジョブの処理結果を「不明」として印刷済みジョブリストに記録し、履歴を残す。そして、ジョブ生成・抹消検知部１５２は、ジョブ追跡情報記憶部１６内のジョブ追跡情報テーブルと、未確認のジョブ情報リストから、その印刷ジョブの情報を抹消する。
【００９７】
次に、Ｓ１９１３において、ジョブ生成・抹消検知部１５２は、未確認のジョブ情報リストが空となったか否かを判定して、未確認の全ての印刷ジョブについて、印刷結果等を確認したか否かを判定する。この判定の結果、未確認のジョブ情報リストが空でなく、未確認の全ての印刷ジョブについて、印刷結果等を確認していない場合には、確認するまで、Ｓ１９１０〜Ｓ１９１３の処理を繰り返し行う。そして、未確認のジョブ情報リストが空となり、未確認の全ての印刷ジョブについて、印刷結果等を確認すると、ジョブ状態復元処理を終了する。
【００９８】
以上のように、ネットワークプリンタ１０５のジョブ管理テーブルからの状態通知を取得できない場合にネットワークプリンタ１０５から印刷ジョブが消滅したと判断し、その印刷ジョブの処理結果を印刷履歴記憶部２８に問い合わせるようにした。したがって、プリントサーバ１０１は、従来のように、頻繁に印刷ジョブの処理結果を印刷履歴記憶部２８に問い合わせなくても、印刷ジョブの処理結果をネットワークプリンタ１０５の処理負荷を軽減しつつ確実に取得できる。
また、プリントサーバ１０１及びネットワークプリンタ１０５の双方で、ジョブ追跡用ＩＤを不揮発メモリに記憶しておくようにした。したがって、プリントサーバ１０１やネットワークプリンタ１０５が再起動されても、プリントサーバ１０１が追跡中の印刷ジョブを、プリントサーバ１０１及びネットワークプリンタ１０５の双方で認識できる。したがって、プリントサーバ１０１は、印刷ジョブの処理結果を可及的に確実に取得することができる。
【００９９】
更に、ネットワークプリンタ１０５に蓄積されている印刷ジョブを追跡する場合、プリントサーバ１０１は、その印刷ジョブに対するジョブ追跡用ＩＤを用いて、その印刷ジョブの実行を指示するようにした。したがって、ネットワークプリンタ１０５に蓄積されている印刷ジョブの実行をプリントサーバ１０１が指示する構成であっても、プリントサーバ１０１は、ジョブ追跡用ＩＤに基づいて、その印刷ジョブの処理結果を可及的に確実に取得することができる。
以上のことから、処理結果を確認するべきタイミングを、ネットワークプリンタ１０５の状況に応じて適切に制御する事が可能となり、効率的かつ高い精度で印刷完了結果を確認する事ができるようになる。
【０１００】
尚、本実施形態では、ログを１回取得した後に（Ｓ１９０９）、ジョブ追跡情報テーブル中の各印刷ジョブに対して夫々処理結果を確認するようにした場合を例に挙げて説明したが、必ずしもこのようにする必要はない。例えば、ジョブ追跡情報テーブル中の各印刷ジョブに対して処理結果問い合わせコマンド（Ｔｒａｃｅ）を１つずつ発行するようにしてもよい。
また、Ｓ１９０３〜Ｓ１９０８の処理を行わずに、処理結果の問い合わせを行うようにしてもよい。
【０１０１】
また、本実施形態のように、処理結果問い合わせコマンドを複数有する場合には、処理結果問い合わせコマンド毎に、特性情報を持たせるようにしてもよい。そして、例えば、処理結果を問い合わせる印刷ジョブの数と、処理結果問い合わせコマンド毎に与えられている特性情報とに基づいて、印刷ジョブの処理結果の問い合わせに使用する処理結果問い合わせコマンドを切り替えるようにしてもよい。
【０１０２】
図２０は、処理結果問い合わせコマンドと、特性情報との関係の一例を示す図である。図２０では、処理結果問い合わせコマンド２００１が、ＴｒａｃｅコマンドとＬｏｇコマンドとの２つである場合を例に挙げて示している。そして、処理結果の問い合わせに要する時間（所要時間）は、Ｔｒａｃｅコマンドでは「１秒」、Ｌｏｇコマンドでは「１０秒」である。また、１回の問い合わせで取得可能な情報量の一例である１回の問い合わせで取得可能な印刷ジョブの情報の数は、Ｔｒａｃｅコマンドでは「１」、Ｌｏｇコマンドでは「１００」である。
【０１０３】
図２０において処理結果を取得する印刷ジョブの情報の数をＮ（Ｎは自然数）とする。そうすると、処理結果の問い合わせに要する所要時間は、Ｔｒａｃｅコマンドでは、Ｎ秒となる。これに対し、Ｌｏｇコマンドでは、印刷ジョブの情報の数が、「１００」までは１０秒となる。したがって、Ｎ＜１０（Ｎ＜＝１０）の時にはＴｒａｃｅコマンド、Ｎ＞＝１０（Ｎ＞１０）の場合にはＬｏｇコマンドを使えばよいと判断できる。以上のように、ネットワークプリンタ１０５に処理結果を問い合わせる印刷ジョブの数に応じて、複数の処理結果問い合わせコマンド（Ｔｒａｃｅコマンド及びＬｏｇコマンド）の何れかを選択して、ネットワークプリンタ１０５に送信することができる。
【０１０４】
［第２実施形態］
前述の第１の実施形態では、ジョブ追跡用ＩＤをキーにして、印刷ジョブの処理結果の追跡を行う場合を例に挙げて説明を行った。しかし、印刷ジョブの処理結果の追跡を行う上でキーとなるジョブ識別子は、ジョブ追跡用ＩＤに限定されない。例えば第１の実施形態で説明した機器内ジョブＩＤをジョブ識別子として用いても良い。以下、図１２をもとにして機器内ジョブＩＤをジョブ識別子として用いて印刷ジョブの処理結果の追跡を行う場合の実施形態について説明を行う。
まず、図８、１０、図１１、図１６、図１７、図１８におけるジョブ追跡用ＩＤを機器内ＩＤに置き換える。
【０１０５】
そして、図１２のシーケンス処理の際には、機器内ジョブＩＤをキーにするので、図１２のＳ１２０２乃至１２０３、Ｓ１２０５乃至Ｓ１２０６の処理は省略することができる。
そして、Ｓ１２０４、Ｓ１２０７乃至Ｓ１２１２の処理が図１２と同様に実行された後、Ｓ１２１３で機器内ジョブＩＤをネットワークプリンタ１０５から返却し、プリントサーバ１０１では機器内ジョブＩＤをキーにして印刷ジョブの処理結果の追跡処理を行う。
【０１０６】
また図１４のシーケンス処理の際にも図１２と同様に、まずＳ１４０２、Ｓ１４０４乃至Ｓ１４０５の処理を省略し、その後Ｓ１４０８で取得した機器内ジョブＩＤをキーにして、印刷ジョブの処理結果の追跡処理を行う。
【０１０７】
そして、図１５のフローチャートでは、Ｓ１５０７で機器内ジョブＩＤをキーにして追跡中の印刷ジョブの情報が取得できたか否かを判断し、Ｓ１５０９では、図１８に示したジョブ追跡用ＩＤ１８０４を機器内ジョブＩＤに置き換えてステータス要求を行う。このとき、ネットワークプリンタ１０５からは、機器内ジョブＩＤをキーにしたステータス応答（図１８（ｂ））が返信される。
【０１０８】
また、図１９のフローチャートでも、機器内ジョブＩＤをキーにしてＳ１９０４の判断を行い、Ｓ１９０９でもジョブ追跡用ＩＤ１８０４を機器内ジョブＩＤに置き換えてステータス要求を行う。このときも、ネットワークプリンタ１０５からは、機器内ジョブＩＤをキーにしたステータス応答（図１８（ｂ））が返信される。
以上のような第２の実施形態においても、第１の実施形態と同様に、印刷装置の処理負荷を軽減しつつ印刷処理の結果より確実に得ることができる。
（本発明の他の実施形態）
前述した本発明の実施形態における印刷管理装置を構成する各手段、並びに印刷管理方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【０１０９】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１１０】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では、図１２、図１４に示すシーケンス図と図１３、図１５、図１９に示すフローチャートとに対応したプログラム）をシステムあるいは装置に直接或いは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１１１】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１１２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１１３】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１１４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１１５】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、夫々のファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１１６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１１７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１１８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１１９】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【０１２０】
【図１】本発明の実施形態を示し、印刷管理システムの構成の一例を示したブロック図である。
【図２】本発明の実施形態を示し、クライアントコンピュータ及びプリントサーバとして利用可能な情報処理装置におけるハードウェアの構成の一例を示したブロック図である。
【図３】本発明の実施形態を示し、ＲＡＭのメモリマップの一例を示す図である。
【図４】本発明の実施形態を示し、ＦＤのメモリマップの一例を示す図である。
【図５】本発明の実施形態を示し、ＦＤドライブと、そのＦＤドライブに対して挿入されるＦＤとの関係の一例を示す図である。
【図６】本発明の実施形態を示し、プリントサーバと、ネットワークプリンタとの機能的な構成の一例を示したブロック図である。
【図７】本発明の実施形態を示し、ジョブ追跡部の詳細な構成の一例を示したブロック図である。
【図８】本発明の実施形態を示し、ある時点におけるジョブ追跡情報テーブルの状態の一例を示す図である。
【図９】本発明の実施形態を示し、印刷ジョブのデータの一例を示す図である。
【図１０】本発明の実施形態を示し、ジョブチケットの一例を示す図である。
【図１１】本発明の実施形態を示し、ジョブ管理テーブルの一例を示す図である。
【図１２】本発明の実施形態を示し、プリントサーバからネットワークプリンタへ印刷ジョブを送信する際の印刷管理システムにおける処理手順の一例を示すシーケンス図である。
【図１３】本発明の実施形態を示し、ネットワークプリンタにおける印刷ジョブの受信処理の一例を説明するフローチャートである。
【図１４】本発明の実施形態を示し、ネットワークプリンタに蓄積されている印刷ジョブを実行する際の印刷管理システムにおける処理手順の一例を示すシーケンス図である。
【図１５】本発明の実施形態を示し、ジョブ追跡処理の一例を詳細に説明するフローチャートである。
【図１６】本発明の実施形態を示し、ジョブ状態変化イベントの情報の一例を示す図である。
【図１７】本発明の実施形態を示し、ジョブ属性ポーリング処理に用いられるコマンド（ジョブ属性ポーリングコマンド）と、そのジョブ属性ポーリングコマンドに対するレスポンス（応答）の内容の一例を示す図である。
【図１８】本発明の実施形態を示し、印刷ジョブの処理結果の問い合わせに用いられるコマンド（処理結果問い合わせコマンド）と、その処理結果問い合わせコマンドに対するレスポンス（応答）の内容の一例を示す図である。
【図１９】本発明の実施形態を示し、印刷ジョブ状態復元処理の一例を説明するフローチャートである。
【図２０】本発明の実施形態を示し、処理結果問い合わせコマンドと、特性情報との関係の一例を示す図である。
【符号の説明】
【０１２１】
１２  スプーラ
１４  機器内ジョブ制御部
１５  ジョブ追跡部
１６  ジョブ追跡情報記憶部
２３  ジョブ管理部
２７  ステータス応答処理部
２８  印刷履歴記憶部
１０１  サーバコンピュータ
１０２〜１０４  クライアント
１０５、１０６  ネットワークプリンタ
３０３  ネットワークプリンタ制御プログラム
３０４  関連データ
９１  ジョブチケット
９２  印刷データ
１５１   ジョブ追跡用ＩＤ生成部
１５２   ジョブ生成・抹消検知部
１５３   イベント受信部
１５４   ジョブ属性ポーリング部
１５５  処理結果問い合わせ部
【図１】
2008158560.tif 000003
【図２】
2008158560.tif 000004
【図３】
2008158560.tif 000005
【図４】
2008158560.tif 000006
【図５】
2008158560.tif 000007
【図６】
2008158560.tif 000008
【図７】
2008158560.tif 000009
【図８】
2008158560.tif 000010
【図９】
2008158560.tif 000011
【図１０】
2008158560.tif 000012
【図１１】
2008158560.tif 000013
【図１２】
2008158560.tif 000014
【図１３】
2008158560.tif 000015
【図１４】
2008158560.tif 000016
【図１５】
2008158560.tif 000017
【図１６】
2008158560.tif 000018
【図１７】
2008158560.tif 000019
【図１８】
2008158560.tif 000020
【図１９】
2008158560.tif 000021
【図２０】
2008158560.tif 000022