(57)【要約】【課題】２重出力を防止しつつ適正に代行印刷を行なうこと。【解決手段】  複数のプリンタと通信可能なサーバ１０１であって、プリンタ１０２において印刷を実行できない事態が発生したことを検知すると（Ｓ７０３）、プリンタ１０２に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別し（Ｓ７０７）、先頭印刷ジョブ以外の印刷ジョブを、他のプリンタ１０３に転送し（Ｓ７０９）、先頭印刷ジョブ以外の印刷ジョブを、プリンタ１０２内から削除する（Ｓ７０８）。【選択図】  図７
2005173919.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷装置と通信可能な情報処理装置であって、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知手段と、
前記検知手段による検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別手段と、
前記検知手段による検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置に代行させる代行手段と、
前記検知手段による検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記一の印刷装置に転送された印刷ジョブのコピーを保存する保存手段を更に有し、
前記代行手段は、前記保存手段に保存された前記印刷ジョブのコピーを前記他の印刷装置に転送することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記識別手段は最先に処理される印刷ジョブが削除中であった場合に、前記削除中の印刷ジョブの次に処理される印刷ジョブを前記先頭印刷ジョブとして識別することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記一の印刷装置から印刷ジョブのリストを取得する取得手段を更に備え、
前記識別手段は、前記取得手段により取得されたリストに基づき前記先頭印刷ジョブを識別することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記リストには各々の印刷ジョブの状態を示す情報が含まれており、前記識別手段は前記状態を示す情報によって、最先に処理される印刷ジョブが削除中であるか否かを判定し、最先に処理される印刷ジョブが削除中であった場合に、前記削除中の印刷ジョブの次に処理される印刷ジョブを前記先頭印刷ジョブとして識別することを特徴とする請求項４に記載の情報処置装置。
【請求項６】
前記情報処理装置が発行した印刷ジョブを管理する管理手段を更に有し、
前記識別手段は、発行した印刷ジョブが前記先頭印刷ジョブか否かを識別し、
前記識別手段により前記発行した印刷ジョブが前記先頭印刷ジョブと識別された場合に手動代行印刷表示を行なう表示制御手段を更に有することを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記一の印刷装置に発行した全ての印刷ジョブを他の印刷装置に代行させる第１代行モードと、前記一の印刷装置に発行した印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを他の印刷装置に代行させる第２代行モードと、のいずれかを選択する選択手段を更に有し、
前記第２代行モードが選択された場合に、前記識別手段を機能させることを特徴とする請求項１から６の何れかに記載の情報処理装置。
【請求項８】
複数の印刷装置と通信可能な情報処理システムであって、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知手段と、
前記検知手段による検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別手段と、
前記検知手段による検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置に代行させる代行手段と、
前記検知手段による検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除手段と、
を有することを特徴とする情報処理システム。
【請求項９】
複数の印刷装置における印刷ジョブを管理する情報処理方法であって、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知工程と、
前記検知工程での検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置に代行させる代行工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除工程と、
を有することを特徴とする情報処理方法。
【請求項１０】
複数の印刷装置における印刷ジョブを管理する情報処理プログラムであって、
コンピュータに、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知工程と、
前記検知工程での検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置に代行させる代行工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除工程と、
を実行させることを特徴とする情報処理プログラム。
【請求項１１】
複数の印刷装置における印刷ジョブを管理する情報処理プログラムを格納した記憶媒体であって、
前記情報処理プログラムは、コンピュータに、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知工程と、
前記検知工程での検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置に代行させる代行工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除工程と、
を実行させることを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、いわゆる代行印刷技術に関するものである。
【背景技術】
【０００２】
従来の技術では、印刷装置において印刷ジョブを実行できないような障害が発生し、代行印刷を実行する場合に、ホストコンピュータから印刷装置に送信した印刷ジョブのうち、印刷装置の印刷ジョブの実行を確認できない印刷ジョブはすべて代行印刷の対象となっていた（例えば、特許文献１参照）。
【特許文献１】特開平０７−２２５６６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ホストコンピュータが保持している印刷ジョブのコピーをすべて代行先の印刷装置に送信するような代行印刷方式では、障害が発生した印刷装置に送信済の印刷ジョブは２重に出力されてしまう問題があった。
【０００４】
また、印刷装置に、受信した印刷ジョブをホストコンピュータから削除できる手段を有する印刷装置であっても、障害発生のため停止している、実行途中の印刷ジョブの出力済のページに関しては、代行印刷を実行すると、２重に出力されてしまう問題があった。
【０００５】
また、印刷装置が、ページ、インプレッション単位で、印刷の終了をホストコンピュータに通知する機能を有し、ホストコンピュータは、排紙されたページ、インプレッション数の次のページ、または、インプレッションから、印刷するような部分代行印刷方式のプリントシステムでは、２重に出力されない代わりに、実行途中で代行された印刷ジョブのドキュメント内で、印刷装置の相違による印刷位置のズレや、色合いの相違など、印刷の体裁に相違点を生じるような問題があった。
【０００６】
また、製本印刷やステープルなど、１印刷ジョブが同じ印刷装置で出力する必要のある印刷ジョブには、適用できない、という問題もあった。
【０００７】
さらに、ホストコンピュータが１印刷ジョブずつしか印刷装置に送信しないプリントシステムでは、代行印刷時に２重に印刷される問題が軽減されるものの、印刷装置では、印刷ジョブの転送、１ページ目のデータ展開分、エンジンを実行しない隙間ができるため、連続出力に冗長な時間を要する、という問題があった。
【０００８】
このような冗長な時間を要さない印刷を可能とし、かつ２重印刷を防止するために、機器内の印刷ジョブのステータスでエンジンの印刷中の印刷ジョブを判断することが望まれる。
【０００９】
しかし、例えば、複数の印刷ジョブを投入すると、先頭の印刷ジョブの排紙完了の前に、以降の印刷ジョブの実行（例えば、ＰＤＬ、JobLanguageの解釈、１ページ目の画像データの展開など）が開始されてしまう印刷装置では、機器内の印刷ジョブのステータスをホストコンピュータから取得すると、複数の印刷ジョブのステータスが実行中として取得されてしまい、ステータスだけでは、印刷エンジンが実行中でかつ、排紙完了前の印刷ジョブを特定できない場合がある。
【００１０】
本発明は上記従来技術の課題を個々に或いはまとめて解決するためになされたもので、２重出力を防止しつつ適正に代行印刷を行なうことを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明に係る装置は、
複数の印刷装置と通信可能な情報処理装置であって、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知手段と、
前記検知手段による検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別手段と、
前記検知手段による検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置に代行させる代行手段と、
前記検知手段による検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除手段と、
を有することを特徴とする。
【００１２】
前記一の印刷装置に転送された印刷ジョブのコピーを保存する保存手段を更に有し、
前記代行手段は、前記保存手段に保存された前記印刷ジョブのコピーを前記他の印刷装置に転送することを特徴とする。
【００１３】
前記識別手段は最先に処理される印刷ジョブが削除中であった場合に、前記削除中の印刷ジョブの次に処理される印刷ジョブを前記先頭印刷ジョブとして識別することを特徴とする。
【００１４】
前記一の印刷装置から印刷ジョブのリストを取得する取得手段を更に備え、
前記識別手段は、前記取得手段により取得されたリストに基づき前記先頭印刷ジョブを識別することを特徴とする。
【００１５】
前記リストには各々の印刷ジョブの状態を示す情報が含まれており、前記識別手段は前記状態を示す情報によって、最先に処理される印刷ジョブが削除中であるか否かを判定し、最先に処理される印刷ジョブが削除中であった場合に、前記削除中の印刷ジョブの次に処理される印刷ジョブを前記先頭印刷ジョブとして識別することを特徴とする。
【００１６】
前記情報処理装置が発行した印刷ジョブを管理する管理手段を更に有し、
前記識別手段は、発行した印刷ジョブが前記先頭印刷ジョブか否かを識別し、
前記識別手段により前記発行した印刷ジョブが前記先頭印刷ジョブと識別された場合に手動代行印刷表示を行なう表示制御手段を更に有することを特徴とする。
【００１７】
前記一の印刷装置に発行した全ての印刷ジョブを他の印刷装置に代行させる第１代行モードと、前記一の印刷装置に発行した印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを他の印刷装置に代行させる第２代行モードと、のいずれかを選択する選択手段を更に有し、
前記第２代行モードが選択された場合に、前記識別手段を機能させることを特徴とする。
【００１８】
複数の印刷装置と通信可能な情報処理システムであって、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知手段と、
前記検知手段による検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別手段と、
前記検知手段による検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置に代行させる代行手段と、
前記検知手段による検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除手段と、
を有することを特徴とする。
【００１９】
上記目的を達成するため、本発明に係る方法は、
複数の印刷装置における印刷ジョブを管理する情報処理方法であって、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知工程と、
前記検知工程での検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置に代行させる代行工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除工程と、
を有することを特徴とする。
【００２０】
上記目的を達成するため、本発明に係るプログラムは、
複数の印刷装置における印刷ジョブを管理する情報処理プログラムであって、
コンピュータに、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知工程と、
前記検知工程での検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置に代行させる代行工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除工程と、
を実行させることを特徴とする。
【００２１】
上記目的を達成するため、本発明に係る記憶媒体は、
複数の印刷装置における印刷ジョブを管理する情報処理プログラムを格納した記憶媒体であって、
前記情報処理プログラムは、コンピュータに、
一の印刷装置において印刷を実行できない事態が発生したことを検知する検知工程と、
前記検知工程での検知に応じて、前記一の印刷装置に蓄積された複数の印刷ジョブの中から、最先に処理される先頭印刷ジョブを識別する識別工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、他の印刷装置代行させる代行工程と、
前記検知工程での検知に応じて、前記複数の印刷ジョブのうち、前記先頭印刷ジョブ以外の印刷ジョブを、前記一の印刷装置内から削除する削除工程と、
を実行させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、２重出力を防止しつつ適正に代行印刷を行なうことができる。
【発明を実施するための最良の形態】
【００２３】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００２４】
なお、本明細書において、印刷データとはＰＤＬ等で記述された画像データであり、印刷ジョブ情報とは、印刷対象となるドキュメント名や、印刷ジョブのＩＤや、印刷データを出力したいプリンタや、印刷データの格納場所や、印刷方法に関する情報等、印刷ジョブの各種属性情報である。また、印刷ジョブとは、印刷データと印刷ジョブ情報とを組み合わせたものである。
【００２５】
＜システム構成＞
図１は、本発明の実施形態に係るプリントシステムの全体構成を示すブロック図である。本プリントシステムは、情報処理装置としてのプリントサーバ１０１と、印刷装置（プリントデバイス）としてのネットワークプリンタ１０２、１０３とを含み、これらが互いに接続されていることにより、全体としてネットワークを構成している。
【００２６】
プリントサーバ１０１には、印刷制御プログラムが実行可能に格納されており、本プリントシステムに含まれるネットワークプリンタ１０２、１０３を管理する機能のほか、ネットワークで使用されるファイルを蓄積したり、ネットワークの使用状態を監視したりする機能を有する。具体的には、プリントサーバ１０１は、印刷ジョブを作成し、ネットワークプリンタ１０２、１０３に転送する機能を有する。プリントサーバ１０１は、必ずしもプリンタの管理に特化したコンピュータである必要はなく、プリント管理機能を備えた汎用のコンピュータであればよく、他のコンピュータとの関係でクライアントとして機能してもよい。
【００２７】
ネットワークプリンタ１０２、１０３は、プリントサーバ１０１から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。ネットワークプリンタ１０２、１０３としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。
【００２８】
なお、本プリントシステムに含まれる装置間の通信は、イーサネット（登録商標）ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
【００２９】
＜プリントサーバ及びクライアントの構成＞
図２は、図１に示したプリントサーバ１０１のハードウェア構成を説明するブロック図である。
【００３０】
図２において、ＣＰＵ２００は、ＨＤ（ハードディスク）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや印刷制御プログラム等を読出して実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納制御を行なうための制御手段である。
【００３１】
ＲＯＭ２０１は、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する記憶手段である。ＲＡＭ２０２は、ＣＰＵ２００の主メモリやワークエリア等として機能する一時記憶手段である。
【００３２】
ＦＤ（フロッピー（登録商標）ディスク）ドライブ２０３は、後述する図５に示すように記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードするための記憶媒体読み込み手段である。なお、プリントサーバ１０１は、ＦＤドライブ２０３に代えて、或いはＦＤドライブ２０３と共に、他の記憶媒体読込手段を備えてもよい。他の記憶媒体としては、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、コンピュータが読み取り可能なあらゆる記憶媒体が挙げられる。
【００３３】
ＨＤ２０５は、大容量メモリとして機能する外部記憶手段であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、印刷制御プログラム、及び関係プログラム等を格納している。さらに、スプール手段であるスプーラはここに確保される。なお、プリントサーバ１０１ではスプール手段としてサーバスプーラが確保され、クライアントではスプール手段としてクライアントスプーラが確保される。
【００３４】
キーボード２０６は、ユーザがプリントサーバ１０１に対して、デバイスの制御コマンドの命令等を入力指示するための指示入力手段である。
【００３５】
ディスプレイ２０７は、キーボード２０６から入力したコマンドや、プリンタ１０２〜１０５の状態等を表示する表示手段である。２０８はシステムバスであり、プリントサーバ１０１としてのコンピュータ内のデータの流れを司るものである。
【００３６】
またインタフェース２０９は、入出力手段であり、プリントサーバ１０１は、インタフェース２０９を介してネットワーク上の他の装置とのデータのやり取りを行なう。
【００３７】
＜メモリマップ等の説明＞
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、印刷制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。同図において、ＦＤ２０４には、印刷制御プログラム及び関係データを格納している。
【００３８】
印刷制御プログラム及び関係データは、予めＦＤ２０４からＨＤ２０５にインストールされて、ＨＤ２０５からＲＡＭ２０２にロードするようにしてもよいしＦＤ２０４から直接ＲＡＭ２０２にロードして実行させてもよい。さらに、印刷制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００３９】
印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更したりする指示をするための制御を行なう。一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知したりする。また、印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールとを別々に含んでいてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能したりするようにしてもよい。あるいは、一台のコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとをともにインストールし、同時にあるいは時分割で、擬似的に平行動作させる構成も可能である。
【００４０】
３０１は基本Ｉ／Ｏプログラムを記憶するための領域である。基本Ｉ／Ｏプログラムは、装置（プリントサーバ１０１またはクライアント１０７，１０８）の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムである。
【００４１】
３０２はＯＳ（オペレーティングシステム）を記憶する領域であり、３０３は印刷制御プログラムを記憶する領域である。３０４は、関係データを記憶する領域である。３０５はワークエリアで、ＣＰＵ２００が各種のプログラムを実行するための領域である。
【００４２】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４００はＦＤ２０４のデータ内容であり、データの情報を示すボリューム情報４０１と、ディレクトリ情報４０２と、印刷制御プログラム４０３と、その関係データ４０４を含む。
【００４３】
＜プリントシステムのソフトウェア構成＞
次に、本プリントシステムのソフトウェア構成について説明する。このソフトウェア構成は、上述した印刷制御プログラムに含まれる。
【００４４】
これらは、一台のホストコンピュータで実行されるようなプリントサーバであってもよいし、複数のホストコンピュータにまたがるプリントシステムであってもよい。また、本発明の実施の形態は、一台のプリントサーバにおいて説明するが、サーバマシン上に印刷ジョブをスプールするサーバスプール方式に限らず、プリントシステム内のクライアントマシンであるホストコンピュータが印刷ジョブを保持し、サーバマシンによるプリントシステム内の印刷ジョブのスケジュール管理の元、印刷ジョブをプリンタに送信するクライアントスプール方式であってもよい。
【００４５】
具体的に図を用いて説明すると、図６Ａは、サーバ１０１におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、図２のＣＰＵ２００によって実行され、所望の機能を実現する。
【００４６】
通常、Microsoft Word（登録商標）などの一般的なアプリケーションプログラム６０１は、ユーザから印刷の指示を受け付けると、一連の描画コマンドをＯＳを介して生成する。ＯＳを介して生成された描画コマンドはＰＤＬドライバ６０２に渡され、ＰＤＬドライバ６０２は、一連の描画コマンドに基づいてネットワークプリンタ１０２、１０３で解釈可能なＰＤＬファイルを含む印刷ジョブを生成し、スプーラ６０３に渡す。なお、以下の説明ではＰＤＬドライバを例に説明を行なうが、これに限定されるものではなく、例えば、ＢＤＬ（Band description Language）や、圧縮ビットマップを作成するプリンタドライバなどにも適用可能であることはいうまでもない。
【００４７】
スプーラ６０３は、ユーザがユーザインタフェースを介して選択し指示したポートモニタ６０４に印刷ジョブを渡して、ネットワークプリンタ１０２、１０３に送信させる手順をとる（矢印ａ）。ここでは、ユーザはあらかじめ代行印刷用のポートモニタ６０４（以降、ジョブ制御ポートモニタと略記）を指定して印刷を指示したものとして説明を進める。
【００４８】
また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ６０４に送信される。
【００４９】
ジョブ制御ポートモニタ６０４は、印刷ジョブをそのままネットワークプリンタ１０２、１０３に送信するのではなく、代行印刷用のプリントサービス６０５（以降、ジョブ制御プリントサービスと称する）に送信する（矢印ｂ）。ジョブ制御プリントサービス６０５は、転送された印刷ジョブ及びデバイスの状態を管理する機能を備える。特にネットワークプリンタとデータ転送元とがピアツーピアで接続され直接印刷ジョブをネットワークプリンタに投入する場合には、ネットワークプリンタから通知されるデバイス状態や印刷ジョブの状態などの情報を管理したり、また、ネットワークプリンタに対して所定の命令をしたりする機能も備える。これは、複数のネットワークプリンタ１０２、１０３のデバイス情報や印刷ジョブ情報を管理する機能に相当する。
【００５０】
そして、印刷ジョブの代行印刷機能に基づき印刷ジョブのコピーを保持しつつ、印刷ジョブをネットワークプリンタ１０２またはネットワークプリンタ１０３に転送する（矢印ｃ、ｄ）。
【００５１】
プリントマネージャ６０９は、ユーザが、ジョブ制御プリントサービス６０５内部でプリント印刷ジョブがどのような状態にあるかを調べたり、プリント印刷ジョブを操作したりするためのユーザインタフェースを提供するプログラムである。プリントマネージャ６０９は、ジョブ制御プリントサービス６０５のソフトウェアのインタフェース（ＡＰＩ：Application Program Interface）を介して、ジョブ制御プリントサービス６０５と情報・指示をやり取りしている。
【００５２】
そして、主に、ジョブ制御プリントサービス６０５が管理するネットワークプリンタ１０２、１０３の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。ここでのジョブ制御プリントサービス６０５はネットワークを介して通信可能な各ネットワークプリンタの印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスを監視する機能を備える。
【００５３】
更に詳細な処理としては、プリントマネージャ６０９がジョブ制御プリントサービス６０５に対してデバイスを指定したイベントを発行し、ジョブ制御プリントサービス６０５は発行されたイベントに基づくデバイスのステータスを監視して、監視に基づく結果をプリントマネージャ６０９に通知する。
【００５４】
マネージメントコンソール６１０は、ソフトウェアがアクセスするためのＡＰＩを介して、ジョブ制御プリントサービス６０５と情報・指示をやり取りすることで、サーバ１０１またはクライアント１０７，１０８の全体を監視することができる。
【００５５】
また、ジョブ制御プリントサービス６０５は、デバイス情報コントロールモジュール６０６を用いて各ネットワークプリンタ１０２、１０３と通信を行ない、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したりする機能を明示したものでありジョブ制御プリントサービス６０５に含めるように考えても良い。
【００５６】
一方、代行印刷機能を用いず、一般的なオペレーティングシステムに標準で搭載されるようなプリント機能を利用する場合においては、ＰＤＬプリンタドライバ６０２で生成されたＰＤＬファイルはスプーラ６０３からジョブ制御ポートモニタ６０８を経て（矢印ｅ）、ネットワークプリンタ１０２またはネットワークプリンタ１０３に転送される（矢印ｆ）。
【００５７】
次に、図６Ａを用いて説明したシステムの変形例について、図６Ｂを参照して説明する。図６Ｂは、代行印刷に必要な機能を、クライアント１０４とサーバ１０１とが分担し、それぞれが協力し合って実現する場合について表わしたものである。具体的には、クライアント１０４で作成し、プリントキューに登録された印刷ジョブ情報に対し、プリントサーバ１０１がスケジューリングを行なう場合のデータの流れを示している。なお、図６Ａと同じ構成は同じ符号で表わしている。
【００５８】
図６Ｂのシステムでは、マネージメントコンソール６１０やデバイス情報コントロールモジュール６０６をもたないクライアント１０４と、それらを有するサーバ１０１とが協働して、ネットワークプリンタのデバイス情報を管理する。また、サーバ１０１は、ジョブ制御サーバ６１２を有し、デバイス情報コントロールモジュール６０６を用いて各ネットワークプリンタ１０２、１０３と通信を行ない、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報は、ジョブ制御プリントサービス６０５に渡すことができる。ジョブ制御サーバ６１２は基本的にジョブ制御プリントサービス６０５と同様の機能を備えており、論理的にジョブ制御プリントサービス６０５と印刷ジョブ情報を共有している。
【００５９】
なお、プリントシステムのソフトウェア構成は、図６Ａ、図６Ｂに限定されるものではなく、その他の様々な構成でも本発明を実現可能である。例えば、クライアントが、アプリケーション６０１からジョブ制御サポートモニタ６０４までの構成のみを備え、ジョブ制御プリントサービス６０５、プリントマネージャ６０９、マネージメントコンソール６１０、デバイス情報コントロールモジュール６０６をサーバ１０１が備えていてもよい。
【００６０】
＜印刷中に障害が発生した場合の処理の流れ＞
次に、本プリントシステムにおいて印刷中に障害が発生した場合の処理の流れについて、図７のシーケンス図、および、図８、図９のフローチャートを用いて説明する。
【００６１】
図７は、本プリントシステムにおいて、サーバ１０１と、プリンタ１０２、プリンタ１０３間で行なわれる処理の１例を示す図である。
【００６２】
プリントサーバ１０１は、ユーザの指示によりアプリケーションソフトから受けたプリント印刷ジョブをプリンタ１０２に送信する（Ｓ７０１）。プリンタ１０２は、受信後、ただちに印刷ジョブの印刷を開始するが（Ｓ７０２）、プリンタ１０２において、複数の印刷ジョブをプリンタ内に保持し、印刷が終了しないまま、プリンタ１０２にジャムなどの障害が発生すると（Ｓ７０３）、プリントサーバ１０１は、プリンタ１０２から、イベント通知、または、プリントサーバ１０１によるプリンタ１０２に対するポーリングにより、障害の通知を受ける（Ｓ７０４）。そしてプリントサーバ１０１は障害通知をうけると、プリンタ１０２内に保持されている印刷ジョブのリストを取得する（Ｓ７０５）。印刷ジョブリストの取得はプリントサーバ１０１がプリンタに要求するようにしても良いし、プリンタがイベントの通知の後に自発的にプリントサーバ１０１に通知するようにしても良い。なお、以下では印刷を実行できない事態が発生の通知として、プリンタ１０２における紙ジャムなどの障害通知を例に説明を行なうが、これに限定されることはなく、印刷を実行できない事態の通知であれば適宜障害通知に置き換えることができる。例えば、図１５に示される、用紙切れ、プリンタ１０２のカバードアオープン、排紙トレイの満載などが適用される。また図１５に示される、ジョブ制御プリントサービス６０５に保持される出力ポートが使用不可能になっている場合や、プリンタ１０２において保持される印刷出力待ちのジョブの個数が所定個数以上であることや、単数或いは複数の印刷待ちジョブのサイズが所定値以上であることも、印刷を実行できない事態に適用することができる。また、これら印刷を実行できない事態のステータスはプリンタ側からのステータスイベント通知、或いは、ジョブ制御プリントサービス６０５によるポーリングにより、ジョブ制御プリントサービスが取得する。従って以下フローチャートにおける各ステップの説明では、「障害通知をうける」と表現しているが、これは、印刷を実行できない事態を、イベント通知或いはポーリングにより、検知する処理に置き換えることができる。
【００６３】
この印刷ジョブのリストは、例えばプリンタ１０２内で印刷ジョブを管理したり、別の機器から印刷ジョブを制御する場合に用いるハンドルなどが含まれており、印刷ジョブを一意に識別可能であり、削除などの印刷ジョブの操作に用いることができる。次に、プリントサーバ１０１は、プリンタ１０２内の各プリント印刷ジョブの印刷ジョブステータスを取得する（Ｓ７０６）。例えば、図１３、図１４がこの際に取得されるリストに対応する。プリントサーバ１０１は、プリンタ１０２内の各印刷ジョブステータスが付加された印刷ジョブのリストをもとに、プリンタ１０２内で最先に処理すべき印刷ジョブを先頭印刷ジョブとして判定する（Ｓ７０７）。ここで、図１３、図１４のリストには複数のジョブ制御プリントサービス６０５から発行された印刷ジョブが含まれる。ジョブ制御プリントサービス６０５は、取得されたリスト中から、どの印刷ジョブが自らが発行し印刷ジョブであるかを印刷ジョブ管理機能によって区別する。具体的には印刷ジョブ管理情報に含まれる印刷ジョブのハンドル（識別情報）が、図１３や図１４のリスト中の印刷ジョブのハンドル（プリンタデバイスで付加されたハンドル）のどれに該当するかで、自らが発行した印刷ジョブと他のジョブ制御プリントサービスが発行したジョブとを区別する。尚、印刷ジョブ管理情報とは、図１０に示されるような所定の印刷ジョブの管理情報を、自らが発行した複数の印刷ジョブのぶんだけ集めたものに相当する。例えば図１２における説明では、取得されたリストと印刷ジョブ管理情報とに基づき自らが発行した印刷ジョブがリスト中で先頭とされる印刷ジョブであるか否かが判定される。尚、ステップＳ７０５のリストの取得の際に、ステップＳ７０６の処理をまとめて行なうようにしても良い。これは後述する図８のステップＳ８０２及びＳ８０４においても同様とする。
【００６４】
そして、プリントサーバ１０１は、取得された図１３や図１４のリストに含まれる印刷ジョブ中で先頭と判断される印刷ジョブのハンドルが、自装置で管理される印刷ジョブのハンドルに含まれていれば先頭印刷ジョブを判定しプリントサーバ１０１内の印刷ジョブ管理情報に先頭印刷ジョブとして識別できるようマークすると、障害が継続しているプリンタ１０２に送信済のプリント印刷ジョブのうち、先頭印刷ジョブ以外の印刷ジョブの削除を指示する（Ｓ７０８）。次に、プリントサーバ１０１は、代行先のプリンタ１０３に対してプリンタ１０２内で削除した印刷ジョブに対応して自装置の保存手段（ＨＤ２０５）にコピーをして保存しておいた印刷ジョブを代行先のプリンタ１０３に転送し（Ｓ７０９）、代行印刷処理を実行する（Ｓ７１０）。この代行先プリンタ１０３の選択方法や、代行印刷が開始される条件などは、特に限定せず、どのような代行先プリンタ選択方法や、代行印刷の開始条件であってもよい。
【００６５】
このように、図７のシーケンス図により、複数の印刷ジョブを投入すると、先頭の印刷ジョブの排紙完了の前に、以降の印刷ジョブの実行（例えば、ＰＤＬ、JobLanguageの解釈、１ページ目の画像データの展開など）が開始されてしまう印刷装置では、機器内の印刷ジョブのステータスをホストコンピュータから取得すると、複数の印刷ジョブのステータスが実行中として取得されてしまい、ステータスだけでは、印刷エンジンが実行中でかつ、排紙完了前の印刷ジョブを特定できない場合があるが、Ｓ７０５でリストを取得し、該リストに基づき先頭とされる印刷ジョブを識別するようにするので、そのような事態を避けることができる。
【００６６】
＜削除指示後に障害が発生した場合の処理の流れ＞
次に削除指示後に障害が発生した場合のプリントシステムの処理について、図１２のシーケンス図と図９のフローチャートを用いて説明する。
【００６７】
図１２のシーケンス図は、本発明の代行印刷処理のプリントサーバ１０１と、プリンタ１０２、プリンタ１０３間の手順を示した図である。
【００６８】
プリントサーバ１０１は、ユーザの指示によりアプリケーションソフトから受けたプリント印刷ジョブをプリンタ１０２に送信する（Ｓ１２０１）。プリンタ１０２は、受信後、ただちに印刷ジョブの印刷を開始する（Ｓ１２０２）。そして、ユーザの操作や、別のシステムの指示で印刷中の印刷ジョブの削除が開始され（Ｓ１２０４）、更に、その印刷ジョブ削除が終了する前に、プリンタ１０２にジャムなどの障害が発生すると（Ｓ１２０５）、プリントサーバ１０１は、プリンタ１０２から、イベント通知、または、プリントサーバ１０１によるプリンタ１０２に対するポーリングにより、障害の通知を受ける（Ｓ１２０６）。
【００６９】
そして、プリントサーバ１０１はプリンタ１０２から、プリンタ１０２内に保持されている印刷ジョブのリストを取得する（Ｓ１２０７）。次に、プリントサーバ１０１は、プリンタ１０２内の各プリント印刷ジョブの印刷ジョブステータスを取得する（Ｓ１２０８）。なお、ステップＳ１２０７のリストの取得の際に、ステップＳ１２０８の処理をまとめて行なうようにしても良い。これは先に説明した図８のステップＳ８０２及びＳ８０４においても同様とする。
【００７０】
次に、プリントサーバ１０１では、印刷ジョブリスト内において先頭印刷ジョブを識別するが、ここでは、プリンタ１０２の障害発生の直前に、最先に処理すべき印刷ジョブに対し削除指示が行なわれているので、削除中の印刷ジョブはリストの先頭にあっても先頭印刷ジョブと識別しない。そして、取得された図１４のリストに含まれる印刷ジョブ中で先頭と判断される印刷ジョブのハンドルが、ジョブ制御プリントサービス６０５自らが発行した印刷ジョブのハンドルに該当していれば、削除中の印刷ジョブを除いた複数の印刷ジョブのうち、先頭のものを先頭印刷ジョブと識別する（Ｓ１２０９）。
【００７１】
プリントサーバ１０１内の印刷ジョブ管理情報に先頭印刷ジョブとして識別できるようマークすると、障害が継続しているプリンタ１０２に送信済のプリント印刷ジョブのうち、先頭印刷ジョブ以外の印刷ジョブの削除を指示する（Ｓ１２１０）。次に、プリントサーバ１０１は、代行先のプリンタ１０３に対してプリンタ１０２内で削除した印刷ジョブに対応して自装置の保存手段（ＨＤ２０５）にコピーをして保存しておいた印刷ジョブを代行先のプリンタ１０３に転送し（Ｓ１２１１）、代行印刷処理を実行する（Ｓ１２１２）。一方、削除中の印刷ジョブを除いた複数の印刷ジョブのうち、先頭の印刷ジョブのハンドルが、自らが発行した印刷ジョブではなく、他のジョブ制御プリントサービスから発行された印刷ジョブであれば、後述のＳ１２１０で印刷ジョブ管理情報中の所定の印刷ジョブへのマーク付加の処理は行なわない。
【００７２】
＜プリントサーバでの処理＞
図８は、プリントサーバ１０１の代行印刷処理を示したフローチャートである。プリントサーバ１０１は、プリンタ１０２に印刷ジョブを転送後、印刷ジョブの終了確認前に、プリンタ１０２における障害の発生を検知すると、代行処理を開始する。
【００７３】
まず、ステップＳ８０２において、障害の発生したプリンタ１０２内の印刷ジョブのリストを取得する。このリストは、例えば、プリンタ１０２内で印刷ジョブを管理するプリンタで付与した識別子（ハンドル）が含まれる。図１３及び図１４は、取得されるリストの例を示す図である。
【００７４】
また、プリントサーバ１０１で管理する印刷ジョブ情報とプリントサーバ１０１が生成及び管理する印刷ジョブの識別子(ハンドル）とをあらかじめ印刷ジョブ中に埋め込み、その印刷ジョブをプリンタ１０２に投入した後、再度プリンタ１０２から、プリントサーバ１０１の管理する識別子（ハンドル）と、プリンタ１０２の管理する印刷ジョブの識別子（ハンドル）の両方を一度に取得することでプリンタ１０２から取得されたリストの中のどの印刷ジョブが自らが発行した印刷ジョブかを識別することができる。
【００７５】
なお、プリントサーバ１０１とプリンタ１０２の印刷ジョブ情報の関連付けの方法自体は、どのような方法であってもよい。
【００７６】
そして、プリンタ１０２から、プリンタ１０２内の印刷ジョブを識別できる印刷ジョブのハンドルを取得すると、ステップＳ８０３において、先頭印刷ジョブも代行する設定であるか判断する。
【００７７】
例えば、図１５に示すようなダイアログのチェックボックス１５０１をチェックした場合には、プリントデバイス内の先頭印刷ジョブについては自動代行が行なわれず、手動代行へ切り換えられる。手動代行とは、自動代行を行なうことなく、設定画面を介して指示されたプリントデバイスに代行印刷を行なわせる代行方式を指す。一方、自動代行とは、あるプリントデバイスにおいて所定のエラーが発生することに応じて、予め設定された所定の規則に従い自動的に別のプリントデバイスにエラーのあった印刷ジョブを出力させる処理を指す。
手動代行へ切り替わると、図１８（ｂ）ではなく、図１８（ａ）のような手動代行の指示を行なうための設定画面を表示させる。なお、図１５は、論理プリンタの追加時の設定画面を示しており、論理プリンタ単位で設定されるものであるが、印刷ジョブ毎、プリントデバイスごとに、プリントデバイス内での先頭印刷ジョブの代行を許可するか否かを設定するようにしても良い。
【００７８】
先頭印刷ジョブも代行する設定であれば、ステップＳ８０４で、先頭になりうるステータスかどうか各印刷ジョブのステータスを取得し、ステップＳ８０５で、プリンタ１０２内のリスト中の印刷ジョブハンドルの順番から、障害が発生したプリンタ１０２内におけるプリントキューの先頭印刷ジョブのハンドルを識別する。そして、先頭印刷ジョブのハンドルが、ジョブ制御プリントサービス６０５が管理する印刷ジョブ管理情報に含まれるものであれば、例えば、図１０のような印刷ジョブ管理情報にプリンタ１０２内の印刷ジョブの先頭であることを識別するマークを記録する。プリンタ１０２内のプリントキューにおいては、印刷ジョブは転送された順に１列に並んでいるため、例えば、複数の印刷ジョブが実行中状態となる種類のプリンタであっても、先頭印刷ジョブを特定しマークすることができる。
【００７９】
ステップＳ８０５において、先頭印刷ジョブにマークが記録されると、プリントサーバ１０１のサーバキュー内には、管理されている印刷ジョブが存在するので、ステップＳ８０６においてキュー内の印刷ジョブの存在を確認する。
【００８０】
そして、ステップＳ８０７において、プリントサーバ１０１が保持する印刷ジョブの管理情報の先頭印刷ジョブのマークを確認する。先頭印刷ジョブのマークがあれば、ステップＳ８０６に戻り、代行すべき次の印刷ジョブがキュー内に存在するか確認する。代行すべき印刷ジョブがキュー内に存在すれば、ステップＳ８０７からステップＳ８０８に進み、プリンタ内の印刷ジョブの削除を行なう。ここで、個別に印刷ジョブを削除できる方法であれば、どのような削除方法でもよいが、一例としては、プリンタ１０２から取得した印刷ジョブハンドルを指定してプリンタ１０２内の印刷ジョブを削除するような方法でも実施することができる。ステップＳ８０８において、印刷ジョブの削除指示を出した後、ステップＳ８０９において印刷ジョブの削除が確認する。ステップＳ８０９において、すでにプリンタ１０２内の印刷ジョブが削除されたことが確認された印刷ジョブがあれば、ステップＳ８１０に進み、代行先プリンタをスケジュールするキューに、印刷ジョブを移す。
【００８１】
以上、プリンタ１０２内に送信済の先頭印刷ジョブ以外の全印刷ジョブを代行キューに移すまで、ステップＳ８０６からステップＳ８１０までの手順を繰り返す。そして、ステップＳ８１１において代行先プリンタに印刷ジョブを転送して、代行印刷処理を実行する。ここで転送される各印刷ジョブは、ステップＳ８０８で削除した印刷ジョブに対応して保存手段（ＨＤ２０５）にコピーされ保存されたものである。
【００８２】
また、ステップＳ８０３においてＹＥＳと判定された場合には、ステップＳ８０５の詳細を示す図９のフローチャートの処理が行なわれないので、プリンタ内に蓄積された印刷ジョブのうち、自らが発行した全ての印刷ジョブが他のプリンタに代行される（第１代行モード）。一方、ステップＳ８０３においてＮＯと判定される場合には、ステップＳ８０５に対応する図９の処理が対応するので、マークが付された先頭の印刷ジョブは代行印刷の対象とならず、プリンタに蓄積された印刷ジョブのうち、自らが発行した印刷ジョブで且つ先頭印刷ジョブとみなされるもの以外の印刷ジョブを他の印刷装置に代行させる（第２代行モード）。また、第１代行モードや第２代行モードの設定は、図１５の１５０１へのチェックや、図１７の１７０１乃至１７０４において切り替えることができ、第２代行モードが選択された場合に先頭印刷ジョブを識別する手段の機能を反映させた代行印刷処理が行なわれる。
【００８３】
また、プリンタ１０２に送信済印刷ジョブ以外の印刷ジョブの代行処理や、代行先プリンタのキューに、すでに、別の印刷ジョブがスケジュールされていても、併用することが可能であり、代行先プリンタの選択方法や、他の印刷ジョブの存在には依存せずに実施することができる。
【００８４】
次に、図９を用いて、図８のステップＳ８０５における先頭印刷ジョブの判定処理について詳細に説明する。
【００８５】
まず、ステップＳ９０２において、プリンタ１０２内の印刷ジョブのリストの終端か否かを判定する。終端でなければ、ステップＳ９０３において、図１０で示すようなプリンタ１０２から取得した印刷ジョブ情報を参照し、ステップＳ９０４、ステップＳ９０５において、先頭になりうる印刷ジョブステータスかどうか判断する。例えば、図１３は、プリンタ内のジョブのステータスを列挙したリストであるが、図１３のように実行中の印刷ジョブが先頭であれば、リストの先頭から判定の対象とする。また、図１４のように、削除中の印刷ジョブがリスト上に残っている場合には、削除中の印刷ジョブは、先頭印刷ジョブになりえないステータスと判定して、ステップＳ９０２に戻り、次の印刷ジョブ情報を参照する。もし、ステップＳ９０４において印刷ジョブステータスが、実行中（プリント印刷ジョブの印刷中）や、ｉｎｔｅｒａｃｔｉｏｎ（ユーザの介入待ち状態）など、プリントキューの先頭であることが判断できるステータスであれば、ステップＳ９０６において印刷ジョブ管理情報にプリンタ１０２から取得した印刷ジョブ情報のジョブのハンドルと一致するものがあれば、先頭印刷ジョブであることを記録（マーク）し、終了する。もし、プリンタ１０２から取得した図１３、図１４のようなリストにおいて、先頭のジョブが、他のジョブ制御プリントサービスから発行された印刷ジョブであれば、自らが管理する印刷ジョブ管理情報には、該当するジョブの管理情報（ハンドル）がないので、先頭印刷ジョブであることを記録せずに終了する。ここでは、リストの先頭から順に参照して確認する例を示したが、プリンタ１０２内のプリントキュー内の順番と印刷ジョブステータスなどの属性情報から先頭印刷ジョブを判定するのであれば、どのような順番で印刷ジョブ情報を絞り込んでもよい。
【００８６】
＜障害発生時の表示＞
本プリントシステムでは、先頭印刷ジョブを送信したホストコンピュータにのみ、詳細な障害報告表示を行ない、先頭印刷ジョブ以外の印刷ジョブを送信したホストコンピュータには、障害報告表示を行なわない。更に、先頭印刷ジョブについての障害の除去が困難な場合は、障害報告画面からの操作により、手動代行印刷に切り替えて代行印刷を実行させることができる。
【００８７】
図１６は、プリントマネージャ６０９によって実行される表示処理の流れを示すフローチャートである。この図１６のフローチャートは例えばプリンタ１０２が複数のコンピュータにより共有される場合に、各々のコンピュータで稼動するジョブ制御プリントサービス６０５に関連付けられたプリントマネージャ６０９により実行されるものとする。なお、プリントマネージャ６０９をジョブ制御プリントサービス６０５に含まれるようにしても良い。
【００８８】
ステップＳ１６０３において、ジョブ制御プリントサービス６０５から手動代行イベントが渡されたか否かを判定する。手動代行イベントとは、図１５の設定画面１５０１において、手動代行への切替条件として設定されたイベントである。手動代行イベントが発生するまでステップＳ１６０３の処理を繰り返す。
【００８９】
なお、ステップＳ１６０３の確認ついては、ジョブ制御プリントサービス６０５からのプリントマネージャ６０９への自発的なイベント通知に基づく確認であっても良いし、プリントマネージャ６０９のジョブ制御プリントサービス６０５へのポーリングステータス取得によるものであっても良い。また、プリントマネージャ６０９がジョブ制御プリントサービス６０５に含まれる場合には、ステップＳ１６０３の確認については、プリンタ１０２からの自発的なステータスのイベント通知に基づく確認であっても良いし、ジョブ制御プリントサービス６０５によるプリントデバイスに対するポーリングにより取得されたステータスに基づく確認であっても良い。
【００９０】
このようにポーリングとイベントとの双方を流用することにより、より確実に手動代行条件の発生を検知することができる。
【００９１】
手動代行イベントが確認された場合には、ステップＳ１６０４に進み、その手動代行イベントが発生したプリントキューについて予め設定されている表示設定を取得する。例えば、図１７のようなＵＩにおいて、チェックボックス１７０１と１７０２の何れをチェックするかによって、手動代行イベントを受け付けるか否かが設定され、更に、手動代行イベントを受け付けた場合に、手動代行アイコンのみを表示するのか、手動代行用のダイアログを自動表示するのか、プリントデバイス内の先頭印刷ジョブのみ詳細ダイアログの表示対象とするのかを、チェックボックス１７０３によって設定する。
【００９２】
例えば、プリンタに紙なしなどの障害が発生した場合には、ジョブ制御プリントサービス６０５から、手動代行イベントの発生がプリントマネージャ６０９に通知され、ステップＳ１６０５において、図１７のＵＩによって設定された条件に応じて、手動代行イベントを受け付けるか否かを判定する。なお、図１７の設定は、図６Ａ及びＢのプリントマネージャ６０９におけるジョブ制御プリントサービス６０５からの通知に対する設定であるが、無論、プリントマネージャ６０９をジョブ制御プリントサービス６０５に含めるようにして、プリントデバイスから取得されるステータス通知に基づくジョブ制御プリントサービス６０５の動作設定とするようにしても良い。
【００９３】
図１６の説明に戻ると、ステップＳ１６０５で、手動代行イベントを受け付ける設定でなければ、ステップＳ１６０３の手動代行イベントの待ち状態に戻り、手動代行イベントを受け付ける設定であれば、ステップＳ１６０６に進む。
【００９４】
ステップＳ１６０６では、図１７のチェックボックス１７０３を参照して、何れがチェックされているかを判定する。先頭印刷ジョブのみ手動代行ダイアログを表示する設定の場合、ステップＳ１６０７に進み、手動代行イベントの種類、または、付加情報から、その手動代行イベントの対象となった印刷ジョブが、先頭印刷ジョブであるかどうか判別する。先頭印刷ジョブでなければ、その印刷ジョブが後続の印刷ジョブの印刷を妨げているわけではないため、特に手動代行を促すＵＩは表示せず、簡易表示に留める（Ｓ１６０８）。つまり、手動代行ダイアログの表示を行なわず、図１８（ｂ）のようにプリンタの状況をタスクトレイにおけるアイコンなどで簡単に示す。この図１８（ｂ）の簡易表示への所定の指示が行なわれると、図１８（ｂ）の表示に代わって図１８（ａ）の設定画面を表示ことができる。
【００９５】
また、ステップＳ１６０７において、手動代行イベントから、先頭印刷ジョブであると判別できた場合は、ステップＳ１６０９に進み、例えば、図１８（ａ）のような代行印刷先指定を含む詳細情報表示を行ない、先頭印刷ジョブのオーナーに印刷ジョブの障害の発生を通知する。プリンタデバイスから取得されたリスト（図１３、図１４）における先頭印刷ジョブが、ジョブ制御プリントサービス自らが発行した印刷ジョブであるか否かの判定の仕組みは、図７〜９、図１２において説明してきた通りなので詳しい説明は省略する。
【００９６】
また、ステップＳ１６０６において、アイコンだけの簡易表示設定の場合には、先頭の印刷ジョブか否かにかかわらず、ステップＳ１６０８の簡易情報表示を行なう。ここで表示される簡易情報表示は例えば図１８（ｂ）に対応する。更に、ステップＳ１６０６において、必ず、手動代行ダイアログ表示を行なう設定の場合は、ステップＳ１６０９に進み、必ず、図１８（ａ）の詳細情報画面１８０１の表示を行なう。
【００９７】
そして、図１８（ａ）の１８０２のリストからユーザの指示に応じて所定の代行プリンタが選択され、その選択されたプリンタに対して代行印刷の指示が１８０３のボタンを介して行なわれると、選択されたプリンタに対して保存されていた印刷ジョブを転送する。
【００９８】
以上のように、プリントデバイス内の先頭印刷ジョブのみ詳細ダイアログの表示対象にするという設定を行なうことが可能であるから、障害に関わる先頭印刷ジョブのオーナーには、手動代行印刷を促し、かつ、自分のジョブの印刷が原因で印刷装置が停止していることを詳しく通知することができる。また、先頭印刷ジョブ以外の障害に関わらない印刷ジョブのオーナーには、障害に関わる先頭印刷ジョブのオーナーへの表示のような詳細な表示をデスクトップ上には表示せず、必要最小限の簡易表示で自分のジョブが代行されていることを示すので、冗長な表示を回避できる。
【００９９】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１００】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【０１０１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１０２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１０３】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【０１０４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１０５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１０６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１０７】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１０８】
【図１】本発明の実施形態としてのプリントシステムの全体構成を示すブロック図である。
【図２】サーバまたはクライアントのハードウェア構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図である。
【図６Ａ】プリントシステムのソフトウェア構成の１例を示す図である。
【図６Ｂ】プリントシステムのソフトウェア構成の他の例を示す図である。
【図７】本発明の実施形態における代行印刷処理の流れを示すシーケンス図である。
【図８】本発明の実施形態としてのサーバにおける代行印刷処理の流れを示すフローチャートである。
【図９】本発明の実施形態としてのサーバにおける先頭印刷ジョブ判定処理の流れを示すフローチャートである。
【図１０】本発明の実施形態としてのサーバにおける印刷ジョブ管理情報の一例を示す図である。
【図１１】本発明の実施形態としてのサーバがプリンタから取得した印刷ジョブ情報の一例を示す図である。
【図１２】本発明の実施形態における代行印刷処理の流れを示すシーケンス図である。
【図１３】本発明の実施形態における印刷ジョブリストの一例を示す図である。
【図１４】本発明の実施形態における印刷ジョブリストの一例を示す図である。
【図１５】本発明の自動代行から手動代行に切り替える条件を設定するための設定画面の一例を示す図である。
【図１６】本発明の手動代行の発生を検知した場合に、手動代行印刷表示を行なうための設定画面への設定に応じて、異なるＵＩを表示する処理のフローチャートである。
【図１７】本発明の先頭印刷ジョブのみ手動代行印刷表示を行なうための設定画面の一例を示す図である。
【図１８】本発明の実施の形態における、代行の設定により切り替わる、詳細情報表示と簡易情報表示のＵＩの一例を示す図である。
【図１】
2005173919.tif 000003
【図２】
2005173919.tif 000004
【図３】
2005173919.tif 000005
【図４】
2005173919.tif 000006
【図５】
2005173919.tif 000007
【図６Ａ】
2005173919.tif 000008
【図６Ｂ】
2005173919.tif 000009
【図７】
2005173919.tif 000010
【図８】
2005173919.tif 000011
【図９】
2005173919.tif 000012
【図１０】
2005173919.tif 000013
【図１１】
2005173919.tif 000014
【図１２】
2005173919.tif 000015
【図１３】
2005173919.tif 000016
【図１４】
2005173919.tif 000017
【図１５】
2005173919.tif 000018
【図１６】
2005173919.tif 000019
【図１７】
2005173919.tif 000020
【図１８】
2005173919.tif 000021