(57)【特許請求の範囲】
【請求項１】
上位装置と、プリントサーバと、プリンタとからなる印刷システムにおいて、上位装置が応用プログラム部とプリンタ論理ドライバ部と文書形式変換部とスプール登録機能部とからなり、プリントサーバがスプールとジョブ出力部とからなり、上位装置で応用プログラム部が生成した文書をプリンタ論理ドライバ部に入力し、プリンタ論理ドライバ部が入力された文書を非ページ独立形式の文書として出力し、文書形式変換部が該非ページ独立形式の文書を受取り、ページ独立形式の文書に変換して出力し、スプール登録機能部が該ページ独立形式の文書をプリントサーバに送信し、
前記プリントサーバは、送信されたページ独立形式の文書をプリントサーバ内のスプールに登録して、前記スプールに登録された文書を読出してプリンタに送信し、前記スプールに保持したページ独立形式の文書を、一定時間経過後に削除することを特徴とする印刷システム。
【請求項２】
前記上位装置は、前記プリントサーバに、文書印刷再開ページを指定して再印刷を指示し、
前記プリントサーバは、指示されたページ独立形式の当該文書を、印刷再開ページ以後のページからなる文書に切出し編集した後、該切出し編集後の文書をプリンタに出力し、
前記プリンタは、該切出し編集後の文書を受け取り、印刷再開ページ以後について、印刷を行うことを特徴とする請求項１記載の印刷システム。
【請求項３】
前記プリンタは、前記プリントサーバから送信された文書の印刷中にプリンタエラーが発生したとき、当該文書についてのプリンタエラー発生をプリントサーバ経由で上位装置に通知し、
前記上位装置は、ユーザによって入力された印刷再開ページ情報を前記プリントサーバに送信することを特徴とする請求項１記載の印刷システム。
【請求項４】
プリンタ論理ドライバ部と文書形式変換部の間、及び、文書形式変換部とスプール登録機能部の間を、それぞれ一時ファイル又はメモリで入出力することを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項５】
文書形式変換部とスプール登録機能部が入力に対し自動的に処理を開始することにより、ユーザが応用プログラム部からプリンタ論理ドライバ部を利用して印刷を指示すると、ユーザがそれ以外の操作をしないでも、ページ独立形式の文書をプリントサーバのスプールに自動的に登録することを特徴とする請求項１乃至４のいずれか１項に記載の印刷システム。
【請求項６】
前記一定時間の基点は、当該文書におけるプリントサーバからプリンタへの送信完了時刻とすることを特徴とする請求項１記載の印刷システム。
【請求項７】
前記一定時間は、１日以上とすることを特徴とする請求項１記載の印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータやワークステーション等の計算機と、該計算機からの印刷要求を実行するプリントサーバと、該プリントサーバもしくは該計算機からの指示により実際の印刷を実行するプリンタとからなる、ネットワーク環境における印刷システム及び該印刷システムで用いられる計算機やプリントサーバ及びプリンタに関するものである。
【０００２】
【従来の技術】
プリンタで文書を印刷中に紙ジャム等の障害が発生したとする。この時、障害の発生した頁から、文書の印刷を継続するため、特開平３−１５５９７４号、ＷＯ９７／３６２２６等の発明が、従来なされている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記した従来技術には、以下の課題があった。
【０００４】
特開平３−１５５９７４号においては、障害の発生した頁から印刷を継続するため、プリントサーバがスプールに保持していた文書から、障害が発生した頁以後の頁を切出し、プリンタに再送することが必要だった。しかし、スプールに保持されている文書の形式がPDLと呼ばれる各プリンタ対応の形式であり、PDLに明瞭な頁区切りがなく、かつ頁独立でない。ここで頁独立でないとは、各頁先頭における各種描画属性パラメータが、前頁の終わりまでの描画処理を行って、初めて決定されることを意味する。
【０００５】
ところで、上記切出し処理をプリントサーバで行うためには、通常プリンタに内蔵されている描画処理と同じ論理の処理を、プリンタサーバ上に搭載する必要がある。しかし、プリントサーバとプリンタのOS（基本ソフトウェア）が異なるため、プリントサーバ上の描画処理を開発することは技術的に困難であり、その工数も大きかった。さらに、PostScript（登録商標）等の描画処理プログラムを外部から導入する場合、プリンタ用とは別に、プリントサーバ用のロイヤリティ契約を結ぶ必要があり、導入コスト、製品コストが増した。従って、プリントサーバで、PDL形式の文書データから、障害が発生した頁以後の頁データ切出すのは、実質的に難しく、プリントサーバソフトの開発工数が大きくなり、そのコストも高くなるという課題があった。
【０００６】
ＷＯ９７／３６２２６においては、応用プログラムから出力された形式（応用プログラム形式と呼ぶ）の文書を、プリンタ論理ドライバを用いてプリンタ独立な標準文書に変換する。上位装置は、該標準文書をプリントサーバに送る。その後、プリントサーバが上記標準文書を出力プリンタに対応した形式の文書に変換し、該プリンタで印刷していた。この場合、応用プログラム形式から標準文書への変換と標準文書からプリンタ対応文書への変換というように、二度の変換を行うため、システム性能の効率が良くないという課題があった。また２度の変換を行うと印刷内容に不具合が生じる可能性も残る。
【０００７】
本発明の第一の目的は、上記従来技術の問題点を解決し、印刷システムで紙ジャム等の障害が発生しても、任意の頁から印刷を継続できる、高信頼な印刷システムを提供することである。
【０００８】
【課題を解決するための手段】
上記課題を解決するため、本発明では以下のような手段を採用した。
【０００９】
本発明による印刷システムは、上位装置と、プリントサーバと、プリンタとからなる印刷システムにおいて、上位装置が応用プログラム部とプリンタ論理ドライバ部と文書形式変換部とスプール登録機能部とからなり、プリントサーバがスプールとジョブ出力部とからなり、上位装置で応用プログラム部が生成した文書をプリンタ論理ドライバ部に入力し、プリンタ論理ドライバ部が入力された文書を非ページ独立形式の文書として出力し、文書形式変換部が該非ページ独立形式の文書を受取り、ページ独立形式の文書に変換して出力し、スプール登録機能部が該ページ独立形式の文書をプリントサーバに送信し、前記プリントサーバは、送信されたページ独立形式の文書をプリントサーバ内のスプールに登録して、前記スプールに登録された文書を読出してプリンタに送信し、前記スプールに保持したページ独立形式の文書を、一定時間経過後に削除することを特徴とする。
【００１０】
また、前記上位装置は、前記プリントサーバに、文書印刷再開ページを指定して再印刷を指示し、前記プリントサーバは、指示されたページ独立形式の当該文書を、印刷再開ページ以後のページからなる文書に切出し編集した後、該切出し編集後の文書をプリンタに出力し、
前記プリンタは、該切出し編集後の文書を受け取り、印刷再開ページ以後について、印刷を行うことを特徴とする。
【００１１】
また、前記プリンタは、前記プリントサーバから送信された文書の印刷中にプリンタエラーが発生したとき、当該文書についてのプリンタエラー発生をプリントサーバ経由で上位装置に通知し、前記上位装置は、ユーザによって入力された印刷再開ページ情報を前記プリントサーバに送信することを特徴とする。
【００１２】
また、プリンタ論理ドライバ部と文書形式変換部の間、及び、文書形式変換部とスプール登録機能部の間を、それぞれ一時ファイル又はメモリで入出力することを特徴とする。
【００１３】
また、文書形式変換部とスプール登録機能部が入力に対し自動的に処理を開始することにより、ユーザが応用プログラム部からプリンタ論理ドライバ部を利用して印刷を指示すると、ユーザがそれ以外の操作をしないでも、ページ独立形式の文書をプリントサーバのスプールに自動的に登録することを特徴とする。
【００１４】
また、前記一定時間の基点は、当該文書におけるプリントサーバからプリンタへの送信完了時刻とすることを特徴とする。更に、前記一定時間は、１日以上とすることを特徴とする。
【００１５】
【発明の実施の形態】
以下、本発明の第一実施例について詳細に説明する。初めに図１を用いて、本印刷システムの全体構成を説明する。
【００１６】
本印刷システムは、上位装置（図中ではクライアント）１００、プリントサーバ２００、プリンタ３００、及びネットワーク４００とからなる。上位装置１００、プリントサーバ２００、プリンタ３００はネットワーク４００に接続されている。
【００１７】
上位装置１００は文書の印刷をプリントサーバ２００に指示する。これに伴い、上位装置１００からプリントサーバ２００に文書を送信する。プリントサーバ２００は上位装置１００から文書を受信し、スプール２２００と呼ぶ待ち行列に一旦蓄える。その後、プリントサーバ２００は該文書をプリンタ３００に送信し、実際の印刷を要求する。上位装置１００はパーソナルコンピュータやワークステーション等の計算機で実現する。プリントサーバ２００もパーソナルコンピュータやワークステーション等の計算機で実現する。
【００１８】
図１において、上位装置１００は１個しか示していないが、２個以上の上位装置を印刷システムに用意し、そこからプリントサーバ２００に印刷指示等を行うことができる。この場合も、全く同様にして、発明を実現することができる。
【００１９】
プリンタ３００は、プリンタコントローラ３１０とプリンタエンジン３２０で構成する。プリンタコントローラ３１０はプリントサーバ２００からPDL文書と呼ばれる印刷コマンド列を受信し、一連の印刷処理を行った後、プリンタエンジン３２０に展開されたドットイメージデータを送信する。プリンタエンジン３２０は、上記ドットイメージデータを受信し、プリンタメカニズムを用いて用紙への物理的な印刷を行う。プリンタメカニズムとしては、レーザ光学系利用電子写真、ＬＥＤ利用電子写真、液晶シャッタ利用電子写真、インクジェット、シャトル型インパクト、等の各種方法を用いることができる。
【００２０】
図１を用いて、上位装置１００の構成を説明する。上位装置１００はＯＳカーネル部１１１０、通信部１１２０、応用プログラム部１２００、プリンタ論理ドライバ部１３００、文書形式変換部１４００、ファイル転送送信部１５１０、スプール制御指示部１５２０で構成する。
【００２１】
通信部１１２０は、ネットワーク４００を介し、上位装置１００がネットワーク４００上の各種装置(プリントサーバ、プリンタ、スキャナ等)と通信を行うための、ハードウェアとソフトウェアで構成する。なお、スキャナは図からは省略した。ＯＳカーネル部１１１０は、上位装置１００を構成するハードウェア、ユーザインターフェース等を制御するための基本ソフトウェア（オペレーティングシステムとも呼ぶ）である。通信部１１２０はＯＳカーネル部１１１０の一部ともみなせるが、そこを明記するために別要素として記述した。
【００２２】
応用プログラム部１２００は、ワードプロセッサ、表計算、図形文書作成、画像文書作成、文書レイアウト等を行うためのプログラムである。各種文書を作成するとともに、作成した文書の処理をプリンタ論理ドライバ部１３００に指示する。
【００２３】
プリンタ論理ドライバ部１３００は、応用プログラム部１２００の作成した文書を、印刷コマンド列やページ記述言語等のプリンタ３００（より詳しくはプリンタコントローラ３１０）が受付け、印刷できる形式（以後、PDL形式と呼ぶ）に変換した後、その変換済のPDL形式の文書（以後、PDL文書とも略称する）を上位装置のユーザファイル１３１０に文書１３１１として格納する。ここで、文書１３１１はプリンタ論理ドライバ１３００が作成したPDLタイプ１の形式である。PDLタイプ１とは、PDLに明瞭な頁区切りがなく、頁独立でないPDLである。Adobe社のPostScript(登録商標)、HP社のPCL-5,PCL-5E,PCL-6,PCL-XL(登録商標)、エプソン社のESC/P、ESC/PAGEがPDLタイプ１である。ほとんどのPDLはこのPDLタイプ１である。本発明ではこれらのPDLの中から１個以上の任意のものを、サポートできるようにした。
【００２４】
本第一実施例では、上記PDLタイプ１の文書１３１１を文書形式変換部１４００を用いて、PDLタイプ２の文書１４１１に変換する。PDLタイプ２では、PDL文書に明瞭な頁区切りがあり、かつ頁独立である。頁独立とは、描画属性パラメータが各頁の先頭で毎回デフォルト値にリセットされていることである。従って、文書の任意の頁を独立に切出して、描画処理しても、各頁の印刷内容が、文書を先頭頁から最終頁まで順に処理した時と同じになる。PDLタイプ２の例としては、Adobe社のPDF(Portable Document Format ; 登録商標)がある。
【００２５】
文書形式変換部１４００は、例えば、PostScript（登録商標）形式の文書１３１１を、PDF形式の文書１４１１に変換する。この時、文書形式変換部１４００をAdobe社のdistillerと呼ぶプログラムを用いて実現することができる。
文書１４１１は、ファイル転送送信部１５１０又はスプール制御指示部１５２０のいずれかを用いて、プリントサーバ２００内のスプール２２００に格納される。ここでは、文書２２００３として格納されるものとする。
【００２６】
ここで、ファイル転送送信部１５１０は、文書１４１１をファイル転送手段によりスプールに送信する。ファイル転送のための通信プロトコルとしてはftp(file Transfer protocol)等を用いた。
【００２７】
また、スプール制御指示部１５２０は、スプール制御機能の中の印刷ジョブ登録手段を用いて、文書１４１１をスプール２２００へ登録する。
【００２８】
さらに、スプール制御指示部１５２０は、プリントサーバ２００内のスプール制御サービス部２２１０に、プリンタとスプール２２００に格納されている印刷ジョブについて、次の操作を指示する。
(１)印刷ジョブの一覧表示。
(２)印刷ジョブの削除。
(３)印刷ジョブの保留。
(４)印刷ジョブの保留解除。
(５)印刷ジョブ詳細情報の表示。
(６)プリンタの一時停止。
(７)プリンタの再開。
(８)プリンタ内の全印刷ジョブの削除。
(９)プリンタの状態表示。
(１０)プリンタの仕様、設定値の表示。
【００２９】
次にプリントサーバ２００の構成を説明する。
【００３０】
プリントサーバ２００はＯＳカーネル部２１１０、通信部２１２０、スプール２２００、スプール制御サービス部２２１０、ジョブ出力部２３００、ネットワークプリンタ制御ドライバ２４１０、プリンタローカルドライバ２４２０で構成する。
【００３１】
ＯＳカーネル部２１１０は、プリントサーバ２００を構成するハードウェア、ユーザインターフェース等を制御するための基本ソフトウェア（オペレーティングシステムとも呼ぶ）である。
【００３２】
通信部２１２０は、ネットワーク４００を介し、プリントサーバ２００がネットワーク上の各種装置（上位装置、プリンタ、スキャナ等）と通信を行うための、ハードウェアとソフトウェアで構成する。通信部２１２０はＯＳカーネル部２１１０の一部ともみなせるが、そこを明記するために別要素として記述した。
【００３３】
スプール２２００は上位装置１００がプリントサーバ２００に対して発行する印刷等の各種要求（以下、印刷要求と呼ぶ）を受付け、登録するための待ち行列（キューとも呼ぶ）である。上位装置１００からプリントサーバ２００への上記各種要求としては、
（ａ）ファイル転送送信部１５１０による、上位装置１００内の文書(文書１４１１等)の印刷要求。
（ｂ）スプール制御指示部１５２０による、上位装置１００内の文書(文書１４１１等)の印刷要求又はスプール登録要求。
（ｃ）応用プログラム部１２００からプリンタ論理ドライバ部１３００を介した印刷要求、等がある。
【００３４】
このうち、（ｃ）は本実施例では使わない。（ａ）では、ファイル転送送信として、例えばftp(file transfer protocol)を使う。（ｂ）では印刷要求やスプール登録要求として、例えばlprやWin32のAPI関数を使う。ここで、Win32とはMicrosoft社の基本ソフトであるWindows（登録商標）95/98/Me、Windows NT、Windows2000、WindowsXPのAPI(Application Programming Interface)のことであり、その中にあるジョブのスプールへの登録用の関数を使う。
【００３５】
プリントサーバ２００は上記各印刷要求を印刷ジョブとして、該スプール２２００に受付け順に登録する。本登録では、(１)各印刷ジョブを管理するためのジョブ名（通し番号付き）、登録日時、印刷文書容量（サイズ）等の管理情報と、(２)実際の印刷内容である印刷データの対を、ファイルとして登録する。
【００３６】
スプール制御サービス部２２１０は以下の三機能を実行する。
（１）印刷ジョブの受付けとスプール２２００への登録。
（２）スプール２２００に格納済みの印刷ジョブの受付け順での実行。
（３）上位装置１００内のスプール制御指示部１５２０からの要求の実行。
【００３７】
前記（１）では、前述のように、上位装置１００からプリントサーバ２００への上記各種要求として、上述の（ａ）、（ｂ）、（ｃ）を受付ける。
【００３８】
前記（２）では、ジョブ出力部２３００がスプール２２００内の印刷ジョブを順に読出し、処理する。実際には、ジョブ出力部２３００がスプールに印刷ジョブとして格納されているPDL形式の文書を、スプール２２００から読出し、プリンタ３００へ出力する。
【００３９】
プリンタへの出力は以下のように行った。
【００４０】
（a）プリンタがネットワークプリンタの時。
ジョブ出力部２３００が文書２２００１（PDLタイプ２形式）をスプール２２００から読出し、ネットワークプリンタ制御ドライバ２４１０へ書き込む。これに伴い、文書２２００１がネットワーク４００を介してプリンタ３００へ送信される。
【００４１】
（ｂ）プリンタがローカルプリンタの時。
ジョブ出力部２３００が文書２２００１（PDLタイプ２形式）をスプール２２００から読出し、プリンタローカルドライバ２４２０へ書き込む。これに伴い、文書２２００１が、プリンタローカルI/Fケーブル２４２０−ｂを介して、プリンタ３００へ送信される。
【００４２】
スプール制御指示部１５２０からのスプール２２００に対するジョブ登録以外の各種要求は、スプール制御サービス部２２１０が受付け、実行する。各種要求としては例えば以下のものを用意した。
(１)印刷ジョブの一覧表示。
(２)印刷ジョブの削除。
(３)印刷ジョブの保留。
(４)印刷ジョブの保留解除。
(５)印刷ジョブ詳細情報の表示。
(６)プリンタの一時停止。
(７)プリンタの再開。
(８)プリンタ内の全印刷ジョブの削除。
(９)プリンタの状態表示。
(１０)プリンタの仕様、設定値の表示。
【００４３】
次に図４〜図７を用いて、上位装置１００とプリントサーバ２００とプリンタ３００との間の処理手順を説明する。
【００４４】
初めに図４と図５を用いて、プリントサーバ２００とプリンタ３００との間が双方向インターフェースで結ばれている場合の手順を説明する。図４でプリンタで文書を正常印刷した場合の手順を説明する。図５で、文書の印刷中にプリンタエラーが発生し、プリントサーバがエラー回復する場合の手順を説明する。
【００４５】
まず図４を用いて説明する。
（１）上位装置１００がプリントサーバ２００に印刷を指示する(４０１)。これに伴い、文書データ４００Ａが上位装置１００からプリントサーバ２００に送信され、プリントサーバ２００のスプール２２００に格納される。スプール２２００の最後尾に文書２２００３として格納される。
（２）プリントサーバ２００は、上記（１）によるプリントサーバ２００内のスプール２２００への文書の受信とは非同期に、プリントサーバ２００内の文書データ４００Ｂを、プリンタ３００に送信する(４０２)。文書データ４００Ｂとしては、スプール２２００の先頭にある文書２２００１（PDLタイプ２形式、図１)が送信される。
（３）プリンタ３００が文書データ４００Ｂを受信する(４０４)。
（４）プリンタ３００が、文書データ４００Ｂを印刷する(４０５)。
（５）プリンタ３００が文書を正常に印刷した。
（６）プリンタ３００は、前記（５）に対応し、プリントサーバ２００に、文書正常印刷４００Ｃ１を報告する(４０７１)。
（７）プリントサーバ２００は、プリンタ３００から受信した上記文書正常印刷４００Ｃ１に対応し、文書の正常終了を上位装置１００に伝えるため、文書正常印刷４００Ｄ１を上位装置へ報告する(４０８１)。
（８）プリントサーバ２００は、上記文書正常印刷４００Ｃ１を受信すると、プリンタで今印刷を完了した当該印刷文書をスプール２２００から削除する(４０９)。
（９）上位装置１００は文書正常印刷４００Ｄ１を受信すると、文書を正常印刷したことを、画面に表示する(４１０)。
【００４６】
次に図５を用いて説明する。
【００４７】
最初の手順は、図４の説明における（１）〜（４）と同じである。
（５）プリンタ３００で印刷中に、紙ジャム等のプリンタエラーが発生した(４０６)。
（６）プリンタ３００からプリントサーバ２００に、当該文書の印刷中に発生したプリンタエラーに関するエラー情報４００Ｃ２を報告する(４０７２)。
（７）プリントサーバ２００は、受取ったエラー情報４００Ｃ２と同等の内容のエラー情報４００Ｄ２を、上位装置１００へ報告する。報告先の上位装置１００は、当該文書の印刷を依頼したユーザ及び印刷システムの管理を担当しているシステム管理者の使っている上位装置とした(４０８２)。ここで、エラー情報４００Ｄ２は、プリンタエラー発生、エラー種別(紙ジャム発生等)、エラー発生ページ番号とした。
（８）上位装置１００はエラー情報４００Ｄ２を受信し、上位装置１００の画面に表示する(４１１)。なお、プリントサーバ２００に上位装置１００の機能も含むように実装したので、プリントサーバ２００の画面にも、エラー情報は表示される
（９）エラー情報４００Ｄ２を画面で見たユーザやシステム管理者は、エラー回復をプリントサーバ２００に指示する。ここで、キャンセル又は再印刷開始ページをパラメータとした再印刷指示が指示される(４１２)。これに伴い、エラー回復指示情報４００Ｅ（キャンセル又は再印刷開始ページをパラメータとした再印刷指示）が上位装置１００からプリントサーバ２００に送信される。
（１０）プリントサーバ２００がプリンタ３００に対するエラー回復処理を実行する(４１３)。
【００４８】
（ａ）再印刷開始ページをパラメータとした再印刷指示の時。
（ａ−１）プリントサーバ２００は、プリンタ３００に出力し、今印刷させている。当該文書に対応するスプール２２００内の保存文書データから、再印刷開始ページ以降の文書データを切出す。プリンタに初期化指示４００Ｆを出す。続いて、プリンタに切出した再印刷開始ページ以降の文書データ４００Ｇを送信する。
（ａ−２）プリンタ３００は初期化指示４００Ｆを受け、初期化処理を行う(４１４)。
（ａ−３）プリンタ３００は再印刷開始ページ以降の文書データ４００Ｇを受信し再印刷開始ページ以降のページについて、文書を継続印刷する(４１５)。 これにより、プリンタで紙ジャム等のエラーが発生しても、ページ単位で印刷を継続し、重複、脱落のない印刷を実現することができるようにした。なお、プリントサーバ２００が上記４１３で再印刷開始ページ以降の文書データを容易に切出すことができたのは、スプール２２００に保存されている文書の形式をPDLタイプ２に変換しておいたことの効果である。
【００４９】
（ｂ）キャンセル指示の時
（ｂ−１）プリントサーバ２００はプリンタに初期化指示４００Ｆを出す。
（ｂ−２）プリントサーバは、続いて、プリンタ３００に出力し印刷させている当該文書データを、スプール２２００から削除する。なお、（ｂ）の場合は、図５に図示していない。
【００５０】
次に図５と図６を用いて、プリントサーバ２００とプリンタ３００間が片方向インターフェースで結ばれている場合の手順を説明する。図５でプリンタで文書を正常印刷した場合の手順を説明する。図６で、文書の印刷中にプリンタエラーが発生し、プリントサーバがエラー回復する場合の手順を説明する。
【００５１】
まず図５を用いて説明する。（１）〜（２）までの手順は、図４の場合と同じである。
（２−１）プリントサーバ２００はプリンタ３００に送信した文書を、スプール２２００に一定時間保持する(６０１)。この目的は、図５では片方向インターフェースのため、プリンタ３００からプリントサーバ２００へ、文書印刷の正常終了が報告されず、当該文書をスプール２２００から削除するタイミングがないためである。
（３）プリンタ３００が文書データ４００Ｂを受信する(４０４)。
（４）プリンタ３００が、文書データ４００Ｂを印刷する(４０５)。
（５）プリントサーバ２００は、前記６０１から一定時間経過した時点で、前記４０２で送信した文書をスプール２２００から削除する(６０２)。
ここで、一定時間は文書がプリンタ３００に渡った後正常に印刷されることが十分保証されるだけの時間であり、例えば１日に設定した。
【００５２】
次に図６を用いて説明する。（１）〜（２）までの手順は、図５の場合と同じである。
（２−１）プリントサーバ２００はプリンタ３００に送信した文書を、スプール２２００に一定時間保持する(６０１)。この目的は、図５の場合と同じである。
（３）プリンタ３００が文書データ４００Ｂを受信する(４０４)。
（４）プリンタ３００が、文書データ４００Ｂを印刷する(４０５)。
（５）プリンタ３００で印刷中に、紙ジャム等のプリンタエラーが発生した(４０６)。
（６）プリンタ３００からプリントサーバ２００に、当該文書の印刷中に発生したプリンタエラーに関するエラー情報４００Ｃ２を報告する(４０７２)。
（７）プリントサーバ２００は、受取ったエラー情報４００Ｃ２と同等の内容のエラー情報４００Ｄ２を、上位装置１００へ報告する。報告先の上位装置は、当該文書の印刷を依頼したユーザ及び印刷システムの管理を担当しているシステム管理者の使っている上位装置とした(４０８２)。ここで、エラー情報４００Ｄ２は、プリンタエラー発生のみである。図４におけるエラー種別(紙ジャム発生等)、エラー発生ページ番号はない。
（８）上位装置１００はエラー情報４００Ｄ２を受信し、上位装置１００の画面に表示する(４１１)。なお、プリントサーバ２００に上位装置１００の機能も含むように実装したので、プリントサーバ２００の画面にも、エラー情報は表示される。
（９）エラー情報４００Ｄ２を画面で見たユーザやシステム管理者は、エラー回復をプリントサーバ２００に指示する。ここで、キャンセル又は再印刷開始ページをパラメータとした再印刷指示が指示される(４１２)。これに伴い、エラー回復指示情報４００Ｅ（キャンセル又は再印刷開始ページをパラメータとした再印刷指示）が上位装置１００からプリントサーバ２００に送信される。
なお、片方向インターフェースの場合、プリンタ３００からエラー発生ページ番号が報告されないので、ユーザやシステム管理者は、プリンタ３００に赴いて、自分の目で、エラー発生ページ番号を確認し、それに基づいて再印刷開始ページを決めた。エラー種別もこの時確認し、エラー種別に対応した処置をプリンタに施した。
（１０）プリントサーバ２００がプリンタ３００に対するエラー回復処理を実行する(４１３)。
【００５３】
（ａ）再印刷開始ページをパラメータとした再印刷指示の時
（ａ−１）プリントサーバ２００は、プリンタ３００に出力し、今印刷させている当該文書に対応するスプール２２００内の保存文書データから、再印刷開始ページ以降の文書データを切出す。プリンタに初期化指示４００Ｆを出す。続いて、プリンタに、切出した再印刷開始ページ以降の文書データ４００Ｇを送信する。
（ａ−２）プリンタ３００は初期化指示４００Ｆを受け、初期化処理を行う(４１４)。
（ａ−３）プリンタ３００は再印刷開始ページ以降の文書データ４００Ｇを受信し、再印刷開始ページ以降のページについて、文書を継続印刷する(４１５)。
これにより、プリンタで紙ジャム等のエラーが発生しても、ページ単位で印刷を継続し、重複、脱落のない印刷を実現することができるようにした。
【００５４】
なお、プリントサーバ２００が上記４１３で再印刷開始ページ以降の文書データを容易に切出すことができたのは、スプール２２００に保存されている文書の形式をPDLタイプ２に変換しておいたことの効果である。
【００５５】
（ｂ）キャンセル指示の時
（ｂ−１）プリントサーバ２００はプリンタに初期化指示４００Ｆを出す。
（ｂ−２）プリントサーバは、続いて、プリンタ３００に出力し印刷させている当該文書データを、スプール２２００から削除する。
【００５６】
なお、上記（ｂ）の場合は、図５に図示していない。
【００５７】
次に、プリンタエラー発生時のユーザインタフェースについて、図７〜１６を用いて説明する。ここではエラーと同じ意味で、障害という用語も用いる。
【００５８】
図９は、プリンタ障害が発生したとき、上位装置のユーザ又はシステム管理者に通知されるプリンタ障害情報の表示例である。障害通知では、障害情報１２００として、発生した障害の内容が表示される。但し、障害通知先として定義されたユーザが上位装置にログオンしていない場合、障害情報の通知は行われない。
【００５９】
障害情報の通知を受けたユーザ又はシステム管理者は、図１０にその表示例が示される［回復指示］ダイアログボックスより印刷回復の指示を行う。なお、［回復指示］ダイアログボックスを表示せずに、あらかじめ設定しておいた印刷回復方法に従って自動回復を行うようにしてもよい。また、印刷回復では、同一プリンタ（障害から回復後のプリンタ）又は代替プリンタを用いて、任意のページからのテスト印刷と再印刷を指示することができようにした。
【００６０】
［回復指示］ダイアログボックスには、障害情報１３５０、及び障害回復後の処置情報１３６０が表示される。障害情報１３５０は、障害通知において、表示される障害情報１２００と同様に、発生した障害の内容が表示される。なお、障害情報の内容は、プリンタとプリントサーバとの間のインターフェースが、片方向インターフェースであるか、双方向インターフェースであるかにより異なる。インターフェースが片方向インターフェースである場合は、図１１に示すように、全ての障害について、同一の情報が用いられる。一方、双方向インターフェースを用いている場合は、図１２に示すように、プリンタ障害の内容（カラム１５００に対応した障害情報（カラム１５１０）を用いた。
【００６１】
また、障害回復後の処置情報１３６０として提供される情報は、図１３に示すように、プリンタの設定（カラム１６００）が回復機能を備えたプリンタとして設定されているか、回復機能を持たないプリンタとして設定されているかに応じて、カラム１６１０に示されるようにその内容が異なる。［回復指示］ダイアログにおいて、［続行］を選ぶと、スプール制御サービス部２２１０による印刷回復を行わず、プリンタに内蔵されている回復機能を用いて障害発生箇所より印刷を続行する。
【００６２】
一方、ユーザが「印刷回復」を選ぶと、図１４に示す［印刷回復］ダイアログボックスが表示される。
【００６３】
［印刷回復］ダイアログボックスには、障害の発生した印刷ジョブの名称（［印刷ジョブ名］）、障害の発生したプリンタの名称（［障害プリンタ］）が示される。ユーザは、［再印刷プリンタ］１７００により、再印刷を行うプリンタ名を指定する。［再印刷プリンタ］１７００には、デフォルトとして、障害が発生したプリンタの名称が設定される。再印刷プリンタの設定の方法としてユーザは、再印刷プリンタボタンを選択して代替候補（仕様適合）プリンタの一覧を表示し、その中から再印刷プリンタを選択する方法、［検索］ボタン、又は［ネットワーク］ボタンを選択して、スプール制御サービス部２２１０内のプリンタ構成管理機能（単に構成管理機能とも呼ぶ、図示せず）を利用して代替プリンタの候補を検索し、その中から再印刷プリンタを選択する方法のいずれかを採ることができる。いずれの方法においても、代替プリンタの候補は、図１５に示される形で表示される。
【００６４】
［検索］ボタンを選択した場合、［仕様適合プリンタの検索］ダイアログボックス（図７）が表示される。ユーザは、［仕様適合プリンタの検索］ダイアログボックスを使用して、所望の仕様を有するプリンタを検索して代替プリンタの候補を表示させ、再印刷プリンタを選択する。また、［ネットワーク］ボタンを選択した場合には、未接続状態の代替候補プリンタ、あるいは、仕様適合プリンタ以外のプリンタにより再印刷を行うこともできる。但し、仕様適合プリンタ以外のプリンタでテスト印刷や再印刷を行った場合、正しく印刷されないことがある。プリンタ仕様情報１７１０には、再印刷プリンタとして選択されたプリンタの仕様に関する情報が表示される。
【００６５】
再印刷ページ１７２０には再印刷又はテスト印刷を開始するページ（再印刷開始ページ）が、絶対ページ又は相対ページで指定される。[絶対ページ]にはデフォルトとして、障害が発生したページが絶対ページで表示される。ユーザは、ここに、再印刷を行いたい最初のページを文書内の絶対ページで指定することで、指定したページからの再印刷を行うことができる。また、［相対ページ］には、デフォルトとして障害が発生したページを基点とする０が表示される。印刷開始ページの指定を相対ページ行うことで、障害が発生したページを基準とし、その前又は後何ページ目から印刷を開始するかを指定できる。
【００６６】
テスト印刷１７３０にある［ページ数］ボタンには、テスト印刷時に印刷するページ数が指定される。エラー回復処理４１３は、ここで指定されたページ数を再印刷開始ページに加算し、それから１を引いた値を再印刷終了ページとして該当する管理テーブルに設定する。［テスト印刷］ボタンを指定すると、再印刷ページに対応するページから指定されたページ数だけテスト印刷が行われる。
【００６７】
［再印刷］ボタンが指定されると、再印刷ページ１７２０で指定されたページからその文書の最終ページまでの再印刷が実行される。再印刷が正常終了した時点で、［印刷回復］ダイアログは終了する。
【００６８】
［印刷ジョブキャンセル］ボタンは、印刷回復を打切る時に選択する。ユーザがこのボタンを選択することにより、再印刷ジョブはキャンセルされる。キャンセル処理が完了した時点で、［印刷回復］ダイアログは終了する。
【００６９】
［続行］ボタンが指定されると、スプール制御サービス部２２１０によるエラー回復処理は行われず、プリンタに内蔵されている回復機能を用いた障害発生箇所からの印刷が続行される。
【００７０】
［印刷ジョブ表示］ボタンが指定されると、図１６に示される［印刷ジョブ表示］ウインドウにより、再印刷ページ（再印刷開始ページ）に対応するページが表示される。［印刷ジョブ表示］ウインドウでは、ユーザは、以下の操作ができる。ユーザは、再印刷ページ１９００に、表示したいページを絶対ページ又は相対ページで指定する。［絶対ページ］にはデフォルトとして、障害が発生したページが絶対ページで表示される。また、［相対ページ］には、デフォルトとして０が表示される。ここで、［相対ページ］の起点となるのは、障害が発生したページである。［印刷ジョブ表示］ウインドウの領域１９１０には、再印刷ページに対応するページが表示される。ユーザが［ＯＫ］ボタンを選択すると、再印刷ページ１９００で指定されたページを記憶して、「回復指示」ダイアログに戻る。このとき、再印刷ページ１９００で指定されたページが、再印刷ページ１７２０に反映される。［キャンセル］ボタンは、ユーザが［印刷ジョブ表示］ウインドウで行った再印刷ページの指定を破棄して、「回復指示」ダイアログに戻るときに選択される。したがって、この場合、再印刷ページ１９００で指定されたページは、再印刷ページ１７２０には反映されない。
【００７１】
［回復指示］ダイアログボックスに対するユーザからの応答が、あらかじめ登録された一定時間（監視時間と呼ぶ）を越えた場合、スプール制御サービス部２２１０は、自動回復として定義された処置を行う。自動回復処理では、プリンタが回復機能を持つ場合には、その回復機能を用いて障害発生箇所より印刷を続行する。あるいは、プリンタを一時停止した後、印刷ジョブをキャンセルして回復処理を終える。
【００７２】
次に図２を用いて、本印刷システムを構成する上位装置１００やプリントサーバ２００として使われる計算機２０００のハードウェア構成を説明する。計算機２０００は、ＭＰＵ２０１、システムバス２０２、ＲＯＭメモリ２１０、ＲＡＭメモリ２１１、キーボード２２１、マウス２２２、ディスクコントローラ２３１、二次記憶装置２３２、表示コントローラ２４１、ディスプレイ２４２、ネットワークコントローラ２５０、プリンタアダプタ２６０からなる装置である。
【００７３】
システムバス２０１は、ＭＰＵ２００の各種入出力信号（アドレス信号、データ信号、その他の制御信号）からなる。
【００７４】
ＭＰＵ２０１は本システムバス２０２を介して、キーボード２２１、二次記憶装置２３２、ディスプレイ２４２、ネットワーク４００等の周辺装置や、ＲＯＭメモリ２１０、ＲＡＭメモリ２１１等のメモリと入出力を行う。
【００７５】
キーボード２２１は複数の入力用鍵盤からなる入力装置であり、ポインティングデバイスの一種であるマウスが接続されている。二次記憶装置２３２は、ディスクコントローラ２３１を介して、またディスプレイ２４２は表示コントローラ２４１を介してシステムバス２０１に接続されている。また本装置のシステムバス２０１は、ＬＡＮやＷＡＮ等のネットワーク４００にネットワークコントローラ２５０を介して接続されている。
【００７６】
ネットワーク４００の物理I/FとしてはEthernet（登録商標）、Token-Ring、FDDI（Fiber Distributed Data Interfae,）、ATM(Asynchronous Transfer Mode)、ISDN（Integrated Services Digital Network）等を用い、使用する物理I/Fの種類に応じて本ネットワークコントローラ２５０のハードウェア論理として適切なものを実装する。
【００７７】
プリンタアダプタ２６０はプリントサーバ２００がプリンタ３００と、ネットワーク接続でなく、ローカル接続するためのアダプタである。ローカル接続のインターフェースとしてはセントロニクス、SCSI、fiber channel、IEEE1394、USB、RS-232C、RS-422/423等を用いる。
【００７８】
上位装置１００はプリンタ３００を接続しないので、プリンタアダプタ８６０がなくても良い。
【００７９】
ＲＯＭメモリ２１０には計算機２０００の初期化立上げプログラム（IPL(Initial Program Loading）プログラムとも呼ぶ）や文字フォント等を格納する。
【００８０】
ＲＡＭメモリ２１１には（ａ）計算機の各種プログラム、（ｂ)文字フォント、（ｃ）各種バッファメモリ、（ｄ）各種管理テーブル、その他を格納する。これらのうち（ａ）と（ｂ)は前記ＩＰＬプログラムにて、二次記憶装置２３２からロードすることにより、格納する。また（ａ）と（ｂ)はＲＡＭメモリ２１１に格納せず、ＲＯＭメモリ２１０に予め格納しておいてもよい。また逆にＲＯＭメモリ２１０には文字フォントを一切格納せず、すべてＲＡＭメモリ２１１に格納してもよい。
【００８１】
以上の第一実施例によれば、プリンタエラー等が発生しても、スプールに保存しておいたPDLタイプ２の文書データを用いて、ユーザの望む任意のページから再印刷を行うことができる。従って、印刷システムの可用性、信頼性、使い勝手を向上することができた。
【００８２】
【発明の効果】
本発明によれば、プリンタエラー等が発生しても、スプールに保存しておいたPDLタイプ２の文書データを用いて、ユーザの望む任意のページから再印刷を行うことができる。従って、印刷システムの可用性、信頼性、使い勝手を向上することができた。
【図面の簡単な説明】
【図１】本発明の第一実施例を説明するための模式図である。
【図２】本発明において、上位装置やプリントサーバとして使われる計算機のハードウェア構成を示す模式図である。
【図３】本発明における上位装置とプリントサーバとプリンタとの間の処理手順を説明する模式図である。
【図４】本発明における上位装置とプリントサーバとプリンタとの間の処理手順を説明する模式た図である。
【図５】本発明における上位装置とプリントサーバとプリンタとの間の処理手順を説明する模式図である。
【図６】本発明における上位装置とプリントサーバとプリンタとの間の処理手順を説明する模式図である。
【図７】本発明におけるユーザインターフェースを説明する模式図である。
【図８】本発明におけるユーザインターフェースを説明する模式図である。
【図９】本発明におけるユーザインターフェースを説明する模式図である。
【図１０】本発明におけるユーザインターフェースを説明する模式図である。
【図１１】本発明におけるユーザインターフェースを説明する模式図である。
【図１２】本発明におけるユーザインターフェースを説明する模式図である。
【図１３】本発明におけるユーザインターフェースを説明する模式図である。
【図１４】本発明におけるユーザインターフェースを説明する模式図である。
【図１５】本発明におけるユーザインターフェースを説明する模式図である。
【図１６】本発明におけるユーザインターフェースを説明する模式図である。
【符号の説明】
１００…上位装置、２００…プリントサーバ、３００…プリンタ、４００…ネットワーク、１４００…文書形式変換部、１５１０…ファイル転送送信部、１５２０…スプール制御指示部、２２００…スプール、２２１０…スプール制御サービス部、２３００…ジョブ出力部、２４１０…ネットワークプリンタ制御ドライバ、２４２０…プリンタローカルドライバ、３１０…プリンタコントローラ、３２０…プリンタエンジン。
【図１】
0003951114.tif 000002
【図２】
0003951114.tif 000003
【図３】
0003951114.tif 000004
【図４】
0003951114.tif 000005
【図５】
0003951114.tif 000006
【図６】
0003951114.tif 000007
【図７】
0003951114.tif 000008
【図８】
0003951114.tif 000009
【図９】
0003951114.tif 000010
【図１０】
0003951114.tif 000011
【図１１】
0003951114.tif 000012
【図１２】
0003951114.tif 000013
【図１３】
0003951114.tif 000014
【図１４】
0003951114.tif 000015
【図１５】
0003951114.tif 000016
【図１６】
0003951114.tif 000017