(57)【要約】【課題】従来の印刷システムでは、紙ジャム等の障害が発生した時、任意の頁から印刷を継続することが困難だった。【解決手段】クライアントとプリントサーバとプリンタとからなる印刷システムにおいて、プリンタがプリントサーバと直接ローカル接続されるか又はネットワーク経由で間接的に接続され、クライアントで応用プログラム部が生成したＰＤＬタイプ１形式の文書を文書形式変換部に出力し、文書形式変換部が該ＰＤＬタイプ１形式の文書を受取り、ＰＤＬタイプ２形式の文書に変換して出力し、スプール登録機能部が該ＰＤＬタイプ２形式の文書を受取り、プリントサーバ内のスプールに印刷ジョブとして登録し、プリントサーバ内のジョブ出力部がスプールに登録された文書を読出し、プリンタに出力する。【選択図】  図７
2004341891.tif 000002
【特許請求の範囲】
【請求項１】
クライアントタイプ１とプリントサーバとプリンタとからなる印刷システムにおいて、プリンタがプリントサーバと直接ローカル接続されるか又はネットワーク経由で間接的に接続され、クライアントタイプ１が応用プログラム部と文書形式変換部とスプール登録機能部とからなり、プリントサーバがスプールとジョブ出力部とからなり、クライアントタイプ１で応用プログラム部が文書を非ページ独立のページ記述言語（ＰＤＬタイプ１）形式の文書として出力し、文書形式変換部が該ＰＤＬタイプ１形式の文書を受取り、ページ独立のページ記述言語（ＰＤＬタイプ２）形式の文書に変換して出力し、スプール登録機能部が該ＰＤＬタイプ２形式の文書を受取り、プリントサーバ内のスプールに印刷ジョブとして登録し、プリントサーバ内のジョブ出力部がスプールに登録された文書を読出し、プリンタに出力したことを特徴とする印刷システム。
【請求項２】
請求項１の印刷システムにおいて、前記スプール内の文書をプリンタで印刷中にプリンタエラーが発生した時、プリンタエラーを処置し、正常状態に戻した後、上記ジョブ出力部がスプール内に保存しておいたＰＤＬタイプ２形式の上記文書を、印刷再開ページ以後のページからなる文書に切出し編集した後、該切出し編集後の文書をプリンタに出力し、プリンタが該切出し編集後の文書を受け取り、印刷再開ページ以後について、印刷を行うようにしたことを特徴とする印刷システム。
【請求項３】
請求項１の印刷システムにおいて、印刷再開ページを、プリンタが検出した障害発生ページ又はユーザが指示したページとしたことを特徴とする印刷システム。
【請求項４】
請求項１乃至３の印刷システムにおいて、スプール登録機能部をファイル転送送信部、スプール制御指示部のいずれか又は両方で構成したことを特徴とする印刷システム。
【請求項５】
請求項１乃至４の印刷システムにおいて、プリンタ論理ドライバ部と文書形式変換部の間を一時ファイル又はメモリで入出力し、文書形式変換部とスプール登録機能部の間を一時ファイル又はメモリで入出力したことを特徴とする印刷システム。
【請求項６】
請求項５の印刷システムにおいて、文書形式変換部とスプール登録機能部が入力に対し自動的に処理を開始することにより、ユーザが応用プログラム部からプリンタ論理ドライバ部を利用して印刷を指示すると、ユーザがそれ以外の操作をしないでも、ＰＤＬタイプ２形式の文書をプリントサーバのスプールに自動的に登録できるようにしたことを特徴とする印刷システム。
【請求項７】
請求項１乃至６の印刷システムにおいて、文書形式変換部の出力する文書のＰＤＬタイプ２形式としてＰＤＦを用いたことを特徴とする印刷システム。
【請求項８】
請求項７の印刷システムにおいて、ＰＤＬタイプ１形式としてＰｏｓｔＳｃｒｉｐｔを用いたことを特徴とする印刷システム。
【請求項９】
クライアントタイプ１又はクライアントタイプ２が非ページ独立のページ記述言語（ＰＤＬタイプ１）形式の文書を作成し、文書変換サーバに送信し、文書変換サーバが受信したＰＤＬタイプ１形式の文書をページ独立のページ記述言語（ＰＤＬタイプ２）形式の文書に変換した後、プリントサーバに送信し、プリントサーバ内のジョブ出力部がスプールに登録された文書を読出し、プリンタに出力したことを特徴とする印刷システム。
【請求項１０】
請求項９の印刷システムにおいて、クライアントタイプ１内の応用プログラム部がＰＤＬタイプ１形式の文書を、クライアントタイプ１内のプリンタ論理ドライバ部を用いて作成したことを特徴とする印刷システム。
【請求項１１】
請求項９の印刷システムにおいて、クライアントタイプ２内の応用プログラム部がＰＤＬタイプ１形式の文書を作成したことを特徴とする印刷システム。
【請求項１２】
請求項９乃至１１の印刷システムにおいて、スプール内の文書をプリンタで印刷中にプリンタエラーが発生した時、プリンタエラーを処置し、正常状態に戻した後、上記ジョブ出力部がスプール内に保存しておいたＰＤＬタイプ２形式の上記文書を、印刷再開ページ以後のページからなる文書に切出し編集した後、該切出し編集後の文書をプリンタに出力し、プリンタが該切出し編集後の文書を受け取り、印刷再開ページ以後について、印刷を行うようにしたことを特徴とする印刷システム。
【請求項１３】
請求項９乃至１１の印刷システムにおいて、印刷再開ページを、プリンタが検出した障害発生ページ又はユーザが指示したページとしたことを特徴とする印刷システム。
【請求項１４】
請求項９乃至１１の印刷システムにおいて、スプール登録機能部をファイル転送送信部、スプール制御指示部のいずれか又は両方で構成したことを特徴とする印刷システム。
【請求項１５】
請求項９乃至１４の印刷システムにおいて、プリンタ論理ドライバ部と文書形式変換部の間を一時ファイル又はメモリで入出力し、文書形式変換部とスプール登録機能部の間を一時ファイル又はメモリで入出力したことを特徴とする印刷システム。
【請求項１６】
請求項１５の印刷システムにおいて、文書形式変換部とスプール登録機能部が入力に対し自動的に処理を開始することにより、ユーザが応用プログラム部からプリンタ論理ドライバ部を利用して印刷を指示すると、ユーザがそれ以外の操作をしないでも、ＰＤＬタイプ２形式の文書をプリントサーバのスプールに自動的に登録できるようにしたことを特徴とする印刷システム。
【請求項１７】
請求項９乃至１６の印刷システムにおいて、文書形式変換部の出力する文書のＰＤＬタイプ２形式としてＰＤＦを用いたことを特徴とする印刷システム。
【請求項１８】
請求項１７の印刷システムにおいて、ＰＤＬタイプ１形式としてＰｏｓｔＳｃｒｉｐｔを用いたことを特徴とする印刷システム。
【請求項１９】
クライアントタイプ１とプリントサーバとプリンタとからなる印刷システムにおいて、プリンタがプリントサーバと直接ローカル接続されるか又はネットワーク経由で間接的に接続され、クライアントタイプ１が応用プログラム部とプリンタ論理ドライバ部とスプール登録機能部とからなり、プリントサーバがスプールとジョブ出力部とからなり、クライアントタイプ１で応用プログラム部が生成した文書をプリンタ論理ドライバ部に入力し、プリンタ論理ドライバ部が入力された文書をページ独立のページ記述言語（ＰＤＬタイプ２）形式の文書として出力し、該ＰＤＬタイプ２形式の文書をクライアントタイプ１からプリントサーバ内のスプールに印刷ジョブとして登録し、プリントサーバ内のジョブ出力部がスプールに登録された文書を読出し、プリンタに出力したことを特徴とする印刷システム。
【請求項２０】
請求項１９の印刷システムにおいて、スプール内の文書をプリンタで印刷中にプリンタエラーが発生した時、プリンタエラーを処置し、正常状態に戻した後、上記ジョブ出力部がスプール内に保存しておいたＰＤＬタイプ２形式の上記文書を、印刷再開ページ以後のページからなる文書に切出し編集した後、該切出し編集後の文書をプリンタに出力し、プリンタが該切出し編集後の文書を受け取り、印刷再開ページ以後について、印刷を行うようにしたことを特徴とする印刷システム。
【請求項２１】
請求項１９の印刷システムにおいて、印刷再開ページを、プリンタが検出した障害発生ページ又はユーザが指示したページとしたことを特徴とする印刷システム。
【請求項２２】
請求項１９乃至２１の印刷システムにおいて、スプール登録機能部をファイル転送送信部、スプール制御指示部のいずれか又は両方で構成したことを特徴とする印刷システム。
【請求項２３】
請求項１９乃至２２の印刷システムにおいて、プリンタ論理ドライバ部と文書形式変換部の間を一時ファイル又はメモリで入出力し、文書形式変換部とスプール登録機能部の間を一時ファイル又はメモリで入出力したことを特徴とする印刷システム。
【請求項２４】
請求項２３の印刷システムにおいて、文書形式変換部とスプール登録機能部が入力に対し自動的に処理を開始することにより、ユーザが応用プログラム部からプリンタ論理ドライバ部を利用して印刷を指示すると、ユーザがそれ以外の操作をしないでも、ＰＤＬタイプ２形式の文書をプリントサーバのスプールに自動的に登録できるようにしたことを特徴とする印刷システム。
【請求項２５】
請求項１９乃至２４の印刷システムにおいて、文書形式変換部の出力する文書のＰＤＬタイプ２形式としてＰＤＦを用いたことを特徴とする印刷システム。
【請求項２６】
請求項２５の印刷システムにおいて、ＰＤＬタイプ１形式としてＰｏｓｔＳｃｒｉｐｔを用いたことを特徴とする印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータやワークステーション等の計算機、計算機からの印刷要求を実行するプリントサーバと、プリントサーバからの指示により実際の印刷を実行するプリンタとからなる印刷システムに関する。
【０００２】
【従来の技術】
従来、印刷システムにおいて、プリンタで文書を印刷中に紙ジャム等の障害が発生した場合に、障害の発生した頁から文書の印刷を継続するために、以下のような方法が知られている。
【０００３】
例えば、印刷コマンドに印刷ページ単位に通し番号を付けると共に、プリンタエラーが発生した場合、エラー回復後にワークステーシヨンが印刷未終了分の印刷コマンドを再送する（例えば、特許文献１参照）方法がある。
【０００４】
また、端末装置で文書をプリンタの機種に依存しない標準文書形式の印刷ジョブに変換され、端末装置からプリントサーバに転送されて、プリントサーバが印刷を行うプリンタに対応した形式の印刷ジョブに変換してプリンタに送信し印刷が行われるシステムであって、プリントサーバは、標準文書形式の印刷ジョブを所定期間保存しておき、プリンタ障害時の再印刷、あるいは、他の印刷ジョブによる割込後の印刷再開時に保存しておいた印刷ジョブにより処理を実行する（例えば、特許文献２参照）こと等が知られている。
【特許文献１】
特開平３−１５５９７４号公報
【特許文献２】
ＷＯ９７／３６２２６号公報
【０００５】
【発明が解決しようとする課題】
しかし、上記従来方法には、次のような課題がある。
【０００６】
特許文献１においては、障害の発生した頁から印刷を継続するため、プリントサーバがスプールに保持していた文書から、障害が発生した頁以後の頁を切出し、プリンタに再送することが必要だった。しかし、スプールに保持されている文書の形式がＰＤＬと呼ばれる各プリンタ対応の形式であり、ＰＤＬに明瞭な頁区切りがなく、かつ頁独立でない。ここで頁独立でないとは、各頁先頭における各種描画属性パラメータが、前頁の終わりまでの描画処理を行って、初めて決定されることを意味する。
【０００７】
ところで、上記切出し処理をプリントサーバで行うためには、通常プリンタに内蔵されている描画処理と同じ論理の処理を、プリンタサーバ上に搭載する必要がある。しかし、プリントサーバとプリンタでは、ＯＳ（基本ソフトウェア）が異なるため、プリントサーバ上の描画処理を開発することは技術的に困難であり、その工数も大きかった。さらに、ＰｏｓｔＳｃｒｉｐｔ（登録商標）等の描画処理プログラムを外部から導入する場合、プリンタ用とは別に、プリントサーバ用のロイアリティ契約を結ぶ必要があり、導入コスト、製品コストが増した。
【０００８】
従って、従来の方法では、プリントサーバで、ＰＤＬ形式の文書データから障害が発生した頁以後の頁データ切出すのは実質的に難しく、プリントサーバソフトの開発工数が大きくなり、そのコストも高くなるという課題があった。
【０００９】
また、前記特許文献２の場合には、クライアント上で、応用プログラムから出力された形式（応用プログラム形式と呼ぶ）の文書を、プリンタ論理ドライバを用いてプリンタ独立な標準文書に変換する。クライアントは、この標準文書をプリントサーバに送る。その後、プリントサーバが上記標準文書を出力プリンタに対応した形式の文書に変換してプリンタに送信し印刷していた。
【００１０】
この場合、応用プログラム形式から標準文書への変換と標準文書からプリンタ対応文書への変換というように、２度の変換を行うため、システム性能（処理速度等）が悪化し、また、印刷内容に不具合が生じる（意図した印刷内容と異なってしまう等の）可能性が増加する。
【００１１】
従って、本発明の第一の目的は、上記従来技術の問題点を解決し、印刷システムで紙ジャム等の障害が発生しても、任意の頁から印刷を継続できる、高信頼な印刷システムを提供することである。
【００１２】
また、本発明の第二の目的は、パーソナルコンピュータ、ワークステーション等のオープンシステムからの印刷要求に限らず、メインフレームコンピュータやエンタプライズサーバからの印刷要求も受付けることができ、その時、プリンタ障害が発生しても、任意の頁から印刷を継続できる、高度で高信頼な印刷システムを提供することである。
【００１３】
【課題を解決するための手段】
上記課題を解決するため、本発明では以下のような手段を採用した。
【００１４】
本発明による第１の印刷システムは、クライアントタイプ１とプリントサーバとプリンタとからなる印刷システムにおいて、プリンタがプリントサーバと直接ローカル接続されるか又はネットワーク経由で間接的に接続され、クライアントタイプ１が応用プログラム部と文書形式変換部とスプール登録機能部とからなり、プリントサーバがスプールとジョブ出力部とからなり、クライアントタイプ１で応用プログラム部が文書をＰＤＬタイプ１形式の文書として出力し、文書形式変換部が該ＰＤＬタイプ１形式の文書を受取り、ＰＤＬタイプ２形式の文書に変換して出力し、スプール登録機能部が該ＰＤＬタイプ２形式の文書を受取り、プリントサーバ内のスプールに印刷ジョブとして登録し、プリントサーバ内のジョブ出力部がスプールに登録された文書を読出し、プリンタに出力したことを特徴とする。
【００１５】
本発明による第２の印刷システムは、クライアントタイプ１又はクライアントタイプ２がＰＤＬタイプ１形式の文書を作成し、文書変換サーバに送信し、文書変換サーバが受信したＰＤＬタイプ１形式の文書をＰＤＬタイプ２形式の文書に変換した後、プリントサーバに送信し、プリントサーバ内のジョブ出力部がスプールに登録された文書を読出し、プリンタに出力したことを特徴とする。
【００１６】
本発明による第３の印刷システムは、クライアントタイプ１とプリントサーバとプリンタとからなる印刷システムにおいて、プリンタがプリントサーバと直接ローカル接続されるか又はネットワーク経由で間接的に接続され、クライアントタイプ１が応用プログラム部とプリンタ論理ドライバ部とスプール登録機能部とからなり、プリントサーバがスプールとジョブ出力部とからなり、クライアントタイプ１で応用プログラム部が生成した文書をプリンタ論理ドライバ部に入力し、プリンタ論理ドライバ部が入力された文書をＰＤＬタイプ２形式の文書として出力し、該ＰＤＬタイプ２形式の文書をクライアントタイプ１からプリントサーバ内のスプールに印刷ジョブとして登録し、プリントサーバ内のジョブ出力部がスプールに登録された文書を読出し、プリンタに出力したことを特徴とする。
【００１７】
第１〜第３の印刷システムにおいて、スプール内の文書をプリンタで印刷中にプリンタエラーが発生した時、プリンタエラーを処置し、正常状態に戻した後、上記ジョブ出力部がスプール内に保存しておいたＰＤＬタイプ２形式の上記文書を、印刷再開ページ以後のページからなる文書に切出し編集した後、該切出し編集後の文書をプリンタに出力し、プリンタが該切出し編集後の文書を受け取り、印刷再開ページ以後について、印刷を行うようにしたことことを特徴とする。
【００１８】
第１〜第３の印刷システムにおいて、印刷再開ページを、プリンタが検出した障害発生ページ又はユーザが指示したページとしても良い。
【００１９】
第１〜第３の印刷システムにおいて、スプール登録機能部をファイル転送送信部、スプール制御指示部のいずれか又は両方で構成しても良い。
【００２０】
以上の印刷システムにおいて、プリンタ論理ドライバ部と文書形式変換部の間を一時ファイル又はメモリで入出力し、文書形式変換部とスプール登録機能部の間を一時ファイル又はメモリで入出力しても良い。
【００２１】
以上の印刷システムにおいて、文書形式変換部とスプール登録機能部が入力に対し自動的に処理を開始することにより、ユーザが応用プログラム部からプリンタ論理ドライバ部を利用して印刷を指示すると、ユーザがそれ以外の操作をしないでも、ＰＤＬタイプ２形式の文書をプリントサーバのスプールに自動的に登録できるようにしても良い。
【００２２】
【発明の実施の形態】
以下、本発明の第１実施例について詳細に説明する。
（第１実施例）
初めに図１を用いて、本印刷システムの全体構成を説明する。
【００２３】
本印刷システムは、クライアント１００、プリントサーバ２００、プリンタ３００、及びネットワーク４００とからなる。クライアント１００、プリントサーバ２００、プリンタ３００はネットワーク４００に接続されている。なお、図１において、クライアント１００は１個しか図示していないが、２個以上のクライアントを印刷システムに用意し、そこからプリントサーバ２００に印刷指示等を行う構成で有っても良い。
【００２４】
第１実施例におけるクライアントはクライアントタイプ１と呼ぶ。
【００２５】
クライアント１００は文書の印刷をプリントサーバ２００に指示する。これに伴い、クライアント１００からプリントサーバ２００に文書を送信する。プリントサーバ２００はクライアント１００から文書を受信し、スプール２２００と呼ぶ待ち行列に一旦蓄える。その後、プリントサーバ２００は該文書をプリンタ３００に送信し、実際の印刷を要求する。クライアント１００は、パーソナルコンピュータやワークステーション等の計算機で実現する。プリントサーバ２００もパーソナルコンピュータやワークステーション等の計算機で実現する。
【００２６】
プリンタ３００は、プリンタコントローラ３１０とプリンタエンジン３２０で構成する。プリンタコントローラ３１０は、前記プリントサーバ２００からＰＤＬ文書と呼ばれる印刷コマンド列を受信し、一連の印刷処理を行った後、プリンタエンジン３２０にドットイメージデータを送信する。プリンタエンジン３２０は、上記ドットイメージデータを受信し、プリンタメカニズムを用いて用紙への物理的な印刷を行う。プリンタメカニズムとしては、レーザ光学系利用電子写真、ＬＥＤ利用電子写真、液晶シャッタ利用電子写真、インクジェット、シャトル型インパクト、等の各種方法を用いることができる。
【００２７】
次に、図１を用いて、クライアント１００の構成を説明する。
【００２８】
クライアント１００は、ＯＳカーネル部１（１１１０）、通信部１（１１２０）、応用プログラム部１２００、プリンタ論理ドライバ部１３００、文書形式変換部１４００、ファイル転送送信部１５１０、スプール制御指示部１５２０で構成する。
【００２９】
通信部１（１１２０）は、ネットワーク４００を介し、クライアント１００がネットワーク４００上の各種装置（プリントサーバ、プリンタ、スキャナ（図示せず）等）と通信を行うための、ハードウェアとソフトウェアで構成する。
【００３０】
ＯＳカーネル部１（１１１０）は、クライアント１００を構成するハードウェア、ユーザインターフェース等を制御するための基本ソフトウェア（オペレーティングシステムとも呼ぶ）である。なお、通信部１（１１２０）は、ＯＳカーネル部１（１１１０）の一部とも見なせるが、本発明では別要素として記述した。
【００３１】
応用プログラム部１２００は、ワードプロセッサ、表計算、図形文書作成、画像文書作成、文書レイアウト等を行うためのプログラムである。各種文書を作成するとともに、作成した文書の処理をプリンタ論理ドライバ部１３００に指示する。
【００３２】
プリンタ論理ドライバ部１３００は、応用プログラム部１２００の作成した文書を、印刷コマンド列やページ記述言語等のプリンタ３００（より詳しくはプリンタコントローラ３１０）が受付け、印刷できる形式（以後、ＰＤＬ形式と呼ぶ）に変換した後、その変換済のＰＤＬ形式の文書（以後、ＰＤＬ文書とも略称する）をクライアントのユーザファイル１３１０に文書１３１１として格納する。ここで、文書１３１１は、プリンタ論理ドライバ１３００が作成したＰＤＬタイプ１の形式である。ＰＤＬタイプ１とは、ＰＤＬに明瞭な頁区切りがなく、頁独立でないＰＤＬである。例えば、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社のＰｏｓｔＳｃｒｉｐｔ（登録商標）、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社のＰＣＬ−５，ＰＣＬ−５Ｅ，ＰＣＬ−６，ＰＣＬ−ＸＬ（登録商標）、セイコーエプソン社のＥＳＣ／Ｐ，ＥＳＣ／ＰＡＧＥ等がＰＤＬタイプ１に該当する。また、殆どのＰＤＬはこのＰＤＬタイプ１である。本発明ではＰＤＬタイプ１の中から１個以上の任意のものを、サポート可能とした。
【００３３】
本第１実施例では、上記ＰＤＬタイプ１の文書１（１３１１）を文書形式変換部１４００を用いて、ＰＤＬタイプ２の文書２（１４１１）に変換する。ＰＤＬタイプ２は、ＰＤＬ文書に明瞭な頁区切りがあり、かつ、頁独立（描画属性パラメータが各頁の先頭で毎回デフォルト値にリセットされていること）である。従って、文書の任意の頁を独立に切出して描画処理しても、各頁の印刷内容が、文書を先頭頁から最終頁まで順に処理した時と同じになる。ＰＤＬタイプ２の例としては、Ａｄｏｂｅ社のＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ：登録商標）、Ｍｉｃｒｏｓｏｆｔ社のＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉｌｅ）等がある。
【００３４】
文書形式変換部１４００は、例えば、ＰｏｓｔＳｃｒｉｐｔ形式の文書１（１３１１）を、ＰＤＦ形式の文書２（１４１１）に変換する。この時、文書形式変換部１４００は、例えば、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社のＡｃｒｏｂａｔ  Ｄｉｓｔｉｌｌｅｒと呼ぶプログラムを用いて実現可能である。
【００３５】
文書２（１４１１）は、ファイル転送送信部１５１０又はスプール制御指示部１５２０のいずれかを用いて、プリントサーバ２００内のスプール２２００に格納される。ここでは、文書５（２２００３）として格納されるものとする。
【００３６】
ここで、ファイル転送送信部１５１０は、文書２（１４１１）をファイル転送手段によりスプールに送信する。ファイル転送のための通信プロトコルとしてはｆｔｐ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）等を用いた。
【００３７】
また、スプール制御指示部１５２０は、スプール制御機能の中の印刷ジョブ登録手段を用いて、文書２（１４１１）をスプール２２００へ登録する。
【００３８】
さらに、スプール制御指示部１５２０は、プリントサーバ２００内のスプール制御サービス部２２１０に、プリンタ、及びスプール２２００に格納されている印刷ジョブについて、次の操作を指示する。
（１）印刷ジョブの一覧表示
（２）印刷ジョブの削除
（３）印刷ジョブの保留
（４）印刷ジョブの保留解除
（５）印刷ジョブ詳細情報の表示
（６）プリンタの一時停止
（７）プリンタの再開
（８）プリンタ内の全印刷ジョブの削除
（９）プリンタの状態表示
（１０）プリンタの仕様、設定値の表示
次に、プリントサーバ２００の構成を説明する。
【００３９】
プリントサーバ２００はＯＳカーネル部２（２１１０）、通信部２（２１２０）、スプール２２００、スプール制御サービス部２２１０、ジョブ出力部２３００、ネットワークプリンタ制御ドライバ２４１０、プリンタローカルドライバ２４２０で構成する。
【００４０】
ＯＳカーネル部２（２１１０）は、プリントサーバ２００を構成するハードウェア、ユーザインターフェース等を制御するための基本ソフトウェア（オペレーティングシステムとも呼ぶ）である。
【００４１】
通信部２（２１２０）は、ネットワーク４００を介し、プリントサーバ２００がネットワーク上の各種装置（クライアント、プリンタ、スキャナ等）と通信を行うための、ハードウェアとソフトウェアで構成する。通信部２（２１２０）はＯＳカーネル部２（２１１０）の一部とも見なせるが、本発明では別要素として記述した。
【００４２】
スプール２２００はクライアント１００がプリントサーバ２００に対して発行する印刷等の各種要求（以下、印刷要求と呼ぶ）を受付け、登録するための待ち行列（キューとも呼ぶ）である。
【００４３】
クライアント１００からプリントサーバ２００への上記各種要求としては、
・ファイル転送送信部１５１０による、クライアント１００内の文書（文書２（１４１１）等）の印刷要求
・スプール制御指示部１５２０による、クライアント１００内の文書（文書２（１４１１）等）の印刷要求又はスプール登録要求
・応用プログラム部１２００からプリンタ論理ドライバ部１３００を介した印刷要求
等がある。
【００４４】
（ａ）では、ファイル転送送信として、例えばｆｔｐ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を使う。（ｂ）では印刷要求やスプール登録要求として、例えばｌｐｒやＷｉｎ３２のＡＰＩ関数を使う。ここで、Ｗｉｎ３２とはＭｉｃｒｏｓｏｆｔ社の基本ソフトであるＷｉｎｄｏｗｓ（登録商標）９５／９８／Ｍｅ、Ｗｉｎｄｏｗｓ（登録商標）  ＮＴ、Ｗｉｎｄｏｗｓ（登録商標）２０００、Ｗｉｎｄｏｗｓ（登録商標）ＸＰのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）のことであり、その中にあるジョブのスプールへの登録用の関数を使う。
【００４５】
プリントサーバ２００は、上記各印刷要求を印刷ジョブとして、該スプール２２００に受付け順に登録する。本登録では、（ｉ）各印刷ジョブを管理するためのジョブ名（通し番号付き）、登録日時、印刷文書容量（サイズ）等の管理情報と（ｉｉ）実際の印刷内容である印刷データの対を、ファイルとして登録する。スプール制御サービス部２２１０は以下の三機能を実行する。
・印刷ジョブの受付けとスプール２２００への登録
・スプール２２００に格納済みの印刷ジョブの受付け順での実行
・クライアント１００内のスプール制御指示部１５２０からの要求の実行
上記（１）では、前述のように、クライアント１００からプリントサーバ２００への上記各種要求として、上述の（ａ），（ｂ），（ｃ）を受付ける。
【００４６】
上記（２）では、ジョブ出力部２３００がスプール２２００内の印刷ジョブを順に読出し、処理する。実際には、ジョブ出力部２３００がスプールに印刷ジョブとして格納されているＰＤＬ形式の文書を、スプール２２００から読出し、プリンタ３００へ出力する。
【００４７】
プリンタへの出力は以下のように行った。
（ａ）プリンタがネットワークプリンタの時
ジョブ出力部２３００が文書３（２２００１、ＰＤＬタイプ２形式）をスプール２２００から読出し、ネットワークプリンタ制御ドライバ２４１０へ書き込む。これに伴い、文書３（２２００１）がネットワーク４００を介してプリンタ３００へ送信される。
（ｂ）プリンタがローカルプリンタの時
ジョブ出力部２３００が文書３（２２００１、ＰＤＬタイプ２形式）をスプール２２００から読出し、プリンタローカルドライバ２４２０へ書き込む。これに伴い、文書３（２２００３）が、プリンタローカルＩ／Ｆケーブル２４２０−ｂを介して、プリンタ３００へ送信される。
【００４８】
スプール制御指示部１５２０からのスプール２２００に対するジョブ登録以外の各種要求は、スプール制御サービス部２２１０が受付け、実行する。各種要求としては例えば以下のものを用意した。
（１）印刷ジョブの一覧表示
（２）印刷ジョブの削除
（３）印刷ジョブの保留
（４）印刷ジョブの保留解除
（５）印刷ジョブ詳細情報の表示
（６）プリンタの一時停止
（７）プリンタの再開
（８）プリンタ内の全印刷ジョブの削除
（９）プリンタの状態表示
（１０）プリンタの仕様、設定値の表示
次に、図３〜図６を用いて、クライアント１００とプリントサーバ２００とプリンタ３００との間の処理手順を説明する。
【００４９】
初めに、図３と図４を用いて、プリントサーバ２００とプリンタ３００との間が双方向インターフェースで結ばれている場合の手順を説明する。図３で、プリンタで文書を正常印刷した場合の手順を説明する。図４で、文書の印刷中にプリンタエラーが発生し、プリントサーバがエラー回復する場合の手順を説明する。
【００５０】
まず、図３を用いて説明する。
（１）クライアント１００がプリントサーバ２００に印刷を指示する（４０１）。これに伴い、文書データ４００Ａがクライアント１００からプリントサーバ２００に送信され、プリントサーバ２００のスプール２２００に格納される。スプール２２００の最後尾に文書５（２２００１）として格納される。
（２）プリントサーバ２００は、上記（１）によるプリントサーバ２００内のスプール２２００への文書の受信とは非同期に、プリントサーバ２００内の文書データ４００Ｂを、プリンタ３００に送信する（４０２）。文書データ４００Ｂとしては、スプール２２００の先頭にある文書３（ＰＤＬタイプ２形式、図１）が送信される。
（３）プリンタ３００が文書データ４００Ｂを受信する（４０４）。
（４）プリンタ３００が、文書データ４００Ｂを印刷する（４０５）。
（５）プリンタ３００が文書を正常に印刷した。
（６）プリンタ３００は、上記（５）に対応し、プリントサーバ２００に、文書正常印刷４００Ｃ１を報告する（４０７１）。
（７）プリントサーバ２００は、プリンタ３００から受信した上記文書正常印刷４００Ｃ１に対応し、文書の正常終了をクライアント１００に伝えるため、文書正常印刷４００Ｄ１をクライアントへ報告する（４０８１）。
（８）プリントサーバ２００は、上記文書正常印刷４００Ｃ１を受信すると、プリンタで今印刷を完了した当該印刷文書をスプール２２００から削除する（４０９）。
（９）クライアント１００は文書正常印刷４００Ｄ１を受信すると、文書を正常印刷したことを、画面に表示する（４１０）。
【００５１】
次に、図４を用いて説明する。
【００５２】
最初の手順は、図３の説明における（１）〜（４）と同じである。
（５）プリンタ３００で印刷中に、紙ジャム等のプリンタエラーが発生した（４０６）。
（６）プリンタ３００からプリントサーバ２００に、当該文書の印刷中に発生したプリンタエラーに関するエラー情報４００Ｃ２を報告する（４０７２）。
（７）プリントサーバ２００は、受取ったエラー情報４００Ｃ２と同等の内容のエラー情報４００Ｄ２を、クライアント１００へ報告する。報告先のクライアント１００は、当該文書の印刷を依頼したユーザ及び印刷システムの管理を担当しているシステム管理者の使っているクライアントとした（４０８２）。ここで、エラー情報４００Ｄ２は、プリンタエラー発生、エラー種別（紙ジャム発生等）、エラー発生ページ番号とした。
（８）クライアント１００はエラー情報４００Ｄ２を受信し、クライアント１００の画面に表示する（４１１）。なお、プリントサーバ２００にクライアント１００の機能も含むように実装したので、プリントサーバ２００の画面にも、エラー情報は表示される。
（９）エラー情報４００Ｄ２を画面で見たユーザやシステム管理者は、エラー回復をプリントサーバ２００に指示する。ここで、キャンセル又は再印刷開始ページをパラメータとした再印刷指示が指示される（４１２）。これに伴い、エラー回復指示情報４００Ｅ（キャンセル又は再印刷開始ページをパラメータとした再印刷指示）がクライアント１００からプリントサーバ２００に送信される。
（１０）プリントサーバ２００がプリンタ３００に対するエラー回復処理を実行する（４１３）。
【００５３】
（ａ）再印刷開始ページをパラメータとした再印刷指示の時
（ｉ）プリントサーバ２００は、プリンタ３００に出力し、今印刷させている当該文書に対応するスプール２２００内の保存文書データから、再印刷開始ページ以降の文書データを切出す。
【００５４】
プリンタに初期化指示４００Ｆを出す。
【００５５】
続いて、プリンタに切出した再印刷開始ページ以降の文書データ４００Ｇを送信する。
【００５６】
（ｉｉ）プリンタ３００は初期化指示４００Ｆを受け、初期化処理を行う（４１４）。
【００５７】
（ｉｉｉ）プリンタ３００は再印刷開始ページ以降の文書データ４００Ｇを受信し再印刷開始ページ以降のページについて、文書を継続印刷する（４１５）。
【００５８】
これにより、プリンタで紙ジャム等のエラーが発生しても、ページ単位で印刷を継続し、重複、脱落のない印刷を実現することができるようにした。
【００５９】
なお、プリントサーバ２００が上記４１３で再印刷開始ページ以降の文書データを容易に切出すことができたのは、スプール２２００に保存されている文書の形式をＰＤＬタイプ２に変換しておいたことの効果である。
【００６０】
（ｂ）キャンセル指示の時
（ｉ）プリントサーバ２００はプリンタに初期化指示４００Ｆを出す。
【００６１】
（ｉｉ）プリントサーバは、続いて、プリンタ３００に出力し印刷させている当該文書データを、スプール２２００から削除する。
【００６２】
なお、上記（ｂ）の場合は、図４に図示していない。
【００６３】
次に、図５と図６を用いて、プリントサーバ２００とプリンタ３００間が片方向インターフェースで結ばれている場合の手順を説明する。
【００６４】
図５で、プリンタで文書を正常印刷した場合の手順を説明する。図６で、文書の印刷中にプリンタエラーが発生し、プリントサーバがエラー回復する場合の手順を説明する。
【００６５】
まず、図５を用いて説明する。
（１）〜（２）までの手順は、図３の場合と同じである。
（２−１）プリントサーバ２００はプリンタ３００に送信した文書を、スプール２２００に一定時間保持する（６０１）。この目的は、図４では片方向インターフェースのため、プリンタ３００からプリントサーバ２００へ、文書の正常終了が報告されず、当該文書をスプール２２００から削除するタイミングがないためである。
（３）プリンタ３００が文書データ４００Ｂを受信する（４０４）。
（４）プリンタ３００が、文書データ４００Ｂを印刷する（４０５）。
（５）プリントサーバ２００は、前記６０１から一定時間経過して時点で、前記４０２で送信した文書をスプール２２００から削除する（６０２）。
【００６６】
ここで、一定時間は文書がプリンタ３００に渡った後正常に印刷されることが十分保証されるだけの時間であり、例えば１日に設定した。
【００６７】
次に、図６を用いて説明する。
（１）〜（２）までの手順は、図４の場合と同じである。
（２−１）プリントサーバ２００はプリンタ３００に送信した文書を、スプール２２００に一定時間保持する（６０１）。この目的は、図５の場合と同じである。
（３）プリンタ３００が文書データ４００Ｂを受信する（４０４）。
（４）プリンタ３００が、文書データ４００Ｂを印刷する（４０５）。
（５）プリンタ３００で印刷中に、紙ジャム等のプリンタエラーが発生した（４０６）。
（６）プリンタ３００からプリントサーバ２００に、当該文書の印刷中に発生したプリンタエラーに関するエラー情報４００Ｃ２を報告する（４０７２）。
（７）プリントサーバ２００は、受取ったエラー情報４００Ｃ２と同等の内容のエラー情報４００Ｄ２を、クライアント１００へ報告する。報告先のクライアントは、当該文書の印刷を依頼したユーザ及び印刷システムの管理を担当しているシステム管理者の使っているクライアントとした（４０８２）。ここで、エラー情報４００Ｄ２は、プリンタエラー発生のみである。図４におけるエラー種別（紙ジャム発生等）、エラー発生ページ番号はない。
（８）クライアント１００はエラー情報４００Ｄ２を受信し、クライアント１００の画面に表示する（４１１）。なお、プリントサーバ２００にクライアント１００の機能も含むように実装したので、プリントサーバ２００の画面にも、エラー情報は表示される
（９）エラー情報４００Ｄ２を画面で見たユーザやシステム管理者は、エラー回復をプリントサーバ２００に指示する。ここで、キャンセル又は再印刷開始ページをパラメータとした再印刷指示が指示される（４１２）。これに伴い、エラー回復指示情報４００Ｅ（キャンセル又は再印刷開始ページをパラメータとした再印刷指示）がクライアント１００からプリントサーバ２００に送信される。なお、片方向インターフェースの場合、プリンタ３００からエラー発生ページ番号が報告されないので、ユーザやシステム管理者は、プリンタ３００に赴いて、自分の目で、エラー発生ページ番号を確認し、それに基づいて再印刷開始ページを決めた。エラー種別もこの時確認し、エラー種別に対応した処置をプリンタに施した。
（１０）プリントサーバ２００がプリンタ３００に対するエラー回復処理を実行する（４１３）。
【００６８】
（ａ）再印刷開始ページをパラメータとした再印刷指示の時
（ｉ）プリントサーバ２００は、プリンタ３００に出力し、今印刷させている当該文書に対応するスプール２２００内の保存文書データから、再印刷開始ページ以降の文書データを切出す。
【００６９】
プリンタに初期化指示４００Ｆを出す。
【００７０】
続いて、プリンタに、切出した再印刷開始ページ以降の文書データ４００Ｇを送信する。
【００７１】
（ｉｉ）プリンタ３００は初期化指示４００Ｆを受け、初期化処理を行う（４１４）。
【００７２】
（ｉｉｉ）プリンタ３００は再印刷開始ページ以降の文書データ４００Ｇを受信し、再印刷開始ページ以降のページについて、文書を継続印刷する（４１５）。
【００７３】
これにより、プリンタで紙ジャム等のエラーが発生しても、ページ単位で印刷を継続し、重複、脱落のない印刷を実現することができるようにした。
【００７４】
なお、プリントサーバ２００が上記４１３で再印刷開始ページ以降の文書データを容易に切出すことができたのは、スプール２２００に保存されている文書の形式をＰＤＬタイプ２に変換しておいたことの効果である。
【００７５】
（ｂ）キャンセル指示の時
（ｉ）プリントサーバ２００はプリンタに初期化指示４００Ｆを出す。
【００７６】
（ｉｉ）プリントサーバは、続いて、プリンタ３００に出力し印刷させている当該文書データを、スプール２２００から削除する。
【００７７】
なお、上記（ｂ）の場合は、図４に図示していない。
【００７８】
次に、プリンタエラー発生時のユーザインタフェースについて、図９〜図１８を用いて説明する。ここではエラーと同じ意味で、障害という用語も用いる。
【００７９】
図１１は、プリンタ障害が発生したとき、クライアントのユーザ又はシステム管理者に通知されるプリンタ障害情報の表示例である。障害通知では、障害情報１２００として、発生した障害の内容が表示される。但し、障害通知先として定義されたユーザがクライアントにログオンしていない場合、障害情報の通知は行われない。
【００８０】
障害情報の通知を受けたユーザ又はシステム管理者は、図１２にその表示例が示される［回復指示］ダイアログボックスより印刷回復の指示を行う。なお、［回復指示］ダイアログボックスを表示せずに、あらかじめ設定しておいた印刷回復方法に従って自動回復を行うようにしてもよい。また、印刷回復では、同一プリンタ（障害から回復後のプリンタ）又は代替プリンタを用いて、任意のページからのテスト印刷と再印刷を指示することができようにした。
【００８１】
［回復指示］ダイアログボックスには、障害情報１３００、及び障害回復後の処置情報１３１０が表示される。障害情報１３００は、障害通知において、表示される障害情報１２００と同様に、発生した障害の内容が表示される。なお、障害情報の内容は、プリンタとプリントサーバとの間のインターフェースが、片方向インターフェースであるか、双方向インターフェースであるかにより異なる。インターフェースが片方向インターフェースである場合は、図１３に示すように、全ての障害について、同一の情報が用いられる。一方、双方向インターフェースを用いている場合は、図１４に示すように、プリンタ障害の内容（カラム１５００に対応した障害情報（カラム１５１０）を用いた。
【００８２】
また、障害回復後の処置情報１３１０として提供される情報は、図１５に示すように、プリンタの設定（カラム１６００）が回復機能を備えたプリンタとして設定されているか、回復機能を持たないプリンタとして設定されているかに応じて、カラム１６１０に示されるようにその内容が異なる。［回復指示］ダイアログにおいて、［続行］を選ぶと、スプール制御サービス部２２１０による印刷回復を行わず、プリンタに内蔵されている回復機能を用いて障害発生箇所より印刷を続行する。
【００８３】
一方、ユーザが「印刷回復」を選ぶと、図１６に示す［印刷回復］（「リカバリ印刷」）ダイアログボックスが表示される。
【００８４】
［印刷回復］ダイアログボックスには、障害の発生した印刷ジョブの名称（［印刷ジョブ名］）、障害の発生したプリンタの名称（［障害プリンタ］）が示される。ユーザは、［再印刷プリンタ］１７００により、再印刷を行うプリンタ名を指定する。［再印刷プリンタ］１７００には、デフォルトとして、障害が発生したプリンタの名称が設定される。再印刷プリンタの設定の方法としてユーザは、再印刷プリンタボタンを選択して代替候補（仕様適合）プリンタの一覧を表示し、その中から再印刷プリンタを選択する方法、［検索］ボタン、又は［ネットワーク］ボタンを選択して、スプール制御サービス部２２１０内のプリンタ構成管理機能（単に構成管理機能とも呼ぶ、図示していない）を利用して代替プリンタの候補を検索し、その中から再印刷プリンタを選択する方法のいずれかを採ることができる。いずれの方法においても、代替プリンタの候補は、図１７に示される形で表示される。
【００８５】
［検索］ボタンを選択した場合、図９に示す［仕様適合プリンタの検索］ダイアログボックスが表示される。ユーザは、［仕様適合プリンタの検索］ダイアログボックスを使用して、所望の仕様を有するプリンタを検索して代替プリンタの候補を表示させ、再印刷プリンタを選択する。また、［ネットワーク］ボタンを選択した場合には、未接続状態の代替候補プリンタ、あるいは、仕様適合プリンタ以外のプリンタにより再印刷を行うこともできる。但し、仕様適合プリンタ以外のプリンタでテスト印刷や再印刷を行った場合、正しく印刷されないことがある。プリンタ仕様情報１７１０には、再印刷プリンタとして選択されたプリンタの仕様に関する情報が表示される。
【００８６】
再印刷ページ１７２０には、再印刷又はテスト印刷を開始するページ（再印刷開始ページ）が、絶対ページ又は相対ページで指定される。［絶対ページ］にはデフォルトとして、障害が発生したページが絶対ページで表示される。ユーザは、ここに、再印刷を行いたい最初のページを文書内の絶対ページで指定することで、指定したページからの再印刷を行うことができる。また、［相対ページ］には、デフォルトとして障害が発生したページを基点とする０が表示される。印刷開始ページの指定を相対ページ行うことで、障害が発生したページを基準とし、その前又は後何ページ目から印刷を開始するかを指定できる。
【００８７】
テスト印刷１７３０にある［ページ数］ボタンには、テスト印刷時に印刷するページ数が指定される。エラー回復処理４１３は、ここで指定されたページ数を再印刷開始ページに加算し、それから１を引いた値を再印刷終了ページとして該当する管理テーブルに設定する。［テスト印刷］ボタンを指定すると、再印刷ページに対応するページから指定されたページ数だけテスト印刷が行われる。
【００８８】
［再印刷］ボタンが指定されると、再印刷ページ１７２０で指定されたページからその文書の最終ページまでの再印刷が実行される。再印刷が正常終了した時点で、［印刷回復］ダイアログは終了する。
【００８９】
［印刷ジョブキャンセル］ボタンは、印刷回復を打切る時に選択する。ユーザがこのボタンを選択することにより、再印刷ジョブはキャンセルされる。キャンセル処理が完了した時点で、［印刷回復］ダイアログは終了する。
【００９０】
［続行］ボタンが指定されると、スプール制御サービス部２２１０によるエラー回復処理は行われず、プリンタに内蔵されている回復機能を用いた障害発生箇所からの印刷が続行される。
【００９１】
［印刷ジョブ表示］ボタンが指定されると、図１８に示される［印刷ジョブ表示］ウインドウにより、再印刷ページ（再印刷開始ページ）に対応するページが表示される。［印刷ジョブ表示］ウインドウでは、ユーザは、以下の操作ができる。ユーザは、再印刷ページ１９００に、表示したいページを絶対ページ又は相対ページで指定する。［絶対ページ］にはデフォルトとして、障害が発生したページが絶対ページで表示される。また、［相対ページ］には、デフォルトとして０が表示される。ここで、［相対ページ］の起点となるのは、障害が発生したページである。［印刷ジョブ表示］ウインドウの領域１９１０には、再印刷ページに対応するページが表示される。ユーザが［ＯＫ］ボタンを選択すると、再印刷ページ１９００で指定されたページを記憶して、「回復指示」ダイアログに戻る。このとき、再印刷ページ１９００で指定されたページが、再印刷ページ１７２０に反映される。［キャンセル］ボタンは、ユーザが［印刷ジョブ表示］ウインドウで行った再印刷ページの指定を破棄して、「回復指示」ダイアログに戻るときに選択される。したがって、この場合、再印刷ページ１９００で指定されたページは、再印刷ページ１７２０には反映されない。
【００９２】
［回復指示］ダイアログボックスに対するユーザからの応答が、あらかじめ登録された一定時間（監視時間と呼ぶ）を越えた場合、スプール制御サービス部２２１０は、自動回復として定義された処置を行う。自動回復処理では、プリンタが回復機能を持つ場合には、その回復機能を用いて障害発生箇所より印刷を続行する。あるいは、プリンタを一時停止した後、印刷ジョブをキャンセルして回復処理を終える。
【００９３】
次に、図２を用いて、本印刷システムを構成するクライアント１００やプリントサーバ２００として使われる計算機２０００のハードウェア構成を説明する。計算機２０００は、ＭＰＵ２００、システムバス２０１、ＲＯＭメモリ２１０、ＲＡＭメモリ２１１、キーボード２２１、マウス２２２、ディスクコントローラ２３１、二次記憶装置２３２、表示コントローラ２４１、ディスプレイ２４２、ネットワークコントローラ２５０、プリンタアダプタ８６０からなる装置である。
【００９４】
システムバス２０１は、ＭＰＵ２００の各種入出力信号（アドレス信号、データ信号、その他の制御信号）からなる。
【００９５】
ＭＰＵ２００は本システムバス２０１を介して、キーボード２２１、二次記憶装置２３２、ディスプレイ２４２、ネットワーク４００等の周辺装置や、ＲＯＭメモリ２１０、ＲＡＭメモリ２１１等のメモリと入出力を行う。
【００９６】
キーボード２２１は複数の入力用鍵盤からなる入力装置であり、ポインティングデバイスの一種であるマウスが接続されている。二次記憶装置２３２は、ディスクコントローラ２３１を介して、またディスプレイ２４２は表示コントローラ２４１を介してシステムバス２０１に接続されている。また本装置のシステムバス２０１は、ＬＡＮやＷＡＮ等のネットワーク４００にネットワークコントローラ２５０を介して接続されている。
【００９７】
ネットワーク４００の物理Ｉ／Ｆとしては、Ｅｔｈｅｒｎｅｔ（登録商標）、Ｔｏｋｅｎ−Ｒｉｎｇ、ＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）、ＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）等を用い、使用する物理Ｉ／Ｆの種類に応じて、本ネットワークコントローラ２５０のハードウェア論理として適切なものを実装する。
【００９８】
プリンタアダプタ８６０は、プリントサーバ２００がプリンタ３００とネットワーク接続でなくローカル接続するためのアダプタである。ローカル接続のインターフェースとしてはセントロニクス、ＳＣＳＩ、ｆｉｂｅｒ  ｃｈａｎｎｅｌ、ＩＥＥＥ１３９４、ＵＳＢ、ＲＳ−２３２Ｃ、ＲＳ−４２２／４２３等を用いる。
【００９９】
クライアント１００はプリンタ３００を接続しないので、プリンタアダプタ８６０がなくても良い。
【０１００】
ＲＯＭメモリ７１０には、計算機２０００の初期化立上げプログラム（ＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｉｎｇ）プログラムとも呼ぶ）や文字フォント等を格納する。
【０１０１】
ＲＡＭメモリ２１１には（ａ）計算機の各種プログラム、（ｂ）文字フォント、（ｃ）各種バッファメモリ、（ｄ）各種管理テーブル、その他を格納する。これらのうち（ａ）と（ｂ）は前記ＩＰＬプログラムにて、二次記憶装置２３２からロードすることにより、格納する。また（ａ）と（ｂ）はＲＡＭメモリ２１１に格納せず、ＲＯＭメモリ２１０に予め格納しておいてもよい。また逆にＲＯＭメモリ２１０には文字フォントを一切格納せず、すべてＲＡＭメモリ２１１に格納してもよい。
【０１０２】
以上の第１実施例によれば、プリンタエラー等が発生しても、スプールに保存しておいたＰＤＬタイプ２の文書データを用いて、ユーザの望む任意のページから再印刷を行うことができる。従って、印刷システムの可用性、信頼性、使い勝手を向上することができた。
（第２実施例）
次に、本発明の第２実施例を、図７を用いて説明する。
【０１０３】
図７では、図１のクライアント１００の代わりに、クライアント１００ａを設けた。  第２実施例におけるクライアント１００ａはクライアントタイプ２と呼ぶ。
【０１０４】
クライアント１００ａはＯＳカーネル部１ａ（１１１０ａ）、通信部１ａ（１１２０ａ）、応用プログラム部１２００ａ、文書形式変換部１４００ａ、ファイル転送送信部１５１０ａ、スプール制御指示部１５２０ａで構成する。
【０１０５】
ＯＳカーネル部１ａ（１１１０ａ）、通信部１ａ（１１２０ａ）、応用プログラム部１２００ａ、ファイル転送送信部１５１０ａ、スプール制御指示部１５２０ａの機能は、図１の場合と同様である。
【０１０６】
但し、本実施例では、応用プログラム部１２００ａが文書を生成し、ＰＤＬタイプ１形式の文書１（１３１１ａ）としてファイルに格納する。文書形式変換部１４００ａは該文書１（１３１１ａ）をＰＤＬタイプ２の形式の文書２（１４１１ａ）に変換し、ファイルに格納する。こうして作成されたＰＤＬタイプ２の形式の文書２（１４１１ａ）は、ファイル転送送信部１５１０ａ又はスプール制御指示部１５２０ａのいずれかを用いて、プリントサーバ２００のスプール２２００に印刷ジョブとして送信される。ここでも、図１の場合と同様、ファイル転送のための通信プロトコルとしてはｆｔｐ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）等を用いた。
【０１０７】
プリントサーバ２００は受信した印刷ジョブを、第１実施例（図１）の場合と同様にして処理し、印刷する。プリントサーバ２００を構成する各部分と各部分の機能は図１の場合と同様である。
【０１０８】
クライアントタイプ２（１００ａ）として、例えばメインフレームコンピュータやエンタプライズサーバを用いることができる。この場合、メインフレームコンピュータやエンタプライズサーバで作成した文書を、プリントサーバ２００を介してプリンタ３００で印刷することを可能にする効果がある。
【０１０９】
ここで、クライアントタイプ１とクライアントタイプ２について説明する。クライアントタイプ１とクライアントタイプ２は広義ではクライアントであり、区別されずに使用されることがあるが、本発明では、次のように区別した。
【０１１０】
クライアントタイプ１は、ＯＳカーネル部の提供する仕組みとしてプリンタ論理ドライバ部があり、このプリンタ論理ドライバ部を用いて応用プログラム部がプリンタに印刷を指示する方式のクライアントである。プリンタ論理ドライバ部はプリンタ３００の機種毎に用意し、応用プログラム部とは独立である。つまり、別の応用プログラム部に対しても、プリンタが同じなら、同じプリンタ論理ドライバ部を使うことができる。クライアントタイプ１では、応用プログラム部がそれ用の内部表現で文書を表現し、該文書の印刷をプリンタ論理ドライバ部に指示する。プリンタドライバ部は受信した文書を処理し、ＰＤＬに変換する。本発明ではクライアントタイプ１の具体例として、１００（図１）、１００ｃ（図８）、１００ｅ（図１９）がある。
【０１１１】
一方、クライアントタイプ２は、広義のクライアントのうち、ＯＳカーネル部が提供する上述のプリンタ論理ドライバ部を持たないものである。プリンタ論理ドライバ部を持たないため、応用プログラム部がプリンタに印刷を指示する場合、応用プログラム部がその内部処理として、文書を表す内部表現を各プリンタ用のＰＤＬに変換する。本発明ではクライアントタイプ２の具体例として、１００ａ（図７）、１００ｄ（図８）がある。
（第３実施例）
次に、本発明の第３実施例について、図８を用いて説明する。
【０１１２】
第３実施例はクライアント１００ｃとクライアント１００ｄの生成した文書を、プリントサーバ２００が両方とも受付け、印刷するためのものである。
【０１１３】
図８において、クライアント１００ｃはＯＳカーネル部１（１１１０）、通信部１（１１２０）、応用プログラム部１２００、プリンタ論理ドライバ部１３００で構成する。これらは図１におけるクライアント１００の場合と同様な機能を有する。
【０１１４】
図８において、クライアント１００ｄはＯＳカーネル部１ａ（１１１０ａ）、通信部１ａ（１１２０ａ）、応用プログラム部１２００ａで構成する。これらは図７におけるクライアント１００ａの場合と同様な機能を有する。
【０１１５】
図８において、クライアント１００ｃはＰＤＬタイプ１形式の文書を応用プログラム部１２００とプリンタ論理ドライバ部１３００を用いて生成し、１３２０−１又は１３２０−２の経路で、通信部１（１１２０）を経由して、文書変換サーバ６００に送信する。
【０１１６】
図８において、クライアント１００ｄはＰＤＬタイプ１形式の文書を応用プログラム部１２００ａを用いて生成し、１３２０−３の経路で、通信部１ａ（１１２０ａ）を経由して、文書変換サーバ６００に送信する。
【０１１７】
文書変換サーバ６００には通信部３（６１２０）、ＯＳカーネル部３（６１１０）、文書形式変換部６４００を設けた。ここで、通信部３（６１２０）とＯＳカーネル部３（６１１０）は、第１実施例における通信部２（２１２０）やＯＳカーネル部２（２１１０）と同様の機能を有する。
【０１１８】
文書管理サーバ６００はクライアント１００ｃ又は計算機１００ｄから、ＰＤＬタイプ１形式の文書を受信し、文書６（６３１１）としてファイルに格納する。
【０１１９】
文書管理サーバ６００内の文書形式変換部６４００は、該文書６（６３１１）をＰＤＬタイプ２の形式の文書７（６４１１）に変換し、ファイルに格納する。こうして作成されたＰＤＬタイプ２の形式の文書７（６４１１）は通信部３（６１２０）を経て、プリントサーバ２００のスプール２２００に印刷ジョブとして送信される。
【０１２０】
プリントサーバ２００は受信した印刷ジョブを、第１実施例（図１）の場合と同様にして処理し、印刷する。プリントサーバ２００を構成する各部分と各部分の機能は図１の場合と同様である。
【０１２１】
本第３実施例では、第１実施例と第２実施例の効果を同時に得ることができる。つまり、クライアントタイプ１（１００ｃ）とクライアントタイプ２（１００ｄ）が生成した文書を共通のプリントサーバ２００とプリンタ３００で印刷可能である。従来は、クライアントタイプ１（１００ｃ）用とクライアントタイプ２（１００ｄ）用に、別々のプリントサーバやプリンタを用意することが必要だったので、プリントサーバやプリンタの導入・維持コスト、設置コストが大きかった。本第３実施例ではこれらのコスト低減が可能となる。
【０１２２】
クライアントタイプ１（１００ｃ）として具体的には、パーソナルコンピュータやワークステーションを用いることが可能である。パーソナルコンピュータのＯＳとしては例えばＭｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）９５／９８／Ｍｅ，Ｗｉｎｄｏｗｓ（登録商標）ＮＴ／２０００／ＸＰ等を用いることが可能である。
【０１２３】
ワークステーションのＯＳとしては、例えば、各ベンダの提供するＵＮＩＸ（登録商標）やＬｉｎｕｘを用いることができる。また、クライアントタイプ２（１００ｄ）として、メインフレームコンピュータやエンタプライズサーバを用いることができる。さらに計算機１００ｄとして、上述のワークステーションを用いることもできる。
【０１２４】
なお、本第３実施例では、文書変換サーバ６００を単独のサーバとして実現したが、文書変換サーバ機能を他の部分に実装することもできる。例えば、クライアント１００ｃやクライアント１００ｄに実装することもできる。これはちょうど第１実施例と第２実施例を同時に実施し、共通のプリントサーバが第１実施例のクライアントタイプ１からの印刷ジョブと第２実施例のクライアントタイプ２からの印刷ジョブを両方とも受付け、印刷処理できるようにした場合に相当する。
（第４実施例）
次に、本発明の第４実施例を、図１９を用いて説明する。
【０１２５】
図１９は図１の構成と似ている。図１９では、図１のクライアント１００の代わりに、クライアント１００ｅを設けた。
【０１２６】
クライアント１００ｅはＯＳカーネル部１（１１１０）、通信部１（１１２０）、応用プログラム部１２００、プリンタ論理ドライバｅ部１３００ｅで構成する。
【０１２７】
通信部１（１１２０）、ＯＳカーネル部１（１１１０）、応用プログラム部１２００の機能は、図１の場合と同様である。
【０１２８】
但し、本実施例では、プリンタ論理ドライバｅ部１３００ｅが、応用プログラム部１２００の指示に従い、ＰＤＬタイプ２形式の文書（１３１１ｅ）を生成し、ファイルに格納する。該文書（１３１１ｅ）は通信部１（１１２０）を経て、プリントサーバ２００のスプール２２００に印刷ジョブとして送信される。
【０１２９】
プリントサーバ２００は受信した印刷ジョブを、第１実施例（図１）の場合と同様にして処理し、印刷する。プリントサーバ２００を構成する各部分と各部分の機能は図１の場合と同様である。
【０１３０】
本第４実施例によれば、第１実施例、第２実施例、第３実施例のように、文書変換部や文書変換サーバを設ける必要がないので、簡潔で、性能、コストの優れた印刷システムを提供することができるという効果がある。
【０１３１】
本発明は、以下の場合についても同様にして実現することができる。
（１）プリンタ３００がプリンタコントローラ３１０を用いてＰＤＬタイプ２形式の文書のみを印刷できる。
（２）プリンタ３００がプリンタコントローラ３１０を用いて、ＰＤＬタイプ２形式の文書及びＰＤＬタイプ１形式の文書を印刷できる。
（３）ジョブ出力部２３００がＰＤＬタイプ２形式の文書をそのままプリンタ３００に出力する。プリンタ３００内のプリンタコントローラ３１０が上記ＰＤＬタイプ２形式の文書を受信し、印刷する。
（４）ジョブ出力部２３００がＰＤＬタイプ２形式の文書をプリンタ３００に対しそのまま出力しない。出力する前に、ＰＤＬタイプ２形式の文書をＰＤＬタイプ１形式の文書に変換してから出力する。この変換は、例えばプリントサーバ２００内の適切な部分で実行する。例えば、（ａ）ジョブ出力部２３００又は（ｂ）ネットワークプリンタ制御ドライバ２４１０とプリンタローカルドライバ２４２０で実行することができる。或いは、プリントサーバ内の別に設けた部分（図示していない）において実行することもできる。この場合、プリントサーバ２００からプリンタ３００に対し、ＰＤＬタイプ１形式の文書が出力される。プリンタ３００内のプリンタコントローラ３１０は上記ＰＤＬタイプ１形式の文書を受信し、印刷する。従って、この場合、プリンタコントローラ３１０はＰＤＬタイプ２形式の文書を処理する機能を持たなくても良い。プリンタはＰＤＬタイプ１形式の文書を処理できれば良い。
【０１３２】
【発明の効果】
本発明によれば、プリンタエラー等が発生しても、スプールに保存しておいたＰＤＬタイプ２の文書データを用いて、ユーザの望む任意のページから再印刷を行うことができる。従って、印刷システムの可用性、信頼性、使い勝手を向上することができた。
【図面の簡単な説明】
【図１】本発明の第１実施例を説明するための構成図である。
【図２】本発明において、クライアントやプリントサーバとして使われる計算機のハードウェア構成図である。
【図３】本発明におけるクライアントとプリントサーバとプリンタとの間で、プリントサーバとプリンタとが双方向インタフェースで結ばれ、プリンタで正常印刷した場合の処理手順を説明するための図である。
【図４】本発明におけるクライアントとプリントサーバとプリンタとの間で、プリントサーバとプリンタとが双方向インタフェースで結ばれ、プリンタエラーが発生した場合の処理手順を説明するための図である。
【図５】本発明におけるクライアントとプリントサーバとプリンタとの間で、プリントサーバとプリンタとが片方向インタフェースで結ばれ、プリンタで正常印刷した場合の処理手順を説明するための図である。
【図６】本発明におけるクライアントとプリントサーバとプリンタとの間で、プリントサーバとプリンタとが片方向インタフェースで結ばれ、プリンタエラーが発生した場合の処理手順を説明するための図である。
【図７】本発明の第２実施例を説明するための構成図である。
【図８】本発明の第３実施例を説明するための構成図である。
【図９】本発明におけるユーザインターフェースを説明するための図である。
【図１０】本発明におけるユーザインターフェースを説明するための図である。
【図１１】本発明におけるユーザインターフェースを説明するための図である。
【図１２】本発明におけるユーザインターフェースを説明するための図である。
【図１３】本発明におけるユーザインターフェースを説明するための図である。
【図１４】本発明におけるユーザインターフェースを説明するための図である。
【図１５】本発明におけるユーザインターフェースを説明するための図である。
【図１６】本発明におけるユーザインターフェースを説明するための図である。
【図１７】本発明におけるユーザインターフェースを説明するための図である。
【図１８】本発明におけるユーザインターフェースを説明するための図である。
【図１９】本発明の第４実施例を説明するための構成図である。
【符号の説明】
１００はクライアント、２００はプリントサーバ、３００はプリンタ、４００はネットワーク、１４００は文書形式変換部、１５１０はファイル転送送信部、１５２０はスプール制御指示部、２２００はスプール、２２１０はスプール制御サービス部、２３００はジョブ出力部、２４１０はネットワークプリンタ制御ドライバ、２４２０はプリンタローカルドライバ、３１０はプリンタコントローラ、３２０はプリンタエンジンである。
【図１】
2004341891.tif 000003
【図２】
2004341891.tif 000004
【図３】
2004341891.tif 000005
【図４】
2004341891.tif 000006
【図５】
2004341891.tif 000007
【図６】
2004341891.tif 000008
【図７】
2004341891.tif 000009
【図８】
2004341891.tif 000010
【図９】
2004341891.tif 000011
【図１０】
2004341891.tif 000012
【図１１】
2004341891.tif 000013
【図１２】
2004341891.tif 000014
【図１３】
2004341891.tif 000015
【図１４】
2004341891.tif 000016
【図１５】
2004341891.tif 000017
【図１６】
2004341891.tif 000018
【図１７】
2004341891.tif 000019
【図１８】
2004341891.tif 000020
【図１９】
2004341891.tif 000021