(57)【特許請求の範囲】
【請求項１】
印刷装置における印刷ジョブの実行結果を取得する取得手段と、
前記取得手段により取得された印刷ジョブの実行結果に基づいて、前記印刷ジョブの印刷設定に対応する処理が実行されたか否かを判定する第１の判定手段と、
前記第１の判定手段により、前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定されると、少なくとも前記印刷装置に対して前記印刷設定を適用することを禁止するために、前記印刷設定をコンフリクト情報として記憶媒体に記憶する記憶手段と、
ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記コンフリクト情報に基づいて判定する第２の判定手段と、
前記第１の判定手段により前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定された場合、前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されているか否かを判定する印刷設定判定手段とを有し、
前記印刷設定判定手段により前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されていると判定された場合、前記記憶手段は、前記印刷設定による印刷の実績がない印刷装置に対しても前記印刷設定を適用することを禁止するために、前記印刷設定を共通コンフリクト情報として記憶し、
前記記憶手段により前記共通コンフリクト情報が記憶された場合、前記第２の判定手段は、ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記共通コンフリクト情報に基づいて判定することを特徴とする情報処理装置。
【請求項２】
前記第２の判定手段による判定を行うか否かを、ユーザによって予め登録された情報に基づいて判定する第３の判定手段を有し、
前記第２の判定手段は、前記第３の判定手段により、前記第２の判定手段による判定を行うと判定された場合に、前記ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の判定手段により、前記印刷ジョブの印刷設定に対応する処理が前記印刷装置において実行されたと判定されると、その印刷設定を記憶媒体に保存する保存手段と、
前記第２の判定手段により、前記印刷ジョブの印刷設定に対応する処理が前記印刷ジョブの出力先である印刷装置において実行されないと判定されると、前記印刷設定の代わりとなる印刷設定を、前記保存手段により保存された印刷設定の中から検索する検索手段と、
前記検索手段により検索された印刷設定をユーザに報知する報知手段とを有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記印刷ジョブの印刷設定が、汎用の印刷設定フォーマットで記述されている場合に、その汎用の印刷設定フォーマットの内容が、前記印刷ジョブの出力先である印刷装置で対応できるものか否かを判定する第４の判定手段と、
前記第４の判定手段により、前記汎用の印刷設定フォーマットの内容が、前記印刷ジョブの出力先である印刷装置で対応できるものでないと判定された場合には、少なくとも、前記印刷ジョブの出力先である印刷装置で対応できない部分の内容を、前記印刷ジョブの出力先である印刷装置で対応できるものに書き換える書き換え手段とを有することを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
前記汎用の印刷設定フォーマットの内容の代わりとなる代替設定があるか否かを判定する第５の判定手段を有し、
前記第４の判定手段は、前記第５の判定手段により、前記汎用の印刷設定フォーマットの内容の代わりとなる代替設定があると判定されると、前記汎用の印刷設定フォーマットの内容が、前記印刷ジョブの出力先である印刷装置で対応できるものか否かを判定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第４の判定手段は、前記第１の判定手段により、前記印刷ジョブの印刷設定に対応する処理が、前記印刷装置において実行されなかったと判定された場合に、前記汎用の印刷設定フォーマットの内容が、前記印刷ジョブの出力先である印刷装置で対応できるものか否かを判定することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記記憶手段は、前記第１の判定手段により、印刷設定に対応する処理を実行しなかったと判定された回数が閾値以上の場合に、前記印刷設定を前記共通コンフリクト情報として記憶することを特徴とする請求項１〜６の何れか１項に記載の情報処理装置。
【請求項８】
外部のクライアント装置から印刷ジョブを受信する受信手段と、
前記受信手段により受信された印刷ジョブを印刷装置に送信する送信手段とを有することを特徴とする請求項１〜７の何れか１項に記載の情報処理装置。
【請求項９】
前記印刷装置と異なる印刷装置が、前記印刷ジョブの印刷設定の通りに、前記印刷装置が前記印刷ジョブを実行するか否かをテストするテスト手段を有することを特徴とする請求項１〜８の何れか１項に記載の情報処理装置。
【請求項１０】
情報処理装置により実行される印刷設定制御方法であって、
印刷装置における印刷ジョブの実行結果を取得する取得ステップと、
前記取得ステップにより取得された印刷ジョブの実行結果に基づいて、前記印刷ジョブの印刷設定に対応する処理が実行されたか否かを判定する第１の判定ステップと、
前記第１の判定ステップにより、前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定されると、少なくとも前記印刷装置に対して前記印刷設定を適用することを禁止するために、前記印刷設定をコンフリクト情報として記憶媒体に記憶する記憶ステップと、
ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記コンフリクト情報に基づいて判定する第２の判定ステップと、
前記第１の判定ステップにより前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定された場合、前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されているか否かを判定する印刷設定判定ステップとを有し、
前記印刷設定判定ステップにより前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されていると判定された場合、前記記憶ステップは、前記印刷設定による印刷の実績がない印刷装置に対しても前記印刷設定を適用することを禁止するために、前記印刷設定を共通コンフリクト情報として記憶し、
前記記憶ステップにより前記共通コンフリクト情報が記憶された場合、前記第２の判定ステップは、ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記共通コンフリクト情報に基づいて判定することを特徴とする印刷設定制御方法。
【請求項１１】
印刷装置における印刷ジョブの実行結果を取得する取得ステップと、
前記取得ステップにより取得された印刷ジョブの実行結果に基づいて、前記印刷ジョブの印刷設定に対応する処理が実行されたか否かを判定する第１の判定ステップと、
前記第１の判定ステップにより、前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定されると、少なくとも前記印刷装置に対して前記印刷設定を適用することを禁止するために、前記印刷設定をコンフリクト情報として記憶媒体に記憶する記憶ステップと、
ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記コンフリクト情報に基づいて判定する第２の判定ステップと、
前記第１の判定ステップにより前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定された場合、前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されているか否かを判定する印刷設定判定ステップとをコンピュータに実行させ、
前記印刷設定判定ステップにより前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されていると判定された場合、前記記憶ステップは、前記印刷設定による印刷の実績がない印刷装置に対しても前記印刷設定を適用することを禁止するために、前記印刷設定を共通コンフリクト情報として記憶し、
前記記憶ステップにより前記共通コンフリクト情報が記憶された場合、前記第２の判定ステップは、ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記共通コンフリクト情報に基づいて判定することを特徴とするコンピュータプログラム。
【請求項１２】
前記第２の判定ステップによる判定を行うか否かを、ユーザによって予め登録された情報に基づいて判定する第３の判定ステップをさらにコンピュータに実行させ、
前記第２の判定ステップは、前記第３の判定ステップにより、前記第２の判定ステップによる判定を行うと判定された場合に、前記ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを判定することを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記第１の判定ステップにより、前記印刷ジョブの印刷設定に対応する処理が前記印刷装置において実行されたと判定されると、その印刷設定を記憶媒体に保存する保存ステップと、
前記第２の判定ステップにより、前記印刷ジョブの印刷設定に対応する処理が前記印刷ジョブの出力先である印刷装置において実行されないと判定されると、前記印刷設定の代わりとなる印刷設定を、前記保存ステップにより保存された印刷設定の中から検索する検索ステップと、
前記検索ステップにより検索された印刷設定をユーザに報知する報知ステップとをさらにコンピュータに実行させることを特徴とする請求項１１又は１２に記載のコンピュータプログラム。
【請求項１４】
前記印刷ジョブの印刷設定が、汎用の印刷設定フォーマットで記述されている場合に、その汎用の印刷設定フォーマットの内容が、前記印刷ジョブの出力先である印刷装置で対応できるものか否かを判定する第４の判定ステップと、
前記第４の判定ステップにより、前記汎用の印刷設定フォーマットの内容が、前記印刷ジョブの出力先である印刷装置で対応できるものでないと判定された場合には、少なくとも、前記印刷ジョブの出力先である印刷装置で対応できない部分の内容を、前記印刷ジョブの出力先である印刷装置で対応できるものに書き換える書き換えステップとをさらにコンピュータに実行させることを特徴とする請求項１１〜１３の何れか１項に記載のコンピュータプログラム。
【請求項１５】
前記汎用の印刷設定フォーマットの内容の代わりとなる代替設定があるか否かを判定する第５の判定ステップをさらにコンピュータに実行させ、
前記第４の判定ステップは、前記第５の判定ステップにより、前記汎用の印刷設定フォーマットの内容の代わりとなる代替設定があると判定されると、前記汎用の印刷設定フォーマットの内容が、前記印刷ジョブの出力先である印刷装置で対応できるものか否かを判定することを特徴とする請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記第４の判定ステップは、前記第１の判定ステップにより、前記印刷ジョブの印刷設定に対応する処理が、前記印刷装置において実行されなかったと判定された場合に、前記汎用の印刷設定フォーマットの内容が、前記印刷ジョブの出力先である印刷装置で対応できるものか否かを判定することを特徴とする請求項１４又は１５に記載のコンピュータプログラム。
【請求項１７】
前記記憶ステップは、前記第１の判定ステップにより、印刷設定に対応する処理を実行しなかったと判定された回数が閾値以上の場合に、前記印刷設定を前記共通コンフリクト情報として記憶することを特徴とする請求項１１〜１６の何れか１項に記載のコンピュータプログラム。
【請求項１８】
外部のクライアント装置から印刷ジョブを取得する取得ステップと、
前記取得ステップにより取得された印刷ジョブを印刷装置に送信するための処理を行う送信ステップとをさらにコンピュータに実行させることを特徴とする請求項１１〜１７の何れか１項に記載のコンピュータプログラム。
【請求項１９】
前記印刷装置と異なる印刷装置が、前記印刷ジョブの印刷設定の通りに、前記印刷装置が前記印刷ジョブを実行するか否かをテストすることを特徴とする請求項１１〜１８の何れか１項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷設定制御方法、及びコンピュータプログラムに関し、特に、印刷設定のコンフリクト（禁則）に対する処理を行うために用いて好適なものである。
【背景技術】
【０００２】
従来から、印刷設定のコンフリクト処理（理論的に意味のない設定や、プリンタで処理できない設定を禁則させる処理）に関する技術が提案されている（特許文献１を参照）。この技術では、システムに予め登録した複数のコンフリクト処理ルールを纏めたコンフリクト処理ルールを基に、補完的に成立するコンフリクトルールを自動生成し、自動生成したコンフリクトルールを用いて印刷設定に必要なコンフリクト処理を実行する。
【０００３】
【特許文献１】特開２００２−２０２８６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ＰＯＤ（Print On Demand）等の商業印刷系のワークフローでは、膨大な"用紙種及び用紙サイズ"への対応や、例外設定（全体設定に対して、指定されたページ範囲のみ異なる設定にすること）への対応等が必要になる。したがって、ＰＯＤ等の商業印刷系のワークフローでは、印刷設定の項目の追加により、印刷設定の組み合わせパターンが激増してきている。
このため、前述した特許文献１に記載のコンフリクト処理のように、コンフリクト処理ルールをシステムに予め登録する方式で処理を行うと以下のような問題があった。
【０００５】
（１）潜在障害の増加
印刷設定の組み合わせが膨大となりコンフリクト処理ルールに漏れが発生するという課題があった。そうすると、本来コンフリクト処理を行わなくてはいけないケースであっても処理されずに潜在障害となる。
（２）コンフリクト処理の端折り
膨大な印刷設定の組み合わせのパターンに対応するために、一部の設定に関してはコンフリクト処理を行わないといった仕様的な割り切りにより、プリンタで処理できない設定がプリンタに送信され、印刷処理がエラーとなる課題があった。
【０００６】
（３）ノウハウの共有
印刷設定が複雑化しているため、問題があった設定情報の共有が難しいという課題があった。このためユーザが異なると同じ失敗をしてしまう。
（４）コンフリクト処理の導入が困難
印刷設定の組み合わせのパターン増加により、処理が複雑化するという課題があった、このため、コンフリクト処理の導入には多大な工数が発生し、コンフリクト処理をシステムに容易に導入できない。
【０００７】
本発明は、このような問題点に鑑みてなされたものであり、コンフリクト処理を従来よりも正確に実行することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、印刷装置における印刷ジョブの実行結果を取得する取得手段と、前記取得手段により取得された印刷ジョブの実行結果に基づいて、前記印刷ジョブの印刷設定に対応する処理が実行されたか否かを判定する第１の判定手段と、前記第１の判定手段により、前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定されると、少なくとも前記印刷装置に対して前記印刷設定を適用することを禁止するために、前記印刷設定をコンフリクト情報として記憶媒体に記憶する記憶手段と、ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記コンフリクト情報に基づいて判定する第２の判定手段と、前記第１の判定手段により前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定された場合、前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されているか否かを判定する印刷設定判定手段とを有し、前記印刷設定判定手段により前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されていると判定された場合、前記記憶手段は、前記印刷設定による印刷の実績がない印刷装置に対しても前記印刷設定を適用することを禁止するために、前記印刷設定を共通コンフリクト情報として記憶し、前記記憶手段により前記共通コンフリクト情報が記憶された場合、前記第２の判定手段は、ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記共通コンフリクト情報に基づいて判定することを特徴とする。
【０００９】
本発明の印刷設定制御方法は、情報処理装置により実行される印刷設定制御方法であって、印刷装置における印刷ジョブの実行結果を取得する取得ステップと、前記取得ステップにより取得された印刷ジョブの実行結果に基づいて、前記印刷ジョブの印刷設定に対応する処理が実行されたか否かを判定する第１の判定ステップと、前記第１の判定ステップにより、前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定されると、少なくとも前記印刷装置に対して前記印刷設定を適用することを禁止するために、前記印刷設定をコンフリクト情報として記憶媒体に記憶する記憶ステップと、ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記コンフリクト情報に基づいて判定する第２の判定ステップと、前記第１の判定ステップにより前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定された場合、前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されているか否かを判定する印刷設定判定ステップとを有し、前記印刷設定判定ステップにより前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されていると判定された場合、前記記憶ステップは、前記印刷設定による印刷の実績がない印刷装置に対しても前記印刷設定を適用することを禁止するために、前記印刷設定を共通コンフリクト情報として記憶し、前記記憶ステップにより前記共通コンフリクト情報が記憶された場合、前記第２の判定ステップは、ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記共通コンフリクト情報に基づいて判定することを特徴とする。
【００１０】
本発明のコンピュータプログラムは、印刷装置における印刷ジョブの実行結果を取得する取得ステップと、前記取得ステップにより取得された印刷ジョブの実行結果に基づいて、前記印刷ジョブの印刷設定に対応する処理が実行されたか否かを判定する第１の判定ステップと、前記第１の判定ステップにより、前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定されると、少なくとも前記印刷装置に対して前記印刷設定を適用することを禁止するために、前記印刷設定をコンフリクト情報として記憶媒体に記憶する記憶ステップと、ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記コンフリクト情報に基づいて判定する第２の判定ステップと、前記第１の判定ステップにより前記印刷ジョブの印刷設定に対応する処理が実行されなかったと判定された場合、前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されているか否かを判定する印刷設定判定ステップとをコンピュータに実行させ、前記印刷設定判定ステップにより前記印刷設定と同一の印刷設定が既に前記記憶媒体に記憶されていると判定された場合、前記記憶ステップは、前記印刷設定による印刷の実績がない印刷装置に対しても前記印刷設定を適用することを禁止するために、前記印刷設定を共通コンフリクト情報として記憶し、前記記憶ステップにより前記共通コンフリクト情報が記憶された場合、前記第２の判定ステップは、ユーザにより実行が指示された印刷ジョブの印刷設定に対応する処理が、前記印刷ジョブの出力先である印刷装置において実行されるか否かを、前記共通コンフリクト情報に基づいて判定することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、過去の実績に基づいて、ユーザにより指定された印刷設定での印刷を禁止させることができる。よって、コンフリクト処理を従来よりも正確に実行することができる。
【発明を実施するための最良の形態】
【００１２】
（第１の実施形態）
以下、本発明の第１の実施形態について図面を参照して詳細に説明する。
＜システム構成及び動作＞
図１は、印刷管理システムの構成の一例を示したブロック図である。
図１において、クライアントコンピュータ１０２〜１０４は、情報処理装置であり、イーサネット（登録商標）等のネットワークケーブルを介して、ネットワーク１０７に接続されている。クライアントコンピュータ１０２〜１０４は、アプリケーションプログラム等の各種のプログラムを実行することが可能である。また、クライアントコンピュータ１０２〜１０４には、ネットワークプリンタ１０５、１０６に対応するプリンタ言語に印刷データを変換する機能を有するプリンタドライバがインストールされている。尚、クライアントコンピュータ１０２〜１０４は、複数のプリンタドライバを登録することが可能なものとする。
図１では、３つのクライアントコンピュータ１０２〜１０４が印刷管理システムに設けられた場合を例に挙げて示している。しかしながら、クライアントコンピュータの数は、３つに限定されるものではなく、１つ以上あれば幾つであってもよい。
【００１３】
プリントサーバ１０１は、情報処理装置であり、ネットワークケーブルを介して、ネットワーク１０７に接続されている。プリントサーバ１０１は、ネットワーク１０７で使用されるファイルを蓄積したり、ネットワーク１０７の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０７に接続されている複数のネットワークプリンタ１０５、１０６を管理している。
尚、クライアントコンピュータ１０２〜１０４とプリントサーバ１０１とは、一般的な情報処理装置に、夫々異なる制御を行う印刷制御プログラムを実行可能に格納することにより構成することができる。
また、プリントサーバ１０１として一般的な情報処理装置を用いた場合、クライアントコンピュータ１０２〜１０４の機能を、プリントサーバ１０１に同時に持たせることもできる。
【００１４】
プリントサーバ１０１は、印字データを含む印刷ジョブを、クライアントコンピュータ１０２〜１０４から受け取ると、その印刷ジョブを記憶媒体に格納し、記憶媒体に格納した印刷ジョブを、ネットワークプリンタ１０５、１０６に出力して印刷させる。プリントサーバ１０１は、ネットワークプリンタ１０５、１０６の印刷結果やジョブのステータス等の印刷ジョブの各種情報を取得し、取得した各種情報を、クライアントコンピュータ１０２〜１０４に通知する。
【００１５】
ネットワークプリンタ１０５、１０６は、ネットワークインタフェースを介して、ネットワーク１０７に接続されている。ネットワークプリンタ１０５、１０６は、クライアントコンピュータ１０２〜１０４から、印字データを含む印刷ジョブが送信されると、その印刷ジョブを解析して、印字データを１ページずつドットイメージに変換する。そして、ネットワークプリンタ１０５、１０６は、ドットイメージに変換した印字データを、１ページ毎に印刷する（印刷ジョブを実行する）。ネットワークプリンタ１０５、１０６は、ＩＳＯ１０１７５（ＤＰＡ：Document Printing Application）で規定されている印刷ジョブの管理機能を、プリントサーバ及びクライアントの少なくとも何れか１つへ提供できる。
【００１６】
尚、図１では、２つのネットワークプリンタ１０５、１０６が印刷管理システムに設けられた場合を例に挙げて示している。しかしながら、ネットワークプリンタの数は、２つに限定されるものではなく、１つ以上あれば幾つであってもよい。
また、ネットワークプリンタ１０５、１０６として、例えば、レーザービームプリンタや、インクジェットプリンタや、デジタル複合機等、様々な方式で印刷を行う印刷装置を適用することが可能である。
ネットワーク１０７は、クライアントコンピュータ１０２〜１０４、プリントサーバ１０１、及びネットワークプリンタ１０５、１０６等を相互に通信可能に接続するためのものである。ネットワーク１０７は、例えば、インターネットやＬＡＮ（Local Area Network）等を用いて実現される。
【００１７】
図２は、クライアントコンピュータ１０２〜１０４及びプリントサーバ１０１として利用可能な情報処理装置におけるハードウェアの構成の一例を示したブロック図である。
クライアントコンピュータ１０２〜１０４及びプリントサーバ１０１は、同様のハードウェア構成を有した情報処理装置によって実現することが可能である。
図２において、ＣＰＵ２００は、情報処理装置の制御手段である。ＣＰＵ２００は、ハードディスク（ＨＤ）２０５等に格納されているプログラムを実行する。ＣＰＵ２００が実行するプログラムとしては、例えば、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ（Operating System）、及びネットワークプリンタ制御プログラム等がある。また、ＣＰＵ２００は、プログラムを実行しているときに、プログラムの実行に必要な情報やファイル等をＲＡＭ２０２に一時的に格納する制御を行う。
【００１８】
ＲＯＭ２０１は、例えば、基本Ｉ／Ｏプログラム等のプログラムと、文書処理の際に使用するフォントデータやテンプレート用データ等の各種データとを記憶する記憶媒体である。ＲＡＭ２０２は、データを一時的に記憶する記憶媒体であり、ＣＰＵ２００の主メモリやワークエリア等として機能する。
フレキシブルディスク（ＦＤ）ドライブ２０３は、記憶媒体としてのフレキシブルディスク（ＦＤ）２０４に記憶されたプログラム等を、情報処理装置にロードするために使用されるものである。尚、記憶媒体は、ＦＤに限られない。ＦＤの代わりに、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意の記憶媒体を利用することができる。
【００１９】
ハードディスク（ＨＤ）２０５は、外部記憶装置の一つであり、大容量メモリとして機能する。ＨＤ２０５には、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、及び関連プログラム等が格納されている。また、スプーラはこのＨＤ２０５に格納される。尚、スプーラは、クライアントコンピュータ１０２〜１０４ではクライアントスプーラのことであり、プリントサーバ１０１ではサーバスプーラのことである。また、プリントサーバ１０１では、クライアントコンピュータ１０２〜１０４から受け取った印刷ジョブの情報や、印刷順序の制御を行うためのテーブルもこのＨＤ２０５に格納される。
【００２０】
ＵＩ（User Interface）２０６は、ユーザが指示入力を行うためのユーザインターフェースである。具体的にＵＩ２０６は、キーボードとマウスとを備えている。ユーザは、ＵＩ２０６が備えるキーボードやマウスを用いることにより、情報処理装置（クライアントコンピュータ１０２〜１０４、プリントサーバ１０１）に対して、ネットワークプリンタ１０５、１０６への制御コマンドの命令等を入力指示する。
【００２１】
ディスプレイ２０７は、ＵＩ２０６から入力された制御コマンドや、ネットワークプリンタ１０５、１０６の状態等を表示する。ディスプレイ２０７は、例えば、ＬＣＤ（Liquid Crystal Display）を用いて実現することができる。システムバス２０８は、情報処理装置（クライアントコンピュータ１０２〜１０４、プリントサーバ１０１）内のデータの伝送経路である。インタフェース２０９は、情報処理装置（クライアントコンピュータ１０２〜１０４、プリントサーバ１０１）を、ネットワーク１０７に接続するためのものである。情報処理装置（クライアントコンピュータ１０２〜１０４、プリントサーバ１０１）は、インタフェース２０９を介して外部装置とデータのやり取りを行うことが可能となる。
【００２２】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
ＦＤ２０４に格納されているネットワークプリンタ制御プログラムは、ＲＡＭ２０２にロードされることにより、実行可能となる。図３では、このようにして実行可能となった状態のメモリマップを示している。
図３において、基本Ｉ／Ｏプログラム３０１は、情報処理装置の電源がＯＮされたときに、ＨＤ２０５からＯＳをＲＡＭ２０２に展開し、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能等を有しているプログラムを含む。ＯＳ３０２、ネットワークプリンタ制御プログラム３０３、及び関連データ３０４は、それぞれＲＡＭ２０２に確保された領域に記憶される。ワークエリア３０５は、ＣＰＵ２００がネットワークプリンタ制御プログラム３０３等を実行する際に利用される作業領域である。
【００２３】
尚、本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラム及び関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、必ずしもこのようにする必要はない。例えば、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にネットワークプリンタ制御プログラムをロードするようにしてもよい。
また、ネットワークプリンタ制御プログラム３０３を記憶する記憶媒体は、ＦＤ２０４に限定されず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカード等であってもよい。更に、ネットワークプリンタ制御プログラム３０３をＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成することによって、ネットワークプリンタ制御プログラム３０３をＣＰＵ２００で直接実行することも可能である。
また、以上の各装置と同等の機能を実現するソフトウェアを、ハードウェア装置の代替として構成することもできる。
【００２４】
尚、以下の説明では、ネットワークプリンタ制御プログラム３０３のことを、印刷制御プログラム３０３と称する。印刷制御プログラム３０３は、クライアントコンピュータ１０２〜１０４が、印刷ジョブの印刷先を指示したりするための制御を行うプログラムを含む。また、印刷制御プログラム３０３は、プリントサーバ１０１が印刷ジョブの印刷終了や印刷先変更要求等を通知したりするためのプログラムを含む。
【００２５】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
図４において、ＦＤ２０４には、データの情報を示すボリューム情報４０１と、ディレクトリ情報４０２と、図３に示したようにしてＲＡＭ２０２に展開される印刷制御プログラム４０３と、印刷制御プログラム４０３の関連データ４０４とが格納されている。印刷制御プログラム４０３は、本実施形態で説明するフローチャートに基づいてプログラム化されたものである。ＦＤ２０４に格納されている印刷制御プログラム４０３が、図３に示したように印刷制御プログラム３０３としてＲＡＭ２０２にロードされる。尚、前述したように、本実施形態では、クライアントコンピュータ１０２〜１０４及びプリントサーバ１０１には、同じ印刷制御プログラム４０３がＲＡＭ２０２にロードされる構成をとっている。
【００２６】
図５は、ＦＤドライブ２０３と、そのＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係の一例を示す図である。図５において、ＦＤ２０４には、本実施形態で説明するフローチャートやタイムチャートに基づいてプログラム化された印刷制御プログラム４０３や、その関連データ４０４等が格納されている。
【００２７】
図６は、クライアントコンピュータ１０２と、プリントサーバ１０１と、ネットワークプリンタ１０５との機能的な構成の一例を示したブロック図である。尚、クライアントコンピュータ１０２〜１０４の機能的な構成は同じであり、また、ネットワークプリンタ１０５、１０６の構成も同じである。よって、ここでは、クライアントコンピュータ１０２とネットワークプリンタ１０５の構成のみを説明し、その他の構成の説明を省略する。
【００２８】
クライアントコンピュータ１０２が有する印刷設定部６０１は、印刷ジョブに設定する印刷体裁指示として、印刷部数、ステイプル、面付け情報、パンチ指示等の表示を行う。また、印刷設定部６０１は、印刷設定にコンフリクトがあった場合には、その印刷設定に対するメッセージの表示を行ったり、設定項目のグレーアウトといった方法を用いて印刷設定を無効にしたりする機能を有する。尚、コンフリクトがあるとは、印刷ジョブに対して指定された印刷設定が、理論的に意味のない設定や、その印刷ジョブの出力先であるプリンタ（例えばネットワークプリンタ１０５）で処理できない設定であることをいう。また、以下の説明では、印刷設定を、必要に応じて設定と略称する。
【００２９】
コンフリクト処理部６０４は、印刷設定部６０１の設定に対して、コンフリクト処理を行う機能を提供する。前述したように、コンフリクト処理とは、理論的に意味のない設定（例えば、ＯＨＰ用紙に両面印刷を行うという設定）や、プリンタで処理できない設定がなされた場合に、その設定を禁止させる処理である。コンフリクトルールＤＢ６０６、デバイスコンフリクトルールＤＢ６０５は、そのコンフリクト処理を行うためのルールを記憶したデータベース（ＤＢ）である。コンフリクトルールＤＢ６０６には、予め登録されるコンフリクトルールが記憶されている。一方、デバイスコンフリクトルールＤＢ６０５には、印刷ジョブを実行した結果から得られるコンフリクトルールが記憶されている。
尚、以下の説明では、コンフリクトルールＤＢ６０６に記憶されるコンフリクトルールと区別するために、デバイスコンフリクトルールＤＢ６０５に記憶されるコンフリクトルールを、必要に応じて、デバイスコンフリクトルールと称する。
【００３０】
デバイスコンフリクト処理部６０３は、実行した印刷ジョブの印刷結果をデータ送受信管理部６０２より受けとり、必要に応じて、デバイスコンフリクトルールを拡充させていく機能を有している。テストケースＤＢ６２１は、デバイスコンフリクトとして判断された印刷設定を他のプリンタに対して実施するためのテストケースを記憶する。印刷履歴ＤＢ６２２は、正常に印刷された印刷設定等の印刷履歴を記憶する。これらテストケースＤＢ６２１及び印刷履歴ＤＢ６２２における情報の書き換えは、デバイスコンフリクト処理部６０３で実行される。
【００３１】
データ送受信管理部６０２は、プリントサーバ１０１へネットワーク１０７を経由してデータを送信したり、プリントサーバ１０１とネットワーク１０７とを経由してネットワークプリンタ１０５からデータを受信したりする機能を有する。
プリントサーバ１０１が有するスプーラ６０８は、データ送受信管理部６０７を経由して、クライアントコンピュータ１０２から送信された印刷ジョブを受け付ける。そして、スプーラ６０８は、印刷ジョブを、データ送受信管理部６０９を経由して、ネットワークプリンタ１０５へ順次送信する。
【００３２】
データ送受信管理部６０７は、クライアントコンピュータ１０２へネットワーク１０７を経由してデータを送信したり、ネットワーク１０７を経由してクライアントコンピュータ１０２からデータを受信したりする機能を有する。
また、データ送受信管理部６０９は、ネットワークプリンタ１０５へネットワーク１０７を経由してデータを送信したり、ネットワーク１０７を経由してネットワークプリンタ１０５からデータを受信したりする機能を有する。
【００３３】
機器内ジョブ管理部６１２は、ネットワークプリンタ１０５中の印刷ジョブを取得してキャッシュ（cache）し、表示部６１１へ供給する機能を有する。また、機器内ジョブ管理部６１２は、表示部６１１に表示されたＧＵＩに対するユーザの操作結果に基づく指示を受け、印刷ジョブのキャンセル・停止等の制御コマンドを、データ送受信管理部６０９を介してネットワークプリンタ１０５へ送信する機能を有する。
【００３４】
ジョブ追跡部６１０は、スプーラ６０８から、ネットワークプリンタ１０５で実行（印刷）された印刷ジョブ、或いは機器内ジョブ管理部６１２によりキャッシュされた印刷ジョブの処理状況を追跡する。
ネットワークプリンタ１０５が有するデータ送受信管理部６１３は、プリントサーバ１０１へネットワーク１０７を経由してデータを送信したり、ネットワーク１０７を経由してプリントサーバ１０１からデータを受信したりする機能を有する。データ送受信管理部６１３は、例えば、プリントサーバ１０１より、印刷ジョブのデータ及び印刷ジョブの属性を受け取り管理する。
【００３５】
言語解析部６１４は、印刷ジョブのデータの内容を詳しく解析して印刷命令を解読し、その印刷命令に従って、印刷ジョブの管理や、描画出力等に関連する制御コマンドの実行を行う。具体的に言語解析部６１４は、例えば、データ送受信管理部６１３内の受信バッファから、制御コマンド群を一つ一つ順番に受け取り、その内容をプリンタ制御言語の記述ルールに従って調査し、その制御コマンドがどのような処理を要求しているかを判別する。この判別の結果、制御コマンドが、印刷ジョブに関するコマンドであった場合や、印刷ジョブの属性に関するコマンドであった場合、言語解析部６１４は、該当する印刷ジョブの管理命令をジョブ管理部６１７に発行する。尚、印刷ジョブに関するコマンドは、例えば、印刷ジョブの開始宣言や終了宣言等である。また、印刷ジョブの属性に関するコマンドは、例えば、用紙サイズ、枚数、ステイプル、パンチ等に関するコマンドである。
更に、制御コマンドが、文字や図形やイメージ等の描画出力を指令するものであった場合、言語解析部６１４は、該当する印刷ジョブに基づく描画出力命令を描画出力部６１５に対して行う。
【００３６】
ジョブ管理部６１７は、実行する印刷ジョブの属性に応じて、使用する用紙や排紙ビンの選択命令（プリンタ制御命令）をプリンタ制御部６１８に対して発行する。更に、ジョブ管理部６１７は、ネットワークプリンタ１０５の状態を、プリンタ制御部６１８を介して取得することによって、実行中の印刷ジョブの状態を常に監視する。そして、ジョブ管理部６１７は、ジョブが終了したときやエラーが発生したとき等、所定の条件が成立したときに、ステータス応答要求指令をステータス応答処理部６２０に対して行う。
【００３７】
描画出力部６１５は、印刷出力を行うための文字や図形やイメージ等の描画展開を行ってプリンタエンジン６１６に出力する機能を有する。例えば、描画出力部６１５は、言語解析部６１４からの描画出力命令に従って、該当する文字パターンを作成したり、図形の計算やイメージデータの展開処理等を行ったりして、出力に適したデータ形式に印刷データを展開する。そして、描画出力部６１５は、出力に適したデータ形式に展開した印刷データを、プリンタエンジン６１６に送出する。
プリンタエンジン６１６は、描画出力部６１５によって出力に適したデータ形式に変換された印刷データ（出力展開データ）に従い、例えば電子写真方式等の仕組みを用いて、実際に紙面に画像を形成して印刷出力処理を行う。
また、プリンタエンジン６１６は、記録紙の残量検知手段を持ち、用紙がセットされていない場合には常に警告信号をプリンタ制御部６１８へ送出している。また展開・印刷処理に際して用紙が無い場合、プリンタエンジン６１６は、プリンタドラム等の記録手段を停止させ、割り込み等の手段でプリンタ制御部６１８へエラー信号を送出する。
【００３８】
プリンタ制御部６１８は、ジョブ管理部６１７からのプリンタ制御命令に従い、例えば、使用する用紙の選択を行ったり、ネットワークプリンタ１０５の初期化等を行ったりして、ネットワークプリンタ１０５の制御を行う機能を有している。また、プリンタ制御部６１８は、印刷実行時に使用した給紙カセットの情報、パンチ、ステイプル、サドル等の実行したフィニッシング情報、排紙された排紙口情報、反転パスの使用の有無等の用紙搬送経路情報を常時監視している。そして、プリンタ制御部６１８は、監視している情報等に基づいて、印刷ジョブの完了時に、必要に応じて印刷結果を通知する機能を有している。尚、プリンタ制御部６１８が扱う情報は、プリンタ制御部６１８内に設けられたメモリに保存されている。
【００３９】
ステータス応答処理部６２０は、ジョブ管理部６１７からのステータス応答要求指令に従い、ネットワークプリンタ１０５の内部形式で表現されたステータス通知を、プリントサーバ１０１で理解可能な外部表現形式へ変換してステータス応答情報を作成する。そして、ステータス応答処理部６２０は、このステータス応答情報をデータ送受信管理部６１３へ伝達する。
データ送受信管理部６１３は、ステータス応答処理部６２０から、ステータス応答情報を受け取ると、そのステータス応答情報を送信バッファ等に一時的に蓄え、その蓄えたステータス応答情報を、ネットワーク１０７を介してプリントサーバ１０１に返信する。
【００４０】
図７は、本実施形態の基本的な流れの一例を説明するフローチャートである。具体的に図７では、印刷設定部６０１で行う印刷設定と、コンフリクト処理部６０４で行うコンフリクト処理と、デバイスコンフリクト処理部６０３で行うデバイスコンフリクト処理等の一例を説明する。尚、印刷設定部６０１、コンフリクト処理部６０４、及びデバイスコンフリクト処理部６０３は、クライアントコンピュータ１０２のＣＰＵ２００により実現される。また、デバイスコンフリクトルールの生成は、データ送受信管理部６０２で受信した印刷結果を基に行われる。
【００４１】
ステップＳ７０１において、印刷設定処理が行われる。
図８は、ステップＳ７０１の印刷設定処理の詳細を説明するフローチャートである。
ステップＳ８０１において、印刷設定部６０１は、印刷設定画面（ＧＵＩ）をディスプレイ２０７に表示する。図９は、印刷設定画面９０１の一例を示す図である。ユーザは、印刷設定画面９０１を用いて、印刷設定に加え、後述するデバイスコンフリクトの適用を行うか否かの設定と、デバイスコンフリクトを適用した場合にコンフリクトの有無を判断するためのレベル（モード）とを登録する。このレベルは、図９（ａ）に示す印刷設定画面９０１のコンフリクトモード設定ボタン９０１ａが押下されることにより表示されるコンフリクトモード設定ダイアログ９０２を操作することにより登録される。図９（ｂ）に示すように、このレベルとしては、印刷ジョブがキャンセルされた場合にのみデバイスコンフリクトが生じたものとして扱うといったものや、印刷設定と異なる挙動になった場合にデバイスコンフリクトが生じたものとして扱うといったもの等がある。
【００４２】
次に、ステップＳ８０２において、印刷設定部６０１は、印刷設定画面９０１のＯＫボタン９０１ｂ（印刷の実行を指示するためのボタン）と、キャンセルボタン９０１ｃとのうち、何れのボタンがユーザによって押下されたかを判定する。この判定の結果、ＯＫボタン９０１ｂが押下された場合にはステップＳ８０３へ進む。一方、キャンセルボタン９０１ｃが押下された場合には図８のフローチャートを終了し、図７のステップＳ７０２へ進む。
【００４３】
ステップＳ８０３に進むと、コンフリクト処理部６０４は、コンフリクトルールＤＢ６０６からコンフリクトルールを読み出し、ステップＳ８０１で行われた印刷設定に対してコンフリクトルールを適用する。このようにコンフリクトルールは、コンフリクトルールＤＢ６０６（システム）に予め登録されている。以下に、コンフリクトルールの一例を示す。設定や設定項目が排他の関係にあるものがコンフリクトルールとしてコンフリクトルールＤＢ６０６記憶されている。
【００４４】
【表１】
0005294639.tif 000002
【００４５】
次に、ステップＳ８０４において、コンフリクト処理部６０４は、ステップＳ８０１で行われた印刷設定の組み合わせを含むコンフリクトルールが、読み出したコンフリクトルールにあるか否か判定する。この判定の結果、ステップＳ８０１で行われた印刷設定の組み合わせを含むコンフリクトルールが、読み出したコンフリクトルールにある場合には、コンフリクト"あり"としてステップＳ８０１に戻り、印刷設定の変更をユーザに促す。この場合、ステップＳ８０１では、コンフリクトが生じていることをユーザに報知するのが好ましい。
【００４６】
一方、ステップＳ８０１で行われた印刷設定の組み合わせを含むコンフリクトルールが、読み出したコンフリクトルールにない場合には、ステップＳ８０５に進む。ステップＳ８０５に進むと、デバイスコンフリクト処理部６０３は、ステップＳ８０１において、デバイスコンフリクトの適用が選択されたか否かを判定する。この判定の結果、デバイスコンフリクトの適用が選択されていた場合には、ステップＳ８０６へ進む。一方、デバイスコンフリクトの適用が選択されていない場合には、図８のフローチャートを終了して図７のステップＳ７０２へ進む。
以上のように、本実施形態では、少なくともステップＳ８０５の処理を行うことにより、第３の判定手段が実現される。
【００４７】
ステップＳ８０６に進むと、デバイスコンフリクト処理部６０３は、デバイスコンフリクトルールＤＢ６０５に記憶されているデバイスコンフリクトルールを読み出し、ステップＳ８０１で行われた印刷設定に対してコンフリクトルールを適用する。ステップ８０６にて適用されるコンフリクトルールはデバイスコンフリクトルールである。デバイスコンフリクトルールＤＢ６０５に記憶されているデバイスコンフリクトルールは、印刷の実行結果から抽出されたコンフリクトルールであり、システムの初期状態では存在しない。
【００４８】
次に、ステップＳ８０７において、デバイスコンフリクト処理部６０３は、ステップＳ８０１で行われた印刷設定の組み合わせを含むデバイスコンフリクトルールが、読み出したデバイスコンフリクトルールにあるか否かを判定する。この判定の結果、ステップＳ８０１で行われた印刷設定の組み合わせを含むデバイスコンフリクトルールが、読み出したデバイスコンフリクトルールにある場合には、コンフリクト"あり"としてステップＳ８０１に戻り、印刷設定の変更をユーザに促す。この場合、ステップＳ８０１では、コンフリクトが生じていることをユーザに報知するのが好ましい。一方、ステップＳ８０１で行われた印刷設定の組み合わせを含むデバイスコンフリクトルールが、読み出したデバイスコンフリクトルールにない場合には、図８のフローチャートを終了して、図７のステップＳ７０２へ進む。
以上のように本実施形態では、少なくともステップＳ８０７の処理を行うことにより、第２の判定手段が実現される。
【００４９】
図７の説明に戻り、ステップＳ７０２において、印刷設定部６０１は、図９に示した印刷設定画面９０１において、ＯＫボタン９０１ｂ及びその他の所定のボタンの何れが押下されたか否かを判定する。この判定の結果、ステップＳ７０２においてＯＫボタン９０１ｂが押下された場合にはステップＳ７０３へ進み、その他の所定のボタンが押下された場合にはステップ７０６へ進む。
ステップＳ７０３に進むと、印刷設定部６０１は、ステップＳ７０１で行われた印刷設定を用いて生成された印刷ジョブをデータ送受信管理部６０２に出力する。データ送受信管理部６０２は、印刷設定を用いて生成された印刷ジョブを、プリントサーバ１０１に送信する。これによりプリントサーバ１０１からネットワークプリンタに１０５に印刷ジョブが送信される。
【００５０】
次に、ステップＳ７０４において、データ送受信管理部６０２は、プリントサーバ１０１から、実行した印刷ジョブに対するネットワークプリンタ１０５の処理ステータスを受信する。このように本実施形態では、少なくともステップＳ７０４の処理を行うことによって、取得手段が実現される。
次に、ステップＳ７０５において、デバイスコンフリクト処理部６０３は、ステップＳ７０４で受信された処理ステータスの分析（デバイスステータス分析処理）を行う。
図１０は、デバイスステータス分析処理の詳細を説明するフローチャートである。
尚、ここでは処理ステータスとして取れる情報が、以下の（ａ）〜（ｅ）の情報である場合を例に挙げて説明する。
（ａ）  ジョブキャンセル情報（ジョブキャンセルの有無及びキャンセル原因）
（ｂ）  印刷ジョブ情報（コンテンツの総ページ数）
（ｃ）  フィニッシング情報（印刷ジョブに対して実行したフィニッシングの情報）
（ｄ）  排紙先情報（排紙した給紙口情報）
（ｅ）  排紙パス情報（印刷面を反転させる反転排紙の有無の情報）
【００５１】
ステップＳ９０１において、デバイスコンフリクト処理部６０３は、ステップＳ７０４で受信された処理ステータスに基づいて、印刷ジョブがキャンセルされたか否かを判定する。この判定の結果、印刷ジョブがキャンセルされていない場合にはステップＳ９０２へ進み、印刷ジョブがキャンセルされた場合にはステップＳ９０９に進む。
ステップＳ９０９に進むと、デバイスコンフリクト処理部６０３は、ステップＳ７０４で受信された処理ステータスに基づいて、印刷ジョブがキャンセルされた原因が、ネットワークプリンタ１０５側の印刷資源によるものか否かを判定する。印刷ジョブがキャンセルされた原因が、ネットワークプリンタ１０５側の印刷資源による場合としては、例えば、用紙切れやトナー切れ等が挙げられる。
【００５２】
この判定の結果、印刷ジョブがキャンセルされた原因が、ネットワークプリンタ１０５側の印刷資源によるものであった場合には、図１０のフローチャートを終了して図７のステップＳ７０１へ進む。一方、印刷ジョブがキャンセルされた原因が、ネットワークプリンタ１０５側の印刷資源によるものでなかった場合には、印刷ジョブがキャンセルされた原因が印刷設定によるものと判定してステップＳ９１０へ進む。ステップＳ９１０に進むと、デバイスコンフリクト処理部６０３は、現状の印刷設定を含むデバイスコンフリクトルールを、コンフリクト"あり"の設定としてデバイスコンフリクトルールＤＢ６０５に登録する。
【００５３】
一方、ステップＳ９０１において印刷ジョブがキャンセルされておらず、ステップＳ９０２に進むと、デバイスコンフリクト処理部６０３は、ステップＳ７０４で受信された処理ステータスに基づいて、実行したフィニッシング情報を読み取る。そして、デバイスコンフリクト処理部６０３は、実行した印刷ジョブのフィニッシングをチェックする。
次に、ステップＳ９０３において、デバイスコンフリクト処理部６０３は、ステップＳ９０２の結果に基づいて、印刷設定のフィニッシング情報が全て実施されているか否かを判定する。すなわち、デバイスコンフリクト処理部６０３は、印刷設定の通りにフィニッシングが実行されたか否かを判定する。
【００５４】
この判定の結果、印刷設定の通りにフィニッシングが実行された場合にはステップＳ９０４へ進み、そうでない場合にはステップＳ９０７へ進む。
ステップＳ９０７に進むと、デバイスコンフリクト処理部６０３は、印刷ジョブのコンテンツページ数を読み出す。
次に、ステップＳ９０８において、デバイスコンフリクト処理部６０３は、印刷履歴ＤＢ６２２を検索し、ステップＳ９０２でチェックされたフィニッシング処理と同じフィニッシング処理が過去に実行されたケースがあるか否かを判定する。この判定の結果、ステップＳ９０２でチェックされたフィニッシング処理と同じフィニッシング処理が過去に実行されたケースがある場合には、ステップＳ９１１に進み、そうでない場合には、図１０のフローチャートを終了して図７のステップＳ７０１に進む。
【００５５】
ステップＳ９１１に進むと、デバイスコンフリクト処理部６０３は、印刷履歴ＤＢ６２２から検索された"過去に実行されたケース"の印刷ジョブのコンテンツの総ページ数の情報を参照する。そして、デバイスコンフリクト処理部６０３は、印刷履歴ＤＢ６２２から得られた総ページ数よりも、現在処理対象となっている印刷ジョブの総ページ数の方が多いか否かを判定する。この判定の結果、印刷履歴ＤＢ６２２から得られた総ページ数よりも、現在処理対象となっている印刷ジョブの総ページ数の方が多い場合には、図１０のフローチャートを終了して、図７のステップＳ７０１に進む。この場合には、フィニッシングできなかった原因が、総ページ数の差異によるものであり、コンフリクトがコンテンツに依存するコンフリクトであると判定される。
【００５６】
一方、印刷履歴ＤＢ６２２から得られた総ページ数よりも、実行した印刷ジョブの総ページ数の方が多くない場合には、コンフリクトが印刷設定によるものと判定してステップＳ９１０へ進む。ステップＳ９１０に進むと、デバイスコンフリクト処理部６０３は、その印刷設定を含むデバイスコンフリクトルールを、コンフリクト"あり"の設定としてデバイスコンフリクトルールＤＢ６０５に登録する。
【００５７】
前述したように、ステップＳ９０３において、印刷設定の通りにフィニッシングが実行されたと判定された場合には、ステップＳ９０４に進む。ステップＳ９０４に進むと、デバイスコンフリクト処理部６０３は、ステップＳ７０４で受信された処理ステータスに基づいて、印刷設定において指定された排紙先に印刷物が出力されたか否かを判定する。この判定の結果、印刷設定以外の排紙先に印刷物が出力された場合には、ステップＳ９１０に進む。そして、デバイスコンフリクト処理部６０３は、その印刷設定を含むデバイスコンフリクトルールを、コンフリクト"あり"の設定としてデバイスコンフリクトルールＤＢ６０５に登録する。一方、印刷設定にあった排紙先だけが使用された場合には、排紙先の設定は正しく動作したもの判断してステップＳ９０５へ進む。
ステップＳ９０５に進むと、デバイスコンフリクト処理部６０３は、使用された排紙パスが１つであるか否かを判定する。具体的に説明すると、デバイスコンフリクト処理部６０３は、例えば、片面印刷時の排紙処理における排紙面切り替えの処理パスが、フェースアップ（ＦＵ）又はフェースダウン（ＦＤ）のどちらかに統一されているか否かを判定する。
【００５８】
この判定の結果、使用された排紙パスが１つである場合には、印刷結果が正しいものとしてステップＳ９０６へ進む。ステップＳ９０６に進むと、デバイスコンフリクト処理部６０３は、印刷ジョブが正常に実行（印刷）されたものとして、印刷設定及び印刷ジョブのコンテンツ情報（コンテンツの総ページ数等）を印刷履歴ＤＢ６２２へ登録する。このように、本実施形態では、少なくともステップＳ９０６の処理を行うことにより、保存手段が実現される。
一方、使用された排紙パスが１つでない場合には、印刷設定のコンフリクトがあったとしてステップＳ９１０へ進む。ステップＳ９１０に進むと、デバイスコンフリクト処理部６０３は、その印刷設定を含むデバイスコンフリクトルールを、コンフリクト"あり"の設定としてデバイスコンフリクトルールＤＢ６０５に登録する。
【００５９】
ステップＳ９１０でデバイスコンフリクトルールＤＢ６０５に登録されるデータは、処理対象の印刷ジョブに対して印刷処理を実施した機種の情報と、各印刷設定に対してネットワークプリンタ１０５側で実施された機能の情報とが少なくとも含まれる。
図１１は、デバイスステータス分析処理の処理結果の一例を示す図である。本実施形態では、図１１に示す内容が、デバイスコンフリクトルールＤＢ６０５に記憶される。図１１において、デバイスコンフリクトの判定が"あり"となったものが、デバイスコンフリクトがあったものとしてデバイスコンフリクトルールＤＢ６０５に登録される。
以上のように本実施形態では、少なくともステップＳ９１０の処理を行うことにより記憶手段が実現される。また、本実施形態では、デバイスコンフリクトルールＤＢ６０５に記憶されるデバイスコンフリクトルールによりコンフリクト情報が実現される。更に、本実施形態では、少なくとも、ステップＳ９０１、Ｓ９０３〜Ｓ９０５、Ｓ９０８、Ｓ９０９、Ｓ９１１を行うことにより第１の判定手段が実現される。
【００６０】
図７の説明に戻り、前述したように、ステップＳ７０２において、図９に示した印刷設定画面９０１のＯＫボタン９０１ｂ以外の所定のボタンが押下された場合には、ステップＳ７０６に進む。ステップＳ７０５で検出されたデバイスコンフリクトルールの内容は、異機種のネットワークプリンタ（デバイス）に対してもユーザが実施する可能性がある。このため、ステップＳ７０６において、異機種のネットワークプリンタ（デバイス）に対してもデバイスコンフリクトの有無のチェックを事前に実施する。
尚、異機種のネットワークプリンタとしては、例えば、プリンタ開発ベンダーの違うプリンタや、同一ベンダーのプリンタであるが、接続されているフィニッシングオプションの構成が異なるプリンタが挙げられる。
【００６１】
図１２は、ステップＳ７０６のデバイスコンフリクト情報処理の詳細を説明するフローチャートである。
ステップＳ１００１において、デバイスコンフリクト処理部６０３は、システムに登録されているネットワークプリンタの情報を検出する。
次に、ステップＳ１００２において、デバイスコンフリクト処理部６０３は、ステップＳ１００１で検出されたネットワークプリンタの数が複数であるか否かを判定する。この判定の結果、ステップＳ１００１で検出されたネットワークプリンタの数が複数である場合にはステップＳ１００３に進み、そうでない場合にはステップＳ１００３を省略してステップＳ１００４へ進む。
【００６２】
ステップＳ１００３に進むと、デバイスコンフリクト処理部６０３は、複数のネットワークプリンタの中に、同機種のネットワークプリンタが複数ある場合、どれか一台をデバイスコンフリクト処理の対象となるプリンタとして登録する。同機種のネットワークプリンタとは、例えば、同一機種のプリンタであったり、同一のフィニッシングオプションを有するプリンタであったりする。
【００６３】
そして、ステップＳ１００４において、デバイスコンフリクト処理部６０３は、ステップＳ１００１で検出されたネットワークプリンタが、ステップＳ９１０でデバイスコンフリクト"あり"の設定を行った機種のネットワークプリンタであるか否かを判定する。この判定の結果、ステップＳ１００１で検出されたネットワークプリンタが、ステップＳ９１０でデバイスコンフリクト"あり"の設定を行った機種のネットワークプリンタでない場合には、デバイスコンフリクトルールの有無のチェックが必要なものと判定する。そして、デバイスコンフリクト処理部６０３は、デバイスコンフリクトの発生した印刷設定と、印刷ジョブを実施する予定のネットワークプリンタの情報とをテストケースとしてテストケースＤＢ６２１に登録する。そして、ステップＳ１００５に進む。
【００６４】
一方、ステップＳ１００４の判断条件に該当しない場合には、新規にデバイスコンフリクトを実施する必要がないと判断し処理を終了させる。
【００６５】
ステップＳ１００５に進むと、デバイスコンフリクト処理部６０３は、ＴｅｓｔＲｕｎを実施する。ここでは、テストケースＤＢ６２１に登録されたテストケースを実施する。このステップＳ１００５の処理を、ネットワークプリンタ１０５の空き時間に行うための登録をシステムに行うことにより、このステップＳ１００５の処理を、自動的に実行させるような構成を取ることができる。
【００６６】
ＴｅｓｔＲｕｎとは、印刷データとコンテンツとをネットワークプリンタに流して処理が行えるか否かを判断する処理である。具体的に説明すると、ＴｅｓｔＲｕｎでは、空のコンテンツと、コンフリクトに影響のある部分のみを抽出したコンフリクト確認用の印刷ジョブとを生成してネットワークプリンタに送信する。ＴｅｓｔＲｕｎの方法の詳細については既知の技術であるためここでは詳細な説明を省略する。このステップＳ１００５は、コンフリクト確認用の印刷ジョブを生成し、ステップＳ１００５内で、前述したステップＳ７０３、Ｓ７０４、Ｓ７０５の一連の処理を実施することで実現できる。
そして、デバイスコンフリクト処理部６０３は、テストケースを実施した結果を、デバイスコンフリクトルールとして、デバイスコンフリクトルールＤＢ６０５に記憶する。
以上のように本実施形態では、少なくともステップＳ７０６の処理を行うことによってテスト手段が実現される。
【００６７】
以上のように本実施形態では、印刷ジョブの実行時にネットワークプリンタ１０５側でコンフリクト（デバイスコンフリクト）した印刷設定を、デバイスコンフリクトルールとしてデバイスコンフリクトルールＤＢ６０５に登録する。そして、コンフリクトルールＤＢ（システム）に予め登録されているコンフリクトルールに加え、デバイスコンフリクトルールＤＢ６０５に登録されているデバイスコンフリクトルールをも用いてコンフリクトするか否かを判定する。このように、印刷に失敗したときの印刷設定の実績を分析しデバイスコンフリクトとして登録することでコンフリクトか否かの判定精度を従来よりも向上させることが可能となる。
【００６８】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。前述した第１の実施形態では、図６に示したように、デバイスコンフリクト処理部６０３がクライアントコンピュータ１０２側にある場合を例に挙げて説明した。これに対し、本実施形態では、デバイスコンフリクト処理部６０３をプリントサーバ１０１側に配置することによりアプリケーション側に特別なコンフリクト処理を施さなくても印刷設定に対するコンフリクト処理を適用できるようにしている。このように本実施形態と前述した第１の実施形態とは、デバイスコンフリクト処理部等が実装される装置が主として異なる。したがって、本実施形態の説明において、前述した第１の実施形態と同一の部分についての詳細な説明を省略する。
【００６９】
図１３は、クライアントコンピュータ１０２と、プリントサーバ１０１と、ネットワークプリンタ１０５との機能的な構成の一例を示したブロック図である。尚、ここでも図６と同様に、クライアントコンピュータとネットワークプリンタとの構成を１つずつ示しているが、クライアントコンピュータとネットワークプリンタは、実際には複数ある。
【００７０】
印刷設定部６０１は、印刷ジョブに設定する印刷体裁指示として、印刷部数、面付け情報、ステイプル、パンチ指示等の表示を行う。また、印刷設定部６０１は、プリントサーバ１０１から通知される印刷設定に対するコンフリクト処理の結果を表示する機能を有するようにしてもよい。
データ送受信管理部６０２は、プリントサーバ１０１へネットワーク１０７を経由してデータを送信したり、プリントサーバ１０１とネットワーク１０７とを経由してネットワークプリンタ１０５からデータを受信したりする機能を有する。
【００７１】
デバイスコンフリクト処理部６０３は、図６に示したデバイスコンフリクト処理部６０３に対応するものであり、データ送受信管理部６０７で受け付けた印刷ジョブの情報に対してコンフリクト処理を適用するものである。デバイスコンフリクトルールＤＢ６０５は、図６に示したデバイスコンフリクトルールＤＢ６０５に対応するものであり、そのコンフリクト処理を行うためのデバイスコンフリクトルールを記憶したデータベースである。このデバイスコンフリクトルールにおいて、コンフリクト"あり"となっている印刷設定が行われた印刷ジョブをキャンセルさせる。
また、デバイスコンフリクト処理部６０３は、印刷に対する結果を機器内ジョブ管理部６１２から受け取り、必要に応じて、デバイスコンフリクトルールを拡充させていく機能を有している。
また、正常に印刷が完了した場合には、その印刷設定が印刷履歴ＤＢ６２２に登録される。
【００７２】
図１４は、本実施形態の基本的な処理の流れの一例を説明するフローチャートである。具体的に、図１４は、印刷ジョブの送信後に、プリントサーバ１０１で行われる処理の一例を説明するフローチャートである。
【００７３】
ステップＳ１３０１において、デバイスコンフリクト処理部６０３は、クライアントコンピュータ１０２で印刷設定が行なわれた印刷ジョブを、データ送受信管理部６０７を経由して取得する。このように本実施形態では、少なくともステップＳ１３０１の処理を行うことにより、受信手段が実現される。
次に、ステップＳ１３０２において、デバイスコンフリクト処理部６０３は、ステップＳ１３０１で取得された印刷ジョブ内の印刷設定を読み出すと共に、デバイスコンフリクトルールＤＢ６０５からコンフリクトルールを読み出す。そして、デバイスコンフリクト処理部６０３は、印刷設定に対してコンフリクトルールを適用する。
尚、この間に、印刷ジョブはスプーラ６０８にスプールされるが印刷は実行されないよう当該印刷ジョブの実行は一時停止の状態になる。
【００７４】
次に、ステップＳ１３０３において、デバイスコンフリクト処理部６０３は、デバイスコンフリクトルールＤＢ６０５から読み出したデバイスコンフリクトルールに、印刷ジョブから読み出した印刷設定の組み合わせがあったか否かを判定する。この判定の結果、デバイスコンフリクトルールＤＢ６０５から読み出したデバイスコンフリクトルールに、印刷ジョブから読み出した印刷設定の組み合わせがない場合には、ステップＳ１３０４へ進む。一方、そうでない場合には、コンフリクト"あり"としてステップＳ１３０８に進む。以上のように本実施形態では、少なくともステップＳ１３０３の処理を行うことにより、第２の判定手段が実現される。
尚、本実施形態でも、例えば、ステップＳ１３０１で受信された印刷ジョブに、デバイスコンフリクトの適用することを示す情報を含めることにより、前述した第１の実施形態と同様に、デバイスコンフリクトの適用が選択されたか否かを判定することができる。そして、デバイスコンフリクトの適用が選択されたと判定した場合に限り、ステップＳ１３０３の処理を行うことができる。このようにした場合、例えば、ステップＳ１３０１で受信された印刷ジョブに、デバイスコンフリクトを適用することを示す情報が含まれているか否かを、デバイスコンフリクト処理部６０３が、判定することにより、第３の判定手段を実現することができる。
【００７５】
ステップＳ１３０８に進むと、スプーラ６０８は、印刷設定にコンフリクトが"あり"として、保持していた印刷ジョブを削除し処理を中止する。そして、データ送受信管理部６０７は、上位のアプリケーションプログラム（印刷設定部６０１）に、コンフリクトの結果を、データ送受信管理部６０２を介して通知する。
【００７６】
前述したように、ステップＳ１３０３において、デバイスコンフリクトルールＤＢ６０５から読み出したデバイスコンフリクトルールに、印刷ジョブから読み出した印刷設定の組み合わせがないと判定された場合には、ステップＳ１３０４に進む。ステップＳ１３０４に進むと、スプーラ６０８は、保持している印刷ジョブを実行する。そして、スプーラ６０８は、データ送受信管理部６０９を経由して、ネットワークプリンタ１０５に印刷ジョブを送信する。その後、スプーラ６０８は、データ送受信管理部６０９を経由してネットワークプリンタ１０５の処理ステータスを受信する。このように、本実施形態では、少なくともステップＳ１３０４の処理を行うことにより、送信手段、取得手段が実現される。
【００７７】
次に、ステップＳ１３０５において、デバイスコンフリクト処理部６０３は、実行した印刷ジョブに対するネットワークプリンタ１０５における処理ステータスの分析（デバイスステータス分析処理）を行う。このステップＳ１３０５については、第１の実施形態の図７のステップＳ７０５で詳細に述べているのでここでは詳細な説明を省略する。
【００７８】
次に、ステップＳ１３０６において、デバイスコンフリクト処理部６０３は、ステップＳ１３０５の処理結果に基づいて、デバイスコンフリクトが"あり"か否かを判定する。この判定の結果、デバイスコンフリクトが"あり"と判定された場合には、ステップＳ１３０７に進み、そうでない場合には処理を終了させる。尚、このステップＳ１３０７については、第１の実施形態の図１２（図７のステップＳ７０６）で詳細に述べているのでここでは詳細な説明を省略する。尚、本実施形態では、少なくともステップＳ１３０７の処理を行うことによってテスト手段が実現される。
【００７９】
以上のように本実施形態では、コンフリクト（デバイスコンフリクト）した印刷設定を、デバイスコンフリクトルールとしてデバイスコンフリクトルールＤＢ６０５に登録することを、プリントサーバ１０１側で行うようにした。したがって、クライアントコンピュータ１０２で動作するアプリケーション側にコンフリクト処理を入れずに処理の対応が可能となる。コンフリクト処理は機種の依存性が高く導入が難しい処理であった。しかしながら、本実施形態のようにすることにより、従来、コンフリクト処理に対応できなかったアプリケーションでも容易に対応できるようになる。よって、ユーザの操作性の大幅な向上が可能となる。
【００８０】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。前述した実施形態では、デバイスコンフリクトがある場合には、印刷設定を初めからやり直す場合を例に挙げて説明した。これに対し、本実施形態では、デバイスコンフリクトがある場合に、代替設定手段が印麻津実績を参照し、そのデバイスコンフリクトがあった印刷設定に近い印刷設定を選択して、コンフリクトを解消する場合を例に挙げて説明する。このように本実施形態と前述した第１の実施形態とでは、デバイスコンフリクトがあった後の処理が主として異なる。したがって、本実施形態の説明において、前述した第１の実施形態と同一の部分についての詳細な説明を省略する。
具体的に本実施形態の基本的なフローチャートは、第１の実施形態で説明した図７である。そして、本実施形態は、例えば、図７のステップＳ７０１を詳細に示した図８を、以下に説明する図１５に置き換えることにより実現することができる。
【００８１】
図１５は、ステップＳ７０１の印刷設定処理の詳細を説明するフローチャートである。
ステップＳ１４０１において、印刷設定部６０１は、印刷設定画面（ＧＵＩ）をディスプレイ２０７に表示する。本実施形態では、印刷設定画面を用いることにより、印刷設定に加え、代替候補表示モードの設定として、代替設定候補の表示機能を利用するか否かの設定と、代替設定候補を表示する場合の表示モードの設定とが行われる。
尚、代替設定候補を表示する場合の表示モードとしては、例えば、成果物優先モードと設定優先モードとがある。成果物優先モードとは、同じ成果物が得られる印刷設定であるほど優先順位が高い代替設定候補として表示するモードである。設定優先モードとは、設定可能な項目が多いものほど優先順位が高い代替設定候補として表示するモードである。
また、第１の実施形態と同様に、デバイスコンフリクトの適用を行うか否かの設定と、デバイスコンフリクトを適用した場合にコンフリクトの有無を判断するためのレベル（モード）も、印刷設定画面を用いることにより登録される。
【００８２】
次に、ステップＳ１４０２において、印刷設定部６０１は、印刷設定画面のＯＫボタンと、キャンセルボタンとのうち、何れのボタンがユーザによって押下されたかを判定する。この判定の結果、ＯＫボタンが押下された場合にはステップＳ１４０３へ進む。一方、キャンセルボタンが押下された場合には図１５のフローチャートを終了し、図７のステップＳ７０２へ進む。
【００８３】
ステップＳ１４０３に進むと、コンフリクト処理部６０４は、コンフリクトルールＤＢ６０６からコンフリクトルールを読み出し、印刷設定に対してコンフリクトルールを適用する。ステップＳ１４０１で行われた印刷設定に対してコンフリクトルールを適用する。このようにコンフリクトルールは、コンフリクトルールＤＢ６０６（システム）に予め登録されている。
【００８４】
次に、ステップＳ１４０４において、コンフリクト処理部６０４は、ステップＳ１４０１で行われた印刷設定の組み合わせを含むコンフリクトルールが、読み出したコンフリクトルールにあるか否か判定する。この判定の結果、ステップＳ１４０１で行われた印刷設定の組み合わせを含むコンフリクトルールが、読み出したコンフリクトルールにある場合には、コンフリクト"あり"としてステップＳ１４０１に戻る。
【００８５】
一方、ステップＳ１４０１で行われた印刷設定の組み合わせを含むコンフリクトルールが、読み出したコンフリクトルールにない場合には、ステップＳ１４０５に進む。ステップＳ１４０５に進むと、デバイスコンフリクト処理部６０３は、ステップＳ１４０１において、デバイスコンフリクトの適用が選択されたか否かを判定する。この判定の結果、デバイスコンフリクトの適用が選択されていた場合には、ステップＳ１４０６へ進む。一方、デバイスコンフリクトの適用が選択されていない場合には、図１５のフローチャートを終了して図７のステップＳ７０２へ進む。
以上のように、本実施形態では、少なくともステップＳ１４０５の処理を行うことにより、第３の判定手段が実現される。
【００８６】
ステップＳ１４０６に進むと、デバイスコンフリクト処理部６０３は、デバイスコンフリクトルールＤＢ６０５に記憶されているデバイスコンフリクトルールを読み出し、ステップＳ８０１で行われた印刷設定に対してコンフリクトルールを適用する。デバイスコンフリクトルールＤＢ６０５に記憶されているデバイスコンフリクトルールは、印刷の実行結果から抽出されたコンフリクトルールであり、システムの初期状態では存在しない。
【００８７】
次に、ステップＳ１４０７において、デバイスコンフリクト処理部６０３は、ステップＳ１４０１で行われた印刷設定の組み合わせを含むコンフリクトルールが、読み出したデバイスコンフリクトルールにあるか否かを判定する。この判定の結果、ステップＳ１４０１で行われた印刷設定の組み合わせを含むコンフリクトルールが、読み出したデバイスコンフリクトルールにある場合には、コンフリクト"あり"としてステップＳ１４０８に進む。一方、そうでない場合には、図８のフローチャートを終了して、図７のステップＳ７０２へ進む。以上のように本実施形態では、少なくともステップＳ１４０７の処理を行うことにより、第２の判定手段が実現される。
【００８８】
ステップＳ１４０８に進むと、デバイスコンフリクト処理部６０３は、ステップＳ１４０１で行われた"印刷設定画面に対する設定"に基づいて、代替設定候補機能を利用するか否かを判定する。この判定の結果、代替設定候補機能を利用する場合には、ステップＳ１４０９に進み、そうでない場合には、ステップＳ１４０１へ進む。
ステップＳ１４０９に進むと、コンフリクト処理部６０４は、代替設定候補の検索（代替設定候補検索処理）を行う。代替設定候補の検索が終わったら、ステップＳ１４０１に戻り、代替設定候補の印刷設定の内容を印刷設定画面に表示する。尚、代替設定候補は、コンフリクトの警告メッセージとして表示しても、設定項目を纏めて表示してもよい。
【００８９】
図１６は、ステップＳ１４０９の代替設定候補検索処理の詳細を説明するフローチャートである。
ステップＳ１５０１において、コンフリクト処理部６０４は、ステップＳ１４０１で選択された表示モードを読み出す。
次に、ステップＳ１５０２において、コンフリクト処理部６０４は、カウンタ（ＣＮＴ）をゼロにする。
次に、ステップＳ１５０３において、コンフリクト処理部６０４は、印刷履歴ＤＢ６２２から、該当するネットワークデバイスで実績のある印刷設定を代替設定候補として抽出する。そして、コンフリクト処理部６０４は、カウンタの値が、抽出した印刷設定（代替設定候補）の数以下であるか否かを判定する。この判定の結果、カウンタの値が、抽出した印刷設定（代替設定候補）の数以下でない場合には、後述するステップＳ１５０６に進む。このように本実施形態では、少なくともステップＳ１５０３の処理を行うことにより検索手段が実現される。尚、本実施形態では、少なくとも、第１の実施形態で説明したステップＳ９０６の処理を行うことにより、保存手段が実現される。
【００９０】
一方、カウンタの値が、抽出した印刷設定（代替設定候補）の数以下である場合には、ステップＳ１５０４へ進む。ステップＳ１５０４に進むと、コンフリクト処理部６０４は、印刷設定の重み付けを行う。ここでは、ステップＳ１５０１で読み出された表示モードに応じて、印刷設定の一致に対する重み付けを異ならせる。
表示モードとして成果物優先モードが選択された場合を例に上げて説明する。成果物優先モードは、ユーザが手にする成果物が合致していれば、出力物の排紙先や排紙面等の設定の優先度を下げるモードである。この場合、成果物に影響のあるフィニッシング設定が一致している代替設定候補（印刷設定）に対しては、高い評価ポイントを与える。一方、成果物に影響のない代替設定候補（印刷設定）に対しては、低い評価ポイントを与える。
【００９１】
具体的には、以下のような評価ポイントを各設定項目に与える。
用紙サイズ一致    ：１０００
フィニッシング一致：１０００
排紙先一致        ：１０
【００９２】
そして、ステップＳ１４０１で設定された印刷設定が、「デバイスＡ  Ａ４、ステイプル（左上）、排紙先（上）」であった場合、印刷履歴ＤＢ６２２から抽出された代替設定候補を前記評価ポイントで評価すると、以下のようになる。
【００９３】
【表２】
0005294639.tif 000003
【００９４】
以上のようにして、印刷履歴ＤＢ６２２から抽出された代替設定候補（印刷設定）を評価した後、ステップＳ１５０５において、コンフリクト処理部６０４は、カウンタをインクリメントし、ステップＳ１５０３に戻る。そして、抽出された代替設定候補の全てに対して評価が終了した場合、ステップＳ１５０６に進む。そして、コンフリクト処理部６０４は、評価ポイントの高い順に代替設定候補をソートし、代替設定候補に優先順位をつけ、優先順位をつけた代替設定候補をディスプレイ２０７に表示する。ユーザは、優先順位がつけられた代替設定候補を参照して、代替設定候補の１つを選択する。このように本実施形態では、少なくともステップＳ１５０６の処理を行うことにより報知手段が実現される。
【００９５】
以上のように本実施形態では、デバイスコンフリクトとなる印刷設定があった場合でも、デバイスコンフリクトがあった印刷設定に近い印刷設定を代替設定候補として選択して、ユーザに報知するようにした。このとき、ユーザの好みに合わせて、代替設定候補として選択した印刷設定に優先順位を付け、その優先順位が分かるように、デバイスコンフリクトがあった印刷設定に近い印刷設定をユーザに報知する。したがって、ユーザの操作性の大幅な向上が可能となる。
尚、本実施形態を、前述した第２の実施形態に適用することができる。
【００９６】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。
プリンタの製造ベンダーによらずに印刷指示が設定可能な汎用印刷設定フォーマット（例えばＪＤＦといった、ＸＭＬをベースとしたジョブ定義ファイルの公開フォーマット等）が利用されるケースが増えてきている。汎用印刷設定フォーマットの設定は、自由度が高く、同じ成果物を得る場合であっても、設定の表記方法として複数の設定が選択できる場合がある。このため、フォーマット上の仕様としては正しく設定されていても、プリンタ製造ベンダーによっては、その設定が解釈できずに印刷ジョブがキャンセルされてしまうケースがある。そこで、本実施形態では、印刷設定の実行時に行うコンフリクト処理に対して汎用印刷設定フォーマットの表記チェック処理を追加する場合を例に挙げて説明する。このように本実施形態は、前述した第１の実施形態に対して、汎用印刷設定フォーマットの表記チェック処理を追加したものとなる。したがって、本実施形態の説明において、前述した第１の実施形態と同一の部分についての詳細な説明を省略する
【００９７】
図１７は、本実施形態の基本的な流れの一例を説明するフローチャートである。ステップＳ１６０２〜ステップＳ１６０４及びステップＳ１６０８は、第１の実施形態で説明した図７のステップＳ７０２〜ステップＳ７０４及びステップＳ７０６と同じ処理であるため、ここでは詳細な説明を省略する。尚、本実施形態では、少なくともステップＳ１６０４の処理を行うことにより、取得手段が実現され、また、少なくともステップＳ１６０８の処理を行うことによってテスト手段が実現される。
ステップＳ１６０５、Ｓ１６０７は、本実施形態で追加された処理である。
【００９８】
図１８は、ステップＳ１６０１の印刷設定処理の詳細を説明するフローチャートである。
図１８のステップＳ１７０１〜ステップＳ１７０７は、第１の実施形態で説明した図８のステップＳ８０１〜Ｓ８０８と同じ処理であるため、ここでは詳細な説明を省略する。ただし、ステップＳ１７０１では、印刷設定画面において、汎用印刷設定フォーマットの表記チェックを行うか否かの設定も行えるようにする。本実施形態では、少なくともステップＳ１７０７の処理を行うことにより、第２の判定手段が実現される。また、少なくともステップＳ１７０５の処理を行うことにより第３の判定手段が実現される。
【００９９】
ステップＳ１７０８において、デバイスコンフリクト処理部６０３は、ステップＳ１７０１で行なわれた設定に基づいて、汎用印刷設定フォーマットの表記チェックを行うか否かを判定する。この判定の結果、汎用印刷設定フォーマットの表記チェックを行う場合には、ステップＳ１７０９へ進み、そうでない場合には、図１８のフローチャートを終了して、図１７のステップＳ１６０２へ進む。
【０１００】
ステップＳ１７０９に進むと、デバイスコンフリクト処理部６０３は、汎用印刷設定フォーマットの表記方法のチェックを行う。このステップＳ１７０９は、汎用印刷設定フォーマットの記述が、印刷ジョブの送信先であるネットワークプリンタで処理できない記述として登録されていないかどうかを判断するために行われる。
【０１０１】
ここで具体例を説明する。ページ番号の指定方法として、ページ番号の絶対ページ指定（先頭ページからのページ番号）を行う方法がある。また、その指定方法と等価な指定方法として最終ページを−１とし、最終ページより１ページ若い（先頭ページに近いページ）を−２として指定する相対ページ指定を行う方法がある。
汎用印刷設定フォーマット上では、相対ページと絶対ページ指定とのどちらでも指定することが可能である。したがって、印刷設定の作る汎用印刷設定としては、どちらを指定しても良い。しかしながら、プリンタの機種やプリンタの開発ベンダーによっては、どちらか一方の指定しか処理できず、対応できない指定がある印刷ジョブが投入されると処理をキャンセルしてしまう事が知られている。
【０１０２】
本実施形態では、印刷ジョブがキャンセルされた汎用印刷設定フォーマットの指定方法に等価な指定方法があるか否かを、後述する代替設定ルールの記録内容に基づいて判定する。そして、前述した例のように、等価な指定方法がある場合に、汎用印刷設定フォーマットの指定方法をその指定方法に書き換える。そして、指定方法を書き換えた汎用印刷設定フォーマットに基づいて印刷ジョブを再度投入することで、処理が正常に行えたかどうかを、出力先のネットワークプリンタ毎に管理する。
【０１０３】
そして、ステップＳ１７１０において、デバイスコンフリクト処理部６０３は、ステップＳ１７０９のチェックの結果に基づいて、処理対象の印刷ジョブの出力先であるネットワークプリンタが、その印刷ジョブの指定方法に対応しているか否かを判定する。この判定の結果、処理対象の印刷ジョブの出力先であるネットワークプリンタが、その印刷ジョブの指定方法に対応していない場合には、ステップＳ１７１１に進み、そうでない場合には、図１８のフローチャートを終了して、図１７のステップＳ１６０２に進む。
以上のように本実施形態では、少なくともステップＳ１７１１の処理を行うことにより、第４の判定手段が実現される。
尚、ステップＳ１７１０の処理は、汎用印刷設定フォーマットの指定方法と等価な指定方法が存在する場合と、ステップＳ１６０６において、デバイスコンフリクトがあったと判定された場合との少なくとも何れか一方の場合に行うようにしてもよい。この場合、例えば、汎用印刷設定フォーマットの指定方法と等価な指定方法が存在することの確認をデバイスコンフリクト処理部６０３が行うことにより、第５の判定手段が実現される。
【０１０４】
ステップＳ１７１１に進むと、デバイスコンフリクト処理部６０３は、処理対象の印刷ジョブの指定方法を、それと等価であり、且つ出力先のネットワークプリンタで対応可能な指定方法に書き換える。
ここで、具体例を説明する。例えば、ステップＳ１７１０において、出力先のプリンタが相対指定に対応していないと判断され、且つ印刷設定として相対指定がなされていた場合には、ステップＳ１７１１において、それと等価な絶対ページ指定に印刷設定を書き換える。
以上のように本実施形態では、少なくともステップＳ１７１０の処理を行うことにより、書き換え手段が実現される。
【０１０５】
図１７の説明に戻り、ステップＳ１６０５では、デバイスコンフリクト処理部６０３は、ステップＳ１６０４で受信した処理ステータスが、印刷ジョブのキャンセルであるか否かを判定する。この判定の結果、処理ステータスが、印刷ジョブのキャンセルである場合には、ステップＳ１６０７に進む。そして、デバイスコンフリクト処理部６０３は、汎用印刷設定フォーマットの指定方法に問題がないか否かをチェックするフォーマットコンフリクトチェック処理を行う。一方、処理ステータスが、印刷ジョブのキャンセルでない場合には、ステップＳ１６０６へ進む。尚、ステップＳ１６０６は、図７のステップＳ７０５と同じであるので、その詳細な説明を省略する。本実施形態では、少なくともステップＳ１６０６（のステップＳ９０１、Ｓ９０３〜Ｓ９０５、Ｓ９０８、Ｓ９０９、Ｓ９１１に対応する部分）の処理を行うことにより第１の判定手段が実現される。
【０１０６】
図１９は、ステップＳ１６０７のフォーマットコンフリクトチェック処理の詳細を説明するフローチャートである。
ステップＳ１８０１において、デバイスコンフリクト処理部６０３は、汎用印刷設定フォーマットの指定方法に、それと等価な指定方法（代替設定）があるか否かを判定する。尚、本実施形態では、代替設定の組み合わせ（代替設定ルール）は、予めシステム内に登録されているものとする。ただし、代替設定の組み合わせを、必要に応じて外部から取り込むようにしてもよい。
【０１０７】
この判定の結果、代替設定がある場合にはステップＳ１８０２へ進む。ステップＳ１８０２に進むと、デバイスコンフリクト処理部６０３は、印刷設定の該当部分（汎用印刷設定フォーマットで記述された該当部分）を、代替設定の内容に書き換える。
次に、ステップＳ１８０３において、デバイスコンフリクト処理部６０３は、ステップＳ８０２で書き換えを行った印刷設定を含む印刷ジョブを、データ送受信管理部６０２を介してネットワークプリンタに送信して、その処理ステータスを取得する。このステップＳ１８０３の処理は、図７のステップＳ７０３、Ｓ７０４（図１７のステップＳ１６０３、１６０４）と対応するものであるため、ここでは詳細な説明を省略する。
【０１０８】
次に、ステップＳ１８０４において、デバイスコンフリクト処理部６０３は、ステップＳ１８０３で取得した処理ステータスに基づいて、代替設定により印刷が実行できたか否かを判定する。この判定の結果、代替設定により印刷が実行できた場合にはステップＳ１８０５に進む。ステップＳ１８０５に進むと、デバイスコンフリクト処理部６０３は、印刷ジョブの出力先のプリンタ情報と代替設定での印刷結果（この場合、印刷に成功）とをフォーマットコンフリクトルールとして、ステップＳ１８０１で参照した代替設定ルールに記録する。尚、この代替設定ルールは、前述したステップＳ１７０９等で参照される。
【０１０９】
一方、ステップＳ１８０４で代替設定により印刷が実行できなかった場合には、ステップＳ１８０６に進み、デバイスコンフリクト処理部６０３は、デバイスコンフリクトルールにおいて、その代替設定を、コンフリクト"あり"の設定として登録する。このステップＳ１８０６の処理は、図７のステップＳ７０５（図１７のステップＳ１６０６）と同じ処理であるため、ここでは詳細な説明を省略する。尚、本実施形態では、少なくともステップＳ１６０６（のステップＳ９１０に相当する部分）と、ステップＳ１８０６の処理を行うことにより記憶手段が実現される。
【０１１０】
以上のように本実施形態では、印刷ジョブがキャンセルされた印刷設定における"汎用印刷設定フォーマットの指定方法"に対して、それに等価な指定方法がある場合に、汎用印刷設定フォーマットの指定方法をその指定方法に書き換える。そして、指定方法を書き換えた汎用印刷設定フォーマットに基づいて印刷ジョブを再度投入する。したがって、プリンタの機種やプリンタの開発ベンダーにより汎用印刷設定の設定方法に違いがあっても、代替設定があるものに対しては設定変更して印刷することができ、ユーザの操作性を大幅に向上することが可能となる。
尚、本実施形態を、前述した第２〜第３の実施形態の少なくとも何れか１つに適用することができる。
【０１１１】
（第５の実施形態）
次に、本発明の第５の実施形態について説明する。前述した第１の実施形態では、印刷実績を元にデバイスコンフリクトを登録する方法について説明した。しかしながら、デバイスコンフリクトは印刷実績を元に登録されるため、印刷ジョブの出力先となるプリンタに対して（若しくは同機種のプリンタに対して）最低１回は印刷を行う必要がある。
【０１１２】
そこで、本実施形態では、同一の印刷設定の印刷ジョブを複数のプリンタ（例えば、複数機種のプリンタ、複数のプリンタベンダのプリンタ）で実行する。そして、複数のプリンタで印刷設定のデバイスコンフリクトが発生した場合、その印刷設定をデバイスコンフリクトルールとして登録し、登録したデバイスコンフリクトルールの設定を印刷実績のないプリンタに対しても適用する。このように本実施形態と、前述した第１の実施形態とは、デバイスコンフリクトルールの登録方法と適用方法の一部が主として異なる。したがって、本実施形態の説明において、前述した第１の実施形態と同一の部分についての詳細な説明を省略する。尚、以下の説明では、これまでに説明したデバイスコンフリクトルールと区別するために、複数のプリンタでデバイスコンフリクトが発生した印刷設定を、必要に応じて、デバイス共通コンフリクトルールと称する。
【０１１３】
本実施形態は、例えば、第１の実施形態で説明した図７のステップＳ７０１を図２０に、図１０のステップＳ９１０を図２１に、図１０のステップＳ９０６を図２３に置き換えることで実現することが可能である。
本実施形態の基本的な流れを示すフローチャートは、図７と同じためここでは詳細な説明を省略する。
【０１１４】
図２０は、ステップＳ７０１の印刷設定処理の詳細を説明するフローチャートである。尚、図２０は、図８に示したフローチャートを基にしており、図２０において図８と異なる箇所は、ステップＳ１９０６、Ｓ１９０７、Ｓ１９０８である。尚、ステップＳ１９０１〜Ｓ１９０５は、ステップＳ８０１〜Ｓ８０５に夫々対応する。尚、本実施形態では、少なくともステップＳ１９０５の処理を行うことにより、第３の判定手段が実現される。
ステップＳ１９０６に進むと、デバイスコンフリクト処理部６０３は、デバイスコンフリクトルールＤＢ６０５に記憶されているデバイスコンフリクトルールを読み出し、ステップＳ１９０１で行われた印刷設定に対してコンフリクトルールを適用する。尚、デバイスコンフリクトルールは、印刷実績に基づき登録されるコンフリクトルールである。しかしながら、印刷実績のないネットワークプリンタへの印刷であっても、ステップＳ１９０１で行われた印刷設定が、デバイス共通コンフリクトルールとして登録されていれば、そのデバイスコンフリクトルールを適用する。ここで、ステップＳ１９０１で行われた印刷設定の発生頻度により、デバイス共通コンフリクトルールを適用するか否かを切り分けることも可能である。例えば、印刷設定の発生頻度が低ければ、デバイス共通コンフリクトルール警告メッセージを表示するといった方法を取っても良い。
【０１１５】
次に、ステップＳ１９０７において、デバイスコンフリクト処理部６０３は、ステップＳ１９０１で行われた印刷設定が、デバイス共通コンフリクトルールに該当するか否かを判定する。この判定の結果、ステップＳ１９０１で行われた印刷設定が、デバイス共通コンフリクトルールに該当する場合にはステップＳ１９０８に進み、そうでない場合にはコンフリクトなしとして図２０のフローチャートを終了し、図７のステップＳ７０２へ進む。以上のように本実施形態では、少なくともステップＳ１９０７の処理を行うことにより、第２の判定手段が実現される。
【０１１６】
ステップＳ１９０８に進むと、コンフリクト処理部６０４は、デバイス共通コンフリクトの発生頻度が閾値よりも高いか否かを判定する。この判定の結果、デバイス共通コンフリクトの発生頻度が閾値以上である場合には、ステップＳ１９０１に戻る。一方、デバイス共通コンフリクトの発生頻度が閾値よりも小さい場合には、警告メッセージを表示して図２０のフローチャートを終了し、印刷を実行すべくステップＳ７０２へ進む。尚、このとき、警告メッセージを表示して、その後の処理の継続の有無をユーザに判断させるようにしてもよい。
【０１１７】
図２２は、本実施形態で用いるデバイスコンフリクトルールＤＢ６０５の記憶内容の一例を概念的に示す図である。図２２において、「○」は、デバイスコンフリクトがなかった場合（ステップＳ１９０１で行われた印刷設定が、デバイスコンフリクトルールに該当しない場合）を示す。「×」は、デバイスコンフリクトがあった場合（ステップＳ１９０１で行われた印刷設定が、デバイスコンフリクトルールに該当する場合）を示す。また、空欄は、印刷が未実施であることを示す。
図２２において、印刷設定Ｃは、複数のプリンタで所定の回数（閾値（例えば３））以上、デバイスコンフリクトとして扱われたため、デバイス共通コンフリクトルールとして登録される。また、印刷設定Ｄは、複数のプリンタでデバイスコンフリクトとして扱われているが、その出現回数は、閾値よりも小さいため、警告表示が行われることを指している。
尚、閾値に関してはステップＳ１９０１で表示される印刷設定画面（ＧＵＩ）を用いて登録しても、予めシステムに登録しておいてもよい。
【０１１８】
前述したステップＳ１９０７では、コンフリクト処理部６０４は、ステップＳ１９０１で行われた印刷設定が、図２２に示すようなデバイスコンフリクトルールＤＢ６０５において、デバイスコンフリクトが発生したものとして登録されているか否かを判定する。ここでデバイス共通コンフリクト"なし"と判断された場合には、ステップＳ７０２へ進み、デバイス共通コンフリクト"あり"と判断された場合には、ステップＳ１９０８へ進む。
【０１１９】
ステップＳ１９０８では、コンフリクト処理部６０４は、図２２に示すようなデバイスコンフリクトルールＤＢ６０５を参照して、デバイス共通コンフリクトのレベルを判定する。そして、デバイス共通コンフリクト判定の欄が"警告"となっていれば警告メッセージを表示してステップＳ７０２へ進む。また、デバイス共通コンフリクト判定の欄が"なし"となっていればそのままステップＳ７０２へ進む。更に、デバイス共通コンフリクト判定の欄が"登録"となっていれば、コンフリクト"あり"としてステップＳ７０１に戻る。
尚、ステップＳ１９０８において、デバイス共通コンフリクト判定の欄が"警告"となっている場合には、警告メッセージと共に印刷の実行ボタンとキャンセルボタンとを表示し、印刷の実行の可否をユーザに選択させてもよい。
【０１２０】
図２１は、図１０のステップＳ９１０に代わる"デバイスコンフリクトの登録処理"を詳細に説明するフローチャートである。
ステップＳ２００１は、デバイスコンフリクト処理部６０３は、デバイスコンフリクトルールとして登録されている印刷設定の中に、今回の印刷設定と同じ印刷設定が存在するか否かを判定する。この判定の結果、デバイスコンフリクトルールとして登録されている印刷設定の中に、今回の印刷設定と同じ印刷設定が存在する場合にはステップＳ２００２に進み、そうでない場合にはステップＳ２００５に進む。
【０１２１】
ステップＳ２００２に進んだ場合には、今回の印刷設定は、デバイスコンフリクトルールとして既に判定されている。そこで、デバイスコンフリクト処理部６０３は、印刷ジョブの今回の出力先であるネットワークプリンタに対して、コンフリクト"あり"を登録する。図２２に示した例において、印刷ジョブの今回の出力先であるネットワークプリンタがプリンタＢであり、今回の印刷設定が印刷設定Ｄである場合には、プリンタＢにおける印刷設定Ｄの欄にデバイスコンフリクト"あり"として"×"を登録する。
【０１２２】
次に、ステップＳ２００３において、デバイスコンフリクト処理部６０３は、デバイスコンフリクトの出現回数が閾値以上か否かを判定する。この判定の結果、デバイスコンフリクトの出現回数が閾値以上である場合にはステップＳ２００４に進み、そうでない場合にはステップＳ２００６に進む。尚、デバイスコンフリクト処理部６０３は、デバイスコンフリクトの出現回数を印刷設定毎に常時カウントしているものとする。
ステップＳ２００４に進むと、デバイスコンフリクト処理部６０３は、今回の印刷設定をデバイス共通コンフリクトルールに該当するものとしてデバイスコンフリクトルールＤＢ６０５に登録する。
具体例を説明すると、ステップＳ２００２において、プリンタＢにおける印刷設定Ｄの欄にデバイスコンフリクト"あり"として"×"が登録された場合、印刷設定Ｄにおけるデバイスコンフリクトの出現回数は３となる。ここで閾値が３であった場合には、ステップＳ２００３において印刷設定Ｄはデバイス共通コンフリクトルールに該当するものとして、デバイスコンフリクトルールＤＢ６０５のデバイス共通コンフリクト判定の欄に"登録"が書き込まれる。
このように本実施形態では、少なくともステップＳ２００４の処理を行うことによって、記憶手段が実現される。また、本実施形態では、デバイスコンフリクトルールＤＢ６０５に記憶されるデバイス共通コンフリクトルールによってコンフリクト情報が実現される。
【０１２３】
一方、バイスコンフリクトの出現回数が閾値以上でない場合には、ステップＳ２００６に進み、デバイスコンフリクト処理部６０３は、今回の印刷設定を警告に該当するものとしてデバイスコンフリクトルールＤＢ６０５に登録する。
具体例を説明すると、ステップＳ２００２において、プリンタＤにおける印刷設定Ａの欄にデバイスコンフリクト"あり"として"×"が登録された場合、印刷設定Ａにおけるデバイスコンフリクトの出現回数は１となる。ここで閾値が３であった場合には、ステップＳ２００３において印刷設定Ａは警告に該当するものとして、デバイスコンフリクトルールＤＢ６０５のデバイス共通コンフリクト判定の欄に"警告"が書き込まれる。
【０１２４】
また、前述したように、ステップＳ２００１において、今回の印刷設定と同じ印刷設定が存在しない場合にはステップＳ２００５に進む。ステップＳ２００５に進むと、デバイスコンフリクト処理部６０３は、今回の印刷設定と、その印刷設定によりデバイスコンフリクトが発生したか否か（図２２に示す例では"○"又は"×"）とをデバイスコンフリクトルールＤＢ６０５に登録する。そして、ステップＳ２００６に進み、デバイスコンフリクト処理部６０３は、今回の印刷設定におけるデバイス共通コンフリクト判定の欄に"警告"を登録する。
【０１２５】
図２３は、図１０のステップＳ９０６に代わる"正常系印刷履歴の保存処理"を説明するフローチャートである。
ステップＳ２２０１において、デバイスコンフリクト処理部６０３は、デバイスコンフリクトルールＤＢ６０５に登録されている印刷設定の中に、今回の印刷設定と同じ印刷設定が存在するか判定する。この判定の結果、デバイスコンフリクトルールＤＢ６０５に登録されている印刷設定の中に、今回の印刷設定と同じ印刷設定が存在する場合にはステップＳ２２０２に進み、そうでない場合にはステップＳ２２０４に進む。
【０１２６】
ステップＳ２２０２に進むと、デバイスコンフリクト処理部６０３は、印刷ジョブの今回の出力先であるネットワークプリンタに対して、コンフリクト"なし"を登録する。
次に、ステップＳ２２０３において、デバイスコンフリクト処理部６０３は、正常に印刷されたものとして、印刷設定と、印刷ジョブのコンテンツ情報（コンテンツの総ページ数等）とを印刷履歴ＤＢ６２２へ登録する。
【０１２７】
一方、ステップＳ２２０１において、デバイスコンフリクトルールＤＢ６０５に登録されている印刷設定の中に、今回の印刷設定と同じ印刷設定が存在しない場合には、ステップＳ２００４に進む。そして、デバイスコンフリクト処理部６０３は、今回の印刷設定と、その印刷設定によりデバイスコンフリクトが発生していないこと（図２２に示す例では"○"）とをデバイスコンフリクトルールＤＢ６０５に登録する。そして、ステップＳ２２０３に進み、印刷設定と、印刷ジョブのコンテンツ情報（コンテンツの総ページ数等）とが印刷履歴ＤＢ６２２に登録される。
【０１２８】
以上のように本実施形態では、複数のプリンタに共通のデバイスコンフリクトルールであるデバイス共通コンフリクトルールを登録し、登録したデバイス共通コンフリクトルールの設定を印刷実績のないプリンタに対しても適用するようにした。したがって、印刷実績のないプリンタに対してもデバイスコンフリクトルールを適用することが可能となり、ユーザの操作性の大幅な向上が可能となる。
尚、本実施形態を、前述した第２〜第４の実施形態の少なくとも何れか１つに適用することができる。
【０１２９】
（本発明の他の実施形態）
前述した本発明の実施形態における情報処理装置を構成する各手段、並びに印刷設定制御方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【０１３０】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１３１】
尚、本発明は、以下の場合も含む。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図７、図８、図１０、図１２、図１４〜図２１、図２３に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する場合も含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１３２】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１３３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１３４】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１３５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１３６】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１３７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１３８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１３９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１４０】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【０１４１】
【図１】本発明の第１の実施形態を示し、印刷管理システムの構成の一例を示したブロック図である。
【図２】本発明の第１の実施形態を示し、クライアントコンピュータ及びプリントサーバとして利用可能な情報処理装置におけるハードウェアの構成の一例を示したブロック図である。
【図３】本発明の第１の実施形態を示し、ＲＡＭのメモリマップの一例を示す図である。
【図４】本発明の第１の実施形態を示し、ＦＤのメモリマップの一例を示す図である。
【図５】本発明の第１の実施形態を示し、ＦＤドライブと、そのＦＤドライブに対して挿入されるＦＤ２０４との関係の一例を示す図である。
【図６】本発明の第１の実施形態を示し、クライアントコンピュータと、プリントサーバと、ネットワークプリンタとの機能的な構成の一例を示したブロック図である。
【図７】本発明の第１の実施形態を示し、基本的な流れの一例を説明するフローチャートである。
【図８】本発明の第１の実施形態を示し、ステップＳ７０１の印刷設定処理の詳細を説明するフローチャートである。
【図９】本発明の第１の実施形態を示し、印刷設定画面の一例を示す図である。
【図１０】本発明の第１の実施形態を示し、ステップＳ７０５のデバイスステータス分析処理の詳細を説明するフローチャートである。
【図１１】本発明の第１の実施形態を示し、デバイスステータス分析処理の処理結果の一例を示す図である。
【図１２】本発明の第１の実施形態を示し、ステップＳ７０６のデバイスコンフリクト情報処理の詳細を説明するフローチャートである。
【図１３】本発明の第２の実施形態を示し、クライアントコンピュータと、プリントサーバと、ネットワークプリンタとの機能的な構成の一例を示したブロック図である。
【図１４】本発明の第２の実施形態を示し、基本的な処理の流れの一例を説明するフローチャートである。
【図１５】本発明の第３の実施形態を示し、ステップＳ７０１の印刷設定処理の詳細を説明するフローチャートである。
【図１６】本発明の第３の実施形態を示し、ステップＳ１４０９の代替設定候補検索処理の詳細を説明するフローチャートである。
【図１７】本発明の第４の実施形態を示し、基本的な流れの一例を説明するフローチャートである。
【図１８】本発明の第４の実施形態を示し、ステップＳ１６０１の印刷設定処理の詳細を説明するフローチャートである。
【図１９】本発明の第４の実施形態を示し、ステップＳ１６０７のフォーマットコンフリクトチェック処理の詳細を説明するフローチャートである。
【図２０】本発明の第５の実施形態を示し、ステップＳ７０１の印刷設定処理の詳細を説明するフローチャートである。
【図２１】本発明の第５の実施形態を示し、図１０のステップＳ９１０に代わる"デバイスコンフリクトの登録処理"を詳細に説明するフローチャートである。
【図２２】本発明の第５の実施形態を示し、デバイスコンフリクトＤＢの記憶内容の一例を概念的に示す図である。
【図２３】本発明の第５の実施形態を示し、図１０のステップＳ９０６に代わる"正常系印刷履歴の保存処理"を説明するフローチャートである。
【符号の説明】
【０１４２】
１０１  プリントサーバ
１０２〜１０４  クライアントコンピュータ
１０５、１０６  ネットワークプリンタ
１０７  ネットワーク
６０１  印刷設定部
６０２  データ送受信管理部
６０３  デバイスコンフリクト処理部
６０４  コンフリクト処理部
６０５  デバイスコンフリクトルールＤＢ
６０６  コンフリクトルールＤＢ
６２１  テストケースＤＢ
６２２  印刷履歴ＤＢ
【図１】
0005294639.tif 000004
【図２】
0005294639.tif 000005
【図３】
0005294639.tif 000006
【図４】
0005294639.tif 000007
【図５】
0005294639.tif 000008
【図６】
0005294639.tif 000009
【図７】
0005294639.tif 000010
【図８】
0005294639.tif 000011
【図９】
0005294639.tif 000012
【図１０】
0005294639.tif 000013
【図１１】
0005294639.tif 000014
【図１２】
0005294639.tif 000015
【図１３】
0005294639.tif 000016
【図１４】
0005294639.tif 000017
【図１５】
0005294639.tif 000018
【図１６】
0005294639.tif 000019
【図１７】
0005294639.tif 000020
【図１８】
0005294639.tif 000021
【図１９】
0005294639.tif 000022
【図２０】
0005294639.tif 000023
【図２１】
0005294639.tif 000024
【図２２】
0005294639.tif 000025
【図２３】
0005294639.tif 000026