(57)【要約】【課題】オペレータの所望とするスケジュールを容易に選択可能とする情報処理装置及びその制御方法等を提供する。【解決手段】  印刷装置の動作スケジュールを管理する情報処理装置は、印刷装置の動作スケジュールを記憶し、動作スケジュールに基づいて、印刷装置の空き時間を候補時間として検出する。そして、候補時間の各々において処理可能なデータ量を推定し、推定された処理可能なデータ量の和が印刷すべき原稿データのデータ量以上となる候補時間の単体又は組み合わせを検索する。そして、検索された候補時間の単体又は組み合わせを提示し、所望の候補時間の単体又は組み合わせを選択可能とする。【選択図】  図６
2006099738.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置の動作スケジュールを管理する情報処理装置であって、
印刷装置の動作スケジュールを記憶するスケジュール記憶手段と、
前記動作スケジュールに基づいて、前記印刷装置の空き時間を候補時間として検出する検出手段と、
前記検出手段で検出された候補時間の各々において処理可能な処理量を推定し、推定された処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索する検索手段と、
前記検索手段で検索された候補時間の単体又は組み合わせを提示し、所望の候補時間の単体又は組み合わせを選択可能とする選択手段と、
前記選択手段で選択された候補時間の単体又は組み合わせに基づいて、前記印刷すべき原稿データのための印刷装置の動作スケジュールを決定する決定手段とを備えることを特徴とする情報処理装置。
【請求項２】
印刷装置の能力に関する情報を記憶する能力情報記憶手段を更に備え、
前記検索手段において、候補時間の各々における処理可能な処理量は、前記能力に関する情報に基づいて推定されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
印刷装置の能力に関する情報を記憶する能力情報記憶手段と、
前記印刷すべき原稿データに付属した印刷設定情報と前記能力情報記憶手段に記憶された情報とに基づいて、該原稿データの印刷に利用可能な印刷装置を抽出する抽出手段とを更に備え、
前記検索手段による候補時間の単体又は組み合わせの検索は、前記抽出手段で抽出された印刷装置の範囲で行われることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
印刷終了時刻を含む印刷条件を設定する設定手段を更に備え、
前記検索手段は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記印刷条件は少なくとも１つの項目からなる制約条件を更に含み、
前記検索手段は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索し、更に該制約条件の項目を満足するものに絞り込むことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記印刷条件は少なくとも１つの項目からなる制約条件を更に含み、
前記検索手段は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索し、更に該制約条件の一部の項目を満足するものに絞り込むことを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記印刷条件は少なくとも１つの項目からなる制約条件を更に含み、
前記制約条件の各項目は点数が割り振られ、
前記検索手段は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索し、検索された候補時間の単体又は組み合わせそれぞれについて、該候補時間の単体又は組み合わせが満たしている該制約条件の各項目に割り振られた該点数を合計し、
前記選択手段は、該合計された点数の値が高い該候補時間の単体又は組み合わせから順に提示することを特徴とする請求項４乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記スケジュール記憶手段に記憶された動作スケジュールに基づいて、前記原稿データより印刷ジョブを生成し、該印刷ジョブを印刷させるべく所定の印刷装置へ送出する印刷ジョブ制御手段とを更に備えることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
印刷装置の動作スケジュールを管理する情報処理装置の制御方法であって、
印刷装置の動作スケジュールを記憶手段に記憶するスケジュール記憶工程と、
前記動作スケジュールに基づいて、前記印刷装置の空き時間を候補時間として検出する検出工程と、
前記検出工程で検出された候補時間の各々において処理可能な処理量を推定し、推定された処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索する検索工程と、
前記検索工程で検索された候補時間の単体又は組み合わせを提示し、所望の候補時間の単体又は組み合わせを選択可能とする選択工程と、
前記選択工程で選択された候補時間の単体又は組み合わせに基づいて、前記印刷すべき原稿データのための印刷装置の動作スケジュールを決定する決定工程とを備えることを特徴とする情報処理装置の制御方法。
【請求項１０】
印刷装置の能力に関する情報を記憶手段に記憶する能力情報記憶工程を更に備え、
前記検索工程において、候補時間の各々における処理可能な処理量は、前記能力に関する情報に基づいて推定されることを特徴とする請求項９に記載の情報処理装置の制御方法。
【請求項１１】
印刷装置の能力に関する情報を記憶手段に記憶する能力情報記憶工程と、
前記印刷すべき原稿データに付属した印刷設定情報と前記能力情報記憶工程において記憶手段に記憶された情報とに基づいて、該原稿データの印刷に利用可能な印刷装置を抽出する抽出工程とを更に備え、
前記検索工程による候補時間の単体又は組み合わせの検索は、前記抽出工程で抽出された印刷装置の範囲で行われることを特徴とする請求項９または１０に記載の情報処理装置の制御方法。
【請求項１２】
印刷終了時刻を含む印刷条件を設定する設定工程を更に備え、
前記検索工程は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量の和が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索することを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理装置の制御方法。
【請求項１３】
前記印刷条件は少なくとも１つの項目からなる制約条件を更に含み、
前記検索工程は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索し、更に該制約条件の項目を満足するものに絞り込むことを特徴とする請求項１２に記載の情報処理装置の制御方法。
【請求項１４】
前記印刷条件は少なくとも１つの項目からなる制約条件を更に含み、
前記検索工程は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索し、更に該制約条件の一部の項目を満足するものに絞り込むことを特徴とする請求項１２または１３に記載の情報処理装置の制御方法。
【請求項１５】
前記印刷条件は少なくとも１つの項目からなる制約条件を更に含み、
前記制約条件の各項目は点数が割り振られ、
前記検索工程は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索し、検索された候補時間の単体又は組み合わせそれぞれについて、該候補時間の単体又は組み合わせが満たしている該制約条件の各項目に割り振られた該点数を合計し、
前記選択工程は、該合計された点数の値が高い該候補時間の単体又は組み合わせから順に提示することを特徴とする請求項１２乃至１４のいずれか１項に記載の情報処理装置の制御方法。
【請求項１６】
前記スケジュール記憶工程において記憶手段に記憶された動作スケジュールに基づいて、前記原稿データより印刷ジョブを生成し、該印刷ジョブを印刷させるべく所定の印刷装置へ送出する印刷ジョブ制御工程とを更に備えることを特徴とする請求項９乃至１５のいずれか１項に記載の情報処理装置の制御方法。
【請求項１７】
印刷装置の動作スケジュールを管理する情報処理装置の制御を実現するプログラムであって、
印刷装置の動作スケジュールを記憶手段に記憶するスケジュール記憶工程のプログラムコードと、
前記動作スケジュールに基づいて、前記印刷装置の空き時間を候補時間として検出する検出工程のプログラムコードと、
前記検出工程で検出された候補時間の各々において処理可能な処理量を推定し、推定された処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索する検索工程のプログラムコードと、
前記検索工程で検索された候補時間の単体又は組み合わせを提示し、所望の候補時間の単体又は組み合わせを選択可能とする選択工程のプログラムコードと、
前記選択工程で選択された候補時間の単体又は組み合わせに基づいて、前記印刷すべき原稿データのための印刷装置の動作スケジュールを決定する決定工程のプログラムコードとを備えることを特徴とするプログラム。
【請求項１８】
印刷装置の能力に関する情報を記憶手段に記憶する能力情報記憶工程のプログラムコードを更に備え、
前記検索工程において、候補時間の各々における処理可能な処理量は、前記能力に関する情報に基づいて推定されることを特徴とする請求項１７に記載のプログラム。
【請求項１９】
印刷装置の能力に関する情報を記憶手段に記憶する能力情報記憶工程のプログラムコードと、
前記印刷すべき原稿データに付属した印刷設定情報と前記能力情報記憶工程において記憶手段に記憶された情報とに基づいて、該原稿データの印刷に利用可能な印刷装置を抽出する抽出工程のプログラムコードとを更に備え、
前記検索工程による候補時間の単体又は組み合わせの検索は、前記抽出工程で抽出された印刷装置の範囲で行われることを特徴とする請求項１７または１８に記載のプログラム。
【請求項２０】
印刷終了時刻を含む印刷条件を設定する設定工程のプログラムコードを更に備え、
前記検索工程は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索することを特徴とする請求項１７乃至１９のいずれか１項に記載のプログラム。
【請求項２１】
前記印刷条件は少なくとも１つの項目からなる制約条件を更に含み、
前記検索工程は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上の候補時間の単体又は組み合わせを検索し、更に該制約条件の項目を満足するものに絞り込むことを特徴とする請求項２０に記載のプログラム。
【請求項２２】
前記印刷条件は少なくとも１つの項目からなる制約条件を更に含み、
前記検索工程は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索し、更に該制約条件の一部の項目を満足するものに絞り込むことを特徴とする請求項２０または２１に記載のプログラム。
【請求項２３】
前記印刷条件は少なくとも１つの項目からなる制約条件を更に含み、
前記制約条件の各項目は点数が割り振られ、
前記検索工程は、前記印刷終了時刻までの時間範囲に分布する候補時間の中から処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索し、検索された候補時間の単体又は組み合わせそれぞれについて、該候補時間の単体又は組み合わせが満たしている該制約条件の各項目に割り振られた該点数を合計し、
前記選択工程は、該合計された点数の値が高い該候補時間の単体又は組み合わせから順に提示することを特徴とする請求項２０乃至２２のいずれか１項に記載のプログラム。
【請求項２４】
前記スケジュール記憶工程において記憶手段に記憶された動作スケジュールに基づいて、前記原稿データより印刷ジョブを生成し、該印刷ジョブを印刷させるべく所定の印刷装置へ送出する印刷ジョブ制御工程のプログラムコードとを更に備えることを特徴とする請求項１７乃至２３のいずれか１項に記載のプログラム。
【請求項２５】
印刷装置と情報処理装置を備えるコンピュータシステムであって、
印刷装置の動作スケジュールを記憶するスケジュール記憶手段と、
前記動作スケジュールに基づいて、前記印刷装置の空き時間を候補時間として検出する検出手段と、
前記検出手段で検出された候補時間の各々において処理可能な処理量を推定し、推定された処理可能な処理量が印刷すべき原稿データの処理量以上の候補時間の単体又は組み合わせを検索する検索手段と、
前記検索手段で検索された候補時間の単体又は組み合わせを提示し、所望の候補時間の単体又は組み合わせを選択可能とする選択手段と、
前記選択手段で選択された候補時間の単体又は組み合わせに基づいて、前記印刷すべき原稿データのための印刷装置の動作スケジュールを決定する決定手段と
前記スケジュール記憶手段に記憶された動作スケジュールに基づいて、前記原稿データより印刷ジョブを生成し、該印刷ジョブを印刷させるべく印刷装置へ送出する印刷ジョブ制御手段を備えることを特徴とするコンピュータシステム。
【請求項２６】
印刷装置の動作スケジュールを記憶する情報処理装置であって、
前記動作スケジュールに基づいて、前記印刷装置の空き時間を候補時間として検出する検出手段と、
前記検出手段で検出された候補時間から原稿データを処理可能な候補時間を抽出する抽出手段と、
前記抽出手段により抽出された候補時間を表示する表示制御手段と、
前記表示制御手段により表示された候補時間から、前記原稿データを割り当てるべき候補時間を選択する選択手段と、
前記選択手段により選択された候補時間に基づいて、前記印刷すべき原稿データを処理すべき印刷装置の動作スケジュールを決定する決定手段とを備えることを特徴とする情報処理装置。
【請求項２７】
前記検出手段により検出された候補時間において処理可能な処理量を算出する算出手段を有し、
前記抽出手段は、前記算出手段により算出された処理量から前記原稿データの処理量以上となる候補時間を抽出することを特徴とする請求項２６に記載の情報処理装置。
【請求項２８】
前記抽出手段により候補時間を抽出するための抽出条件を設定する設定手段を有し、
前記抽出手段は、前記設定手段により複数の印刷装置にて処理することが設定されている場合、前記原稿データを処理可能となる複数の印刷装置の空き時間を組み合わせた候補時間を抽出することを特徴とする請求項２６または２７に記載の情報処理装置。
【請求項２９】
印刷装置の動作スケジュールを記憶する情報処理方法であって、
前記動作スケジュールに基づいて、前記印刷装置の空き時間を候補時間として検出する検出工程と、
前記検出工程で検出された候補時間から原稿データを処理可能な候補時間を抽出する抽出工程と、
前記抽出工程により抽出された候補時間を表示する表示制御工程と、
前記表示制御工程により表示された候補時間から、前記原稿データを割り当てるべき候補時間を選択する選択工程と、
前記選択工程で選択された候補時間に基づいて、前記印刷すべき原稿データを処理すべき印刷装置の動作スケジュールを決定する決定工程とを備えることを特徴とする情報処理方法。
【請求項３０】
前記検出工程で検出された候補時間において処理可能な処理量を算出する算出工程を有し、
前記抽出工程は、前記算出工程で算出された処理量から前記原稿データの処理量以上となる候補時間を抽出することを特徴とする請求項２９に記載の情報処理方法。
【請求項３１】
前記抽出工程により候補時間を抽出するための抽出条件を設定する設定工程を有し、
前記抽出工程は、前記設定工程により複数の印刷装置にて処理することが設定されている場合、前記原稿データを処理可能となる複数の印刷装置の空き時間を組み合わせた候補時間を抽出することを特徴とする請求項２９または３０に記載の情報処理方法。
【請求項３２】
印刷装置の動作スケジュールを管理する情報処理装置の制御を実現するプログラムであって、
前記動作スケジュールに基づいて、前記印刷装置の空き時間を候補時間として検出する検出工程のコードと、
前記検出工程で検出された候補時間から原稿データを処理可能な候補時間を抽出する抽出工程のコードと、
前記抽出工程により抽出された候補時間を表示する表示制御工程のコードと、
前記表示制御工程により表示された候補時間から、前記原稿データを割り当てるべき候補時間を選択する選択工程のコードと、
前記選択工程で選択された候補時間に基づいて、前記印刷すべき原稿データを処理すべき印刷装置の動作スケジュールを決定する決定工程のコードとを備えることを特徴とするプログラム。
【請求項３３】
前記検出工程で検出された候補時間において処理可能な処理量を算出する算出工程のコードを有し、
前記抽出工程は、前記算出工程で算出された処理量から前記原稿データの処理量以上となる候補時間を抽出することを特徴とする請求項３２に記載のプログラム。
【請求項３４】
前記抽出工程により候補時間を抽出するための抽出条件を設定する設定工程のコードを有し、
前記抽出工程は、前記設定工程により複数の印刷装置にて処理することが設定されている場合、前記原稿データを処理可能となる複数の印刷装置の空き時間を組み合わせた候補時間を抽出することを特徴とする請求項３２または３３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷ジョブのスケジューリング機能を備えた印刷システムに好適な情報処理装置及びその制御方法に関する。
【背景技術】
【０００２】
従来より、個人や企業等の顧客からの依頼により、印刷物の生成を代行する商業印刷サービスが存在する。商業印刷サービスにおいては、印刷業者が顧客より原本となる印刷用データと印刷体裁や部数、納期等の指示を受け、指示に基づいて印刷物を作成し、作成された印刷物を顧客に納品する。
【０００３】
このような商業印刷サービスでは、印刷業者は安定した品質で指定された納品期日までに印刷を完了する必要がある。特に、大規模な印刷センターを有する印刷業者においては、オペレータが多種多様な印刷装置や作業コンピュータを用いて、並列的に多数の印刷依頼（オーダー）を処理する必要がある。
【０００４】
従って、商業印刷サービスにおいては、各種装置等の資源を可能な限り効率的に活用できる、印刷装置の利用スケジュールを生成することが重要である。ところが、手作業により個々の印刷装置の非稼動状態や印刷装置の能力を判断し、各オーダーの条件と適合する印刷装置の利用スケジュールを生成することは、オペレータにとって大きな負担となる。
【０００５】
オペレータが特に負担を感じることなく効率的な印刷装置の利用スケジュールを生成することを目的としたシステムが特許文献１により提案されている。係るシステムによれば、印刷処理等にかかる時間を予測し、印刷ジョブの最終的な印刷終了時刻を見積もることで、最も早く印刷が終了するようなスケジューリングが行われる。
【特許文献１】特開平１０−２４０４５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来技術のシステムにおいては、最も早く印刷が終了できるようにスケジューリングがなされるのみである。よって、たとえ時間的に余裕がある場合であってもオペレータは決められたスケジュール候補に従って印刷を行うしかなく、オペレータの意図を反映するようなスケジュール候補を提示することはできなかった。即ち、必ずしもオペレータにとって最も望ましいスケジュールが提示されるとは限らなかった。一方、オペレータにとって望ましいスケジュールは、印刷が納品期日に間に合う範囲で、印刷環境等の様々な事情により多種多様である。例えば、納品期日に間に合うのであれば、オペレータは、オペレータからの位置的な距離がより近い（又は頻繁に使用する）印刷装置で印刷を行いたいと考えるかもしれない。あるいは、複数の印刷装置で分散して印刷するよりは１つの印刷装置で印刷したいと考えるかもしれない。
【０００７】
このようにオペレータの所望とするスケジュールは確定的に定まるものではない。このため、印刷が納品期日に間に合うという最低条件を満たし、且つ、オペレータに大きな負担を課すことなく、オペレータの要望を柔軟に満たすことのできるスケジューリング・システムが求められる。しかし、このような要件を満たす従来技術は存在しなかった。
【０００８】
本発明は上記問題を鑑みてなされたものであり、印刷装置の空き時間に基づいて多様な動作スケジュールの候補を生成し提示することで、オペレータの所望とするスケジュールを容易に選択可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、例えば本発明による情報処理装置は以下の構成を備える。即ち、
印刷装置の動作スケジュールを管理する情報処理装置であって、
印刷装置の動作スケジュールを記憶するスケジュール記憶手段と、
前記動作スケジュールに基づいて、前記印刷装置の空き時間を候補時間として検出する検出手段と、
前記検出手段で検出された候補時間の各々において処理可能な処理量を推定し、推定された処理可能な処理量が印刷すべき原稿データの処理量以上となる候補時間の単体又は組み合わせを検索する検索手段と、
前記検索手段で検索された候補時間の単体又は組み合わせを提示し、所望の候補時間の単体又は組み合わせを選択可能とする選択手段と、
前記選択手段で選択された候補時間の単体又は組み合わせに基づいて、前記印刷すべき原稿データのための印刷装置の動作スケジュールを決定する決定手段とを備える。
【発明の効果】
【００１０】
本発明によれば、印刷装置の空き時間に基づいて多様な動作スケジュールの候補が生成され、提示されるので、オペレータの所望とするスケジュールを容易に選択することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１２】
ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１３】
＜印刷システムの構成＞
図１は、本実施形態に係る印刷システムの全体構成を示すブロック図である。本実施形態に係る印刷システムは、クライアント１５１、受注サーバ１５２、印刷センター１５３を含む。クライアント１５１は、ユーザが操作して印刷依頼を行うクライアントとして機能する情報処理装置を含む。受注サーバ１５２は、クライアント１５１との通信により印刷依頼及び原稿データファイルを受け取りその内容に基づいて印刷センターへ印刷指示情報を送信する。印刷センター１５３は、受注サーバ１５２より受け取った印刷指示情報の内容に基づいて印刷のスケジューリングを行い印刷処理を実行する。
【００１４】
本実施形態では、クライアント１５１と受注サーバ１５２、受注サーバ１５２と印刷センター１５３は、それぞれＩｎｔｅｒｎｅｔ／Ｉｎｔｒａｎｅｔ等（以下、ネットワークと呼ぶ）１３１で接続されており、互いに通信することができる。通常、クライアント１５１と受注サーバ１５２はＩｎｔｅｒｎｅｔ接続され、受注サーバ１５２と印刷センター１５３は専用回線を用いたＩｎｔｒａｎｅｔ接続されることが多いが、本実施形態はこうした環境に限られるものではない。例えば、印刷センター１５３内に受注サーバ１５２が存在するような環境であっても本発明を適用することができる。
【００１５】
クライアント１５１は、例えば、自宅や会社で用いられるデスクトップＰＣ（以下、ＰＣと呼ぶ）１０１やノートＰＣ１０２等の情報処理装置であり（以下、クライアント装置１０１，１０２と記載する）、印刷依頼を行う一般ユーザが操作する。各クライアント装置１０１、１０２は、イーサネット（登録商標）等のネットワークケーブルを含むアクセス手段であるＬＡＮ１２１によってインターネットや社内イントラネット等のネットワーク１３１に接続されている。従って、クライアント装置１０１，１０２はネットワーク１３１を経由して受注サーバ１５２と互いに通信することができる。尚、ネットワーク１３１へのアクセス手段はイーサネット（登録商標）ケーブルに限定されるものではなく、例えば、ＲＳ２３２Ｃインタフェースに準じた通信ケーブルや、無線ＬＡＮ等の無線通信手段によって構成されていてもよい。以下、本明細書で述べる他のネットワークへのアクセス手段についても同様である。
【００１６】
各クライアント装置１０１、１０２には、ユーザが受注サーバ１５２へ印刷依頼や原稿データファイルのアップロードを行う時に用いるプログラムが搭載されている。本実施形態では、例えば、所謂インターネット・ブラウザを用いるものとする。
【００１７】
受注サーバ１５２は、ＷＥＢサーバ１０３とＤＢサーバ１０４を有する。ＷＥＢサーバ１０３では、クライアント１５１との通信により印刷依頼や印刷対象となる原稿データファイルの入稿を受け付ける入稿プログラムが動作する。また、ＤＢサーバ１０４は、ＷＥＢサーバ１０３に入稿された印刷依頼の情報と原稿データファイルを格納する。ここで、ＷＥＢサーバ１０３とＤＢサーバ１０４は１つの情報処理装置に並存させることも可能であるが、本実施形態においては、便宜上２つの情報処理装置に分かれているものとする。ＷＥＢサーバ１０３とＤＢサーバ１０４はＬＡＮ１２２等のネットワークによって接続されており、互いに通信することができる。
【００１８】
ＷＥＢサーバ１０３において動作する入稿プログラムは、エディットコントロールとファイル指定コントロールから構成される。エディットコントロールは、製本等の印刷体裁や、部数、用紙サイズ等の印刷設定、納品期日、依頼者情報、配送先等の印刷依頼内容を入力可能にする。またファイル指定コントロールは、原稿データファイルをアップロードする。ここで、入力された印刷依頼内容に応じて印刷料金を計算するロジックや、入力事項の確定処理を行うロジック等は、ＷＥＢサーバ１０３上で動作するサービスモジュールによって実現されているものとする。ＷＥＢサーバ１０３はクライアント１５１との通信によって印刷依頼と原稿データファイルを受け取り、該原稿データファイルをＤＢサーバ１０４に格納する。そして、ユーザの依頼内容と原稿データファイルのファイル名、パス名が記載された注文書ファイルを生成し、原稿データファイルと合わせてＤＢサーバ１０４に格納する。
【００１９】
ＤＢサーバ１０４には、所定のデータベース・ソフトウェアがインストールされており、後述する印刷管理サーバ１０５からのデータ取得要求に応じて、所望の注文書ファイルと原稿データファイルを送信することができる。非図示のＤＢスキーマは、主として印刷センターマスタテーブル、デバイスマスタテーブル、製本機マスタテーブルから構成されている。印刷センターマスタテーブルは、印刷センタの場所、連絡先等の情報と、デバイスマスタテーブル、製本機マスタテーブルをメンバに持つ。デバイスマスタテーブルは、カラー／モノクロ、印刷枚数、オプション等のデバイス構成情報をメンバに持つ。また、製本機マスタテーブルはパンチャ、くるみ製本機等の情報をメンバに持つ。これらのテーブルを参照することで、印刷センター１５３にある印刷管理サーバ１０５は自センターに割り当てられた注文を受け取ることができる。
【００２０】
印刷センター１５３は、印刷管理サーバ１０５と、作業ＰＣ１０６、印刷装置等から構成される。印刷管理サーバ１０５は、ＤＢサーバ１０４に蓄積された注文書ファイルと原稿データファイルを定期的に収集する。また、印刷管理サーバ１０５では、後述する印刷管理プログラムが動作する。作業ＰＣ１０６は、オペレータが印刷管理サーバ１０５の印刷管理プログラムを操作するために用いられる。また、印刷装置としては、モノクロプリンタ１１１、カラープリンタ１１２等のプリンタ、オフライン製本で使われる製本機１４１、１４２が含まれる。印刷管理サーバ１０５、作業ＰＣ１０６、プリンタ１１１、１１２、製本機１４１、１４２はＬＡＮ１２３等のネットワークによって接続されており、互いに通信することができる。
【００２１】
印刷管理サーバ１０５は、ＷＥＢサーバ１０３からの注文確定の通知を受け、ＤＢサーバ１０４から注文書ファイルと原稿データファイルを収集するとともに、収集した注文書ファイルの内容に従い、後述する印刷管理プログラムを稼動する情報処理装置である。ここで、印刷管理プログラムは、オーダーマネージャ、ワークフローマネージャ、ジョブマネージャ、デバイスマネージャ、デバイススケジューラ等から構成される。本実施形態では、説明の便宜上、該印刷管理プログラムは１台の情報処理装置で動作する場合について述べるが、これに限られるものではない。例えば、複数の情報処理装置を用いて並列的にプログラムを動作させた場合も本発明の実施形態に含まれる。
【００２２】
作業ＰＣ１０６は作業用の情報処理装置である。作業ＰＣ１０６は、オペレータの操作に応じて印刷管理サーバ１０５の印刷管理プログラムが提供する各種のサービスを制御し、指定された印刷設定を行い、プリンタ１１１、１１２や製本機１４１、１４２等の印刷装置に各種指示を出す。作業ＰＣ１０６はオペレータが容易に操作することのできるような操作画面、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供する。
【００２３】
モノクロプリンタ１１１、カラープリンタ１１２は、印刷センターによって設置構成が異なるが、本実施形態では、高速なモノクロプリンタと、高品位なカラープリンタの組み合わせで構成されるものとする。プリンタ１１１、１１２はＬＡＮ１２３に接続されているため、ＬＡＮ１２３に接続されている印刷管理サーバ１０５や作業ＰＣ１０６等の情報処理装置から、該印刷装置の情報を提供することができる。これらのプリンタは、印刷管理サーバ１０５で動作する印刷管理プログラムのデバイススケジューラにおいて、その動作のスケジューリングが行われる。
【００２４】
製本機１４１、１４２はプリンタ１１１、１１２より出力された用紙を製本するためのオフライン製本機であり、ステイプラ、パンチャ、くるみ製本機、リング製本機等が含まれる。製本機１４１、１４２はＬＡＮ１２３に接続されているため、ＬＡＮ１２３に接続されている印刷管理サーバ１０５や作業ＰＣ１０６等の情報処理装置から、該印刷装置の情報を提供することができる。また、プリンタと同様に印刷センターによって設置構成は異なる。
【００２５】
尚、印刷センター１５３の構成は上記に限定されるものではない。例えば、印刷センター１５３の役割や目的に応じて、印刷管理サーバ１０５や作業ＰＣ１０６、プリンタ、製本機等は任意の台数で、任意のネットワーク構成によってシステムを構成することができる。
【００２６】
また、本明細書では、印刷システムはそれぞれ１つのクライアント１５１、受注サーバ１５２、印刷センター１５３から構成される場合について述べるが、本発明の実施形態はこれに限られるものではない。即ち、クライアント、受注サーバ、印刷センターがそれぞれ１以上存在する場合も含む。例えば、印刷センターが複数設置され、各印刷センターの保有するプリンタの情報等に基づいて、受注サーバが印刷指示を出す印刷センターを選択する場合も本発明の実施形態に含まれる。
【００２７】
また、本明細書では、説明の便宜のため、印刷システムが役割に応じてクライアント１５１、受注サーバ１５２、印刷センター１５３から構成される場合について述べるが、本発明の実施形態はこれに限られるものではない。例えば、受注サーバ１５２の一部又は全部の機能がクライアント１５１や印刷センター１５３において実装されている場合も本発明の実施形態に含まれる。或いは、印刷センター１５３の一部又は全部の機能がクライアント１５１や受注センター１５２において実装されている場合等も本発明の実施形態に含まれる。
【００２８】
＜情報処理装置の構成＞
次に、本実施形態の印刷システムを構成する情報処理装置の概略について説明する。図２は、印刷システムを構成する情報処理装置の機器構成を示すブロック図である。上述したクライアント装置１０１、１０２、ＷＥＢサーバ１０３、ＤＢサーバ１０４、印刷管理サーバ１０５、作業ＰＣ１０６は同様或いは同等のハードウェア構成とする。
【００２９】
図２において、２００はＣＰＵであり、後述するハードディスク装置（以下、ＨＤと呼ぶ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、オペレーティングシステム（ＯＳ）やプリンタ制御プログラム等を実行する。また、ＣＰＵ２００は、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００３０】
２０１はＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は各種データを一時記憶するためのＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００３１】
２０３は記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア（記録媒体）２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア２０４は、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。メディア２０４に記憶されている内容の構成例を図４に示す。
【００３２】
２０５は外部記憶装置であり、本実施形態では大容量メモリとして機能するＨＤを用いている。ＨＤ２０５には、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、プリンタ制御プログラム、関連プログラム等が格納される。
【００３３】
２０６は指示入力装置であり、キーボードやポインティングデバイス（マウス等）、タッチパネル等がこれに相当する。指示入力装置２０６を用いて、ユーザはクライアント装置１０１、１０２に対して、或いはオペレータや管理者がサーバ１０３、１０４、１０５、或いは、作業ＰＣ１０６に対して、デバイスの制御コマンドの命令等を入力指示する。
【００３４】
２０７はディスプレイであり、指示入力装置２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００３５】
２０８はシステムバスであり、情報処理装置内のデータの流れを司るものである。２０９はインターフェイス（以下、Ｉ／Ｆという）であり、このＩ／Ｆ２０９を介して外部装置とのデータのやり取りを行う。本実施形態では、Ｉ／Ｆ２０９はローカルエリアネットワーク（ＬＡＮ）やインターネットとの接続を実現する。
【００３６】
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【００３７】
図３は、本実施形態のプログラムがＲＡＭ２０２にロードされ実行可能となった状態のメモリマップを表すものである。
【００３８】
本実施形態では、メディア２０４から本実施形態に係るプログラム及び関連データを直接ＲＡＭ２０２にロードして実行させる例を示すがこれに限られない。たとえば、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００３９】
また、本実施形態に係るプログラムを記録する媒体であるメディアは、ＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ、ＩＣメモリーカード等であっても良い。更に、本実施形態に係るプログラムをＲＯＭ２０１に記録しておき、これをメモリマップの一部をなすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００４０】
図３において、３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローティング）機能等を有している。３０２はＯＳであり、３０３には制御プログラム、３０４には関連データがそれぞれ展開され、３０５にはＣＰＵ２００が本プログラムを実行するワークエリアがとられている。
【００４１】
図４において、４００はメディア２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明するプログラム、４０４はその関連データである。４０３のプログラムは、図１１に示される本プログラムのフローチャートに基づいてプログラムコード化されたものである。
【００４２】
＜情報の流れ＞
図５は、本実施形態における情報の流れを示したシーケンス図である。まず、ユーザがクライアント１５１を用いてＷＥＢサーバ１０３と通信し、印刷依頼（オーダー）と原稿データファイルのアップロードを行う。クライアント１５１から入力された注文内容が確定すると、ＷＥＢサーバ１０３で注文書ファイルが作成され、ＤＢサーバ１０４に格納される。そして、原稿データファイルがアップロードされたならば、原稿データファイルをＤＢサーバ１０４に格納する。
【００４３】
格納処理が完了すると、ＷＥＢサーバ１０３は印刷センター１５３にある印刷管理サーバ１０５に対して、印刷の受注通知を送信する。これを受け印刷管理サーバ１０５は、ＤＢサーバ１０４から注文書ファイルを取得する。原稿データファイルがアップロードされているならば、同様にＤＢサーバ１０４から原稿データファイルを取得する。取得が完了すると、ＷＥＢサーバ１０３に対して、受注通知取得の完了を通知する。ＤＢサーバ１０４から取得された注文書ファイル及び原稿データファイルは印刷管理サーバ１０５のＨＤ２０５等の記憶装置に保存される。
【００４４】
この一連の処理によって、受注サーバ１５２と印刷センター１５３の保有する印刷関連データの同期がとられ、受注サーバ１５２では受注処理が、印刷センター１５３では印刷処理が実行されることになり、システム全体の負荷分散を行うことが可能となる。
【００４５】
＜印刷管理プログラムの構成＞
次に、印刷管理サーバ１０５がＤＢサーバ１０４から注文書ファイルと原稿データファイルを取得してからの印刷センター１５３における処理について説明する。まず、印刷管理サーバ１０５で動作する印刷管理プログラムの概要について説明する。図６は、印刷管理プログラムを機能モジュール毎に示した構成図である。
【００４６】
図６に示すように、印刷管理プログラムは、主に、オーダーマネージャ６０１、ワークフローマネージャ６０２、ジョブマネージャ６０３、デバイススケジューラ６０４、デバイスマネージャ６０５等の各コンポーネントから構成される。オーダーマネージャ６０１は入稿された印刷依頼を管理する。ワークフローマネージャ６０２は、各印刷依頼に関する印刷処理の流れ（ワークフロー）を管理する。ジョブマネージャ６０３は、印刷ジョブの管理を行う。デバイススケジューラ６０４は、プリンタの動作予約（動作スケジュール、又は、スケジュール）を管理する。デバイスマネージャ６０５は、各種印刷処理を行うプリンタ、製本機等の管理を行う。以下、これらの主要なコンポーネントは基本的に印刷管理サーバ１０５で動作し、また、作業ＰＣ１０６にはそれらのコンポーネントをネットワーク経由で操作するための操作プログラム（ＧＵＩを含む）がインストールされているものとする。以下では、印刷センター１５３のオペレータが当該操作プログラムを用いて印刷管理プログラムを操作する場合について説明する。
【００４７】
尚、プログラムの配置はこのような構成に限られるものではない。例えば、印刷管理プログラムと操作プログラムが一台のコンピュータで稼動するような構成をとってもよいし、或いは、印刷管理プログラムの各コンポーネントが複数のコンピュータに分散配置されて動作するような構成をとっても構わない。また、操作プログラムを複数のコンピュータで稼動し、複数のオペレータが同時に印刷管理の作業を行えるような構成をとってもよい。
【００４８】
ＷＥＢサーバ１０３からの受注通知の受信に基づいて、印刷管理サーバ１０５はＤＢサーバ１０４から注文書ファイルと原稿データファイルを取得する。すると、オーダーマネージャ６０１はそれらのファイルよりオーダー情報（設定情報）を記載したオーダー情報ファイルを生成する。そして、オーダー受注の旨を作業ＰＣ１０６を経由してオペレータへ通知する。
【００４９】
オペレータはオーダー受注を確認すると、印刷処理の工程を記載したワークフロー情報をワークフローエディタ６０７を用いて作成する。ワークフロー情報はワークフローマネージャ６０２によって管理される。そして、ワークフロー情報は、オペレータの入力、或いは、オーダーマネージャ６０１、ジョブマネージャ６０３、デバイススケジューラ６０４、及び、デバイスマネージャ６０５等との通信によって適宜アップデートされる。
【００５０】
ワークフローが「デバイス予約」の工程まで実行されると、オペレータはデバイススケジューラ６０４を用いてプリンタの印刷スケジュールを生成する。デバイススケジューラ６０４はプリンタ１１１、１１２の動作スケジュール等の情報を管理している。デバイススケジューラ６０４は、デバイスマネージャ６０５の管理するデバイス情報（各プリンタの能力等）や既に予約されているスケジュール等の情報を用いて、オーダーの各種条件を満たす印刷スケジュールの選択肢を生成し、オペレータに提示する。オペレータはデバイススケジューラ６０４により提示された印刷スケジュールの選択肢の中から所望のスケジュールを選び、スケジュール予約を行う。
【００５１】
スケジュールの予約後スケジュールに記載された印刷開始時刻が到来すると、印刷条件に基づいて印刷処理が行われる。
【００５２】
以下、このような処理を実現する印刷管理プログラムの各コンポーネントについて、その詳細を説明する。尚、以下に述べるプログラムたるコンポーネントは、実際には情報処理装置のＣＰＵ２００の制御によって、各種演算や情報の入出力等を実行するものである。しかしながら、以下の説明では便宜上、コンポーネントが主体的に各種演算や情報の入出力等を実行するという形式で説明を行う。
【００５３】
また、印刷管理サーバ１０５上で動作する印刷管理プログラムが提供するサービスを、オペレータに対し作業ＰＣ１０６を経由して提供する場合、サービスの提供は実際には次のようになされる。すなわち、作業ＰＣ１０６において操作画面を提供するプログラム（操作プログラム）が該作業ＰＣ１０６のＣＰＵ２００の制御によって実行され、該操作プログラムの内容に基づいて印刷管理サーバ１０５との通信が行われる。そして、印刷管理サーバ１０５と作業ＰＣ１０６が印刷管理プログラム及び操作プログラムの内容に基づいて所定の動作をすることにより、上記サービスが実現される。しかしながら、以下の説明では便宜上、例えば、印刷管理プログラムのコンポーネントが作業ＰＣ１０６に対して所定の制御を行うという形式で説明を行う。
【００５４】
尚、本発明の実施形態は、コンピュータプログラムによる実装に限定されるものではなく、当然に、情報処理装置やその制御方法、コンピュータプログラムを記録したコンピュータ可読記憶媒体、情報処理システム等にまで及ぶことは言うまでもない。
【００５５】
（オーダーマネージャ）
印刷管理プログラムのコンポーネントの１つである、オーダーマネージャについて説明する。図７は印刷管理サーバ１０５のオーダーマネージャ６０１を作業ＰＣ１０６から起動し操作している状態の操作画面を例示的に示したものである。
【００５６】
オーダーマネージャ６０１は、ＷＥＢサーバ１０３や、ＤＢサーバ１０４から収集した注文書ファイルから印刷情報を抽出し、原稿データファイルのパス名と合わせて印刷に必要なオーダー情報ファイルを作成する。そして作成したファイルを、例えば、ＨＤ２０５の一領域に保存する。また、原稿データファイルも保存する。オーダー情報ファイルに格納される内容には図１８に一例を示すように、オーダー全般情報、ファイル情報、印刷体裁情報等が含まれる。オーダー全般情報は、サービスの種類、オーダー名、オーダーＩＤ、入稿方法、仕上げ方法、納期等の情報を含む。ファイル情報は、アップロードファイル数、アップロードファイル名、ファイルＩＤ、ページ数、ＯＳ種別、原稿作成アプリケーション、アプリケーションバージョン等の情報を含む。印刷体裁情報は、仕上がりサイズ、出力用紙の向き、製本の種類、綴じ方向、印刷（本文）、カラーモード（本文）、用紙タイプ（本文）、パンチ穴、折り、表紙、印刷（表紙）、印刷（裏表紙）、カラーモード（表紙／裏表紙共通）等の情報を含む。
【００５７】
図７に示すオーダーマネージャ６０１の操作画面は、当該オーダー情報を基にオーダーの概略状況を表示するリスト表示画面７０１と、オーダーの詳細情報を表示するタブ表示画面７０２から構成されている。オペレータは、この操作画面を見ながらオーダーの進捗状況を確認することができる。。更に、同じオーダー情報がＷＥＢサーバ１０３に対して、オーダーの進捗状況の変更のタイミングで随時アップロードされる構成となっている。また、ＷＥＢサーバ１０３で提供される非図示の進捗状況コンテンツ画面にもＨＴＭＬを使って同様の情報を提供する構成となっている。これらの構成により、ユーザはオーダーの進捗状況を知ることができる。このオーダー情報は、印刷が完了し配送されるまでは保持されるが、配送後は機密保持のため消去される。
【００５８】
図７は、オーダーマネージャ６０１の操作画面を、ＯＳ上で動作するネイティブ・アプリケーションとして実装した場合における、作業ＰＣ１０６のディスプレイ２０７上に表示される画面例である。しかしながら、このような画面を提供するアプリケーションをＨＴＭＬベースのＷＥＢアプリケーションとして実装してもよい。以下では、本実施形態の作業ＰＣ１０６で稼動する操作プログラムは、説明の便宜上、ネイティブ・アプリケーションとして実装されているものとする。
【００５９】
図７に示す操作画面上部のリスト表示画面７０１には、オーダーを識別するためのＩＤ、担当者等の概略と処理ステータス等が表示される。リスト表示画面７０１において１つのオーダーを選択すると、下部のタブ表示画面にオーダー情報の詳細が表示される。表示される内容には、図１８に示す印刷設定の内容等も含まれる。
【００６０】
オーダーマネージャ６０１は、印刷管理プログラムの他のコンポーネントと通信して、オーダー情報を提供したり、或いは、他のコンポーネントから受け取った情報に基づいてオーダー情報を修正したりすることが可能な構成をとってもよい。印刷管理プログラムのコンポーネントとしては、ワークフローマネージャ６０２、ジョブマネージャ６０３、デバイススケジューラ６０４、デバイスマネージャ６０５等が挙げられる。
【００６１】
以上説明したように、オペレータはオーダーマネージャ６０１を操作することで、オーダーの進捗状況の確認等を容易に行うことができる。又、印刷管理プログラムの他のコンポーネントがオーダーマネージャと通信することで、オーダー情報にアクセス可能な構成をとることもできる。
【００６２】
（ワークフローマネージャ）
次に、印刷管理プログラムのコンポーネントの１つである、ワークフローマネージャ６０２、及び、オペレータがワークフローを編集するために用いるワークフローエディタ６０７について説明する。
【００６３】
図８はワークフローエディタ６０７の操作画面を例示的に示した図である。ワークフローエディタ６０７は、オペレータがオーダーマネージャ６０１で管理されているオーダー情報に従い、オーダー毎にワークフローの作成を簡易な操作により行うことを可能にする。ここで、ワークフローとはオーダーに対する印刷処理の流れを指す情報であり、オペレータがオーダーに基づく印刷処理の進捗を確認するために用いられる。ワークフローは、印刷ワークフローを管理するワークフローマネージャ６０２においてワークフロー情報として処理される。
【００６４】
ワークフローエディタ６０７の操作画面（図８）の上段には、印刷処理における工程やデバイス等を示すアイコン（ブロック）を配置するように制御する。また、印刷センターの印刷環境等に応じて表示するアイコンが変化するように制御する。また、ワークフローを編集する際にオーダーマネージャ６０１へアクセスし、オーダー情報の内容に応じて表示するアイコンが変化するような構成をとってもよい。ワークフローエディタ６０７は、オペレータが指示入力装置２０６を用いてこれらのアイコンを選択し、組み上げることにより、オーダーを実現するためのワークフローを生成できるようなインタフェースを提供する。例えば、指示入力装置２０６としてポインティングデバイス（マウス等）を用いて、工程を示すアイコンをドラッグ・アンド・ドロップすることによってワークフローを作成できるようにする。
【００６５】
図８において、８０１は印刷処理対象たる画像データが印刷管理サーバ１０５へ入力される工程を示すアイコンである。８０２は、ワークフローにおいてオーダーされた印刷処理が、印刷センター１５３に配置されている印刷装置１１１、１１２、１４１等で実行可能かどうかを判定する工程を示すアイコンである。
【００６６】
８０３は印刷センター１５３に作業ＰＣが数台設置されている場合に、オペレータがどの作業ＰＣを用いて作業を行うかを設定するためのアイコンである。８０４は製本の設定等を行う工程に関するアイコン、８０５はプリンタでの印刷処理の工程に関するアイコン、８０７は製本機での処理の工程に関するアイコンをそれぞれ意味する。また、８０８はＥメール送信の工程、８０９は印刷装置等のデバイス予約（スケジューリング）に関する設定を行う工程を意味する。
【００６７】
ワークフローエディタ６０７においてこのような仕組みが提供されることにより、オペレータは簡易な操作によりワークフローの作成を行うことができる。但し、ここに述べたワークフローエディタ６０７のインタフェースはあくまでも例示であり、本発明の実施形態がこれに限られるわけではない。
【００６８】
ワークフローマネージャ６０２は、オペレータによりワークフローエディタ６０７で作成したワークフローを読み込み、そのワークフローに基づく進捗状況の管理を行う。ワークフローマネージャ６０２はそのワークフローの進捗状況を可視的に表示する。図９はワークフローマネージャ６０２の、作業ＰＣ１０６における操作画面を例示的に示した図である。
【００６９】
印刷処理の各工程はアイコンで示され、それぞれ未処理、処理中、処理終了のうちいずれかの状態を保持している。初期状態において全てのアイコンは未処理状態にセットされるように制御する。アイコンが保持する状態は、例えば、アイコンの色やマーク等によって一見して判別可能なように表示する。
【００７０】
９０１は印刷処理対象たる画像データがファイル形式で印刷管理サーバ１０５へ入力される工程を意味し、９０２は作業ＰＣとして「ＰＣ  Ｂ」が選択される工程を意味する。９０３はＮ−ｕｐのレイアウトが選択される工程であり、９０４はオーダーされた印刷処理が、印刷センター１５３に設置されている印刷装置１１１、１１２、１４１等で実行可能かどうかを判定する工程を示す。９０５は、印刷センター１５３においてオーダー条件を満たす印刷処理が実行できない場合、Ｅメールがクライアント１５１へ送信されるという工程を示している。印刷センター１５３に設置されている印刷装置１１１、１１２、１４１等で印刷処理が実行可能な場合、９０６のデバイス予約の工程でデバイスの予約を行う。後述するデバイススケジューラ６０４は９０６のデバイス予約の工程で用いられる。
【００７１】
９０７、９０８、９０９、９１０、９１１、９１２はデバイス予約後の各工程を示している。９０７はプリンタとして「モノクロデバイス  Ａ」が選択されたことを示しており、９０８は表紙と裏表紙の作成工程を示している。９０９はくるみ製本機での製本工程を示しており、９１０は製本工程後の裁断工程を示している。図９に示すワークフローの場合、裁断工程が終了するとクライアントへＥメールが送信され（９１１のアイコンがそれを示している）、裁断された印刷物がクライアントへ配送される。９１２はこの配送工程を示している。
【００７２】
なお、ワークフローマネージャ６０２の操作画面に表示されるアイコンは、その全てがワークフローエディタ６０７上で編集されるような構成とは限らない。例えば、印刷管理プログラムの他のコンポーネントからの通知に基づいてアイコンが自動生成されるように制御する構成をとってもよい。例えば、９０６で示されるデバイス予約の工程において、
（１）後述するデバイススケジューラ６０４がスケジュールを生成し、
（２）そのスケジュールに基づいてデバイススケジューラ６０４がスケジュール内容をワークフローマネージャ６０２へ通知し、
（３）ワークフローマネージャ６０２はその通知内容に基づいて９０７乃至９１２のアイコンを適切に配置する、とういような構成をとってもよい。
【００７３】
ワークフローマネージャ６０２は、オペレータ又は印刷管理プログラムのコンポーネントにより作業開始の旨がワークフローマネージャ６０２へ通知されると、最初に行われる工程を示すアイコンが処理中状態にセットされるように制御する。オペレータは可視的に表示されたワークフローの進捗状況に基づき、各工程毎に決められた操作を行う。或いは、工程を示すアイコンの状態が未処理から処理中に変化した時点で、自動的に印刷管理プログラムの他のコンポーネントへ処理要求を示す情報を送信して、該他のコンポーネントにワークフローの工程を実行させる。他のコンポーネントとしては、（オーダーマネージャ６０１、ジョブマネージャ６０３、デバイススケジューラ６０４、デバイスマネージャ６０５等が挙げられる。処理が終了した工程は、印刷管理プログラムの他のコンポーネントからの通知、又は、オペレータの操作によって、終了状態に変更され次の工程の状態が処理中にセットされる。
【００７４】
また、ワークフローマネージャ６０２はオーダーマネージャ６０１からのステータス取得要求に従い、ステータス（状態）に関する情報を返す。それにより、オーダーマネージャ６０１はそのオーダに対するステータスをオーダーマネージャ６０１上で保持・利用することが可能となる。
【００７５】
以上説明したように、ワークフローマネージャ６０２はワークフローの進捗状況を一見して判別可能なように表示し、また、その状況は印刷管理プログラムのコンポーネント又はオペレータ操作によってアップデートされるように構成している。そのため、オペレータは各オーダーの印刷処理状況の確認等を容易に行うことができる。更に、自動的に他のコンポーネントへ処理要求を示す情報を送信して、ワークフローの工程を実行させるような構成をとることで、オペレータの作業の一部を自動化するような構成をとることが可能になる。
【００７６】
（デバイススケジューラ）
先に述べたように、ワークフローマネージャ６０２に管理されているワークフローが「デバイス予約」の工程まで実行されると、オペレータはデバイススケジューラ６０４を用いてプリンタの印刷スケジュールを生成する。この時、例えば、ワークフローマネージャ６０２が「デバイス予約」まで工程が処理されたことを検知し、「デバイス予約」まで工程が処理された旨を作業ＰＣ１０６へ通知して、作業ＰＣ１０６のディスプレイ２０７上に所定の表示を行うようにしてもよい。このような構成とすることで、オペレータが「デバイス予約」まで工程が処理されたことを容易に確認することができる。或いは、例えば、ワークフローマネージャ６０２が「デバイス予約」まで工程が処理されたことを検知し、「デバイス予約」まで工程が処理された旨をデバイススケジューラ６０４へ通知して、デバイススケジューラ６０４が自動的に立ち上がるようにしてもよい。このように構成すれば、オペレータがデバイススケジューラ６０４で作業することが容易になる。
【００７７】
次に、印刷管理プログラムのコンポーネントの１つである、デバイススケジューラ６０４について説明する。デバイススケジューラ６０４は、オペレータがそれを用いて簡単にプリンタの予約を行うことを可能にするコンポーネントである。デバイススケジューラ６０４はＨＤ２０５等の記憶装置に各プリンタの動作スケジュールに関する情報をスケジュール情報として記憶している。
【００７８】
デバイススケジューラ６０４は、オペレータによる作業ＰＣ１０６からのアクセスにより、プリンタのスケジュール（スケジュール情報）を通知するサービスを提供している。これにより、オペレータは印刷センター１５３に存在する印刷装置の動作スケジュールに関する情報を知ることができる。スケジュール情報は、プリンタの種類、印刷ジョブの種類、印刷開始時刻、印刷終了時刻等の情報から構成される。図１０はデバイススケジューラ６０４において生成されたプリンタのスケジュールを、作業ＰＣ１０６の操作画面に表示した様子を例示的に示した図である。プリンタの予約状況は日、週等の単位で、プリンタごとに表示される。
【００７９】
次に、オペレータの操作によってプリンタの予約を行う際の、デバイススケジューラ６０４の処理の流れについて、図１１乃至図１４を用いて説明する。図１１は、オペレータがオーダー条件に適応するスケジュールを選択し、プリンタの予約を行う際の、デバイススケジューラ６０４の処理の流れを示したフローチャートである。
【００８０】
フローチャートの開始の前に、あらかじめデバイススケジューラ６０４は、オペレータによるプリンタに印刷処理を行わせるオーダーの選択に基づいて、スケジュールを作成するオーダーのオーダーＩＤを取得する。デバイススケジューラ６０４はオーダーマネージャ６０１にアクセスし、該当するオーダーの詳細な情報（例えば、図１８に示したものを含む）を取得し、オーダー情報としてＲＡＭ２０２等の記憶装置に一時的に保存する。
【００８１】
そして、ステップＳ１１０１において、デバイススケジューラ６０４は図１２に示すような操作画面を表示し、オペレータにスケジュールに関する諸条件（スケジュール条件）を入力させる。スケジュール条件には例えば次のものが含まれる。
１．印刷開始時刻及び／または印刷終了時刻、
２．１台のプリンタでスケジューリングするか、複数のプリンタでスケジューリングするか、
３．複数の場合には同一機種のプリンタでスケジュールするか、複数機種（カラー機、モノクロ機等）のプリンタでスケジュールするか。
【００８２】
また、オペレータの入力項目には、条件を満たすスケジュールを表示する順番の指定（印刷終了時刻の早い順、印刷するプリンタ数の少ない順、過去に印刷した回数の多いプリンタの順等）を含めることもできる。なお、表示する順番についての条件は表示条件とする。オペレータがこれらの入力項目を選択し、ＯＫボタンを押下すると、デバイススケジューラ６０４はオペレータが入力した情報をスケジュール条件情報としてＲＡＭ２０２等の記憶装置に一時的に保存し、ステップＳ１１０２へ進む。なお、スケジュール条件は、候補時間を抽出するための条件でもあるため、本願では抽出条件として記述することもある。
【００８３】
ステップＳ１１０２では、デバイススケジューラ６０４はデバイスマネージャ６０５へアクセスし、ステップＳ１１０１においてオペレータが指定した条件を満たすプリンタ１１１、１１２の能力に関する情報を取得する。そしてデバイス情報としてＲＡＭ２０２等の記憶装置に一時的に保存する。なお、プリンタの能力に関する情報としては、単位時間当たりの処理速度、製本／ステイプル／パンチ等のフィニッシング機能等がある。後述するように、デバイスマネージャ６０５は印刷センター１５３に設置されているプリンタ、製本機等の印刷装置の情報を記憶・管理している。
【００８４】
次に、ステップＳ１１０３において、デバイススケジューラ６０４は、ステップＳ１１０２で取得した各プリンタのデバイス情報と、あらかじめ取得したオーダー情報とを比較する。そして、オーダー情報に記載された納期等時間に関する条件以外の印刷条件（仕上がりサイズ、出力用紙の向き、製本の種類、綴じ方向等）に従って印刷を行うことのできるプリンタが存在するか否かを判定する。存在する場合（ステップＳ１１０３でＹＥＳ）はステップＳ１１０４へ進む。存在しない場合（ステップＳ１１０３でＮＯ）はオペレータにその旨を通知し、予約を行わずに処理を終了する。
【００８５】
ステップＳ１１０４では、ステップＳ１１０３で印刷可能と判断されたプリンタそれぞれについて、現時点までの予約状況から予約の空き時間を取得する。そして、ステップＳ１１０５において、ステップＳ１１０１で指定された印刷終了時刻までに空き時間のあるプリンタが存在するか否かを判定する。存在する場合（ステップＳ１１０５でＹＥＳ）ステップＳ１１０６へ進む。存在しない場合（ステップＳ１１０５でＮＯ）はオペレータにその旨を通知し、予約を行わずに処理を終了する。
【００８６】
ステップＳ１１０６では、ステップＳ１１０５で空き時間のあるプリンタと判断されたプリンタそれぞれについて、プリンタの単位時間当たりの処理速度から、空き時間に処理可能な印刷データの処理量を計算する。但し、プリンタの単位時間当たりの処理速度はステップＳ１１０２で取得したデバイス情報から求められる。なお、本願に記載の処理量とは空き時間に印刷可能な出力枚数またはデータ量である。なお、処理可能な出力枚数の計算方法は、「空き時間当たりに処理可能な枚数＝単位時間当たりの処理速度×空き時間」にて算出できる。また、処理可能なデータ量の算出方法としては、デバイスマネージャが各プリンタにて単位時間当たりに処理可能なデータ量情報を取得できる。よって、「空き時間当たりに処理可能なデータ量＝単位時間当たりの処理データ量×空き時間」にて算出できる。なお、上記２つの計算方法は一例であり、他の方法にて計算しても構わない。また、処理量として出力枚数を用いた処理と、データ量を用いた処理の一例を後述する。
【００８７】
本ステップでは、各プリンタにおいて、ステップＳ１１０１で指定された印刷開始時刻と印刷終了時刻の間に分布する、連続する空き時間それぞれについて、その時間で処理可能な印刷データ量の予想値を求める。そして、各空き時間について、空き時間の開始時刻と終了時刻、その間に処理可能なデータ量を、プリンタの種類、通し番号（ＩＤ）等とともに、空き時間情報としてＲＡＭ２０２等の記憶装置に一時的に保存する。図１９に、ステップＳ１１０６の処理によって生成される空き時間情報の例を示す。この通し番号で識別可能なスケジュールを構成する候補の単位（連続する空き時間）をスケジュール候補時間（候補時間）と呼ぶ。
【００８８】
次に、ステップＳ１１０７において、デバイススケジューラ６０４は、ステップＳ１１０６の処理によって生成された空き時間情報を参照し、オーダーされた原稿データを全て処理することができるようなスケジュール候補時間を検索する。なお、オーダーされた原稿データを処理できるスケジュール候補の検索方法については後述の図２１にて説明する。デバイススケジューラ６０４は、検索されたスケジュール候補時間を、スケジュール候補データとしてＲＡＭ２０２等の記憶装置に一時的に保存する。尚、原稿データのデータ量や出力枚数はスケジューリングを開始する際あらかじめ取得したオーダー情報から求められる。
【００８９】
ここで処理量としてデータ量を用いた場合の処理の一例について説明する。
【００９０】
原稿データのデータ量が１２０Ｍｂｙｔｅの場合、当該原稿データのデータ量以上の処理能力を有する候補単位の組み合わせを検索することで処理を行うことができる。例えば、図１９において、通し番号（ＩＤ）が（１００００００１、１００００００３）の組み合わせや、（１００００００３、１００００００４）の組み合わせ等が挙げられる。当該原稿データのデータ量以上の処理能力を有する候補単位の組み合わせを検索することで処理を行うことができる。このように、スケジュール候補はスケジュール候補単位の通し番号の組み合わせによって定義される。
【００９１】
次に、検索されたスケジュール候補単位それぞれについて、ステップＳ１１０１において生成されたスケジュール条件情報に基づく条件を満たすものだけを抽出する（フィルタリング）。この時、実施形態の用途により、スケジュール条件情報の全ての条件を満たすものを抽出するような構成や、スケジュール条件情報の一部の条件を満たすものを抽出するような構成をとってもよい。或いは、検索されたスケジュール候補単位の単体又は組み合わせを全て抽出する（フィルタリングを行わない）ような構成をとってもよい。
【００９２】
スケジュール条件情報の一部の条件を満たすスケジュール候補の単体又は組み合わせを抽出するような構成は、例えば、次のような処理を実装することによって実現される。即ち、スケジュール条件情報の各条件項目（プリンタの台数や種類等）に点数を割り振った上で、ステップＳ１１０７において検索されたスケジュール候補それぞれについて、スケジュール条件適合度というパラメータを新たに設定する。次に、各スケジュール候補についてスケジュール条件の各条件項目を満たすか否かを判定し、条件項目を満たす場合はその項目に対応した点数をスケジュール条件適合度に加点する。そして、スケジュール条件適合度の値が大きいものから順にスケジュール候補を列挙する。このような処理を行うことで、条件項目の多くを満たすスケジュール候補のスケジュール条件適合度が高い値に表示できる（後述する優先順位を用いて表示する場合も適用可能である）。後述するように、ステップＳ１１０９において、スケジュール条件適合度の値が高いスケジュール候補から順に操作画面に表示を行うように制御する。このようにすることで、オペレータによって指定された条件のうち、重要なものを多く満たすものから優先的にオペレータに提示することが可能となる。尚、スケジュール条件情報の各条件項目に割り振られる点数をオペレータが所望の値に設定可能とする構成をとってもよい。更に、スケジュール候補の単体又は組み合わせについて、スケジュール条件適合度が一定の値以上のものを抽出するような構成をとってもよい。
【００９３】
デバイススケジューラ６０４は、検索・抽出されたスケジュール候補単位の単体又は組み合わせを、スケジュール候補データとしてＲＡＭ２０２等の記憶装置に一時的に保存する。
【００９４】
ステップＳ１１０８では、ステップＳ１１０７においてスケジュール候補単位の単体又は組み合わせを検索・抽出した結果、原稿データを全て印刷できる単体又は組み合わせが存在するか否かが判定される。存在しないことが判定された場合は、ステップＳ１１０８においてオペレータにその旨を通知し、予約を行わずに処理を終了する（ステップＳ１１０８でＮＯ）。
【００９５】
スケジュール候補時間の単体又は組み合わせ（スケジュール候補）が存在する場合（ステップＳ１１０８でＹＥＳ）は、ステップＳ１１０９へ進む。ステップＳ１１０９では、図１３または図１４に示すように、操作画面にステップＳ１１０７で検索・抽出されたスケジュール候補を列挙する。尚、ステップＳ１１０７において、スケジュール条件適合度の加点処理が行われている場合は、その値が大きいものから順にスケジュール候補を表示する。従って、オペレータによって指定された条件のうち、重要なものを多く満たすものから優先的にすることになる。図１３は１台のプリンタでスケジュールすることが指定されている場合のスケジュール候補を列挙した操作画面の一例を示している。図１４は複数のプリンタでスケジュールすることが指定されている場合のスケジュール候補を列挙した操作画面の一例を示している。
【００９６】
次に、ステップＳ１１１０において、デバイススケジューラ６０４は、表示されたスケジュール候補の中からユーザによって選択されたスケジュール候補を認識することができるように制御する。図１３、図１４の例ではスケジュールを選択して「ＯＫ」ボタンを押下することで、選択されたスケジュール候補が認識される。尚、あるスケジュール候補について、その処理可能な印刷データ量がオーダーの原稿データ量を上回っている場合、オペレータは当該スケジュール候補の範囲内で印刷時間を自由に設定することができるように制御する。例えば、原稿データのデータ量が１２０Ｍｂｙｔｅの場合において、空き時間の通し番号（ＩＤ）が（１００００００３、１００００００４）の組み合わせで定義されるスケジュール候補を選択したとする。この時、このスケジュール候補によって処理可能な印刷データ量は６０ＭＢ＋７５ＭＢ＝１３５ＭＢであるが、これは原稿データ量を上回っている。このような場合、例えば、図２０に示すような、ポインティングデバイス等を用いてスケジュールを設定するインタフェースを提供するように制御する。
【００９７】
次に、ステップＳ１１１１において、デバイススケジューラ６０４は、決定されたスケジュールが複数のプリンタでの分散印刷であるか否かを判断する。分散印刷の場合（ステップＳ１１１１でＹＥＳ）はステップＳ１１１２へ進み、分散印刷でない場合（ステップＳ１１１１でＮＯ）はステップＳ１１１３へ進む。
【００９８】
ステップＳ１１１２では、分散印刷を実現するために必要な設定を行う。例えば、複数のプリンタでの分散印刷を実現するための仮想的なプリンタを設定する。仮想的なプリンタは原稿データを受け取り、印刷処理を適切に分割し、スケジュールに指定されたプリンタに印刷処理を分配する機能を持つプログラムである。ただし、本実施形態では複数のプリンタでの分散印刷を仮想プリンタにより実現しているが、必ずしも仮想プリンタを作成して分散印刷を行う場合に限定されるものではない。
【００９９】
次に、ステップＳ１１１３において、デバイススケジューラ６０４はオペレータが決定したスケジュールでスケジュール予約を行う。即ち、オペレータが決定したスケジュールが、新たなスケジュール情報としてＨＤ２０５等の記憶装置に記憶される。
【０１００】
以上説明したように、デバイススケジューラ６０４はオペレータの指定した期限の条件を満たすスケジュール候補を検索し、表示することで印刷の見積もりに係るオペレータの負担を軽減することができる。また、スケジュール候補はオペレータの要望を満たすものから優先的に表示された上で選択されるため、オペレータは簡易な操作で印刷環境等の様々な事情に適合したスケジューリングを行うことができる。
【０１０１】
続いて、Ｓ１１０７にてオーダーされた原稿データを処理可能なスケジュール候補時間の検索方法について図２１および図２２を用いて説明する。
デバイススケジューラ６０４は、図１２の設定画面を用いて設定された抽出条件を認識する（Ｓ２１０１）。図１２の設定画面を用いて設定された抽出条件は、ＲＡＭ２０２に保持されているので、デバイススケジューラ６０４は、ＲＡＭ２０２を参照することによりスケジュールの抽出条件を認識できる。
【０１０２】
デバイススケジューラ６０４は、図１２にて設定された開始時間から終了時間の間にて、使用可能な各プリンタの空き時間を算出する（Ｓ２１０２）。詳細には、使用可能なプリンタのスケジュール情報（予約情報）がＲＡＭ２０２にて記憶されているため、デバイススケジューラ６０４が、ＲＡＭ２０２の予約状況を確認することにより各プリンタの空き時間を算出できる。
【０１０３】
デバイススケジューラ６０４は、Ｓ２１０１にて認識した抽出条件から、「複数のプリンタでスケジュール」が選択されているか否かを判定する（Ｓ２１０３）。
【０１０４】
Ｓ２１０３にて、「複数のプリンタでスケジュール」が選択されていないと判定された場合はＳ２１０４へ進む。Ｓ２１０４において、デバイススケジューラ６０４は、オーダーされた原稿データを処理するために必要となる処理量と各プリンタの空き時間当たりの処理量を比較して、処理可能な候補時間を抽出する。なお、各プリンタの空き時間当たりの処理量は例えば上述した計算式にて算出され、原稿データを処理するために必要となる処理量と各プリンタの空き時間当たりの処理量の比較結果をＲＡＭ２０２に保存する。
【０１０５】
また、Ｓ２１０３にて「複数のプリンタでスケジュール」が選択されていると判定された場合はＳ２１０５に進む。Ｓ２１０５において、デバイススケジューラ６０４は、Ｓ２１０２にて算出された各プリンタの空き時間当たりの処理量を組み合わせることにより得られる処理量とオーダーされた原稿データを処理するために必要となる処理量を比較する。そして、デバイススケジューラ６０４は、比較結果に基づいて処理可能な候補時間の組み合わせを抽出する（Ｓ２１０５）。なお、Ｓ２１０５の処理については図２２および図２３を用いて詳細を説明する。
【０１０６】
デバイススケジューラ６０４は、Ｓ２１０４およびＳ２１０５にて候補時間が抽出されたか否かを判定する（Ｓ２１０６）。詳細には、Ｓ２１０４およびＳ２１０５にて抽出された候補時間は、ＲＡＭ２０２に記憶されているため、デバイススケジューラ６０４が参照することにより、候補時間が抽出されたか否かを判定できる。
【０１０７】
Ｓ２１０６により、候補時間が抽出されたと判定された場合、デバイススケジューラ６０４は、図１２にて設定された表示条件に従って候補時間を表示する（Ｓ２１０７）。候補時間の表示方法については図２９にて説明する。
【０１０８】
また、Ｓ２１０６より、候補時間が抽出されなかった場合、デバイススケジューラ６０４は、オーダーされた原稿データを処理するために必要となる処理量に満たなかった空き時間から、後述する優先順位に基づいて第２候補時間を抽出する。詳細には、Ｓ２１０４およびＳ２１０５にて抽出されなかった空き時間または空き時間の組み合わせが第２候補時間となる。デバイススケジューラ６０４は、抽出条件項目に設定されている優先順位に従って第２候補時間を表示する（Ｓ２１０８）。なお、詳細は図２６にて説明する。
【０１０９】
以上の処理により、ユーザによって設定された抽出条件に従って候補時間が抽出されるため、ユーザの意図が反映された候補時間から実行すべきスケジュールを決定することができる。
【０１１０】
図２１のＳ２１０５の処理について図２２および図２３を用いて具体的に説明する。なお、オーダーされた原稿データから、設定時間として９時までに１００ページ分の印刷結果を８部分出力するオーダー（処理量＝８００枚）が発注された場合を想定する。また、空き時間の空いているプリンタとしてプリンタＩＤ１０１、プリンタＩＤ１０２、プリンタＩＤ１０３があり、オペレータは、複数台のプリンタを用いることを許可しているとする。
【０１１１】
まず、Ｓ２１０２により空き時間がありと判定された各プリンタの空き時間や処理能力を図２２のように記憶する。
【０１１２】
続いてデバイススケジューラは、空き時間ありと判定されたプリンタの全ての組み合わせを抽出し、オーダーされた原稿データを処理可能であるか否かを判定する。その判定結果を図２３に示す。
【０１１３】
デバイススケジューラ６０４は、空き時間ありと判定されたプリンタの中から基準となるプリンタを指定する。ここでは、まずデバイスＩＤ１０１のプリンタを基準プリンタとする。プリンタＩＤ１０１のプリンタの処理量６００枚とオーダーされた原稿データの処理量８００枚を比較する。その結果、デバイススケジューラ６０４は、デバイスＩＤ１０１のプリンタ１台では原稿データを処理できないと判定し、その判定結果２３０１をＲＡＭ２０２に記憶する。
【０１１４】
続いて、デバイススケジューラ６０４は、基準プリンタであるプリンタＩＤ１０１のプリンタとプリンタＩＤ１０２のプリンタを組み合わせる。その結果、空き時間あたりに処理可能な処理量は９００枚となり、オーダーされた原稿データの処理量８００枚を処理可能と判定し、その判定結果２３０２をＲＡＭ２０２に記憶する。なお、判定結果として終了時間２３０３も合わせて記憶しても良い。
【０１１５】
デバイススケジューラ６０４は、次の組み合わせとしてプリンタＩＤ１０１とプリンタＩＤ１０３を組み合わせる。その結果、デバイススケジューラ６０４は、空き時間当たりの処理量は７５０枚となるため、オーダーされた印刷データ８００枚の処理はできないと判定し、その判定結果２３０４をＲＡＭ２０２に保存する。
【０１１６】
デバイススケジューラ６０４は、プリンタＩＤ１０１およびプリンタＩＤ１０２およびプリンタＩＤ１０３の３つを組み合わせた場合、空き時間当たりの処理量は１０５０枚となり、オーダーされた印刷データ８００枚を処理できると判定する。その判定結果２３０５と終了時間２３０６をＲＡＭ２０２に記憶する。同様の処理を各プリンタを基準として全ての組み合わせを判定し、その結果をＲＡＭ２０２に記憶する。
【０１１７】
以上の処理の結果、図２３のように、プリンタＩＤ１０１およびプリンタＩＤ１０２を組み合わせた処理と、プリンタＩＤ１０１およびプリンタＩＤ１０２およびプリンタＩＤ１０３を組み合わせた処理が、オーダーされた原稿データを処理可能と判断される。このように、Ｓ２１０５にて処理することにより、複数の印刷装置にて処理することが設定されている場合、オーダーされた原稿データを処理可能となる複数の印刷装置の空き時間を組み合わせた候補時間を抽出することが可能となる。よって、１台に限定するよりも、多種多様なの候補時間を抽出することが可能となる。
【０１１８】
続いて、図２１のＳ２１０８により候補時間がない場合の処理について説明する。図１２の抽出条件を設定する際に、優先順位を設定することができる。その際のＵＩ図を図２４にて説明する。
【０１１９】
図２４のＵＩ図は、基本的には図１２と同様である。しかしながら図２４では、抽出条件を設定することに応じて、優先順位を設定するための設定画面が表示される。例えば、ラジオボタン２４０１をチェックして終了時間を設定することに応じて、優先順位を設定するための設定画面２４０２が表示され、抽出条件２４０１に対する優先順位を設定することができる。このように、各抽出条件を設定することに応じて各抽出条件に対して優先順位を設定することができる。また、以上の処理により、各抽出条件と優先順位が図２５のように対応付けられて記憶される。
【０１２０】
続いて、上述した第２候補時間の抽出処理について図２６を用いて説明する。なお、第２候補時間とは、設定された抽出条件の一部を満たす候補時間を指す。
【０１２１】
デバイススケジューラ６０４は、空き時間のあるプリンタおよび空き時間のあるプリンタの組み合わせを抽出する（Ｓ２６０１）。空き時間のあるプリンタは、Ｓ２１０２の処理により抽出できる。また、空き時間のあるプリンタの組み合わせは、抽出された少なくとも２つの空き時間のあるプリンタによって構成されるものであり、Ｓ２６０１では全ての組み合わせを抽出する。
【０１２２】
デバイススケジューラ６０４は、Ｓ２６０１によって抽出された空き時間のあるプリンタおよび空き時間のあるプリンタによって構成される組み合わせの総数をＳとして記憶する。また、上述の処理により設定された優先順位の総数をｍとする（Ｓ２６０２）。
【０１２３】
デバイススケジューラ６０４は、空き時間のあるプリンタ又は空き時間のあるプリンタの組合わせである判定対象を順次判定するために、それぞれの判定対象の判定順序をｎ、判定すべき優先順位をｐとする（Ｓ２６０３）。そして、ｎとｐをそれぞれ初期化する（Ｓ２６０４）。
【０１２４】
デバイススケジューラ６０４は、判定対象であるｎ番目のプリンタまたはプリンタの組み合わせが、優先順位ｐの抽出条件を満たしているか否かを判定する（Ｓ２６０５）。詳細には、Ｓ２６０１により抽出された各プリンタの処理能力や空き時間等から算出された処理予測結果が図２７ような形式にて保持されている。よって、優先順位ｐの抽出条件と図２７の結果を比較することにより、Ｓ２６０５の判定処理を実行することが可能となる。
【０１２５】
Ｓ２６０５の処理により、優先順位を満たすと判定された場合（Ｓ２６０５−Ｙｅｓ）は、Ｓ２６０６へ進む。Ｓ２６０６において、デバイススケジューラ６０４は、現在判定対象としているｎ番目の空き時間のあるプリンタまたは組み合わせが、Ｓ２６０２にて設定した総数Ｓよりも大きいか否かを判定する。
【０１２６】
Ｓ２６０６の処理により、Ｎｏと判定された場合、デバイススケジューラ６０４は、残りの判定すべき抽出条件があるか否かを判定する（Ｓ２６０７）。Ｓ２６０７の判定処理により、デバイススケジューラ６０４は、判定すべき抽出条件があると判定した場合、次の優先順位に設定された抽出条件を判定するためインクリメント処理（Ｓ２６０８）をする。
【０１２７】
また、Ｓ２６０７の処理により、判定すべき残りの抽出条件がないと判定された場合はＳ２６０９へ進む。Ｓ２６０９において、デバイススケジューラ６０４は、判定対象となる空き時間のあるプリンタまたは空き時間のあるプリンタの組み合わせをインクリメント処理して、判定対象を更新する。更新された判定対象は、優先順位１と設定された抽出条件から判定処理をするため、デバイススケジューラ６０４は、優先順位の初期化処理をする（Ｓ２６１０）。
【０１２８】
デバイススケジューラ６０４は、Ｓ２６０１からＳ２６１０までの処理結果を図２７のようにＲＡＭ２０２に記憶しており、処理結果から優先順位にしたがって第２候補時間を表示する（Ｓ２６１１）。詳細には、優先順位が高く設定された抽出条件を、多く満たす第２候補時間を表示する。また、他の方法としては、優先順位の高いものには優先順位に応じた高い点数を割り振り、抽出条件を満たすか否かにより点数の加点処理を行い、合計点数の高い順に表示するようにしても構わない。
【０１２９】
図２６の処理を図２７を用いて具体的に説明する。オーダーされた原稿データは開始時間８：００、終了時間９：００、１台のプリンタにて処理することが抽出条件として設定されているとする。なお、優先順位１は、終了時間であり、優先順位２は、開始時間である。そして、１台のプリンタにて処理することが優先順位３であるとする。
【０１３０】
空き時間のあるプリンタとしてプリンタＩＤ１０１、１０２、１０３のプリンタが抽出され、さらに各プリンタを組み合わせた結果、判定対象となる空き時間のあるプリンタおよび空き時間のあるプリンタの組み合わせの総数Ｓは７となる。
【０１３１】
デバイススケジューラ６０４は、１つ目の判定対象（図２７ではＩＤ１０１のプリンタ）から図２６の判定処理を行う。その結果、プリンタＩＤ１０１は、優先順位１である終了時間９：００を満たすことはできないが（Ｓ２６０５−Ｎｏ）、残りの抽出条件があるため（Ｓ２６０７−Ｎｏ）、次の優先順位２である開始時間８：００を満たすか否かを判定する（Ｓ２６０５）。その結果、プリンタＩＤ１０１は、優先順位２の抽出条件を満たすと判定される。以上の処理を優先順位３の抽出条件まで判定することにより、プリンタＩＤ１０１については、図２７のような結果になる。
【０１３２】
続いてプリンタＩＤ１０１とプリンタＩＤ１０２の組み合わせについて判定する。なお、説明を簡易化するためプリンタＩＤ１０１とプリンタＩＤ１０２の組み合わせは、組み合わせ１として記述する。組み合わせ１は、複数台のプリンタを組み合わせることにより８：００〜８：５５が処理時間となる。よって、組み合わせ１は優先順位１および優先順位２に対応する抽出条件を満たすが、優先順位３に対応する抽出条件は満たさないと判定されるため、図２７のような結果となる。以上の処理を、抽出された７つの判定対象分すべて実行する。
【０１３３】
続いてデバイススケジューラ６０４は、Ｓ２６１１の処理により、優先順位が高く設定された抽出条件を多く満たす第２候補時間順に表示する。その表示結果は、図２８のようになる。
【０１３４】
図２７より、優先順位１である終了時間９時を満たす判定対象は、判定対象ｎ＝４および判定対象ｎ＝２である。さらに、図２４では表示条件として「印刷終了時間の早い順に表示」が選択されているため、図２８では、印刷終了時間が早い判定対象ｎ＝４に対応するスケジュール２８０１から表示される。続いて、優先順位１である終了時間９時を満たす判定対象は判定対象ｎ＝２である。よって、判定対象ｎ＝２に対応するスケジュール２８０２が表示される。次に、優先順位１である終了時間９時を満たす判定対象は、存在しないが、優先順位２の開始時間および優先順位３の「１台のプリンタでスケジュール」を満たす判定対象が、判定対象ｎ＝１およびｎ＝７である。両者のうち、印刷終了時間が早いのが判定対象ｎ＝１であるので、判定対象ｎ＝１に対応するスケジュール２８０３が表示される。また、上述した通り点数により表示順序を決定しても良い。この場合、各判定対象が抽出条件を満たすたびに、優先順位に応じた点数が加点される。例えば、優先順位１の抽出条件は「＋３」、優先順位２の抽出条件は、「＋２」、優先順位１の抽出条件は「＋１」と設定する。その結果、判定対象が抽出条件を満たす度に、加点処理が行われ、点数の高い順に表示しても構わない。
【０１３５】
このような方法を用いることにより、オペレータの設定した抽出条件の一部しか満たさなかったとしても、可能な限りオペレータの意図を反映したスケジュールを生成することが可能となる。
【０１３６】
続いて、Ｓ２１０７の処理について図２９を用いて説明する。
デバイススケジューラ６０４は、図１２にて設定された表示条件をＲＡＭ２０２から読み出して解析する（Ｓ２９０１）。
【０１３７】
デバイススケジューラ６０４は、ＲＡＭ２０２に保存されているＳ２１０４またはＳ２１０５により抽出された候補時間を解析する（Ｓ２９０２）。なお、Ｓ２９０１にて解析する情報は、Ｓ２９０１にて解析した表示条件に基づく情報であり、例えば表示条件として「印刷終了時間の早い順」が設定されている場合、各候補時間の終了時間を解析する。また、表示条件として「印刷するプリンタ数の少ない順」が設定されている場合、印刷するために要するプリンタの台数を解析する。
【０１３８】
デバイススケジューラ６０４は、表示条件に従って各候補時間の表示順序を決定し（Ｓ２９０３）、決定された表示順序に従って候補時間を表示する（Ｓ２９０４）。
【０１３９】
図２９のように設定された表示条件に従って候補時間を表示することにより、例えば多数の候補時間が抽出されたとしても、希望するスケジュール候補時間が優先して上位に表示されるため、見落とし等を防ぐことが可能となる。
【０１４０】
（プリントコンポーネント）
デバイススケジューラ６０４は予約されたスケジュールについて、処理を開始する時刻になると、ワークフローマネージャ６０２へその旨を通知し、印刷処理の工程を処理中にセットする。但し、スケジュールの処理開始時刻は該スケジュールを構成するスケジュール候補時間の中で最も早く処理を開始する時刻を指すものとする。そしてワークフローマネージャ６０２はプリントコンポーネント６０６を起動する（これらの作業はオペレータが手動で行ってもよい）。
【０１４１】
プリントコンポーネント６０６は印刷ジョブをプリンタ１１１、１１２へ送出するコンポーネントである。プリントコンポーネント６０６はオーダーマネージャ６０１のオーダー情報から登録されている原稿データ、印刷情報を取得し、プリンタがそれらのデータをからスケジュールに従った印刷処理を行うことができるような１以上の印刷ジョブを生成する。そして、当該印刷ジョブをプリンタ１１１、１１２で印刷させるべく送出し印刷を開始する。
【０１４２】
このように、デバイススケジューラ６０４、ワークフローマネージャ６０２、及び、プリントコンポーネント６０６は互いに通信可能なプログラムである。そのため、スケジュールの選択から印刷までの作業を自動化することができ、オペレータの作業負担を軽減することができる。
【０１４３】
尚、用途により、以上説明したような、デバイススケジューラ６０４、ワークフローマネージャ６０２、及び、プリントコンポーネント６０６等の機能が、部分的にオペレータにより行われるような構成にすることも可能である。例えば、デバイススケジューラ６０４に管理されているスケジュール情報に基づいて、オペレータがワークフローマネージャ６０２を操作し、ワークフローの進捗を管理することが可能な構成をとってもよい。或いは、次のような構成としてもよい。すなわち、ワークフローマネージャ６０２で管理されているワークフローの進捗が変化したイベントに応じて、プリントコンポーネント６０６がオーダーマネージャ６０１のオーダー情報から登録されている原稿データ、印刷情報を取得する。そして、それらの情報を作業ＰＣ１０６へ送信し、オペレータが作業ＰＣ１０６から印刷装置へ当該原稿データから作成した印刷ジョブを送ることが可能な構成にしてもよい。
【０１４４】
（ジョブマネージャ）
印刷が開始されると、印刷ジョブの管理を行うコンポーネントであるジョブマネージャ６０３がプリンタ１１１、１１２等と通信し、印刷ジョブの監視を行う。
【０１４５】
オペレータが作業ＰＣ１０６からジョブマネージャ６０３へアクセスすることを可能とする構成をとることで、オペレータは処理中の印刷ジョブの状態を取得したり、印刷ジョブの制御を行うことができる。図１５は作業ＰＣ１０６に表示される、ジョブマネージャ６０３の操作画面１５０１を例示的に示したものである。
【０１４６】
ジョブマネージャ６０３は、操作画面１５０１のステータス画面１５０２に、印刷処理中の印刷ジョブの状態に関する情報を表示する。印刷ジョブの状態に関する情報としては、原稿データに付与されているドキュメント名、印刷ジョブのステータス（出力中、出力待ち、停止中等）、印刷ジョブが受け付けられた時間等が挙げられる。ジョブマネージャ６０３は、印刷ジョブの状態が処理の進み具合やプリンタ１１１、１１２のトラブル等によりステータス画面１５０２の表示内容を逐次変化する。また、オペレータが所望の印刷ジョブを選択し、印刷停止、印刷再開、印刷中止等の操作を行うことができるように構成されている。
【０１４７】
このような構成をとることで、オペレータは所望の時点で作業ＰＣ１０６から印刷ジョブの状態を確認したり、印刷状態を手動で変更したりすることができる。
【０１４８】
（デバイスマネージャ）
次に、プリンタ１１１、１１２や製本機１４１、１４２等の印刷装置（デバイス）を管理するコンポーネントである、デバイスマネージャ６０５について説明する。図１６及び図１７は作業ＰＣ１０６からデバイスマネージャ６０５へアクセスし、作業ＰＣ１０６上に表示される操作画面を例示的に示したものである。
【０１４９】
デバイスマネージャ６０５はプリンタ１１１、１１２や製本機１４１、１４２等の印刷装置の設置情報（ネットワークアドレス、管理者）を管理する。そして、定期的に該印刷装置と通信を行いステータスに関する情報（稼動状況、エラー／ワーニング発生状況等）を取得し、ＨＤ２０５等の記憶装置に記憶・管理する。更に、これらの情報は作業ＰＣ１０６からデバイスマネージャ６０５へアクセスすることで、オペレータが確認することができるように制御する。図１６は各プリンタの設置情報を一覧表示するデバイスマネージャ６０５の一例である。
【０１５０】
また、デバイスマネージャ６０５は定期的にプリンタ１１１、１１２や製本機１４１、１４２等の印刷装置と通信を行い、印刷装置のデバイス情報を取得し、ＨＤ２０５等の記憶装置に記憶・管理する。デバイス情報としては、能力情報（単位時間当たりの処理速度、製本／ステイプル／パンチ等のフィニッシング機能）や、消耗品情報（用紙／トナー／ステイプル針等）等が挙げられる。これらの情報は、印刷管理プログラムのほかのコンポーネント（デバイススケジューラ６０４等）からの要求により、アクセス可能なように制御する。更に、作業ＰＣ１０６からデバイスマネージャ６０５へアクセスすることで、オペレータが確認することができるように制御する。図１７は所定のプリンタの消耗品情報（用紙）を表示するデバイスマネージャ６０５の操作画面の一例である。
【０１５１】
そして、デバイスマネージャ６０５はオーダーマネージャ６０１、ワークフローマネージャ６０２、ジョブマネージャ６０３、デバイススケジューラ６０４等からの要求に従い逐次デバイスの情報を通知する機能を有する。
【０１５２】
このように、オペレータは所望の時点で作業ＰＣ１０６から、印刷装置の状態を確認することができる。また、デバイスマネージャ６０５から他のコンポーネントへ印刷装置の情報を通知することにより、スケジューリング等に有効利用することができる。
【０１５３】
＜その他の実施形態＞
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１５４】
尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１５５】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。
【０１５６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１５７】
プログラムを供給するための記録媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などである。
【０１５８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのものをダウンロードすることによっても供給できる。また、コンピュータプログラムそのものではなく、圧縮され自動インストール機能を含むファイルをダウンロードすることによってプログラムを供給できるようにしてもよい。なお、これらプログラムそのもの或いはインストール機能を含むファイルはハードディスク等の記録媒体にダウンロードされることになる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１５９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせるようにしてもよい。この場合、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせてプログラムの供給を実現する。また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、次のような形態であってもよい。すなわち、読み出したプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現され得る形態である。
【０１６０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる様な形態でもよい。この場合、プログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１６１】
【図１】本実施形態における印刷システムのシステム構成図である。
【図２】本実施形態における情報処理装置の構成を示すブロック図である。
【図３】本実施形態におけるＲＡＭにプログラムが展開されたときのメモリマップを示す図である。
【図４】本実施形態におけるメディア内部のデータを表すメモリマップを示す図である。
【図５】本実施形態における印刷システムの処理シーケンスを示す図である。
【図６】本実施形態における印刷管理サーバのモジュール構成図である。
【図７】本実施形態におけるオーダーマネージャの操作画面を例示的に示した図である。
【図８】本実施形態におけるワークフローエディタの操作画面を例示的に示した図である。
【図９】本実施形態におけるワークフローマネージャの操作画面を例示的に示した図である。
【図１０】本実施形態におけるデバイススケジューラを用いて、スケジュール情報の確認を行う際の操作画面を例示的に示した図である。
【図１１】本実施形態におけるデバイススケジューラがスケジュール予約を行う処理の流れを示したフローチャートを示す図である。
【図１２】本実施形態におけるデバイススケジューラを用いて、オペレータがスケジュールの条件を指定する際の操作画面を例示的に示した図である。
【図１３】本実施形態におけるデバイススケジューラが、１台のプリンタによって印刷処理を行うスケジュールについて、その候補を列挙した操作画面を例示的に示した図である。
【図１４】本実施形態におけるデバイススケジューラが、複数のプリンタによって印刷処理を行うスケジュールについて、その候補を列挙した操作画面を例示的に示した図である。
【図１５】本実施形態におけるジョブマネージャの操作画面を例示的に示した図である。
【図１６】本実施形態におけるデバイスマネージャの操作画面の一態様を例示的に示した図である。
【図１７】本実施形態におけるデバイスマネージャの操作画面の一態様を例示的に示した図である。
【図１８】本実施形態におけるオーダー情報ファイルの構成例を示した図である。
【図１９】本実施形態におけるデバイススケジューラが生成する空き時間情報の例を示した図である。
【図２０】本実施形態におけるデバイススケジューラの操作画面において、ポインティングデバイス等を用いてスケジュールを設定する様子を例示的に示した図である。
【図２１】オーダーされた原稿データを処理可能なスケジュール候補の検索方法を説明するフローチャートである。
【図２２】プリンタの空き時間や処理能力の記憶形態を表す図である。
【図２３】オーダーされた原稿データを処理可能であるか否かを判定した結果の一例を示す図である。
【図２４】抽出条件を設定する際に優先順位を設定することを可能としたユーザインターフェース例を示す図である。
【図２５】抽出条件と優先順位の対応付けの例を示す図である。
【図２６】第２候補次官の抽出処理を説明するフローチャートである。
【図２７】抽出された各プリンタの処理能力や空き時間等から算出された処理予測結果の保持例を示す図である。
【図２８】優先順位が高く設定された抽出条件を多く満たす第２候補時間順の表示結果を示す図である。
【図２９】図２１のＳ２１０７における候補時間の表示方法を説明するフローチャートである。
【図１】
2006099738.tif 000003
【図２】
2006099738.tif 000004
【図３】
2006099738.tif 000005
【図４】
2006099738.tif 000006
【図５】
2006099738.tif 000007
【図６】
2006099738.tif 000008
【図７】
2006099738.tif 000009
【図８】
2006099738.tif 000010
【図９】
2006099738.tif 000011
【図１０】
2006099738.tif 000012
【図１１】
2006099738.tif 000013
【図１２】
2006099738.tif 000014
【図１３】
2006099738.tif 000015
【図１４】
2006099738.tif 000016
【図１５】
2006099738.tif 000017
【図１６】
2006099738.tif 000018
【図１７】
2006099738.tif 000019
【図１８】
2006099738.tif 000020
【図１９】
2006099738.tif 000021
【図２０】
2006099738.tif 000022
【図２１】
2006099738.tif 000023
【図２２】
2006099738.tif 000024
【図２３】
2006099738.tif 000025
【図２４】
2006099738.tif 000026
【図２５】
2006099738.tif 000027
【図２６】
2006099738.tif 000028
【図２７】
2006099738.tif 000029
【図２８】
2006099738.tif 000030
【図２９】
2006099738.tif 000031