(57)【要約】【課題】  障害通知を取得した際に、印刷障害が発生したプリンタに出力を行ったプリンタドライバと同等な機能を有するプリンタドライバのみを登録プリンタドライバの中から列挙し、この中から代行印刷先を選択させることで、不正な印刷出力を確実に回避可能な代行印刷システムを提供することを目的とする。【解決手段】  ネットワーク上に接続された複数のプリンタの１つに印刷ジョブを送信し、当該プリンタで印刷障害が発生した場合に、別のプリンタに前記印刷ジョブを代行印刷するように処理する代行印刷システムが提案されている。この代行印刷システムでは、前記印刷ジョブを処理しているプリンタの障害を検知し、通知し、ネットワークに接続されている前記複数のプリンタのうち、障害が発生しているプリントに代行して前記印刷ジョブを処理可能な代行可能プリンタのプリンタドライバを検出する。そして、検出されたプリンタドライバを代行先候補として通知する。【選択図】  図６
2005165774.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に接続された複数のプリンタの１つに印刷ジョブを送信し、当該プリンタで印刷障害が発生した場合に、別のプリンタに前記印刷ジョブを代行印刷するように処理する代行印刷システムであって、
前記印刷ジョブを処理しているプリンタの障害を検知する障害検知手段と、
前記障害を通知する障害通知手段と、
前記ネットワークに接続されている前記複数のプリンタのうち、前記障害が発生しているプリントに代行して前記印刷ジョブを処理可能な代行可能プリンタのプリンタドライバを検出する代行プリンタ検出手段と、
前記代行プリンタ検出手段によって検出された前記プリンタドライバを代行先候補として通知する代行先候補通知手段と、
を備えることを特徴とする代行印刷システム。
【請求項２】
前記代行印刷システムは、前記複数のプリンタと、情報処理装置と、サーバーを備え、
前記情報処理装置は、少なくとも、前記障害検出手段と、前記障害通知手段と、前記代行プリンタ検出手段と、前記代行先候補通知手段とを含み、
前記複数のプリンタと前記情報処理装置との間の通信は前記サーバーを介して実行されることを特徴とする請求項１に記載の代行印刷システム。
【請求項３】
ネットワーク上に接続された複数のプリンタの１つに印刷ジョブを送信し、当該プリンタで印刷障害が発生した場合に、別のプリンタに前記印刷ジョブを代行印刷するように処理する代行印刷システムにおける情報処理装置であって、
前記印刷ジョブを処理しているプリンタの障害を認識する障害認識手段と、
前記ネットワークに接続されている前記複数のプリンタのうち、前記障害が発生しているプリントに代行して前記印刷ジョブを処理すべき代行可能プリンタのプリンタドライバを検出するための条件を入力する条件入力手段と、
前記条件入力手段により入力された条件に従って、代行可能プリンタのプリンタドライバを選択的に検出する代行プリンタ検出手段と、
前記代行プリンタ検出手段によって検出された前記プリンタドライバを代行先候補として通知する代行先候補通知手段と、
通知された前記代行先候補から１つの代行先を選択する選択手段と、
を備えることを特徴とする情報処理装置。
【請求項４】
前記プリンタドライバの種類には、所定のドキュメントを再スプーリング可能な形式の印刷ジョブを発行する第１のドライバ種別と再スプーリング不可能な形式の印刷ジョブを発行する第２のドライバ種別とを含むことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記印刷ジョブが前記第１のドライバ種別に属するプリンタドライバによって発行された場合、前記代行先候補通知手段は、前記代行先候補として前記第１のプリンタドライバ種別に属する全てのプリンタドライバを通知することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記印刷ジョブが前記第２のドライバ種別に属するプリンタドライバによって発行された場合、前記代行先候補通知手段は、前記条件入力手段により入力された条件に従って、前記代行先候補として、前記印刷障害が発生したプリンタと所定条件について同等と見なせる印刷エンジンを用いたプリンタドライバに限定して通知することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
さらに、前記ネットワーク上に接続された前記複数のプリンタの出力能力情報を取得する出力能力情報取得手段と、
前記印刷ジョブの出力設定情報を取得するジョブ出力設定情報取得手段と、を備え、
前記代行プリンタ検出手段は、前記複数のプリンタのうち、前記取得したジョブ出力設定情報の条件を満足するプリンタ出力能力を有するプリンタのプリンタドライバを検出し、
前記代行先候補通知手段は、前記代行プリンタ検出手段によって検出された前記プリンタドライバを代行先候補として通知する、
ことを特徴とする請求項３乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記条件入力手段は、さらに、代行先のプリンタドライバの互換レベルを指定する互換レベル指定手段を備え、
前記代行プリンタ検出手段は、前記互換レベル指定手段によって指定された前記互換レベルに関する条件を満足するプリンタドライバを検出する
ことを特徴とする請求項３乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記互換レベルは、前記印刷障害が生じているプリンタの出力設定及び前記印刷エンジンの条件を考慮して代行先候補を検出する処理を意味する完全互換と、前記出力設定又は前記印刷エンジンの条件を考慮して代行先候補を検出する処理を意味する簡易互換とを含むことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
ネットワーク上に接続された複数のプリンタの１つに印刷ジョブを送信し、当該プリンタで印刷障害が発生した場合に、別のプリンタに前記印刷ジョブを代行印刷するように処理する代行印刷システムの制御方法であって、
前記印刷ジョブを処理しているプリンタの障害を検知する障害検知工程と、
前記障害を通知する障害通知工程と、
前記ネットワークに接続されている前記複数のプリンタのうち、前記障害が発生しているプリントに代行して前記印刷ジョブを処理可能な代行可能プリンタのプリンタドライバを検出する代行プリンタ検出工程と、
前記代行プリンタ検出工程において検出された前記プリンタドライバを代行先候補として通知する代行先候補通知工程と、
を備えることを特徴とする制御方法。
【請求項１１】
ネットワーク上に接続された複数のプリンタの１つに印刷ジョブを送信し、当該プリンタで印刷障害が発生した場合に、別のプリンタに前記印刷ジョブを代行印刷するように処理する代行印刷システムにおける情報処理装置を制御するための制御プログラムであって、
前記印刷ジョブを処理しているプリンタの障害を認識する障害認識工程を実現するコードと、
前記ネットワークに接続されている前記複数のプリンタのうち、前記障害が発生しているプリントに代行して前記印刷ジョブを処理すべき代行可能プリンタのプリンタドライバを検出するための条件を入力する条件入力工程を実現するコードと、
前記条件入力工程で入力された条件に従って、代行可能プリンタのプリンタドライバを選択的に検出する代行プリンタ検出工程を実現するコードと、
前記代行プリンタ検出工程で検出された前記プリンタドライバを代行先候補として通知する代行先候補通知工程を実現するコードと、
通知された前記代行先候補から１つの代行先を選択する選択工程を実現するコードと、
を備えることを特徴とする制御プログラム。
【請求項１２】
前記プリンタドライバの種類には、所定のドキュメントを再スプーリング可能な形式の印刷ジョブを発行する第１のドライバ種別と再スプーリング不可能な形式の印刷ジョブを発行する第２のドライバ種別とを含むことを特徴とする請求項１１に記載の制御プログラム。
【請求項１３】
前記印刷ジョブが前記第１のドライバ種別に属するプリンタドライバによって発行された場合、前記代行先候補通知工程では、前記代行先候補として前記第１のプリンタドライバ種別に属する全てのプリンタドライバを通知することを特徴とする請求項１２に記載の制御プログラム。
【請求項１４】
前記印刷ジョブが前記第２のドライバ種別に属するプリンタドライバによって発行された場合、前記代行先候補通知工程では、前記条件入力工程で入力された条件に従って、前記代行先候補として、前記印刷障害が発生したプリンタと所定条件について同等と見なせる印刷エンジンを用いたプリンタドライバに限定して通知されることを特徴とする請求項１２に記載の制御プログラム。
【請求項１５】
さらに、前記ネットワーク上に接続された前記複数のプリンタの出力能力情報を取得する出力能力情報取得工程を実現するコードと、
前記印刷ジョブの出力設定情報を取得するジョブ出力設定情報取得工程を実現するコードと、を備え、
前記代行プリンタ検出工程では、前記複数のプリンタのうち、前記取得したジョブ出力設定情報の条件を満足するプリンタ出力能力を有するプリンタのプリンタドライバが検出され、
前記代行先候補通知工程では、前記代行プリンタ検出工程で検出された前記プリンタドライバが代行先候補として通知される、
ことを特徴とする請求項１１乃至１４の何れか１項に記載の制御プログラム。
【請求項１６】
前記条件入力工程には、さらに、代行先のプリンタドライバの互換レベルを指定する互換レベル指定工程が含まれ、
前記代行プリンタ検出工程では、前記互換レベル指定工程で指定された前記互換レベルに関する条件を満足するプリンタドライバが検出される
ことを特徴とする請求項１１乃至１５の何れか１項に記載の制御プログラム。
【請求項１７】
前記互換レベルは、前記印刷障害が生じているプリンタの出力設定及び前記印刷エンジンの条件を考慮して代行先候補を検出する処理を意味する完全互換と、前記出力設定又は前記印刷エンジンの条件を考慮して代行先候補を検出する処理を意味する簡易互換とを含むことを特徴とする請求項１６に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプリンタを用いた印刷処理技術に関する。特に、本発明は、ネットワーク上に接続されるパーソナルコンピュータなどのデータ供給源から印刷指示を受けた印刷装置において印字障害が発生した際の、各パーソナルコンピュータの代行印刷における障害情報の表示手法に関するものである。
【背景技術】
【０００２】
近年、印刷装置がネットワークに接続することは一般的となり、多くの印刷装置が接続でき、利用されるようになった。このような環境下で印刷利用者は、印字指示を出した印刷装置に印字障害が発生した場合に、即座に印字障害を回避するのではなく、印刷できていない印刷ジョブ情報を他の印刷装置にひとまず出力することで印刷情報を早く利用することを考え、「代行印刷」機能が実現されてきた。
【０００３】
例えば、特開２００３−２７１３５４号公報には、自動代行印刷の設定が行われているか否かを判別し、自動代行印刷の設定が行われていると判断されれば自動代行印刷を実行し、設定が行われていないと判断されれば手動代行印刷を行うことにより、自動代行印刷と手動代行印刷を切り替える印刷処理装置が開示されている。
【特許文献１】特開２００３−２７１３５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記「代行印刷機能」は、印刷指示した印刷装置で印字障害が発生した場合、代行印刷先を指定する手動代行印刷において、代行印刷先となるプリンタドライバを選択する際に表示される候補が、現在登録されている全てのプリンタドライバが表示されてしまう。実際には、表示される全プリンタドライバのうち代行印刷先として利用可能なドライバは印刷ジョブによって制限されてしまうという問題点があった。これは、上述の特開２００３−２７１３５４号公報で開示されている印刷処理装置でも同様である。
【０００５】
また、ソータやステープルなどの出力装備までの完全互換印刷出力や、ひとまず出力できればいい簡易互換出力という段階分けもないため、ユーザのその時の要求に応じた代行印刷先の選択において効率が悪いという問題も発生していた。
【０００６】
本発明は、上記の問題点を解消するためになされたもので、代行印刷先の印刷装置に印字障害が発生した場合のパーソナルコンピュータにおいて、障害通知を取得した際に、印刷障害が発生した印刷装置に出力を行ったプリンタドライバと同等な機能を有するプリンタドライバのみを登録プリンタドライバの中から列挙し、この中から代行印刷先を選択させることで、不正な印刷出力を確実に回避可能な代行印刷システムを提供することを目的とする。
【０００７】
また、本発明は、代行印刷先の印刷装置に印字障害が発生した場合のパーソナルコンピュータにおいて、障害通知を取得した際に、ジョブの種類（再スプーリング可能なジョブか、もしくは不可能なジョブか）を判断し、再スプーリング可能なジョブな場合、再スプーリング可能なジョブを生成する全てのプリンタドライバを登録プリンタドライバの中から列挙し、この中から代行印刷先を選択させることで、不正な印刷出力が確実に回避可能となり、かつジョブの種類に応じた柔軟性を有する代行印刷システムを提供することを目的とする。
【０００８】
さらに、本発明は、代行印刷先の印刷装置に印字障害が発生した場合のパーソナルコンピュータにおいて、障害通知を取得した際に、印刷障害が発生した印刷装置に出力を行ったプリンタドライバと同等な機能を有するプリンタドライバのみを登録プリンタドライバの中から列挙し、さらにその中から発行ジョブのステープルやソートなどの出力設定をも満たす完全互換印刷出力を実現できるプリンタドライバのみを列挙することで、この中から代行印刷先を選択させることにより、代行印刷を行ってもジョブに設定された出力方式まで完全に実現できる代行印刷システムを提供することを目的とする。
【０００９】
さらに、本発明は、代行印刷先の印刷装置に印字障害が発生した場合のパーソナルコンピュータにおいて、前記第１−３の目的に記載した代行印刷における出力の各互換性レベル（出力設定完全互換、出力物互換など）をユーザに選択可能とすることにより、ユーザが現在置かれた状況に応じて、レベル分けされた適切な代行印刷先となるプリンタドライバの候補リスト提供することが可能な代行印刷システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明による代行印刷システムは、ネットワーク上に接続された複数のプリンタの１つに印刷ジョブを送信し、当該プリンタで印刷障害が発生した場合に、別のプリンタに前記印刷ジョブを代行印刷するように処理する代行印刷システムであって、前記印刷ジョブを処理しているプリンタの障害を検知する障害検知手段と、前記障害を通知する障害通知手段と、
前記ネットワークに接続されている前記複数のプリンタのうち、前記障害が発生しているプリントに代行して前記印刷ジョブを処理可能な代行可能プリンタのプリンタドライバを検出する代行プリンタ検出手段と、前記代行プリンタ検出手段によって検出された前記プリンタドライバを代行先候補として通知する代行先候補通知手段と、を備える。
また、本発明による情報処理装置は、ネットワーク上に接続された複数のプリンタの１つに印刷ジョブを送信し、当該プリンタで印刷障害が発生した場合に、別のプリンタに前記印刷ジョブを代行印刷するように処理する代行印刷システムにおける情報処理装置であって、前記印刷ジョブを処理しているプリンタの障害を認識する障害認識手段と、前記ネットワークに接続されている前記複数のプリンタのうち、前記障害が発生しているプリントに代行して前記印刷ジョブを処理すべき代行可能プリンタのプリンタドライバを検出するための条件を入力する条件入力手段と、前記条件入力手段により入力された条件に従って、代行可能プリンタのプリンタドライバを選択的に検出する代行プリンタ検出手段と、前記代行プリンタ検出手段によって検出された前記プリンタドライバを代行先候補として通知する代行先候補通知手段と、通知された前記代行先候補から１つの代行先を選択する選択手段と、を備える。
【００１１】
さらに、本発明による印刷システムの制御方法は、ネットワーク上に接続された複数のプリンタの１つに印刷ジョブを送信し、当該プリンタで印刷障害が発生した場合に、別のプリンタに前記印刷ジョブを代行印刷するように処理する代行印刷システムの制御方法であって、前記印刷ジョブを処理しているプリンタの障害を検知する障害検知工程と、前記障害を通知する障害通知工程と、
前記ネットワークに接続されている前記複数のプリンタのうち、前記障害が発生しているプリントに代行して前記印刷ジョブを処理可能な代行可能プリンタのプリンタドライバを検出する代行プリンタ検出工程と、前記代行プリンタ検出工程において検出された前記プリンタドライバを代行先候補として通知する代行先候補通知工程と、を備える。
【００１２】
また、本発明による情報処理装置を制御する制御プログラムは、ネットワーク上に接続された複数のプリンタの１つに印刷ジョブを送信し、当該プリンタで印刷障害が発生した場合に、別のプリンタに前記印刷ジョブを代行印刷するように処理する代行印刷システムにおける情報処理装置を制御するための制御プログラムであって、前記印刷ジョブを処理しているプリンタの障害を認識する障害認識工程を実現するコードと、前記ネットワークに接続されている前記複数のプリンタのうち、前記障害が発生しているプリントに代行して前記印刷ジョブを処理すべき代行可能プリンタのプリンタドライバを検出するための条件を入力する条件入力工程を実現するコードと、前記条件入力工程で入力された条件に従って、代行可能プリンタのプリンタドライバを選択的に検出する代行プリンタ検出工程を実現するコードと、前記代行プリンタ検出工程で検出された前記プリンタドライバを代行先候補として通知する代行先候補通知工程を実現するコードと、通知された前記代行先候補から１つの代行先を選択する選択工程を実現するコードと、を備える。
【発明の効果】
【００１３】
上記本発明の代行印刷プリンタシステムによれば、ネットワーク上に接続している印刷装置に印字障害が発生した場合に行われる代行印刷処理において、印刷ジョブの種類、各印刷装置の出力構成情報等に応じた代行印刷先候補を提示することができ、不正な代行先に出力することを防止することが可能となり、さらに代行印刷のレベルを選択できることでユーザの状況に応じた効率のよい代行印刷先の選択を実現できる代行印刷システムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。まずは、全体のシステム構成を説明し、そして具体的な実施の形態についていくつか説明する。これら具体的実施形態は、例示であって、本発明を限定するための解釈に用いられるものではない。
【００１５】
図１は本発明による代行印刷システムを構成するプリンタ及び、パーソナルコンピュータの一例を示す代行印刷システムの構成図である。
【００１６】
同図において、１０１はローカルエリアネットワーク（ＬＡＮ）を示し、パーソナルコンピュータ１０２、１０３及びプリンタ１１１、１１２、１１３がこのＬＡＮに接続されている。
【００１７】
ＰＣ１０２及び１０３は、本実施形態のそれぞれ出力制御装置として配設されているパーソナルコンピュータ（ＰＣ）であり、１１１、１１２、１１３は、印刷装置として配設されている第１、第２及び第３のネットワークプリンタである。そして、それぞれは、ネットワーク回線１０１で接続されている。
【００１８】
なお、図１では、ＰＣが１０１と１０２と２台のみ示しているが、本実施の形態の手順を実行するための手段を複数のパーソナルコンピュータ（ＰＣ）が分担、または、連携するようなプリントシステムであってもよい。
また、本実施の形態は、ネットワークプリンタ１１１、１１２、１１３の例で説明しているが、出力先変更方式は印刷装置（ネットワークプリンタ）とホストコンピュータとの接続方法には依存せずに適用でき、本実施の形態に示したものに限定されない。
【００１９】
次に図２は図１に示したＰＣ１０２、及び１０３の概略構成である。図示おいて、２０１はビデオＲＡＭ(ＶＲＡＭ)で、ＣＲＴ表示装置２０２の画面に表示される文字、イメージを展開記憶する。２０３はビットムーブユニット(ＢＭＵ)で、メモリ間あるいはメモリと各デバイス間のデータ転送をコントロールする。２０４は入力に関する各種キーを備えたキーボードであり、２０５は画面上でアイコンなどを指し示すためなどに用いられるポインティングデバイス(ＰＤ)、２０６はＣＰＵで、２０８のＲＯＭに記憶された制御プログラム（本発明に係るプログラムやエラー処理プログラムをはじめ、後述する本発明を実現するためのプログラムも記憶されている）に基づいて本装置の各部を制御する。２０９は上述した各プログラムを２０６のＣＰＵが実行するときにワークエリア、エラー処理時の一時退避エリアとして用いられるＲＡＭ、２１０はハードディスクドライブ(ＨＤＤ)、２１１はフロッピー（登録商標）ディスクドライブ(ＦＤＤ)、をそれぞれ示し、各ディスクには後述するアプリケーションプログラムやデータ、ライブラリなどの保存用に用いられる。２１２はネットワークインターフェイス(ＮＥＴ−Ｉ／Ｆ)を示し、他の装置との間でネットワークを経由してデータ転送を行うためにネットワーク上でデータ制御、診断を行う。２０７は上述した各ユニット間を接続するＩ／Ｏバス(アドレスバス、データバス及び制御バスからなる)である。
【００２０】
上記構成において、装置に電源を投入すると、ＣＰＵ（２０６）はＲＯＭ（２０８）のブートプログラムに従って装置を初期化し、ＨＤＤ（２１０）らＯＳのロードを行い、その後で各種アプリケーション等を動作させることになる。
なお、本実施形態の装置は、凡用の情報処理装置（パーソナルコンピュータ等）をその基礎にしているので、プログラムはハードディスク等に記憶されているものとしたが、もちろんＲＯＭに記憶させるようにしてもよいし、記憶媒体によって本発明が限定されるものでもない。
【００２１】
（印刷ジョブの処理）
図３は、アプリケーションから発行された印刷ジョブの処理を示す図であり、本システムのクライアントサーバモデルにおいてＭｉｃｒｏＳｏｆｔＷｏｒｄ（登録商標）などの一般的なアプリケーションから発行された印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを表している。
【００２２】
同図において、３００はサーバで、印刷ジョブ制御システムのモジュールが動作するマシンを指す（サーバ１０１に相当）。
【００２３】
通常、印刷の指示がされるとアプリケーションプログラム３０１はＯＳのグラフィック機能を介して一連の描画命令を生成させ、プリンタドライバを経てＷｉｎｄｏｗｓ（登録商標）スプーラ３０３に渡される。Ｗｉｎｄｏｗｓ（登録商標）スプーラ３０３は、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタデバイスに送信させる手順を採る。
【００２４】
本実施形態では、ユーザは予め印刷ジョブ制御システム用のポートモニタ（以下、ジョブ制御ポートモニタと記す）３０４を指定して印刷を指示する。アプリケーションプログラム３０１は一連のＯＳを介して描画命令を生成する。
【００２５】
描画命令を受け取ったPDLプリンタドライバ３０２では、印刷データを生成し、プリンタデバイスへプリントジョブデータを送信するポートモニタではなく、ジョブ制御ポートモニタ３０４にプリントジョブデータとして送信する。ジョブ制御ポートモニタ３０４はプリントジョブデータをプリンタデバイス３０７に送信するのではなく、印刷ジョブ制御システム用のプリントサービス（以下、ジョブ制御プリントサービスと記す）３０５に送信する。ジョブ制御プリントサービス３０５（本発明の障害検知手段）はジョブ／デバイスの状態を管理する機能を備える。
【００２６】
さらに、デバイスとクライアントＰＣがピアツーピア接続環境で互いに動作するような場合には、ジョブ制御プリントサービス３０５はデバイスから通知されるデバイス状態やジョブの状態などの情報を管理したり、また、デバイスに対して所定の命令をする機能も備える。これは、複数のプリンタデバイス３０７のデバイス情報やジョブ情報を管理する機能に相当する。
【００２７】
印刷ジョブ制御システム用プリントマネージャ（以下、ジョブ制御プリントマネージャと記す）３０９は、ユーザがジョブ制御プリントサービス３０５内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェース（ＵＩ）を提供するプログラムである。
【００２８】
ジョブ制御プリントマネージャ３０９（本発明の障害認識手段）はジョブ制御プリントサービス３０５のソフトウェアのインタフェース（ＡＰＩ）を介して、ジョブ制御プリントサービス３０５と情報の送受信を実行し、主に、ジョブ制御プリントサービス３０５が管理する外部のプリンタデバイスの状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。
【００２９】
ジョブ制御プリントサービス３０５はネットワークを介して通信可能な各デバイス（印刷装置）の印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスを監視する機能を備える。
【００３０】
印刷ジョブ制御システム用のマネージメントコンソール３１０（以降、ジョブ制御マネージメントコンソールと略記）は、ジョブ制御プリントサービス３０５が持つソフトウェアがアクセスするためのＡＰＩを介してジョブ制御プリントサービス３０５と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【００３１】
また、ジョブ制御プリントサービス３０５は、デバイス情報コントロールモジュール３０６を用いて各プリンタデバイス３０７と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。
【００３２】
（印刷アプリケーション３０１からの印刷動作）
次に、本実施形態に印刷アプリケーション３０１からの印刷について説明する。
【００３３】
PDLプリンタドライバ３０２はアプリケーションプログラム３０１が生成した一連の描画コマンドをプリンタデバイス３５０で解釈可能なＰＤＬファイルにする。
【００３４】
このPDLファイルは前述したようにＷｉｎｄｏｗｓ（登録商標）スプーラ３０３からジョブ制御ポートモニタ３０４を経て（図３の（ａ））、ジョブ制御プリントサービス３２２に導かれる（図３の（ｂ））。
【００３５】
ジョブ制御プリントサービス３２２はこのプリントジョブに対して行うジョブ制御の種類に応じて、プリントジョブの動作を制御する。
【００３６】
図３では、ジョブ制御プリントサービス３２２で負荷分散印刷制御が行われる場合において、プリントジョブはプリンタデバイス３５０が送信可能になると送信されるが、送信可能になるタイミングが早いほうに送信される。複数のプリントジョブが発生すると送信可能な複数のプリンタデバイスにプリントジョブが送信される例を二つの矢印（ｃ）（ｄ）で示している。
【００３７】
また、一般的なＷｉｎｄｏｗｓ（登録商標）プリントシステムにおいて、PDLプリンタドライバ３０２はアプリケーションプログラム３０１が生成した一連の描画コマンドをプリンタデバイス３５０で解釈可能なPDLファイルにする。このPDLファイルは前述したようにＷｉｎｄｏｗｓ（登録商標）スプーラ３０３からＷｉｎｄｏｗｓ（登録商標）ジョブ制御ポートモニタ３０８を経て（図３の（ｅ））、プリンタデバイス３５０に転送される（図３の（ｆ））。
【００３８】
（Ｗｉｎｄｏｗｓ（登録商標）プリントシステムと印刷ジョブの関係）
次に、図４でＷｉｎｄｏｗｓ（登録商標）が提供するプリントシステムと印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要をさらに詳しく述べる。
【００３９】
図４中で印刷ジョブ制御サービス３２２は、サーバ１０１の制御プログラムが動作する印刷ジョブ制御システムを示している。
【００４０】
実施形態では、実際のプリントジョブデータはジョブ制御プリントサービス３２２に保持され、アプリケーションが選択したPDLドライバ３０２に対応したプリンタデバイス３５０に、ジョブ制御プリントサービス３２２はプリントジョブデータをデバイス３５０に送信する。
【００４１】
次に、印刷ジョブ制御サービス３２２が、負荷分散の付加価値的な印刷を行う場合の処理を説明する。
【００４２】
印刷ジョブ制御サービス３２２が、負荷分散印刷の付加価値的な印刷を行う場合には、前述のようにユーザまたはアプリケーション３０１は、負荷分散印刷の設定を持つプリンタに印刷ジョブを発行しなければならない。
【００４３】
ジョブ制御プリントサービス３２２は、PDLドライバ３０２によって処理されたジョブデータをジョブ制御ポートモニタ３０４を介してＰＤＬファイルとして受け取る。
ジョブ制御プリントサービス３２２はこのジョブを受け取り、ジョブデータは自身のプリンタキュー４０１で一時保持し、後述する方式により、プリンタキューに対応するプリントデバイスや、バックアッププリンタキュー４０１Ａ、４０１Ｂにプリントジョブを振り分け、その後、プリントデバイス３５０に送信する。
【００４４】
なお、本発明は、このようなプリンタシステムにおいて、発行ジョブを送信した印刷装置で印刷障害（エラー）が起きた場合に代行処理を行うものであるが、特に、エラーの中でも所定のエラー（例えば、紙づまり、用紙切れ等）の場合に、手動代行するように制御するプリンタシステムに関するものである。つまり、代行可能な候補プリンタが表示され、その中からユーザが代行先を指定することになる。以下の各実施の態様では、このことが前提となっている。
【００４５】
＜第１の実施形態＞
次に、本代行印刷システムに係る第１の実施形態について説明する。第１の実施形態は、発行ジョブを送信した印刷装置において印刷障害が発生した場合に、代行印刷先指定時に、発行ジョブが同様なドライバエンジンを使用している代行印刷可能なプリンタドライバのみを表示する例である。
【００４６】
まず図５を用いて、手動代行時のプリンタドライバの選択画面例を示す。本図は、印刷ジョブを発行した印刷装置に障害が発生した場合にその障害通知を受けたＰＣに表示される画面例である。図示の５０１は、印刷障害が発生した印刷装置を出力先とするプリンタドライバである。この場合は、『ＬＢＰ−２８１０』となっている。図５の５０２は、障害が発生したために印刷が続行できなかったジョブリストを表示するコントロールである。この例では『テストページ』というドキュメント名を有するジョブが１つ存在している。
【００４７】
次に５０３は、前記５０２で示した印刷ジョブを、前記５０１で示した『ＬＢＰ−２８１０』と互換出力が可能な印刷エンジンを搭載したプリンタドライバを選択項目として表示しているコントロールである。実際に登録プリンタドライバは、障害が発生しているＬＢＰ−２８１０と、５０３に記載の３つのプリンタドライバ以外にも、プリンタドライバは存在しているが、ＬＢＰ−２８１０と同等のエンジンを搭載しているプリンタドライバは５０３に表示されている３つであるため、このような表示になる。プリンタ情報変更ボタンを押すことにより、表示されている状態が更新され、最新の状態が５０３に表示される。
【００４８】
そして５０４は、５０３で指定したプリンタドライバに対して代行印刷を指示するボタンである。このボタンを押すことで実際の代行印刷処理が開始される。
【００４９】
但し、本画面はあくまで例であり、特に限定するものではない。また、例えば５０３はコンボボックスタイプでよく、３０２の情報は特に表示する必要がない場合も考えられる。  
以下、図６のフローチャートを用いて、本代行印刷システムの第１の実施形態の動作について説明する。
【００５０】
なお、本フローチャートは、ジョブを発行しているＰＣにおいて出力先の印刷装置に印刷障害が発生した時点から、ＰＣ側が障害を認識した時点における代行印刷先の同等の印刷エンジンを搭載するプリンタドライバを代行印刷先の候補として表示迄の部分のロジックを示したものである。（実際の障害通知の取得や、代行印刷処理部分は本発明として言明する部分ではないため、特に公知のものでよく特に限定するものではない）。
【００５１】
図６において、まずステップＳ６０１では、現在ＰＣに登録されている全てのプリンタドライバの一覧を取得する。この時の全プリンタドライバ数をＮ個とする。なお、本発明全般に渡って同様であるが、取得した値はメモリ上に値を持っていても、ファイル等に記載しても構わなく、特に取得元は限定するものではない。
【００５２】
次にステップＳ６０２では、今回障害が発生した印刷装置は代行先の対象外となるため、前記ステップＳ６０１で取得したプリンタドライバ一覧から排除する処理を行う。このため残ったプリンタドライバ一覧はＮ−１個のプリンタドライバから構成されることになる。
【００５３】
次にステップＳ６０３では、本実施形態で代行先印刷装置の候補として表示される情報を保持する候補リストを初期化する。また、次のステップＳ６０４では、ステップＳ６０２で障害プリンタドライバを排除したプリンタドライバ一覧のＮ−１個に対してループ処理を行うための変数Ｌを１に初期化する。
【００５４】
次のステップＳ６０５では、ループ変数Ｌが障害印刷装置を除去したプリンタドライバ一覧のＮ−１に対して全てループしたかを判定する処理である。もしループ変数ＬがＮ−１に対して同じか少ない場合は、ループを継続するためステップＳ６０６に進む。一方、ループ変数ＬがＮ−１より大きい場合は、全プリンタドライバに対して比較処理が終了したと判断し、ステップＳ６０９に進む。
【００５５】
ステップＳ６０６では、障害印刷装置を除去したプリンタドライバ一覧におけるループ変数Ｌ番目のプリンタドライバが、印刷障害が発生して代行印刷を要求しているプリンタドライバと同等の印刷エンジンを所有しているかを判断する。
【００５６】
ここで記載している同等の印刷エンジンとは、ある印刷ドキュメントをプリンタドライバを用いて印刷装置にて同等の出力結果が得られるＰＤＬファイルを作成できる印刷エンジンでも構わない。従って、ＰＤＬファイルのデータ自体が全く同じとなる印刷エンジンであっても、そうでなくても問題なく、特に限定するものではない。逆に異なる印刷エンジンとは、一方のプリンタドライバで作成されたＰＤＬファイルを別のプリンタドライバの出力先に送信した場合に、全く印刷できない場合や、印刷結果に相違が発生してしまうプリンタドライバの関係を示す。従って単純に異なるデータのＰＤＬファイルを作成してしまうエンジンであっても、印刷装置に出力した際に同等の出力結果が得られれば、異なる印刷エンジンとはならないものとする。例えば、各プリンタは、いかなる印刷出力を出すのかを決定する印刷エンジン構成条件を有し、印刷障害を発生しているプリンタの条件とその他の各プリンタの条件を比較し、合致した場合に同等の印刷エンジンと判断して抽出しても良い。この際、設定によって全ての条件について合致している場合に抽出するようにしなくてもよく、所定の設定個数（ユーザによって設定）の条件が合致するものを選択するようにしてもよい。
【００５７】
このステップＳ６０６でＬ番目のプリンタドライバが障害が発生している印刷装置を出力先としているプリンタドライバと同等の印刷エンジンを所有すると判断した場合は、ステップＳ６０７に進み、候補リストの更新を行う。一方、異なる印刷エンジンの場合はステップＳ６０８に進む。ステップＳ６０７では、前記ステップＳ６０６で同等の印刷エンジンと判断したため、代行印刷先候補リストにＬ番目のプリンタドライバを登録する処理を行い、ステップＳ６０８に進む。ステップＳ６０８では、Ｌ番目のプリンタドライバに対する処理が終了となり、次のＬ＋１番目を対象とするためにループ変数Ｌを１増やす処理を行い、ステップＳ６０５に戻る。
【００５８】
ステップＳ６０５で、Ｌ＞（Ｎ−１）となった時点で、プリンタドライバ一覧内に登録されている全てのプリンタドライバと障害が発生しているプリンタドライバの比較が終了となり、ステップＳ６０９に進むこととなる。
【００５９】
ステップＳ６０９では、前記Ｓ６０１―Ｓ６０８で処理した結果、作成された代行印刷先候補リストを、手動代行時の代行印刷先の選択項目として表示する処理を行う。
以上のステップ処理によって、本代行印刷システムの実施例１の代行印刷先の候補リスト作成及び表示処理が動作する。
【００６０】
以上、説明したように第１の実施の形態によれば、ジョブを発行した印刷装置において、発行ジョブが同様なドライバエンジンを使用している代行印刷可能なプリンタドライバのみを表示することが可能となり、不正な出力をしてしまう可能性のある誤った代行印刷先の指定を防止することが可能となる。
【００６１】
＜第２の実施の形態＞
次に、本代行印刷システムの第２の実施形態について説明する。第２の実施形態は、発行ジョブを送信した印刷装置において印刷障害が発生した場合に、代行印刷先指定時に、発行ジョブの種類（再スプーリング可能なジョブ、不可能なジョブ）を判断し、再スプーリング可能なジョブの場合は、再スプーリング可能な全てのプリンタドライバを代行印刷先の候補として表示する例である。
【００６２】
まず、図７を用いて、第１の実施形態が第２の実施形態と異なる点を示す。図示において、まず７０１は印刷ジョブを発行するための電子ドキュメントデータである。このドキュメントデータが、各々プリンタドライバ７０２、７０３及び７０４を通じて、印刷装置に送信するＰＤＬジョブの７０５、７０６、７０７を生成する。このときにプリンタドライバ７０２及び７０３は、再スプーリング可能なプリンタドライバであり、この各々のプリンタドライバから生成されるＰＤＬジョブ７０５、７０６は再スプーリング可能なジョブとなる。一方プリンタドライバ７０４は再スプーリングが不可能なプリンタドライバであり、生成されるＰＤＬジョブ７０７は再スプーリング不可能なジョブとなる。さらにその出力先印刷装置として、それぞれ印刷装置７０８、７０９、７１０が位置付けられている例である。
【００６３】
ここで再スプーリング可能なプリンタドライバとは、例えば、ＰＤＬジョブ７０５が印刷装置７０８に障害が発生したために、代行印刷先としてプリンタドライバ７０３が指定されたときに、プリンタドライバ７０３はＰＤＬジョブ７０５を解析して、改めてＰＤＬジョブ７０６を生成できる機能（再スプーリング機能）を有するプリンタドライバを意味し、このプリンタドライバから出力される印刷ジョブを再スプーリング（再スプール）可能なＰＤＬジョブとしている。但し、再スプーリングの方法、ＰＤＬジョブの形式については、他の印刷装置に同等のレイアウトが出力できればよく特に本発明において限定するものではない。このプリンタドライバを使用するのが第２の実施形態である。
【００６４】
一方、第１の実施形態の場合は、再スプーリング機能を有さないプリンタドライバ７０４によって生成されるＰＤＬジョブ７０７が、出力先印刷装置７１０に障害が発生した場合に、代行先印刷装置として印刷装置７０８、７０９を考えた場合に、同等の出力結果が得られるか否かを判断する実施例である。
【００６５】
従って、第２の実施形態は、第１の実施形態に対してより幅広いプリンタドライバを選択できる例となる。
【００６６】
次に、図８のフローチャートを用いて、本代行印刷システムの第２の実施形態の動作を説明する。
【００６７】
本フローチャートは、ジョブを発行しているＰＣにおいて出力先の印刷装置に印刷障害が発生した時点から、発行ジョブの種類を判断し、再スプーリングできないジョブの場合は、ＰＣ側が障害を認識した時点における代行印刷先の同等の印刷エンジンを搭載するプリンタドライバを代行印刷先の候補とする第１の実施形態で示した処理を行うロジックを示す。
【００６８】
一方で、再スプーリング可能なジョブの場合は、再スプーリング可能なプリンタドライバ全てを代行印刷先の候補とする表示迄の部分のロジックを示したものである。（実際の障害通知の取得や、代行印刷処理部分は本発明として言明する部分ではないため、特に公知のものでよく特に限定するものではない）。
【００６９】
本フローは、印刷ジョブを実行時に出力先印刷装置に障害が発生した状態において開始される。
【００７０】
図８において、まずステップＳ８０１では、発行した印刷ジョブが、再スプーリング可能か否かを判断する。もし再スプーリングができないジョブであれば、ステップＳ８１１に進み、図８で既に説明したステップＳ８０１−Ｓ８０９の処理を行って終了する。
【００７１】
一方、ステップＳ８０１において発行した印刷ジョブが、再スプーリング可能と判断した場合は、ステップＳ８０２に進む。ここで再スプーリング可能なジョブである場合は、容易に発行したプリンタドライバが再スプーリング可能であることが判明できるので、特に発行したプリンタドライバ自体が再スプーリング可能かどうかは判断していないが、逆に発行プリンタドライバが再スプーリング可能なプリンタドライバであれば、自動的に発行ジョブも再スプーリング可能な印刷ジョブとなるため、ここでの判断はプリンタドライバを用いたものであっても構わない。ここでは、再スプーリング可能なジョブであるかを判断できれば特に限定するものではない。
【００７２】
ステップＳ８０２では、現在ＰＣに登録されている全てのプリンタドライバの一覧を取得する。この時の全プリンタドライバ数をＮ個とする。
【００７３】
次にステップＳ８０３では、今回障害が発生した印刷装置は代行先の対象外となるため、前記ステップＳ８０２で取得したプリンタドライバ一覧から排除する処理を行う。このため残ったプリンタドライバ一覧はＮ−１個のプリンタドライバから構成されることになる。
【００７４】
次にステップＳ８０４では、本実施形態で代行先印刷装置の候補として表示される情報を保持する候補リストを初期化する。また、次のステップＳ８０５では、ステップＳ８０３で障害プリンタドライバを排除したプリンタドライバ一覧のＮ−１個に対してループ処理を行うための変数Ｌを１に初期化する。
【００７５】
次のステップＳ８０６では、ループ変数Ｌが障害印刷装置を除去したプリンタドライバ一覧のＮ−１に対して全てループしたかを判定する処理である。もしループ変数ＬがＮ−１に対して同じか少ない場合は、ループを継続するためステップＳ８０７に進む。
【００７６】
一方、ループ変数ＬがＮ−１より大きい場合は、全プリンタドライバに対して比較処理が終了したと判断し、ステップＳ８１０に進む。
【００７７】
ステップＳ８０７では、障害印刷装置を除去したプリンタドライバ一覧におけるループ変数Ｌ番目のプリンタドライバが、再スプーリング可能なプリンタドライバか否かを判断する。
【００７８】
再スプーリング可能なプリンタドライバと判断した場合は、ステップＳ８０８に進み、候補リストに対して追加する。一方、再スプーリング不可能なプリンタドライバである場合は、ステップＳ８０９に進む。ステップＳ８０８では、前記ステップＳ８０７で再スプーリング可能なプリンタドライバと判断したため、代行印刷先候補リストにＬ番目のプリンタドライバを登録する処理を行い、ステップＳ８０９に進む。ステップＳ８０９では、Ｌ番目のプリンタドライバに対する処理が終了となり、次のＬ＋１番目を対象とするためにループ変数Ｌを１増やす処理を行い、ステップＳ８０６に戻る。
【００７９】
ステップＳ８０６で、Ｌ＞（Ｎ−１）となった時点で、プリンタドライバ一覧内に登録されている全てのプリンタドライバと障害が発生しているプリンタドライバの比較が終了となり、ステップＳ８１０に進むこととなる。
【００８０】
ステップＳ８１０では、前記Ｓ８０１―Ｓ８０９で処理した結果、作成された代行印刷先候補リストを、手動代行時の代行印刷先の選択項目として表示する処理を行う。
以上のステップ処理によって、本代行印刷システムの第２の実施形態の代行印刷先の候補リスト作成及び表示処理が動作する。
【００８１】
以上、説明したように第２の実施形態によれば、ジョブを発行した印刷装置において、発行ジョブが再スプーリング可能なジョブ（再スプーリング可能なプリンタドライバから発行されたジョブ）であれば、代行印刷先の候補として再スプーリング可能なプリンタドライバを表示することが可能となり、不正な出力をしてしまう可能性のある誤った代行印刷先の指定を防止すると共に、代行先印刷装置の選択候補として、より幅広い候補を提供することが可能となる。
【００８２】
＜第３の実施の形態＞
次に、本代行印刷システムの第３の実施形態を説明する。本実施形態は、発行ジョブを送信した印刷装置において印刷障害が発生した場合に、代行印刷先指定時に、発行ジョブの出力設定情報（ソータ、ステープルなど）を取得し、かつ代行印刷先として指定可能な印刷装置の出力構成情報（ソータ機能、ステープル機能の搭載の有無など）を取得し、取得した各印刷装置の出力構成情報を元に、発行ジョブの出力設定の条件を満たす印刷装置を出力先とするプリンタドライバを、行印刷先の候補として表示する例である。
【００８３】
ここで記載した発行ジョブの出力設定とは、例えば用紙サイズ、ステープル機能、ステープル位置など出力形態に関する情報であれば特に限定するものではない。
【００８４】
また、印刷機器の出力構成情報についても、ソータ機能、ステープル機能、出力可能な用紙サイズ、もしくは現在所有している用紙の残量など動的な情報でもよく、出力に関する情報であれば、特に限定するものではない。但し、警告やエラーといった印刷装置自体の状態ではないこととする。
【００８５】
図９は、本代行印刷システムの第３の実施形態の動作を説明するためのフローチャートである。本フローチャートは、説明上の便宜を図るため、前記図８（図６を含む）にて示したフローにより印刷ジョブの種類に応じたフィルタリングを行った後に出力設定に関する情報の再フィルタリングを行っているが、図８で示したフローのループ処理内にて本フローで示すループ処理を行っても構わないものとする。
【００８６】
フローチャートとしては、ジョブを発行しているＰＣにおいて出力先の印刷装置に印刷障害が発生した時点から、図８でのプリンタドライバのフィルタリング処理を行った後に、その代行印刷先の候補プリンタドライバに対して、それぞれ出力先の印刷装置の出力構成情報を取得し、現在停止している印刷ジョブの出力設定情報が満たされるものをフィルタリングする部分のロジックを示している。
【００８７】
図９において、ステップＳ９０１は図８で示した印刷ジョブの種類に応じた代行印刷先のプリンタドライバのフィルタリング処理である。本処理をもって、現在停止中の印刷ジョブが印刷物としては出力可能なプリンタドライバがフィルタリングされた候補リストを所有している状態にあるものとする。
【００８８】
次にステップＳ９０２では、上記ステップＳ９０１でリストアップされた代行印刷先のプリンタドライバの候補リストを取得する。このときに候補リスト内の個数をＭとする。
【００８９】
ステップＳ９０３では、代行印刷を行いたい印刷ジョブの出力設定を取得する。この時に印刷ジョブごとに出力設定が異なるため、複数のジョブがある場合は、各ジョブ単位にて出力設定を取得して、以降の処理を各ジョブ単位で行う必要がある。
【００９０】
ステップＳ９０４では、第３の実施形態で実現する最終的な代行印刷先のプリンタドライバ候補を格納するための候補リストを初期化する。
【００９１】
また、次のステップＳ９０５では、ステップＳ９０２で取得したステップＳ９０１で候補となった候補リストのＭ個分をループするためのループ変数Ｌを１に初期化する。
【００９２】
次のステップＳ９０６では、ループ変数ＬがステップＳ９０２で取得した候補リストのＭに対して全てループしたかを判定する処理である。もしループ変数ＬがＭに対して同じか少ない場合は、ループを継続するためステップＳ９０７に進む。一方、ループ変数ＬがＭより大きい場合は、全プリンタドライバに対して比較処理が終了したと判断し、ステップＳ９１０に進む。
【００９３】
ステップＳ９０７では、ループ変数Ｌ番目のプリンタドライバから出力先となる印刷装置の出力構成情報を取得し、再前記ステップＳ９０３にて取得した印刷ジョブの出力設定を満たす出力設定と比較する。もし印刷装置の出力構成情報が、出力設定を満たす場合は、ステップＳ９０８に進み、最終の代行印刷先のプリンタドライバの候補リストに追加する。一方満たさない場合は、ステップＳ９０９に進む。
【００９４】
ステップＳ９０８では、前記ステップＳ９０７において印刷ジョブの出力設定を満たす印刷装置を有するプリンタドライバと判断したため、代行印刷先の最終候補リストにＬ番目のプリンタドライバを登録する処理を行い、ステップＳ９０９に進む。ステップＳ９０９では、Ｌ番目のプリンタドライバに対する処理が終了となり、次のＬ＋１番目を対象とするためにループ変数Ｌを１増やす処理を行い、ステップＳ９０６に戻る。
【００９５】
ステップＳ９０６で、Ｌ＞Ｍとなった時点で、ステップＳ９０２にて取得した候補リストのプリンタドライバに対して出力先の印刷装置の出力構成情報に対する印刷ジョブの出力設定譲歩との比較が終了となり、ステップＳ９１０に進むこととなる。
【００９６】
ステップＳ９１０では、前記Ｓ９０１―Ｓ９０９で処理した結果、作成された最終的な代行印刷先候補リストを、手動代行時の代行印刷先の選択項目として表示する処理を行う。
【００９７】
以上のステップ処理によって、本代行印刷システムの第３の実施形態の代行印刷先の候補リスト作成及び表示処理が動作する。
【００９８】
以上、説明したように第３の実施形態によれば、ジョブを発行した印刷装置において、第１及び第２の実施形態で示した代行印刷先のプリンタドライバ候補リストの作成に加え、さらに印刷ジョブの出力設定をも実現可能なプリンタドライバを最終候補リストとして提示することが可能となり、特にステープルやソートなどの出力方法が重要となる場合においても、ユーザの所望にする代行印刷処理を満たす代行印刷先の選択候補として提供することが可能となる。
【００９９】
＜第４の実施の形態＞
次に、本代行印刷システムの第４の実施形態について説明する。
【０１００】
第４の実施形態は、これまで示してきた第１乃至第３の実施形態の代行印刷先指定時に表示する代行印刷先候補リストを生成する手法を、ユーザが選択可能とするものである。但し、ここで選択できる候補リストの生成方法は特に第１乃至第３の実施形態の手法に限定する必要はなく、ユーザが使いやすい候補リストの分類があれば何でもよい。
【０１０１】
図１０は、第４の実施形態の画面の表示例を示す。図１０において、１００１は代行印刷先のプリンタドライバ候補リストを生成する手法を選択させる条件入力手段であり、具体的にはラジオコントロールである。本図では「完全互換」、「簡易互換」、そして「全て」という例を示している。この場合、例えば「完全互換」は、出力設定を含む代行印刷を実現可能とする代行印刷先のプリンタドライバ候補リストを生成する処理である。また「簡易互換」は、出力設定についてまでは考慮せず、印刷成果物の各ページの内容が同じになることを実現するプリンタドライバの候補リストを生成する処理である。そして「全て」は全ての登録プリンタドライバを表示する方法で、特にフィルタリングを行わない処理である。
【０１０２】
これら３つの選択項目を代行印刷時にユーザが状況に合わせて選択することで、その選択方法に沿ったプリンタドライバの候補リストが生成される。
【０１０３】
また、１００２は、上記ユーザの選択方法に沿って作成された候補リストを表示するリストコントロールである。
【０１０４】
さらに、図１１は第４の実施形態の動作を説明するためのフローチャートである。このフローチャートは、図１０の１００１のラジオボタンによって選択された候補リスト作成方法に合わせて、候補リストの作成を行い、１００２のリストコントロールに表示するものである。
【０１０５】
図１１において、まずステップＳ１１０１では、現在ＰＣに登録されている全てのプリンタドライバの一覧を取得する。この時の全プリンタドライバ数をＮ個とする。なお、本発明全般に渡って同様であるが、取得した値はメモリ上に値を持っていても、ファイル等に記載しても構わなく、特に取得元は限定するものではない。
【０１０６】
次にステップＳ１１０２では、今回障害が発生した印刷装置は代行先の対象外となるため、前記ステップＳ１１０１で取得したプリンタドライバ一覧から排除する処理を行う。このため残ったプリンタドライバ一覧はＮ−１個のプリンタドライバから構成されることになる。
【０１０７】
次にステップＳ１１０３では、本実施形態で代行先印刷装置の候補として表示される情報を保持する候補リストを初期化する。また、次のステップＳ１１０４では、ステップＳ１１０２で障害プリンタドライバを排除したプリンタドライバ一覧のＮ−１個に対してループ処理を行うための変数Ｌを１に初期化する。
【０１０８】
ステップＳ１１０５では、プリンタドライバ候補リストの生成方法がユーザによって指示される。
【０１０９】
ユーザによって、「完全互換」が指示されれば、処理はステップＳ１１０６に進む。次のステップＳ１１０６では、ループ変数Ｌが障害印刷装置を除去したプリンタドライバ一覧のＮ−１に対して全てループしたかを判定する処理である。もしループ変数ＬがＮ−１に対して同じか少ない場合は、ループを継続するためステップＳ１１０７に進む。一方、ループ変数ＬがＮ−１より大きい場合は、全プリンタドライバに対して比較処理が終了したと判断し、ステップＳ１１１５に進む。
【０１１０】
ステップＳ１１０７では、障害印刷装置を除去したプリンタドライバ一覧におけるループ変数Ｌ番目のプリンタドライバが、印刷障害が発生して代行印刷を要求しているプリンタドライバと同等の印刷エンジンを所有しているか、かつ、出力設定を満足するか（図９のステップＳ９０７と同じ）が判断される。
【０１１１】
ここで記載している同等の印刷エンジンとは、ある印刷ドキュメントをプリンタドライバを用いて印刷装置にて同等の出力結果が得られるＰＤＬファイルを作成できる印刷エンジンでも構わない。従って、ＰＤＬファイルのデータ自体が全く同じとなる印刷エンジンであっても、そうでなくても問題なく、特に限定するものではない。逆に異なる印刷エンジンとは、一方のプリンタドライバで作成されたＰＤＬファイルを別のプリンタドライバの出力先に送信した場合に、全く印刷できない場合や、印刷結果に相違が発生してしまうプリンタドライバの関係を示す。従って単純に異なるデータのＰＤＬファイルを作成してしまうエンジンであっても、印刷装置に出力した際に同等の出力結果が得られれば、異なる印刷エンジンとはならないものとする。例えば、各プリンタは、いかなる印刷出力を出すのかを決定する印刷エンジン構成条件を有し、印刷障害を発生しているプリンタの条件とその他の各プリンタの条件を比較し、合致した場合に同等の印刷エンジンと判断して抽出しても良い。この際、設定によって全ての条件について合致している場合に抽出するようにしなくてもよく、所定の設定個数（ユーザによって設定）の条件が合致するものを選択するようにしてもよい。
【０１１２】
このステップＳ１１０７でＬ番目のプリンタドライバが障害が発生している印刷装置を出力先としているプリンタドライバと同等の印刷エンジンを所有し、かつ出力設定を満足すると判断した場合は、処理はステップＳ１１０８に進み、候補リストの更新を行う。
【０１１３】
一方、異なる印刷エンジン又は出力設定を満足しない場合、処理はステップＳ１１０９に進む。
【０１１４】
ステップＳ１１０８では、前記ステップＳ１１０７で同等の印刷エンジンかつ出力設定満足と判断したため、代行印刷先候補リストにＬ番目のプリンタドライバを登録する処理を行い、ステップＳ１１０９に進む。ステップＳ１１０９では、Ｌ番目のプリンタドライバに対する処理が終了となり、次のＬ＋１番目を対象とするためにループ変数Ｌを１増やす処理を行い、ステップＳ１１０６に戻る。
【０１１５】
ステップＳ１１０６で、Ｌ＞（Ｎ−１）となった時点で、プリンタドライバ一覧内に登録されている全てのプリンタドライバと障害が発生しているプリンタドライバの比較が終了となり、ステップＳ１１１５に進むこととなる。
【０１１６】
他方、ステップＳ１１０５で、ユーザによって、「簡易互換」が指示された場合には、処理はステップＳ１１１０に移行する。ステップＳ１１１０では、ループ変数Ｌが障害印刷装置を除去したプリンタドライバ一覧のＮ−１に対して全てループしたかを判定する処理である。もしループ変数ＬがＮ−１に対して同じか少ない場合は、ループを継続するためステップＳ１１１１に進む。一方、ループ変数ＬがＮ−１より大きい場合は、全プリンタドライバに対して比較処理が終了したと判断し、ステップＳ１１１５に進む。
【０１１７】
ステップＳ１１１１では、障害印刷装置を除去したプリンタドライバ一覧におけるループ変数Ｌ番目のプリンタドライバが、印刷障害が発生して代行印刷を要求しているプリンタドライバと同等の印刷エンジンを所有しているか、又は、出力設定を満足するかが判断される。なお、同等の印刷エンジンとは、上述と同様である。
【０１１８】
このステップＳ１１１１でＬ番目のプリンタドライバが障害が発生している印刷装置を出力先としているプリンタドライバと同等の印刷エンジンを所有するか、又は出力設定を満足すると判断され場合は、処理はステップＳ１１１２に進み、候補リストの更新を行う。
【０１１９】
一方、異なる印刷エンジン又は出力設定を満足しない場合、処理はステップＳ１１１３に進む。
【０１２０】
ステップＳ１１１２では、前記ステップＳ１１１１で同等の印刷エンジン又は出力設定満足と判断したため、代行印刷先候補リストにＬ番目のプリンタドライバを登録する処理を行い、ステップＳ１１１３に進む。ステップＳ１１１３では、Ｌ番目のプリンタドライバに対する処理が終了となり、次のＬ＋１番目を対象とするためにループ変数Ｌを１増やす処理を行い、ステップＳ１１１０に戻る。
【０１２１】
ステップＳ１１１０で、Ｌ＞（Ｎ−１）となった時点で、プリンタドライバ一覧内に登録されている全てのプリンタドライバと障害が発生しているプリンタドライバの比較が終了となり、ステップＳ１１１５に進むこととなる。
【０１２２】
さらに、ステップＳ１１０５において、ユーザによって、「全て」が指示されれば、処理はステップＳ１１１４に進む。ステップＳ１１１４においては、障害が発生しているプリンタドライバ以外の全ドライバが候補リストに登録される。
【０１２３】
そして、以上の処理により、最終的にステップＳ１１１５では、前記Ｓ１１０１―Ｓ１１１４で処理した結果、作成された代行印刷先候補リストを、手動代行時の代行印刷先の選択項目として表示する処理が実行される。
【０１２４】
以上のステップ処理によって、本代行印刷システムの第４の実施形態の代行印刷先の候補リスト作成及び表示処理が動作する。
【０１２５】
以上、説明したように第４の実施の形態によれば、ユーザの選択によって、代行印刷先の表示の態様を変えられるので、そのときの印刷環境やユーザの好みに合わせることができ、非常に便利である。
【０１２６】
なお、図１０では、ラジオボタンで表示選択をユーザにさせるようにしているが、図１２に示されるように、代行先の選択ダイアログが表示され、このダイアログには、履歴による候補プリンタが表示されるようにしてよい。その際、代行先変更の動作は、図１１のように「完全互換」、「簡易互換」、「すべて」の選択により候補プリンタが表示されて行われる。そして、候補プリンタの表示に関しては、次に説明するように、代行に関する履歴を用いてフィルタリングして行うようにしても良い。
【０１２７】
例えば、図１３乃至１５は、代行履歴を用いて候補プリンタを表示する方法を説明するフローチャートである。
【０１２８】
（第１の具体例）
図１３は、代行履歴を用いて候補プリンタを表示する方法の第１の具体例における動作例を示すフローチャートである。
【０１２９】
本フローチャートは、ジョブを発行しているＰＣにおいて出力先の印刷装置に印刷障害が発生した時点から、ＰＣ側が障害を認識した時点における代行印刷先として、前回使用した代行印刷時の印刷装置を代行印刷装置として表示し、ユーザが印刷指示をした際に代行印刷先の履歴情報として記憶するまでの部分のロジックを示したものである。実際にはこの後に代行印刷処理が位置する。（なお、本フローの初期処理である障害通知の取得部分や、本フロー以降の代行印刷処理部分は本発明として言明する部分ではないため、特に公知のものでよく特に限定するものではないため、特に記載しない）。
【０１３０】
図１３において、まずステップＳ１３０１では、印刷障害が発生した印刷装置において、過去に代行印刷を行った代行印刷履歴が存在するか否かを判断する。もし存在する場合はステップＳ１３０２に進む。一方存在しない場合は、処理はステップＳ１３０３に進み、過去に代行印刷を行ったことがないと判断される。なお、本代行印刷履歴を保持する手法／位置については、本発明では特に言明するものではない。
【０１３１】
そして、ステップＳ１３０６においては、今回の代行印刷先の推奨する印刷装置はなしと判断されているため、代行印刷装置の候補として、デフォルトで設定されている印刷装置が表示される。表示画面は、例えば図１６で示したものが用いられる。
【０１３２】
ステップＳ１３０１からステップＳ１３０２に移行した場合には、代行印刷履歴があると判断されたため、本具体例の代行印刷先決定ルールに基づき、その中の現在障害が発生している印刷装置が代行印刷を行った印刷先の最新の履歴（前回値）が、今回の代行印刷の印刷装置と決定される。
【０１３３】
次にステップＳ１３０４では、前記ステップＳ１３０２で決定された代行印刷装置を前記図１４で示した手動代行指示画面にて表示する処理を行う。
【０１３４】
ステップＳ１３０５では、本実施形態の決定ルールに基づき代行印刷先の印刷装置として表示（ステップＳ１３０４）した印刷装置に関して、「代行印刷先の変更の指示があるか」が判断される。指示があると判断された場合には、代行印刷先の変更処理を行いステップＳ１１０４に戻り、変更後の代行印刷先の印刷装置を表示する。なお本発明はあくまで代行印刷装置を表示するものであり、なんらかの理由によりユーザが変更したい場合は、自由に変更可能である。
【０１３５】
一方、ステップＳ１３０５で「代行印刷先の変更の指示がない」と判断された場合、つまり、「代行印刷」がされる場合は、処理はステップＳ１３０７に進み、代行印刷処理が実行される。
【０１３６】
そして、処理はステップＳ１３０８に進み、今回の一連の代行印刷指示及び処理を受け、少なくとも障害が発生した印刷装置と、代行印刷先に指示された印刷装置と、処理日時を有する代行印刷情報を履歴として記憶する処理が行われる。その他の情報は任意であり特に限定するものではない。これらの情報は、以降の代行印刷処理においてステップＳ１３０１で行った判断材料として蓄積されるものとする。
【０１３７】
以上のステップ処理によって、本代行印刷システムの第１の具体例における、印刷障害発生時に代行印刷先に対して前回値を用いた自動表示処理が実行される。
【０１３８】
以上、説明したように第１の具体例によれば、ジョブを発行した印刷装置において、印刷障害が発生時の代行印刷において、前回の代行印刷時に使用した印刷装置を自動的に表示することが可能となり、ユーザに指定させる煩わしい処理を省略することが可能となる。
【０１３９】
（第２の具体例）
次に、代行履歴を用いて候補プリンタを表示する方法の第２の具体例について説明する。第２の具体例は、発行ジョブを送信した印刷装置において印刷障害が発生した場合に、印刷障害が発生した印刷装置の過去の代行印刷先から指定頻度を用いた決定ルールに適した印刷装置を、代行印刷先指定時の代行印刷装置として表示する例である。
【０１４０】
なお、本具体例は、第１の具体例を用いた場合に臨時で一度通常とは異なる印刷装置に対して代行印刷をしてしまった場合に、次回の代行印刷装置が臨時で指定した印刷装置となるのを防止する例である。
【０１４１】
但し、本具体例は、指定頻度の係数等は特に限定するものではない。また、利用する履歴数に関しても最新の１００データでもよく制限しないでもよい。ここでは、指定頻度を用いた決定ルールであることが重要である。
【０１４２】
図１４は、第２の具体例にかかる動作を説明するためのフローチャートである。本フローチャートは、ジョブを発行しているＰＣにおいて出力先の印刷装置に印刷障害が発生した時点から、ＰＣ側が障害を認識した時点における代行印刷先として、代行印刷履歴から指定（使用）頻度を算出し、最も頻度の高い印刷装置を代行印刷装置として表示し、ユーザが印刷指示をした際に代行印刷先の履歴情報として記憶するまでの部分のロジックを示したものである。実際にはこの後に代行印刷処理が位置する。（第１の具体例と同様に、本フローの初期処理である障害通知の取得部分や、本フロー以降の代行印刷処理部分は本発明として言明する部分ではないため、特に公知のものでよく特に限定するものではないため、特に記載しない）。
【０１４３】
図１４で示される動作は、印刷ジョブを実行時に出力先印刷装置に障害が発生した状態において開始される。
【０１４４】
図１４において、図１３で既に説明したステップＳ１３０１、Ｓ１３０３−Ｓ１３０８の処理は図１１での説明と同様であるため説明は省略する。ステップＳ１３０２はステップＳ１４０１で置き換えられている。
【０１４５】
ステップＳ１４０１では、現在障害が発生している印刷装置の過去の代行印刷履歴を取得し、取得した代行印刷履歴中で任意の指定頻度用係数を用いて、代行印刷装置として指定頻度の一番高い印刷装置を今回の代行印刷装置として決定する。以降はステップＳ１３０４にてその情報を表示するという流れになる。
【０１４６】
以上のステップ処理によって、第１の具体例の印刷障害発生時に代行印刷先に指定頻度を用いた代行印刷装置の決定を行い、自動表示処理が動作する。  
以上、説明したように第２の具体例によれば、ジョブを発行した印刷装置において、印刷障害が発生時の代行印刷を行う場合、前回と同じ代行印刷装置を使用する場合に比べて、臨時で一度通常とは異なる印刷装置に対して代行印刷をしてしまった場合においても、次回の代行印刷装置が臨時で変更して利用した印刷装置となるのを防止することが可能となり、ユーザに指定させる煩わしい処理を省略することが可能となる。
【０１４７】
（第３の具体例）
次に、代行履歴を用いて候補プリンタを表示する方法の第３の具体例について説明する。本具体例は、前記第１又は第２の具体例にて示した代行印刷履歴を元に各決定ルールに基づき、決定した代行印刷装置がエラー等で使用不可能な場合や既に削除されている場合に対象外として、改めて各決定ルールを適用した代行印刷装置を決定する実施例である。ここで示すエラーとは、例えば「紙切れ」であっても「トナー切れ」であっても、また「紙詰まり」であってもよく、代行印刷処理ができないと判断されるものであれば、特に限定するものではない。またこれらのエラーの種類を設定することができてもよい。また単にエラーではなく、実際には使用可能であるが、ジョブのキューが１００ジョブ以上もスタックされているため、すぐに印刷できないものを印刷不可能と判断するようにしてもよい。
【０１４８】
図１５は、第３の具体例の動作を説明するためのフローチャートである。本フローチャートは、前記第１及び第２の具体例のフローチャートと同様で、ジョブを発行しているＰＣにおいて出力先の印刷装置に印刷障害が発生した時点から、ＰＣ側が障害を認識した時点における代行印刷先として、決定ルールに則して代行印刷装置を決定し／表示し、ユーザが印刷指示をした際に代行印刷先の履歴情報として記憶するまでの部分のロジックを示したものである。但し、決定ルールにおいて、印刷不可能な印刷装置が選択されてしまった場合は、その印刷装置を対象外として再度決定ルールに則して代行印刷装置を決定することが特長となる。
【０１４９】
図１５の動作は、印刷ジョブを実行時に出力先印刷装置に障害が発生した状態において開始される。
【０１５０】
図示において、図１３で既に説明したステップＳ１３０１、Ｓ１３０３−Ｓ１３０８（Ｓ１３０２を除く）の処理は図１３での説明と同様であるため説明は省略する。
【０１５１】
ステップＳ１５０１は、ステップＳ１３０１において、印刷障害が発生した印刷装置に過去の代行印刷履歴があった場合に行われる処理であり、代行印刷履歴に記憶されている印刷装置のリストアップ処理を行う。また、後述のステップＳ１５０５からの移行においては、今回除外となった候補を排除したリストの更新を行う。
【０１５２】
次にステップＳ１５０２は、ステップＳ１５０１にて更新された候補リストが０個か否かを判断する。初回の場合は必ず候補が１つ以上ある処理であるが、Ｓ１５０５経由のループによって候補がなくなる場合を考慮した判断処理である。もし候補がない場合は、ステップＳ１３０３に進み、今回の代行印刷先の決定ルールによる候補表示はないと判断される。
【０１５３】
一方、ステップＳ１５０２において候補が１つ以上ある場合、処理はステップＳ１５０３に進む。ステップＳ１５０３では、第１又は第２の具体例で示した決定ルールに則し代行印刷装置を決定する。
【０１５４】
次にステップＳ１５０４では、前記ステップＳ１５０３で確定した印刷装置の現在の状態を取得し、現在使用可能か否かが判断される。使用可能な場合はステップＳ１５０３で確定した印刷装置を代行印刷装置として表示する処理に進む（以下の処理は説明省略）。
【０１５５】
一方、ステップＳ１５０４で使用不可と判断された場合は、処理はステップＳ１５０５に進む。
【０１５６】
ステップＳ１５０５では、ステップＳ１５０３で決定した代行印刷装置が使用不可能と判断されたため、現在の代行印刷処理においては、対象外の印刷装置とする処理がされる。この処理後はステップＳ１５０１に進む。
【０１５７】
以上のステップＳ１５０１―Ｓ１５０５を繰り返すことにより、ステップＳ１５０２にて候補なしとなるか、ステップＳ１５０４にて決定した代行印刷装置が使用可能と判断されるかにより、本ループを終了することとなる。
【０１５８】
以上のステップ処理によって、第３の具体例による代行印刷先の候補リスト作成及び表示処理が動作する。
【０１５９】
以上、説明したように第３の具体例によれば、ジョブを発行した印刷装置において、印刷障害が発生時の代行印刷を行う場合、前記第１及び第２の実施形態で記載した処理に加え、さらに代行印刷装置と確定した印刷装置が使用可能であることも保証されるため、ユーザが印刷装置の状態を意図的に確認することなく所望の手動代行印刷処理が可能となる。
【０１６０】
以上、説明したように第４の実施の形態によれば、ジョブを発行した印刷装置において、第１乃至第３の実施形態のような代行印刷先のプリンタドライバ候補の各候補リスト作成方法の切替ができることから、状況に応じてユーザの所望にする代行印刷処理を満たす代行印刷先の選択候補を提供することが可能となる。
【０１６１】
上記構成からなる本発明の代行印刷プリンタシステムによれば、ネットワーク上に接続している印刷装置に印字障害が発生した場合に行われる代行印刷処理において、代行先印刷装置を指定する際に、不正な出力結果となってしまうプリンタドライバ（印刷装置）を指定してしまう操作を未然に防ぐことが可能になり、効率のよい代行印刷システムの運用が可能となる。
【０１６２】
また、ユーザが所望とするレベルの代行印刷結果を満たすプリンタドライバをその都度、代行印刷先の候補リストとして提供することで、ユーザは状況に応じた的確な代行印刷先のプリンタドライバを容易に選択することが可能となる。
【０１６３】
＜その他＞
各実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１６４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれている。
【０１６５】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【０１６６】
【図１】本発明を適用するネットワークシステムの構成例を示す図である。
【図２】本発明を適用したパーソナルコンピュータ（ＰＣ）の構成例を示すブロック図である。
【図３】本発明を適用する印刷ジョブ制御システムのブロック図である。
【図４】本発明を適用する印刷ジョブ制御システムにおけるプリントジョブの処理の流れを説明する図である。
【図５】本発明における手動代行時のプリンタドライバの選択画面例を示す図である。
【図６】第１の実施形態における代行先候補を通知する動作を説明するためのフローチャートである。
【図７】本発明における「再スプーリング」に関する説明図である。
【図８】第２の実施形態における代行先候補を通知する動作を説明するためのフローチャートである。
【図９】第３の実施形態における代行先候補を通知する動作を説明するためのフローチャートである。
【図１０】本発明の第４の実施形態で用いられる表示画面例を示す図である。
【図１１】第４の実施形態における代行先候補を通知する動作を説明するためのフローチャートである。
【図１２】本発明の第４の実施形態で用いられる表示画面の別の例を示す図である。
【図１３】第４の実施形態の説明で用いられる第１の具体例の動作を示すフローチャートである。
【図１４】第４の実施形態の説明で用いられる第２の具体例の動作を示すフローチャートである。
【図１５】第４の実施形態の説明で用いられる第３の具体例の動作を示すフローチャートである。
【図１６】デフォルトの代行先が表示される場合の表示画面例を示す図である。
【図１】
2005165774.tif 000003
【図２】
2005165774.tif 000004
【図３】
2005165774.tif 000005
【図４】
2005165774.tif 000006
【図５】
2005165774.tif 000007
【図６】
2005165774.tif 000008
【図７】
2005165774.tif 000009
【図８】
2005165774.tif 000010
【図９】
2005165774.tif 000011
【図１０】
2005165774.tif 000012
【図１１】
2005165774.tif 000013
【図１２】
2005165774.tif 000014
【図１３】
2005165774.tif 000015
【図１４】
2005165774.tif 000016
【図１５】
2005165774.tif 000017
【図１６】
2005165774.tif 000018