(57)【要約】      （修正有）【課題】差し込みデータの記憶先を分類してから、複数台の印刷装置を効率よく稼動させて印刷処理の効率化を図る。【解決手段】ドキュメントデータに差し込まれる差し込みデータの内容に基づいて、印刷に使用される複数の印刷に使用される印刷用データを複数の記憶領域に分類し、分類された印刷用データの記憶された記憶領域に関連付けられた出力先へ、当該印刷用データに基づく出力データを送信する。【選択図】図４
2008225921.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷装置と通信可能であり、ドキュメントデータのデータ領域に差し込みデータを入力して各印刷装置が処理可能な出力データを送信する情報処理装置であって、
ドキュメントデータに差し込まれる差し込みデータの内容に基づいて、印刷に使用される複数の印刷用データを複数の記憶領域へ分類する分類手段と、
前記分類手段により分類された印刷用データの記憶領域に関連付けられた出力先に、前記印刷用データに基づく出力データを出力する出力手段とを有することを特徴とする情報処理装置。
【請求項２】
前記出力手段により出力された出力データを実行する印刷装置の実行状態を取得する取得手段と、
前記取得手段により取得された印刷ジョブの実行状態に基づいて、前記分類手段により分類された印刷用データの記憶領域を、他の記憶領域に変更する第１変更手段とを更に有し、
前記出力手段は、当該印刷用データに基づく出力データを前記第１変更手段により変更された記憶領域に関連付けられている出力先に出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記差し込みデータとドキュメントデータとに基づいて印刷ジョブを生成する生成手段を更に有し、
前記分類手段による分類処理と、前記生成手段による印刷ジョブの生成処理とは、並行して実行されることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記分類手段により同一の分類先に分類された印刷用データの数が、予め定められた数以上であるか否かを判定する第１判定手段を更に有し、
前記出力手段は、前記第１判定手段により、同一の分類先に分類された印刷用データの数が、予め定められた数以上であると判定された場合、当該同一の分類先に分類された印刷用データに基づく出力データを出力することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記分類手段により分類された印刷用データの数に基づいて、前記印刷用データを分類する順番を、予め定められた順番から変更するか否かを判定する第２判定手段と、
前記第２判定手段により、前記印刷用データを分類する順番を、予め定められた順番から変更すると判定されると、前記分類手段が印刷用データを分類する順番を変更する第２変更手段とを有し、
前記分類手段は、前記第２変更手段により、印刷用データを分類する順番が変更された場合には、その変更された順番で、印刷用データを分類することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記印刷用データは、差し込みデータであることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
複数の印刷装置と通信可能であり、ドキュメントデータのデータ領域に差し込みデータを入力して各印刷装置が処理可能な出力データを送信する情報処理装置における情報処理方法であって、
ドキュメントデータに差し込まれる差し込みデータの内容に基づいて、印刷に使用される複数の印刷用データを複数の記憶領域へ分類する分類ステップと、
前記分類ステップにより分類された印刷用データの記憶領域に関連付けられた出力先に、前記印刷用データに基づく出力データを出力する出力ステップとを有することを特徴とする情報処理方法。
【請求項８】
前記出力ステップにより出力された出力データを実行する印刷装置の実行状態を取得する取得ステップと、
前記取得ステップにより取得された印刷ジョブの実行状態に基づいて、前記分類ステップにより分類された印刷用データの記憶領域を、他の記憶領域に変更する第１変更ステップとを更に有し、
前記出力ステップは、当該印刷用データに基づく出力データを前記第１変更ステップにより変更された記憶領域に関連付けられている出力先に出力することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記差し込みデータとドキュメントデータとに基づいて印刷ジョブを生成する生成ステップを更に有し、
前記分類ステップによる分類処理と、前記生成ステップによる印刷ジョブの生成処理とは、並行して実行されることを特徴とする請求項７又は８に記載の情報処理方法。
【請求項１０】
前記分類ステップにより同一の分類先に分類された印刷用データの数が、予め定められた数以上であるか否かを判定する第１判定ステップを更に有し、
前記出力ステップは、前記第１判定ステップにより、同一の分類先に分類された印刷用データの数が、予め定められた数以上であると判定された場合、当該同一の分類先に分類された印刷用データに基づく出力データを出力することを特徴とする請求項７乃至９の何れか１項に記載の情報処理方法。
【請求項１１】
前記分類ステップにより分類された印刷用データの数に基づいて、前記印刷用データを分類する順番を、予め定められた順番から変更するか否かを判定する第２判定ステップと、
前記第２判定ステップにより、前記印刷用データを分類する順番を、予め定められた順番から変更すると判定されると、前記分類ステップが印刷用データを分類する順番を変更する第２変更ステップとを有し、
前記分類ステップは、前記第２変更ステップにより、印刷用データを分類する順番が変更された場合には、その変更された順番で、印刷用データを分類することを特徴とする請求項７乃至１０の何れか１項に記載の情報処理方法。
【請求項１２】
複数の印刷装置と通信可能であり、ドキュメントデータのデータ領域に差し込みデータを入力して各印刷装置が処理可能な出力データを送信する情報処理装置で実行されるコンピュータプログラムであって、
ドキュメントデータに差し込まれる差し込みデータの内容に基づいて、印刷に使用される複数の印刷用データを複数の記憶領域へ分類する分類ステップと、
前記分類ステップにより分類された印刷用データの記憶領域に関連付けられた出力先に、前記印刷用データに基づく出力データを出力する出力ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びコンピュータプログラムに関し、特に、差し込みデータを差し込んで生成した印刷ジョブを分散させて出力するために用いて好適なものである。
【背景技術】
【０００２】
近年、電子写真方式の印刷装置やインクジェット方式の印刷装置の高速化と、高画質化とに伴い、プリント・オン・ディマンド（Ｐｒｉｎｔ  Ｏｎ  Ｄｅｍａｎｄ）市場が出現しつつある。以下の説明では、プリント・オン・ディマンド市場を、必要に応じてＰＯＤ市場と表記する。このＰＯＤ市場では、比較的小ロット（例えば印刷装置で扱うジョブよりも小ロット）のジョブを、大掛かりな装置やシステムを用いずに、短納期で取り扱うことを目指している。そこで、ＰＯＤ市場では、大規模な印刷装置を使った印刷手法に変わって、例えば、デジタル複写機やデジタル複合機等のデジタル画像形成装置を最大限に活用して、電子データを用いたディジタルプリントを実現する。そして、ＰＯＤ市場では、ディジタルプリントされた印刷物で商売を行う。
【０００３】
このようなＰＯＤ市場では、従来の商業的印刷業界に比べて、デジタル化が進み、コンピュータを利用した管理、制御が浸透してきている。そして、コンピュータを利用することにより、近年のＰＯＤ市場における印刷物のレベルは、従来の商業的印刷業界における印刷物のレベルに、ある程度近づこうとしている。このような背景の中で、ＰＯＤ市場には、ＰＦＰ（Ｐｒｉｎｔ  Ｆｏｒ  Ｐａｙ）や、ＣＲＤ（Ｃｅｎｔｒａｌｉｚｅｄ  Ｒｅｐｒｏｄｕｃｔｉｏｎ  Ｄｅｐａｒｔｍｅｎｔ）等が存在する。ここで、ＰＦＰは、コピー・プリントショップ印刷会社での印刷サービスとして実現されている。また、ＣＲＤは、企業内（社内）向けの印刷サービスとして実現されている。
ＰＯＤ市場で行われる技術の中には、デジタル画像形成装置の特徴を活かしたＶＤＰ（Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｐｒｉｎｔ）と呼ばれる技術がある。この技術は、データベース等にある可変データ（差し込みデータともいう）にしたがって、プリントする内容を変えて印刷する技術である。例えば、顧客情報にしたがって、顧客毎に提供する商品情報を変えるダイレクトメール（ＤＭ）や、光熱費等の利用状況にしたがって、数値を変える利用明細書等にＶＤＰを利用することができる。そのため、ＶＤＰは、ダイレクトメール（ＤＭ）の作成等を行う市場において急速に利用が広まっている。
【０００４】
ＶＤＰでは、大量にプリントするケースが多い。このため、画像形成処理とプリント処理の処理速度を速くすることが要求される。このような処理速度を上げるための方法の一つとして、複数のプリンタを同時に使用して印刷するという分散印刷システムというものがある。
【０００５】
分散印刷システムでは、作成された印刷ジョブを複数のプリンタに振り分ける。例えば１つ目の印刷ジョブをプリンタＡ、次の印刷ジョブをプリンタＢというように印刷ジョブ単位で、印刷ジョブを振り分ける方法等がある。この場合、ＶＤＰシステムは、プリンタＡの出力終了を待たずにプリンタＢに印刷ジョブを送信することで、プリンタＡとプリンタＢとを同時に動作させることができる。したがって、１つのＶＤＰシステムと１台のプリンタのみとを使用した場合に比べて、印刷処理を高速に終了させることができるようになる。
【０００６】
このように分散印刷システムを使用することで、印刷処理の高速化を図れる。より印刷処理の高速化を図るためには、分散印刷システム中の全てのプリンタが印刷処理を行っている時間の割合を多くし、プリンタが印刷処理を行っていない印刷待機時間をできるだけ短くする必要がある。すなわち、ＶＤＰシステムがプリンタに効率よく印刷ジョブを投入することが必要になる。
このため、従来は、ＶＤＰシステムがプリンタの状態を監視し、印刷待機中のプリンタに優先的に印刷ジョブを送信するといった方法がとられていた。
【０００７】
また、ホストコンピュータは、ページ単位で印刷データ（文書データ）を解析し、カラーが含まれると判定されたページの印刷データを、カラー印刷に対応した印刷装置へ送信する。一方、ホストコンピュータは、モノクロページであると判定されたページの印刷データを、モノクロ印刷に対応した印刷装置へ送信する技術が特許文献１に記載されている。
【０００８】
【特許文献１】特開平９−２６５３６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載の技術では、例えば１００ページの文書データにおいて、１〜５０ページ目がカラーページであり、５１〜１００ページ目がモノクロページである場合、印刷処理の効率化を図ることができなくなる可能性がある。つまり、特許文献１に記載の技術はページ順に従って印刷処理を実行するため、モノクロプリンタは、５１ページ目の印刷データが生成されてから印刷処理を開始する。
よって、上記特許文献１に記載の技術では、複数のプリンタの並行処理を実現できなくなるおそれがあった。
【００１０】
本発明は、このような問題点に鑑みてなされたものであり、複数台のプリンタを効率よく稼動させて印刷処理の効率化を図ることを目的とする。
【課題を解決するための手段】
【００１１】
本発明のデータ処理装置は、複数の印刷装置と通信可能であり、ドキュメントデータのデータ領域に差し込みデータを入力して各印刷装置が処理可能な出力データを送信する情報処理装置であって、ドキュメントデータに差し込まれる差し込みデータの内容に基づいて、印刷に使用される複数の印刷用データを複数の記憶領域へ分類する分類手段と、前記分類手段により分類された印刷用データの記憶領域に関連付けられた出力先に前記印刷用データに基づく出力データを出力する出力手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ドキュメントデータに差し込まれる差し込みデータの記憶先を分類してから印刷することで、印刷処理の効率化を図ることが可能となる。
【発明を実施するための最良の形態】
【００１３】
次に、図面を参照しながら、本発明の実施形態について説明する。
図１は、本発明の実施形態を示し、印刷システムの概略構成の一例を示した図である。
図１において、印刷システムは、ＶＤＰシステム１０１と、データ転送用インターフェース１０２と、２つの分散印刷システム（分散印刷システムＡ、Ｂ）１０３ａ、１０３ｂとを備えている。２つの分散印刷システム（分散印刷システムＡ、Ｂ）１０３ａ、１０３ｂは、例えば、インターネットやＬＡＮ等のネットワークであるデータ転送用インターフェース１０２を経由して、ＶＤＰシステム１０１と接続されている。このように、図１に示す印刷システムには、複数の分散印刷システム１０３ａ、１０３ｂが存在している。尚、図１では、ＶＤＰシステム１０１が１つ、分散印刷システム１０３が２つの場合を例に挙げて示しているが、ＶＤＰシステム１０１を２つ以上、分散印刷システム１０３を３つ以上とすることもできる。
【００１４】
図２は、分散印刷システム１０３のモジュール構成の一例を示した図である。
図２において、分散印刷システム１０３は、データ処理装置（情報処理装置）の一例である分散印刷コンピュータ２０１と、データ転送用インターフェース２０２と、印刷装置の一例である２つのプリンタ（プリンタＡ、Ｂ）２０３ａ、２０３ｂとを備えている。２つのプリンタ（プリンタＡ、Ｂ）２０３ａ、２０３ｂは、例えば、インターネットやＬＡＮ等のネットワークであるデータ転送用インターフェース２０２を経由して、分散印刷コンピュータ２０１と接続されている。このように、分散印刷システム１０３の夫々には、１つ以上のプリンタ２０３が存在している。なお、本願の情報処理装置は、複数の印刷装置と通信可能であり、ドキュメントデータのデータ領域に差し込みデータを入力して各印刷装置が処理可能な出力データを送信する。
【００１５】
分散印刷コンピュータ２０１は、分散印刷を行うコンピュータである。分散印刷コンピュータ２０１は、後述するように、パーソナルコンピュータ等、ＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスク、各種のインターフェース等を備えたコンピュータである。分散印刷コンピュータ２０１は、ＶＤＰシステム１０１からデータ転送用インターフェース１０２を経由して印刷ジョブを受信する。そして、分散印刷コンピュータ２０１は、必要に応じてデータ転送用インターフェース２０２を経由してプリンタ２０３ａ、２０３ｂに印刷ジョブを送信する。
【００１６】
分散印刷ジョブマネージャ２０４は、例えばハードディスクに記憶されたコンピュータプログラムを用いて実現される。分散印刷ジョブマネージャ２０４は、分散印刷コンピュータ２０１が受信した印刷ジョブを、自身が属する分散印刷システム１０３中のプリンタ２０３に振り分けて送信するための処理を、分散印刷コンピュータ２０１上で実行する。更に、分散印刷ジョブマネージャ２０４は、自身が属する分散印刷システム１０３中の全てのプリンタ２０３について、プリンタ２０３が印刷中か印刷待機中かを示す情報を、プリンタ２０３から取得することができる。更に、分散印刷ジョブマネージャ２０４は、受信した印刷ジョブに基づく印刷が完了したことを示す情報を、プリンタ２０３から取得し、それを通知することもできる。ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）２０５ａ、２０５ｂは、分散印刷コンピュータ２０１から受信した印刷ジョブをラスターデータに展開するための処理を、プリンタ２０３上で実行する。
【００１７】
尚、図２では、分散印刷ジョブマネージャ２０４を、分散印刷コンピュータ２０１上で動作させ、ＲＩＰ２０５をプリンタ２０３上で動作させる場合を例に挙げて示した。しかしながら、分散印刷ジョブマネージャ２０４をプリンタ２０３上で動作させてもいいし、ＲＩＰ２０５を分散印刷コンピュータ２０１上で動作させてもいい。更に、分散印刷コンピュータ２０１を２台以上で構成してもよい。データ転送用インターフェース１０２、２０２を共有させてもいい。
【００１８】
図３は、ＶＤＰシステムの基本的なモジュール構成の一例を示した図である。
図３に示すＶＤＰシステム３００は、ＶＤＰコンピュータ３０１を備えている。ＶＤＰコンピュータ３０１は、後述するように、パーソナルコンピュータ等、ＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスク、各種のインターフェース等を備えたコンピュータである。
【００１９】
図３において、ＶＤＰアプリケーション３０２は、データベースモジュール３０３から差し込みデータを受け取り、受け取った差し込みデータを使用して印刷ジョブを作成し、ＶＤＰジョブマネージャ３０５に渡す。ＶＤＰアプリケーション３０２は、印刷ジョブを作成するためのコンピュータプログラムを用いて実現される。データベースモジュール３０３は、差し込みテーブル３０４を管理（操作）し、ＶＤＰアプリケーション３０２からの要求に応じて、差し込みデータを差し込みテーブル３０４から取得して、ＶＤＰアプリケーション３０２に渡す。データベースモジュール３０３は、例えばハードディスクに記憶されたコンピュータプログラムを用いて実現される。
【００２０】
差し込みテーブル３０４は、ＶＤＰアプリケーション３０２で使用される差し込みデータを保持するためのテーブルであり、例えばハードディスクに格納されている。ＶＤＰジョブマネージャ３０５は、ＶＤＰアプリケーション３０２が作成した印刷ジョブを、データ転送用インターフェース１０２を介して、分散印刷システム１０３に送信する。ＶＤＰジョブマネージャ３０５は、例えばハードディスクに記憶されたコンピュータプログラムを用いて実現される。
【００２１】
図３に示すＶＤＰシステム３００では、ユーザによる操作に基づいて、ＶＤＰアプリケーション３０２がＶＤＰドキュメントを作成して編集する。ＶＤＰドキュメントには、差し込み領域と差し込みデータの種類とが含まれている。ＶＤＰアプリケーション３０２は、差し込みデータの種類で指定されている差し込みデータを、データベースモジュール３０３内の差し込みテーブル３０４から取得する。つまり、ＶＤＰドキュメントとは、差し込みデータが差し込まれる領域を有するテンプレートである。
【００２２】
ＶＤＰアプリケーション３０２は、取得した差し込みデータを使用して印刷ジョブを作成し、作成した印刷ジョブをＶＤＰジョブマネージャ３０５に送信する。ＶＤＰジョブマネージャ３０５は、受け取った印刷ジョブを複数の分散印刷システム１０３ａ、１０３ｂに振り分けながら送信する。ＶＤＰシステム３００から送信された印刷ジョブを受信すると、分散印刷システム１０３内の分散印刷ジョブマネージャ２０４は、必要に応じて受信した印刷ジョブを複数のプリンタに振り分けて送信する。印刷ジョブを受信したプリンタ２０３ａ、２０３ｂは、ＲＩＰ２０５ａ、２０５ｂを使用して、印刷ジョブに対してＲＩＰ処理を行い、ＲＩＰ処理の結果を印刷物として出力する。
【００２３】
図４は、本実施形態におけるＶＤＰシステム１０１のモジュール構成の一例を示す図である。
図４に示すＶＤＰシステム１０１は、ＶＤＰコンピュータ４０１を備えている。ＶＤＰコンピュータ４０１は、後述するように、パーソナルコンピュータ等、ＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスク、各種のインターフェース等を備えたコンピュータである。また、図４に示す各ブロック間で信号（データ）の送受信（やり取り）を行うことにより、以下の処理が実現される。
【００２４】
図４において、ＶＤＰアプリケーション４０２は、ＶＤＰドキュメントを作成するためのコンピュータプログラムを用いて実現される。ＶＤＰアプリケーション４０２は、データベースモジュール４０５から差し込みデータを受け取り、配置するための領域を含むＶＤＰドキュメントを作成する。ＶＤＰジョブ生成モジュール４０３は、ＶＤＰアプリケーション４０２からＶＤＰドキュメントを受け取ると共に、データベースモジュール４０５から分類済み差し込みデータを受け取る。そして、ＶＤＰジョブ生成モジュール４０３は、ＶＤＰドキュメントと分類済み差し込みデータとを使用して印刷ジョブを作成し、ＶＤＰジョブマネージャ４０４に渡す。ＶＤＰジョブ生成モジュール４０３は、例えばハードディスクに記憶されたコンピュータプログラムを用いて実現される。なお、ＶＤＰアプリケーション４０２は、ＶＤＰドキュメントの各領域に差し込みデータを配置した状態でプレビュー表示することも可能である。
【００２５】
ＶＤＰジョブマネージャ４０４は、ＶＤＰジョブ生成モジュール４０３で作成された印刷ジョブを、データ転送用インターフェース１０２を介して、分散印刷システム１０３に送信する。ＶＤＰジョブマネージャ４０４は、例えばハードディスクに記憶されたコンピュータプログラムを用いて実現される。
データベースモジュール４０５は、差し込みテーブル４０６を管理（操作）し、ＶＤＰアプリケーション４０２からの要求に応じて、差し込みデータを差し込みテーブル４０６から取得して、ＶＤＰアプリケーション３０２に渡す。更に、データベースモジュール４０５は、分類済み差し込みテーブル群４０７を管理（操作）し、分類済み差し込みテーブルと、分類済み差し込みデータとを登録する。そして、データベースモジュール４０５は、ＶＤＰジョブ生成モジュール４０３からの要求に応じて、分類済み差し込みテーブルと分類済み差し込みデータとを、分類済み差し込みテーブル群４０７から取得して、ＶＤＰジョブ生成モジュール４０３に渡す。データベースモジュール４０５は、例えばハードディスクに記憶されたコンピュータプログラムを用いて実現される。なお、分類済み差し込みテーブルは、分類された差し込みデータ等を記憶する記憶領域である。
【００２６】
差し込みテーブル４０６は、ＶＤＰアプリケーション４０２で使用される差し込みデータを保持するためのテーブルであり、例えばハードディスクに格納されている。分類済み差し込みテーブル群４０７は、キューマネージャ４０９により作成される分類済み差し込みデータを保持するための複数の分類済み差し込みテーブルを備えて構成される。分類済み差し込みテーブル群４０７は、例えばハードディスクに格納されている。
キューマネージャ４０９は、データベースモジュール４０５から差し込みデータを受け取り、ワークフローマネージャ４０８から受け取る分類情報にしたがって、差し込みデータを加工する。そして、キューマネージャ４０９は、データベースモジュール４０５を経由して、加工した差し込みデータを分類済み差し込みデータとして分類済み差し込みテーブル群４０７に保持させる。キューマネージャ４０９は、例えばハードディスクに記憶されたコンピュータプログラムを用いて実現される。
【００２７】
ワークフローマネージャ４０８は、キューマネージャ４０９に分類情報を送信する。ワークフローマネージャ４０８は、分類情報を保持しており、さらに分類済み差し込みテーブル名と分散印刷システム名との対応表も保持している。ワークフローマネージャ４０８は、例えば、ハードディスク等の記憶媒体と、ハードディスクに記憶されたコンピュータプログラムを用いて実現される。尚、本実施形態では、ワークフローマネージャ４０８が保持している分類情報と対応表は、システム管理者（ユーザ）による入力操作等によって予め用意されているものである。
尚、図４に示す各ブロック（モジュール）４０２〜４０９は、複数のコンピュータ上で動作させてもいいし、分散印刷コンピュータ２０１上で動作させてもいい。
【００２８】
図５は、ＶＤＰアプリケーション４０２で生成されるＶＤＰドキュメントの構造の一例を概念的に示した図である。
図５において、ＶＤＰドキュメント５００には、レイアウトデータ５０１が含まれている。レイアウトデータ５０１には、差し込みデータ以外の描画オブジェクト５０２が直接記述されている。更に、レイアウトデータ５０１には、差し込みデータを差し込むための差し込み領域（データ領域ともいう）５０３、５０４と、差し込みデータの種類５０５、５０６とが設定されている。
【００２９】
図６は、差し込みテーブル４０６の一例を示した図である。
図６の差し込みテーブル４０６には、差し込みデータの種類６０１、６０２の欄に、その差し込みデータの種類６０１、６０２に対応した差し込みデータが記憶されている。図６では、名前の差し込みデータ「赤沼」と住所の差し込みデータ「神奈川県」との組み合わせによりレコードデータ（差し込みデータ群）が構成される。
図７は、ワークフローマネージャ４０８により保持されている分類情報の一例を示した図である。
図７に示す分類情報１４００には、まず、差し込みデータの種類「住所」が、「神奈川県」である差し込みデータ群は、分類済み差し込みテーブル群４０７のテーブルＡに分類されることが記述されている。更に、図７に示す分類情報１４００には、差し込みデータの種類「住所」が、「東京都」である差し込みデータ群は、分類済み差し込みテーブル群のテーブルＢに分類されることが記述されている。このように、図７に示す分類情報１４００では、バリアブルデータ（可変データ）である差し込みデータ中の所定のデータ項目として「住所」が選択され、分類すべき所定の値として「神奈川県」及び「東京都」が夫々選択された例を示している。尚、前述したように、本実施形態では、ワークフローマネージャ４０８が提供するユーザインタフェースを、システム管理者が操作することによって、図７に示すような分類情報１４００を設定することができる。
【００３０】
図８は、図６に示した差し込みテーブル４０６と、図７に示した分類情報１４００とを用いて、キューマネージャ４０９が作成した分類済み差し込みテーブル群４０７の一例を示した図である。ここでは、２つの分類済み差し込みテーブル（テーブルＡ、Ｂ）７０１、７０２から、分類済み差し込みテーブル群４０７が構成されている場合を例に挙げて示している。
【００３１】
各分類済み差し込みテーブル７０１、７０２は、差し込みデータの種類７０３、７０４と、差し込みデータの種類に対応した差し込みデータと、印刷完了フラグ７０５と、印刷ジョブ識別子７０６とが互いに対応付けられて記憶されている。差し込みデータの種類７０３、７０４は、差し込みテーブル４０６に記憶されている差し込みデータの種類６０１、６０２と対応するものである。
【００３２】
図９は、分類済み差し込みテーブル名と分散印刷システム名との対応表の一例を示した図である。前述したように、この対応表９０１は、ワークフローマネージャ４０８により保持されている。図９では、図７に示した分類情報１４００に含まれる分類済み差し込みテーブルの名前１５０１と、本システム上の分散印刷システム１０３の名前１５０２とが互いに対応付けられて記憶されている場合を例に挙げて示している。
【００３３】
尚、この対応表９０１において、分類済み差し込みテーブル名と分散印刷システム名だけでなく、分散印刷システム名１５０２で示される分散印刷システム１０３内のプリンタ２０３も対応付けることができる。このように分類済み差し込みテーブル名とプリンタとを対応付けた場合には、分散印刷システム１０３だけでなく、印刷するプリンタも指定することができる。
また、前述したように、本実施形態では、ワークフローマネージャ４０８が提供するユーザインタフェースを、システム管理者が操作することによって、図９に示すような対応表９０１を設定することができる。
【００３４】
また、前述したように、分類済み差し込みテーブルには、分類された差し込みデータ（分類済み差し込みデータ）が記憶されている。対応表９０１には、分類済み差し込みテーブルの名前１５０１と、分散印刷システム１０３の名前１５０２とが互いに対応付けられている。したがって、分類済み差し込みデータが分類済み差し込みテーブルに登録されると、対応表９０１によって、差し込みデータ（分類済み差し込みデータ）と、その差し込みデータの送信先となる分散印刷システム１０３（又はプリンタ２０３）とが関連付けられる。例えば、本実施例に従えば図６の「赤沼―神奈川県」のデータは、テーブルＡに登録されているので分散印刷システムＡに出力される。
【００３５】
図１０は、ＶＤＰアプリケーション４０２上でＶＤＰドキュメント５００を作成するための画面の一例を示した図である。図１０において、システム管理者が編集できるエリア１６０１上に、ＶＤＰドキュメント５００のレイアウトを示すレイアウトデータ５０１が表示されている。
システム管理者は、レイアウトデータ５０１上に、差し込みデータ以外の描画オブジェクト５０２と、差し込みデータを差し込むための差し込み領域５０３、５０４を配置してＶＤＰドキュメント５００の作成を指示する。差し込み領域５０３、５０４は、差し込みデータが配置される領域である。このため、ＶＤＰアプリケーション４０２上では、実際に印刷される内容は表示されず、システム管理者は、差し込みデータが印刷される位置のみを把握できる。更に、システム管理者は、差し込み領域５０３、５０４に、差し込みデータの種類５０５、５０６を関連付ける。差し込みデータの種類５０５、５０６は、ＶＤＰアプリケーション４０２が、データベースモジュール４０５を経由して差し込みテーブル４０６から取得したもの中から、システム管理者によって選択される。
【００３６】
ここで、図１１のフローチャートを参照しながら、ＶＤＰシステム１０１の印刷処理の一例について説明する。なお、図１１のフローチャートの各ステップは、ＣＰＵによって実行される。
ステップＳ９０１において、ＶＤＰアプリケーション４０２は、ＶＤＰドキュメント５００を作成するための画面をディスプレイに表示する（図１０を参照）。ＶＤＰアプリケーション４０２は、システム管理者（ユーザ）による画面の操作に基づいて、ＶＤＰドキュメント５００を作成する。
【００３７】
次に、ステップＳ９０２において、キューマネージャ４０９は、差し込みテーブル４０６と、分類情報１４００とを用いて、分類済み差し込みテーブル群４０７を作成する（図６〜図８を参照）。尚、このステップＳ９０２の処理の詳細については後述する。
次に、ステップＳ９０３において、ＶＤＰジョブ生成モジュール４０３は、データベースモジュール４０５を経由して、分類済み差し込みテーブル群４０７から、分類済み差し込みテーブルを１つ取得する。この処理は、例えば図８の分類済み指し込みテーブル７０１および７０２から、どちらかの分類済み指し込みテーブルを取得する処理に該当する。
【００３８】
次に、ステップＳ９０４において、ＶＤＰジョブ生成モジュール４０３は、データベースモジュール４０５を経由して取得した分類済み差し込みテーブル群４０７から、分類済み差し込みデータ群を１つ取得する。この処理は、例えば図８の分類済み指し込みテーブル７０１から、分類済み指し込みデータ群である「赤沼―神奈川県」を取得する処理に該当する。
次に、ステップＳ９０５において、ＶＤＰジョブ生成モジュール４０３は、ステップＳ９０４で取得した分類済み差し込みデータと、ステップＳ９０１で作成されたＶＤＰドキュメント５００とを用いて印刷ジョブを作成する。
図１２は、ＶＤＰドキュメントと印刷ジョブとの関係の一例を概念的に示した図である。ＶＤＰジョブ生成モジュール４０３は、ＶＤＰドキュメント５００の差し込み領域５０３、５０４に関連付けられている差し込みデータの種類５０５、５０６と対応する差し込みデータ４０６ａを、差し込み領域５０３、５０４に描画オブジェクトとして貼り付ける。これにより、印刷ジョブ１２０１が生成される。
以上のように、本実施形態では、例えば、ステップＳ９０５の処理を行うことによって、生成手段が実現される。
【００３９】
次に、ステップＳ９０６において、ＶＤＰジョブ生成モジュール４０３は、印刷ジョブ１２０１を一意に識別するための印刷ジョブ識別子を生成し、生成した印刷ジョブ識別子を印刷ジョブ１２０１中に埋め込む。そして、ＶＤＰジョブ生成モジュール４０３は、データベースモジュール４０５を経由して、印刷ジョブに埋め込んだ印刷ジョブ識別子を分類済み差し込みデータの印刷ジョブ識別子として分類済み差し込みテーブルに記録する。
次に、ステップＳ９０７において、ＶＤＰジョブ生成モジュール４０３は、印刷ジョブ１２０１と、印刷ジョブ１２０１を作成するときに使用した分類済み差し込みテーブル名（例えば、図８に示したテーブルＡ、Ｂ）とをＶＤＰジョブマネージャ４０４に送信する。
【００４０】
次に、ステップＳ９０８において、ＶＤＰジョブマネージャ４０４は、ワークフローマネージャ４０８から、分類済み差し込みテーブル名と分散印刷システム名との対応表９０１を取得する（図９を参照）。そして、ＶＤＰジョブマネージャ４０４は、ワークフローマネージャ４０８から取得した対応表９０１に含まれている分散印刷システム名から分散印刷システム１０３を決定する。つまり、ＶＤＰジョブマネージャ４０４は、分類済み差し込みテーブルに関連付けられた出力先に印刷に使用される出力データを出力する。
また、後述するように、本実施形態では、印刷が完了した分類済み差し込みデータの数が、複数の分類済み差し込みテーブル間で差がある場合には、分類済み差し込みデータの分類先を変更するようにしても良い（図１４のステップＳ１２０５、Ｓ１２０６）。このように、分類済み差し込みデータの分類先が変更された場合、ＶＤＰジョブマネージャ４０４は、その変更された分類先である分類済み差し込みテーブル７０１、７０２に対応付けられた（最新の）分散印刷システム名から、分散印刷システム１０３を決定する。
尚、対応表９０１において、分散印刷システム名１５０２で示される分散印刷システム１０３内のプリンタ２０３も記憶されている場合、ＶＤＰジョブマネージャ４０４は、記憶されているプリンタ２０３の中から、実際に印刷を行うプリンタ２０３も決定する。
【００４１】
次に、ステップＳ９０９において、ＶＤＰジョブマネージャ４０４は、ＶＤＰジョブ生成モジュール４０３から取得した印刷ジョブ１２０１を、ステップＳ９０８で決定した分散印刷システム１０３に送信する。このように、本実施形態では、例えば、ステップ９０８とステップＳ９０９の処理を行うことにより、出力手段が実現される。
次に、ステップＳ９１０において、ＶＤＰジョブ生成モジュール４０３は、ステップＳ９０３で取得した分類済み差し込みテーブル７０１、７０２から、全ての分類済み差し込みデータ群を取得したか否かを判定する。この判定の結果、全ての分類済み差し込みデータ群を取得していない場合には、まだ取得していない分類済み差し込みデータに対して、ステップＳ９０４以降の処理を行う。
【００４２】
一方、全ての分類済み差し込みデータを取得した場合には、ステップＳ９１１に進む。ステップＳ９１１に進むと、ＶＤＰジョブ生成モジュール４０３は、分類済み差し込みテーブル群４０７から、全ての分類済み差し込みテーブル７０１、７０２を取得したか否かを判定する。この判定の結果、全ての分類済み差し込みテーブル７０１、７０２を取得していない場合には、まだ取得していない分類済み差し込みテーブル７０１、７０２に対して、ステップＳ９０３以降の処理を行う。一方、全ての分類済み差し込みテーブル７０１、７０２を取得した場合には、ＶＤＰシステム１０１による印刷処理を終了する。
尚、ステップＳ９０４〜Ｓ９１０の処理は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が用意するマルチスレッド機能を利用し、１つの分類済み差し込みテーブル７０１、７０２に対し、１つのスレッドを作成してそのスレッド上で行うのが好ましい。
【００４３】
次に、図１３のフローチャートを参照しながら、分散印刷システム１０３の印刷処理の一例について説明する。
まず、ステップＳ１１０１において、分散印刷ジョブマネージャ２０４は、ＶＤＰシステム１０１から送信された印刷ジョブ１２０１を受信するまで待機する。印刷ジョブ１２０１を受信すると、ステップＳ１１０２に進む。
ステップＳ１１０２に進むと、分散印刷ジョブマネージャ２０４は、自身が属する分散印刷システム１０３中の全てのプリンタ２０３ａ、２０３ｂから、そのプリンタ２０３ａ、２０３ｂが印刷中か印刷待機中かを示す情報を取得する。
【００４４】
次に、ステップＳ１１０３において、分散印刷ジョブマネージャ２０４は、ステップＳ１１０２で取得した情報から、印刷待機中のプリンタがあるか否かを判定する。この判定の結果、印刷待機中のプリンタ２０３がない場合は、再度ステップＳ１１０２以降の処理を行う。一方、印刷待機中のプリンタ２０３があった場合は、ステップＳ１１０４に進む。ステップＳ１１０４に進むと、分散印刷ジョブマネージャ２０４は、ステップＳ１１０１で受信したと判定した印刷ジョブ１２０１を、ステップＳ１１０３で印刷待機中であると判定したプリンタ２０３に送信する。
尚、分散印刷システム１０３だけでなく、印刷するプリンタも指定された印刷ジョブ１２０１が送信された場合、ステップＳ１１０３において、分散印刷ジョブマネージャ２０４は、その指定されたプリンタが印刷待機中であるか否かを判定するようにする。
【００４５】
次に、ステップＳ１１０５において、印刷ジョブ１２０１を受信したプリンタ２０３は、ＲＩＰ２０５を使って、受信した印刷ジョブ１２０１をＲＩＰ処理し、ラスターデータに変換する。
次に、ステップＳ１１０６において、プリンタ２０３は、ステップＳ１１０５で生成したラスターデータをプリント出力する。
【００４６】
次に、ステップＳ１１０７において、プリンタ２０３は、プリント出力が終了したことを示す情報を、分散印刷ジョブマネージャ２０４に送信する。
次に、ステップＳ１１０８において、分散印刷ジョブマネージャ２０４は、プリンタ２０３におけるプリント出力が終了した印刷ジョブ１２０１の印刷ジョブ識別子を、ＶＤＰシステム１０１のキューマネージャ４０９に送信する。そして、分散印刷システム１０３の印刷処理を終了する。
【００４７】
図１４のフローチャートを参照しながら、ＶＤＰシステム１０１のＶＤＰコンピュータ３０１が印刷処理中に分類済み差し込みデータを更新する処理の一例について説明する。
まず、ステップＳ１２０１において、キューマネージャ４０９は、分散印刷システム１０３内の分散印刷ジョブマネージャ２０４から、印刷が終了した印刷ジョブ１２０１の印刷ジョブ識別子を受信したか否かを判定する。この判定の結果、印刷が終了した印刷ジョブ１２０１の印刷ジョブ識別子を受信していない場合には、印刷処理中に分類済み差し込みデータを更新する処理を終了する。
このように本実施形態では、例えば、ステップＳ１２０１の処理で、印刷が終了した印刷ジョブ１２０１の印刷ジョブ識別子を、印刷ジョブの実行状態として取得することにより、取得手段が実現される。
【００４８】
一方、印刷が終了した印刷ジョブ１２０１の印刷ジョブ識別子を受信した場合には、ステップＳ１２０２に進む。ステップＳ１２０２に進むと、キューマネージャ４０９は、データベースモジュール４０５を経由して、分類済み差し込みテーブル群４０７からＳ１２０１にて受信した印刷ジョブ識別子と一致する分類済み差し込みデータを検索する。
次に、ステップＳ１２０３において、キューマネージャ４０９は、データベースモジュール４０５を経由して見つかった分類済み差し込みデータの印刷完了フラグをＯＮにする（図８を参照）。
【００４９】
次に、ステップＳ１２０４において、キューマネージャ４０９は、印刷完了フラグがオフの分類済み差し込みデータの数を、分類済み差し込みテーブル群４０７から、分類済み差し込みテーブル７０１、７０２毎に取得する。
次に、ステップＳ１２０５において、キューマネージャ４０９は、印刷完了フラグがオフの分類済み差し込みデータの数に、分類済み差し込みテーブル７０１、７０２間で一定数以上の差があるか否かを判定する。この判定の結果、印刷完了フラグがオフの分類済み差し込みデータの数に、一定数以上の差がない場合には、印刷処理中に分類済み差し込みデータを更新する処理を終了する。
【００５０】
一方、印刷完了フラグがオフの分類済み差し込みデータの数に、一定数以上の差がある場合には、ステップＳ１２０６に進む。ステップＳ１２０６に進むと、キューマネージャ４０９は、データベースモジュール４０５を経由して、一定数以上の差がある全ての分類済み差し込みテーブル７０１、７０２を取得する。そして、キューマネージャ４０９は、印刷完了フラグがオフの分類済み差し込みデータの数が相対的に多い分類済み差し込みテーブルから、相対的に少ない分類済み差し込みテーブルに、印刷完了フラグがオフの分類済み差し込みデータを移動する。そして、印刷処理中に分類済み差し込みデータを更新する処理を終了する。
以上のように本実施形態では、例えば、ステップＳ１２０５、Ｓ１２０６の処理で、取得された印刷ジョブの実行状態に基づいて、分類された印刷用データの記憶領域を、他の記憶領域に変更する第１変更手段が実現される。この場合、ＶＤＰジョブマネージャ３０５は、変更された他の分類済み差し込みテーブルに関連付けられている印刷装置へ出力データを出力する。
【００５１】
図１５のフローチャートを参照しながら、分類済み差し込みテーブル群４０７の作成処理の一例について説明する。
まず、ステップＳ１３０１において、キューマネージャ４０９は、ワークフローマネージャ４０８から分類情報１４００を取得する（図７を参照）。
次に、ステップＳ１３０２において、キューマネージャ４０９は、データベースモジュール４０５を経由して、差し込みテーブル４０６から、差し込みデータを１つ取得する（図６を参照）。
【００５２】
次に、ステップＳ１３０３において、キューマネージャ４０９は、ステップＳ１３０１で取得した分類情報１４００に従って、ステップＳ１３０２で取得した差し込みデータが、どの分類済み差し込みテーブルにコピーされるかを決定する。例えば、キューマネージャ４０９は、図６の１レコード目の差し込みデータである「赤沼―神奈川県」を、図７の分類情報１４００に基づいてテーブルＡにコピーすることを決定する。
つまり、キューマネージャ４０９は、ドキュメントデータに差し込まれる差し込みデータの内容に基づいて、印刷に使用される複数の差し込みデータを複数の分類済み差し込みテーブルへ分類する。
次に、ステップＳ１３０４において、キューマネージャ４０９は、データベースモジュール４０５を経由して差し込みデータがコピーされる分類済み差し込みテーブルが、分類済み差し込みテーブル群４０７に既に存在するか否かを判定する。この判定の結果、差し込みデータがコピーされる分類済み差し込みテーブルが、分類済み差し込みテーブル群４０７に存在しない場合には、ステップＳ１３０５に進む。ステップＳ１３０５に進むと、キューマネージャ４０９は、データベースモジュール４０５を経由して、分類済み差し込みテーブル群４０７に、ステップＳ１３０３で決定した分類済み差し込みテーブルを新規に作成する。そして、ステップＳ１３０６に進む。
【００５３】
一方、差し込みデータがコピーされる分類済み差し込みテーブルが、分類済み差し込みテーブル群４０７に既に存在する場合には、ステップＳ１３０５を省略してステップＳ１３０６に進む。
ステップＳ１３０６に進むと、キューマネージャ４０９は、ステップＳ１３０３で決定した分類済み差し込みテーブルに、ステップＳ１３０２で取得した差し込みデータを追加する。
次に、ステップＳ１３０７において、キューマネージャ４０９は、データベースモジュール４０５を経由して、ステップＳ１３０６で追加した差し込みデータの印刷完了フラグをＯＦＦに設定すると共に、印刷ジョブ識別子を空欄に設定する（図８を参照）。
以上のように本実施形態では、例えば、図１５の処理を行うことによって、分類手段が実現される。なお、本実施形態では、分類手段は、複数の差し込みデータを複数の分類済み差し込みテーブルへ分類しているが、分類対象が差し込みデータに限られる必要はない。例えば、印刷ジョブであっても構わない。よって、分類対象は印刷に使用される印刷用データであれば良い
また、前述したように、分類済み差し込みデータが分類済み差し込みテーブルに登録されると、対応表９０１によって、分類済み差し込みデータと、その分類済み差し込みデータの送信先となる分散印刷システム１０３（又はプリンタ２０３）とが関連付けられる。
【００５４】
次に、ステップＳ１３０８において、キューマネージャ４０９は、差し込みテーブル４０６から、全ての差し込みデータを取得したか否かを判定する。この判定の結果、全ての差し込みデータを取得していない場合には、まだ取得していない差し込みデータに対してステップＳ１３０２以降の処理を行う。一方、全ての差し込みデータを取得した場合には、分類済み差し込みテーブル群の作成処理を終了する。
【００５５】
図１６は、以上のような機能を有する本実施形態の印刷システムで使用されるコンピュータにおけるハードウェアの構成の一例を示すブロック図である。
ＣＰＵ８０１は、外部記憶装置（例えばハードディスク）８０４に格納されている制御プログラムをＲＡＭ８０２に展開して装置全体の制御を行う。ＲＡＭ８０２は、ＣＰＵ８０１が実行する本装置の制御プログラムや、文書、画像等のデータを一時的に格納する内部記憶部である。ネットワークインタフェース（ＮｅｔＩ／Ｆ）８０３は、ＣＰＵ８０１の制御のもとに、インターネット等のデータ転送用インターフェース１０２、２０２との接続を行って、データ等を送受信する。ＲＯＭ８０８は、各種のデータを記憶する内部記憶部である。尚、ＲＯＭ８０８に制御プログラムが記憶されていてもよい。
【００５６】
外部記憶装置８０４は、データやコンピュータプログラムを保存するハードディスク（磁気ディスク）等の記憶部である。ディスプレイ８０５は、ＬＣＤ（Liquid Crystal Display）等のコンピュータディスプレイである。キーボード８０６と、マウス等のポインティングデバイス８０７は、ユーザインタフェースである。
【００５７】
外部記憶装置（ハードディスク）８０４に保存されている制御プログラムは、同じく外部記憶装置８０４（ハードディスク）に格納されているオペレーティングシステムの機能を必要に応じて使用して、例えば、次のような処理を行う。制御プログラムは、ＲＡＭ８０２に一時的に記憶するデータの内容を読み書きしたり、外部記憶装置８０４上でデータを読み書きしたり、ネットワークインタフェース８０３を通じてデータの送受信を行ったりする。更に、制御プログラムは、キーボード８０６やポインティングデバイス８０７からの入力を受け取ったり、ディスプレイ８０５に画像を表示したりする。以上のような処理を行うことによって、図１１、図１３〜図１５に示す処理の少なくとも一部を実現することができる。
【００５８】
以上のように本実施形態では、ワークフローマネージャ４０８は、分類済み差し込みテーブル名と分散印刷システム名との対応表９０１と分類情報１４００とを予め記憶しておく。キューマネージャ４０９は、差し込みテーブル４０６に記憶された差し込みデータを、分類情報１４００に従って分類し、分類済み差し込みテーブル７０１、７０２に記憶させる。ＶＤＰジョブ生成モジュール４０３は、分類済み差し込みテーブル７０１、７０２に記憶されている分類済み差し込みデータと、ＶＤＰドキュメント５００とを用いて印刷ジョブ１２０１を作成する。ＶＤＰジョブマネージャ４０４は、分類済み差し込みテーブル名と分散印刷システムとの対応表９０１に基づいて、印刷ジョブ１２０１を送信する分散印刷システム１０３を決定し、その分散印刷システム１０３に印刷ジョブ１２０１を送信する。
【００５９】
以上のように、プリントする内容を変えるための差し込みデータを分類して、分類済み差し込みテーブル７０１、７０２に記憶することにより、分類済み差し込みテーブル７０１、７０２を、分散印刷システム１０３用のデータベースとして、予め構築しておく。そして、分類済み差し込みテーブル名と分散印刷システムとの対応表９０１に基づいて、分類済み差し込みテーブル７０１、７０２に記憶されている分類済み差し込みデータの送信先を決定して送信する。
【００６０】
このように、プリントする内容を変えるための差し込みデータを分類し、分類先に応じて、印刷ジョブ１２０１の送信先となる分散印刷システム１０３を決定するので、ユーザが所望する分散印刷システム１０３に、印刷ジョブを効率的に振り分けることができる。例えば、図８及び図９に示した例では、分類済み差し込みテーブル（テーブルＡ）７０１の分類済み差し込みデータに基づく印刷ジョブ１２０１については、神奈川県の分散印刷システム（分散印刷システムＡ）１０３に出力できる。一方、分類済み差し込みテーブル（テーブルＢ）７０２の分類済み差し込みデータに基づく印刷ジョブ１２０１ついては、東京都の分散印刷システム（分散印刷システムＢ）１０３に出力できる。
【００６１】
また、印刷ジョブ１２０１を生成した後に、その印刷ジョブ１２０１の送信先となる分散印刷システム１０３（プリンタ２０３）を決定するのではなく、対応表９０１等に基づいて、送信先となる分散印刷システム１０３（プリンタ２０３）を予め決定した。したがって、分散印刷システム１０３中の各プリンタ２０３が同一でないような分散印刷システム１０３でも、効率よく使用するプリンタを決定することができる。
【００６２】
また、各プリンタ２０３における印刷ジョブ１２０１の印刷状況を監視し、分散印刷システム１０３用に構築したデータベース（分類済み差し込みテーブル７０１、７０２）を、印刷処理中に変更（更新）するようにした。したがって、使用する分散印刷システム１０３（プリンタ２０３）を、より効率よく決定することができると共に、印刷処理を高速にすることができる。
【００６３】
更に、分散印刷システム１０３用に構築した複数のデータベース（分類済み差し込みテーブル７０１、７０２）で、印刷が完了した分類済み差込データの数に差がある場合、特定の分散印刷システム１０３（プリンタ２０３）の処理負荷が増大する。この場合、印刷が完了した分類済み差込データの数が多い分類済み差し込みテーブルから、印刷が完了した分類済み差込データの数が少ない分類済み差し込みテーブルへ、印刷が未完了の分類済み差込データを移動する。このようにして、分類済み差し込みテーブル７０１、７０２において処理する順番を変更すると、より効率よく処理できる。
【００６４】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。前述した第１の実施形態と、本実施形態とは、図１１に示した印刷処理と、図１５に示した分類済み差し込みテーブル群４０７の作成処理の一部が異なる。また、本実施形態では、キューマネージャ４０９とＶＤＰジョブ生成モジュール４０３とが通信を行う。このように、本実施形態と、前述した第１の実施形態とは、印刷処理と分類済み差し込みテーブル群の作成処理とが主として異なる。よって、本実施形態の説明において、前述した第１の実施形態と同一の部分については、図１〜図１６に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００６５】
図１７のフローチャートを参照しながら、ＶＤＰアプリケーション４０２と、キューマネージャ４０９とが行う処理（印刷処理と分類済み差し込みテーブル群の作成処理）の一例について説明する。本実施形態では、前述した第１の実施形態の図１１及び図１５に示したフローチャートの代わりに、この図１７に示すフローチャートと、後述する図１８に示すフローチャートとが実行される。
まず、ステップＳ１７０１において、ＶＤＰアプリケーション４０２は、ＶＤＰドキュメント５００を作成するための画面をディスプレイに表示する（図１０を参照）。ＶＤＰアプリケーション４０２は、システム管理者（ユーザ）による画面の操作に基づいて、ＶＤＰドキュメント５００を作成する。
【００６６】
次に、ステップＳ１７０２において、キューマネージャ４０９は、ワークフローマネージャ４０８から、分類情報１４００を取得する（図７を参照）。
次に、ステップＳ１７０３において、キューマネージャ４０９は、データベースモジュール４０５を経由して、差し込みテーブル４０６から差し込みデータを１つ取得する。
次に、ステップＳ１７０４において、キューマネージャ４０９は、ステップＳ１７０２で取得した分類情報１４００に従って、ステップＳ１７０３で取得した差し込みデータをコピーすべき分類済み差し込みテーブルを決定する。
【００６７】
次に、ステップＳ１７０５において、キューマネージャ４０９は、データベースモジュール４０５を経由して差し込みデータがコピーされる分類済み差し込みテーブルが、分類済み差し込みテーブル群４０７に既に存在するか否かを判定する。この判定の結果、差し込みデータがコピーされる分類済み差し込みテーブルが、分類済み差し込みテーブル群４０７に存在しない場合には、ステップＳ１７０６に進む。ステップＳ１７０６に進むと、キューマネージャ４０９は、データベースモジュール４０５を経由して、分類済み差し込みテーブル群４０７に、ステップＳ１７０４で決定した分類済み差し込みテーブルを新規に作成する。そして、ステップＳ１７０７に進む。
【００６８】
一方、差し込みデータがコピーされる分類済み差し込みテーブルが、分類済み差し込みテーブル群４０７に既に存在する場合には、ステップＳ１７０６を省略してステップＳ１７０７に進む。
ステップＳ１７０７に進むと、キューマネージャ４０９は、ステップＳ１７０４で決定した分類済み差し込みテーブルに、ステップＳ１７０３で取得した差し込みデータを追加する。
次に、ステップＳ１７０８において、キューマネージャ４０９は、データベースモジュール４０５を経由して、ステップＳ１７０７で追加した差し込みデータの印刷完了フラグをＯＦＦに設定すると共に、印刷ジョブ識別子を空欄に設定する（図８を参照）。
【００６９】
次に、ステップＳ１７０９において、キューマネージャ４０９は、データベースモジュール４０５を経由して、ステップＳ１７０４で決定した分類済み差し込みテーブルに追加した分類済み差し込みデータの数を取得する。
次に、ステップＳ１７１０において、キューマネージャ４０９は、追加した分類済み差し込みデータの数が一定数（予め定められた数）以上か否かを判定する。このとき、本実施形態において、キューマネージャ４０９は、同一の分類済み差し込みテーブルに追加した差し込みデータの数が一定数以上か否かを判定する（すなわち、分類済み差し込みデータ数が一定数以上か否かを、分類済み差し込みテーブル毎に判定する）。このように、本実施形態では、例えば、ステップＳ１７１０の処理を行うことにより、第１判定手段が実現される。
【００７０】
この判定の結果、追加した分類済み差し込みデータの数が一定数以上である場合には、ステップＳ１７１１に進む。
ステップＳ１７１１に進むと、キューマネージャ４０９は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が用意するマルチスレッド機能を利用して、１つのスレッドを作成し、ＶＤＰジョブ生成モジュール４０３を動作する。そして、キューマネージャ４０９は、ＶＤＰジョブ生成モジュール４０３に、ステップＳ１７０４で決定した分類済み差し込みテーブルを伝える。そして、ステップＳ１７１２に進む。これ以降の動作は、ＶＤＰジョブ生成モジュール４０３と、キューマネージャ４０９とが非同期に動作することになる。ＶＤＰジョブ生成モジュール４０３の処理については後述する。
【００７１】
一方、追加した分類済み差し込みデータ数が一定数以上でない場合には、ステップＳ１７１１を省略してステップＳ１７１２に進む。
ステップＳ１７１２に進むと、キューマネージャ４０９は、差し込みテーブル４０６から、全ての差し込みデータを取得したか否かを判定する。この判定の結果、差し込みテーブル４０６から、全ての差し込みデータを取得していない場合には、まだ取得していない差し込みデータに対して、ステップＳ１７０３以降の処理を行う。
一方、差し込みテーブル４０６から、全ての差し込みデータを取得した場合には、印刷処理と分類済み差し込みテーブル群の作成処理と（図１７のフローチャート）を終了する。
【００７２】
次に、図１８のフローチャートを参照しながら、ＶＤＰジョブ生成モジュール４０３とＶＤＰジョブマネージャ４０４とが行う処理（印刷処理と分類済み差し込みテーブル群の作成処理）の一例について説明する。
まず、ステップＳ１８０１において、ＶＤＰジョブ生成モジュール４０３は、データベースモジュール４０５を経由して、ステップＳ１７１１でキューマネージャ４０９から伝えられた分類済み差し込みテーブルから、分類済み差し込みデータを１つ取得する。
次に、ステップＳ１８０２において、ＶＤＰジョブ生成モジュール４０３は、ステップＳ１８０１で取得した分類済み差し込みデータと、ステップＳ１７０１で作成されたＶＤＰドキュメント５００とを用いて印刷ジョブを作成する。
【００７３】
次に、ステップＳ１８０３において、ＶＤＰジョブ生成モジュール４０３は、印刷ジョブ１２０１を一意に識別するための印刷ジョブ識別子を生成し、生成した印刷ジョブ識別子を印刷ジョブ１２０１中に埋め込む。そして、ＶＤＰジョブ生成モジュール４０３は、データベースモジュール４０５を経由して、その印刷ジョブ識別子を分類済み差し込みデータの印刷ジョブ識別子として記録する。
次に、ステップＳ１８０４において、ＶＤＰジョブ生成モジュール４０３は、印刷ジョブ１２０１と、印刷ジョブ１２０１を作成するときに使用した分類済み差し込みテーブル名とをＶＤＰジョブマネージャ４０４に送信する。
【００７４】
次に、ステップＳ１８０５において、ＶＤＰジョブマネージャ４０４は、ワークフローマネージャ４０８から、分類済み差し込みテーブル名と分散印刷システムとの対応表９０１を取得する（図９を参照）。そして、ＶＤＰジョブマネージャ４０４は、ワークフローマネージャ４０８から取得した対応表９０１に含まれている分散印刷システム名から分散印刷システム１０３を決定する。
尚、対応表９０１において、分散印刷システム名１５０２で示される分散印刷システム１０３内のプリンタ２０３も記憶されている場合、ＶＤＰジョブマネージャ４０４は、記憶されているプリンタ２０３の中から、実際に印刷を行うプリンタ２０３も決定する。
【００７５】
次に、ステップＳ１８０６において、ＶＤＰジョブマネージャ４０４は、ＶＤＰアプリケーション４０２から取得した印刷ジョブ１２０１を、ステップＳ１８０５で決定した分散印刷システム１０３に送信する。
次に、ステップＳ１８０７において、ＶＤＰジョブ生成モジュール４０３は、分類済み差し込みテーブル７０１、７０２から、全ての分類済み差し込みデータを取得したか否かを判定する。
【００７６】
この判定の結果、全ての分類済み差し込みデータを取得していない場合には、まだ取得していない分類済み差し込みデータに対して、ステップＳ１８０１以降の処理を行う。一方、全ての分類済み差し込みテーブル７０１、７０２を取得した場合には、印刷処理と分類済み差し込みテーブル群の作成処理と（図１８のフローチャート）を終了する。
【００７７】
以上のように本実施形態では、分類済み指し込みデータの数が一定数以上であると判定された場合、ＶＤＰジョブ生成モジュールのスレッドを生成する。そのため、印刷ジョブの生成処理と、差込データの分類処理とを（ＶＤＰジョブ生成モジュール４０３、ＶＤＰジョブマネージャ４０４の処理と、キューマネージャ４０９の処理とを）、非同期で並行して行うことが可能となる。よって、一定数以上の分類済み指し込みデータの数であっても、効率的に処理することが可能となる。また、本実施形態では、分類済み差し込みテーブルに追加した分類済み差込データの数が一定数以上になってから、印刷を開始するようにした。したがって、プリンタが止まっている時間を短縮化し、より一層効率よく処理を行うことができる。
【００７８】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。前述した第１、第２の実施形態と、本実施形態とは、印刷処理と、分類済み差し込みテーブル群４０７の作成処理の一部が異なる。このように、本実施形態と、前述した第１、第２の実施形態とは、印刷処理と分類済み差し込みテーブル群の作成処理とが主として異なる。よって、本実施形態の説明において、前述した第１、第２の実施形態と同一の部分については、図１〜図１８に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００７９】
図１９のフローチャートを参照しながら、ＶＤＰアプリケーション４０２と、キューマネージャ４０９とが行う処理（印刷処理と分類済み差し込みテーブル群の作成処理）の一例について説明する。本実施形態では、前述した第２の実施形態の図１７に示すフローチャートの代わりに、この図１９に示すフローチャートが実行される。
まず、ステップＳ１９０１からＳ１９０２は、図１７のＳ１７０１からＳ１７０２と同様の処理であるため詳細な説明は省略する。
【００８０】
次に、ステップＳ１９０３において、キューマネージャ４０９は、差し込みテーブル４０６の何番目の差し込みデータを取得するかを示すデータ取得カウンタの値を「１」に、差込データの読み飛ばしを示す読み飛ばしカウンタの値を「０」にする。
次に、ステップＳ１９０４において、キューマネージャ４０９は、データベースモジュール４０５を経由して、差し込みテーブル４０６から、データ取得カウンタ値に相当する差し込みデータを１つ取得する。例えば、データカウンタ値が４であれば、図６の差し込みテーブルから「遠藤―神奈川」という差し込みデータが取得される。
【００８１】
次に、ステップ１９０５において、キューマネージャ４０９は、データ取得カウンタの値を「１」増やす。このように本実施形態では、通常は、データ取得カウンタの値を１ずつ増やすことにより、差し込みテーブル４０６に記憶されている差し込みデータを、分類済み差し込みテーブルに、予め定められた順番で分類するようにしている。
次に、ステップＳ１９０６からステップＳ１９１１の処理は、図１７のステップＳ１７０４からＳ１７０９の処理と同等であるため詳細な説明は省略する。
次に、ステップＳ１９１２において、キューマネージャ４０９は、追加した分類済み差し込みデータの数が一定数以上か否かを判定する。このとき、本実施形態では、キューマネージャ４０９は、同一の分類済み差し込みテーブルに追加した差し込みデータの数が一定数以上か否かを判定する（すなわち、分類済み差し込みデータ数が一定数以上か否かを、分類済み差し込みテーブル毎に判定する）。
この判定の結果、追加した分類済み差し込みデータの数が一定数以上である場合には、後述するステップＳ１９１３に進む。一方、追加した分類済み差し込みデータ数が一定数以上でない場合には、ステップＳ１９１４に進む。
【００８２】
ステップＳ１９１４に進むと、キューマネージャ４０９は、読み飛ばしカウンタの値が「０」であり、且つ、既に分類（処理）した差し込みデータの数が一定数以上であるか否かを判定する。なお、読み飛ばしカウンタの値が「０」である場合、キューマネージャ４０９は読み飛ばし処理を実行していないこととなる。ステップＳ１９１４の判定の結果、読み飛ばしカウンタの値が「０」であり、且つ、既に分類した差し込みデータの数が一定数以上である場合には、ステップＳ１９１５に進む。このように、本実施形態では、例えば、ステップＳ１９１４の処理を行うことにより、第２判定手段が実現される。
ステップＳ１９１５に進むと、キューマネージャ４０９は、読み飛ばしカウンタの値に、データ取得カウンタの値を代入する。そして、キューマネージャ４０９は、現状のデータ取得カウンタの値を一定数増やす。そして、後述するステップＳ１９１６に進む。このように、本実施形態では、例えば、ステップＳ１９１５の処理を行うことにより、第２変更手段が実現される。
【００８３】
一方、読み飛ばしカウンタが「０」でない場合、又は既に分類した差し込みデータの印刷処理した数が一定数以上でない場合には、ステップＳ１９１５を省略して、後述する１９１６に進む。
ステップＳ１９１２において、追加した差し込みデータの数が一定数以上である場合には、ステップＳ１９１３に進む。ステップＳ１９１３に進むと、キューマネージャ４０９は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が用意するマルチスレッド機能を利用して、１つのスレッドを作成し、ＶＤＰジョブ生成モジュール４０３を動作させる。そして、キューマネージャ４０９は、ＶＤＰジョブ生成モジュール４０３に、ステップＳ１９０６で決定した分類済み差し込みテーブルを伝える。そして、ステップＳ１９１６に進む。これ以降の動作は、ＶＤＰジョブ生成モジュール４０３と、キューマネージャ４０９とが非同期に動作することになる。ＶＤＰジョブ生成モジュール４０３の処理は、第２の実施形態（図１８の処理）と同じであるので説明を省略する。
【００８４】
以上のようにしてステップＳ１９１６に進むと、キューマネージャ４０９は、差し込みテーブル４０６に、データ取得カウンタの値に相当する差し込みデータがあるか否かを判定する。この判定の結果、差し込みテーブル４０６に、データ取得カウンタの値に相当する差し込みデータがある場合には、その差込データに対して、ステップＳ１９０４以降の処理を行う。
一方、差し込みテーブル４０６に、データ取得カウンタの値に相当する差し込みデータがない場合には、ステップＳ１９１７に進む。ステップＳ１９１７に進むと、キューマネージャ４０９は、データ取得カウンタの値に、読み飛ばしカウンタの値を代入する。
【００８５】
次に、ステップＳ１９１８において、キューマネージャ４０９は、差し込みテーブル４０６に、データ取得カウンタの値に相当する差し込みデータがあるか否かを判定する。この判定の結果、差し込みテーブル４０６に、データ取得カウンタの値に相当する差し込みデータがある場合には、その差込データに対して、ステップＳ１９０４以降の処理を行う。
一方、差し込みテーブル４０６に、データ取得カウンタの値番目の差し込みデータがない場合には、印刷処理と分類済み差し込みテーブル群の作成処理と（図１９のフローチャート）を終了する。
ここで、第３の実施形態により生じる効果について具体例を挙げて説明する。なお、本説明において、キューマネージャ４０９は、分類済みデータ数が１０個以上であると判定した場合、一定数以上であると判定してステップＳ１９１５へ処理を進めるものとする。また、ステップＳ１９１５において、キューマネージャ４０９は、データ取得カウンタの値を８５増やすものとする。
例えば、図２１のように、差し込みデータテーブル２１０１にはプリンタ１にて処理されるデータＡが１から９４まで保持される。一方、プリンタ２にて処理されるデータＢが、９５〜１００までに保持される。このような状態でデータを分類すると、前半はプリンタ１のみが稼動し、後半はプリンタ２のみが稼動するため、効率的な処理を行えなくなるおそれがある。
【００８６】
キューマネージャ４０９は、１つ目のデータから順次分類済み差し込みテーブルを決定する（ステップＳ１９０６）。そして、順次処理を行いデータ取得カウンタが「１０」になったとする。ここで、キューマネージャ４０９は、処理した差し込みデータの数が一定以上であると判定するため、現状のデータ取得カウンタ「１０」を読み飛ばしカウンタに代入し、当該データ取得カウンタ「１０」に一定数である「８５」をプラスする。その結果、処理対象となるデータ取得カウンタは、「９５」となる。
ここで、キューマネージャ４０９は、差し込みデータテーブルには９５番目のデータがあることを認識して、９５番目のデータである「データＢ」を分類することが可能となり、データＢを印刷するプリンタ２を稼動することが可能となる。
その結果、例えば図２１のように前半と後半で異なるプリンタを利用するデータが連続する場合、第３の実施形態における手法によって読み飛ばすことで効率的な分散印刷を実行することが可能となる。
なお、図１９のステップＳ１９１６においてＹｅｓと判定された場合、次に分類対象となる差し込みデータの分類先が変更するか否かを判定する。そして、変更する場合にはステップＳ１９０４に処理を進め、一方、分類先が変更しない場合には、再度読み飛ばし処理を実行しても構わない。
【００８７】
以上のように本実施形態では、差し込みデータをある程度処理したのにも関わらず、分類済み差し込みテーブル７０１、７０２に追加される分類済み差し込みデータの数が一定数より小さい場合には、差込データを読み飛ばすようにする。そして、読み飛ばした差込データを後で処理するようにする。したがって、例えば、特定の分類済み差し込みテーブルに偏って、分類済み差込データが追加されてしまうことを可及的に防止することができ、効率よく処理できる。
【００８８】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。前述した第１〜第３の実施形態と、本実施形態とは、印刷処理と、分類済み差し込みテーブル群４０７の作成処理の一部が異なる。このように、本実施形態と、前述した第１〜第３の実施形態とは、印刷処理と分類済み差し込みテーブル群の作成処理とが主として異なるだけである。よって、本実施形態の説明において、前述した第１〜第３の実施形態と同一の部分については、図１〜図１９に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００８９】
図２０のフローチャートを参照しながら、ＶＤＰアプリケーション４０２と、キューマネージャ４０９と、キューマネージャ４０９が作成した複数のスレッドとが行う処理（印刷処理と分類済み差し込みテーブル群の作成処理）の一例について説明する。本実施形態では、前述した第２、第３の実施形態の図１７、図１９に示すフローチャートの代わりに、この図２０に示すフローチャートが実行される。
まず、ステップＳ２００１およびＳ２００２の処理は、ステップＳ１７０１およびＳ１７０２と同等であるため詳細な説明は省略する。
【００９０】
次に、ステップＳ２００３において、キューマネージャ４０９は、データベースモジュール４０５を経由して、差し込みテーブル４０６に格納されている差し込みデータの数を取得する。
次に、ステップＳ２００４において、キューマネージャ４０９は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が用意するマルチスレッド機能を利用して、ステップＳ２００３で取得した差し込みデータの数に応じた複数のスレッドを作成する。そして、キューマネージャ４０９は、各スレッドに差し込みデータの開始番号と終了番号とを伝える。キューマネージャが伝える開始番号と終了番号は、各スレッドで重複せず、更に全てのスレッドで差し込みテーブル４０６の全ての差し込みデータの番号を網羅できるようになっている。
【００９１】
次に、ステップＳ２００５において、各スレッドは、差し込みテーブルの何番目の差し込みデータを取得するかを示すデータ取得カウンタの値を、キューマネージャ４０９から通知された開始番号に設定する。
次に、ステップＳ２００６において、各スレッドは、データベースモジュール４０５を経由して、差し込みテーブル４０６から、データ取得カウンタの値に相当する差し込みデータを１つ取得する。
次に、ステップＳ２００７において、キューマネージャ４０９は、データ取得カウンタの値を「１」増やす。
【００９２】
次に、実行されるステップＳ２００８からＳ２０１４は、処理を実行する主体が各スレッドであるが、処理内容は図１９のステップＳ１９０６からＳ１９１２と同等の処理であるため詳細な説明は省略する。
【００９３】
ステップＳ２０１４の判定の結果、追加した分類済み差し込みデータの数が一定数以上である場合には、ステップＳ２０１５に進む。ステップＳ２０１５に進むと、各スレッドは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が用意するマルチスレッド機能を利用して、１つのスレッドを作成し、ＶＤＰジョブ生成モジュール４０３を動作させる。そして、各スレッドは、ＶＤＰジョブ生成モジュール４０３に、ステップＳ２００８で決定した分類済み差し込みテーブルを伝える。そして、ステップＳ２０１６に進む。これ以降の動作は、ＶＤＰジョブ生成モジュール４０３と、各スレッドとが非同期に動作することになる。ＶＤＰジョブ生成モジュールの処理については実施例２のＶＤＰジョブ生成モジュールの処理と同一になる。ＶＤＰジョブ生成モジュール４０３の処理は、第２の実施形態（図１８の処理）と同じであるので説明を省略する。
【００９４】
一方、追加した分類済み差し込みデータ数が一定数以上でない場合には、ステップＳ２０１５を省略してステップＳ２０１６に進む。
ステップＳ２０１６に進むと、各スレッドは、データ取得カウンタの値が、キューマネージャ４０９から通知された終了番号であるか否かを判定する。この判定の結果、データ取得カウンタの値が、キューマネージャ４０９から通知された終了番号でない場合には、ステップＳ２００６以降の処理を行う。
一方、データ取得カウンタの値が、キューマネージャ４０９から通知された終了番号である場合には、スレッドを終了し、印刷処理と分類済み差し込みテーブル群の作成処理と（図２０のフローチャート）を終了する。
【００９５】
以上のように本実施形態では、差し込みテーブル４０６に含まれる差し込みデータの数に応じた複数のスレッドにより、差し込みテーブル４０６に含まれる差し込みデータを、分類済み差し込みテーブル７０１、７０２に分類する処理を並列して（同時に）行った。したがって、例えば、特定の分類済み差し込みテーブルに偏って、分類済み差込データが追加されてしまうことを可及的に防止することができ、効率よく処理できる。
【００９６】
（本発明の他の実施形態）
前述した本発明の実施形態における情報処理装置を構成する各手段、並びに情報処理方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００９７】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００９８】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図１１、図１３〜図１５、図１７〜図２０に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００９９】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１００】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１０１】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１０２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１０３】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１０４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１０５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１０６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１０７】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【０１０８】
【図１】本発明の第１の実施形態を示し、印刷システムの概略構成の一例を示した図である。
【図２】本発明の第１の実施形態を示し、分散印刷システムのモジュール構成の一例を示した図である。
【図３】本発明の第１の実施形態を示し、ＶＤＰシステムの基本的なモジュール構成の一例を示した図である。
【図４】本発明の第１の実施形態を示し、ＶＤＰシステムのモジュール構成の一例を示す図である。
【図５】本発明の第１の実施形態を示し、ＶＤＰアプリケーションで生成されるＶＤＰドキュメントの構造の一例を概念的に示した図である。
【図６】本発明の第１の実施形態を示し、差し込みテーブルの一例を示した図である。
【図７】本発明の第１の実施形態を示し、ワークフローマネージャにより保持されている分類情報の一例を示した図である。
【図８】本発明の第１の実施形態を示し、図６に示した差し込みテーブルと、図７に示した分類情報とを用いて、キューマネージャが作成した分類済み差し込みテーブル群の一例を示した図である。
【図９】本発明の第１の実施形態を示し、分類済み差し込みテーブル名と分散印刷システム名との対応表の一例を示した図である。
【図１０】本発明の第１の実施形態を示し、ＶＤＰアプリケーション上でＶＤＰドキュメントを作成するための画面の一例を示した図である。
【図１１】本発明の第１の実施形態を示し、ＶＤＰシステムの印刷処理の一例について説明するフローチャートである。
【図１２】本発明の第１の実施形態を示し、ＶＤＰドキュメントと印刷ジョブとの関係の一例を概念的に示した図である。
【図１３】本発明の第１の実施形態を示し、分散印刷システムの印刷処理の一例について説明するフローチャートである。
【図１４】本発明の第１の実施形態を示し、印刷処理中に分類済み差し込みデータを更新する処理の一例について説明するフローチャートである。
【図１５】本発明の第１の実施形態を示し、分類済み差し込みテーブル群の作成処理の一例について説明するフローチャートである。
【図１６】本発明の第１の実施形態を示し、印刷システムで使用されるコンピュータにおけるハードウェアの構成の一例を示すブロック図である。
【図１７】本発明の第２の実施形態を示し、ＶＤＰアプリケーションと、キューマネージャとが行う処理（印刷処理と分類済み差し込みテーブル群の作成処理）の一例について説明するフローチャートである。
【図１８】本発明の第２の実施形態を示し、ＶＤＰジョブ生成モジュールとＶＤＰジョブマネージャとが行う処理（印刷処理と分類済み差し込みテーブル群の作成処理）の一例について説明するフローチャートである。
【図１９】本発明の第３の実施形態を示し、ＶＤＰアプリケーションと、キューマネージャとが行う処理（印刷処理と分類済み差し込みテーブル群の作成処理）の一例について説明するフローチャートである。
【図２０】本発明の第４の実施形態を示し、ＶＤＰアプリケーションと、キューマネージャと、キューマネージャが作成した複数のスレッドとが行う処理（印刷処理と分類済み差し込みテーブル群の作成処理）の一例について説明するフローチャートである。
【図２１】本発明の第３の実施形態を示し、差し込みデータテーブルの一例を示した図である。
【符号の説明】
【０１０９】
１０１  ＶＤＰシステム
１０２  データ転送用インターフェース
１０３  分散印刷システム
２０１  分散印刷コンピュータ
２０３  プリンタ
４０１  ＶＤＰコンピュータ
４０２  ＶＤＰアプリケーション
４０３  ＶＤＰジョブ生成モジュール
４０４  ＶＤＰジョブマネージャ
４０５  データベースモジュール
４０６  差し込みテーブル
４０７  分類済み差し込みテーブル群
４０８  ワークフローマネージャ
４０９  キューマネージャ
【図１】
2008225921.tif 000003
【図２】
2008225921.tif 000004
【図３】
2008225921.tif 000005
【図４】
2008225921.tif 000006
【図５】
2008225921.tif 000007
【図６】
2008225921.tif 000008
【図７】
2008225921.tif 000009
【図８】
2008225921.tif 000010
【図９】
2008225921.tif 000011
【図１０】
2008225921.tif 000012
【図１１】
2008225921.tif 000013
【図１２】
2008225921.tif 000014
【図１３】
2008225921.tif 000015
【図１４】
2008225921.tif 000016
【図１５】
2008225921.tif 000017
【図１６】
2008225921.tif 000018
【図１７】
2008225921.tif 000019
【図１８】
2008225921.tif 000020
【図１９】
2008225921.tif 000021
【図２０】
2008225921.tif 000022
【図２１】
2008225921.tif 000023