以下、図面を参照して、本発明の実施形態について説明する。本実施形態においては、オフセットプリンタ及びデジタルプリンタが混在するシステムにおいて、両方のプリンタを同一のサーバを介して制御可能な画像処理システムについて説明する。このようなシステムは、HWF(Hybrid Work Flow)システムと呼ばれる。
図1は、本実施形態に係るHWFシステムの運用形態を示す図である。図1に示すように、本実施形態に係るシステムは、デジタルプリンタ1、オフセットプリンタ2、後処理装置3、HWFサーバ4a、4b(以降、総じて「HWFサーバ4」とする)、クライアント端末5a、5b(以降、総じて「クライアント端末5」とする)がネットワークを介して接続されて構成されている。
デジタルプリンタ1は、電子写真方式やインクジェット方式等、版を用いずに画像形成出力を行うプリンタであり、DFE100及びデジタルエンジン150を含む。DFE100は、デジタルエンジン150に印刷出力を実行させるための制御部である画像形成出力制御装置として機能する。また、デジタルエンジン150が画像形成装置として機能する。そのため、DFE100は、デジタルエンジン150が印刷出力を実行する際に参照する画像データであるラスターデータを生成するためのRIP(Raster Image Processor)エンジンを含む。ラスターデータが描画情報である。
オフセットプリンタ2は、版を用いて画像形成出力を行うプリンタであり、CTP(Computer To Plate)200及びオフセットエンジン250を含む。CTP200は、ラスターデータに基づいて版を生成する装置である。CTP200によって版が生成されることにより、オフセットエンジン250によるオフセット印刷が可能となる。
後処理装置3は、デジタルプリンタ1、オフセットプリンタ2によって印刷出力された用紙に対してパンチ、ステープル、製本等の後処理を行う装置である。HWFサーバ4は、印刷出力する対象の画像データを含むジョブデータの入稿(入力)から、印刷出力、後処理まですべてを管理するHWFソフトウェアがインストールされたサーバである。HWFサーバ4は、JDF(Job Definition Format)と呼ばれる情報形式で生成された情報(以降、「JDF情報」とする)により、上述した様々な処理を管理する。即ち、HWFサーバ4が画像形成出力を実行するための画像形成実行情報(ジョブデータ)を出力する実行情報出力装置として機能する。
HWFサーバ4は、オフセットプリンタ2を用いてオフセット印刷により印刷出力を行う場合、内部に搭載されたRIPエンジンによりラスターデータを生成し、そのラスターデータをCTP200に送信する。そのため、HWFサーバ4にはRIPエンジンが搭載されている。
他方、デジタルプリンタ1により印刷出力を行う場合、DFE100にデータを送信する。DFE100には上述した通りRIPエンジンが搭載されているため、HWFサーバ4はRIP処理前の印刷データをDFE100に送信することにより、デジタルプリンタ1に印刷出力を実行させることが可能である。
ここで、同一の印刷データに基づく印刷出力がデジタルプリンタ1、オフセットプリンタ2の夫々において実行される場合がある。そのような場合において、両者の印刷出力の結果が異なると、出力物を受け取るユーザに違和感を与えることとなる。そのため、デジタルプリンタ1、オフセットプリンタ2の夫々における印刷出力の結果は同一であることが好ましい。
異なるデバイスによる印刷出力の際は、主にRIP処理によって生じる。そのため、デジタルプリンタ1とオフセットプリンタ2とで処理が共通化されたRIPエンジンを用いることにより、両者の出力結果の差異を最低限とすることが可能である。
即ち、本実施形態においてHWFサーバ4に搭載されるRIPエンジンは、デジタルプリンタ1及びオフセットプリンタ2の両方に対応し、共通化可能な処理が共通化されたRIPエンジンである。また、DFE100には、HWFサーバ4に搭載されたRIPエンジンと共通のRIPエンジンが搭載される。
このような構成により、HWFサーバ4及びDFE100には共通のRIPエンジンが搭載されることとなる。そのため、デジタルプリンタ1により印刷出力を実行する場合、HWFサーバ4によるRIP処理とDFE100によるRIP処理とを組み合わせることが可能となる。
クライアント端末5は、システムを使用するオペレータがHWFサーバ4を操作するための情報処理端末であり、一般的なPC(Personal Computer)等によって実現される。オペレータは、クライアント端末5を操作してHWFサーバ4を操作するためのGUI(Graphical User Interface)を表示し、データの入力や上述したJDF情報の設定などを行う。
次に、本実施形態に係るDFE100、HWFサーバ4及びクライアント端末5等の情報処理装置のハードウェア構成について図2を参照して説明する。図2に示すように、本実施形態に係る情報処理装置は、一般的なサーバやPC(Personal Computer)等と同様の構成を含む。即ち、本実施形態に係る情報処理装置は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60及び操作部70が接続されている。
CPU10は演算手段であり、情報処理装置全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。
I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザが情報処理装置の状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウス等、ユーザが情報処理装置に情報を入力するためのユーザインタフェースである。尚、HWFサーバ4はサーバとして運用されるため、LCD60や操作部70等のユーザインタフェースは省略可能である。
このようなハードウェア構成において、ROM30に格納されたプログラムや、HDD40若しくは図示しない光学ディスク等の記憶媒体からRAM20にロードされたプログラムに従ってCPU10が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るDFE100、HWFサーバ4及びクライアント端末5の機能を実現する機能ブロックが構成される。
次に、上述したJDF情報について説明する。図3は、JDF情報の例を示す図である。図3に示すように、JDF情報は、ジョブの実行に関する“ジョブ情報”、ラスターデータに関する“エディット情報”、後処理に関する“フィニッシング情報”を含む。また、“RIPステータス”、“RIPデバイス指定”及び“デバイス指定”の情報を含む。
“ジョブ情報”は、図3に示すように、“部数”、“ページ数”、“RIP制御モード”といった情報を含む。“部数”は、出力対象の印刷物の部数を指定する情報である。“ページ数”は、印刷物のページ数を指定する情報である。“RIP制御モード”は、RIP処理の制御モードを示し、「ページモード」、「シートモード」等が指定される。
“エディット情報”は、“向き情報”、“印刷面情報”、“回転”、“拡大/縮小”、“イメージ位置”、“レイアウト情報”、“マージン情報”、“クロップ・マーク情報”を含む。“向き情報”は、「縦」、「横」等の印刷の向きを指定する情報である。“印刷面情報”は、「両面」、「片面」等の印刷面を指定する情報である。
“回転”は、出力対象の画像の回転角度を指定する情報である。“拡大/縮小”は、出力対象の画像の変倍率を指定する情報である。“イメージ位置”の“オフセット”は、出力対象の画像のオフセットを指定する情報である。“位置調整情報”は、出力対象の画像の位置調整の値を指定する情報である。
“レイアウト情報”の“カスタム・インポジション配置”は、カスタム面の配置を指定する情報である。“ページ数”は、用紙1枚のページ数を指定する情報であり、例えば1枚の用紙に2ページを集約する場合には「2in1」等と指定される。“ページ順序情報”は、印刷されるページの順序に関する情報を指定する情報である。“クリープ位置調整”は、クリープ位置の調整に関する値を指定する情報である。
“マージン情報”は、フィット・ボックスやガターなどのマージンに関する値を指定する情報である。“クロップ・マーク情報”の“センター・クロップ・マーク情報”は、センター・クロップ・マークに関する値を指定する情報である。“コーナー・クロップ・マーク情報”は、コーナー・クロップ・マークに関する値を指定する情報である。
“フィニッシング情報”は、“Collate情報”、“ステープル/バインド情報”、“パンチ情報”、“折り情報”、“トリム”、“出力トレイ情報”、“入力トレイ情報”、“カバー・シート情報”を含む。“Collate情報”は、文書が複数部数印刷される場合にページ単位で印刷するか文書単位で印刷するかを指定する情報である。
“ステープル/バインド情報”は、ステープル/バインドに関する処理を指定する情報である。“パンチ情報”は、パンチに関する処理を指定する情報である。“折り情報”は、折りに関する処理を指定する情報である。“トリム”は、トリムに関する処理を指定する情報である。
“出力トレイ情報”は、出力トレイを指定する情報である。“入力トレイ”は、入力トレイを指定する情報である。“カバー・シート情報”は、カバー・シートに関する処理を指定する情報である。
“RIPステータス”は、RIP処理に含まれる各処理であるRIP内部処理の夫々が実行済みであるか否かを示す実行状態情報である。図3においては、RIP内部処理の項目として“プリフライト”、“ノーマライズ”、“フォント”、“レイアウト”、“マーク”、“CMM”、“Trapping”、“Calibration”、“Screening”といった処理項目が記述されている。そして、夫々の項目についての処理状態のステータスが記述される。図3においては、未処理であることを示す「NotYet」が設定されており、夫々の処理が実行されると「Done」に更新される。
“RIPデバイス指定”は、夫々のRIP内部処理について、HWFサーバ4側において実行するか、DFE100側において実行するかを指定する情報である。“RIPステータス”と同様のRIP内部処理の夫々の項目について、「HWFサーバ」と「DFE」とのいずれかが設定される。また、「DFE」が設定される場合、「DFE(エンジンA)」のように、DFE100に搭載されている複数のRIPエンジンのいずれかを指定する情報が含まれる。
“デバイス指定”は、印刷ジョブを実行するデバイスを指定する情報であり、図3の例においては、「デジタルプリンタ」が指定されている。すなわち、JDF情報は、画像形成出力を実行するための処理内容を設定する情報を含む処理設定情報である。尚、JDF情報は図3に示す情報の他にも様々な情報を含む。それらの情報については以降の説明において詳述する。
図3に示すJDF情報は、オペレータがクライアント端末5を介してHWFサーバ4のGUIを表示させ、GUIにおいて各種の項目を設定することにより生成される。そして、HWFサーバ4やDFE100に搭載されるRIPエンジンは、このようなJDF情報に基づいてRIP処理を行う。また、後処理装置3は、このようなJDF情報に基づいて後処理を実行する。
次に、本実施形態に係るHWFサーバ4の機能構成について図4を参照して説明する。図4に示すように、HWFサーバ4は、HWFコントローラ400及びネットワークI/F401を含む。ネットワークI/F401は、HWFサーバ4がネットワークを介して他の機器と情報をやり取りするためのインタフェースである。
HWFコントローラ400は、印刷対象のデータの取得、印刷ジョブの作成、ワークフローの管理、デジタルプリンタ1及びオフセットプリンタ2へのジョブの振り分け等を管理する。印刷対象のジョブデータがHWFサーバ4に入力され、HWFコントローラ400によって取得される処理が、本システムにおける入稿処理である。HWFコントローラ400は、専用のソフトウェアが情報処理装置にインストールされることによって構成される。このソフトウェアがHWFソフトウェアである。
HWFコントローラ400において、システム制御部410は、HWFコントローラ400全体の制御を行う。そのため、システム制御部410は、上述したHWFコントローラ400の各機能の実現に際して、HWFコントローラ400各部に命令を与えて処理を実行させる。データ受信部411は、他のシステムからの印刷物のジョブデータの受信、もしくはオペレータの操作によって入稿されるジョブデータの受信を行う。
UI(User Interface)制御部412は、クライアント端末5を介したオペレータによる操作を制御する。クライアント端末5にはHWFサーバ4を操作するためのGUIが表示され、UI制御部412は、クライアント端末5において表示されたGUIに対する操作の情報を、ネットワークを介して取得する。
UI制御部412は、このようにしてネットワークを介して取得した操作の情報をシステム制御部410に通知する。クライアント端末5におけるGUIの表示は、クライアント端末5に予めインストールされたソフトウェアや、UI制御部412からネットワークを介してクライアント端末5に提供される情報によって実現される。
オペレータは、クライアント端末5に表示されたGUIを操作することにより入稿対象のジョブデータを選択する。これにより、クライアント端末5がHWFサーバ4に対してジョブデータを送信し、データ受信部411がジョブデータを取得する。システム制御部410は、データ受信部411が取得したジョブデータをジョブデータ格納部414に登録する。
クライアント端末5からHWFサーバ4へのジョブデータの送信に際しては、クライアント端末5において選択された文書データや画像データに基づき、クライアント端末5においてジョブデータが生成された上でHWFサーバ4に送信される。ジョブデータは、例えばPDF(Portable Document Format)やPostScript等のPDL(Page Description Language)形式のデータである。
この他、クライアント端末5からHWFサーバ4に対してアプリケーション専用のデータ形式や一般的な画像データの形式のまま印刷対象のデータが送信されても良い。その場合、システム制御部410は、取得したデータに基づいてジョブ制御部413にジョブデータを生成させる。ジョブ制御部413は、RIPエンジン420の機能により印刷対象のデータに基づいてジョブデータを生成させる。
尚、ジョブデータ格納部414に登録された印刷対象のデータは上述したようにPDL情報であるが、このPDL情報は、印刷対象のデータに基づいて生成された一次的なデータの他、途中まで処理が実行された中間データの場合もあり得る。これらの情報が、出力対象画像情報として用いられる。中間データがジョブデータ格納部414に格納される場合としては、HWFサーバ4において既に処理が開始された処理途中の状態の他、中間データの状態でHWFサーバ4にジョブデータが登録される場合等があり得る。以降、“PDL情報”とする場合には、RIP処理が行われていない一次的なデータを示し、“中間データ”とする場合には途中までRIP処理が実行された処理途中の状態のデータを示す。
また、上述したように、図3において説明したJDFの情報はクライアント端末5に表示されるGUIに対するオペレータの操作により設定されて生成される。そのようにして生成されたJDF情報はジョブデータとしてPDL情報と共にデータ受信部411によって受信される。システム制御部410は、そのようにして取得されたJDF情報とPDL情報とを関連付けてジョブデータ格納部414に登録する。
尚、本実施形態においてはジョブの内容を示す属性情報としてJDF情報を用いる場合を例として説明した。しかしながらこれは一例であり、他の形式、例えばPPF(Print Production Format)情報を用いても良い。
また、システム制御部410は、クライアント端末5に表示されたGUIに対するオペレータの操作に基づき、受信したジョブデータを、ページ単位等の印刷部位毎に分割することが出来る。そのようにして分割した夫々のジョブデータは、分割された個別のジョブデータとしてジョブデータ格納部414に登録される。
また、分割が指定された夫々のジョブについて、クライアント端末5に表示されたGUIに対するオペレータの操作により出力先のデバイスが選択されると、その選択結果がジョブデータと関連付けてジョブデータ格納部414に保存される。出力先の選択態様としては、例えば表紙部分はデジタルプリンタ1、本文はオフセットプリンタ2といった選択態様があり得る。
デバイス情報管理部416は、デジタルプリンタ1、オフセットプリンタ2、後処理装置3等、システムに含まれる他のデバイスの情報を取得してデバイス情報格納部417に記憶させることにより管理する。他のデバイスの情報としては、デバイスがネットワークに接続された際に割り当てられるネットワークのアドレスや、デバイスの機能の情報である。デバイスの機能の情報とは、例えば印刷速度、使用可能な後処理機能、動作状態等である。
デバイス情報通信部415は、ネットワークI/F401を介して、システムに含まれる他のデバイスの情報を定期的に取得する。これにより、デバイス情報管理部416は、デバイス情報格納部417に格納されている他のデバイスの情報を定期式に更新するため、他のデバイスの情報が動的に変化したとしてもデバイス情報格納部417に格納された情報が正確に保たれる。
ワークフロー制御部418は、ジョブデータ格納部414に登録されたジョブデータをシステム上で処理する際の各処理の実行順を決定し、その情報をワークフロー情報格納部419に記憶させる。ワークフローに定められた各処理は予めその実行順序が決めらており、順序性を保つため、前の処理が完了すると次の処理に進むように制御される。
即ち、ワークフロー情報格納部419に格納されているのは、HWFシステムにおいて実行可能な夫々の処理が指定された順番通りに組み合わせられたワークフロー情報である。図5は、ワークフロー情報の例を示す図である。これに対して、夫々の処理が実行される際のパラメータは上述した通りJDF情報において指定される。ワークフロー情報格納部419には、クライアント端末5に表示されたGUIに対するオペレータの操作に基づいて設定されたワークフロー情報が予め登録されている。
HWFサーバ4に登録されたジョブデータに対する実行指示は、クライアント端末5に表示されたGUIに対するオペレータの操作に基づきUI制御部412を介してシステム制御部410に通知される。これにより、システム制御部410は、上述した出力先デバイスの選択を行う。
上述したように、クライアント端末5に表示されたGUI上で出力先デバイスを選択する態様の場合、システム制御部410は指定の内容に従って出力先デバイスを選択する。この他、ジョブの内容とデバイスの特性との比較に基づいて自動的に選択する態様も可能である。
ジョブの内容とデバイスの特性との比較に基づいて出力先デバイスを自動的に選択する場合、システム制御部410は、利用可能なデバイスの情報をデバイス情報管理部416から取得する。このようにして出力先デバイスを決定すると、システム制御部410は、決定した出力先デバイスを示す情報をJDF情報に付与する。
出力先デバイスを決定した後、システム制御部410はワークフロー制御部418に対してジョブの実行指示を行う。この際、オペレータの操作に基づいてワークフロー情報格納部419に予め登録されているワークフロー情報を用いても良いし、オペレータの操作に従って設定された内容に基づいて新たなワークフロー情報が生成されても良い。
ワークフロー制御部418は、システム制御部410から実行指示を受け付けると、指定されたワークフロー情報若しくは新たに生成したワークフロー情報に従い、指定された実行順に従ってジョブ制御部413に各処理の実行指示を行う。即ち、ワークフロー制御部418が処理実行制御部として機能する。
実行指示を受けたジョブ制御部413は、上述したPDL情報及びJDF情報をRIPエンジン420に入力してRIP処理を実行させる。JDF情報には、RIPエンジンによって行われる複数のRIP内部処理夫々について、HWFサーバ4、DFE100のいずれにおいて実行するかを示す情報が含まれる。
ジョブ制御部413は、JDF情報に含まれる情報のうち、RIP処理の振り分けの情報を参照し、ワークフロー制御部418から指示された処理がHWFサーバ4において実行するべき処理であれば、RIPエンジン420に対して指定された処理を実行させる。RIPエンジン420は、ジョブ制御部413からの指示に従い、JDF情報において指定されたパラメータに基づいてRIP処理を実行する。
このようにしてRIP処理を実行したRIPエンジン420は、処理を実行したRIP処理のRIPステータスを更新する。これにより、複数のRIP内部処理のうちHWFサーバ4において実行されたRIP内部処理については、ステータスが「Done」に変更される。RIPエンジン420が、制御側描画情報生成部として機能する。
RIP処理が実行されることによって生成されるRIP実行結果データは、PDL情報、中間データ、ラスターデータのいずれかである。これらはRIP内部処理の内容に異なるが、処理が進むことによって当初PDL情報であったデータに基づいて中間データが生成され、最終的にラスターデータが生成される。RIP実行結果データは、実行中のジョブに関連付けられてジョブデータ格納部414に格納される。
1つのRIP内部処理が完了すると、RIPエンジン420がジョブ制御部413に完了を通知し、ジョブ制御部413がワークフロー制御部418に通知する。これにより、ワークフロー制御部418が、ワークフロー情報に従って次の処理の制御を開始する。
ジョブ制御部413は、ワークフロー制御部418から受け取ったジョブの内容が、他システムに対する要求である場合、ジョブ送受信部421に対して、他システムに応じた形でジョブデータを入力し、ジョブデータを送信させる。オフセットプリンタ2へのジョブデータの送信の場合、印刷対象のデータはラスターデータに変換された上でジョブデータとして送信される。
他方、デジタルプリンタ1へのジョブデータの送信の場合、ジョブ制御部413は、DFE100に含まれる複数のRIPエンジンのうち、RIPエンジン420に対応した同一のRIPエンジンを指定してジョブ送受信部421にジョブデータを入力する。これにより、ジョブ送受信部421は、RIPエンジン420に対応した同一のRIPエンジンを指定してDFE100にジョブデータを送信する。
ジョブ送受信部421は、PDL情報または中間データと、JDF情報とをパッケージしたジョブデータをDFE100に送信する。尚、ジョブデータの送信態様として、PDL情報または中間データを外部リソースデータとし、JDF情報内にPDL情報または中間データの格納先を示すURLを記述する態様でも良い。この場合、JDF情報を受信した側でURLにアクセスし、PDL情報または中間データを取得する。
また、本実施形態に係るジョブデータには、画像形成出力の対象となる用紙等の記録媒体の各種の属性の組み合わせを示す属性組合せ情報(以降、「カタログ情報」とする)を識別するための識別情報が指定される。カタログ情報格納部422は、識別情報とカタログ情報とを関連付けて格納する記憶媒体である。なお、記録媒体としては、上述した用紙の他、フィルム、プラスチック等のシート状の材料で、画像形成出力の対象物となるものであれば採用可能であるが、本実施形態においては、用紙を記録媒体の例として説明する。
カタログ情報管理部423は、カタログ情報格納部422に格納されているカタログ情報を管理する。カタログ情報送信部424は、カタログ情報管理部423による処理に応じて、DFE100にカタログ情報を送信する。カタログ情報格納部422、カタログ情報管理部423及びカタログ情報送信部424の詳細は後述する。
次に、本実施形態に係るDFE100の機能構成について図6を参照して説明する。DFE100は、HWFサーバ4からジョブデータを受信し、受信したジョブの制御、RIP処理の実行制御及びデジタルエンジン150の制御を行う。HWFサーバ4は、DFE100にジョブデータを送信することにより、デジタルエンジン150による印刷出力を実行させる。即ち、DFE100は、HWFサーバ4に対してデジタルプリント機能を提供するためのサーバとして機能する。
DFE100が提供するジョブの制御機能とは、ジョブデータの受け付け、JDF情報の解析、ラスターデータの作成及びデジタルエンジン150による印刷出力等の一連の動作の制御機能である。RIP処理の実行制御とは、JDF情報の解析によって生成された情報に基づいてRIPエンジンにRIP処理を実行させる制御である。
JDF情報の解析によって生成される情報とは、図3において説明したJDF情報のうち、RIP処理に用いられる情報が抽出され、DFE100において解読可能な形式に変換された情報であり、“DFE内ジョブ属性”と呼ばれる。このDFE内ジョブ属性を参照してRIP処理が実行されることにより、中間データ、ラスターデータが作成される。
デジタルエンジン150の制御機能とは、デジタルエンジン150にラスターデータ及び上述したDFE内ジョブ属性の一部を送信して印刷出力を実行させる機能である。これらの機能は、図6に示す各ブロックによって実現される。図6に示す各ブロックは、図2において説明したように、RAM20にロードされたプログラムやROM30に格納されたプログラムに従ってCPU10が演算処理を行い、他のハードウェアを動作させることにより実現される。
DFE100は、内部に複数のRIPエンジンを搭載している。これは、HWFシステムにおいてDFE100にジョブを送信する可能性のある他のデバイスのRIPエンジンに夫々対応して搭載されたものである。本実施形態においては、複数のHWFサーバ4a、4bに夫々異なるRIPエンジンが含まれているため、DFE100には夫々のRIPエンジンに対応して複数のRIPエンジンが搭載されている。
ジョブ受信部111は、内部に複数の個別ジョブ受信部112を含む。個別ジョブ受信部112は、ネットワークI/F101を介してHWFサーバ4からジョブデータを受信する。複数の個別ジョブ受信部112は、DFE100に搭載されている複数のRIPエンジンに夫々対応している。個別ジョブ受信部112が個別受信部として機能する。
上述したように、HWFサーバ4からのDFE100へのジョブデータの送信に際しては、対応するRIPエンジンが指定されて送信される。そのため、ジョブ受信部111においては、指定されたRIPエンジンに対応した個別ジョブ受信部112がジョブデータを受信する。
尚、DFE100へのジョブデータの入力は、HWFサーバ4からネットワークを介した入力の他、USBメモリ等の可搬型記憶媒体を介して入力することも可能である。本実施形態においてはジョブデータにJDF情報が含まれる場合を例として説明するが、JDFが含まれていない場合、ジョブ受信部111はダミーのJDFを作成して、ジョブデータにJDF情報を付与する。
個別ジョブ受信部112は、上述した夫々のRIPエンジンに対応して設けられる場合の他、予めジョブの内容が設定された仮想プリンタとしても機能する。即ち、DFE100に搭載されたRIPエンジン及びジョブの内容を設定した個別ジョブ受信部112を設け、複数の個別ジョブ受信部112のいずれかを指定することにより、予め設定された内容でジョブを実行させることが可能となる。
本実施形態に係る個別ジョブ受信部112において可能な設定の1つに、“パススルーモード”がある。この“パススルーモード”は、DFE100においてRIPエンジンとは個別に設けられたJDF情報の解析機能であるJDF解析部117によるJDF情報の解析処理を行わせず、RIPエンジンにおいてJDF情報の解析を実行するモードである。
このような機能により、JDF解析部117が対応していない形式のJDF情報を用いることや、RIPエンジンの外側にJDF解析機能を設けることが難しいRIPエンジンをHWFサーバ4及びDFE100において用いることが可能となる。本実施形態においては、HWFサーバ4に搭載されたRIPエンジン420とDFE100に搭載されたRIPエンジン120とで処理を分担する際に、上述した“パススルーモード”が用いられる。RIPエンジン420に対応した同一のRIPエンジン120が、出力側描画情報生成部として用いられる。
RIP処理をHWFサーバ4とDFE100とに分散する場合、可能な限りHWFサーバ4とDFE100との区分が意識されず、一連の処理として実行されることが好ましい。そのため、HWFサーバ4において途中まで処理されたデータがDFE100に入力された場合、未処理のジョブデータが入力された場合と同様のJDF解析処理は省略し、HWFサーバ4における処理の続きとして処理が実行されることが好ましい。
本実施形態においては、HWFサーバ4とDFE100とで対応した同一のRIPエンジンが搭載されているため、このようなRIP処理の制御を好適に実現することが可能である。また、そのような場合においては、一方のRIPエンジンによって処理されたデータがそのまま他方のRIPエンジンに受け渡されることが好ましいため、上述した“パススルーモード”によってそのような制御を好適に実現することが出来る。
システム制御部113は、個別ジョブ受信部112が受信したジョブデータをジョブデータ格納部114に格納し、若しくはジョブ制御部116に受け渡す。DFE100においてジョブデータを格納する設定がされている場合、システム制御部113はジョブデータをジョブデータ格納部114に格納する。また、ジョブデータ格納部114に格納するか否かがJDF情報に記述されている場合、システム制御部113はその記述に従う。
ジョブデータ格納部114にジョブデータを格納する場合とは、例えばDFE100において印刷内容のプレビューを行う場合等である。この場合、システム制御部113は、ジョブデータに含まれる印刷対象のデータ、即ちPDL情報や中間データを、ジョブデータ格納部114から取得してプレビューデータを生成してUI制御部115に受け渡す。これにより、UI制御部115は、印刷内容のプレビューをディスプレイ102に表示させる。
プレビューデータの生成に際して、システム制御部113はジョブ制御部116に印刷対象のデータを受け渡してプレビューデータの生成を要求する。ジョブ制御部116はRIP部118に印刷対象のデータを受け渡してプレビューデータを生成させ、生成されたプレビューデータをシステム制御部113に受け渡す。
また、DFE100においてオペレータがJDF情報の変更を行う場合も、ジョブデータ格納部114にジョブデータが格納される。この場合、システム制御部113は、JDF情報をジョブデータ格納部114から取得してUI制御部115に受け渡す。これにより、ディスプレイ102にジョブデータのJDF情報が表示され、オペレータが操作によって変更することが可能となる。
オペレータがDFE100を操作してJDF情報を変更した場合、UI制御部115は変更内容を受け付けてシステム制御部113に通知する。システム制御部113は、受け付けた変更内容を対象のJDF情報に反映して更新し、更新後のJDF情報をジョブデータ格納部114に記憶させる。
そして、システム制御部113は、ジョブ実行の指示を受け付けると、ジョブデータ格納部114に格納されたジョブデータをジョブ制御部116に受け渡す。ジョブ実行の指示は、HWFサーバ4からネットワークを介して入力される場合や、DFE100に対するオペレータの操作によって入力される。また、例えば、JDF情報にジョブの実行時刻が設定されている場合、システム制御部113は、設定時刻になるとジョブデータ格納部114に格納されたジョブデータをジョブ制御部116に受け渡す。
ジョブデータ格納部114は、このようにジョブデータを格納するための記憶領域であり、図2において説明したHDD40等によって実現される。この他、DFE100にUSBインタフェース等を介して接続された記憶装置や、ネットワークを介して接続された記憶装置であっても良い。
UI制御部115は、上述したようにディスプレイ102への情報の表示や、DFE100に対するオペレータの操作を受け付ける。上述したJDF情報の編集操作において、UI制御部115はJDF情報を解釈してディスプレイ102に印刷ジョブの内容を表示する。
ジョブ制御部116は、システム制御部113からのジョブの実行指示に基づいてジョブの実行に係る制御を行う。具体的に、ジョブ制御部116が行う制御は、JDF解析部117によるJDF解析処理、RIP部118によるRIP処理、プリンタ制御部122によるデジタルエンジン150の制御処理である。すなわち、ジョブ制御部116は、ジョブデータに従って画像形成出力の実行を制御する出力実行制御部として機能する。
ジョブ制御部116は、システム制御部113からジョブの実行指示を受けると、ジョブデータに含まれるJDF情報をJDF解析部117に入力してJDF変換要求を行う。JDF変換要求とは、JDF情報の生成元の形式で記述されたJDF情報を、RIP部118において認識可能な形式に変換する処理の要求である。即ち、JDF解析部117が、処理設定情報変換部として機能する。
他方、上述したように“パススルーモード”が指定されている場合、ジョブ制御部116は、システム制御部113から取得したジョブデータに含まれるJDF情報を、そのままRIP部118に入力する。“パススルーモード”の指定は例えば個別ジョブ受信部112によってJDF情報に記述される。
JDF解析部117は、上述したように生成元の形式で記述されたJDF情報をRIP部118において認識可能な形式に変換する。JDF解析部117は内部に変換テーブルを保持しており、その変換テーブルに従ってJDF情報に含まれる情報のうちRIP部118において必要な情報を抜き出して記述形式を変換する。これにより、上述したDFE内ジョブ属性が生成される。
図7は、本実施形態に係るJDF解析部117が保持している変換テーブルの例を示す図である。図7に示すように、本実施形態に係る変換テーブルは、JDF情報における記述形式とDFE内ジョブ属性における記述形式とが関連付けられた情報である。例えば、図3において説明した“部数”の情報は、実際のJDF情報においては“A・Amount”と記述されており、DFE内ジョブ属性の生成に際して“部数”という記述に変換される。
図7に示すような変換テーブルを用いたJDF解析部117の処理により、DFE内ジョブ属性が生成される。DFE内ジョブ属性において記述される情報は、例えば図3に示す“ジョブ情報”、“エディット情報”、“フィニッシング情報”等である。
また、JDF解析部117は、DFE内ジョブ属性の生成に際して、DFE内ジョブ属性に“RIP制御モード”を設定する。“RIP制御モード”には、「ページモード」、「シートモード」等が設定される。JDF解析部117は、ジョブデータを受信した個別ジョブ受信部112の種類、ジョブの内容、ジョブデータの送信元であるHWFサーバ4を構成するHWFソフトウェア等に応じて“RIP制御モード”を割り当てる。
本実施形態においては、印刷ジョブにおける集約印刷の設定を「ページモード」で扱っている。“RIP制御モード”について詳細は後述する。
ジョブ制御部116は、JDF解析部117によって生成されたDFE内ジョブ属性に基づいて“RIPパラメータ”を生成し、RIP部118のRIP制御部119に対してRIPパラメータを受け渡すことによりRIP処理を実行させる。これにより、RIP部118においてはRIPパラメータに基づいてRIP処理が実行される。
図8は、本実施形態に係るRIPパラメータの内容を示す図である。本実施形態に係るRIPパラメータは、冒頭の情報として“入出力データ種類”、“データ読み込み情報”、“RIP制御モード”を含む。“入出力データ種類”は、「JDF」、「PDL」等、入出力データの種類を指定する。指定の形式は、「JDF」、「PDL」等の他、テキスト形式や画像データの拡張子、中間データ等である。
“データ読み込み情報”は、入出力データの読み込み位置、書き込み位置の指定方法や、指定位置の情報である。“RIP制御モード”は、「ページモード」、「シートモード」の情報である。この他、冒頭の情報としては、RIPパラメータ内で使用する単位の情報や、データの圧縮方式の情報が含まれる。
“入出力画像情報”は、“出力画像に関する情報”、“入力画像に関する情報”、“画像の取り扱いに関する情報”を含む。“出力画像に関する情報”は、出力画像データのフォーマット、解像度、サイズ、カラー分解、カラーシフト、ページ向き等の情報を含む。また、“入力画像に関する情報”は、入力画像データのフォーマット、解像度、ページ範囲、カラー設定等の情報を含む。“画像の取り扱いに関する情報”は、拡大縮小アルゴリズムのオフセット、オブジェクト領域、ハーフトーンのオフセット等の情報を含む。
“PDL関連情報”は、RIPパラメータが対象とするPDL情報に関連する情報であり、“データ領域”、“サイズ情報”、“データ配置方式”の情報を含む。尚、ここで言うPDL情報は、ジョブにおいて印刷対象となるデータであり、中間データの場合を含む。“データ領域”は、PDL情報の格納されている領域情報を指定する。“サイズ情報”は、PDL情報のデータサイズを指定する。“データ配置方式”は、「リトルエンディアン」、「ビッグエンディアン」等、PDL情報のメモリにおけるデータ配置方式を指定する。
他方、“パススルーモード”の場合、ジョブ制御部116は、JDF情報及びPDL情報又は中間データに基づいてRIPパラメータを生成する。この場合、RIPパラメータを構成する各項目には、対応するJDF情報の項目を参照するための情報が設定される。
図8に示すように、RIPパラメータには“RIP制御モード”が含まれる。RIP制御部119は、“RIP制御モード”に応じてRIPエンジン120を制御する。従って、“RIP制御モード”に従ってシーケンスが決定される。上述したように、“RIP制御モード”には「ページモード」、「シートモード」が設定される。
「ページモード」は、1枚の用紙に集約された複数の集約前のページ毎にRIP処理を実行してラスターデータを生成する処理である。「シートモード」は、1枚の用紙に集約される複数ページ毎にRIP処理を実行して、1枚に集約されたラスターデータを生成する処理である。
また、“パススルーモード”の場合、“RIP制御モード”に「パススルーモード」が指定される。但しこれは一例であり、“RIP制御モード”以外の項目に「パススルーモード」が記述されていても良い。
また、ジョブ制御部116は、RIPパラメータに“RIPエンジン識別情報”を設定する。“RIPエンジン識別情報”は、RIP部118に含まれる複数のRIPエンジン120を識別する情報である。本実施形態においては、HWFサーバ4に搭載されているRIPエンジン420に対応した同一のRIPエンジンがDFE100において用いられる。
そのため、JDF情報には、上述したように個別ジョブ受信部112を指定する情報が含まれており、そのように指定された個別ジョブ受信部112によってジョブデータが受信される。個別ジョブ受信部112は、RIPエンジン120のいずれかに対応しており、対応するRIPエンジン120の識別情報を、受信したJDF情報に付加する。ジョブ制御部116は、このようにJDF情報に付加されたRIPエンジン120の識別情報に基づき、上述した“RIPエンジン識別情報”をRIPパラメータに付加する。
RIP部118においては、RIP制御部119が複数のRIPエンジン120を制御し、入力されたRIPパラメータに基づいてRIP内部処理を実行させてラスターデータを生成する。RIPエンジン120の機能については後に詳述する。
画像格納部121は、RIPエンジン120によって生成されたラスターデータを記憶する記憶部である。画像格納部121は、図2において説明したHDD40等によって実現される。この他、DFE100にUSBインタフェース等を介して接続された記憶装置や、ネットワークを介して接続された記憶装置であっても良い。
プリンタ制御部122は、デジタルエンジン150と接続されており、画像格納部121に格納されたラスターデータを読み出してデジタルエンジン150に送信することによって印刷出力を実行させる。また、プリンタ制御部122は、ジョブ制御部116からDFE内ジョブ属性に含まれるフィニッシング情報を取得することにより、仕上げ処理のための制御を行う。
プリンタ制御部122は、デジタルエンジン150との間で情報をやり取りすることにより、デジタルエンジン150自身の情報を取得することが出来る。例えばCIP4規格の場合、JDF情報の規格としてデバイス仕様情報をプリンタと送受信するDevCapsという規格が定められている。また、SNMP(Simple Network Management Protocol)という通信プロトコルとMIB(Management Information Base)というデータベースとを利用したプリンタの情報の収集方法も知られている。
デバイス情報管理部123は、DFE100自身やデジタルエンジン150の情報であるデバイス情報を管理する。デバイス情報には、RIP部118に含まれるRIPエンジン120の情報や、ジョブ受信部111において構成されている個別ジョブ受信部112の情報が含まれる。そして、個別ジョブ受信部112の情報として、上述した“パススルーモード”の情報も含まれる。
デバイス情報通信部124は、MIBやJMF(Job Messaging Format)などの仕様に合わせた形で、ネットワークI/F101を介してHWFサーバ4との間でデバイス情報のやり取りを行う。これにより、HWFサーバ4のデバイス情報通信部415が、DFE100からデバイス情報を取得する。その結果、クライアント端末5に表示されたGUIにおいて、DFE100に含まれるRIPエンジン120の情報や、個別ジョブ受信部112の情報が反映されることとなる。
DFE100においてプリンタ制御部122によってデジタルエンジン150が制御されて印刷出力が完了すると、システム制御部113はジョブ制御部116を介してそれを認識する。そして、システム制御部113は、ジョブ受信部111を介して印刷ジョブの完了通知をHWFサーバ4に通知する。これにより、HWFサーバ4のジョブ送受信部421がジョブの完了通知を受け付ける。
HWFサーバ4においては、ジョブ送受信部421がジョブ制御部413にジョブ完了通知を転送し、ジョブ制御部413がワークフロー制御部418にジョブ完了を通知する。HWFサーバ4からDFE100へのジョブデータの送信は、元々ワークフロー制御部418がワークフロー情報に従って実行したものである。
ワークフロー制御部418は、DFE100によるジョブの完了を認識すると、ワークフロー情報に従って次の処理の実行を制御する。DFE100による印刷出力の次に設定される処理としては、例えば後処理装置3による後処理等がある。
また、本実施形態に係るDFE100は、複数のHWFサーバ4から送信されるカタログ情報を受信する。カタログ情報受信部125は、複数のHWFサーバ4から送信されたカタログ情報を受信する。カタログ情報管理部126は、受信したカタログ情報に応じて、カタログ情報格納部127に格納されているカタログ情報を管理する情報管理部として機能する。カタログ情報格納部127は、カタログ情報を格納する記憶媒体である。カタログ情報受信部125、カタログ情報管理部126及びカタログ情報格納部127の詳細は後述する。
次に、本実施形態に係るRIPエンジンの機能構成について説明する。図9は、JDF解析部117によるJDF解析処理を伴う場合のRIPエンジン120の機能構成を示す図である。上述したように、RIPエンジン120は図8において説明したRIPパラメータに基づいてRIP内部処理を実行してラスターデータを生成するソフトウェアモジュールである。RIPエンジンとしては、例えばアドビ・システムズによって提供されるPDFプリンティングエンジンであるAPPE等がベースとして用いられる。
図9に示すように、RIPエンジン120は、制御部201と他の部分とによって構成される。制御部201以外の部分が、ベンダーによって拡張可能な拡張部である。制御部201は、拡張部として含まれる様々な機能を利用することによりRIP処理を実行する。
入力部202は、初期化要求やRIP処理の実行要求を受け付け、その要求を制御部201に通知する。初期化要求に際しては、上述したRIPパラメータも共に制御部201に入力される。初期化要求を受けた制御部201は、同時に受け付けたRIPパラメータをRIPパラメータ解析部203に入力する。そして、RIPパラメータ解析部203の機能によりRIPパラメータの解析結果を取得し、RIP処理においてRIPエンジン120に含まれる夫々の拡張部を動作させる順番を決定する。また、それらの処理の結果生成されるデータの形式が、ラスタイメージ、プレビューイメージ、PDF、中間データ等のいずれかを決定する。
また、制御部201は、入力部202からRIP処理の実行要求を受け付けると、初期化要求を受け付けた際に決定した処理順に従って拡張部の各部を動作させる。プリフライト処理部204は、入力されたPDLデータの内容の妥当性の確認を行う。そして、不正なPDL属性を発見した場合、制御部201に通知する。この通知を受けた制御部201は、出力部213を介してRIP制御部119やジョブ制御部116等の外部モジュールに通知を行う。
プリフライト処理によって確認される属性の情報としては、例えば非対応のフォントが指定されていないか否か等、RIPエンジン120に含まれる他のモジュールによる処理が不可能になる事態が発生し得る情報である。
ノーマライズ処理部205は、入力されたPDLデータがPDFではなくPostScriptである場合にPDFに変換する。マーク処理部206は、指定されたマークのグラフィック情報を展開し、印刷対象の画像において指定された位置に重畳する。
フォント処理部207は、フォントデータを取り出し、フォントのPDLへの埋め込みフォント化、アウトライン化を行う。CMM(Color Management Module)処理部209は、ICC(International Color Consortium)プロファイルに記述された色変換テーブル等に基づいて、入力画像の色空間をCMYK(Cyan,Magenta,Yellow,blacK)へ変換する。ICCプロファイルとは、カラーICC情報、デバイスICC情報である。
Trapping処理部210は、トラッピング処理を行う。トラッピング処理とは、境界を接して隣接している異なる色の領域について位置ずれが生じた場合に境界部分に隙間が生じることを防ぐため、夫々の色の領域を拡張して隙間が埋まるようにする処理である。
Calibration処理部211は、CMM処理部209による色変換の精度を高めるため、出力デバイスの経時変動や個体差による発色バランスのばらつきの調節作業を実施する。尚、Calibration処理部211による処理は、RIPエンジン120の外部において実行される場合もあり得る。
Screening処理部212は、最終出力を意識した網点の生成処理を実施する。尚、Screening処理部212による処理は、Calibration処理部211による処理と同様に、RIPエンジン120の外部において実行される場合もあり得る。出力部213は、外部にRIP結果を送信する。RIP結果は、初期化時に決定したラスタイメージ、プレビューイメージ、PDF、中間データのいずれかである。
次に、JDF解析部117によるJDF解析処理を伴わない場合のRIPエンジン120の機能構成について、図10を参照して説明する。上述したように、JDF解析部117によるJDF解析処理を伴わない場合とは、HWFサーバ4とDFE100とでRIP内部処理を分散する場合である。従って、図10に示すRIPエンジン120と同様の構成をHWFサーバ4に搭載されるRIPエンジン420も含む。
図10に示すように、JDF解析部117によるJDF解析処理を伴わない場合のRIPエンジン120の機能構成は、大部分は図9において説明した構成と同一である。以下、図9とは異なる部分のみ説明する。制御部201以外の部分が拡張部であることも図9と同様である。
図10の例における制御部201は、入力部202から初期化要求を受け付けると、初期化要求と共にJDF情報を取得する。そして、制御部201は、ジョブ属性解析部214の機能を利用してJDF情報及びPDL情報を解析し、図9の場合と同様に拡張部夫々の処理順や処理の結果生成されるデータの形式を決定する。
特に、DFE100に搭載されたRIPエンジン120の場合、処理結果のデータ形式はプリンタ制御部122に入力するためのラスターデータとなることが多い。これに対して、HWFサーバ4に搭載されたRIPエンジン420の場合、処理結果のデータ形式は、HWFサーバ4とDFE100との処理の分散態様に応じて異なる。従って、RIPエンジン420における制御部201は、ジョブ属性解析部214による解析結果に基づき、PDL情報や中間データ等の処理結果のデータ形式を決定する。
また、制御部201は、RIPステータス解析部215の機能を利用して、JDF情報に含まれるRIPステータスの情報を解析し、既に実行済みのRIP内部処理の有無を確認する。既に実行済みのRIP内部処理部がある場合は、対応する拡張部を処理の対象から除外する。
尚、RIPステータス解析部215は、JDF情報に含まれるRIPステータスを解析する場合の他、PDL情報を解析して同様の処理を実行することも可能である。PDL情報の場合、既に実行されたRIP内部処理についてはパラメータ等の属性情報が消えているので、残っている属性情報に基づいて未実行であるRIP内部処理を判断することが可能である。
レイアウト処理部217は、面付け処理を実行する。RIPステータス管理部216は、制御部201の制御に従い、夫々の拡張部によって実行されたRIP内部処理に対応するRIPステータスを「Done」に書き換える。出力部213は、エンジンの外部にRIP結果を送信する。RIP結果は、初期化時に決定したデータ形式のデータである。
また、上述したように、JDF情報に含まれる“RIPデバイス指定”の情報によっては、「DFE(エンジンA)」、「DFE(エンジンB)」のように、DFE100内部に搭載された複数のRIPエンジン120を使い分ける場合がある。制御部201では、他のRIPエンジンの拡張部に処理を委託することは出来ないため、ジョブ制御部116によって処理される。
上述したように、ジョブ制御部116は、“RIPエンジン識別情報”をRIPパラメータに付加する。この際、異なるRIPエンジンが指定されたRIP内部処理毎に、異なるRIPパラメータを生成する。図3の例の場合、“フォント”、“レイアウト”の実行が指定された「エンジンA」用のRIPパラメータと、“マーク”の実行が指定された「エンジンB」用のRIPパラメータと、それ以降の処理の実行が指定された「エンジンA」用のRIPパラメータとを生成する。
そして、ジョブ制御部116は、RIP内部の処理の順番に従って、生成したRIPパラメータ毎に順番にRIP部118にRIP処理を要求する。これにより、「エンジンA」、「エンジンB」が使い分けられてRIP内部処理が実行される。
この際、夫々のエンジンにおいて指定された処理のみが実行されるようにする方法として、“RIPステータス”の情報を参照することが出来る。即ち、実行させる処理の項目のみステータスを「NotYet」とし、他の処理を「Done」とすることにより、指定した処理のみを実行させることが出来る。
次に、本実施形態に係るシステムの動作について、図11を参照して説明する。図11は、本実施形態に係るHWFシステムの動作を示すシーケンス図である。図11においては、デジタルプリンタ1により印刷出力が実行される場合の例を示している。図11に示すように、HWFサーバ4においては、デバイス情報通信部415がネットワークを介してDFE100やCTP200からデバイス情報を取得し、デバイス情報管理部416がデバイス情報格納部417に情報を登録する(S1101)。S1101の処理は定期的に実行される。
他方、クライアント端末5は、システムのGUIに対するオペレータの操作によりジョブデータの登録操作が行われると、HWFサーバ4に対してジョブ登録要求を送信する(S1102)。HWFサーバ4においてはUI制御部412がジョブ登録要求を取得する。これにより、システム制御部410の制御に従ってデータ受信部411がジョブデータを取得する(S1103)。
データ受信部411によってジョブデータが取得されると、システム制御部410はジョブ制御部413を制御し、取得したジョブデータの形式をPDL形式に変換する(S1104)。このようにして変換されたジョブデータがジョブデータ格納部414に登録される。S1102においてジョブの登録操作が行われるGUIにおいては、登録対象のデータをファイルパス等により指定するためのインタフェースの他、図3において説明したJDFに含まれる情報の項目を夫々指定するための入力部が表示される。
また、S1101の処理により、HWFサーバ4においては、DFE100に搭載されているRIPエンジンの種類の情報が取得されている。従って、クライアント端末5のGUIにおいては、図3に示す“RIPデバイス指定”の情報を指定するための入力欄においては、DFEに実行させる場合に、どのRIPエンジンに実行させるかを選択することが可能となる。
また、クライアント端末5は、システムのGUIに対するオペレータの操作によりジョブデータの分割操作が行われると、HWFサーバ4に対してジョブ分割要求を送信する(S1105)。図12は、S1105において送信されるジョブ分割要求に含まれる情報の例を示す図である。図12に示すように、分割対象のジョブを示す情報の他、分割の内容が指定された情報がジョブ分割要求において送信される。分割の内容を示す情報は、印刷出力を実行するデバイスがページ単位で指定された情報である。
ジョブ分割要求を受けたHWFサーバ4においては、システム制御部410が、図12に示す情報において指定されている分割対象ジョブについて、分割内容に従ってページ単位でジョブを分割し、別個のジョブを生成する(S1106)。この際、夫々の分割範囲毎に指定されているデバイスが、JDF情報において図3に示す“デバイス指定”の情報として用いられる。このようにして分割して生成されたジョブが個別のジョブとしてジョブデータ格納部414に格納される。
また、クライアント端末5は、システムのGUIに対するオペレータの操作によりワークフローの生成操作作が行われると、HWFサーバ4に対してワークフロー生成要求を送信する(S1107)。ワークフロー生成要求においては、図5に示すようなワークフローの内容を指定する情報及びそのワークフローに従って処理すべきジョブを特定する情報が送信される。
ワークフロー生成要求を受けたHWFサーバ4においては、システム制御部410が、要求と共に受信した情報をワークフロー制御部418に入力する。これにより、ワークフロー制御部418が、受信した情報に基づいて新たなワークフロー情報を生成してワークフロー情報格納部419に格納すると共に、そのワークフローと要求において特定されたジョブとを関連付ける(S1108)。ワークフローとジョブとの関連付けは、例えばワークフローを識別するための識別子をJDF情報に付加することによって実行される。
このような処理の後、クライアント端末5においてシステムのGUIに対するオペレータの操作によりジョブ実行操作が行われると、クライアント端末5がHWFサーバ4に対してジョブ実行要求を送信する。尚、S1102〜S1109の操作は夫々異なる操作に応じて実行されても良いし、一度の操作でジョブ登録要求、ジョブ分割要求、ワークフロー生成要求、ジョブ実行要求が行われても良い。
ジョブ実行要求を受けたHWFサーバ4においては、システム制御部410が、要求と共に受信したジョブデータを特定するための情報に基づき、ジョブデータ格納部414から指定されたジョブデータを取得する(S1110)。また、システム制御部は、取得したジョブデータにおいて指定されているデバイスの最新の情報をデバイス情報管理部416から取得し、ジョブに対してデバイスの情報を設定する(S1111)。
その後、システム制御部410は、ワークフロー制御部418にジョブデータを受け渡し、ワークフローの実行を開始させる(S1112)。ワークフロー制御部418は、取得したジョブデータに関連付けられているワークフロー情報をワークフロー情報格納部419から取得し、ワークフロー情報に従って処理を実行する。
ワークフロー処理においては、まずHWFサーバ4に搭載されたRIPエンジン420によって実行するべきサーバ内処理が実行される(S1113)。S1113においては、ジョブ制御部413がワークフロー制御部418の制御に従って上述したようにRIPエンジン420に処理を実行させる。
その後、ワークフローの処理がDFE100における処理に到達したら、ジョブ制御部413が、ワークフロー制御部418の制御に従い、ジョブ送受信部421を制御してDFE100にジョブデータを送信させる(S1114)。S1114においては、ジョブ制御部413が、複数の個別ジョブ受信部112からJDF情報において指定されている情報に応じた個別ジョブ受信部112を指定する。
DFE100へのジョブデータの送信に際して複数の個別ジョブ受信部112のいずれかが指定されることにより、DFE100において適切な個別ジョブ受信部112がジョブデータを受信することとなる。DFE100にジョブデータが入力されることにより、上述したように、DFE100においてRIP処理やデジタルエンジン150による出力処理が実行される(S1115)。
DFE100においては、指定された処理が完了すると、ジョブ受信部111によってHWFサーバ4に完了通知が行われる(S1116)。ジョブ制御部413は、ジョブ送受信部421を介してDFE100からの完了通知を受け取ると、ワークフロー制御部418に完了通知を行う。これにより、ワークフロー制御部418は、DFE100での制御の次にワークフローで指定されている後処理を実行させるための後処理要求を後処理装置3に対して行う(S1117)。
S1117においては、ジョブ制御部413がワークフロー制御部418の制御に従ってジョブ送受信部421を制御し、後処理装置3に対して後処理要求を行う。このような処理により、本実施形態に係るシステムの動作が完了する。
次に、図11のS1115におけるDFE内処理について図13のフローチャートを参照して説明する。図13に示すように、まずはHWFサーバ4からのジョブデータの送信に際して指定された個別ジョブ受信部112がジョブデータを受信する(S1301)。個別ジョブ受信部112は、ジョブデータを受信すると、自身に対して設定されている個別設定をジョブデータに反映するようにJDF情報を更新する(S1302)。
上述した“パススルーモード”の設定もS1302において反映されることとなる。個別設定の反映されたジョブデータはシステム制御部113に入力される。システム制御部113は、入力されたジョブデータを設定に応じてジョブデータ格納部114に格納し、オペレータの操作に応じてUI制御部115を介してプレビュー処理等を行う。
そして、オペレータの操作や設定された実行時間への到達等、DFE100におけるジョブの実行タイミングになると、システム制御部113は、ジョブデータをジョブ制御部116に入力する。ジョブ制御部116は、入力されたジョブデータを参照し、パススルーモードか否かを確認する(S1303)。その結果、パススルーモードでなかった場合(S1303/NO)、ジョブ制御部116はJDF解析部117にジョブデータを入力してDFE内ジョブ属性を生成させる(S1304)。
S1303の確認の結果、パススルーモードであった場合(S1304/YES)、若しくはJDF変換が完了してDFE内ジョブ属性が生成された場合、ジョブ制御部116は、RIPパラメータを生成する(S1305)。パススルーモードではない場合、S1305においては、図8において説明したようなRIPパラメータが生成される。他方、パススルーモードの場合、図8に示す情報のうち、“入出力画像情報”以外の情報を含むRIPパラメータが生成され、他の部分はJDF情報が参照される。
ジョブ制御部116は、RIPパラメータを生成すると、RIP部118に必要な情報を入力してRIP処理を実行させる(S1306)。これにより、RIPエンジン120によってラスターデータが作成される。
尚、S1305においては、上述したように、図3に示す“RIPデバイス指定”の情報に基づき、RIPエンジン毎にRIPパラメータが生成される。そして、S1306においては、生成されたRIPパラメータ毎に順番にRIP処理が実行されてラスターデータが生成される。
ラスターデータが生成され、RIP部118からラスターデータを取得すると、ジョブ制御部116は、プリンタ制御部122にラスターデータを入力して、デジタルエンジン150による印刷出力を実行させる(S1307)。このような処理により、DFE内処理が完了する。
次に、図13のS1306におけるRIP処理について、図14を参照して説明する。図14に示すように、まずは入力部202に対する初期化要求に基づいて制御部201が初期化処理を実行する(S1401)。S1401においては、図9の例の場合、RIPパラメータ解析部203がRIPパラメータを受け付けて解析を行い、上述したようにRIPエンジン120に含まれる夫々の拡張部のうち処理を実行させる拡張部や、その順番を決定する。また、処理の結果生成されるデータの形式を決定する。
また、図10の例の場合、ジョブ属性解析部214が、JDF情報及びPDL情報を受け付けて解析を行い、処理を実行させる拡張部や、その順番を決定する。また、処理の結果生成されるデータの形式を決定する。続いて、図10の例の場合、制御部201は、RIPステータス解析部215にステータス解析を実行させる。
ステータス解析において、RIPステータス解析部215は、図3に示す“RIPステータス”を参照し、RIP内部処理の1つの項目を選択する(S1402)。そして、そのステータスが「Done」であれば(S1403/YES)、対応する拡張部を、S1401の処理において決定した実行対象の拡張部から除外する(S1404)。他方、「NotYet」であれば(S1403/NO)、特に処理は行わない。
RIPステータス解析部215は、全てのRIP内部処理の項目についてS1402からの処理が完了するまで処理を繰り返す(S1405/NO)。RIPステータス解析部215が、全てのRIP内部処理の項目についてS1402からの処理を完了した後(S1405/YES)、入力部202がRIP処理の実行要求を取得すると(S1406/YES)、制御部201は、夫々の拡張部に対して順番に処理を実行させる(S1407)。
S1407においては、S1401の処理において決定された拡張部であって、且つS1404の処理により除外されていない拡張部に対してのみ処理が要求される。また、S1401において決定された処理順に従って処理が要求される。そのようにして拡張部により処理が実行されてラスターデータが生成されると、出力部213が処理結果を出力する(S1408)。このような処理により、RIP部118による処理が完了する。
尚、本実施形態においては、図10の例の場合、即ち、パススルーモードに対応しているRIPエンジン120の場合についてのみ、S1402〜S1405の処理、即ちステータス解析処理が実行される場合を例としている。これは、ステータス解析処理が必要となるのは、上述したようにHWFサーバ4とDFE100とでRIP処理を分担する場合であることに基づいている。
そのような場合には、HWFサーバ4とDFE100とで同一のRIPエンジンが搭載されていることを利用して、両者の境目を意識することなく一連の処理としてRIP処理を実行する。従って、HWFサーバ4においてRIPエンジン420により処理されたデータをそのままDFE100においてRIPエンジン120に入力することが好ましく、RIPエンジンの外部に設けられたJDF解析部117を通さないパススルーモードが適している。
しかしながら、これは一例であり、パススルーモードではない場合であっても、HWFサーバ4とDFE100とでRIP処理を分担する場合であれば、ステータス解析を行うことが必要となる。即ち、HWFサーバ4とDFE100とでRIP処理を分担する場合には、HWFサーバ4において既に実行されたRIP処理をDFE100側で除外する必要がある。
従って、パススルーモードに対応していないRIPエンジン120であっても、HWFサーバ4とDFE100とでRIP処理を分担するため、RIPステータス解析部215を設けても良い。換言すると、HWFサーバ4とDFE100とでRIP処理を分担する場合であっても、DFE100側でJDF解析部117によるJDF解析を行った上で、RIPステータス解析部215によるステータス解析を行って必要なRIP内部処理を判断しても良い。
次に、本実施形態に係る特徴の1つであるカタログ情報の詳細を説明する。図15は、HWFサーバ4のカタログ情報格納部422に格納されているカタログ情報の一覧を例示する図である。図15に示すように、カタログ情報は、カタログ情報を識別するための識別情報である“カタログID”と、画像形成の対象となる用紙の“サイズ”、“用紙種類”、“厚さ”、“表面加工”、“パンチ穴”等の用紙の属性を示す情報とが関連付けられた構成である。
“サイズ”は、用紙の大きさを示し、「A4」、「A3」等であり、“用紙種類”は、用紙の種類を示し、「普通紙」、「再生紙」、「コート紙」等であり、“厚さ”は、用紙の厚さを示し、「普通」、「厚紙」、「薄紙」等である。また、“表面加工”は、用紙の表面の加工内容を示し、「標準」、「凹凸」等であり、“パンチ穴”は、用紙のパンチ穴の有無や数を示し、「なし」、「2穴」等である。すなわち、カタログ情報は、用紙の各属性の組み合わせを示す属性組合せ情報である。
図15に示したカタログ情報に含まれる属性情報は、例えばデジタルエンジン150の仕様により予め定められており、DFE100を介してデジタルエンジンに接続された複数のHWFサーバ4それぞれのカタログ情報格納部422に格納されている。HWFサーバ4は、カタログ情報格納部422に格納されているカタログ情報のうち使用したいカタログ情報に関連付けられたカタログIDをジョブデータに指定して、DFE100に送信する。
DFE100のジョブ制御部116は、カタログIDが指定されたジョブデータに基づいて、プリンタ制御部112によるデジタルエンジン150の制御処理を行う。これにより、ジョブデータにおいて指定されたカタログIDに関連付けられたカタログ情報の各属性の組み合わせにより構成される用紙に対する印刷出力が実行される。このように、カタログ情報を用いることにより、ジョブデータに用紙の各属性を1つずつ指定するよりも、画像形成出力の対象となる用紙を指定する手間が軽減され、属性の誤指定を防止することもできる。
また、各HWFサーバ4は、新たなカタログ情報を追加したり、カタログ情報を変更したりすることも可能である。例えば、HWFサーバ4のオペレータは、クライアント端末5に表示されたGUIを操作することにより、新たなカタログ情報を生成する。これにより、クライアント端末5がHWFサーバ4に対して生成されたカタログ情報を送信し、カタログ情報管理部423がカタログ情報を取得する。カタログ情報管理部423は、取得したカタログ情報をカタログ情報格納部422に記憶させて追加する。
また、オペレータがカタログ情報を変更する場合、UI制御部412は、カタログ情報管理部423を介してカタログ情報格納部422に格納されているカタログ情報を取得して、クライアント端末5に送信する。クライアント端末5は、UI制御部412から送信されたカタログ情報によりカタログ情報を変更するためのGUIを表示する。
オペレータは、クライアント端末5に表示されたGUIを操作することにより、カタログ情報を変更する。例えば、オペレータは、カタログ情報の“用紙種類”を「再生紙」から「コート紙」に変更する。UI制御部412は、クライアント端末5におけるカタログ情報の変更操作の情報を、ネットワークを介して取得し、システム制御部410に通知する。
システム制御部410は、UI制御部412から通知された変更操作の情報をカタログ情報管理部423に通知する。カタログ情報管理部423は、通知された変更操作の情報によりカタログ情報格納部422に格納されているカタログ情報を変更する。カタログ情報管理部423は、このようなカタログ情報の新規追加やカタログ情報の変更を行うと、カタログ情報送信部424に対して、新規追加されたカタログ情報や変更されたカタログ情報を出力する。
カタログ情報送信部424は、カタログ情報管理部423から入力されたカタログ情報を、ネットワークを介してDFE100に送信する。このように、各HWFサーバ4は、独自に新規のカタログ情報を追加したり、カタログ情報を変更したりしてDFE100に送信する。そのため、DFE100は、各HWFサーバ4から送信されたカタログ情報を適切に管理する必要がある。
例えば、HWFサーバ4aが、他のHWFサーバ4bと共通で使用しているカタログIDが「P001」のカタログ情報の“用紙種類”を「再生紙」から「コート紙」に変更したとする。そして、DFE100が、「P001」のカタログ情報をHWFサーバ4aからの変更情報により更新したとする。この場合に、HWFサーバ4bが「P001」を指定したジョブデータをDFE100に送信すると、コート紙に印刷出力された印刷出力結果となり、HWFサーバ4bのオペレータは所望の印刷出力結果を得ることができない。
そこで、いずれかのHWFサーバ4によりカタログ情報が変更された場合であっても、それ以外のHWFサーバ4が所望の印刷出力結果を得られるようDFE100においてカタログ情報を管理することが、本実施形態の要旨の1つである。
次に、本実施形態に係る要旨の1つであるDFE100におけるカタログ情報の管理に関する詳細を説明する。図16は、DFE100のカタログ情報格納部127に格納されているカタログ情報の一覧を例示する図である。図16に示すように、カタログ情報格納部127に格納されるカタログ情報は、カタログ情報格納部422に格納されている図15に示したカタログ情報に、“使用中HWF”の情報が追加された構成である。
“使用中HWF”は、カタログ情報を使用しているHWFサーバ名を示す。以降、“使用中HWF”における「A」を「HWFサーバ4a」とし、「B」を「HWFサーバ4b」とする。
例えば、図16に示すように、カタログIDが「P001」から「P100」のカタログ情報は、HWFサーバ4a及びHWFサーバ4bにより使用されている。
カタログ情報受信部125は、ネットワークを介してHWFサーバ4から送信されたカタログ情報を受信し、カタログ情報管理部126に対して出力する。カタログ情報管理部126は、カタログ情報受信部125から入力されたカタログ情報に応じて、カタログ情報を管理する。
図17は、カタログ情報管理部126によるカタログ情報を管理するための処理を例示するフローチャートである。図17に示すように、カタログ情報管理部126は、カタログ情報受信部125からカタログ情報を取得すると、カタログ情報を送信したHWFサーバ4を特定する(S1701)。例えば、カタログ情報には送信元情報として送信したHWFサーバ名が付与されており、カタログ情報管理部126は、カタログ情報に付与されている送信元情報からカタログ情報を送信したHWFサーバ4を特定する。
カタログ情報を取得したカタログ情報管理部126は、取得したカタログ情報のカタログIDを取得する(S1702)。カタログIDを取得したカタログ情報管理部126は、カタログ情報格納部127に格納されているカタログ情報の中に取得したカタログIDと同一のカタログIDのカタログ情報があるか否かを判定する(S1703)。
同一のカタログIDのカタログ情報がない場合(S1703/NO)、カタログ情報管理部126は、カタログ情報格納部127に取得したカタログ情報を記憶させて新規に追加する(S1704)。一方、同一のカタログIDのカタログがある場合(S1703/YES)、カタログ情報管理部126は、カタログ情報格納部127に格納されている同一のカタログIDのカタログ情報と取得したカタログ情報とが同一であるか否かを判定する(S1705)。なお、取得したカタログ情報と比較する際には、カタログ情報格納部127に格納されているカタログ情報の“使用中HWF”の情報は除外されるものとする。
カタログIDが同一であって、カタログ情報が異なる場合は、取得したカタログ情報がHWFサーバ4において変更されたことを意味する。図18は、HWFサーバ4のカタログ情報格納部422に格納されているカタログ情報を例示する図である。図18において斜線でハッチングして示すように、例えば、図15に示した“カタログID”が「P003」のカタログ情報の“用紙種類”の「再生紙」が「コート紙」に変更されたとする。
そのため、カタログ情報管理部126が取得した「P003」のカタログ情報は、カタログ情報格納部127に格納されている図16に示した「P003」のカタログ情報と異なっている。
カタログ情報が異なる場合(S1705/NO)、カタログ情報管理部126は、S1701において特定されたHWFサーバ4について、取得したカタログIDとの紐付情報があるか否かを判定する(S1706)。紐付情報は、カタログ情報を変更した場合に、変更前のカタログ情報のカタログIDと変更後のカタログ情報のカタログIDとを紐付けた情報であり、HWFサーバ4ごとに生成される。本実施形態においては、紐付情報は、カタログ情報格納部127に格納される場合を例として説明するが、カタログ情報格納部127とは別の記憶媒体に格納されてもよい。紐付情報の詳細は後述する。
紐付情報がない場合(S1706/NO)、カタログ情報管理部126は、取得したカタログ情報を識別するカタログIDを新規に生成し、取得したカタログ情報を新規のカタログ情報として、カタログ情報格納部127に記憶させて追加する(S1707)。図19は、S1707の処理により追加されたカタログ情報を含むカタログ情報格納部127に格納されているカタログ情報の一覧を例示する図である。
図19において太線で囲まれたカタログ情報が、新規追加されたカタログ情報である。すなわち、新規追加されたカタログ情報は、HWFサーバ4aにより「P003」のカタログ情報が変更されたカタログ情報である。例えば、図19に示すように、「P003_A」を新規のカタログIDとして変更後のカタログ情報が追加される。
また、カタログ情報管理部126は、変更前のカタログ情報の“使用中HWF”を更新する(S1708)。例えば、HWFサーバ4aが「P003」のカタログ情報を変更した場合、HWFサーバ4aは「P003」の変更前のカタログ情報を使用しなくなる。そこで、カタログ情報管理部126は、図19において斜線のハッチングで示すように、「P003」のカタログ情報の“使用中HWF”を「A、B」から「B」に変更する。
変更後のカタログ情報を新規のカタログIDによりカタログ情報格納部127に新規追加したカタログ情報管理部126は、S1701において特定したHWFサーバ4についての紐付情報を追加する(S1709)。図20は、カタログ情報格納部127に格納されている紐付情報の一覧を例示する図である。図20に示すように、紐付情報は、“カタログID”と“紐付ID”とが関連付けられた構成である。
例えば、HWFサーバ4aが「P003」のカタログ情報を変更して、変更後のカタログ情報が「P003_A」のカタログ情報として新規に追加された場合、図20に示すように、変更前のカタログ情報の“カタログID”である「P003」と、変更後のカタログ情報のカタログID(変更後識別情報)すなわち“紐付ID”である「P003_A」とが紐付けられる。
なお、S1707及びS1708の処理とS1709の処理とは、新規IDが生成されていれば前後関係に制約はなく、紐付情報が追加されてから変更後のカタログ情報が追加されてもよいし、並列して処理されてもよい。
一方、紐付情報がある場合(S1706/YES)、カタログ情報格納部127に格納されている紐付IDのカタログ情報を更新する(S1710)。紐付情報がすでに存在する場合、すでに変更されたカタログ情報がさらに変更されたことを意味する。
図21は、HWFサーバ4のカタログ情報格納部422に格納されているカタログ情報を例示する図である。図21において斜線でハッチングして示すように、例えば、図18に示した“カタログID”が「P003」のカタログ情報の“用紙種類”が「コート紙」からさらに「普通紙」に変更されるとともに、“厚さ”が「普通」から「厚紙」に変更されたとする。
この場合、「P003」のカタログ情報がすでに変更されているため、図19に示した「P003_A」のカタログ情報がカタログ情報格納部127にすでに含まれているとともに、図20に示した紐付情報が存在している。図22は、S1710の処理により更新されたカタログ情報を含むカタログ情報格納部127に格納されているカタログ情報の一覧を例示する図である。
図22において斜線のハッチングで示すように、カタログ情報管理部126は、図21に示したように、「P003」のカタログ情報がさらに変更されると、カタログIDの「P003」に紐付けられた紐付IDの「P003_A」のカタログ情報を変更する。
一方、同一のカタログIDのカタログ情報がある場合であって(S1703/YES)、両カタログ情報が同一であるとき(S1705/YES)、カタログ情報管理部126は、取得したカタログIDのカタログ情報の“使用中HWF”を更新する(S1711)。具体的には、カタログ情報管理部126は、“使用中HWF”に、S1701において特定されたHWFサーバ名を追加する。この場合、他のHWFサーバ4がすでに使用しているカタログ情報を、S1701において特定されたHWFサーバ4も使用することを意味する。
また、カタログ情報管理部126は、取得したカタログIDに対する紐付情報があるか否かを判定する(S1712)。紐付情報がある場合、カタログ情報を変更したHWFサーバ4が変更前のカタログ情報に戻したことを意味する。例えば、HWFサーバ4が図21に示したように、「P003」のカタログ情報を変更した後、「P003」のカタログ情報を図15に示した変更前情報に戻した場合、紐付情報が存在している。
紐付情報がある場合(S1712/YES)、カタログ情報管理部126は、S1701において特定されたHWFサーバ4について、取得したカタログIDに対する紐付情報及び紐付IDのカタログ情報を、カタログ情報格納部127から削除する(S1713)。上述したようにカタログ情報の新規追加、更新等を行ったカタログ情報管理部126は、デジタルエンジン150におけるカタログ情報を更新する(S1714)。
具体的には、例えば、カタログ情報管理部126は、カタログ情報格納部127に格納されているカタログ情報の一覧と同一のカタログ情報の一覧をデジタルエンジン150が保持するように同期させる。
次に、ジョブ制御部116によるカタログIDを含むジョブデータに基づく処理を説明する。図23は、ジョブ制御部116によるカタログIDを含むジョブデータに基づく処理を例示するフローチャートである。本説明においては、カタログ情報格納部127に図20に示したHWFサーバ4aの紐付情報及び図22に示したカタログ情報の一覧が格納されている場合を例として説明する。
図23に示すように、ジョブ制御部116は、ジョブデータを取得すると、ジョブデータにおいて指定されているカタログIDを取得する(S2301)。例えば、ジョブ制御部116は、HWFサーバ4aから送信されたジョブデータにおいて指定されているカタログIDとして「P003」を取得したとする。
カタログIDを取得したジョブ制御部116は、ジョブデータを送信したHWFサーバ4について、カタログ情報格納部127に取得したカタログIDに対応する紐付情報があるか否かを判定する(S2302)。紐付情報がある場合(S2302/YES)、ジョブ制御部116は、取得したカタログIDに紐付けられた紐付IDを取得する(S2303)。例えば、カタログIDが「P003」である場合、ジョブ制御部116は、紐付IDの「P003_A」を取得する。
紐付IDを取得したジョブ制御部116は、取得した紐付IDをカタログIDとしてプリンタ制御部122を制御する(S2304)。これにより、例えば、デジタルエンジン150は、保持しているカタログ情報の一覧から「P003_A」のカタログ情報を取得し、取得したカタログ情報に含まれる属性の組み合わせで構成される用紙に対して画像形成出力を実行する。
一方、紐付情報がない場合(S2302/NO)、ジョブ制御部116は、取得したカタログIDを用いてプリンタ制御部122を制御する(S2305)。例えば、S2301の処理において、ジョブ制御部116は、HWFサーバ4bから送信されたジョブデータにおいて指定されたカタログIDとして「P003」を取得したとする。
この場合、HWFサーバ4bについての紐付情報はないので、ジョブ制御部116は、「P003」を用いてプリンタ制御部122を制御する。これにより、デジタルエンジン150は、保持しているカタログ情報の一覧から「P003」のカタログ情報を取得し、取得したカタログ情報に含まれる属性の組み合わせで構成される用紙に対して画像形成出力を実行する。
このように、HWFサーバ4aが「P003」のカタログ情報を変更した場合であって、HWFサーバ4aから「P003」を指定したジョブデータが送信されたときは、変更されたカタログ情報に基づいて画像形成出力が実行される。一方、HWFサーバ4bから「P003」を指定したジョブデータが送信されたときは、HWFサーバ4aによる変更の影響を受けることなく、変更前のカタログ情報に基づいて画像形成出力が実行される。
以上説明したように、本実施形態に係るHWFシステムは、いずれかのHWFサーバ4においてカタログ情報が変更された場合に、紐付情報に基づいて、変更前のカタログ情報とは別のカタログ情報として管理する。これにより、カタログ情報を使用する装置のいずれかにおいてカタログ情報が変更された場合であっても、他の装置において所望の印刷出力結果を得ることが可能になる。
なお、上記実施形態においては、カタログ情報格納部127に同一のカタログIDがある場合であって、両カタログ情報が異なるときは、変更後のカタログ情報を別のカタログ情報として追加又は紐付IDのカタログ情報を更新する場合を例として説明した。この場合、カタログ情報のカタログ情報の“使用中HWF”に含まれるHWFサーバ4がカタログ情報を変更したHWFサーバ4のみであるときも、変更後のカタログ情報が別のカタログ情報として新規に追加される。
図24は、S1707の処理により追加されたカタログ情報を含むカタログ情報格納部127に格納されているカタログ情報の一覧を例示する図である。図24に示したカタログ情報の一覧は、図19に示したカタログ情報の状態において、HWFサーバ4bにより「P003」のカタログ情報が変更された状態を示す。
図24において太線で囲まれたカタログ情報が、新規追加されたカタログ情報である。新規追加されたカタログ情報は、HWFサーバ4bにより「P003」のカタログ情報が変更されたカタログ情報である。例えば、図24に示すように、「P003_B」を新規のカタログIDとして変更後のカタログ情報が追加される。
また、HWFサーバ4bが「P003」のカタログ情報を変更した場合、HWFサーバ4bは「P003」の変更前のカタログ情報を使用しなくなる。そこで、カタログ情報管理部126は、図24において斜線のハッチングで示すように、「P003」のカタログ情報の“使用中HWF”を「B」から、どのHWFサーバ4も使用していないことを示す「−」に変更する。
このような実施形態の他、上述のような場合であって、カタログ情報の“使用中HWF”に含まれるHWFサーバ4がカタログ情報を変更したHWFサーバ4のみであるときは、カタログ情報管理部126は、カタログ情報そのものを変更するようにしてもよい。換言すれば、カタログ情報を変更した実行情報出力装置以外(HWFサーバ4以外)の他の実行情報出力装置により使用される場合に、変更後のカタログ情報が変更前のカタログ情報とは別にカタログ情報格納部127に追加される。
図25は、カタログ情報そのものを変更した場合のカタログ情報格納部127に格納されているカタログ情報の一覧を例示する図である。例えば、HWFサーバ4bにより「P003」のカタログ情報が変更された場合であって、「P003」のカタログ情報の“使用中HWF”がHWFサーバ4bのみであるときは、カタログ情報管理部126は、「P003」のカタログ情報を変更する。
すなわち、図24に示したように変更後のカタログ情報が新規に追加されず、図25において斜線でハッチングして示すように、例えば、「P003」のカタログ情報の“厚さ”が「普通」から「厚紙」に変更される。このような構成により、図24に示すようにいずれのHWFサーバ4も使用していないカタログ情報が含まれるとともに、新規なカタログ情報が増えることがないので、カタログ情報を記憶させるための領域サイズを低減することが可能になる。
また、上記実施形態においては、紐付IDが存在する状態で対応するカタログIDのカタログ情報がさらに更新された場合に、紐付IDのカタログ情報を更新する場合を例として説明した。これにより、カタログ情報がさらに変更された場合であっても、カタログ情報を追加することなく更新することができる。しかしながら、このような構成は必須ではなく、例えば、カタログ情報管理部126は、カタログIDと新たな紐付IDとが紐付けられた紐付情報を追加し、変更後のカタログ情報を新たな紐付IDのカタログ情報として、カタログ情報格納部127に新たに追加してもよい。また、この場合、カタログ情報管理部126は、元の紐付情報と紐付IDのカタログ情報を削除してもよい。
また、上記実施形態においては、カタログ情報格納部127に紐付情報が格納されている場合を例として説明したが、これは一例であり、紐付情報がカタログ情報格納部127とは別の記憶媒体に格納されていてもよい。
また、上記実施形態においては、DFE100のカタログ情報格納部127に格納されているカタログ情報の一覧とデジタルエンジン150が保持するカタログ情報の一覧とが同期している場合を例として説明した。この場合、DFE100においてカタログ情報が追加されてカタログ情報の数が増加した場合、デジタルエンジン150で保持するカタログ情報の数も増加する。しかしながら、デジタルエンジン150で記憶可能なカタログ情報の数に制限がある場合、DFE100におけるカタログ情報のすべてを同期できない場合がある。
以下、デジタルエンジン150で保持するカタログ情報の数に制限がある場合において、DFE100におけるカタログ情報を適切に同期する処理を説明する。図26は、このような実施形態に係るDFE100の機能構成を例示するブロック図である。図26に示すように、本実施形態に係るDFE100は、図6に示した構成に優先順位更新部128及びジョブ情報格納部129が追加された構成である。以降、図6に示した構成と異なる構成のみを説明し、それ以外の構成の説明は省略する。
図27は、図26に示したカタログ情報格納部127に格納されるカタログ情報の一覧を例示する図である。図27に示したカタログ情報は、図16に示したカタログ情報に含まれる属性の他、“優先順位”の情報を含む。“優先順位”は、デジタルエンジン150に同期する優先順位を示し、値が小さいほど優先して同期されるものとする。例えば、“優先順位”の初期値は、図27に示すように、「P001」から「P100」まで順に「1」から「100」であるとする。
図28は、カタログ情報格納部127にカタログ情報が新規追加されたカタログ情報の一覧を例示する図である。カタログ情報管理部126は、カタログ情報受信部125から取得したカタログ情報を、カタログ情報格納部127に新規に追加した場合、追加したカタログ情報の“優先順位”を、これまでの最大値に1足した値とする。例えば、図28において太線で囲まれたカタログ情報が新規追加された場合、このカタログ情報の“優先順位”は「101」となる。
また、図6に示したカタログ情報管理部126は、カタログ情報の一覧が更新されると、デジタルエンジン150が保持するカタログ情報の一覧を同期させた。しかしながら、図26に示したカタログ情報管理部126は、カタログ情報の一覧が更新された時点では、デジタルエンジン150のカタログ情報の一覧と同期しない。図26に示したカタログ情報管理部126は、後述するジョブ情報格納部129にジョブ情報が格納されている場合に、各カタログ情報の優先順位に基づいてカタログ情報を個別に同期処理する。
カタログ情報管理部126が同期処理を行うに際して、優先順位更新部128によりカタログ情報格納部127に格納されているカタログ情報の優先順位を更新することが、本実施形態の要旨の1つである。優先順位更新部128は、ジョブ情報格納部129に格納されているジョブ情報に基づいて、カタログ情報の優先順位を決定して更新する。すなわち、優先順位更新部128は、優先順位を決定する優先順位決定部としても機能する。
図29は、ジョブ情報格納部129に格納されているジョブ情報の一覧を例示する図である。ジョブ情報格納部129は、ジョブデータ格納部114に格納されている各ジョブデータの情報であるジョブ情報を格納する記憶媒体である。例えば、図29に示したジョブ情報の一覧の上から順に、ジョブデータ格納部114に格納されているジョブデータに基づく処理が実行される。
図29に示すように、ジョブ情報は、ジョブ情報を識別するための識別情報である“ジョブID”と“ジョブデータ”及びジョブデータの送信元のHWFサーバ名を示す“送信元”とが関連付けられて構成される。“ジョブデータ”は、ジョブデータ格納部114に格納されているジョブデータ名を示す。
図30は、優先順位更新部128によるカタログ情報の優先順位の更新処理を例示するフローチャートである。図30に示すように、優先順位更新部128は、ジョブ情報格納部129から優先順位が未更新のジョブデータのうち最初に実行されるジョブデータのジョブ情報を取得する(S3001)。
例えば、ジョブ情報の一覧の上から順に、ジョブデータ格納部114に格納されているジョブデータに基づく処理が実行される場合、優先順位更新部128は、ジョブ情報の一覧に含まれる優先順位が未更新のジョブデータのうち一番上に格納されたジョブデータのジョブ情報を取得する。
ジョブ情報を取得した優先順位更新部128は、ジョブ情報の“ジョブデータ”が示すジョブデータ名のジョブデータを、ジョブデータ格納部114から取得する(S3002)。ジョブデータを取得した優先順位更新部128は、取得したジョブデータにおいて指定されているカタログIDを取得する(S3003)。
カタログIDを取得した優先順位更新部128は、ジョブ情報の“送信元”が示すHWFサーバ4について、取得したカタログIDに対する紐付情報がカタログ情報格納部127に格納されているか否かを判定する(S3004)。紐付情報がカタログ情報格納部127に格納されている場合(S3004/YES)、優先順位更新部128は、取得したカタログIDに紐付けられた紐付IDを取得する(S3005)。
紐付IDを取得した優先順位更新部128は、カタログ情報格納部127に格納されているカタログ情報のうち、取得した紐付IDのカタログ情報の優先順位を更新する(S3006)。具体的には、例えば、優先順位更新部128は、優先順位の初期値を「1」として、優先順位の更新が行われるごとに優先順位の値を1増やして更新する。
一方、紐付け情報がカタログ情報格納部127に格納されていない場合(S3004/NO)、優先順位更新部128は、カタログ情報格納部127に格納されているカタログ情報のうち、取得したカタログIDのカタログ情報の優先順位を更新する(S3007)。優先順位の更新方法は、S3006の処理における更新方法と同様である。
ジョブデータにより指定されているカタログ情報の優先順位を更新した優先順位更新部128は、優先順位を更新したことにより影響する他のカタログ情報の優先順位を更新する(S3008)。具体的には、優先順位更新部128は、S3008の処理において更新された優先順位が更新前の優先順位と異なる場合、更新したカタログ情報の優先順位の値以上である他のカタログ情報の優先順位の値を1増やす。
他のカタログ情報の優先順位を更新した優先順位更新部128は、ジョブデータ格納部114に格納されているすべてのジョブデータにおいて指定されているカタログ情報の優先順位の更新処理が完了したか否かを判定する(S3009)。優先順位更新部128は、更新処理が完了している場合(S3009/YES)、処理を終了し、更新処理が完了していない場合(S3009/NO)、次のジョブ情報を取得して(S3001)、以降の処理を繰り返す。
すなわち、図29に示したジョブ情報の一覧を例とした場合、まず“ジョブID”が「J001」のジョブデータにより指定されているカタログ情報を更新する。例えば、「J001」のジョブデータにおいて指定されているカタログIDが「P001」であり、紐付情報がない場合、優先順位更新部128は、「P001」のカタログ情報の優先順位を「1」に更新する。ただし、「P001」の更新前の優先順位は「1」で更新後の優先順位と同一なので、優先順位更新部128は、他のカタログ情報の優先順位を更新しない。
次に、“ジョブID”が「J002」のジョブデータにより指定されているカタログ情報を更新する。例えば、「J002」のジョブデータにおいて指定されているカタログIDが「P010」であり、紐付情報がない場合、優先順位更新部128は、「P010」のカタログ情報の優先順位を「2」に更新する。そして、「P010」の更新前の優先順位は「10」で更新後の優先順位と異なるので、優先順位更新部128は、優先順位の値が「2」以上である他のカタログ情報の優先順位の値を1増やす。
次に、“ジョブID”が「J003」のジョブデータにより指定されているカタログ情報を更新する。例えば、「J003」のジョブデータにおいて指定されているカタログIDが「P003」であり、紐付IDが「P003_A」である場合、優先順位更新部128は、「P003_A」のカタログ情報の優先順位を「3」に更新する。そして、優先順位更新部128は、優先順位の値が「3」以上である他のカタログ情報の優先順位の値を1増やす。
図31は、優先順位更新部128による優先順位更新後のカタログ情報格納部127に格納されているカタログ情報の一覧を例示する図である。図31においては、ジョブ情報格納部129に10のジョブ情報が格納されている場合の優先順位更新結果を示している。図31に示すように、ジョブデータ格納部114に格納されているジョブデータにより指定されているカタログ情報の優先順位の値が小さく(すなわち、同期の優先度が高く)なるよう優先順位が更新されている。
次に、図26に示したカタログ情報管理部126による優先順位に基づくカタログ情報の同期処理を説明する。図32は、図26に示したカタログ情報管理部126によるカタログ情報の同期処理を例示するフローチャートである。図32に示すように、カタログ情報管理部126は、カタログ情報格納部127に格納されているカタログ情報のうち優先順位の値が最小であるカタログ情報を取得する(S3201)。
カタログ情報を取得したカタログ情報管理部126は、取得したカタログ情報の優先順位の値がデジタルエンジン150において記憶可能な予め定められたカタログ情報の数(例えば、100)以下であるか否かを判定する(S3202)。なお、以降、デジタルエンジン150において記憶可能なカタログ情報の数を「カタログ上限数」とする。
優先順位の値がカタログ上限数以下である場合(S3202/YES)、カタログ情報管理部126は、デジタルエンジン150に取得したカタログ情報と同一カタログIDで同一内容であるカタログ情報が保持されているか否かを判定する(S3203)。なお、デジタルエンジン150に保持されているカタログ情報と比較する際には、カタログ情報管理部126から取得したカタログ情報の“使用中HWM”及び“優先順位”の情報は除外されるものとする。
デジタルエンジン150に取得したカタログ情報と同一カタログIDで同一内容であるカタログ情報が保持されている場合(S3203/YES)、カタログ情報管理部126は、取得したカタログ情報の同期をすることなく後述するS3207の処理に進む。一方、デジタルエンジン150に取得したカタログ情報と同一カタログIDで同一内容であるカタログ情報が保持されていない場合(S3203/NO)、カタログ情報管理部126は、デジタルエンジン150が保持しているカタログ情報の数が上限数以上であるか否かを判定する(S3204)。
カタログ情報の数が上限数以上である場合(S3204/YES)、カタログ情報管理部126は、デジタルエンジン150が保持しているカタログ情報のうち優先順位の値が最大(すなわち、同期優先度が最も低い)であるカタログ情報を削除する(S3205)。カタログ情報を削除したカタログ情報管理部126は、取得したカタログ情報をデジタルエンジン150に送信して同期する(S3206)。
一方、カタログ情報の数が上限数未満である場合(S3204/NO)、カタログ情報管理部126は、取得したカタログ情報をデジタルエンジン150に送信して同期する(S3206)。カタログ情報を同期したカタログ情報管理部126は、カタログ情報格納部127に含まれるすべてのカタログに対して処理が完了したか否かを判定する(S3207)。
カタログ情報管理部126は、すべてのカタログに対して処理が完了した場合(S3207/YES)、処理を終了する。一方、処理が完了していない場合(S3207/NO)、カタログ情報管理部126は、未処理のカタログ情報のうち優先順位の値が最小のカタログ情報を取得して(S3201)、以降の処理を繰り返す。
図33は、カタログ情報管理部126による上述した同期処理前のデジタルエンジン150が保持するカタログ情報の一覧を例示する図であり、図34は、同期処理後のデジタルエンジン150が保持するカタログ情報の一覧を例示する図である。ここでは、デジタルエンジン150のカタログ上限数が100であり、図31に示した優先順位に更新された後に同期処理が行われる場合を例とする。
図33に示すように、同期処理前のデジタルエンジン150は、カタログIDが「P001」から「P100」までのカタログ情報を保持している。図33に示すように、図31に示した優先順位が「3」である「P003_A」のカタログ情報がデジタルエンジン150に保持されていない。そのため、同期処理が行われると、同期優先度が最も低い「P100」のカタログ情報が削除され、太線で囲まれた「P003_A」のカタログ情報がデジタルエンジン150に追加される。
このような構成により、デジタルエンジン150で保持するカタログ情報の数に制限がある場合に、ジョブデータに基づいて決定された優先順位に基づいて、制限された数以内のカタログ情報をデジタルエンジン150に記憶させて同期させることが可能になる。すなわち、このような構成によれば、ジョブデータに基づく実行の際に使用されるカタログ情報を優先してデジタルエンジン150が保持するカタログ情報と同期することが可能になる。また、このような構成により、同期処理においては、すでにデジタルエンジン150が保持しているカタログ情報は更新されないので、最低限の更新回数でデジタルエンジン150を更新することが可能になる。
なお、本実施形態においては、カタログ情報格納部127に格納されているカタログ情報が更新されているか否かに関わらず、図32に示した処理を行う場合を例として説明した。その他、カタログ情報格納部127に格納されているカタログ情報のうち、デジタルエンジン150と最後に同期してから新規追加や変更が行われたカタログ情報のみに対して図32に示した処理を行うようにしてもよい。
その場合、例えば、カタログ情報格納部127に格納されているカタログ情報が新規に追加されたり変更されたりした場合に、カタログ情報管理部126は、そのカタログ情報に新規追加や変更が行われたことを示すフラグ情報を付加する。そして、カタログ情報管理部126は、同期処理を行う際に、フラグ情報が付加されたカタログ情報のみに対して、図32に示した処理を行う。このような構成により、すべてのカタログ情報とデジタルエンジン150が保持しているカタログ情報を比較する必要がなく、処理負荷をより軽減することが可能になる。
また、本実施形態において、優先順位更新部128は、図30に示した処理により優先順位を更新した後、さらに各カタログ情報の使用履歴に基づいて、他のカタログ情報の優先順位を更新してもよい。図35は、カタログ情報の使用履歴を用いる場合のカタログ情報格納部127に格納されているカタログ情報の一覧を例示する図である。図35に示すカタログ情報は、図27に示したカタログ情報に、カタログ情報の使用履歴として、これまでにジョブデータにおいて指定された回数を示す“使用回数”が追加された構成である。
例えば、優先順位更新部128は、ジョブデータ格納部114に格納されているジョブデータにおいて指定された識別情報のカタログ情報以外のカタログ情報の優先順位の値を“使用回数”が多いほど小さくなる(同期優先度が高くなる)よう更新する。このような構成により、使用される可能性の高いカタログ情報ほど同期優先度を高くすることが可能になる。