(57)【要約】【課題】  代行印刷時に、正しく出力装置における印刷済み状況が把握できず、代行先の出力装置において所定のページについて、２重印刷がなされていた。【解決手段】  印刷装置における印刷処理を継続できない障害を検知し、前記障害が発生した印刷装置の種別に応じた待機時間に基づく待機の後に前記印刷装置における印刷済み状況を取得する取得する。そして、取得された印刷済み状況に基づく代行処理を行なう。【選択図】  図７
2005242741.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置に供給される印刷ジョブを作成する情報処理装置であって、
前記印刷装置における印刷処理を継続できない障害を検知する検知手段と、
前記障害が発生した印刷装置の種別に応じた待機時間に基づく待機の後に前記印刷装置における印刷済み状況を取得する取得手段と、
前記取得手段により取得された印刷済み状況に基づく代行処理を行なう処理手段と、
を有することを特徴とする情報処理装置。
【請求項２】
印刷装置の種別に応じた待機時間を示すテーブルを更新する更新手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷した論理ページ数を示すインプレッション数であることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
情報処理装置と出力装置とが所定の通信回線で接続される印刷システムであって、
出力装置が、
ジョブデータの転送を受信する受信手段と、
出力装置内のジョブを個別に削除する削除手段を有し、
情報処理装置が、
出力装置に対して、ジョブデータを転送する転送手段と、
転送したジョブデータのコピーを保持する手段と、
前記出力装置の状況、或いは、ジョブの状況、或いは、障害の状況を把握する把握手段と、
障害発生時に、出力装置に送信済のジョブを識別し、削除させる削除制御手段と、
別の出力装置に、ジョブデータを転送するようにする第１転送制御手段と、
障害が発生した所定の出力装置内に保持されたジョブのうち、
障害の種類によらず、正しくジョブの印刷完了インプレッション数、または、枚数を判断手段、
前記判断に基づく表示を表示部に行なわせる表示制御手段とを有する印刷システム。
【請求項５】
前記判断手段は所定時間待機に、前記インプレッション数、または、枚数を判断することを特徴とする請求項３に記載の印刷システム。
【請求項６】
情報処理装置と出力装置とが所定の通信回線で接続される印刷システムであって、
情報処理装置が、
出力装置に対してジョブを転送するようにする第１転送制御手段と、
転送したジョブのコピーを保持する手段と、
前記出力装置の状況、或いは、ジョブの状況、或いは、障害の状況を把握する把握手段と、
障害発生時に、出力装置に送信済のジョブを識別し、削除させる削除制御手段と、
別の出力装置に、ジョブデータを転送するようにする第２転送制御手段とを有し、
出力装置が、
ジョブデータの転送を受信する受信手段と、
出力装置内のジョブを個別に削除する手段を有する複数の出力装置、
情報処理装置が、障害が発生した出力装置内に保持されたジョブのうち、障害の種類によらず、正しくジョブの印刷完了インプレッション数、または、枚数を判断するために、機種別、および、状態別に、障害の通知後、正しくジョブの属性が取得できるまでの待機時間を保持する制御手段とを有し、
前記第２転送制御手段は、待機時間後、ジョブの印刷完了インプレッション数、または、
枚数を取得して、出力装置内のジョブを出力装置から削除し、別の出力装置に、続きのジョブを転送することを特徴とする印刷システム。
【請求項７】
印刷装置に供給される印刷ジョブを作成する情報処理装置における印刷処理方法であって、
前記印刷装置における印刷処理を継続できない障害を検知する検知ステップと、
前記障害が発生した印刷装置の種別に応じた待機時間に基づく待機の後に前記印刷装置における印刷済み状況を取得する取得ステップと、
前記取得ステップにおいて取得された印刷済み状況に基づく代行処理を行なう処理ステップと、
を有することを特徴とする印刷処理方法。
【請求項８】
印刷装置の種別に応じた待機時間を示すテーブルを更新する更新ステップを有することを特徴とする請求項７に記載の印刷処理方法。
【請求項９】
前記印刷した論理ページ数を示すインプレッション数であることを特徴とする請求項７又は８に記載の印刷処理方法。
【請求項１０】
請求項７から９の何れかに記載の印刷処理方法を実現するための、コンピュータにより実行されるプログラム。
【請求項１１】
請求項１０に記載のプログラムをコンピュータ可読の形態で格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、代行印刷を行なう仕組みに関する。
【背景技術】
【０００２】
従来から出力装置においてジョブを実行できないような障害が発生し、代行印刷を実行する場合に、印刷出力が完了した頁の続きから他の出力装置に印刷を継続する仕組みが知られている。
【０００３】
例えば、特許文献１には、出力装置が正常印刷枚数をホストに返答し、障害回復時にホストが正常印刷枚数および先頭から文書データを送り、印刷装置が印刷開始ページまで読み飛ばし、展開して印刷を再開するようにする。
【特許文献１】特開平０５−２３３１７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、様々な種類の出力装置が混在する昨今のネットワーク印刷環境下では、単純に印刷装置における出力状況を把握しようとしても、正確な出力状況を得ることができなかった。
【０００５】
例えば、印刷が正常に終了した頁の情報を示すインプレッション数の通知の仕組みは、出力装置の仕様に依存し、様々な種類の出力装置が混在する昨今のネットワーク印刷環境下では、単純にインプレッション数を取得しようとしても、正確なインプレッション数を得ることができなかった。
【０００６】
さらに、具体的事例を挙げるとすれば、障害発生のタイミングと、印刷処理済みの記録媒体の確認タイミングとが、一致しないような場合がある。特に高速機おいては、機内に印刷処理対象の記録媒体を７、８枚を持ち合わるような場合もあり、障害発生を通知してから、新たに印刷済みが確認されるような形態も想定される。
【０００７】
結果として誤ったインプレッション数に基づく続きのページから代行印刷が行なわれるため、２重印刷物が発生してしまうという問題があった。
【０００８】
本発明は上記、従来の課題に鑑み、様々な種別の出力装置が混在するネットワーク印刷環境下において、印刷物が２重に出力されることを防止できる仕組みを提供することにある。
【０００９】
さらに、すべてのジョブを代行する機能と先頭のジョブ以外を代行する機能をユーザーが選択できる仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願発明は上記問題点に鑑みてなされたものであり、印刷装置における印刷処理を継続できない障害を検知し、前記障害が発生した印刷装置の種別に応じた待機時間に基づく待機の後に前記印刷装置における印刷済み状況を取得する取得する。そして、取得された印刷済み状況に基づく代行処理を行なう仕組みを提供する。
【発明の効果】
【００１１】
本発明によれば、複数の出力装置が存在するネットワーク印刷環境下において、印刷物が２重に出力されることを防止できる。
【００１２】
特に、様々な仕様の出力装置が混在するネットワーク印刷環境下において有用である。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１４】
＜システム構成＞
図１は、本発明の印刷システムの構成の一例を示すシステム構成図である。なお、本システムにおけるネットワークプリンタは、複数台接続されていることを仮定している。
【００１５】
図１において、１０２、１０３は印刷制御装置であるネットワークプリンタであり、図示省略したネットワークインタフェースを介してネットワーク１０４と接続されており、１０１サーバコンピュータから送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換して１ページ毎に印刷する。プリンタ１０２、１０３、としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、様々な方式のものに適応できることも無論想定される。
【００１６】
１０１は本実施形態のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０４に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０４の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０４に接続されている複数のプリンタを管理している。構成としては、プリントサーバ１０１は、一般的な情報処理装置であり、印刷制御プログラムが実行可能に格納されている。
【００１７】
１０４はネットワークであり、サーバ１０１、ネットワークプリンタ１０２、１０３等と接続している。
【００１８】
＜情報処理装置の構成＞
図２は、図１に示した情報処理装置の構成を説明するブロック図であり、情報処理装置で、サーバ１０１も同様あるいは同等のハードウェア構成とする。よって、サーバの構成を説明するブロック図として説明する。
【００１９】
同図において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行なう。
【００２０】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリやワークエリア等として機能する。
【００２１】
２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００２２】
２０４は記憶媒体であるフロッピー（登録商標）ディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００２３】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、及び関係プログラム等を格納している。さらに、スプール手段であるスプーラはここに確保される。
【００２４】
スプール手段は、プリントサーバ１０１ではサーバスプーラのことである。
【００２５】
２０６は指示入力手段であるキーボードであり、ユーザがプリントサーバ１０１に対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００２６】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタ１０２〜１０３の状態等を表示したりするものである。２０８はシステムバスであり、プリントサーバ１０１であるコンピュータ内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行なう。
【００２７】
＜メモリマップ等の説明＞
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２８】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラム及び関係データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００２９】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００３０】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、プリントサーバ１０１において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。
【００３１】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００３２】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関係データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００３３】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【００３４】
同図において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関係データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、サーバ１０１に同様の構成を採っている。
【００３５】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。
【００３６】
同図において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラム及び関係データを格納している。
【００３７】
＜印刷ジョブ制御システム＞
次に、本実施形態における、印刷を行なう印刷ジョブ制御システムについて説明する。なお、この印刷ジョブ制御システムの印刷処理は、上述した印刷制御プログラムで実行される。これらは、一台のホストコンピュータで実行されるようなプリントサーバであってもよいし、複数のホストコンピュータにまたがるプリントシステムであってもよい。また、本発明の実施例は、一台のプリントサーバにおいて説明するが、サーバマシン上にジョブをスプールするサーバスプール方式に限らず、プリントシステム内のクライアントマシンであるホストコンピュータがジョブを保持し、サーバマシンによるプリントシステム内のジョブのスケジュール管理の元、ジョブを出力装置に送信するクライアントスプール方式であってもよく、本発明の代行印刷処理を実施することができる。
【００３８】
＜プリントシステムのソフトウェア構成＞
次に、本プリントシステムのソフトウェア構成について説明する。このソフトウェア構成は、上述した印刷制御プログラムに含まれる。
【００３９】
これらは、一台のホストコンピュータで実行されるようなプリントサーバであってもよいし、複数のホストコンピュータにまたがるプリントシステムであってもよい。また、本発明の実施の形態は、一台のプリントサーバにおいて説明するが、サーバマシン上に印刷ジョブをスプールするサーバスプール方式に限らず、プリントシステム内のクライアントマシンであるホストコンピュータが印刷ジョブを保持し、サーバマシンによるプリントシステム内の印刷ジョブのスケジュール管理の元、印刷ジョブをプリンタに送信するクライアントスプール方式であってもよい。
【００４０】
具体的に図を用いて説明すると、図６Ａは、サーバ１０１におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、図２のＣＰＵ２００によって実行され、所望の機能を実現する。
【００４１】
通常、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｏｒｄなどの一般的なアプリケーションプログラム６０１は、ユーザから印刷の指示を受け付けると、一連の描画コマンドをＯＳを介して生成する。ＯＳを介して生成された描画コマンドはＰＤＬドライバ６０２に渡され、ＰＤＬドライバ６０２は、一連の描画コマンドに基づいてネットワークプリンタ１０２、１０３で解釈可能なＰＤＬファイルを含む印刷ジョブを生成し、スプーラ６０３に渡す。なお、以下の説明ではＰＤＬドライバを例に説明を行なうが、これに限定されるものではなく、例えば、バンド単位のディスプレイデータ（ＢＤＬ（Ｂａｎｄ  ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）とも呼ぶ）や、圧縮ビットマップを作成するプリンタドライバなどにも適用可能であることはいうまでもない。
【００４２】
スプーラ６０３は、ユーザがユーザインタフェースを介して選択し指示したポートモニタ６０４に印刷ジョブを渡して、ネットワークプリンタ１０２、１０３に送信させる手順をとる（矢印ａ）。ここでは、ユーザはあらかじめ代行印刷用のポートモニタ６０４（以降、ジョブ制御ポートモニタと略記）を指定して印刷を指示したものとして説明を進める。
【００４３】
また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ６０４に送信される。
【００４４】
ジョブ制御ポートモニタ６０４は、印刷ジョブをそのままネットワークプリンタ１０２、１０３に送信するのではなく、代行印刷用のプリントサービス６０５（以降、ジョブ制御プリントサービスと称する）に送信する（矢印ｂ）。ジョブ制御プリントサービス６０５は、転送された印刷ジョブ及びデバイスの状態を管理する機能を備える。特にネットワークプリンタとデータ転送元とがピアツーピアで接続され直接印刷ジョブをネットワークプリンタに投入する場合には、ネットワークプリンタから通知されるデバイス状態や印刷ジョブの状態などの情報を管理したり、また、ネットワークプリンタに対して所定の命令をする機能も備える。これは、複数のネットワークプリンタ１０２、１０３のデバイス情報や印刷ジョブ情報を管理する機能に相当する。
【００４５】
そして、印刷ジョブの代行印刷機能に基づき印刷ジョブのコピーを保持しつつ、印刷ジョブをネットワークプリンタ１０２またはネットワークプリンタ１０３に転送する（矢印ｃ、ｄ）。
【００４６】
プリントマネージャ６０９は、ユーザが、ジョブ制御プリントサービス６０５内部でプリント印刷ジョブがどのような状態にあるかを調べたり、プリント印刷ジョブを操作したりするためのユーザインタフェースを提供するプログラムである。プリントマネージャ６０９は、ジョブ制御プリントサービス６０５のソフトウェアのインタフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を介して、ジョブ制御プリントサービス６０５と情報・指示をやり取りしている。
【００４７】
そして、主に、ジョブ制御プリントサービス６０５が管理するネットワークプリンタ１０２、１０３の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。ここでのジョブ制御プリントサービス６０５はネットワークを介して通信可能な各ネットワークプリンタの印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスを監視する機能を備える。
【００４８】
更に詳細な処理としては、プリントマネージャ６０９がジョブ制御プリントサービス６０５に対してデバイスを指定したイベントを発行し、ジョブ制御プリントサービス６０５は発行されたイベントに基づくデバイスのステータスを監視して、監視に基づく結果をプリントマネージャ６０９に通知する。
【００４９】
マネージメントコンソール６１０は、ソフトウェアがアクセスするためのＡＰＩを介して、ジョブ制御プリントサービス６０５と情報・指示をやり取りすることで、サーバ１０１またはクライアント１０７、１０８の全体を監視することができる。
【００５０】
また、ジョブ制御プリントサービス６０５は、デバイス情報コントロールモジュール６０６を用いて各ネットワークプリンタ１０２、１０３と通信を行ない、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したりする機能を明示したものでありジョブ制御プリントサービス６０５に含めるように考えても良い。
【００５１】
一方、代行印刷機能を用いず、一般的なオペレーティングシステムに標準で搭載されるようなプリント機能を利用する場合においては、ＰＤＬプリンタドライバ６０２で生成されたＰＤＬファイルはスプーラ６０３からジョブ制御ポートモニタ６０８を経て（矢印ｅ）、ネットワークプリンタ１０２またはネットワークプリンタ１０３に転送される（矢印ｆ）。
【００５２】
次に、図６Ａを用いて説明したシステムの変形例について、図６Ｂを参照して説明する。図６Ｂは、代行印刷に必要な機能を、クライアント１０４とサーバ１０１とが分担し、それぞれが協力し合って実現する場合について表わしたものである。具体的には、クライアント１０４で作成し、プリントキューに登録された印刷ジョブ情報に対し、プリントサーバ１０１がスケジューリングを行なう場合のデータの流れを示している。なお、図６Ａと同じ構成は同じ符号で表わしている。
【００５３】
図６Ｂのシステムでは、マネージメントコンソール６１０やデバイス情報コントロールモジュール６０６をもたないクライアント１０４と、それらを有するサーバ１０１とが協働して、ネットワークプリンタのデバイス情報を管理する。また、サーバ１０１は、ジョブ制御サーバ６１２を有し、デバイス情報コントロールモジュール６０６を用いて各ネットワークプリンタ１０２、１０３と通信を行ない、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報は、ジョブ制御プリントサービス６０５に渡すことができる。ジョブ制御サーバ６１２は基本的にジョブ制御プリントサービス６０５と同様の機能を備えており、論理的にジョブ制御プリントサービス６０５と印刷ジョブ情報を共有している。
【００５４】
なお、プリントシステムのソフトウェア構成は、図６Ａ、図６Ｂに限定されるものではなく、その他の様々な構成でも本発明を実現可能である。例えば、クライアントが、アプリケーション６０１からジョブ制御サポートモニタ６０４までの構成のみを備え、ジョブ制御プリントサービス６０５、プリントマネージャ６０９、マネージメントコンソール６１０、デバイス情報コントロールモジュール６０６をサーバ１０１が備えていてもよい。
【００５５】
＜第１の実施形態＞
本発明の第１の実施形態について、図７のシーケンス図、および、図８のフローチャートを用いて説明する。尚、図７においてはプリントサーバ１０１を例に説明を行なうが、本発明が適用されるシステム形態は上に説明した図６Ａ及び図６Ｂなど様々な形態が想定され、図６Ａ或いは図６Ｂにおいて説明した機能を備える情報処理装置であれば適用可能である。
【００５６】
図７は、本発明の代行印刷処理の実施形態を実現するプリントシステムにおいて、プリントサーバ１０１と、プリンタ１０２、１０３プリンタ間の手順を示した図である。
【００５７】
プリントサーバ１０１は、ユーザーの指示によりアプリケーションソフトから受けたプリントジョブをプリンタ１０２に送信する。プリンタ１０２は、受信後、ただちにジョブの印刷を開始する。実際には図６Ａ及び図６Ｂで説明したジョブ制御プリントサービス６０５を介してジョブがプリンタに転送される。
【００５８】
このとき、プリンタ１０２において、ジョブの印刷が終了しないうちに、前のページの印刷状態によらず、直ちにエラーとなるような状態、例えば、次のページのデータを展開し給紙準備を始めると、出力装置（プリンタ１０２）がすぐに障害を検知する紙なしのような状態になった場合、プリントサーバ１０１は、プリンタ１０２から、イベント通知により、デバイスの障害通知、および、ジョブのステータス通知を受ける。
【００５９】
このときに、プリンタ１０２では、まだ、前のページの印刷が継続されているため、ステータス通知の直後に、印刷が完了したインプレッション数を正しく判断することができない。ここでインプレッション数について定義すると、排紙出力した紙の枚数ではなく、印刷した論理面（論理ページ）の数を指す。例えば、インプレッション数を規定すれば、紙媒体１ページに１論理ページを印刷し且つ両面印刷の場合は、紙媒体１枚でインプレッション数２ページをカウントすることとなる。
【００６０】
また、出力装置（プリンタ１０２）は、すでにデバイスが障害を起こしたステータス通知、および、ジョブが障害により、例えばユーザーの介入を必要とする、ｉｎｔｅｒａｃｔｉｏｎなどの停止状態となったことを通知済みのため、印刷が継続していることをプリンタ１０１が知る手段がない。
【００６１】
障害の通知を受けたプリンタ１０１は、各機種、各状態ごとに固有の時間、待機し、一定時間経過後、プリンタ１０２の停止しているジョブの印刷が完了したインプレッション数を取得し、排紙済みインプレッション数を変更可能な形態で表示する。インプレッション数を変更可能な形態で表示することにより、万が一正しいインプレッション数を取得していない場合にも、ユーザの確認を元に変更することができ、より確実な２重印刷を防止した代行印刷を実現することが出来る。
【００６２】
次に、正しく取得された、印刷が完了しているインプレッション数をもとに、続きのジョブを作成し、１０３プリンタに代行印刷を実行する。なお、実施例は、インプレッション数で説明するが、枚数であっても同様に本発明の手順を適用することができる。
【００６３】
図８のフローチャートは、本発明の代行印刷処理を実行するプリントサーバ１０１内のジョブ制御プリントサービス６０５及びデバイス情報コントロールモジュール６０５により行なわれる処理を示す。
【００６４】
図８を用いて、本発明の代行印刷処理を実行する、プリントサーバ１０１の処理を詳細に説明する。
【００６５】
プリントサーバ１０１上のジョブ制御プリントサービス６０５は、プリンタ１０２にジョブを転送後、ジョブの終了確認前に、プリンタ１０２においてトナーなどの消耗材切れ等の印刷処理を継続できない事態（障害）の発生を検知した時点から、本発明の代行印刷処理が開始される。
【００６６】
まずＳ８０２において、デバイス、ジョブのステータス通知であるか判断し、ｓ８０３において、ジョブ制御プリントサービス６０５は、ステータス通知のあったデバイスに対して送信したジョブが存在するかどうか判断する。
【００６７】
ステータス通知のあったデバイスに対して送信したジョブがある場合には、Ｓ８０４に進み、障害の発生したデバイスの種別に印刷が完了したインプレッション数を取得するための待ち時間情報を取得する。尚、種別としてはプリンタデバイスの機種や、プリンタモデル名であっても良いし、同じ機種であってもバージョンが異なるものを種別とするようにしても良い。また、デバイスの種別は障害を示すステータス通知と共にデバイスから種別を示す情報を取得するようにしても良いし、ジョブ制御プリントサービス６０５内で管理されるデバイスに対応する論理プリンタが保有する属性のうちの種別の情報を取得するようにしても良い。
【００６８】
図９に、プリンタデバイスの種別毎に、且つ、夫々の種別における各種状態に対応する待ち時間を特定するためのテーブル例を示す。この図９のテーブルはジョブ制御プリントサービス６０５が参照可能な形態であればどこに記憶されていても良い。この図９に示される設定情報から、待ち時間情報を取得する。本実施例では、機種別の待ち時間として説明するが、取得された状態が、例えば、紙なしではなく、ジャムのように印刷が停止した後、通知されるような状態であれば、待ち時間を短くし、状態ごとに待ち時間を使い分けてもよい。また機種毎、且つ、障害状態毎に待ち時間を図９に含ませ使い分けても良い。
【００６９】
Ｓ８０５において、ジョブ制御プリントサービス６０５は、各デバイスごとの待ち時間が経過するまで、ジョブの情報の取得を待機する。この待機方法は、プログラムがループに入ってもいいし、ＯＳの提供するｗａｉｔなどの機能や、タイマーなど、一定時間、プログラムが行なう処理を待機することができれば、どのような方法でも構わない。
【００７０】
次に、Ｓ８０５における図９のテーブルに基づく待機処理の後、Ｓ８０６において、プリンタ１０２の障害で停止したジョブに対して、印刷が完了したインプレッション数を取得し、Ｓ８０７において、完了インプレッション数を表示部に表示するよう制御する。もし、障害が発生したデバイス（デバイスに対応する論理プリンタ）に対してインプレッション数を用いた機能の設定がされてなければ、正しいインプレッション数を表示して本発明のフローを終了するが、Ｓ８０８において、部分代行印刷の設定がされている場合は、Ｓ８０９において部分代行印刷処理を開始する。
【００７１】
Ｓ８１０において、印刷が完了したインプレッション数をもとに、次のインプレッションから、（両面印刷の場合は、未印刷のページを含む物理用紙の最初のページから）印刷される代行ジョブを生成し、代行印刷処理を開始する。この場合に代行印刷を実行する、代行ジョブは、ＰＤＬのデータとしては、同一のものに印刷ページ指定を加えたジョブであってもよいし、例えば、出力装置に依存しない中間ファイル形式のデータを、あらかじめ、ジョブ制御プリントサービス６０５が保存しておき、新たに必要ページだけを含むＰＤＬジョブを再作成して代行ジョブとしもよい。本発明においては、代行ジョブの作成方法には、特に依存するものではない。続きのジョブを生成すると、Ｓ８１１において、６０５プリントジョブ制御サービスは、プリンタ１０２内で停止しているジョブを個別に削除し、Ｓ８１３において１０３プリンタに代行ジョブを送信して本発明の実施例の部分代行印刷を終了する。
【００７２】
図８のＳ８０４、Ｓ８０５の処理により、前記障害が発生した印刷装置の種別に応じた待機時間に基づく待機の後に前記印刷装置のインプレッション数を取得でき、取得されたインプレッション数に応じた代行処理を行なうことができるので、様々な種別の出力装置が混在するネットワーク印刷環境下において、印刷物が２重に出力されることを防止できる。そして、ジョブの実行が完全に停止する前に、出力装置のステータスの変化や、ジョブのステータスの変化がホストに通知されるデバイスを管理する情報処理装置であっても、ジョブの実行中に変化する情報を正しく取得して、各プリンタの出力が２重印刷にならないように、部分代行印刷を行なうことができる。
【００７３】
＜第２の実施形態＞
第１の実施形態では、インプレッション数を例に説明を行なってきたが、印刷済み状況を取得するという意味では、インプレッション数のみに限定されるものではなく、印刷装置における物理排紙枚数に対して、図７、８、９に基づく印刷処理を行なうようにしても良い。
【００７４】
＜第３の実施形態＞
第１、２の実施形態では、図９の待機時間設定情報を予めジョブ制御プリントサービス６０５内において保持される固定的なものとして説明してきたが、この図９の待機時間設定情報の部分を更新できるように構成するようにすれば、新たに発売される種別のデバイスに対しても図８のフローチャートの処理を的確に処理することができる。
【００７５】
図９に示されるテーブルの、更新の仕組みとしては例えば、新たな情報ファイルをジョブ制御プリントサービス６０５が読み込み、古い図９のテーブルを書き換えるようにすれば良い。
【００７６】
＜他の実施形態＞
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００７７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００７８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８０】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【００８１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００８２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００８４】
さらに更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８５】
【図１】本発明の印刷システムの構成を示すシステム構成図である。
【図２】図１に示した情報処理装置の構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図である。
【図６】Ｗｉｎｄｏｗｓ（登録商標）が提供するプリントスプーラと印刷ジョブ制御サービスにおける印刷ジョブの関係を示す図である。
【図７】本発明の代行処理の手順を示すシーケンス図である。
【図８】ジョブ制御プリントサービス６０５による代行処理を示すフローチャートである。
【図９】ジョブ制御プリントサービス６０５が代行処理の再に参照するインプレッション取得処理に伴う待ち時間を取得するテーブルを示す図である。
【図１】
2005242741.tif 000003
【図２】
2005242741.tif 000004
【図３】
2005242741.tif 000005
【図４】
2005242741.tif 000006
【図５】
2005242741.tif 000007
【図６】
2005242741.tif 000008
【図７】
2005242741.tif 000009
【図８】
2005242741.tif 000010
【図９】
2005242741.tif 000011