[第1の実施の形態]
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は省略する。
(装置構成)
図1は、本実施形態の印刷システムの全体構成を示す図である。なお、以下の説明における印刷システム全体の環境は本実施形態の説明を理解し易くするためのものであり、本発明はこれらの環境に限定されるものではない。
図1において、クライアント151は、一般ユーザーの自宅でインターネット接続されたノートPC(personal・computer)102や、社内イントラネットに接続された業務用PC101が配置されているクライアントを示している。
サーバ152は、ユーザーに対して印刷依頼や原稿を入稿する入稿コンテンツを提供するコンピュータシステムであるWEBサーバ103や、入稿された印刷依頼を注文書(オーダー票)として格納したり、電子入稿された原稿を格納しておくコンピュータシステムであるDB(database)サーバ104を配備したサーバを示している。ここで、WEBサーバとDBサーバは1つの筐体に混在させることも可能であるが、本発明においては、便宜上2つの筐体に分けて説明する。
印刷センター153は、サーバ152に対して複数存在することができ、印刷センター153に設置されているプリンタの情報を元にサーバ152において振り分けてリンクされる。印刷センター153は、サーバ152に蓄積されたオーダー票と原稿をDBサーバ104から定期的に収集すると共に、本発明に係る印刷システムの各種サービスを提供するコンピュータシステムである印刷サーバ105、印刷サーバ105が提供する各種のサービスを使いやすいGUI(graphical・user・interface)を使って操作する作業PC106、実際の出力先となるモノクロプリンタ111、カラープリンタ112、更には印刷後に使用される後処理機141(くるみ製本機)、後処理機142(パンチャ機)が配備されている。もちろん、印刷センターの構成や環境は上記に限定されるものではない。
本実施形態の例では、クライアント151とサーバ152、またサーバ152と印刷センター153間は、Internet/Intranet131でネットワーク接続されている。通常、クライアント151とサーバ152間はInternet接続されることが多く、サーバ152と印刷センター153は専用回線を用いたIntranet接続されることが多いが、本実施形態はこうした環境に限らず、印刷センター153内にサーバ152が存在するような環境であっても適用可能である。
クライアント151のノートPC102、PC101には、WEBサーバ103が提供する入稿コンテンツを閲覧するための一般的なブラウザが搭載されている。また、その入稿コンテンツを使って原稿データをアップロードすることが可能である。
WEBサーバ103は、上記入稿コンテンツを提供するWEBサーバであり、その入稿コンテンツには、製本などの印刷体裁や、部数、用紙サイズなどの印刷設定、及び納品期日、依頼者情報、配送先などを入力するエディットコントロール、原稿データをアップロードするファイル指定コントロールが装備されている。ここで、入力された依頼内容に応じた料金計算、及び入力事項の確定処理などは、WEBサーバ103上で動作するサービスモジュールで実現されるが、一般的なロジックであるため、その詳細は省く。更に、WEBサーバ103は、確定した印刷依頼を記録した注文書(ここには、印刷依頼内容と原稿データのファイル名が記入されている)と原稿データファイルとを、DBサーバ104に格納する。
DBサーバ104には、一般的なデータベース管理システムがインストールされており、後述する印刷サーバ105からのデータ取得要求に応じて、所望の注文書と原稿データを送信することができる。図示しないDBスキーマは、主として印刷センターマスタ(場所、連絡先などの情報と、デバイスマスタ、製本機マスタをメンバに持つ)、デバイスマスタ(カラー/モノクロ、印刷枚数、オプションなどのデバイス構成情報)、後処理機マスタ(くるみ製本機、パンチャ機などの情報)等のテーブルで構成されている。DBサーバ104は、このDBスキーマのテーブルを参照することで、印刷センター153にある印刷サーバ105が自印刷センターに割り当てられた注文を受け取ることを可能とする。
印刷サーバ105は、WEBサーバ103からの注文確定の通知を受け、DBサーバ104から注文書と原稿データファイルを収集するとともに、収集した注文書に従い処理を行う、後述する印刷サーバソフトウェアが稼動する。印刷サーバソフトウェアは、後述する。
・オーダーマネージャ
・ワークフローエディタ
・ワークフローマネージャ
・ジョブマネージャ
・デバイススケジューラ
・デバイスマネージャ
等の各機能で構成される。オペレータは、作業PC106で印刷サーバソフトウェアのビューア(データ表示用ソフトウェア)のメニュー画面(不図示)を表示し、ポインティングデバイス等でそのメニュー画面から1つ又は複数の上記機能を選択し、起動可能である。
作業PC106は、印刷サーバ105で提供される各種のサービスをGUIを使って制御するコンソールや、印刷サーバ105に格納されている原稿データファイルを取り出し、所定のアプリケーションを起動し、印刷体裁を整えるともに、指定された印刷設定に基づいて印刷する作業用のコンピュータである。作業PC106は、印刷サーバソフトウェアと通信しその情報に基づいた画面表示を行い、印刷サーバ105の印刷サーバソフトウェアに対して指示を行うためのビューアがインストールされている。
モノクロプリンタ111、カラープリンタ112は、印刷センター153によって設置構成が異なるが、一般的には高速なモノクロプリンタと、高品位なカラープリンタの組み合わせで構成されることが多い。これらは、すべて印刷サーバ105のデバイススケジューラでスケジューリングされる。
後処理機141、後処理機142は上記プリンタより出力された用紙を後処理するための機械であり、くるみ製本機、パンチャ機、ステイプル機、リング製本機等である。ネットワークに接続することで、状況ステータスが収集可能である。また、プリンタと同様に印刷センター153によって設置構成が異なる。もちろん、これらがネットワーク接続されていない環境であっても本実施形態は可能であり、上記環境に限定されるものではない。
図2は、印刷サーバ105に適用可能なコンピュータのハードウェアの概略構成を示すブロック図である。以下、図2を参照し、本実施形態の印刷システムの各種サービスを提供する印刷サーバ105のハードウェア構成を説明する。
CPU(central・processing・unit)200は、HD(ハードディスク)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OS(operating・system)、ネットワークプリンタ制御プログラム等を実行し、RAM(random・access・memory)202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ROM(read・only・memory)201には、基本I/O(input-output)プログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。RAM202は、CPU200の主メモリ、ワークエリア等として機能する。
外部記憶ドライブ203は、メディア204に記憶されたプログラム等を印刷サーバ105にロードすることができる。メディア204は、後述する印刷サーバソフトウェアのプログラム及び関連データを格納しており、その記憶されている内容の構成を図4に示す(後述)。HD205は、アプリケーションプログラム、プリンタドライバプログラム、OS、制御プログラム、及びそれらの関連プログラム等を格納しており、種々のデータを格納可能である。
キーボード206は、オペレータがコンピュータに対して、デバイスの制御コマンドの命令等を入力指示するためのものである。オペレータは、キーボード206以外に、ポインティングデバイス(不図示)を介して、又はマイクロホンなど他の入力デバイス(不図示)を介して、コンピュータにコマンド及び情報を入力することができる。これらの入力デバイスは、システムバス208に結合されたシリアルポートインタフェース(不図示)を介してCPU200に接続されることが多い。あるいは入力デバイスは、パラレルポート、USB(Universal・Serial・Bus)など、他のインタフェースで接続してもよい。
ディスプレイ207は、キーボード206から入力したコマンドや、プリンタの状態等を表示する。システムバス208は、コンピュータ内のデータの流れを司る。ネットワークインタフェース(以下、I/Fという)209は、ローカルエリアネットワーク(LAN)あるいは、インターネットに接続するための通信インタフェースである。尚、図2に示した構成は、印刷サーバソフトウェアに係る説明以外は、WEBサーバ103、DBサーバ104、作業PC106等他のコンピュータにも適用可能である。
図3は、本実施形態の後述する印刷サーバソフトウェアのプログラムがRAM202にロードされ実行可能となった状態のメモリマップを表す図である。本実施形態では、メディア204からプログラム及び関連データを直接RAM202にロードして実行させる例を示すが、この以外にも、メディア204から本実施形態のプログラムを動作させる度に、HD205から必要な関連プログラム等をRAM202にロードするようにしてもよい。また、本実施形態の印刷サーバソフトウェアのプログラムを記録するメディア204はFD(floppy(登録商標)・disk)、CD(compact・disk)−ROM、DVD(digital・versatile・disk)、IC(integrated・circuits)メモリーカード等であっても良い
。
更に、本実施形態の印刷サーバソフトウェアのプログラムをROM201に記録しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。図中符号301は基本I/Oプログラムであり、コンピュータの電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローティング)機能等を有するプログラムである。さらにOS302、制御プログラム303、関連データ304がそれぞれRAM202に展開され、CPU200が本実施形態の印刷サーバソフトウェアのプログラムを実行するワークエリア305がとられている。
次いで図4において、図中符号400はメディア204のデータ内容であり、符号401はデータの情報を示すボリューム情報、符号402はディレクトリ情報、符号403は本実施形態の印刷サーバソフトウェアのプログラム、符号404はその関連データである。本実施形態1における印刷サーバソフトウェアに関わる処理は、後述の図19〜23のフローチャートに示す処理手順により行われる。
(動作説明)
図6は、本実施形態における印刷サーバ105のCPU200によって実行される印刷サーバソフトウェアの構成を機能モジュール毎に示した構成図である。図中符号601は入稿されたオーダーを管理するモジュールであるオーダーマネージャであり、作業PC106のビューアから起動されると後述する図7に示すようなGUIを表示させる。オーダーマネージャ601は、前述のWEBサーバ103、DBサーバ104から注文書(オーダー票)と原稿データファイルを収集し、原稿データファイルを印刷データとして印刷サーバ105のHD205に格納する。オーダーマネージャ601は、注文書から印刷情報を抽出し原稿データファイル(印刷データ)の格納先のパス名と合わせて、それらの情報にオーダーのオーダーIDをアサインした印刷に必要なオーダー情報をオーダー情報テーブルに登録し、そのテーブルを印刷サーバ105のHD205に格納する。図14はオーダー情報テーブルの構成例で、その格納される内容の一例を示す。図14では不図示だが、例えばプルーフ印刷の指示の有無もオーダー情報テーブルのオーダー全般情報に登録される。
オーダーマネージャ601の図7に示すようなGUI(後述)には、それらオーダー情報を元にオーダーの概略状況を示すリスト表示画面と、オーダーの詳細情報を示すタグ表示画面が装備されており、オペレータは、このGUIを見ながらオーダーの進捗具合を確認することができる。さらにオーダーマネージャ601は、同じオーダー情報をWEBサーバ103にステータス変更のタイミングで随時アップロードする。これにより、WEBサーバ103は、不図示の処理状況コンテンツ画面にHTML(Hyper・Text・Markup・Language)を使って同様の情報をユーザーに提供することができる。このオーダー情報は機密保持のため、印刷が完了し配送されるまでは保持されるが、配送後は消去される。
図7は、オーダーマネージャ601のGUIであり、便宜上、Microsoft社製の Windows(登録商標)シリーズのOS上で動作するアプリケーションの例として示してあるが、HTMLベースのWEBコンテンツとしてもよい(他の図示されたGUIについても同様)。上部のリスト画面には、オーダーを識別するためのオーダーID(identification)、担当者(オペレータ)等の概略と処理ステータスが表示される。オペレータがポインティングデバイス等で1つのオーダーを選択すると、下部のタブ画面に、オーダー情報の詳細が表示される。表示される内容には、図14のオーダー情報における印刷体裁等の印刷設定の項目も含まれる。
図8は、図6中のワークフローエディタ607のGUIを例示した図である。オペレータは、図7に示したオーダーマネージャ601のGUIに表示されるオーダーに一意なオーダー情報に従い、ワークフローエディタ607を使用してそのオーダーに対応するワークフローの作成を行う。ここでいうワークフローとはオーダーに対する印刷処理の流れを指し、ワークフローの作成とは、印刷のワークフローを管理する図6中のワークフローマネージャ602で処理するワークフロー情報テーブルに、指定したオーダーのワークフローを登録することである。
図8の上段に配置されているアイコン部品(ブロック)は、それぞれ特定の機能を有する印刷処理における工程を示している。これらのアイコン部品は、予め印刷センター毎にそのサービス内容に応じてカスタマイズされており、各印刷センターに適応して表示される。オペレータは、ワークフローエディタ607でオーダーのオーダーIDを指定し(不図示)、ワークフローエディタ607のUI(user・interface)上で、図8の上段に配置されている各工程を示したブロックをポインティングデバイスで選択し、図8の下段のエリアにおいてその選択したブロックをドラックアンドドロップしワークフローを組み上げる。例えば、図7に示したオーダーマネージャ601のGUIのオーダー情報にプルーフ印刷の指示があれば、オペレータは、図8の上段に配置されている工程”プルーフ印刷”、”プルーフ確認/修正”を示したブロックをポインティングデバイスで選択する。ワークフローが組み上がった後、オペレータが図8における”OK”ボタンをポインティングデバイスでクリックすると、ワークフローエディタ607は、その指定されたオーダー実現するためのワークフローをワークフロー情報テーブルに登録し、そのテーブルを印刷サーバ105のHD205に格納する。
図15にワークフロー情報テーブルに格納される内容の一例を示す。ここで各工程が自動処理工程か否かは、図8の各アイコン部品(ブロック)の工程に対応して、予め規定されている(例えば、工程”印刷データ確認”はオペレータの操作を要し、工程”プルーフ印刷”は自動等)。工程処理項目情報の”オペ操作”は、オペレータが工程で決められた操作を行う必要があることを示す。”オペ操作”以外の工程処理項目情報は、ワークフローマネージャ602が、工程に対する自動処理又はオペレータの操作の際に参照する処理項目のデータである。図15中の工程管理情報は、ワークフローマネージャ602が工程の処理に際し、参照し必要に応じて更新するデータである。
図9は、図6中のワークフローマネージャ602のGUIを例示した図である。ワークフローマネージャ602は、印刷のワークフローを管理するソフトウェアである。オペレータは、ワークフローマネージャ602でオーダーのオーダーIDを指定し(不図示)、上記ワークフローエディタ607で作成したワークフロー情報テーブルから指定オーダーのワークフロー情報をワークフローマネージャ602に読み込ませ、そのワークフローの動作、進捗管理を行う。ワークフローマネージャ602は、現在の工程を強調表示することにより指定オーダーのワークフローの進捗状況を可視的に表示する。工程によっては自動的に処理され、他の工程によってはステータス情報(例えば、操作を促すポップアップ等の表示)に基づきオペレータが工程毎に決められた操作を行う。また、必要に応じてワークフローマネージャ602は、ジョブマネージャ603、デバイススケジューラ604、デバイスマネージャ605等と通信を行い、印刷終了通知などステータスを把握、通知する(詳細は後述)。
あるオーダーIDのオーダーについてワークフローマネージャ602の工程が“プリンタ予約”になった場合、ワークフローマネージャ602はそのオーダー条件に適応するプリンタの利用スケジュールを自動予約する。ワークフローマネージャ602は、図6中のデバイススケジューラ604にオーダーIDを送付しスケジューリングを依頼する。デバイススケジューラ604は、HD205に格納されているオーダー情報テーブル上のオーダーID対応したオーダー情報(印刷データ、印刷情報、納品期限等)を取得し、デバイス情報テーブル(図18、後述)をデバイスマネージャ605から取得して、指定されたオーダー条件に適応するプリンタのデバイス情報をデバイス情報テーブルから検索する。そして、デバイススケジューラ604は、自身が作成、管理しているスケジュール情報テーブルを参照し、指定されたオーダー条件に適応するプリンタが使用されていない空き時間を検索する。
次いでデバイススケジューラ604は、検索したプリンタの空き時間に対応して、そのオーダーの本印刷ジョブのスケジュールをスケジュール情報テーブルに予約登録し、そのテーブルを印刷サーバ105のHD205に格納する。図17にスケジュール情報テーブルに格納される内容の一例を示す。デバイススケジューラ604は、予約が完了次第、ワークフローマネージャ602へ予約完了の結果を通知する。ワークフローマネージャ602はその結果に基づいて、“プリンタ予約”以後の工程の制御を行う。
図10は、デバイススケジューラ604のGUIを例示した図である。デバイススケジューラ604は、図10に示したGUIによって、複数台のプリンタのスケジュールを管理し、プリンタ毎の自動スケジュール状況を同時に表示することが可能なスケジューリングシステムである。オペレータは作業PC106からデバイススケジューラ604を起動し、図10に示すようなGUIにより自動スケジュールされた結果を確認することができる。
ワークフローマネージャ602の工程が印刷処理を行う“印刷”の場合、デバイススケジューラ604はスケジュール情報テーブルを参照し、指定されたオーダーに対応する自動スケジュールされた日時に至った印刷ジョブを認識し、プリントコンポーネント606(印刷制御モジュール)を起動し自動印刷を行う。プリントコンポーネント606は、オーダー情報テーブルに登録されている指定されたオーダーに対応するオーダー情報(印刷データ、印刷情報)をオーダーマネージャ601から取得し、該当するオーダーの印刷を自動的に実行する。尚、上述した形態は、印刷データの形式が印刷サーバ105から直接プリンタへ印刷を実行できる場合の印刷処理形態である。印刷データの形式が印刷サーバ105から直接プリンタへ印刷を実行できない場合、プリントコンポーネント606は、印刷データ、印刷情報を作業PC106へダウンロードし、作業PC106に搭載されているクライアントプリントコンポーネントを起動し印刷を実行する。
デバイススケジューラ604は、スケジュール情報テーブル上の指定されたオーダーに対応する印刷ジョブを、オーダーIDとプリンタ名によって一意に認識し、その情報を送信してプリントコンポーネント606を起動し該当する印刷ジョブを実行する。
そして、印刷ジョブの管理を行うソフトウェアであるジョブマネージャ603が、プリントコンポーネント606から通知される印刷ジョブのオーダーIDとプリンタ名に基づいて、モノクロプリンタ111、カラープリンタ112等と通信し、そのステータス等印刷ジョブに対応する情報をジョブ情報テーブルに登録し、そのテーブルを印刷サーバ105のHD205に格納して、印刷ジョブの管理、監視を行う。
図11は、図6中のジョブマネージャ603のGUIを例示した図である。図11に示すように、ジョブマネージャ603によって、逐次状態が変化する印刷ジョブの情報を表示するとともに、オペレータは任意の印刷ジョブを制御することが可能である。即ち、オペレータは、作業PC106に図11に示すようなジョブマネージャ603のGUIを表示し、印刷データに付与されているドキュメント名、印刷ジョブのステータス(出力中、出力待ち、停止中など)、印刷ジョブが受け付けられた時間等を必要に応じて確認する。また、ポインティングデバイス等により、任意のジョブの選択、ステータス変更(印刷中止、印刷停止、続行等)等を行う。また、図16にジョブ情報テーブルに格納される内容の一例を示す。
図12及び図13は、図6のデバイスマネージャ605のGUIを例示した図である。図12は、各プリンタの設置情報を一覧表示するデバイスマネージャ605のGUIの一例である。図13は、任意のプリンタの設定を表示するデバイスマネージャ605のGUIの一例である。オペレータは、作業PC106に図12、13に示すようなデバイスマネージャ605のGUIを表示し、プリンタの情報を必要に応じて確認する。
デバイスマネージャ605は、各プリンタの設置情報(ネットワークアドレス、管理者)を記録したデバイス情報テーブルを参照し、デバイスを管理するソフトウェアである。そして、定期的にプリンタと通信を行いステータス(稼動状況、エラー/ワーニング発生状況)を取得し、デバイス情報テーブルを更新し、そのテーブルを印刷サーバ105のHD205に格納する。図18にデバイス情報テーブルに格納される内容の一例を示す。デバイスマネージャ605は、このデバイス情報テーブルの情報に基づいて、図12及び図13のGUIを表示する。
また、デバイスマネージャ605は、定期的にプリンタと通信を行い、プリンタの能力情報(単位時間当たりの処理速度、製本/ステイプル/パンチ等のフィニッシング機能)、消耗品情報(用紙/トナー/ステイプル針等)のデバイス情報を取得し、デバイス情報テーブルに保持している。図13は、消耗品情報(用紙)を表示する一例である。さらに、デバイスマネージャ605は、オーダーマネージャ601、ワークフローマネージャ602、ジョブマネージャ603からの要求に従い逐次デバイスの情報を通知する機能を有する。
また、ワークフローマネージャ602は、オーダーマネージャ601からの指定されたオーダーに対するステータス取得要求に従い、指定されたオーダーが現在どの工程にあるか等のステータスを返す。それにより、オーダーマネージャ601はそのオーダーに対するステータスをオーダーマネージャ601のGUI上で表示することが可能となる。
(プログラムの処理説明)
上記動作説明に関わる処理は、図19〜23のフローチャートに示す処理手順により行われる。図19〜23の処理手順は、印刷サーバ105のCPU200が実行する印刷サーバソフトウェアのプログラム403の処理の内容を示す。
まず、図19を参照し、ワークフローマネージャ602の全体的な処理フローについて説明する。尚、オペレータがワークフローエディタ607を使用して、予め任意のオーダーに対するワークフローをワークフロー情報テーブルに登録し、そのテーブルをHD205に図15に示すような形態で格納していることを前提とする。
オペレータは、オーダーのオーダーIDを指定することによって自分が担当するオーダーのワークフロー情報を指定し、ワークフローマネージャ602を起動する。ワークフローマネージャ602は、指定オーダーのワークフロー情報をHD205中のワークフロー情報テーブルから読み込み(S1901)、以降、読み込んだ指定オーダーのワークフロー情報に従って動作する。ワークフローマネージャ602は、作業PC106のディスプレイに前述した図9に示すような形態で各工程の順序を表示する(S1902)。ここでワークフローマネージャ602は、最初の工程を強調表示する(S1903)。図9においては、工程“印刷データ確認”が強調表示されている。
次に、ワークフローマネージャ602は、図15のワークフロー情報テーブルにおける指定オーダーのワークフロー情報を参照し、現在の工程が自動処理の工程か否かを判定する(S1904)。尚、各工程が自動処理工程か否かは、各工程に対応して、予め規定されている。現在の工程が自動処理の工程でないと判定した場合、ワークフローマネージャ602は、その旨を示すステータス情報(例えば、操作を促すポップアップ等の表示)をオペレータに報知し、オペレータは現在の工程に対応した任意の工程作業を行う(S1905)。
S1905でオペレータは、前述した図7のオーダーマネージャ601のGUIを参照し、そこで指定オーダーの印刷データの格納先のパス名を取得し、そのパスに格納されている指定オーダーの印刷データを任意のアプリケーションでプレビューする。オペレータは、そのプレビュー内容がオーダーマネージャ601のGUI中の指定オーダーの内容と対応しているか等を確認する。オペレータは工程“印刷データ確認”が完了した時点でキーボード206等の入力手段により“GO”ボタンを押下する(S1906→S1908)。ワークフローマネージャ602は、工程が完了したことを検知し、次の工程を強調表示し(S1908→S1909)、処理をS1904に戻す。図9においては、工程“印刷設定(製本面付け)”が強調表示されている。
この時点でワークフローマネージャ602は、ワークフロー情報テーブルの指定オーダーの工程“印刷データ確認”の工程管理情報に「工程:1(済)」を登録する。以下、ワークフローマネージャ602は、工程が完了する度にワークフロー情報テーブルの指定オーダーのその工程の工程管理情報に「工程:1(済)」を登録する。
次に、ワークフローマネージャ602は、図15のワークフロー情報テーブルにおける指定オーダーのワークフロー情報を参照し、現在の工程が自動処理の工程か否かを判定する(S1904)。現在の工程が自動処理の工程でないと判定した場合、ワークフローマネージャ602は、その旨を示すステータス情報(例えば、操作を促すポップアップ等の表示)をオペレータに報知し、オペレータは現在の工程に対応した任意の工程作業を行う(S1905)。そして、ワークフローマネージャ602は、オペレータが工程作業を完了しキーボード206等の入力手段により“GO”ボタンを押下したか否かを判定する(S1906)。“GO”ボタンを押下していないと判定した場合、ワークフローマネージャ602は、定期的に“GO”ボタンが押下されているか否かを判定する。”GO”ボタンが押下されたと判定した場合、ワークフローマネージャ602は処理をS1908へ進
める。
S1904において現在の工程が自動処理の工程であると判定した場合、ワークフローマネージャ602はワークフロー情報テーブルにおける指定オーダーのワークフロー情報を参照し、現在の工程に対する所定の自動処理を行う(S1907)。そして、S1908において、ワークフローマネージャ602は、ワークフロー情報テーブルにおける指定オーダーのワークフロー情報を参照し、次の工程があるか否かを判定する。次の工程があると判定した場合、ワークフローマネージャ602は次の工程を強調表示し(S1909)、処理をS1904に戻す。次の工程がないと判定した場合、ワークフローマネージャ602は処理を終了する。
以下、本実施形態の特徴に係る処理フローを説明する。図20、21、23は、図19を参照し上述したS1904以降の処理のうち、本実施形態の特徴に係る処理フローの詳細を示すフローチャートである。また、図22は、デバイススケジューラ604による自動再スケジュールの処理フローを示すフローチャートである。
まず、図24で強調表示され示されているワークフローマネージャ602における工程“プリンタ予約”の処理フローについて、図20を参照して説明する。ワークフローマネージャ602は、ワークフロー情報テーブルにおける指定オーダーのワークフロー情報を参照し、現在の工程が“プリンタ予約”であるか否かを判定する(S2001)。現在の工程が“プリンタ予約”でないと判定した場合、ワークフローマネージャ602は他の工程の処理を行う(S2002)。
現在の工程が“プリンタ予約”であると判定した場合、ワークフローマネージャ602は、デバイススケジューラ604へオーダー情報(オーダーID)を送付しスケジューリングを依頼する。デバイススケジューラ604はHD205に格納されている図14のオーダー情報テーブルとデバイスマネージャ605からの図18に示すデバイス情報テーブルを参照し、依頼されたオーダーの条件を満たすプリンタの情報を検索する(S2003)。例えば、図14のオーダー情報テーブルを参照すると、オーダーID No.1001は、“モノクロ”、“パンチ30穴”、を行う必要がある。この条件を満たすプリンタは図18に示すデバイス情報テーブルを参照すると、”高速プリンタ”、”中速プリンタ1”である。
デバイススケジューラ604は、指定オーダーのオーダー情報テーブルの印刷データのページ数及び印刷設定の情報と、デバイス情報テーブルより取得した各プリンタ(例えば、”高速プリンタ”、”中速プリンタ1”)の処理能力の情報から、印刷ジョブ(本印刷ジョブ)の処理時間を計算する(S2004)。例えば、”高速プリンタ”1台での印刷ジョブの処理時間が計算される。
デバイススケジューラ604は、指定オーダーのオーダー情報テーブルにおける納期期日と、図17に示すスケジュール情報テーブルにおける”高速プリンタ”のスケジュール情報とを取得し、”高速プリンタ”1台での印刷ジョブの処理時間を鑑みた時間的な観点から、1台の”高速プリンタ”で処理可能であるか判定する(S2005)。即ち、デバイススケジューラ604は、処理時間の短い”高速プリンタ”1台で納期期日までの処理が可能か否かを判定する。
”高速プリンタ”にすでに他の印刷ジョブのスケジュールがあり、”高速プリンタ”1台での印刷ジョブの完了時間と納期の関係から1台の”高速プリンタ”で処理可能でないと判定した場合、デバイススケジューラ604は、印刷ジョブを分割し複数台のプリンタで処理可能か否かを判定する(S2006)。例えば、デバイススケジューラ604は、指定オーダーのオーダー情報テーブルにおける納期期日と、スケジュール情報テーブルにおける”高速プリンタ”及び”中速プリンタ1”のスケジュール情報を取得し、”高速プリンタ”、”中速プリンタ1”の2台での分割した印刷ジョブの処理時間を鑑みた時間的な観点から、”高速プリンタ”、”中速プリンタ1”の2台で納期期日までの分散処理が可能かを判定する(分散処理ケース)。
”高速プリンタ”の使用時間を短縮し複数台(この場合は2台)のプリンタで処理可能と判定した場合、デバイススケジューラ604は、”高速プリンタ”、”中速プリンタ1”2台に印刷ジョブを分割した各印刷ジョブの処理時間を計算し(不図示)、処理をS2009へ移行する。複数台のプリンタで処理ができないと判定した場合、デバイススケジューラ604は、指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、オペレータへ自動スケジュール不可能の結果を電子メール等で通知し(S2020)、処理を終了する。そして、デバイススケジューラ604は、自動スケジュール不可能であることをワークフローマネージャ602へ通知する。ワークフローマネージャ602はその通知を受けると、図19を参照し上述した自動処理(S1907)内の冒頭の処理へ戻る(詳細には、再びS2001を開始する)。
S2005において時間的な観点から1台のプリンタで処理可能であると判定した場合、デバイススケジューラ604は、指定された1つのオーダーに対する印刷ジョブを複数の印刷ジョブに分割して、その1台のプリンタで処理すべきか否か判定する(S2007)。具体的には、デバイススケジューラ604は、オーダー情報テーブルの指定オーダーの情報から総印刷枚数を計算しデバイス情報テーブルの排紙口の最大積載枚数の情報を取得し、排紙口の満載により印刷ジョブが途中で停止するか否かを判定する。排紙口の満載の観点から複数の印刷ジョブで処理すべきと判定した場合、デバイススケジューラ604は、部数を分けて連続的に実行する複数の印刷ジョブ(例えば2ジョブ)に分割する処理を行う(S2008)(連続処理ケース)。また、複数の印刷ジョブ(例えば2ジョブ)に分割した各印刷ジョブの処理時間が計算される。
S2007で複数の印刷ジョブでの処理不要と判定した場合、又は、S2008の処理の後、デバイススケジューラ604は、処理をS2009へ移行する。
次に、デバイススケジューラ604は、ワークフロー情報テーブルの指定オーダーの工程”プリンタ予約”の工程管理情報に、印刷ジョブ構成情報を登録する(S2009)。例えば、上述の分散処理ケースの場合、デバイススケジューラ604は、処理形態として”連携形態:分散印刷(2ジョブ)”、使用するプリンタとして”2台:中速プリンタ1、中速プリンタ2”等の情報を登録する。また、上述の連続処理ケースの場合、デバイススケジューラ604は、処理形態として“連携形態:連続印刷(2ジョブ)”、使用するプリンタとして”1台:カラープリンタ”等の情報を登録する。尚、連携形態は、ワークフローマネージャ602において、オペレータが現在の設定をディスプレイに表示し確認することが可能であり、キーボード等の入力手段からも設定、変更が可能である。例えば、オペレータが図9におけるモードボタンを選択すると、連携形態の表示、設定、及び変更等のポップアップメニューを表示可能としてもよい。
デバイススケジューラ604は、印刷ジョブを1台のプリンタで処理可能であると判定した場合、上記納期期日を守れるように、印刷ジョブの処理時間をスケジュール情報テーブルを参照し検索したそのプリンタの空き時間に対応させて、印刷ジョブの処理を割り当てる。又は、デバイススケジューラ604は、印刷ジョブを複数の印刷ジョブ(例えば2ジョブ)に分割して、1台のプリンタで処理すると判定した場合(連続処理ケース)、上記納期期日を守れるように、各印刷ジョブの処理時間をスケジュール情報テーブルを参照し検索したそのプリンタの空き時間に対応させて、各分割した印刷ジョブの処理を割り当てる。もしくは、デバイススケジューラ604は、印刷ジョブを複数の印刷ジョブに分割して、複数台のプリンタ(例えば2台)で処理可能と判定した場合(分散処理ケース)、上記納期期日を守れるように、各印刷ジョブの処理時間をスケジュール情報テーブルを参照し検索したその複数台の各プリンタの空き時間に対応させて、各分割した印刷ジョブの処理を割り当てる。そして、デバイススケジューラ604は、こうしたプリンタへの印刷ジョブの割り当てから得た本印刷ジョブのスケジュールを、図17に示すスケジュール情報テーブルに登録する(S2010)。各印刷ジョブ(本印刷ジョブ)は、そのオーダーIDと割り当てたプリンタ名によって識別され、スケジュール情報テーブルに登録される。
そして、デバイススケジューラ604は、指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、オペレータへ本印刷ジョブのスケジュールを電子メール等で通知する(S2011)。
次に、デバイススケジューラ604は、指定オーダーのオーダー情報テーブルの印刷データのページ数及び印刷設定の情報と、各プリンタの処理能力の情報から、プルーフ印刷ジョブ(本実施形態では1部だけ試しで行う印刷ジョブ)の処理時間を計算する(S2012)。例えば、デバイススケジューラ604は、印刷ジョブを”高速プリンタ”1台で処理可能であると判定した場合、”高速プリンタ”1台でのプルーフ印刷ジョブの処理時間を計算する。又は、デバイススケジューラ604は、印刷ジョブを2つの印刷ジョブに分割して、”高速プリンタ”1台で処理すると判定した場合(連続処理ケース)、”高速プリンタ”1台での各分割した印刷ジョブに対応する各プルーフ印刷ジョブの処理時間を計算する。もしくは、デバイススケジューラ604は、印刷ジョブを2つの印刷ジョブに分割して、”高速プリンタ”、”中速プリンタ1”の2台で処理可能と判定した場合(分散処理ケース)、”高速プリンタ”、”中速プリンタ1”の2台での各分割した印刷ジョブに対応する各プルーフ印刷ジョブの処理時間を計算する。各プルーフ印刷ジョブは、そのオーダーIDと割り当てたプリンタ名によって、スケジュール情報テーブルにおいて識別され、同じオーダーIDとプリンタ名で識別される印刷ジョブ(本印刷ジョブ)と対応している。
次いでデバイススケジューラ604は、指定オーダーのオーダー情報テーブルのオペレータ情報から確認時間の情報を取得し、S2012で計算したプルーフ印刷ジョブの処理時間に加算する(S2013)。
デバイススケジューラ604は、ワークフロー情報テーブルの指定オーダーの工程管理情報から連携形態の情報を取得し、印刷ジョブ構成情報の連携形態が”連続印刷”であるか否かを判定する(S2014)。オーダーID No.1001のように印刷ジョブ構成情報の連携形態が”連続印刷”でない場合、デバイススケジューラ604は、処理をS2016に移行する。オーダーID No.1002、1003のように印刷ジョブ構成情報の連携形態が”連続印刷”(この例では2ジョブ連携)の場合、デバイススケジューラ604は、指定オーダーのオーダー情報テーブルのオペレータ情報から連続印刷処理時間(プルーフ印刷)の情報を取得する。そして、デバイススケジューラ604は、その連続印刷処理時間を、連続印刷に係るプルーフ印刷ジョブ(2ジョブ連携の例では、2番目のプルーフ印刷ジョブ)の処理時間に加算し(S2015)、そのプルーフ印刷ジョブの処理時間を規定されたプルーフ印刷ジョブをスケジュール登録予定の状態とする。
次に、デバイススケジューラ604は、ワークフロー情報テーブルにおける他の印刷ジョブ(他のオーダー)の工程”プリンタ予約”の工程管理情報に登録されている印刷ジョブ構成情報、及びスケジュール情報テーブルを参照する(S2016)。そして、デバイススケジューラ604は、上述のプルーフ印刷ジョブの処理時間を有する登録予定プルーフ印刷ジョブが影響を与える他の印刷ジョブ(プルーフ印刷ジョブ、本印刷所ジョブ)、及び登録予定プルーフ印刷ジョブに影響を与える他の印刷ジョブ(プルーフ印刷ジョブ、本印刷所ジョブ)を検索する(S2017)。
S2017において、具体的には、デバイススケジューラ604は、登録予定プルーフ印刷ジョブを、スケジュール情報テーブルにおいて同じオーダーIDとプリンタ名で識別され対応する本印刷ジョブの開始予定時刻より以前に、スケジュールしようと試みる。この際、デバイススケジューラ604は、登録されている他の印刷ジョブのスケジュール情報と登録予定プルーフ印刷ジョブとの印刷属性及び連携性の関係を考慮する。それに基づきデバイススケジューラ604は、登録予定プルーフ印刷ジョブをスケジュールすることにより、他の印刷ジョブの印刷品位に影響する時間帯(登録予定プルーフ印刷ジョブの印刷属性(そのジョブのオーダー情報テーブルに登録)にカラープリンタのキャリブレーションが設定されているため、そのキャリブレーション後のそのプリンタの他の印刷ジョブの印刷品位に影響する、等)、プルーフ印刷処理における連続処理及び分散処理が非効率となる時間帯(プルーフ印刷とそれに続く本印刷の時間間隔が多大、登録予定プルーフ印刷ジョブのオペレータが他のプルーフ印刷ジョブの確認も必要になる、等)などを検出する。また、デバイススケジューラ604は、他の印刷ジョブで使用する用紙サイズ及び用紙の種類と、登録予定プルーフ印刷ジョブで使用する用紙サイズ及び用紙の種類の関係なども考慮する。例えば、他の印刷ジョブで使用する用紙サイズ、用紙の種類がプリンタに設置されている状況で、それと異なる用紙サイズ、用紙の種類を使用する登録予定プルーフ印刷ジョブは、自動的に実行することはできない。さらに、デバイススケジューラ604は、登録予定プルーフ印刷ジョブ後に同じプリンタで多大な印刷ボリュームの他の印刷ジョブが実行され印刷品位が変化し、その後の登録予定プルーフ印刷ジョブに対応する本印刷ジョブの印刷品位へ影響を判断する。
このように、デバイススケジューラ604は、登録予定のプルーフ印刷ジョブを、時間的な観点、他の印刷ジョブへの影響の観点、プルーフ印刷の処理の効率性の観点から、登録予定プルーフ印刷ジョブが影響を与える他の印刷ジョブ、及び登録予定プルーフ印刷ジョブに影響を与える他の印刷ジョブを検索する。
デバイススケジューラ604は、登録予定プルーフ印刷ジョブのスケジュール登録が可能(即ち、上述したS2017の検索結果無し)か否かを判定する(S2018)。登録予定プルーフ印刷ジョブのスケジュール登録が可能でないと判定した場合、デバイススケジューラ604は、指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、オペレータへ自動スケジュール不可能の結果を電子メール等で通知し(S2020)、処理を終了する。そして、デバイススケジューラ604は、自動スケジュール不可能であることをワークフローマネージャ602へ通知する。ワークフローマネージャ602はその通知を受けると、図19を参照し上述した自動処理(S1907)内の冒頭の処理へ戻る(詳細には、再びS2001を開始する)。
登録予定プルーフ印刷ジョブのスケジュール登録が可能と判定した場合、デバイススケジューラ604は、登録予定プルーフ印刷ジョブのスケジュールをスケジュール情報テーブルに登録する(S2019)。
例えば、デバイススケジューラ604は、印刷ジョブを1台のプリンタで処理可能であるとして、S2010でそのプリンタに印刷ジョブの処理を割り当てていた場合、その印刷ジョブに対応する登録予定プルーフ印刷ジョブの処理時間をその印刷ジョブのスケジュール以前の空き時間に対応させて、その印刷ジョブに対応する登録予定プルーフ印刷ジョブを割り当てる。又は、デバイススケジューラ604は、印刷ジョブを複数の印刷ジョブ(例えば2ジョブ)に分割して、1台のプリンタで処理可能であるとして(連続処理ケース)、S2010でそのプリンタに各分割した印刷ジョブの処理を割り当てていた場合、その各印刷ジョブに対応する登録予定プルーフ印刷ジョブの処理時間を各分割した印刷ジョブのスケジュール以前の空き時間に対応させて、各分割した印刷ジョブに対応する各登録予定プルーフ印刷ジョブを割り当てる。もしくは、デバイススケジューラ604は、印刷ジョブを複数の印刷ジョブに分割して、複数台のプリンタ(例えば2台)で処理可能であるとして(分散処理ケース)、S2010でその各プリンタに各分割した印刷ジョブの処理を割り当てていた場合、その各印刷ジョブに対応する登録予定プルーフ印刷ジョブの処理時間を各2台のプリンタの各分割した印刷ジョブのスケジュール以前の空き時間に対応して、各分割した印刷ジョブに対応する各登録予定プルーフ印刷ジョブを割り当てる。そして、デバイススケジューラ604は、こうした割り当てから得たプルーフ印刷ジョブのスケジュールを、図17に示すスケジュール情報テーブルに登録する。図17に示すスケジュール情報テーブルに登録された各行が、後述される自動印刷ジョブの情報を構成する。
図5は、上述した図20の処理フローによって登録されたスケジュール情報テーブルに基づいて、任意のオーダーに対する本印刷ジョブ、プルーフ印刷ジョブのスケジュールを表示した、デバイススケジューラ604のGUIを例示した図である。オペレータは作業PC106からデバイススケジューラ604を起動し、図5に示すようなGUIにより自動スケジュールされた結果を確認することができる。図5の例では、本印刷ジョブのスケジュールをジョブ名称(オーダー名)及び担当オペレータの情報を表示した矩形で表し、プルーフ印刷ジョブのスケジュールを星のマークで表し、それら相互の関係を矢印で接続し表現している。また、複数の印刷ジョブにおける連携形態は、連続印刷及び分散印刷の関係を太線で接続し表現している。
次に、デバイススケジューラ604は、指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、オペレータへプルーフ印刷ジョブのスケジュールを電子メール等で通知する。そして、デバイススケジューラ604は、工程“プリンタ予約”が完了した旨をワークフローマネージャ602へ通知する(S2021)。ワークフローマネージャ60
2は、その結果を受け以後の工程の制御を行う。
次に、図25に示すようにワークフローマネージャ602における工程“プルーフ印刷”が強調表示されている場合の処理フローについて、図21を参照して説明する。ワークフローマネージャ602は、ワークフロー情報テーブルにおける指定オーダーのワークフロー情報を参照し、現在の工程が“プルーフ印刷”であるか否かを判定する(S2101)。現在の工程が“プルーフ印刷”でないと判定した場合、ワークフローマネージャ60
2は他の工程の処理を行う(S2102)。
現在の工程が“プルーフ印刷”であると判定した場合、ワークフローマネージャ602はデバイススケジューラ604へ自動プルーフ印刷実行の処理依頼を行う。デバイススケジューラ604は、図17に示すスケジュール情報テーブルを参照し(S2103)、指定オーダーについて、プルーフ印刷ジョブ開始時刻が経過している該当プルーフ印刷ジョブがあるか否か判定する(S2104)。プルーフ印刷ジョブの開始時刻が経過している該当プルーフ印刷ジョブがないと判定した場合、デバイススケジューラ604は処理を終了する。そして、デバイススケジューラ604は、自動実行するプルーフ印刷ジョブがないことをワークフローマネージャ602へ通知する。ワークフローマネージャ602はその通知を受けると、図19を参照し上述した自動処理(S1907)内の冒頭の処理へ戻る(詳細には、再びS2101を開始する)。
プルーフ印刷ジョブの開始時刻が経過している該当プルーフ印刷ジョブがあると判定した場合、デバイススケジューラ604は、スケジュール情報テーブル上の指定されたオーダーに対応する開始時刻が経過しているプルーフ印刷ジョブを、オーダーIDとプリンタ名によって一意に認識し、その情報を送信してプリントコンポーネント606を起動し該当するプルーフ印刷ジョブを実行する(S2105)。プリントコンポーネント606は、オーダー情報テーブルに登録されている指定されたオーダーに対応するオーダー情報(印刷データ、印刷情報)をオーダーマネージャ601から取得し、該当プルーフ印刷ジョブを自動的に実行する。
デバイススケジューラ604は、指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、オペレータへ該当プルーフ印刷の自動実行を電子メール等で通知し、そのプルーフ印刷の確認依頼を促す(S2106)。デバイススケジューラ604は、ワークフロー情報テーブルの指定オーダーの工程”プルーフ印刷””の工程管理情報について、プルーフ印刷済みフラグにプルーフ印刷済みを意味する”1(済)”を設定する(S2107)。尚、プルーフ印刷済みフラグは、ワークフローマネージャ602において、オペレータが現在の設定をディスプレイに表示し確認することが可能であり、キーボード206等の入力手段からも設定、変更が可能である。例えば、オペレータが図9におけるモードボタンを選択すると、プルーフ印刷済みフラグの表示、設定、及び変更等のポップアップメニューを表示可能としてもよい。
そして、デバイススケジューラ604は、プルーフ印刷ジョブの自動実行をワークフローマネージャ602へ通知する。ワークフローマネージャ602はその結果から工程の制御を行う。具体的には、ワークフローマネージャ602は、図25における強調表示する工程を”プルーフ印刷”から次の工程である”プルーフ確認/修正”に変更する(S2108)。通知を受けたオペレータは、プルーフ印刷物を確認し、必要に応じてオペレータによって印刷設定等が変更される(S2109)。これは、図13に示すプリンタの設定を表示するデバイスマネージャ605のGUIにおいて、ポインティングデバイス等により”設定(s)”タブが選択されると、印刷設定用のダイアログボックスが出るようにしてもよい。
次に、ワークフローマネージャ602は、スケジュール情報テーブルの指定オーダーの情報とワークフロー情報テーブルの指定オーダーの工程“プルーフ印刷”のプルーフ印刷済みフラグとを参照し、プルーフ印刷後(プルーフ印刷済みフラグ=“1(済)”)、スケジュール情報テーブルの指定オーダーについて、プルーフ印刷ジョブ終了予定時刻が経過している該当プルーフ印刷ジョブが、プルーフ印刷ジョブ終了予定時刻後一定期間が経過したか否かを判定する(S2110)。プルーフ印刷ジョブ終了予定時刻が経過している該当プルーフ印刷ジョブが、プルーフ印刷ジョブ終了予定時刻後、一定期間が経過したと判定した場合、ワークフローマネージャ602は、指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、オペレータへプルーフ印刷の確認及び確認結果設定の依頼を電子メール等で通知する(S2111)。ここで、確認結果設定とは、後述するように、図9のワークフローマネージャ602のGUIにおいて、“プルーフ確認/修正”の工程完了を示す”GO”ボタンが押下されることである。
プルーフ印刷ジョブ終了予定時刻後一定期間が経過していないと判定した場合、ワークフローマネージャ602は、“プルーフ確認/修正”の工程完了を示す“GO”ボタンが押下されたか否か判定する(S2112)。“プルーフ確認/修正”の工程完了を示す“GO”ボタンが押下されていないと判定した場合、ワークフローマネージャ602は、処理をS2110に戻す。
“プルーフ確認/修正”の工程完了を示す“GO”ボタンが押下されたと判定した場合、ワークフローマネージャ602は、ワークフロー情報テーブルの指定オーダーの工程“プルーフ確認/修正”の工程管理情報について、プルーフ印刷確認済みフラグにプルーフ印刷確認済みを意味する“1(済)”を設定する(S2113)。尚、プルーフ印刷確認済みフラグは、ワークフローマネージャ602において、オペレータが現在の設定をディスプレイに表示し確認することが可能であり、キーボード206等の入力手段からも設定、変更が可能である。例えば、オペレータが図9におけるモードボタンを選択すると、プルーフ印刷確認済みフラグの表示、設定、及び変更等のポップアップメニューを表示可能としてもよい。S2113の処理後、ワークフローマネージャ602は、その結果を受け以後の工程の制御を行う。一方、S2111の処理後は、ワークフローマネージャ602は、S2113の処理をすることなく以後の工程の制御を行う。
次に、デバイススケジューラ604による自動本印刷ジョブ及び自動プルーフ印刷ジョブの自動再スケジュールの処理フローについて、図22を参照して説明する。デバイススケジューラ604は、定期的にオーダー条件、ワークフロー内容、印刷ジョブのスケジュール、資源の状況(プリンタの故障等)の情報等を検索し、各情報の変更を検知し問題がある場合は印刷ジョブのスケジュールを自動的に再調整可能である。
デバイススケジューラ604は、オーダー情報テーブル、ワークフロー情報テーブル、スケジュール情報テーブル、ジョブ情報テーブル及びデバイス情報テーブルを参照し、各情報に変更が発生しているか検索する(S2201)。そして、デバイススケジューラ604は、何れかのテーブルの情報に変更が発生しているか否か判定する(S2202)。何れの情報テーブルにも変更が発生していないと判定した場合、デバイススケジューラ604は処理をS2201に戻す。
何れかの情報テーブルに変更が発生していると判定した場合、デバイススケジューラ604は、上述のテーブル類に加え、ワークフロー情報テーブルの各オーダーIDの印刷ジョブ構成情報を参照し、その印刷ジョブ構成情報のプリンタを使用するスケジュール情報テーブルの自動印刷ジョブについて、プルーフ印刷ジョブ、本印刷ジョブのスケジュールを参照し、自動印刷のスケジュールの見直しが必要なプルーフ印刷ジョブ、本印刷ジョブを有する自動印刷ジョブを検索する(S2203)。尚、スケジュールの見直しが必要な自動印刷ジョブは、オーダーIDとプリンタ名によってスケジュール情報テーブルにおいて一意に認識される。
例えば、オーダー情報テーブルの印刷体裁等の印刷設定の変更があったオーダーは、プリンタを新たに選択しなおし自動印刷のスケジュールの見直しが必要となるであろうし、スケジュール情報テーブルのプルーフ印刷又は本印刷の予定時刻の変更のあった印刷ジョブは、同じプリンタを使用する他の印刷ジョブのスケジュールと重複しているかもしれない。さらに、デバイス情報テーブルのステータスがエラーとなっているプリンタは使用不可のため、そのプリンタを使用する自動印刷ジョブは、プリンタを新たに選択しなおし自動印刷のスケジュールの見直しが必要となるであろう。
ここで言うスケジュール見直しの必要性は、時間的な観点からプリンタの利用時間が重複する事態、オペレータの作業効率が低下する事態(プルーフ印刷とそれに続く本印刷の時間間隔が多大、同一のオペレータが複数のプルーフ印刷ジョブの確認が必要になる、等)などから判定される。また、スケジュール見直しの必要性は、登録されている他の本印刷ジョブのスケジュール情報と別な本印刷ジョブのプルーフ印刷の印刷属性、連携性の情報から、そのプルーフ印刷ジョブを実行することにより、上記他の本印刷ジョブの印刷品位に影響する事態、プルーフ印刷処理における連続処理及び分散処理が非効率なる事態(プルーフ印刷とそれに続く本印刷の時間間隔が多大、同一のオペレータが複数のプルーフ印刷ジョブの確認が必要になる、等)などからも判定される。さらに、スケジュール見直しの必要性は、本印刷ジョブで使用する用紙サイズ、用紙の種類と、別な本印刷ジョブのプルーフ印刷ジョブで使用する用紙サイズ、用紙の種類との関係なども考慮される。例えば、ある本印刷ジョブで使用する用紙サイズ、用紙の種類がプリンタに設置されている状況で、それと異なる用紙サイズ、用紙の種類を使用する別な本印刷ジョブのプルーフ印刷ジョブは、自動的に実行することはできない。
そして、デバイススケジューラ604は、自動印刷のスケジュールの見直しが必要なプルーフ印刷ジョブ、本印刷ジョブを有する自動印刷ジョブが検索されたか否かを判定する(S2204)。自動印刷ジョブのスケジュールの見直しが必要ないと判定した場合、デバイススケジューラ604は処理をS2201に戻す。
見直しが必要な自動印刷ジョブが検索された場合、デバイススケジューラ604は、スケジュール情報テーブルの見直しが必要な自動印刷ジョブのオーダーIDを参照し、そのオーダーIDに対応するワークフロー情報テーブルの工程管理情報の処理優先フラグを参照する(S2205)。尚、ワークフロー情報テーブルの処理優先フラグは、上述した図8に示すように、工程“品質優先”(もしくは“納期優先”)が設定されている場合、ワークエディタ607がその情報をワークフロー情報テーブルに登録する。そして、処理優先フラグは、ワークフローマネージャ602において、オペレータが現在の設定をディスプレイに表示し確認することが可能であり、キーボード等の入力手段からも設定、変更が可能である。例えば、オペレータが図9におけるモードボタンを選択すると、処理優先フラグの表示、設定、及び変更等のポップアップメニューを表示可能としてもよい。
デバイススケジューラ604は、見直しが必要な自動印刷ジョブに関する上述した処理優先フラグに、”納期優先”が設定されているか否かを判定する(S2206)。処理優先フラグに”納期優先”が設定されていないと判定した場合、デバイススケジューラ604は、見直しが必要な自動印刷ジョブについて、プルーフ印刷ジョブのスケジュールは変更せず本印刷ジョブのスケジュールを組み直す(S2207)。例えば、本印刷ジョブのスケジュールを、開始/終了予定時刻は同じでプリンタを新たに選択しなおすようにする、又は、本印刷ジョブのスケジュールを、プリンタは同じで開始/終了予定時刻を新たに設定しなおすようにする、等である。
デバイススケジューラ604は、見直しが必要な自動印刷ジョブに関する上述した処理優先フラグに、”納期優先”が設定されていると判定した場合、デバイススケジューラ604は、見直しが必要な自動印刷ジョブについて、本印刷ジョブのスケジュールは変更せずプルーフ印刷ジョブのスケジュールを組み直す(S2208)。例えば、プルーフ印刷ジョブのスケジュールを、開始/終了予定時刻は同じでプリンタを新たに選択しなおすようにする、又は、プルーフ印刷ジョブのスケジュールを、プリンタは同じで開始/終了予定時刻を新たに設定しなおすようにする、等である。
デバイススケジューラ604は、スケジュール情報テーブルを参照し、スケジュールを組み直した見直しが必要な自動印刷ジョブのスケジュールをスケジュール情報テーブルに登録(再スケジュール登録)可能か否か判定する(S2209)。ここで、再スケジュール登録の可否は、上述したS2203のスケジュール見直しの必要性と同様な観点から判定される。
スケジュール情報テーブルが再スケジュール登録可能でないと判定した場合、デバイススケジューラ604は、見直しが必要な自動印刷ジョブのプルーフ印刷ジョブ、本印刷ジョブに対して両者合わせてスケジュールを組み直した再スケジュール案を作成する(S2210)。例えば、プルーフ印刷ジョブ、本印刷ジョブのスケジュールを、開始/終了予定時刻は同じでプリンタを新たに選択しなおすようにする、又は、プルーフ印刷ジョブ、本印刷ジョブのスケジュールを、プリンタは同じで開始/終了予定時刻を新たに設定しなおすようにする、等である。
そして、デバイススケジューラ604は、スケジュールの見直しが必要な自動印刷ジョブを予定時刻に自動的に印刷処理を実行させないために、その自動印刷ジョブのオーダーIDに対応するワークフロー情報テーブルの工程“印刷”の工程管理情報について、自動印刷ペンディングフラグを設定(ON)し、その自動印刷ジョブの自動印刷処理をペンディングする(S2211)。尚、自動印刷ペンディングフラグは、ワークフローマネージャ602において、オペレータが現在の設定をディスプレイに表示し確認することが可能であり、キーボード等の入力手段からも設定、変更が可能である。例えば、オペレータが図9におけるモードボタンを選択すると、自動印刷ペンディングフラグの表示、設定、及び変更等のポップアップメニューを表示可能としてもよい。
デバイススケジューラ604は、自動印刷処理をペンディングにした印刷ジョブの情報(オーダーID等)と、S2210で作成した再スケジュール案とをオペレータへ電子メール等で通知する(S2212)。通知を受けたオペレータは、自動印刷処理をペンディングした印刷ジョブの情報と再スケジュール案に対して必要な処理を行う。例えば、オペレータは、自動印刷処理をペンディングした印刷ジョブのうちのいくつかを、本実施形態のスケジューリングとは別に独立したスケジュールで処理し、その他の自動印刷処理をペンディングした印刷ジョブについては、自動印刷ペンディングフラグを、ワークフローマネージャ602の図9のGUIにおいてキーボード等の入力手段から設定、変更する、等である。
一方、S2209において、スケジュールを組み直した見直しが必要な自動印刷ジョブのスケジュールをスケジュール情報テーブルに登録(再スケジュール登録)可能であると判定した場合、デバイススケジューラ604は、スケジュール情報テーブルを再スケジュール登録する(S2213)。そして、デバイススケジューラ604は、スケジュールを組み直した自動印刷ジョブのオーダーIDを参照し、そのオーダーのオーダー情報テーブルのオペレータ情報を参照して、そのオペレータへスケジュールを組み直した自動印刷ジョブの情報(プルーフ印刷もしくは本印刷ジョブのスケジュール変更)を電子メール等で通知する(S2214)。以降、デバイススケジューラ604は、S2201〜S2214までを定期的に実行する。
次に、図26に示すようにワークフローマネージャ602における工程“印刷”が強調表示されている場合の処理フローについて、図23を参照して説明する。ワークフローマネージャ602は、ワークフロー情報テーブルにおける指定オーダーのワークフロー情報を参照し、現在の工程が“印刷”であるか否かを判定する(S2301)。現在の工程が“印刷”でないと判定した場合、ワークフローマネージャ602は他の工程の処理を行う(S2302)。
現在の工程が“印刷”であると判定した場合、ワークフローマネージャ602はデバイススケジューラ604へ自動印刷実行の処理依頼を行う。デバイススケジューラ604は図17に示すようなスケジュール情報テーブルを参照する(S2303)。デバイススケジューラ604は、図17に示すスケジュール情報テーブルを参照し(S2303)、指定オーダーについて、本印刷ジョブの開始時刻が経過している該当本印刷ジョブがあるか否か判定する(S2304)。本印刷ジョブの開始時刻が経過している該当本印刷ジョブがないと判定した場合、デバイススケジューラ604は処理を終了する。そして、デバイススケジューラ604は、自動実行する本印刷ジョブがないことをワークフローマネージャ602へ通知する。ワークフローマネージャ602はその通知を受けると、図19を参照し上述した自動処理(S1907)内の冒頭の処理へ戻る(詳細には、再びS2301を開始する)。
本印刷ジョブの開始時刻が経過している該当本印刷ジョブがあると判定した場合、デバイススケジューラ604は、ワークフロー情報テーブルの指定オーダーの工程“印刷”の工程管理情報について、自動印刷ペンディングフラグが設定されているか否かを判定する(S2305)。自動印刷ペンディングフラグが設定されていると判定した場合、デバイススケジューラ604は処理を終了する。
自動印刷ペンディングフラグが設定されていないと判定した場合、デバイススケジューラ604は、ワークフロー情報テーブルの指定オーダーの工程“プルーフ確認/修正”の工程管理情報について、プルーフ印刷確認済みフラグを参照する(S2306)。そして、デバイススケジューラ604は、指定オーダーの本印刷ジョブの開始時刻が経過している該当本印刷ジョブの、そのプルーフ印刷確認済みフラグにONが設定されているか否か判定する(S2307)。
本印刷ジョブの開始時刻が経過している該当本印刷ジョブのプルーフ印刷確認済みフラグにONが設定されていると判定した場合、デバイススケジューラ604は、スケジュール情報テーブル上の指定されたオーダーに対応する開始時刻が経過している本印刷ジョブを、オーダーIDとプリンタ名によって一意に認識し、その情報を送信してプリントコンポーネント606を起動し該当する本印刷ジョブを実行する(S2308)。デバイススケジューラ604は、指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、オペレータへ該当本印刷ジョブの自動実行を電子メール等で通知する(S2309)。プリントコンポーネント606は、オーダー情報テーブルに登録されている指定されたオーダーに対応するオーダー情報(印刷データ、印刷情報)をオーダーマネージャ601から取得し、該当本印刷ジョブを自動的に実行する。
そして、ジョブマネージャ603は、プリントコンポーネント606から通知される印刷ジョブのオーダーIDとプリンタ名に基づいて、プリンタと通信し、印刷ジョブの監視を行い、該当本印刷ジョブのプリンタのステータスより印刷処理が完了したことを認識した時点で、デバイススケジューラ604及びワークフローマネージャ602へその旨を通知する。
デバイススケジューラ604は、ジョブマネージャ603から該当本印刷ジョブの印刷処理が完了した旨の通知を受けると、指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、オペレータへ該当本印刷ジョブの印刷完了を電子メール等で通知する(S2310)。そして、デバイススケジューラ604、は工程”印刷”が完了したことをワークフローマネージャ602へ通知する。ワークフローマネージャ602は、その結果を受け以後の工程の制御を行う。
S2307において、ワークフロー情報テーブルの指定オーダーの工程“プルーフ確認/修正”の工程管理情報におけるプルーフ印刷確認済みフラグ、即ち指定オーダーの本印刷ジョブの開始時刻が経過している該当本印刷ジョブ(以下、ジョブA)のプルーフ印刷確認済みフラグに、ONが設定されていないと判定した場合、デバイススケジューラ604は、ワークフロー情報テーブルの工程“プルーフ確認/修正”の工程管理情報について、プルーフ印刷確認済みフラグがONになっているオーダーID(他の本印刷ジョブ)を検索する(S2311)。その検索結果より、デバイススケジューラ604は、プルーフ印刷確認済みフラグがONになっている他の本印刷ジョブで、該当本印刷ジョブ(ジョブA)と同じプリンタを使用する他の本印刷ジョブ(以下、ジョブB)が存在するか否か判定する(S2312)。存在する場合、デバイススケジューラ604は、そのジョブBのオーダーIDとプリンタ名で、ジョブBを認識する。
他の本印刷ジョブ(ジョブB)が存在しないと判定した場合、デバイススケジューラ604は、指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、オペレータへ指定オーダーの該当本印刷ジョブ(ジョブA)の自動実行を延期したこと電子メール等で通知する(S2313)。通知を受けたオペレータは自動実行を延期した該当本印刷ジョブに対して必要な処理を行う。例えば、オペレータは、自動実行を延期した該当本印刷ジョブを、本実施形態のスケジューリングとは別に独立したスケジュールで処理する、等である。
プルーフ印刷確認済みフラグがONになっている他の本印刷ジョブ(ジョブB)が存在していると判定した場合、デバイススケジューラ604は、ジョブBのオーダーIDとプリンタ名に対応する、スケジュール情報テーブルの他の本印刷ジョブ(ジョブB)の開始予定時刻を参照する。そして、デバイススケジューラ604は、その参照した他の本印刷ジョブ(ジョブB)がその開始予定時刻に至っていない場合、該当本印刷ジョブ(ジョブA)より先行して実行することが可能か否かを判定する(S2314)。
ここで、当初の予定より先行して実行することの可否は、上述したS2203のスケジュール見直しの必要性と同様な観点から判定される。具体的には、デバイススケジューラ604はスケジュール情報テーブルを参照し、他の本印刷ジョブ(ジョブB)を該当本印刷ジョブ(ジョブA)より先行して実行することにより、時間的な観点から該当本印刷ジョブ(ジョブA)が納品期日までに処理が完了しない事態、該当本印刷ジョブ(ジョブA)のプルーフ印刷が他の本印刷ジョブ(ジョブB)の印刷品位に影響する事態、及び連携性が非効率になる事態(該当本印刷ジョブ(ジョブA)のプルーフ印刷とそれに続く該当本印刷ジョブ(ジョブA)の時間間隔が多大、等)などを検出する。また、該当本印刷ジョブ(ジョブA)ので使用する用紙サイズ、用紙の種類と他の本印刷ジョブ(ジョブB)で使用する用紙サイズ、用紙の種類の関係なども考慮する。
開始時刻に至っていない他の本印刷ジョブ(ジョブB)を先行して実行することが可能でないと判定した場合、デバイススケジューラ604は上述したS2313の処理を行う。
開始時刻に至っていない他の本印刷ジョブ(ジョブB)を先行して実行することが可能であると判定した場合、デバイススケジューラ604は、他の本印刷ジョブ(ジョブB)のスケジュールに対して現在の時刻を開始予定時刻として再スケジュールする(S2315)。そしてデバイススケジューラ604は、他の本印刷ジョブ(ジョブB)の再スケジュールしたスケジュール結果を、スケジュール情報テーブルに登録する(S2316)。次いで、デバイススケジューラ604は、該当本印刷ジョブ(ジョブA)のスケジュールを再スケジュールした他の本印刷ジョブ(ジョブB)の直後に再スケジュールする(S2317)。そしてデバイススケジューラ604は、該当本印刷ジョブ(ジョブA)の再スケジュールしたスケジュール結果を、スケジュール情報テーブルに登録する(S2318)。
次いで、デバイススケジューラ604は、プリントコンポーネント606を起動し他の本印刷ジョブを自動実行する。
デバイススケジューラ604は、他の本印刷ジョブ(ジョブB)のオーダーIDとプリンタ名の情報を送信してプリントコンポーネント606を起動し、他の本印刷ジョブ(ジョブB)を実行する(S2319)。
デバイススケジューラ604は、他の本印刷ジョブ(ジョブB)のオーダーIDの指すオーダー情報テーブルのオペレータ情報を参照し、ジョブBのオペレータへ他の本印刷ジョブ(ジョブB)を先行して自動実行したことを電子メール等で通知し、及び指定オーダーのオーダー情報テーブルのオペレータ情報を参照し、ジョブAのオペレータへ該当本印刷ジョブ(ジョブA)の自動実行を延期し再スケジュールしたことを電子メール等で通知する(S2320)。通知を受けたジョブAのオペレータは自動実行を延期した該当本印刷ジョブ(ジョブA)に対して必要な処理を行うことについては、上述したS2313と同様である。
(第1の実施形態の効果)
以上説明したように本第1の実施形態によれば、印刷を指示する印刷情報に基づいて、当該指示された印刷を行う第1の印刷ジョブ(本印刷ジョブ)と該第1の印刷ジョブに先立つ確認用の印刷を行う第2の印刷ジョブ(プルーフ印刷ジョブ)とのスケジュールを制御する印刷スケジュール制御装置(印刷サーバ105)は、上記印刷情報と使用可能なプリンタの情報とに対応した、上記第1の印刷ジョブのスケジュールと上記第2の印刷ジョブのスケジュールとから成るデータセットであって、上記データセットを1つ以上登録するためのスケジュール情報記憶手段と、1つ以上のプリンタの情報を管理するプリンタ情報記憶手段と、印刷を指示する特定の印刷情報に基づく上記第1の印刷ジョブと上記第2の印刷ジョブの予約をする場合に、上記特定の印刷情報に対応したプリンタの情報を上記プリンタ情報記憶手段から検索するプリンタ検索手段と、上記スケジュール情報記憶手段に登録された上記プリンタ検索手段によって検索されたプリンタの情報に対応する上記データセットを参照し、該プリンタの空き時間であって上記特定の印刷情報に含まれる納期を守れる空き時間に、上記特定の印刷情報に基づく上記第1の印刷ジョブの第1の割り当てが可能な場合、当該第1の割り当てを行った上記第1の印刷ジョブのスケジュールから成るデータセットを、上記特定の印刷情報と上記プリンタ検索手段によって検索されたプリンタの情報とに対応させて上記スケジュール情報記憶手段に登録する第1の登録手段と、上記スケジュール情報記憶手段に登録された上記第1の割り当てを行った上記第1の印刷ジョブのスケジュールから成るデータセットを参照し、該データセットに対応するプリンタの空き時間であって上記第1の印刷ジョブのスケジュールに先立つ空き時間に、上記特定の印刷情報に基づく上記第2の印刷ジョブの割り当てが可能な場合、当該割り当てを行った上記第2印刷ジョブのスケジュールと上記第1の登録手段によって割り当てを行った上記第1の印刷ジョブのスケジュールとから成るデータセットを、上記特定の印刷情報と上記プリンタ検索手段によって検索されたプリンタの情報とに対応させて上記スケジュール情報記憶手段に登録する第2の登録手段と、上記第1の登録手段によって上記第1の割り当てが可能でない場合、又は上記第2の登録手段によって上記第2の割り当てが可能でない場合に、上記予約が不可能であること報知する予約不能報知手段とを備えたことを特徴とする。
これにより、印刷スケジュール制御装置は、印刷を指示する印刷情報に従い、納期に基づいて本印刷ジョブ、プルーフ印刷ジョブの両スケジュールを共に決定できる場合にそれらを登録し、プルーフ印刷ジョブのスケジュールを登録できない場合、本印刷ジョブ、プルーフ印刷ジョブの両スケジュールの登録を不可能として処理し、再度本印刷ジョブのスケジュールを変更する必要がない。
ここで、上記第1の登録手段は、上記特定の印刷情報と、上記プリンタ検索手段によって検索されたプリンタの情報とに基づいて、該プリンタによる上記特定の印刷情報に基づく上記第1の印刷ジョブの処理時間を計算する第1の時間計算手段(S2004〜S2008)と、上記スケジュール情報記憶手段に登録された上記プリンタ検索手段によって検索されたプリンタの情報に対応する上記データセットを参照し、該プリンタの空き時間であって上記特定の印刷情報に含まれる納期を守れる空き時間に、上記第1の時間計算手段によって計算した処理時間を対応させる第1の割り当てが可能か否かを判定する第1の判定手段(S2005〜S2009)と、上記第1の判定手段によって上記第1の割り当てが可能との判定がされた場合、上記第1の割り当てを行い、当該第1の割り当てを行った上記第1の印刷ジョブのスケジュールから成るデータセットを、上記特定の印刷情報と上記プリンタ検索手段によって検索されたプリンタの情報とに対応させて上記スケジュール情報記憶手段に登録する第1の印刷ジョブ登録手段(S2010)とを有し、上記第2の登録手段は、上記特定の印刷情報と、上記プリンタ検索手段によって検索されたプリンタの情報とに基づいて、該プリンタによる上記特定の印刷情報に基づく上記第2の印刷ジョブの処理時間を計算する第2の時間計算手段(S2012〜S2015)と、上記スケジュール情報記憶手段に登録された上記第1の割り当てを行った上記第1の印刷ジョブのスケジュールから成るデータセットを参照し、該データセットに対応するプリンタの空き時間であって上記第1の印刷ジョブのスケジュールに先立つ空き時間に、上記第2の時間計算手段によって計算した処理時間を対応させる第2の割り当てが可能か否かを、前記スケジュール情報記憶手段に登録された印刷を指示する他の印刷情報に対応する前記データセットに基づいて判定する第2の判定手段(S2016〜S2018)と、上記第2の判定手段によって上記第2の割り当てが可能との判定がされた場合、上記第2の割り当てを行い、当該第2の割り当てを行った上記第2の印刷ジョブのスケジュールと上記第1の割り当てを行った上記第1の印刷ジョブのスケジュールとから成るデータセットを、上記特定の印刷情報と上記プリンタ検索手段によって検索されたプリンタの情報とに対応させて上記スケジュール情報記憶手段に登録する第2の印刷ジョブ登録手段(S2019)とを有し、上記予約不能報知手段(S2020)は、上記第1の判定手段によって上記第1の割り当てが可能でないとの判定がされた場合、又は上記第2の判定手段によって上記第2の割り当てが可能でないとの判定がされた場合に、上記予約が不可能であること報知することを特徴とすることができる。
これにより、印刷を指示する印刷情報に従った本印刷ジョブとプルーフ印刷ジョブのスケジュールは、他の印刷情報に従った本印刷ジョブとプルーフ印刷ジョブのスケジュールと出力先のプリンタの状況に基づいて決定される。
また、上記第2の時間計算手段は、上記特定の印刷情報と、上記プリンタ検索手段によって検索されたプリンタの情報とに基づいて、該プリンタによる上記特定の印刷情報に基づく上記第2の印刷ジョブの処理時間を計算する処理時間計算手段(S2012)と、上記処理時間計算手段によって計算した上記処理時間に、上記特定の印刷情報に基づく上記第2の印刷ジョブの結果を確認するための時間を加算する加算手段(S2013)とを有することを特徴とするとすることができる。
これにより、印刷スケジュール制御装置は、プルーフ印刷後のその確認の期限もスケジュールする。
また、上記スケジュール情報記憶手段に登録された上記特定の印刷情報に基づく上記第2の印刷ジョブのスケジュールに従い当該第2の印刷ジョブが終了した場合に、当該第2の印刷ジョブの終了後の一定期間が経過したか否かを判定する経過判定手段(S2110)と、上記特定の印刷情報に基づく上記第2の印刷ジョブの結果の確認を受け付ける確認受付手段(S2112)と、上記確認受付手段によって上記確認が受け付けられておらず、かつ上記経過判定手段によって上記一定期間が経過したと判定された場合、上記確認を促すための報知をする確認依頼報知手段(S2111)とをさらに備えたことを特徴とすることができる。
これにより、印刷スケジュール制御装置は、プルーフ印刷後の確認が取れない場合に、その印刷を指示する印刷情報に対応した担当のオペレータにその旨を報告する。
また、上記スケジュール情報記憶手段に登録された上記特定の印刷情報に基づく上記第1の印刷ジョブのスケジュールに従い当該第1の印刷ジョブを実行する場合に、上記特定の印刷情報に基づく上記第2の印刷ジョブの結果が確認されているか否かを判定する確認判定手段(S2307)と、上記確認判定手段によって確認されていないと判定された場合、上記第2の印刷ジョブの結果が確認されている印刷を指示する他の印刷情報を検索し、当該検索した他の印刷情報に基づく上記第1の印刷ジョブを上記特定の印刷情報に基づく上記第1の印刷ジョブより先行して実行する先行実行手段(S2312〜S2319)とをさらに備えたことを特徴とすることができる。
これにより、印刷スケジュール制御装置は、プルーフ印刷結果に応じて、そのプルーフ印刷を指示する印刷情報に対する本印刷ジョブと、他の印刷情報に対する本印刷ジョブとを自動スケジュールする。
以上の構成により、本実施形態によれば、プルーフ印刷の自動スケジュール(印刷の開始、終了時間)にオペレータの確認工程を考慮して決定しているため確実に確認、変更作業が行え、印刷品位を向上させる効果がある。そして、自動本印刷ジョブのスケジュールを変更する必要がないため、作業効率が向上する効果もある。また、他の自動本印刷ジョブへ印刷品位の影響を与えずに、プルーフ印刷を行うことができる効果がある。さらに、他の印刷ジョブとの関連(手順、工程等の連続性、同時性)を考慮しているため、プルーフ印刷の確認作業を効率的に行える効果がある。
また本実施形態によれば、プルーフ印刷の確認結果と自動本印刷の実行判断が確実に関係付けられるため、自動本印刷の品質が向上する効果がある。また、自動印刷ジョブのスケジュールが早期に決定するため、ワークフローにおける印刷工程以降のスケジュールを立てやすく作業効率が向上する効果がある。また、オーダー条件、スケジュールされた印刷ジョブ及び実行されている印刷ジョブの状況、資源の状況が変化した場合、プルーフ印刷及び本印刷ジョブを自動的に再スケジュールするため作業効率が向上する効果がある。さらに、再スケジュール時に開始時期を遅らせる方向だけではなく、確認作業が完了している自動本印刷ジョブを前倒しで実行することが可能になり、作業効率が向上する効果がある。そして、プリンタの設定は変更せずにスケジュールを遅延させている。このため、再度プリンタに依存する設定処理を行う必要なく、プルーフ印刷確認ができ次第、自動印刷処理を実行できるため効率的である。
[第2の実施の形態]
次に、本発明に適応できる第2の実施形態を詳細に説明する。本第2の実施形態のシステム構成は、第1の実施形態と同様である。
図30、図31は、セキュアジョブにおけるプルーフ印刷の履歴管理によりセキュリティを向上させる第2の実施形態の印刷ステムの処理を示す図である。なお、以下の説明における印刷システム全体の環境は本実施形態の説明を理解し易くするためのものであり、本発明はこれらの環境に限定されるものではない。図30及び図31は、図6で前述した印刷サーバ105を簡略化して説明するための図であり、記載を省略した各構成を備えているものとする。
始めにプルーフ印刷の履歴情報を作成する処理に関して説明する。
図21のステップ2105において、該当するプルーフ印刷ジョブを実行するが、その際に図30に示すような処理を行う。図30の印刷サーバにおける具体的な制御フローを図28を用いて説明する。
印刷制御モジュールであるプリントコンポーネント606は、オーダー情報テーブルに登録されているセキュリティに関連する情報をオーダーマネージャ601から取得する(S2801)。この場合、オーダーID、ジョブセキュリティ、品質等の項目である。
プリントコンポーネント606は、取得したセキュリティに関連する情報からジョブに“セキュリティ=高”もしくは“セキュリティ設定あり”が設定されているか否か判断する(S2802)。ジョブに“セキュリティ=高”が設定されていないと判断した場合、プリントコンポーネント606は、図21で前述した処理と同様に、プルーフ印刷の印刷データを生成し(S2803)、プルーフ印刷の印刷データをデバイスへ送信し印刷を実行する(S2812)。
ジョブに“セキュリティ=高”が設定されていると判断した場合、プリントコンポーネント606は、オーダー情報テーブルから取得したセキュリティに関連する情報を図27に示すような形態でプルーフ印刷情報テーブルへ保存する(S2804)。図27は、プルーフ印刷情報テーブルの一例を示したものであり、オーダーID、ジョブセキュリティ属性、印刷品質、プルーフ番号、プルーフ印刷日時、印刷単位、プルーフID(プルーフ識別情報)、プルーフIDの有効期限が格納されている。
プリントコンポーネント606は、図27に示されるように、固有な情報となるプルーフIDを生成しプルーフ印刷情報テーブルに保存する(S2805)。この場合、1回目のプルーフ印刷であるため、図27におけるプルーフ情報のプルーフNo.001のプルーフID=041116−0123が保存される。
プリントコンポーネント606は、図27に示されるプルーフ印刷に関係するその他の情報、例えば、プルーフ印刷日時、印刷単位(部数、指定ページ等)をプルーフ印刷情報テーブル(HD205に確保されている)に保存する(S2806)。
次に、プリントコンポーネント606は、取得したセキュリティに関連する情報からジョブの品質情報を取得する(S2807)。プリントコンポーネント606は、ジョブに“品質=高”が設定されているか否か判断する(S2808)。ジョブに“品質=高”が設定されていないと判断した場合、プリントコンポーネント606は、ステップ2810に移行する。ジョブに“品質=高”が設定されていると判断した場合、プリントコンポーネント606は、プルーフIDの有効期限を決定しプルーフ印刷情報テーブルに保存する(S2809)。プルーフIDの有効期限はサーバに保存されている各デバイスに規程されている情報を参照し決定する。
次に、プリントコンポーネント606は、プルーフ印刷の印刷データを生成する(S2810)。プリントコンポーネント606は、プルーフ印刷の印刷データにプルーフIDの印刷データを追加する(S2811)。
そして、プリントコンポーネント606は、プルーフ印刷の印刷データをデバイスへ送信し印刷を実行する(S2812)。
この場合、図30に示すようにプリントコンポーネント606により“PID=041116−0123”の印刷データが自動的に付加され、表紙の部分にオペレータが認識、参照する情報として印刷される。尚、プルーフIDの印刷形態(大きさ、色、ページ中の位置等、全ページ/任意のページ等)は事前に印刷システムにおいて設定することが可能である。
以降、オペレータがプルーフ印刷を行うたびにステップ2801からステップ2812の処理により、サーバにプルーフ印刷の履歴情報が自動的に保存され、プルーフ印刷物にはプルーフIDが自動的に印刷されることとなる。
次に、本印刷時におけるプルーフ印刷の履歴情報を利用する処理に関して説明する。
図23のステップ2308及びステップ2319において、本印刷ジョブを実行する前に、図31に示すような処理を行う。具体的には図29に示すようなフローとなる。
プリントコンポーネント606は、オーダー情報テーブルに登録されているオーダーIDをオーダーマネージャ601から取得する(S2901)。プリントコンポーネント606は、プルーフ印刷情報テーブルからプルーフIDを参照する(S2902)。
プリントコンポーネント606は、オーダーID及びプルーフIDが存在するか否か判断する(S2903)。オーダーID及びプルーフIDが存在すると判断した場合、プルーフ印刷情報テーブルからプルーフ情報を取得し図32に示すようなプルーフID入力ダイアログを表示する(S2904)。この場合、プルーフID入力ダイアログには、該当ジョブに対して実行したプルーフ印刷の全ての履歴情報(プルーフ番号(単に履歴管理のためだけの番号である)、プルーフ印刷日時、単位、プルーフID有効期限等)が表示される。
次に、プリントコンポーネント606は、オペレータが全てのプルーフIDを入力したか否かを判断する(S2905)。入力方法は、オペレータが印刷サーバ105においてキーボード206を用いて入力するか、または、本オーダーを印刷処理すべきプリンタ(111または112)の操作部を介して入力し、プリンタが入力されたプルーフIDを印刷サーバ105に送信することで、印刷サーバ105に入力されてもよい。全てのプルーフIDを入力していないと判断した場合、プリントコンポーネント606は、キャンセルボタンが選択されたか否か判断する(S2906)。プリントコンポーネント606は、キャンセルボタンが選択されたと判断した場合、処理を終了する。プリントコンポーネント606は、キャンセルボタンが選択されていないと判断した場合、ステップ2905に戻る。
ステップ2905において、オペレータが全てのプルーフIDを入力したと判断した場合、プリントコンポーネント606は、OKボタンが選択されたか否か判断する(S2907)。OKボタンが選択されていないと判断した場合、プリントコンポーネント606は、ステップ2906に移行する。OKボタンが選択されたと判断した場合、プリントコンポーネント606は、プルーフ印刷情報テーブルを参照し全てのプルーフIDが正しいか解析する(S2908)。
プリントコンポーネント606は、全てのプルーフIDが正しいか否か判断する(S2909)。全てのプルーフIDが正しくないと判断した場合、プリントコンポーネント606は、入力されたプルーフIDが正しくないこと、再入力することをオペレータへ表示し(S2910)、ステップ2905へ移行する。
ステップ2909において、全てのプルーフIDが正しいと判断した場合、プリントコンポーネント606は、ジョブに“品質=高”が設定されているか否かを判断する(S2911)。ジョブに“品質=高”が設定されていると判断した場合、プリントコンポーネント606は、全てのプルーフIDが有効期限内か否かを判断する(S2912)。全てのプルーフIDが有効期限内でないと判断した場合、プリントコンポーネント606は、プルーフ印刷の有効期限が切れていることをオペレータに表示し処理を終了する。
ステップ2911において、ジョブに“品質=高”が設定されていていないと判断した場合、及びステップ2912において、全てのプルーフIDが有効期限内であると判断した場合、プリントコンポーネント606は、図33に示すような警告ダイアログに「プルーフ印刷の出力物を正常に廃棄すること」をオペレータに表示する(S2914)。
プリントコンポーネント606は、本印刷の印刷データを生成し(S2915)、本印刷の印刷データをデバイスへ送信する(S2916)。
(第2の実施形態の効果)
以上説明したように第2の実施形態によれば、セキュアジョブのプルーフ印刷が実行された場合に、プルーフ印刷履歴情報を自動的に保存し、自動的にプルーフ印刷の出力物へプルーフIDを印刷する。そして、本印刷はプルーフ印刷の出力物のIDを確認(管理)し、破棄警告後に実行可能とする手段を備えたことを特徴とする。
ステップ2904からステップ2910の手段を設けることにより、オペレータが全てのプルーフ印刷物のプルーフIDを把握していなければプルーフIDを入力することはできず、本印刷の実効処理を進めることが不可能となる。つまり、プルーフ印刷物の管理が不十分な状況での本印刷実効を禁止する効果がある。また、オペレータにプルーフ印刷物の厳密な管理の意識を持たせる効果がある。
また、ステップ2911からステップ2912の手段を設けることにより、カラー印刷において色味が変化しては困るジョブや高い品質が求められるジョブに関して、プルーフ印刷の有効期限が切れている状況で、本印刷の実効処理を禁止する効果がある。つまり、必ず再度プルーフ印刷を実行し品位を確認してから、本印刷の実効することとなる。これによりセキュリティの高い印刷物を大量に印刷した後に品位に問題があったため、全て廃棄にする、といったことを回避する効果もある。
また、以前の出力と同様な設定(印刷ページ、印刷体裁等)によるプルーフ印刷の際に警告することにより、不要な出力の軽減(抑止)を図る効果もある。
また、本印刷を実行した後、プルーフ印刷を禁止することにより、不要な出力の軽減(抑止)を図る効果もある。
[他の実施形態]
本発明の上述した実施形態は、その変形例として、上記形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体(又は記録媒体)を、システム又は装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU(micro processing・unit))が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が上記実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部又は全部を行い、その処理によって上記実施形態の機能が実現される場合も、本発明の構成に含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わる記憶媒体に書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も、本発明の構成に含まれることは言うまでもない。
また、本発明は、上記実施形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW(CD-ReWritable)、CD−R(CD・recordable)等の記憶媒体に格納され、そのシステム又は装置のコンピュータ(又はCPUやMPU)がそれら記憶手段や記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されることは云うまでもない。