(57)【特許請求の範囲】
【請求項１】
印刷データを生成する少なくとも１つの端末装置、前記印刷データに基づいて印刷処理を実行する少なくとも２つの画像形成装置、及び該画像形成装置を管理するサーバを含んで構成され、
前記端末装置が、印刷データの生成時に、前記印刷処理の内容を表す印刷処理内容情報を生成し、生成した印刷処理内容情報を前記サーバへ送信することで該サーバに前記印刷データの印刷処理を要求し、前記サーバが、前記端末装置から受信した印刷処理内容情報に基づいて、印刷処理を実行させる画像形成装置及び該画像形成装置への印刷データの転送経路を決定し、決定した転送経路に従って印刷データが前記画像形成装置へ転送されるよう制御するネットワークシステムであって、
前記画像形成装置は、
印刷処理中の障害の発生を検知する検知手段と、
前記検知手段により障害の発生が検知された場合に、該検知時点で処理中であった印刷処理の内容を表す障害時印刷処理内容情報を生成する障害時情報生成手段と、
前記障害時情報生成手段により生成された障害時印刷処理内容情報を前記サーバへ送信することで該サーバに他の画像形成装置により印刷処理を継続実行させることを要求する要求手段と、
を有し、
前記サーバは、前記画像形成装置から受信した障害時印刷処理内容情報に基づいて、印刷処理を継続実行させる他の画像形成装置を決定すると共に、該他の画像形成装置への印刷データの転送経路として、該他の画像形成装置と前記画像形成装置との間で印刷データを転送する経路を決定する決定手段を有し、
前記画像形成装置又は前記他の画像形成装置は、前記決定した転送経路に従って、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データが前記他の画像形成装置へ転送されるよう制御することを特徴とするネットワークシステム。
【請求項２】
前記障害時印刷処理内容情報は、処理中の印刷データの所在情報、障害の発生が検知された画像形成装置の識別情報、及び処理中の印刷処理の印刷属性情報を含んで構成されていることを特徴とする請求項１記載のネットワークシステム。
【請求項３】
前記他の画像形成装置へ転送される印刷データを、全ての印刷データとするか、印刷処理が完了していない残りのページの印刷データとするか、印刷処理が完了していない残りの行の印刷データとするかは、前記端末装置、前記サーバ及び前記画像形成装置の何れかにより、設定可能であることを特徴とする請求項１又は請求項２に記載のネットワークシステム。
【請求項４】
前記障害時印刷処理内容情報は、前記印刷データよりもデータ量が少ないことを特徴とする請求項１乃至請求項３の何れか１項に記載のネットワークシステム。
【請求項５】
印刷データを生成すると共に該生成時に印刷処理の内容を表す印刷処理内容情報を生成し、生成した印刷処理内容情報を用いて前記印刷データの印刷処理を要求する少なくとも１つの端末装置、及び他の装置から受信した印刷処理内容情報に基づいて少なくとも前記印刷データの転送経路を決定し、決定した転送経路に従って印刷データが転送されるよう制御するサーバ、と共にネットワークシステムを構成し、該ネットワークシステムに少なくとも２つ設けられ、前記印刷データに基づいて印刷処理を実行する画像形成装置であって、
印刷処理中の障害の発生を検知する検知手段と、
前記検知手段により障害の発生が検知された場合に、該検知時点で処理中であった印刷処理の内容を表す障害時印刷処理内容情報を生成する障害時情報生成手段と、
前記障害時情報生成手段により生成された障害時印刷処理内容情報を前記サーバへ送信することで該サーバに他の画像形成装置により印刷処理を継続実行させることを要求する要求手段と、
前記サーバから通知された印刷データの転送経路に従って、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データを、前記サーバから通知された他の画像形成装置へ転送するデータ転送手段と、
を有する画像形成装置。
【請求項６】
前記サーバから通知された印刷データの転送経路に従って、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データを、前記サーバから通知された他の画像形成装置から獲得するデータ獲得手段をさらに有する請求項５記載の画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークシステム及び画像形成装置に係り、より詳しくは、印刷データを生成する少なくとも１つの端末装置と、印刷データに基づいて印刷処理を実行する少なくとも２つの画像形成装置と、該画像形成装置を管理するサーバとを含んで構成されたネットワークシステム、及び該ネットワークシステムを構成する画像形成装置に関する。
【０００２】
なお、画像形成装置には、受信した印刷データに基づいて用紙等の記録媒体に画像を形成するあらゆる装置、例えば、プリンタ、プロッター、デジタル複合機等が含まれる。
【０００３】
【従来の技術】
従来より、複数のワークステーション、複数のプリンタおよびプリンタを管理するプリントサーバにより構成されたネットワークシステムが構築されている。このようなネットワークシステムでの印刷処理時には、大量の印刷データをワークステーションからネットワークを介してプリントサーバへ送信して該プリントサーバ内のメモリに一時記憶し、プリントサーバが、ネットワークに接続された少なくとも１つのプリンタにネットワークを介して印刷データを送信し、該プリンタにより印刷データの印刷処理を行っている。
【０００４】
ところが、上記の技術では、ワークステーションからプリントサーバへ大量の印刷データを送信することで印刷要求が行われていたため、複数台のワークステーションからの印刷要求が集中した場合には、印刷データを記憶するためのプリントサーバ内のメモリ容量が一杯になり、ワークステーションからの印刷データを受け付けられない、といった不都合が生じるおそれがある。また、大量の印刷データが、ワークステーションからネットワークを介してプリントサーバへ送信され、その後、プリントサーバからネットワークを介してプリンタへ送信されるので、ネットワーク上のデータ伝送量（通信トラフィック量）が増加してしまい、ネットワークシステム全体でのデータ伝送処理効率を低下させるおそれがある。
【０００５】
ところで、上記のネットワークにおいて、印刷処理中のプリンタで、機器故障、用紙詰まり、用紙切れ、トナー切れ等の印刷処理不能となる障害が発生した場合、端末装置又はサーバから、印刷処理を代行するプリンタ（以下、迂回プリンタと称する）へ印刷データを転送して該迂回プリンタにより印刷処理を続行させる迂回印刷の技術が知られている。
【０００６】
しかし、上記迂回印刷の技術では、障害発生時を想定して、印刷処理完了まで端末装置又はサーバは印刷データを保管しておく必要があったため、端末装置又はサーバではメモリ資源を効率よく使用することが困難であった。
【０００７】
また、端末装置又はサーバから迂回プリンタへ、全ての印刷データを転送して印刷処理させる場合、障害発生前に既に印刷処理済の印刷データについても再度印刷処理されるので、無駄な処理が発生し、迂回プリンタでの印刷処理時間が長くなり、印刷資源（用紙、トナー等）の無駄使いが生じる、といった不都合が起こってしまう。なお、未処理の印刷データのみを障害プリンタからサーバへ転送し、サーバから迂回プリンタへ転送して印刷処理させる技術も考えられるが、制御が複雑になってしまう。
【０００８】
【発明が解決しようとする課題】
本発明は、上記問題点を解消するために成されたものであり、ネットワーク上の通信トラフィック量の増大を回避しメモリ資源の有効利用を図りつつ、印刷処理中に障害が発生しても印刷処理を円滑に継続することができるネットワークシステム及び画像形成装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載のネットワークシステムは、印刷データを生成する少なくとも１つの端末装置、前記印刷データに基づいて印刷処理を実行する少なくとも２つの画像形成装置、及び該画像形成装置を管理するサーバを含んで構成され、前記端末装置が、印刷データの生成時に、前記印刷処理の内容を表す印刷処理内容情報を生成し、生成した印刷処理内容情報を前記サーバへ送信することで該サーバに前記印刷データの印刷処理を要求し、前記サーバが、前記端末装置から受信した印刷処理内容情報に基づいて、印刷処理を実行させる画像形成装置及び該画像形成装置への印刷データの転送経路を決定し、決定した転送経路に従って印刷データが前記画像形成装置へ転送されるよう制御するネットワークシステムであって、前記画像形成装置は、印刷処理中の障害の発生を検知する検知手段と、前記検知手段により障害の発生が検知された場合に、該検知時点で処理中であった印刷処理の内容を表す障害時印刷処理内容情報を生成する障害時情報生成手段と、前記障害時情報生成手段により生成された障害時印刷処理内容情報を前記サーバへ送信することで該サーバに他の画像形成装置により印刷処理を継続実行させることを要求する要求手段と、を有し、前記サーバは、前記画像形成装置から受信した障害時印刷処理内容情報に基づいて、印刷処理を継続実行させる他の画像形成装置を決定すると共に、該他の画像形成装置への印刷データの転送経路として、該他の画像形成装置と前記画像形成装置との間で印刷データを転送する経路を決定する決定手段を有し、前記画像形成装置又は前記他の画像形成装置は、前記決定した転送経路に従って、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データが前記他の画像形成装置へ転送されるよう制御することを特徴とする。
【００１０】
また、請求項２記載のネットワークシステムでは、請求項１記載のネットワークシステムにおいて、前記障害時印刷処理内容情報は、処理中の印刷データの所在情報、障害の発生が検知された画像形成装置の識別情報、及び処理中の印刷処理の印刷属性情報を含んで構成されていることを特徴とする。
【００１１】
また、請求項３記載のネットワークシステムでは、請求項１又は請求項２に記載のネットワークシステムにおいて、前記他の画像形成装置へ転送される印刷データを、全ての印刷データとするか、印刷処理が完了していない残りのページの印刷データとするか、印刷処理が完了していない残りの行の印刷データとするかは、前記端末装置、前記サーバ及び前記画像形成装置の何れかにより、設定可能であることを特徴とする。
【００１２】
また、請求項４記載のネットワークシステムでは、請求項１乃至請求項３の何れか１項に記載のネットワークシステムにおいて、前記障害時印刷処理内容情報は、前記印刷データよりもデータ量が少ないことを特徴とする。
【００１３】
また、請求項５記載の画像形成装置は、印刷データを生成すると共に該生成時に印刷処理の内容を表す印刷処理内容情報を生成し、生成した印刷処理内容情報を用いて前記印刷データの印刷処理を要求する少なくとも１つの端末装置、及び他の装置から受信した印刷処理内容情報に基づいて少なくとも前記印刷データの転送経路を決定し、決定した転送経路に従って印刷データが転送されるよう制御するサーバ、と共にネットワークシステムを構成し、該ネットワークシステムに少なくとも２つ設けられ、前記印刷データに基づいて印刷処理を実行する画像形成装置であって、印刷処理中の障害の発生を検知する検知手段と、前記検知手段により障害の発生が検知された場合に、該検知時点で処理中であった印刷処理の内容を表す障害時印刷処理内容情報を生成する障害時情報生成手段と、前記障害時情報生成手段により生成された障害時印刷処理内容情報を前記サーバへ送信することで該サーバに他の画像形成装置により印刷処理を継続実行させることを要求する要求手段と、前記サーバから通知された印刷データの転送経路に従って、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データを、前記サーバから通知された他の画像形成装置へ転送するデータ転送手段と、を有することを特徴とする。
【００１４】
また、請求項６記載の画像形成装置は、請求項５記載の画像形成装置において、前記サーバから通知された印刷データの転送経路に従って、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データを、前記サーバから通知された他の画像形成装置から獲得するデータ獲得手段をさらに有することを特徴とする。
【００１５】
上記請求項１記載のネットワークシステムは、印刷データを生成する少なくとも１つの端末装置、印刷データに基づいて印刷処理を実行する少なくとも２つの画像形成装置、及び該画像形成装置を管理する（即ち、各画像形成装置の性能や稼動状況の把握等を行う）サーバを含んで構成されている。
【００１６】
このネットワークシステムでは、端末装置が、印刷データの生成時に、印刷処理の内容を表す印刷処理内容情報を生成し、生成した印刷処理内容情報をサーバへ送信することで該サーバに印刷データの印刷処理を要求する。そして、サーバが、端末装置から受信した印刷処理内容情報に基づいて、印刷処理を実行させる画像形成装置及び該画像形成装置への印刷データの転送経路を決定し、決定した転送経路に従って印刷データが画像形成装置へ転送されるよう制御する。
【００１７】
このように、端末装置が、印刷データを含まない印刷処理内容情報を用いてサーバに印刷データの印刷処理を要求し、サーバが該印刷処理内容情報に基づいて適正な転送経路及び適正な画像形成装置を決定し、印刷データが前記決定された転送経路に従って、前記決定された画像形成装置へ転送されるので、印刷データの円滑な転送及び適正な画像形成装置による印刷処理を実現することができる、という利点が有る。
【００１８】
また、通常、印刷処理内容情報は印刷データよりもデータ量が少ないため、印刷処理要求時に端末装置からサーバへ転送されるデータ量を減らしネットワークシステム上のトラフィック量を削減できると共に、サーバで蓄積するべきデータ量を減らしサーバの必要メモリ容量の低減を図ることができる、という利点も有る。
【００１９】
このような利点を有するネットワークシステムにおいて、画像形成装置は、検知手段により、印刷処理中に障害の発生を検知した場合、該検知時点で処理中であった印刷処理の内容を表す障害時印刷処理内容情報を障害時情報生成手段により生成し、要求手段により、前記生成した障害時印刷処理内容情報をサーバへ送信することで該サーバに他の画像形成装置により印刷処理を継続実行させることを要求する。
【００２０】
なお、障害時印刷処理内容情報は、請求項２に記載したように、処理中の印刷データの所在情報、障害の発生が検知された画像形成装置（以下、障害画像形成装置と称する）の識別情報、及び処理中の印刷処理の印刷属性情報を含んで構成することができる。この構成の障害時印刷処理内容情報を受信したサーバは、障害画像形成装置を特定し、印刷データの所在を認識し、印刷処理の印刷属性情報を得ることができる。
【００２１】
この要求を受けたサーバは、受信した障害時印刷処理内容情報に基づいて、印刷処理を継続実行させる他の画像形成装置を決定手段により決定する。即ち、決定手段は、障害時印刷処理内容情報により表された印刷処理の内容に応じて、該印刷処理を実行する能力を備えた他の画像形成装置を、印刷処理を継続実行させる他の画像形成装置として決定する。
【００２２】
また、サーバは、決定手段により、他の画像形成装置への印刷データの転送経路として、該他の画像形成装置と障害画像形成装置との間で印刷データを転送する経路を決定する。即ち、決定手段は、印刷データの転送経路を、障害画像形成装置が他の画像形成装置へ印刷データを転送する経路又は他の画像形成装置が障害画像形成装置から印刷データを獲得する経路に決定する。
【００２３】
そして、障害画像形成装置又は他の画像形成装置は、サーバが決定した転送経路に従って、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データが他の画像形成装置へ転送されるよう制御する。
【００２４】
即ち、サーバが決定した転送経路が、障害画像形成装置が他の画像形成装置へ印刷データを転送する経路である場合は、障害画像形成装置は、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データを、他の画像形成装置へ転送する。
【００２５】
また、サーバが決定した転送経路が、他の画像形成装置が障害画像形成装置から印刷データを獲得する経路である場合は、他の画像形成装置は、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データを、障害画像形成装置から獲得する。
【００２６】
このようにして、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データが他の画像形成装置に届くことになり、他の画像形成装置により印刷処理が継続して実行される。
【００２７】
これにより、印刷処理中に障害が発生しても、印刷データが他の画像形成装置へ転送され、他の画像形成装置により印刷処理が継続されるので、印刷要求した端末装置やサーバが印刷処理の終了時まで印刷データを保管しておく必要は無く、端末装置やサーバで蓄積するべきデータ量を減らし、端末装置やサーバの必要メモリ容量の低減を図ることができる。
【００２８】
また、印刷処理中の障害発生時に、印刷データが障害画像形成装置から他の画像形成装置へ直接一度に転送されるよう制御するので、印刷データを障害画像形成装置からサーバを介して他の画像形成装置へ転送する場合よりも、ネットワークシステム上のトラフィック量を削減することができる。
【００２９】
なお、印刷処理中の障害発生時に他の画像形成装置へ転送される印刷データを、全ての印刷データとするか、印刷処理が完了していない残りのページの印刷データとするか、印刷処理が完了していない残りの行の印刷データとするかは、請求項３に記載したように、端末装置、サーバ及び画像形成装置の何れかにより設定可能とすることが望ましい。これにより、ユーザの要望に応じて、障害発生時に他の画像形成装置へ転送される印刷データを自由に選択することができる。
【００３０】
例えば、他の画像形成装置へ転送される印刷データを、印刷処理が完了していない残りのページの印刷データとするデフォルト設定情報を各画像形成装置に設定しておき、端末装置のユーザが印刷処理の要求時に上記デフォルト設定情報を自在に変更できるように構成すれば良い。又は、端末装置のユーザからの要望を受けたサーバのオペレータが、上記デフォルト設定情報を自在に変更できるように構成しても良い。
【００３１】
上記では、障害発生時に他の画像形成装置へ転送される印刷データを、全ての印刷データとせずに、印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データとすることにより、他の画像形成装置へ転送されるデータ量、即ちネットワークシステム上のトラフィック量を削減し、他の画像形成装置による印刷処理の処理時間を短縮し、他の画像形成装置で使用する印刷資源（用紙、トナー、電力等）を節約することができる、という利点が有る。
【００３２】
また、請求項４に記載したように、前述した障害時印刷処理内容情報は、そのデータ量が印刷データよりも少なければ、このデータ量が少ない障害時印刷処理内容情報を用いてサーバに印刷処理の継続実行を要求するので、要求時に画像形成装置からサーバへ転送されるデータ量、即ちネットワークシステム上のトラフィック量を削減することができる。また、サーバで蓄積するべきデータ量も減少するので、サーバでは特に磁気ディスク装置等の増設を必要とせず、コスト低減を図ることができる。
【００３３】
ところで、上記請求項１記載のネットワークシステムを構成できる画像形成装置として、上記請求項５記載の画像形成装置を挙げることができる。この請求項５記載の画像形成装置は、少なくとも１つの端末装置及びサーバと共にネットワークシステムを構成しており、該ネットワークシステムに少なくとも２つ設けられている（複数存在する）。このネットワークシステムでは、端末装置が、印刷データの生成時に、印刷処理の内容を表す印刷処理内容情報を生成し、生成した印刷処理内容情報をサーバへ送信することで該サーバに印刷データの印刷処理を要求する。そして、サーバが、端末装置から受信した印刷処理内容情報に基づいて、印刷処理を実行させる画像形成装置及び該画像形成装置への印刷データの転送経路を決定し、決定した転送経路に従って印刷データが画像形成装置へ転送されるよう制御する。
【００３４】
このようなネットワークシステムに含まれる請求項５記載の画像形成装置では、検知手段が印刷処理中の障害の発生を検知すると、障害時情報生成手段が、該検知時点で処理中であった印刷処理の内容を表す障害時印刷処理内容情報を生成し、要求手段が、前記生成された障害時印刷処理内容情報をサーバへ送信することで該サーバに他の画像形成装置により印刷処理を継続実行させることを要求する。
【００３５】
上記の障害時印刷処理内容情報を受信したサーバは、該障害時印刷処理内容情報より、印刷処理を実行する能力を備えた他の画像形成装置、及び前記障害画像形成装置から該他の画像形成装置への印刷データの転送経路を決定して、障害画像形成装置に通知する。
【００３６】
この通知を受けた障害画像形成装置では、データ転送手段が印刷データの転送経路に従って他の画像形成装置へ、全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データを転送する。このようにして印刷データが他の画像形成装置に届くことになり、他の画像形成装置により印刷処理が継続実行される。
【００３７】
以上のように、印刷処理中に障害が発生しても、印刷データ（全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データ）が他の画像形成装置へ転送され、他の画像形成装置により印刷処理が継続実行されるので、印刷要求した端末装置やサーバが印刷処理の終了時まで印刷データを保管しておく必要は無く、端末装置やサーバで蓄積するべきデータ量を減らし、端末装置やサーバの必要メモリ容量の低減を図ることができる。
【００３８】
また、印刷処理中の障害発生時に、印刷データが障害画像形成装置から他の画像形成装置へ直接一度に転送されるよう制御するので、印刷データを障害画像形成装置からサーバを介して他の画像形成装置へ転送する場合よりも、ネットワークシステム上のトラフィック量を削減することができる。
【００３９】
なお、他の画像形成装置が、請求項６に記載したデータ獲得手段を備えている場合は、印刷データの転送経路として、他の画像形成装置が印刷データを障害画像形成装置から獲得する経路を採用しても良い。この場合、他の画像形成装置は、データ獲得手段により、上記印刷データの転送経路に従って印刷データ（全ての印刷データ又は印刷処理が完了していない残りのページの印刷データ又は印刷処理が完了していない残りの行の印刷データ）を障害画像形成装置から獲得し、獲得した印刷データに基づく印刷処理を実行する。
【００４０】
【発明の実施の形態】
以下、図面を参照して発明の実施形態を説明する。以下の実施形態では、最初に、本発明が適用されるネットワークシステムの構成・動作を説明し、次に、本発明に係る印刷処理制御方法を実現するために改良された構成及びその作用を説明する。
【００４１】
［本発明が適用されるネットワークシステムの構成・動作について］
（ネットワークシステムの概略構成）
本発明が適用されるネットワークシステムは、図１に示すように、第１のネットワークＮ１及び第２のネットワークＮ２を含んで構成されている。
【００４２】
このうち第１のネットワークＮ１では、複数（一例として４つ）の端末装置（以下、ワークステーションという）１２Ｗ1 、１２Ｗ2 、１２Ｗ3 、１２Ｗ4 、１台のサーバ（以下では、単にサーバと称する）１４、及び複数（一例として４つ）のプリンタ１６Ｐ1 、１６Ｐ2 、１６Ｐ3 、１６Ｐ4 がローカルエリアネットワーク（ＬＡＮ）１０を介して相互に接続されている。なお、プリンタ１６Ｐ1 、１６Ｐ2 、１６Ｐ3 、１６Ｐ4 はサーバ１４により管理されている。
【００４３】
また、第２のネットワークＮ２では、複数（一例として４つ）のワークステーション２２Ｗ1 、２２Ｗ2 、２２Ｗ3 、２２Ｗ4 、１台のサーバ２４、及び複数（一例として４つ）のプリンタ２６Ｐ1 、２６Ｐ2 、２６Ｐ3 、２６Ｐ4 がＬＡＮ２０を介して相互に接続されている。なお、プリンタ２６Ｐ1 、２６Ｐ2 、２６Ｐ3 、２６Ｐ4 はサーバ２４により管理されている。
【００４４】
なお、第１のネットワークＮ１はルータ１８を介して、第２のネットワークＮ２はルータ２８を介して、それぞれＬＡＮ（ＦＤＤＩ／ＩＳＤＮ／Ｘ．２５）３０に接続されている。
【００４５】
図２に示すように、ワークステーション１２Ｗ1 には、印刷データを蓄積するためのスプール１６０、印刷データを生成する印刷データ生成部１１２と後述する印刷内容を表すリファレンスを生成するリファレンス生成部１１１とを含み印刷データをスプール１６０へ蓄積するデータ生成部１１０、印刷処理要求に係る処理を管理する印刷管理部１２０、外部とのデータの入出力を司る入出力インタフェース部（以下、入出力Ｉ／Ｆと称する）１５０、入出力Ｉ／Ｆ１５０を介して入力される印刷処理状況（ステータス）情報の把握・管理等を行うステータス制御部１３０、及びスプール１６０に蓄積された印刷データを入出力Ｉ／Ｆ１５０を介して外部の装置へ出力するデータ出力部１４０が設けられている。
【００４６】
印刷管理部１２０は、リファレンス生成部１１１で生成されたリファレンスをデータ出力部１４０によりサーバ１４へ送信することにより、サーバ１４に対して印刷データの印刷処理を要求する。また、印刷データをサーバ１４やプリンタ１６Ｐ1 等の外部装置へ転送する際には、印刷管理部１２０は、スプール１６０に蓄積された印刷データをデータ出力部１４０により取り出させ、入出力Ｉ／Ｆ１５０を介して外部の装置へ出力（転送）させる。
【００４７】
なお、他のワークステーション１２Ｗ2 、１２Ｗ3 、１２Ｗ4 、２２Ｗ1 、２２Ｗ2 、２２Ｗ3 、２２Ｗ4 も上記と同様の構成となっている。
【００４８】
図３に示すように、サーバ１４は印刷処理を管理する印刷管理部２４０を備えており、この印刷管理部２４０には、外部装置からのデータの入力を行うデータ入力部２１１、外部装置へのデータの出力を行うデータ出力部２１２、印刷処理状況（ステータス）の把握・管理等を行うステータス制御部２３０、管理下にあるプリンタの性能等の情報を管理する装置情報管理部２２０、ワークステーションからのリファレンスを解釈するリファレンス解釈部２４２、印刷データを出力させるプリンタを選出するプリンタ選出部２４３、データ転送経路を決定するデータ転送経路決定部２４４、及び受信した印刷データ及びリファレンスを蓄積するためのスプール２５０が接続されている。
【００４９】
また、サーバ１４は外部とのデータの入出力を司る入出力Ｉ／Ｆ２１０を備えており、この入出力Ｉ／Ｆ２１０には、該入出力Ｉ／Ｆ２１０を介して入力される印刷処理状況やプリンタの状態に関する情報に基づいてプリンタを監視する装置監視部２１３、上記データ入力部２１１、及びデータ出力部２１２が接続されている。装置情報管理部２２０には、管理下のプリンタに関する後述する各種情報を含む装置情報テーブル２２２及び管理下のプリンタの後述する性能情報を含む性能情報テーブル２２３が記憶されたメモリ２２１が接続されており、装置情報管理部２２０は装置監視部２１３からのプリンタの状態に関する情報を装置情報テーブル２２２により、プリンタの性能に関する情報を性能情報テーブル２２３により、それぞれ蓄積管理する。
【００５０】
スプール２５０には、データ入力部２１１、データ出力部２１２、印刷管理部２４０がそれぞれ接続されており、データ入力部２１１で受信されたデータ（印刷データ等）が蓄積される。なお、サーバ２４も上記と同様な構成になっている。
【００５１】
図４に示すように、プリンタ１６Ｐ1 には、印刷データの印刷処理を実行する印刷処理部３４０、外部とのデータの入出力を司る入出力Ｉ／Ｆ３１０、入出力Ｉ／Ｆ３１０を介して外部装置から入力された印刷データやリファレンスを受信し印刷処理部３４０へ入力するデータ入力部３２０、及び入出力Ｉ／Ｆ３１０を介して外部装置と印刷処理状況（ステータス）に関する情報の送受信を行うステータス制御部３３０が設けられている。なお、他のプリンタ１６Ｐ2 、１６Ｐ3 、１６Ｐ4 、２６Ｐ1 、２６Ｐ2 、２６Ｐ3 、２６Ｐ4 も上記と同様な構成になっている。
【００５２】
（装置情報テーブル及び性能情報テーブルの概要）
図５には、サーバ１４においてネットワークＮ１に接続された装置を管理するための装置情報テーブルの一例を示す。この装置情報テーブル２２２は、図３に示す装置監視部２１３、装置情報管理部２２０により自動的に設定又は更新される。また、装置情報テーブル２２２の情報は、ユーザーが図示しないキーボードにより設定又は更新可能とされている。
【００５３】
図５に示すように、装置情報テーブル２２２には、装置名称、ネットワークアドレス、装置タイプ、通信機能（クライアント機能／サーバ機能）、性能情報テーブル番号、装置状態などの情報が設定されている。なお、上記のクライアント機能とは、他の装置へのデータの送信及び他の装置からのデータの獲得を実行する通信機能であり、サーバ機能とは、他の装置からのデータの受信及び他の装置からのデータ獲得要求に対するデータの提供を実行する通信機能である。
【００５４】
このうち装置名称には、ネットワークＮ１を介して接続された装置（プリンタ、サーバ、クライアント）を識別するための各装置で固有の装置名称が設定され、ネットワークアドレスには、各装置毎に割り当てられたネットワークアドレスが設定される。装置タイプには、各装置毎のタイプ情報（クライアント（Ｃ）、プリンタ（Ｐ）、サーバ（Ｓ）の種別）が設定され、通信機能には、接続された全装置（図１のワークステーション１２Ｗ1 、１２Ｗ2 、１２Ｗ3 、１２Ｗ4 、２２Ｗ1 、２２Ｗ2 、２２Ｗ3 、２２Ｗ4 、サーバ２４、プリンタ１６Ｐ1 、１６Ｐ2 、１６Ｐ3 、１６Ｐ4 、２６Ｐ1 、２６Ｐ2 、２６Ｐ3 、２６Ｐ4 ）が備えた通信機能情報（クライアント機能／サーバ機能）が設定される。性能情報テーブル番号には、装置がプリンタである場合のみ、後述する性能情報テーブル２２３へのインデックス情報が設定され、装置状態には、各装置の状態に関する情報（オンラインかオフラインか）が設定される。
【００５５】
図６に示すように、性能情報テーブル２２３には、各プリンタのＰＤＬ（プリント言語）、印字解像度、印刷速度、対応用紙サイズ、印字面（片面印刷／両面印刷）、縮尺（拡大・縮小／１枚の用紙領域をＮ分割してＮ頁分記録する指定（Ｎ−ｕｐ）／％縮尺）、カラー情報などのプリンタで持つ性能・機能の全ての情報が設定されている。この性能情報テーブル２２３は、図３に示す装置監視部２１３、装置情報管理部２２０により自動的に設定又は更新される。また、性能情報テーブル２２３の情報は、ユーザーが図示しないキーボードにより設定又は更新可能とされている。
【００５６】
なお、サーバ２４でも、上記と同様の装置情報テーブル２２２及び性能情報テーブル２２３によって、接続された全装置の装置情報を管理している。
【００５７】
（リファレンスの概要）
次に、ワークステーションから印刷要求を行うために使用されるリファレンスについて説明する。図７にはリファレンスＤ２の構造を表したブロック図を、図８にはリファレンスに含まれる情報の項目を、それぞれ示している。このリファレンスＤ２は、印刷データとは異なるデータであり、ワークステーションからサーバへ印刷要求を行うために使用される制御情報の集まりである。
【００５８】
図７、図８に示すようにリファレンスＤ２は、印刷資源情報９１、ジョブ属性情報９２、印刷属性情報９３により構成されている。このうち印刷資源情報９１には、実際に印刷する印刷データの所在地の情報及び印刷処理において使用される又は必要となる各種資源の情報などが設定される。
【００５９】
ジョブ属性情報９２には、印刷ジョブの運用情報として、優先順位や実行する時刻指定等のスケジュール情報と、特定のプリンタの指定情報、自動的に印刷データの印刷処理に最適なプリンタを検出させ該最適なプリンタで印刷処理させるための適合プリンタ指定情報、印刷処理の負荷を分散するよう指示する負荷分散（ロードバランス）の指定、印刷データを分割して出力するよう指示する分割出力（高速出力）の指定、及びプリンタエラー時に印刷処理を中断させることなく他のプリンタに切り替えて印刷処理を続行するよう指示する迂回出力の指定等の情報を含むプリントサービス情報とが、設定される。
【００６０】
印刷属性情報９３には、プリンタで印刷するために必要となる情報として、用紙サイズ（Ａ３、Ａ４、Ｂ４・・・）、印刷部数、用紙の向き（縦か横か）、拡張情報（例えば、拡大／縮小／Ｎ−ｕｐの指定、片面印刷か両面印刷かの指定色づけに関する情報等）等が設定される。
【００６１】
（印刷要求手順及び印刷データの転送手順の概要）
図９には、ワークステーションからの印刷要求手順と印刷データＤ１の流れとを示している。なお、以下では、ワークステーション１２Ｗ1 からサーバ１４へ印刷要求を行い、プリンタ１６Ｐ1 によりプリント出力する例について説明する。
【００６２】
ワークステーション１２Ｗ1 は、ワードプロセッサ等のアプリケーションソフトの印刷データＤ１の生成と並行して、印刷データＤ１の印刷処理内容に関する各種情報を含むリファレンスＤ２を生成し、ワークステーション１２Ｗ1 内のスプール１６０に保管する。そして、ワークステーション１２Ｗ1 は印刷データＤ１とリファレンスＤ２の保管終了をトリガーとして、サーバ１４にリファレンスＤ２を送信することでサーバ１４に対し印刷処理の要求を行う。
【００６３】
サーバ１４は受信したリファレンスＤ２に定義されている図７、図８に示す各種情報（印刷資源情報９１、ジョブ属性情報９２、印刷属性情報９３）を解析し、ワークステーション１２Ｗ1 が保管している印刷データＤ１をプリント出力させるプリンタ及び後述するデータ転送経路パターン（図１１に示すルート１〜６参照）を決定する。そして、サーバ１４は決定したデータ転送経路パターンをワークステーション１２Ｗ1 またはプリンタ１６Ｐ1 に通知する。
【００６４】
通知を受けたワークステーション１２Ｗ1 またはプリンタ１６Ｐ1 はサーバ１４からのデータ転送経路に従い、ワークステーション１２Ｗ1 が印刷データＤ１を直接、プリンタ１６Ｐ1 に送信したり、プリンタ１６Ｐ1 が印刷データＤ１をワークステーション１２Ｗ1 より獲得するか、またはサーバ１４がワークステーション１２Ｗ1 の印刷データＤ１を受信または獲得しプリンタ１６Ｐ1 に転送するかを行い、プリンタ１６Ｐ1 によって印刷出力を行う。
【００６５】
次に、図１０、図１１で示す各種のデータ転送経路パターンを説明する。
【００６６】
ルート１（図１０のルート▲１▼）は、サーバ１４からの指示に従いプリンタ１６Ｐ1 が、蓄積した印刷データＤ１をワークステーション１２Ｗ1 から直接獲得するデータ転送経路であり、ルート２（図１０のルート▲２▼）は、サーバ１４からの指示に従いワークステーション１２Ｗ1 が印刷データＤ１をプリンタ１６Ｐ1 に直接送信するデータ転送経路である。
【００６７】
ルート３（図１０のルート▲３▼）は、サーバ１４が、蓄積した印刷データＤ１をワークステーション１２Ｗ1 から獲得し、この印刷データＤ１をプリンタ１６Ｐ1 がサーバ１４から獲得するデータ転送経路であり、ルート４（図１０のルート▲４▼）は、サーバ１４が印刷データＤ１をワークステーション１２Ｗ1 から獲得し、プリンタ１６Ｐ1 へ転送するデータ転送経路である。
【００６８】
ルート５（図１０のルート▲５▼）は、サーバ１４からの指示に従いワークステーション１２Ｗ1 が印刷データＤ１をサーバ１４へ送信し、プリンタ１６Ｐ1 がサーバ１４からの指示に従い印刷データＤ１をサーバ１４から獲得するデータ転送経路であり、ルート６（図１０のルート▲６▼）は、サーバ１４からの指示に従いワークステーション１２Ｗ1 が印刷データＤ１をサーバ１４へ送信し、サーバ１４が受信した印刷データＤ１をプリンタ１６Ｐ1 へ転送する従来と同様のルートである。
【００６９】
次に、前述した各ルート毎の特性を説明する。
【００７０】
ルート１（ワークステーション←プリンタ）では、データはネットワーク上を１回のみ流れる。プリンタにより印刷データが獲得されるのでワークステーションは出力先の意識が無く、ワークステーションにおいては印刷ジョブが早期に解放されるという利点がある。
【００７１】
ルート２（ワークステーション→プリンタ）では、データはネットワーク上を１回のみ流れる。ワークステーション自身が印刷データを送信するが、ワークステーションで印刷要求をするユーザーは出力先を意識しない。
【００７２】
ルート３（ワークステーション←サーバ←プリンタ）では、データはネットワーク上を２回流れる。サーバにより印刷データが獲得されるのでワークステーションは出力先の意識が無く、ワークステーションにおいては印刷ジョブが早期に解放されるという利点がある。また、サーバでは、プリンタにより印刷データが獲得されるので、プリンタへの印刷データの出力制御を行う必要がない。
【００７３】
ルート４（ワークステーション←サーバ→プリンタ）では、データはネットワーク上を２回流れる。サーバにより印刷データが獲得されるのでワークステーションは出力先の意識が無く、ワークステーションにおいては印刷ジョブが早期に解放されるという利点がある。
【００７４】
ルート５（ワークステーション→サーバ←プリンタ）では、データはネットワーク上を２回流れる。サーバでは、プリンタにより印刷データが獲得されるので、プリンタへの印刷データの出力制御を行う必要がない。
【００７５】
ルート６（ワークステーション→サーバ→プリンタ）では、データはネットワーク上を２回流れる（従来技術）。
【００７６】
ところで、図１２に示すように、図７、図８で示すリファレンスＤ２のジョブ属性情報９２に応じて、上記データ転送経路パターンに対し予め優先順位が設定されている。なお、図１２に記載したＷＳはワークステーションを、ＰＲＴはプリンタを、ＳＶはサーバを、それぞれ示しており、後述する図２３でもこれらと同様の略記を用いている。
【００７７】
この図１２に示すように、例えば、ジョブ属性情報９２で特に指定が無い場合（プリントサービス無しの場合）及び負荷分散が指定されている場合は、図１１のルート１、２、３、４、５、６の順に、予め優先順位１、２、３、４、５、６がそれぞれ設定されている。
【００７８】
また、ジョブ属性情報９２で分割出力が指定されている場合は、図１１のルート１、２は採用しないので、ルート３、４、５、６の順に、予め優先順位１、２、３、４がそれぞれ設定されており、ジョブ属性情報９２で迂回出力が指定されている場合は、図１１のルート６のみ採用するので、該ルート６に予め優先順位１が設定されている。
【００７９】
但し、上記のように経路パターンのデフォルト優先順位（１〜６）はシステムで決められているが、ユーザーの指定により任意の優先順位に変更可能とされている。
【００８０】
（装置タイプと通信機能の組合せに応じたデータ転送経路の選定について）
次に、装置タイプと通信機能の組合せに応じたデータ転送経路の選定について、図１３、図２３を用いて説明する。
【００８１】
図１３には、装置情報テーブル２２２で管理している装置タイプ、通信機能の組み合わせを表しており、図２３には、図１３の各組み合わせ毎に実現可能なデータ転送経路を示している。
【００８２】
なお、通信機能はクライアント機能（他の装置へのデータの送信及び他の装置からのデータの獲得を実行する通信機能）とサーバ機能（他の装置からのデータの受信及び他の装置からのデータ獲得要求に対するデータの提供を実行する通信機能）とに分類している。サーバ１４はクライアント機能・サーバ機能の両機能を所有している。
【００８３】
図１３に示すＭ０１はワークステーションとプリンタが共にクライアント機能、サーバ機能を所有している場合の組み合わせであり、図２３に示すように、図１１のデータ転送経路パターンの全てのルート１〜６での印刷データの通信を行うことができる。
【００８４】
Ｍ０２は、ワークステーションがクライアント機能、サーバ機能の両機能を所有しプリンタがサーバ機能のみ所有する場合の組み合わせであり、図２３に示すように、図１１のデータ転送経路パターンのルート２、ルート４、ルート６での印刷データの通信を行うことができる。
【００８５】
Ｍ０３は、ワークステーションがクライアント機能、サーバ機能の両機能を所有し、プリンタがクライアント機能のみ所有する場合の組み合わせであり、図２３に示すように、図１１のデータ転送経路パターンのルート１、ルート３、ルート５での印刷データの通信を行うことができる。
【００８６】
Ｍ０４、Ｍ０８、Ｍ１２及びＭ１６は、プリンタがクライアント機能もサーバ機能も所有していない場合の組み合わせであり、印刷データの通信を行うことが出来ないので、本実施形態の対象外となる組み合わせである（図２３にはＮＯＮＥと記載）。
【００８７】
Ｍ０５、Ｍ０６、Ｍ０７及びＭ０８は、プリンタの機能に関係なくワークステーションがサーバ機能のみ所有しクライアント機能を所有していないので、該ワークステーションからリファレンスを送信出来ない。このため、本実施形態の対象外となる組み合わせである（図２３にはＮＯＮＥと記載）。
【００８８】
Ｍ０９は、ワークステーションがクライアント機能のみ所有し、プリンタがサーバ機能、クライアント機能の両機能を所有する組み合わせであり、図２３に示すように、図１１のデータ転送経路パターンのルート２、ルート５、ルート６での印刷データの通信を行うことができる。
【００８９】
Ｍ１０は、ワークステーションがクライアント機能のみ所有し、プリンタがサーバ機能のみ所有する組み合わせであり、図２３に示すように、図１１のデータ転送経路パターンでのルート２、ルート６での印刷データの通信を行うことができる。
【００９０】
Ｍ１１は、ワークステーションがクライアント機能のみ所有し、プリンタもクライアント機能のみ所有する組み合わせであり、図２３に示すように、図１１のデータ転送経路パターンでのルート５での印刷データの通信を行うことができる。
【００９１】
Ｍ１３、Ｍ１４及びＭ１５は、ワークステーションがクライアント機能を所有していないため、該ワークステーションからリファレンスを送信出来ない。このため、本実施形態の対象外となる組み合わせである（図２３にはＮＯＮＥと記載）。
【００９２】
（リファレンス送受信、印刷データ送受信及び印刷データの獲得・提供についての実現可能な装置の組合せについて）
まず、図１４を用いて、リファレンスの送受信動作に関し実現可能な送信装置・受信装置の組合せを説明する。図１４には、ワークステーションで作成したリファレンスＤ２の送信装置と該リファレンスを受信する装置との組み合わせを示す。
【００９３】
この図１４に示すＭ２０は、ワークステーションがリファレンスＤ２をサーバへ送信する組み合わせであり、Ｍ２１は、ワークステーションがリファレンスＤ２をプリンタへ送信する組み合わせである。
【００９４】
Ｍ２２は、前述したＭ２０でリファレンスＤ２を受信したサーバが、ネットワークを介して接続された他のサーバへ該リファレンスＤ２を転送する組み合わせである。また、Ｍ２３は、前述したＭ２０でリファレンスＤ２を受信したサーバが管理・出力対象としているプリンタへ該リファレンスＤ２を転送する組み合わせである。
【００９５】
次に、図１５を用いて、印刷データの送受信動作に関し実現可能な送信装置・受信装置の組合せを説明する。図１５には、ワークステーションで作成された印刷データＤ１の送信装置と該印刷データＤ１を受信する受信装置との組み合わせを示す。
【００９６】
この図１５に示すＭ３０は、ワークステーションが印刷データＤ１をサーバへ送信する組み合わせであり、Ｍ３１は、ワークステーションが印刷データＤ１をプリンタへ送信する組み合わせである。
【００９７】
Ｍ３２は、前述したＭ３０で印刷データＤ１を受信したサーバが、ネットワークを介して接続された他のサーバへ印刷データを転送する組み合わせである。また、Ｍ３３は、前述したＭ３０での印刷データＤ１を受信したサーバが管理・出力の対象としているプリンタへ印刷データＤ１を転送する組み合わせである。
【００９８】
次に、図１６を用いて、印刷データの獲得・提供動作に関し実現可能な獲得装置・提供装置の組合せを説明する。図１６には、ワークステーションで作成された印刷データＤ１を獲得する獲得装置と該印刷データＤ１を提供する提供装置との組み合わせを示す。
【００９９】
この図１６に示すＭ４０は、サーバがワークステーションにより蓄積された印刷データＤ１を獲得する組み合わせであり、Ｍ４１は、前述したＭ４０でサーバが獲得した印刷データＤ１を、該サーバにネットワークを介して接続された他のサーバが獲得する組み合わせである。
【０１００】
Ｍ４２は、プリンタがワークステーションにより蓄積された印刷データＤ１を獲得する組み合わせである。また、Ｍ４３は、前述したＭ４０でサーバが獲得した印刷データＤ１を、プリンタがサーバから獲得する組み合わせである。
【０１０１】
（各構成機器の通信制御動作）
以下、各構成機器の通信制御動作として、ワークステーションで生成した印刷データＤ１を印刷処理する場合に、ワークステーション、サーバ、プリンタのそれぞれで実行される通信制御処理ルーチンを説明する。以下では、一例として、ワークステーション１２Ｗ1 で印刷データＤ１を生成し、該印刷データＤ１の印刷処理要求をサーバ１４に対して行うケースを想定して説明する。
【０１０２】
ワークステーション１２Ｗ1 においては、以下に述べる図１７の制御ルーチンが実行される。ワークステーション１２Ｗ1 では、ワードプロセッサ等のアプリケーションソフトからの印刷処理依頼の有無を監視している（図１７のＳ１００）。
【０１０３】
印刷処理依頼が有った場合、アプリケーションソフトからの文書データを印刷データＤ１へ変換すると共に、変換された印刷データＤ１に関するリファレンスＤ２を生成する（Ｓ１０１）。なお、ここで生成された印刷データＤ１はワークステーション１２Ｗ1 内のスプール１６０へ蓄積される。そして、印刷データＤ１への変換及びリファレンスＤ２の生成が終了すると、ＬＡＮ１０を介してリファレンスＤ２をサーバ１４へ送信することにより、該リファレンスＤ２を用いた印刷要求をサーバ１４に対し行う（Ｓ１０２）。このリファレンスＤ２は、印刷データＤ１よりもデータ量が少ないので、印刷要求時の通信トラフィック量が従来よりも削減されるという利点がある。
【０１０４】
このようなリファレンスＤ２を用いた印刷要求を行った後、サーバ１４からの指示を待つ（Ｓ１０３）。サーバ１４から指示が通知されると、その指示内容を解析する（Ｓ１０４）。解析した結果、指示内容が印刷データＤ１の送信である場合（図１１のルート２、５、６の場合）、印刷データＤ１を送信するべき送信先の情報を上記指示内容より入手し（Ｓ１０６）、スプール１６０に蓄積していた印刷データＤ１を前記入手した送信先へ送信する（Ｓ１０７）。
【０１０５】
一方、指示内容を解析した結果、指示内容が印刷データＤ１の送信でない場合（例えば、スプール１６０に蓄積した印刷データＤ１をサーバ１４またはプリンタ１６Ｐ1 が獲得する場合（＝図１１のルート１、３、４の場合））、ワークステーション１２Ｗ1 はその時点で印刷ジョブを解放し、Ｓ１００へ戻り新たな印刷処理依頼を待つ。
【０１０６】
次に、サーバ１４においては、以下に述べる図１８の制御ルーチンが実行される。サーバ１４は、図１８のＳ２００で、ネットワークＮ１を介して接続された装置（ワークステーション１２Ｗ1 、１２Ｗ2 、１２Ｗ3 、１２Ｗ4 又はプリンタ１６Ｐ1 、１６Ｐ2 、１６Ｐ3 、１６Ｐ4 ）からのデータの受信有無を監視している。Ｓ２００でデータの受信を検知した場合は、次のＳ２０１へ進み、データを受信し、受信したデータ（受信データ）を図３のスプール２８０へ保管する。
【０１０７】
Ｓ２０１でスプール２８０への受信データの保管が完了すると、次のＳ２０２で受信データがリファレンスＤ２であるか否かをチェックする。ここで、受信データがリファレンスＤ２でなく印刷データＤ１であれば、後述するＳ２０８へ進み、受信データがリファレンスＤ２であれば、Ｓ２０３へ進み、図２０の出力プリンタ抽出処理のサブルーチンを実行する。
【０１０８】
ここで、図２０の出力プリンタ抽出処理を説明する。図２０のＳ４００では、抽出したプリンタの情報を記憶するための抽出プリンタテーブル、抽出したプリンタの数をカウントするための抽出プリンタカウンターＮ１、検索した装置の数をカウントするための検索カウンターＮ２を初期化し、次のＳ４０１でリファレンスＤ２に含まれたジョブ属性情報９２、印刷属性情報９３を読み込む。
【０１０９】
次のＳ４０２では、サーバ１４で管理している装置群からのプリンタ抽出のための検索・比較（後述する）が終了したか否かを、検索カウンターＮ２が全装置数ＮＴに等しくなったか否かに基づいて判断し、全ての装置に対する検索・比較が終了した時点で、図２０の処理を終了して図１８の主ルーチンへリターンする。
【０１１０】
未だ全ての装置に対する検索・比較が終了していなければ、Ｓ４０３へ進み、リファレンスＤ２のジョブ属性情報９２のプリントサービス項目で、出力するべきプリンタが指定されているか否かをチェックする。ここで、出力するべきプリンタが指定されていなければ、後述するＳ４０６へ進む。
【０１１１】
一方、出力するべきプリンタが指定されている場合、Ｓ４０４で該指定されたプリンタの性能情報テーブル番号を装置情報テーブル２２２より検索し、該性能情報テーブル番号に対応するプリンタの性能情報を、性能情報テーブル２２３より得る。そして、次のＳ４０５で検索カウンターＮ２を（全装置数ＮＴ−１）にセットする。これにより、次の検索ループで検索が終了することになる。
次のＳ４０６では、装置情報テーブル２２２より１台分の装置情報を読み込む。もちろん、プリンタが指定されている場合は、該指定されたプリンタの装置情報を読み込む。次のＳ４０７では、読み込んだ装置情報がプリンタ情報であるか否かを判断する。ここで、読み込んだ装置情報がプリンタ以外の情報であった場合は、後述するＳ４１３へ進む。
【０１１２】
一方、読み込んだ装置情報がプリンタ情報であった場合、Ｓ４０８へ進み、読み込んだ装置情報の性能情報テーブル番号に対応するプリンタ性能情報を、性能情報テーブル２２３より読み込み、次のＳ４０９で図２１のプリント条件チェック処理のサブルーチンを実行する。
【０１１３】
このＳ４０９でのプリント条件チェック処理では、まず、図２０のＳ４１０で対象のプリンタが適合するプリンタであるか否かを示すフラグＦを初期化（オフ）する（図２１のＳ５００）。なお、フラグＦがオンの場合、対象のプリンタが適合するプリンタであることを示し、フラグＦがオフの場合、対象のプリンタが適合するプリンタでないことを示すものとする。
【０１１４】
次に、Ｓ５０１〜Ｓ５０７では、対象のプリンタが、リファレンスＤ２の印刷属性情報９３で指定されている各種の属性を満たすプリンタであるか否かの判別を、以下のように個別の属性単位に行う。それぞれの判別において属性を満たしていなければ、図２１のサブルーチンを終了し、図２０のルーチンへリターンする。
【０１１５】
即ち、Ｓ５０１では、抽出されたプリンタが稼働できる状態であるか否かの判断を行い、稼働できる状態であれば、次のＳ５０２へ進む。Ｓ５０２ではプリント言語（ＰＤＬ）条件を満たしているか否かの判別を行い、ＰＤＬ条件を満たしておれば、次のＳ５０３へ進む。
【０１１６】
Ｓ５０３では、印刷解像度条件を満たしているか否かの判別を行い、印刷解像度条件を満たしておれば、次のＳ５０４へ進む。Ｓ５０４では用紙条件を満たしているか否かの判別を行い、用紙条件を満たしておれば、次のＳ５０５へ進む。
【０１１７】
Ｓ５０５では印刷面条件（片面印刷か両面印刷か）を満たしているか否かの判別を行い、印刷面条件を満たしておれば、次のＳ５０６へ進む。Ｓ５０６では縮尺条件を満たしているか否かの判別を行い、縮尺条件を満たしておれば、次のＳ５０７へ進む。
【０１１８】
Ｓ５０７ではカラー条件を満たしているか否かの判別を行い、カラー条件を満たしておれば、次のＳ５０８へ進む。Ｓ５０８では、Ｓ５０１〜Ｓ５０７で判別した条件を全て満足しているので、フラグＦをオンにして、処理を終了し図２０のルーチンへリターンする。
【０１１９】
このようにして、対象のプリンタが適合するプリンタであれば、フラグＦがオンにセットされ、対象のプリンタが適合するプリンタでなければ、フラグＦはオフのままとなる。
【０１２０】
図２０において次のＳ４１０では、検索したプリンタ性能がリファレンスＤ２の印刷属性情報９３で設定された印刷条件に適合しているか否かを、上記フラグＦのオンオフ状態に基づいて判断する。ここで、検索したプリンタ性能が印刷条件に適合していなければ、後述するＳ４１３へ進む。
【０１２１】
一方、検索したプリンタ性能が印刷条件に適合しておれば、Ｓ４１１へ進み、抽出プリンタカウンターＮ１を１つインクリメントし、次のＳ４１２では、抽出されたプリンタの通信機能と印刷要求を行ったワークステーションの通信機能とを抽出プリンタテーブルに設定する。
【０１２２】
次のＳ４１３では検索カウンターＮ２を１つインクリメントし、Ｓ４０２へ戻って、処理を繰り返す。
【０１２３】
以後、各装置情報について、Ｓ４０２〜Ｓ４１３の処理を実行する。そして、全ての装置情報について処理が完了し、検索カウンターＮ２が全装置数ＮＴに等しくなると、Ｓ４０２で肯定判定され、図２０のサブルーチンを終了する。
【０１２４】
以上のようにして図１８のＳ２０３での出力プリンタ抽出処理を終了した後、次のＳ２０４では、以下に述べる図２２のデータ転送経路パターン及びプリンタ選定処理のサブルーチンを実行する。
【０１２５】
まず、図２２のＳ６００では、上記出力プリンタ抽出処理において、抽出されたプリンタの通信機能が設定されたプリンタ抽出テーブルを読み込み、次のＳ６０１では抽出プリンタカウンターＮ１より抽出プリンタ数を読み込む。そして、次のＳ６０２でリファレンスＤ２に含まれるジョブ属性情報９２を読み込み、次のＳ６０３では指定されたジョブ属性情報９２で迂回出力が指定されているか否かを判別する。ここで迂回出力が指定されていた場合、Ｓ６０４で印刷データＤ１のデータ転送経路を図１１のパターン６に設定して処理を終了し、図１８の主ルーチンへリターンする。
【０１２６】
一方、Ｓ６０３でのジョブ属性情報９２の判別の結果、迂回出力が指定されていなかった場合、次のＳ６０５でジョブ属性情報９２で分割出力が指定されているか否かを判別する。判別した結果、分割出力が指定されていた場合、Ｓ６０６へ進み、Ｓ６００で読み込んだプリンタ抽出テーブルから、データ転送経路のパターン４またはパターン６の組み合わせが可能なプリンタを検索する。次のＳ６０７ではＳ６０５で検索できたプリンタがあるか否かを判別し、検索できたプリンタがあれば、後述するＳ６１３へ進む。検索できたプリンタが無かった場合、Ｓ６０８でプリンタが検索できなかった旨のエラー情報を、図示しないディスプレイに表示して処理を終了し、図１８の主ルーチンへリターンする。
【０１２７】
一方、Ｓ６０５での判別の結果、分割出力でなかった場合、Ｓ６０９へ進み、ジョブ属性情報９２でロードバランスが指定されているか否かを判別する。判別の結果、ロードバランスが指定されていた場合、Ｓ６１０において、上記Ｓ６００で読み込んだプリンタ抽出テーブル内のプリンタの中から稼働率が最も低いプリンタを選出して、Ｓ６１３へ進む。Ｓ６０９の判別の結果、ロードバランスが指定されていなかった場合は、Ｓ６１１へ進み、ジョブ属性情報９２で適合プリンタが指定されているか否かを判別する。判別の結果、適合プリンタが指定されていた場合、Ｓ６１２において上記Ｓ６００で読み込んだプリンタ抽出テーブルより、最も高機能な通信機能の組み合わせ（機能パターン）を備えたプリンタを選出して、Ｓ６１３へ進む。
【０１２８】
一方、Ｓ６１１で判別した結果、適合プリンタが指定されていなかった場合は、指定プリンタが指定されているものとみなし、特にプリンタを選出することなく、Ｓ６１３へ進む。
【０１２９】
そして、Ｓ６１３ではＳ６０６、Ｓ６１０、Ｓ６１２で選出されたプリンタ又はジョブ属性情報９２の指定プリンタで指定されたプリンタより、図１２に示すデータ転送経路のプライオリティテーブルに従い、優先順位の高いデータ転送経路を選出して処理を終了し、図１８の主ルーチンへリターンする。
【０１３０】
以上のような図１８のＳ２０４でのデータ転送経路パターン及びプリンタ選定処理によって、印刷データＤ１のデータ転送経路およびプリンタが決定される。
【０１３１】
次に、図１８のＳ２０５で、印刷処理の要求を行っているワークステーション１２Ｗ1 及び上記Ｓ２０４で決定されたプリンタ（例えば、プリンタ１６Ｐ1 ）に対して、決定されたデータ転送経路パターンを通知する。
【０１３２】
次のＳ２０６では、決定されたデータ転送経路がサーバにより印刷データを獲得するパターン（即ち、図１１のルート３、ルート４）であるか否かを判別する。ここで、データ転送経路がサーバにより印刷データを獲得するパターンでなければ、Ｓ２００へ戻り次の受信データ待ちを行う。
【０１３３】
一方、データ転送経路がサーバにより印刷データを獲得するパターン（＝図１１のルート３、ルート４）であれば、Ｓ２０７で、リファレンスＤ２に含まれる印刷資源情報９１の印刷データ所在情報を参照してワークステーション１２Ｗ1 から印刷データを獲得し、獲得した印刷データを図３のスプール２８０に保管する。そして、次のＳ２０８では、決定されたデータ転送経路が、サーバから印刷データを転送するパターン（即ち、図１１のルート４）であるか否かを判別する。ここで、データ転送経路がサーバから印刷データを転送するパターンでなければ（即ち、図１１のルート３であれば）、Ｓ２００へ戻り次の受信データ待ちを行う。
【０１３４】
一方、データ転送経路がサーバから印刷データを転送するパターンであれば、Ｓ２０９へ進み、Ｓ２０４で決定されたプリンタから印刷データＤ１を出力するためのスケジューリングを行い、次のＳ２１０で決定されたプリンタへ印刷データＤ１を送信する。その後、Ｓ２００へ戻り次の受信データ待ちを行う。
次に、プリンタにおいては、以下に述べる図１９の制御ルーチンが実行される。プリンタ（ここでは、一例としてプリンタ１６Ｐ1 ）は図１９のＳ３００で、ネットワークＮ１を介して接続されたワークステーション１２Ｗ1 、１２Ｗ2 、１２Ｗ3 、１２Ｗ4 またはサーバ１４から、印刷データＤ１を受信したか否かのチェックを行っている。印刷データＤ１の受信が無い場合、Ｓ３０２においてサーバ１４からのデータ獲得指示を受け付けているか否かのチェックを行う。Ｓ３０２においてサーバ１４からのデータ獲得指示を受け付けていない場合は、Ｓ３００へ戻り、再度印刷データＤ１の受信チェックを行う。
【０１３５】
Ｓ３０２においてサーバ１４からのデータ獲得指示を受け付けたと判断すると、Ｓ３０３へ進み、該データ獲得指示の内容から印刷データの獲得先（ワークステーション又はサーバ）の情報を入手する。そして、次のＳ３０４では上記印刷データの獲得先から印刷データＤ１を獲得し、獲得した印刷データＤ１を図４のスプール３５０へ保管する。この保管が終了すると、Ｓ３０５へ進み、保管した印刷データＤ１の印刷出力を行う。
【０１３６】
一方、Ｓ３００において印刷データＤ１の受信を検知すると、Ｓ３０１へ進み、受信した印刷データＤ１を図４のスプール３５０へ保管する。この保管が終了すると、Ｓ３０５へ進み、保管した印刷データＤ１の印刷出力を行う。このようにしてプリンタにおいて、印刷データＤ１が印刷出力される。
【０１３７】
以上説明したように本発明が適用されるネットワークシステムでは、ワークステーションは、印刷データＤ１よりもデータ量が少ないリファレンスＤ２を用いてサーバに印刷データＤ１の印刷処理を要求するので、要求時にワークステーションからサーバへ転送されるデータ量が従来よりも減少し、ネットワークシステム上のトラフィック量を削減することができる。また、印刷処理要求時にサーバで蓄積するべきデータ量も減少するので、サーバでは特に磁気ディスク装置等の増設を必要とせず、コスト低減を図ることができる。
【０１３８】
また、サーバでは、リファレンスＤ２を用いたワークステーションからの印刷処理要求を受けて、適正なプリンタ及び印刷データの転送経路を決定する。そして、前述したワークステーション、サーバ、プリンタの各々における制御処理ルーチンにより、上記適正な転送経路に基づく印刷データの印刷処理を実現することができる。
【０１３９】
［本発明を実現するために改良された構成及びその作用］
次に、本発明を実現するために改良された構成及びその作用について説明する。
【０１４０】
図１のネットワークシステムにおいて、ワークステーション１２Ｗ1 の構成は前述した図２の構成と同様であり、サーバ１４の構成は前述した図３の構成と同様である。サーバ１４によるネットワークシステムの管理で用いられる装置情報テーブル２２２は図５と同様であり、プリンタ性能情報テーブル２２３は図６と同様である。
【０１４１】
図２４に示すように、プリンタ１６Ｐ1 は、図４にて説明した印刷処理部３４０、スプール３５０、データ入力部３２０、ステータス制御部３３０及び入出力Ｉ／Ｆ３１０に加え、入出力Ｉ／Ｆ３１０を介して外部装置と印刷データ及び後述する迂回リファレンスのやりとりを行うデータ出力部３８０、プリンタ１６Ｐ1 におけるハードウェア障害の発生を検知し印刷処理部３４０に通知する障害検知部３６０、及び印刷処理部３４０の要求に応じて障害発生時に迂回リファレンスを生成する迂回リファレンス生成部３７０を含んで構成されている。
【０１４２】
図２５には、本実施形態でのリファレンスの構造を示す。この図２５でも明らかなように、本実施形態では前述したリファレンス（印刷要求リファレンス）Ｄ２に加え、プリンタが印刷要求リファレンスＤ２に基づく印刷処理を実行中に障害発生を検知した場合に該障害発生を検知したプリンタ（障害プリンタ）がサーバ１４に転送するリファレンスとしての迂回リファレンスＤ３が設けられている。
【０１４３】
この迂回リファレンスＤ３は、図２５、図２６に示すように、印刷要求リファレンスＤ２にも含まれる印刷資源情報９１及び印刷属性情報９３と、迂回印刷制御情報９４とを含んで構成されており、迂回印刷制御情報９４には、障害プリンタの名称（図５の装置情報テーブル２２２に格納された装置名称）がセットされる。
【０１４４】
図２７には、本実施形態における迂回印刷要求方法と印刷データの流れを示している。サーバ１４によって選定されたプリンタ１６Ｐ1 において印刷処理を実行中に、プリンタ１６Ｐ1 が印刷処理続行不能となるような障害の発生を検知した場合、該プリンタ１６Ｐ1 は前述した迂回リファレンスＤ３を生成し、生成した迂回リファレンスＤ３をサーバ１４へ送信する（▲１▼）。
【０１４５】
迂回リファレンスＤ３を受信したサーバ１４は、迂回リファレンスＤ３に含まれる印刷属性情報９３を用いて、プリンタ１６Ｐ1 が実行していた印刷処理を実行する能力を備えた他のプリンタ（例えばプリンタ１６Ｐ2 ）を選択し、プリンタ１６Ｐ1 とプリンタ１６Ｐ2 との間のデータ転送経路を決定し、該データ転送経路に応じてプリンタ１６Ｐ1 又はプリンタ１６Ｐ2 に、未処理の印刷データの転送指示又は獲得指示を行う（▲２▼）。
【０１４６】
なお、本実施形態では、障害発生時に、全ての印刷データではなく、印刷処理が完了していない残りのページの印刷データのみが、未処理の印刷データとして他のプリンタに届く（転送又は獲得する）ように制御される。このように全ての印刷データではなく未処理の印刷データのみが他のプリンタに届くよう制御することで、ネットワーク上を流れるデータ量の削減及び他のプリンタのメモリ節約、処理負荷軽減を図っている。
【０１４７】
但し、障害発生時に他のプリンタに届ける印刷データについては、ワークステーション、サーバ及びプリンタの何れでも設定変更可能であり、例えば、ワークステーションのユーザは、印刷データの内容・種類に応じて、印刷処理が完了していない残りの行の印刷データ或いは全ての印刷データを、未処理の印刷データとして他のプリンタに届けるように自在に設定変更することもできる。
【０１４８】
プリンタ１６Ｐ1 は、上記転送指示を受けると、該指示に従って未処理の印刷データをプリンタ１６Ｐ2 へ転送する（▲３▼）。また、プリンタ１６Ｐ2 は、上記獲得指示を受けると、該指示に従って未処理の印刷データをプリンタ１６Ｐ1 から獲得する（▲３▼）。これにより、未処理の印刷データがプリンタ１６Ｐ2 に届けられ、該プリンタ１６Ｐ2 は未処理の印刷データに対し印刷処理を行う。
【０１４９】
詳細は後述するが、おおまかには上記のように印刷データが流れ、迂回印刷要求・迂回印刷が行われる。
【０１５０】
図２８には、データ転送経路パターンを示している。ルート１〜６は、ワークステーションにより生成された印刷データがプリンタに届くまでの経路パターンを表したものであり、前述した図１１のルート１〜６と同様である。
【０１５１】
ルート７は、サーバからの指示に従い、障害プリンタとしてのプリンタ１が自機で印刷不可能となった印刷データを、迂回印刷を行うプリンタ（以下、迂回プリンタと称する）としてのプリンタ２に直接転送するデータ転送経路であり、ルート８は、サーバからの指示に従い、迂回プリンタとしてのプリンタ２が、障害プリンタとしてのプリンタ１から未処理の印刷データを直接獲得するデータ転送経路である。
【０１５２】
図２９は、印刷要求リファレンスＤ２内のジョブ属性情報と経路パターンの組み合わせ及びそれらの優先順位を表したものである。この図２９に示すように、本実施形態では、ジョブ属性として迂回出力が指定された場合、ワークステーションにより生成された印刷データがプリンタに届くまでの全ての経路パターン（図２８のルート１〜６）を許可しており、それらの優先順位はプリントサービス無しの場合と同じ値に設定されている。
【０１５３】
図３０には、障害プリンタ、迂回プリンタの通信機能の組み合わせに応じて決定されるデータ転送経路を表している。なお、ここでは、障害プリンタ−迂回プリンタ間でのデータ転送経路についてのみ記述するので、図２８のルート７、８のみが対象となる。
【０１５４】
なお、図３０に示す「Ｃ」はクライアント機能、即ち他の装置へのデータの送信及び他の装置からのデータの獲得を実行する通信機能を表し、「Ｓ」はサーバ機能、即ち他の装置からのデータの受信及び他の装置からのデータ獲得要求に対するデータの提供を実行する通信機能を表す。
【０１５５】
図３０に示すＭ８１は、障害プリンタと迂回プリンタが共にクライアント機能、サーバ機能を所有している場合の組み合わせであり、図２８のルート７、８のデータ転送経路パターンで印刷データの通信を行うことができる。
【０１５６】
Ｍ８２は、迂回プリンタがクライアント機能、サーバ機能の両機能を所有しているが、障害プリンタがクライアント機能のみを所有している場合の組み合わせであり、図２８のルート７のデータ転送経路パターンでのみ印刷データの通信を行うことができる。
【０１５７】
Ｍ８３、Ｍ８４、Ｍ８７、Ｍ８８、Ｍ９１、Ｍ９２、Ｍ９５及びＭ９６は、障害プリンタがクライアント機能を所有していない場合の組み合わせであり、障害プリンタが迂回リファレンスをサーバに送信できないため、本実施形態の対象外となる組み合わせである。
【０１５８】
Ｍ８５は、障害プリンタがクライアント機能、サーバ機能の両機能を所有しているが、迂回プリンタがクライアント機能のみを所有している場合の組み合わせであり、図２８のルート８のデータ転送経路パターンでのみ印刷データの通信を行うことができる。
【０１５９】
Ｍ８６は、障害プリンタがクライアント機能のみを所有しているが、迂回プリンタがサーバ機能を所有していない場合の組み合わせであり、印刷データの通信が不可能な組み合わせである。
【０１６０】
Ｍ８９は、障害プリンタがクライアント機能、サーバ機能の両機能を所有しているが、迂回プリンタがサーバ機能のみを所有している場合の組み合わせであり、図２８のルート７のデータ転送経路パターンでのみ印刷データの通信を行うことができる。
【０１６１】
Ｍ９０は、障害プリンタがクライアント機能のみを所有し、迂回プリンタがサーバ機能のみを所有している場合の組み合わせであり、図２８のルート７のデータ転送経路パターンでのみ印刷データの通信を行うことができる。
【０１６２】
Ｍ９３及びＭ９４は、迂回プリンタが通信機能を所有していない場合の組み合わせであり、印刷データの通信が不可能な組み合わせである。
【０１６３】
（本実施形態の作用）
以下、本実施形態の作用として、印刷処理中の障害発生時においてサーバ、プリンタの各々で実行される通信制御処理を説明する。
【０１６４】
まず、サーバ１４により選定されたプリンタ１６Ｐ1 において印刷処理中に障害が発生し、該プリンタ１６Ｐ1 にて迂回リファレンスＤ３を生成するまでの処理を図３２に基づいて説明する。
【０１６５】
図３２のＳ３１１では、自機にて印刷処理の実行が不可能になるような障害の発生を検知したことを示す障害検知フラグを「０」にリセットする。次のＳ３１２では障害検知フラグがオン（「１」）であるか否かをチェックする。ここで、障害検知フラグがオンであれば、後述する図３３の処理へ進む。障害検知フラグがオフであれば、次のＳ３１３、Ｓ３１５で、印刷データの受信、又はサーバからの印刷データ獲得指示の受信を待つ。
【０１６６】
ここで、印刷データが受信されると、Ｓ３１４へ進み、受信した印刷データをスプール３５０へ蓄積する。また、サーバからの印刷データ獲得指示が受信されると、Ｓ３１６へ進み、該指示内容から印刷データの獲得先の情報を入手し、次のＳ３１７で印刷データを獲得し、獲得した印刷データをスプール３５０へ蓄積する。このようにして印刷処理対象の印刷データがスプール３５０に蓄積される。
【０１６７】
次にＳ３１８において印刷データに基づく印刷処理を実行する。この実行中にハードウェアの動作を障害検知部３６０で監視し、障害が発生したか否かを判定する（Ｓ３１９）。障害が発生していなければ、印刷処理部３４０が、印刷処理対象の全印刷データを印刷完了したか否かをチェックし、未完了であれば、Ｓ３１８へ戻り印刷処理を継続する。
【０１６８】
一方、Ｓ３１９で障害検知部３６０により障害の発生が検知されると、Ｓ３２１へ進み、印刷処理部３４０は、現在印刷処理中の印刷データの所在情報を表す印刷資源情報、自プリンタの名称を表す迂回印刷制御情報、及び現在印刷処理中の印刷データの属性情報を表す印刷属性情報から構成される迂回リファレンスＤ３を生成する。次のＳ３２２で印刷処理部３４０は、データ出力部３８０を介してサーバ１４に上記生成した迂回リファレンスＤ３を転送し、次のＳ３２３で障害検知フラグをオン（「１」）にセットしてＳ３１２へ戻る。
【０１６９】
次に、サーバ１４が、迂回リファレンスＤ３を処理して、迂回プリンタの抽出、転送経路パターンの選定・通知を行う処理の流れを図３１、図３４、図３５に基づいて説明する。
【０１７０】
図３１のＳ２２０では他の機器からの印刷データやリファレンス（印刷要求リファレンスＤ２又は迂回リファレンスＤ３）の受信チェックを行い、受信があると、Ｓ２２１で受信した印刷データやリファレンスを図３のスプール２５０に保存する。
【０１７１】
次のＳ２２２では、図３のリファレンス解釈部２４２により、受信したデータがリファレンスであるか否かを判定する。受信したデータがリファレンスでなく印刷データであれば、Ｓ２３２へ進み、前述した図１８のＳ２０８〜Ｓ２１０と同様に、プリンタ１６Ｐ2 への印刷データの転送又はプリンタ１６Ｐ2 による印刷データの獲得待ちを行う。
【０１７２】
一方、受信したデータがリファレンスであれば、Ｓ２２３へ進み、リファレンス解釈部２４２により、受信したデータが印刷要求リファレンスＤ２であるか否かを判定する。ここで、受信したデータが印刷要求リファレンスＤ２であれば、Ｓ２２７へ進み、前述した図１８のＳ２０３〜Ｓ２１０と同様の処理を行う。即ち、図３１のＳ２２７〜Ｓ２３４の処理は、図１８のＳ２０３〜Ｓ２１０の処理と同様である。
【０１７３】
受信したデータが迂回リファレンスＤ３であれば、Ｓ２２４へ進み、迂回リファレンスＤ３内の印刷属性情報を用いて、障害プリンタ（例えばプリンタ１６Ｐ1 ）で処理中であった印刷処理を実行可能な迂回プリンタ（例えばプリンタ１６Ｐ2 ）を抽出する後述の迂回プリンタ抽出処理（図３４）を、プリンタ選出部２４３により実行する。
【０１７４】
次のＳ２２５では、障害プリンタと迂回プリンタの通信機能に応じて未処理の印刷データの転送経路パターンを選定する後述の迂回プリンタ転送経路パターン選定処理（図３５）を、データ転送経路設定部２４４により実行する。そして、次のＳ２２６では、決定した転送経路パターンに従って、障害プリンタ又は迂回プリンタに転送経路パターンを通知することで未処理の印刷データの転送又は獲得を指示する。
【０１７５】
このようにしてサーバ１４は、受信した迂回リファレンスＤ３の内容に基づいて、適正な迂回プリンタを抽出し、適正な転送経路パターンを決定し、決定した転送経路パターンに従って障害プリンタ又は迂回プリンタに未処理の印刷データの転送又は獲得を実行させる。
【０１７６】
次に、図３１のＳ２２４で実行される迂回プリンタ抽出処理を、図３４を用いて説明する。図３４のＳ７００では、初期化処理として、障害プリンタや抽出したプリンタに関する通信機能等の各種情報を保持するためのメモリ領域を初期化し、後述する抽出プリンタカウンタ及び検索カウンタを「０」にリセットする。次のＳ７０１では、受信した迂回リファレンスＤ３内の迂回印刷制御情報から障害プリンタの名称を取得し、次のＳ７０２では取得した障害プリンタの名称をキーとして、図５の装置情報テーブル２２２から障害プリンタの装置情報を読み込む。
【０１７７】
読み込んだ装置情報には、障害プリンタの通信機能情報（クライアント機能やサーバ機能の有無情報）が含まれているので、次のＳ７０３では上記障害プリンタの通信機能情報を取得する。そして、次のＳ７０４では、障害プリンタで処理中であった印刷データの印刷属性情報を取得する。
【０１７８】
以上のようにして障害プリンタの通信機能情報及び障害プリンタで処理中であった印刷データの印刷属性情報を取得し、以下のＳ７０５〜Ｓ７１３にて、未処理の印刷データの迂回印刷処理を実行可能な迂回プリンタを装置情報テーブル２２２から抽出する。
【０１７９】
Ｓ７０５では、装置情報テーブル２２２からの装置情報の読み込み回数をカウントするための検索カウンタが全装置数に達したか否かにより、装置情報テーブル２２２内の全装置情報が読み込まれたか否かをチェックする。
【０１８０】
未だ装置情報テーブル２２２から読み込んでいない装置情報があれば、Ｓ７０６へ進み、装置情報テーブル２２２から１エントリーの装置情報を読み込む。次のＳ７０７では読み込んだ装置情報がプリンタに関する装置情報であるか否かを、Ｓ７０８では読み込んだ装置情報が障害プリンタに関する装置情報であるか否かを、それぞれ判定する。ここで、読み込んだ装置情報がプリンタ以外の装置情報の場合や障害プリンタに関する装置情報の場合は、迂回プリンタとはなりえないので、後述するＳ７１３へ進む。
【０１８１】
一方、読み込んだ装置情報が障害プリンタ以外のプリンタに関する装置情報の場合は、Ｓ７０９へ進み、該プリンタの性能情報を図６のプリンタ性能情報テーブル２２３から読み込む。そして、次のＳ７１０にて、読み込んだプリンタ性能情報が、障害プリンタで印刷中であった印刷データの印刷属性を満たすか否かをチェックする。ここで、読み込んだプリンタ性能情報が印刷データの印刷属性を満たさない場合は、迂回プリンタとはなりえないので、後述するＳ７１３へ進む。
【０１８２】
一方、読み込んだプリンタ性能情報が印刷データの印刷属性を満たす場合は、該プリンタは迂回プリンタとなりうるため、Ｓ７１１へ進み、抽出された迂回プリンタ候補の数をカウントするための抽出プリンタカウンタを１つインクリメントし、次のＳ７１２で該プリンタの通信機能情報を装置情報テーブル２２２から読み出して保持する。
【０１８３】
次のＳ７１３では、装置情報テーブル２２２から読み出した１エントリー分の処理が完了したので検索カウンタを１つインクリメントし、Ｓ７０５へ戻る。
【０１８４】
その後、上記Ｓ７０６〜Ｓ７１３の処理を、装置情報テーブル２２２の各装置情報について順に実行していく。そして、装置情報テーブル２２２の全装置情報について実行完了すると、Ｓ７０５で肯定判定され、リターンする。
【０１８５】
これにより、迂回プリンタとなりうるプリンタを１つ又は複数抽出する。但し、迂回プリンタとなりうるプリンタを１つも抽出できない（抽出プリンタカウンタ＝０の）場合もある。この場合は、後述する迂回プリンタ転送経路パターン選定処理において、迂回プリンタを抽出できなかった旨がオペレータに通知される。
【０１８６】
次に、図３１のＳ２２５で実行される迂回プリンタ転送経路パターン選定処理を、図３５を用いて説明する。図３５のＳ８００では、以下の処理で選定された転送経路パターンを保持するためのメモリ領域を初期化し、次のＳ８０１では上記迂回プリンタ抽出処理にて取得された障害プリンタの通信機能情報を読み込む。
【０１８７】
次のＳ８０２では、上記迂回プリンタ抽出処理にて設定された抽出プリンタカウンタが「０」であるか否かを判定する。なお、抽出プリンタカウンタが「０」である場合は、以下の２通りが考えられる。
【０１８８】
(1) 上記迂回プリンタ抽出処理で迂回プリンタ候補が抽出されなかった
(2) 抽出された迂回プリンタ候補全てに関して転送経路パターン選定を行ったが、転送経路パターンを選定できなかった
上記何れの場合も、迂回プリンタが存在しないため、Ｓ８１０へ進み、迂回プリンタを抽出できなかった旨をオペレータに通知して、リターンする。
【０１８９】
一方、Ｓ８０２で抽出プリンタカウンタが「０」でなければ、Ｓ８０３へ進み、上記迂回プリンタ抽出処理で抽出された迂回プリンタ候補のうち１つの通信機能情報を読み込み、次のＳ８０４では、Ｓ８０１で読み込んだ障害プリンタの通信機能情報とＳ８０３で読み込んだ迂回プリンタ候補の通信機能情報とを以下のようにしてマージする。
【０１９０】
即ち、障害プリンタに関し、クライアント機能の有無及びサーバ機能の有無の情報を、機能有りを「１」、機能無しを「０」として、２桁の２進数で表す。例えば、クライアント機能が有りサーバ機能が無い場合は「１０」で、クライアント機能が無くサーバ機能が有る場合は「０１」で、それぞれ表す。同様に、迂回プリンタ候補についても、クライアント機能の有無及びサーバ機能の有無の情報を２桁の２進数で表す。そして、障害プリンタに関する２桁の２進数を上位２桁とし、迂回プリンタ候補に関する２桁の２進数を下位２桁とする４桁の２進数を生成し、生成した４桁の２進数を１６進数に変換する。
【０１９１】
例えば、障害プリンタがクライアント機能有り／サーバ機能有りで、迂回プリンタ候補がクライアント機能有り／サーバ機能無しの場合、４桁の２進数「１１１０」が生成され、１６進数「０Ｅ」（以下、Ｘ’０Ｅ’といった要領で１６進数を表記する）が得られる。
【０１９２】
図３６には、Ｓ８０４のマージ処理で得られる１６進数と、該１６進数が得られるケースにて設定可能な未処理印刷データの転送経路パターンを示す。この転送経路パターンは、図３０の転送経路マトリックスに基づいて設定されている。
【０１９３】
上記のようなマージ処理を行った後、Ｓ８０５ではＳ８０４のマージ処理で得られた１６進数がＸ’０Ｆ’又はＸ’０Ｅ’であるか否かをチェックする。ここで、１６進数がＸ’０Ｆ’又はＸ’０Ｅ’であれば、図３６に示すように迂回プリンタが未処理印刷データを障害プリンタから獲得する機能を有するので、Ｓ８０８へ進み、障害プリンタ−迂回プリンタ間の未処理印刷データの転送経路パターンを図２８のルート８（迂回プリンタが印刷データを障害プリンタから獲得するルート）に設定する。
【０１９４】
Ｓ８０５で否定判定されると、Ｓ８０６へ進み、Ｓ８０４のマージ処理で得られた１６進数がＸ’０Ｄ’又はＸ’０Ｂ’又はＸ’０９’であるか否かをチェックする。ここで、１６進数がＸ’０Ｄ’又はＸ’０Ｂ’又はＸ’０９’であれば、図３６に示すように障害プリンタが未処理印刷データを迂回プリンタへ転送する機能を有するので、Ｓ８０７へ進み、障害プリンタ−迂回プリンタ間の未処理印刷データの転送経路パターンを図２８のルート７（障害プリンタが印刷データを迂回プリンタへ転送するルート）に設定する。
【０１９５】
Ｓ８０６でも否定判定された場合は、当該迂回プリンタ候補に未処理印刷データを届けることができないと判断できるので、Ｓ８０９で抽出プリンタカウンタを１つデクリメントした後、Ｓ８０２へ戻る。そして、上記迂回プリンタ抽出処理で抽出された迂回プリンタ候補における次の候補の通信機能情報について、Ｓ８０３〜Ｓ８０９の処理を実行する。
【０１９６】
このようにして、迂回プリンタ候補に対し１つずつ障害プリンタとの間で未処理印刷データの転送経路パターンを選定できるか否かを判断していく。そして、未処理印刷データの転送経路パターンを選定できた時点で、図３５の処理からリターンし、そのときの迂回プリンタ候補を迂回プリンタとして確定する。
【０１９７】
次に、サーバ１４からの未処理印刷データの転送指示又は迂回プリンタによる未処理印刷データの獲得要求を受け取った障害プリンタの動作を、図３３に基づいて説明する。ここでは、障害プリンタは、前述した図３２の処理において障害の発生を既に検知し、障害検知フラグをオンにセットしているものとする。
【０１９８】
障害検知フラグがオンであるため、図３２のＳ３１２から図３３のＳ３２４へ進み、迂回プリンタへの転送指示をサーバ１４から受信しているか否かをチェックする。ここで、迂回プリンタへの転送指示を受信していなければ、Ｓ３２７へ進み、印刷データの獲得要求を迂回プリンタから受信しているか否かをチェックする。ここでも、否定判定であれば、Ｓ３２４へ戻る。印刷データの獲得要求を迂回プリンタから受信していれば、Ｓ３２８へ進み、該迂回プリンタへ未処理の印刷データを提供する。これにより、迂回プリンタは未処理の印刷データを獲得し、獲得した未処理の印刷データに対し印刷処理を行い、該印刷データに関する印刷処理を完了させることができる。
【０１９９】
一方、Ｓ３２４で迂回プリンタへの転送指示を受信していれば、Ｓ３２５へ進み、該転送指示に含まれる迂回プリンタの情報を入手し、次のＳ３２６で迂回プリンタへ未処理の印刷データを転送する。これにより、迂回プリンタは未処理の印刷データを受信し、受信した未処理の印刷データに対し印刷処理を行い、該印刷データに関する印刷処理を完了させることができる。
【０２００】
上記Ｓ３２６での印刷データの転送又はＳ３２８での印刷データの提供が完了すると、Ｓ３２９へ進み、障害プリンタ内に残っている印刷データを削除してメモリを解放する。
【０２０１】
その後、Ｓ３３０で障害が解除される（復旧する）のを待ち、障害が解除された時点でＳ３３１へ進み障害検知フラグをオフして、図３２のＳ３１２へ戻る。このとき障害検知フラグがオフであるので、Ｓ３１３で否定判定され、通常の印刷処理が可能となる。
【０２０２】
なお、プリンタ１６Ｐ1 が迂回プリンタになったケースの動作は、図３２のＳ３１５〜Ｓ３１８の処理となる。即ち、プリンタ１６Ｐ1 に対し、サーバ１４から図３１のＳ２２６の処理によりデータ転送経路パターンが通知されると、プリンタ１６Ｐ1 は該データ転送経路パターンを受け付け、図３２のＳ３１６でデータ獲得先（＝そのときの障害プリンタ）の情報を入手する。次のＳ３１７では、障害プリンタから未処理の印刷データを獲得し、獲得した未処理の印刷データを図４のスプール３５０に蓄積する。そして、蓄積完了後に、Ｓ３１８で未処理の印刷データに対し印刷処理を行う。このように、迂回プリンタは未処理の印刷データを獲得し、獲得した未処理の印刷データに対し印刷処理を行い、該印刷データに関する印刷処理を完了させることができる。
【０２０３】
以上説明した実施形態によれば、印刷処理中のプリンタに障害が発生しても、該障害プリンタからの迂回リファレンスＤ３を受信したサーバで適正な迂回プリンタ及びデータ転送経路パターンが決定され、該データ転送経路パターンに従い未処理の印刷データが迂回プリンタに届くことになる。そして、迂回プリンタにより未処理の印刷データに対する印刷処理が行われるので、当初印刷要求した端末装置やサーバが印刷処理の終了時まで印刷データを保管しておく必要は無くなる。即ち、端末装置やサーバで蓄積するべきデータ量を減らし、端末装置やサーバの必要メモリ容量の低減を図ることができる。
【０２０４】
また、印刷処理中の障害発生時に、未処理の印刷データが障害プリンタから迂回プリンタへ直接一度に転送される（ここでは迂回プリンタによる獲得も含む）ので、未処理の印刷データを障害プリンタからサーバを介して迂回プリンタへ転送する場合よりも、ネットワークシステム上のトラフィック量を削減することができる。
【０２０５】
また、全印刷データでなく未処理の印刷データのみを、迂回プリンタへ転送されるよう制御するので、ネットワークシステム上のトラフィック量をさらに削減し、迂回プリンタによる印刷処理の処理時間を短縮し、迂回プリンタで使用する印刷資源（用紙、トナー、電力等）を節約することができる。
【０２０６】
なお、上記実施形態の作用では、ワークステーション１２Ｗ1 で印刷データＤ１を生成し、該印刷データＤ１の印刷処理要求をサーバ１４に対して行うケースを想定して説明したが、１つのネットワーク内に限定されず、ネットワークを介して接続された全てのワークステーション、サーバ、プリンタ間で上記と同様の通信制御処理を実現することができる。
【０２０７】
【発明の効果】
以上説明したように、本発明によれば、印刷処理中に障害が発生しても、障害が発生した画像形成装置から他の画像形成装置へ印刷データが転送され、他の画像形成装置により印刷処理されるので、印刷要求した端末装置やサーバが印刷処理の終了時まで印刷データを保管しておく必要は無く、端末装置やサーバの必要メモリ容量の低減を図ることができる。また、印刷処理中の障害発生時に、印刷データが画像形成装置から他の画像形成装置へ直接一度に転送されるよう制御するので、印刷データを画像形成装置からサーバを介して他の画像形成装置へ転送する場合よりも、ネットワークシステム上のトラフィック量を削減することができる。
【０２０８】
特に、請求項３記載の発明によれば、他の画像形成装置へ転送される印刷データを、全ての印刷データとするか、印刷処理が完了していない残りのページの印刷データとするか、印刷処理が完了していない残りの行の印刷データとするかについて自在に設定することができる。
【０２０９】
また、請求項４記載の発明によれば、印刷データよりもデータ量が少ない障害時印刷処理内容情報を用いてサーバに印刷処理を要求するので、障害対応時に画像形成装置からサーバへ転送されるデータ量を減らし、ネットワークシステム上のトラフィック量を削減することができると共に、サーバで蓄積するべきデータ量を減らし、サーバでは特に磁気ディスク装置等の増設を必要とせずコスト低減を図ることができる。
【図面の簡単な説明】
【図１】本実施形態におけるネットワークシステムの全体構成図である。
【図２】ワークステーションの構成を示すブロック図である。
【図３】サーバの構成を示すブロック図である。
【図４】プリンタの構成を示すブロック図である。
【図５】サーバで管理する装置情報テーブルの一例を示す表である。
【図６】サーバで管理するプリンタ性能情報テーブルの一例を示す表である。
【図７】印刷要求リファレンスの構造を示す概念図である。
【図８】印刷要求リファレンスの詳細情報の一例を示す表である。
【図９】プリントの流れを示す概念図である。
【図１０】データ通信ルートを示す概念図である。
【図１１】データ転送経路パターンの一覧表である。
【図１２】データ転送経路に関する優先順位を示す表である。
【図１３】ワークステーションとプリンタの通信機能マトリックス表である。
【図１４】リファレンスの送信装置と受信装置のマトリックス表である。
【図１５】印刷データの送信装置と受信装置のマトリックス表である
【図１６】印刷データの獲得装置と提供装置のマトリックス表である。
【図１７】ワークステーションにおいて実行される通信制御処理ルーチンを示す流れ図である。
【図１８】サーバにおいて実行される通信制御処理ルーチンを示す流れ図である。
【図１９】プリンタにおいて実行される通信制御処理ルーチンを示す流れ図である。
【図２０】出力プリンタ抽出処理のサブルーチンを示す流れ図である。
【図２１】プリント条件チェック処理のサブルーチンを示す流れ図である。
【図２２】データ転送経路パターン及びプリンタ選定処理のサブルーチンを示す流れ図である。
【図２３】図１３の通信機能マトリックス別のデータ転送経路を示す表である。
【図２４】本発明に係る改良が施されたプリンタの構成を示すブロック図である。
【図２５】印刷要求リファレンス及び迂回リファレンスの構造を示す概念図である。
【図２６】迂回リファレンスの詳細情報の一例を示す表である。
【図２７】迂回印刷制御と印刷データの流れを示す概念図である。
【図２８】本実施形態におけるデータ転送経路パターンの一覧表である。
【図２９】迂回出力のジョブ属性の場合も含めたデータ転送経路に関する優先順位を示す表である。
【図３０】障害プリンタと迂回プリンタの通信機能の組み合わせによる経路パターンのマトリックス表である。
【図３１】本実施形態のサーバにて実行される通信制御処理ルーチンを示す流れ図である。
【図３２】本実施形態のプリンタにて実行される通信制御処理ルーチンの前半を示す流れ図である。
【図３３】本実施形態のプリンタにて実行される通信制御処理ルーチンの後半を示す流れ図である。
【図３４】迂回プリンタ抽出処理のサブルーチンを示す流れ図である。
【図３５】迂回プリンタ転送経路パターン選定処理のサブルーチンを示す流れ図である。
【図３６】障害プリンタ及び迂回プリンタの各通信機能情報をマージして得られた１６進数値と迂回プリンタ転送経路パターンの候補との対応を示す表である。
【符号の説明】
１０、２０  ＬＡＮ
１２Ｗ1 、１２Ｗ2 、１２Ｗ3 、１２Ｗ4   ワークステーション
１４、２４  サーバ
１６Ｐ1 、１６Ｐ2 、１６Ｐ3 、１６Ｐ4   プリンタ
２２Ｗ1 、２２Ｗ2 、２２Ｗ3 、２２Ｗ4   ワークステーション
２６Ｐ1 、２６Ｐ2 、２６Ｐ3 、２６Ｐ4   プリンタ
Ｄ１    印刷データ
Ｄ２    リファレンス
Ｄ３    迂回リファレンス
９４    迂回印刷制御情報
２２４  同報出力プリンタ情報
３４０  印刷処理部
３６０  障害検知部
３７０  迂回リファレンス生成部
３８０  データ出力部
【図１】
0004003301.tif 000002
【図２】
0004003301.tif 000003
【図３】
0004003301.tif 000004
【図４】
0004003301.tif 000005
【図５】
0004003301.tif 000006
【図６】
0004003301.tif 000007
【図７】
0004003301.tif 000008
【図８】
0004003301.tif 000009
【図９】
0004003301.tif 000010
【図１０】
0004003301.tif 000011
【図１１】
0004003301.tif 000012
【図１２】
0004003301.tif 000013
【図１３】
0004003301.tif 000014
【図１４】
0004003301.tif 000015
【図１５】
0004003301.tif 000016
【図１６】
0004003301.tif 000017
【図１７】
0004003301.tif 000018
【図１８】
0004003301.tif 000019
【図１９】
0004003301.tif 000020
【図２０】
0004003301.tif 000021
【図２１】
0004003301.tif 000022
【図２２】
0004003301.tif 000023
【図２３】
0004003301.tif 000024
【図２４】
0004003301.tif 000025
【図２５】
0004003301.tif 000026
【図２６】
0004003301.tif 000027
【図２７】
0004003301.tif 000028
【図２８】
0004003301.tif 000029
【図２９】
0004003301.tif 000030
【図３０】
0004003301.tif 000031
【図３１】
0004003301.tif 000032
【図３２】
0004003301.tif 000033
【図３３】
0004003301.tif 000034
【図３４】
0004003301.tif 000035
【図３５】
0004003301.tif 000036
【図３６】
0004003301.tif 000037