(57)【要約】【課題】印刷ジョブの合成によるオーバーヘッドを防止して装置全体の処理性能の低下を抑制する印刷処理システム、情報処理装置、方法およびプログラムを提供すること。【解決手段】本発明は、ページ単位の画像データの印刷ジョブである中間データを生成し、合成規則に合致する中間データを合成する合成プロセスを生成すると共に、当該合成プロセスが合成すべき中間データを提供し、合成プロセスが、複数の中間データを合成して複数ページの画像データの印刷ジョブを生成し、印刷装置に印刷させる情報処理装置を提供する。【選択図】図３
2013050845.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置に印刷を実行させる情報処理装置であって、前記情報処理装置は、
ページ単位の画像データの印刷ジョブである中間データを生成する中間データ生成手段と、
前記中間データを合成する規則を規定する合成規則を参照して、前記合成規則に合致する中間データを合成する合成プロセスを生成する合成プロセス生成手段と
を含み、
前記合成プロセス生成手段は、
複数の合成プロセスを生成し、各合成プロセスが合成すべき中間データを提供し、
前記複数の合成プロセスはそれぞれ、
中間データを合成して複数ページの画像データの印刷ジョブを生成し、前記印刷装置に印刷させる、情報処理装置。
【請求項２】
前記合成プロセスは、前記合成規則に規定された中間データの待機の終了条件が充足されるまで中間データを待機する、請求項１に記載の情報処理装置。
【請求項３】
前記合成プロセスは、前記合成規則で規定する合成順序で中間データを合成する、請求項１または２に記載の情報処理装置。
【請求項４】
印刷装置と、前記印刷装置に印刷を実行させる情報処理装置およびプリントサーバとを含む印刷処理システムであって、
前記情報処理装置は、
ページ単位の画像データの印刷ジョブである中間データを生成する中間データ生成手段と、
前記中間データを合成する規則を規定する合成規則を参照して、前記合成規則に合致する中間データを合成する合成プロセスを生成する合成プロセス生成手段と
を含み、
前記合成プロセス生成手段は、
複数の合成プロセスを生成し、各合成プロセスが合成すべき中間データを提供し、
前記複数の合成プロセスはそれぞれ、
中間データを合成して複数ページの画像データの印刷ジョブを生成して前記プリントサーバに送信し、
前記プリントサーバは、
前記複数ページの画像データの印刷ジョブからページ記述言語で記述した印刷データを生成する印刷データ生成手段と、
前記印刷データを前記印刷装置に送信して印刷させる印刷制御手段と
を含む、印刷処理システム。
【請求項５】
印刷装置と、前記印刷装置に印刷を実行させるプリントサーバとを含む印刷処理システムであって、
前記プリントサーバは、
ページ単位の画像データの印刷ジョブである中間データを合成して生成された複数ページの画像データの印刷ジョブからページ記述言語で記述した印刷データを生成する印刷データ生成手段と、
前記印刷データを前記印刷装置に送信して印刷させる印刷制御手段と
を含む、印刷処理システム。
【請求項６】
印刷装置に印刷を実行させる情報処理装置が実行する方法であって、前記方法は、前記情報処理装置が、
ページ単位の画像データの印刷ジョブである中間データを生成するステップと、
前記中間データを合成する規則を規定する合成規則を参照して、前記合成規則に合致する中間データを合成する合成プロセスを生成するステップと
を含み、
前記合成プロセスを生成するステップは、
複数の合成プロセスを生成し、各合成プロセスが合成すべき中間データを提供するステップを含み、
前記複数の合成プロセスはそれぞれ、
中間データを合成して複数ページの画像データの印刷ジョブを生成し、前記印刷装置に印刷させるステップを含む、方法。
【請求項７】
情報処理装置に対して、請求項６に記載のステップを実行させるためのコンピュータ実行可能なプログラム。
【請求項８】
印刷装置に印刷を実行させる情報処理装置であって、前記情報処理装置は、
ページ単位の画像データの印刷ジョブである中間データを生成する中間データ生成手段と、
前記中間データを合成する規則を規定する合成規則を参照して、前記合成規則に合致する中間データを処理するプロセスを生成するプロセス生成手段と、
を含み、
前記プロセス生成手段は、
複数のプロセスを生成し、各プロセスが合成すべき中間データを提供すると共に、印刷を実行すべき印刷装置を規定する振分規則を参照して、印刷処理を実行すべき印刷装置を決定して、その識別情報を各プロセスに提供し、
前記複数のプロセスはそれぞれ、
中間データを合成して複数ページの画像データの印刷ジョブを生成し、前記識別情報が示す印刷装置に印刷させる、情報処理装置。
【請求項９】
複数の印刷装置と、前記印刷装置に印刷を実行させる情報処理装置およびプリントサーバとを含む印刷処理システムであって、
前記情報処理装置は、
ページ単位の画像データの印刷ジョブである中間データを生成する中間データ生成手段と、
前記中間データを合成する規則を規定する合成規則を参照して、前記合成規則に合致する中間データを処理するプロセスを生成するプロセス生成手段と、
を含み、
前記プロセス生成手段は、
複数のプロセスを生成し、各プロセスが合成すべき中間データを提供すると共に、印刷を実行すべき印刷装置を規定する振分規則を参照し、印刷処理を実行すべき印刷装置を決定して、その識別情報を各プロセスに提供し、
前記複数のプロセスはそれぞれ、
中間データを合成して複数ページの画像データの印刷ジョブを生成して、前記識別情報と共に前記プリントサーバに送信し、
前記プリントサーバは、
前記複数ページの画像データの印刷ジョブからページ記述言語で記述した印刷データを生成する印刷データ生成手段と、
前記印刷データを前記識別情報が示す印刷装置に送信して印刷させる印刷制御手段と
を含む、印刷処理システム。
【請求項１０】
複数の印刷装置と、前記印刷装置に印刷を実行させるプリントサーバとを含む印刷処理システムであって、
前記プリントサーバは、
ページ単位の画像データの印刷ジョブである中間データを合成して生成された複数ページの画像データの印刷ジョブからページ記述言語で記述した印刷データを生成する印刷データ生成手段と、
指定された印刷装置に前記印刷データを送信して印刷させる印刷制御手段と
を含む、印刷処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御技術に関し、より詳細には、複数の印刷ジョブを合成する印刷処理システム、情報処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
従来、ネットワークプリンタを利用した印刷処理システムにおいて、複数の原稿画像を合成して印刷処理を行う印刷制御技術が提案されている。
【０００３】
このような印刷制御技術の一例として、特許文献１は、複数のクライアントマシンから受信した原稿データを１つの印刷ジョブに合成する印刷制御装置を開示する。この印刷制御装置は、複数のクライアントマシンから受信した原稿データが集約対象であるか否かを判定し、集約対象と判定された原稿データをデータ保持部に保持し、集約対象のすべての原稿データが揃った時点で、これらの原稿データを１つの印刷ジョブに合成する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１が開示する従来の印刷制御装置では、複数のクライアントマシンから受信した原稿データを単一処理によって処理するため、同時期に複数のクライアントマシンから多量の原稿データを受信したとき、これらの原稿データの処理がオーバーヘッドとなり、印刷ジョブの合成によって印刷制御装置全体の処理性能が低下するという問題があった。
【０００５】
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、印刷ジョブの合成によるオーバーヘッドを防止して装置全体の処理性能の低下を抑制する印刷処理システム、情報処理装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、ページ単位の画像データの印刷ジョブである中間データを生成し、合成規則に合致する中間データを合成する合成プロセスを生成すると共に、当該合成プロセスが合成すべき中間データを提供し、合成プロセスが、複数の中間データを合成して複数ページの画像データの印刷ジョブを生成し、印刷装置に印刷させる情報処理装置を提供する。また、本発明は、ページ単位の画像データの印刷ジョブである中間データを合成して、複数ページの画像データの印刷ジョブを生成して印刷する印刷処理システム、方法およびプログラムを提供する。
【発明の効果】
【０００７】
本発明は、上記構成要件を採用することにより、ページ単位の画像データの印刷ジョブを合成する合成プロセスを生成し、独立した合成プロセスそれぞれが関連する画像データの印刷ジョブを合成するため、印刷ジョブの合成処理によるオーバーヘッドを防止することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の印刷処理システムの一実施形態を示す図。
【図２】本発明の情報処理装置であるクライアントＰＣのハードウェア構成を示す図。
【図３】本発明の一実施形態に係るクライアントＰＣおよびプリントサーバの機能構成を示す図。
【図４】本発明の印刷処理システムが実行する印刷処理を示すシーケンス図。
【図５】本実施形態のクライアントＰＣが実行する合成プロセスの生成処理を示すフローチャート。
【図６】本実施形態のクライアントＰＣが実行する中間データの合成処理を示すフローチャート。
【図７】本実施形態のクライアントＰＣが使用する合成規則の一実施形態を示す図。
【図８】本実施形態のクライアントＰＣが使用する管理テーブルの実施形態を示す図。
【図９】本発明が採用する中間データの合成処理を示す概念図。
【図１０】本発明の他の実施形態に係るクライアントＰＣおよびプリントサーバの機能構成を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本発明の印刷処理システムの一実施形態を示す図である。印刷処理システム１００は、ネットワーク１４０を介して接続されたクライアントＰＣ１１２，１１４，１１６と、プリントサーバ１２０と、印刷装置１３０とを含んで構成されている。
【００１０】
クライアントＰＣ１１２〜１１６は、デスクトップ型ＰＣやノート型ＰＣなどの情報処理装置であり、通常印刷またはテストプリントを指定して、種々の画像の印刷を指示することができる。クライアントＰＣ１１２〜１１６は、印刷対象である画像データをページ単位で識別可能なフォーマットで構成した印刷ジョブである中間データを生成し、これらの中間データを合成して、プリントサーバ１２０を介して印刷装置１３０に印刷処理を実行させる。
【００１１】
中間データは、ＰＤＦ（Portable Document Format）形式やＸＰＳ（XML Paper Specification）形式等のように、複数ページを１のファイルに包含するデータ形式を採用することができる。また、ＥＭＦ（Enhanced Meta File）形式やＤＩＢ（Device Independent Bitmap）形式等のように、１のファイルが１のページから成る形式を採用することもできる。また、中間データには、印刷設定を指示する印刷設定情報、印刷要求元のアプリケーションプログラムの名称やホスト名、ユーザ名、印刷日時などのメタデータを付加することができる。また、メタデータが記述された他のファイルを中間データに関連付けてもよい。
【００１２】
プリントサーバ１２０は、クライアントＰＣ１１２〜１１６から受信した中間データから、印刷対象の画像データをページ記述言語（ＰＤＬ：Page Description Language）で記述した印刷データを生成し、印刷装置１３０に送信して印刷を実行させる装置である。
【００１３】
印刷装置１３０は、プリントサーバ１２０から受信した印刷データからラスタデータを生成し、印刷用紙等の印刷媒体に印刷する印刷装置である。図１に示す実施形態では、印刷装置１３０としてＭＦＰ（Multiple Function Printer）を採用するが、他の実施形態では、レーザプリンタやインクジェットプリンタ等のページプリンタを採用してもよい。
【００１４】
ネットワーク１４０は、イーサネット（登録商標）、光ネットワーク、ＩＥＥＥ８０２．１１などの規格の無線ネットワークを含んで構成することができるネットワークである。また、ネットワーク１４０は、ＬＡＮの他、ＶＰＮ（Virtual Private Network）などによるセキュア環境下で構築されたインターネットなどの広域ネットワークを含んで構成されていてもよい。
【００１５】
図２は、本発明の情報処理装置であるクライアントＰＣのハードウェア構成を示す図である。以下、図２を参照して、クライアントＰＣ１１２のハードウェア構成について説明する。なお、クライアントＰＣ１１４および１１６は、クライアントＰＣ１１２と同様のハードウェア構成を有するため、以下、説明を省略する。また、プリントサーバ１２０もクライアントＰＣ１１２と同様のハードウェア構成を有することができる。
【００１６】
クライアントＰＣ１１２は、プロセッサ２００と、ＲＯＭ２０２と、ＲＡＭ２０４と、ハードディスク装置（ＨＤＤ）２０６と、外部機器接続インタフェース２０８と、ネットワークインタフェース２１０とを含んで構成される。
【００１７】
プロセッサ２００は、クライアントＰＣ１１２が実行する処理を演算する装置であり、ＰＥＮＴＩＵＭ（登録商標）やＡＭＤ  Ａｔｈｌｏｎ（登録商標）等のＣＰＵやＭＰＵなどの種々のプロセッサを採用することができる。ＲＯＭ２０２は、ＢＩＯＳ等のブートプログラムなどが保存される不揮発性メモリである。
【００１８】
ＲＡＭ２０４は、本発明のプログラムを実行するための実行空間を提供する不揮発性メモリである。クライアントＰＣ１１２は、ＷＩＮＤＯＷＳ（登録商標）シリーズ、Ｍａｃ（登録商標）ＯＳ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）などのオペレーティングシステム（ＯＳ）の管理下でアセンブラ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＰＥＲＬ、ＲＵＢＹ、ＰＹＴＨＯＮなどのプログラム言語で記述された本発明のプログラムを展開して実行することにより、後述する各機能手段をクライアントＰＣ１１２上に実現する。
【００１９】
ＨＤＤ２０６は、大容量の不揮発性メモリであり、本発明のプログラムなどの様々なデータが保存される。本発明のプログラムは、ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納してインストールすることができると共に、ネットワークを介してインストールすることができる。
【００２０】
ネットワークインタフェース２１０は、外部ネットワークと接続するインタフェースであり、ＬＡＮケーブルコネクタやモジュラーケーブルコネクタ等の物理インタフェースである。外部機器接続インタフェース２０８は、マウスやキーボード、タッチパネル等の入力装置や表示装置などの接続するためのインタフェースであり、ＵＳＢポートやＶＧＡポート等の物理インタフェースである。
【００２１】
図３は、本実施形態のクライアントＰＣおよびプリントサーバの機能構成を示す図である。以下、図３を参照して、クライアントＰＣ１１２およびプリントサーバ１２０の機能構成について説明する。
【００２２】
クライアントＰＣ１１２は、アプリケーションプログラム３００ａ，３００ｂ，３００ｃと、ＯＳ３０２と、中間データ蓄積部３１２と、合成プロセス生成部３２０とを含んで構成される。
【００２３】
アプリケーションプログラム３００ａ，３００ｂ，３００ｃは、印刷対象である画像データを提供するプログラムであり、例えば、文書作成ソフトや表計算ソフト、画像作成ソフト、プレゼンテーションソフトなどの種々のアプリケーションプログラムを採用することができる。本実施形態では、アプリケーションプログラム３００ａ，３００ｂ，３００ｃから画像データを提供するが、他の実施形態では、業務アプリケーションプログラムやウェブブラウザなどの印刷指示が可能なプログラムから印刷対象である画像データを提供してもよい。
【００２４】
アプリケーションプログラム３００ａ，３００ｂ，３００ｃは、ユーザが発行した印刷指示を受信すると、印刷設定の変更指示および印刷実行命令を送信する。
【００２５】
ＯＳ３０２は、クライアントＰＣ１１２のシステム全体を制御するソフトウェアプログラムであり、印刷制御プログラム３０４を含んで構成される。印刷制御プログラム３０４は、印刷処理を制御する機能手段であり、印刷設定変更部３０６と、中間データ生成部３１０とを含んで構成される。
【００２６】
印刷設定変更部３０６は、印刷処理で用いる印刷設定を変更する機能手段である。印刷設定変更部３０６は、アプリケーションプログラム３００ａ，３００ｂ，３００ｃから印刷設定の変更指示を受信すると、ＯＳ３０２が管理する記憶装置（図示せず）から印刷設定情報を取得し、印刷設定を指定および変更可能なＧＵＩをクライアントＰＣ１１２の表示装置に表示する。
【００２７】
ユーザが当該ＧＵＩを使用して印刷設定情報の変更を指示すると、印刷設定変更部３０６は、指示された内容の印刷設定情報を記憶装置３０８に保存すると共に、クライアントＰＣ１１２を使用するユーザを識別するユーザ名やクライアントＰＣ１１２を識別するホスト名、印刷要求元のアプリケーションプログラムを識別するアプリケーション名などの付属情報をＯＳ３０２から取得し、記憶装置３０８に保存する。
【００２８】
中間データ生成部３１０は、中間データであるページ単位の印刷ジョブを生成する機能手段である。中間データ生成部３１０は、アプリケーションプログラム３００ａ，３００ｂ，３００ｃから印刷実行命令を受信すると、印刷ジョブの識別情報であるジョブ名を印刷ジョブ毎に生成する。本実施形態では、中間データ生成部３１０は、印刷対象のドキュメントの名称、当該ドキュメントの保存先のディレクトリパス、印刷要求元のアプリケーションプログラムの名称、ユーザがＧＵＩを用いてインタラクティブに指定する任意の文字や数字、記号などを使用して、ジョブ名を生成することができる。
【００２９】
そして、中間データ生成部３１０は、記憶装置３０８から印刷設定情報および付属情報を取得し、ジョブ名、印刷設定情報、付属情報をメタデータとする中間データを生成する。中間データ生成部３１０は、中間データを中間データ蓄積部３１２に提供する。
【００３０】
中間データ蓄積部３１２は、中間データであるページ単位の印刷ジョブを一時的に蓄積する機能手段である。中間データ蓄積部３１２は、中間データ生成部３１０から中間データ３１４，３１６，３１８を受信すると、ＨＤＤなどの記憶装置に順次保存する。中間データ蓄積部３１２は、中間データを保存すると、その旨を通知するイベントを発行する。
【００３１】
合成プロセス生成部３２０は、関連する複数の中間データを合成するプロセス（以下、「合成プロセス」とする。）を生成する機能手段である。
【００３２】
合成プロセス生成部３２０は、中間データの生成を通知するイベントが発行されると、記憶装置３２１に保存された合成規則を参照し、合成規則に規定されたジョブ名と、中間データにメタデータとして付加されたジョブ名とが合致する場合、合成プロセス３２３，３２４，３２５を生成する。ただし、合成プロセス生成部３２０は、管理テーブル３２２を参照し、中間データを処理すべき合成プロセスが既に生成されている場合には、新たな合成プロセスを生成しない。合成プロセス生成部３２０は、合成プロセス３２３，３２４，３２５が利用する合成規則および当該中間データを合成プロセスに提供する。なお、管理テーブル３２２については、図８を参照して詳細に説明する。
【００３３】
本実施形態では、オブジェクト指向プログラミングによって本発明の合成プロセスのクラスを予め用意しておき、合成プロセス生成部３２０は、そのクラスをインスタンス化してオブジェクトである合成プロセス３２３，３２４，３２５を生成する。合成プロセスのクラスは合成規則毎に用意することができ、合成プロセス生成部３２０は、中間データに関連する合成規則のクラスをインスタンス化して合成プロセスを生成することができる。また、総ての合成規則に共通の汎用的な合成プロセスのクラスを用意して、合成プロセス生成部３２０が、中間データに関連する合成規則を合成プロセスに提供するように構成してもよい。
【００３４】
合成プロセス生成部３２０は、合成規則に規定されたジョブ名と中間データに付加されたジョブ名とが異なる場合、合成プロセスを生成せず、中間データおよびそのメタデータである印刷設定情報をプリントサーバ１２０に印刷要求と共に送信する。
【００３５】
合成プロセス３２３，３２４、３２５は、合成規則３２６に基づいて、合成プロセス生成部３２０が提供する中間データ３２７を合成して、複数ページの画像データを含む印刷ジョブを生成する。合成プロセス３２３，３２４、３２５は、中間データ３２７を合成すると、当該複数ページの画像データを含む印刷ジョブをプリントサーバ１２０に送信する。
【００３６】
プリントサーバ１２０は、プリントサーバ１２０のシステム全体を制御するソフトウェアプログラムであるＯＳ３３０を含んで構成される。ＯＳ３３０は、印刷処理を制御する機能手段である印刷制御プログラム３３２を含んでおり、印刷制御プログラム３３２は、印刷制御部３３４と、印刷データ生成部３３６とを含んで構成される。
【００３７】
印刷制御部３３４は、印刷処理を制御する機能手段である。印刷制御部３３４は、クライアントＰＣ１１２,１１４,１１６から印刷要求を受信すると、印刷データ生成部３３６に印刷データを生成させ、その印刷データを印刷装置１３０に送信して印刷を実行させる。
【００３８】
印刷データ生成部３３６は、ページ記述言語で記述された印刷データを生成する機能手段である。印刷データ生成部３３６は、印刷要求と共に受信した中間データおよびメタデータである印刷設定情報を用いて、ページ記述言語で記述された印刷データを生成する。
【００３９】
本実施形態の印刷処理システムでは、プリントサーバ１２０が印刷制御部３３４および印刷データ生成部３３６を含む構成を採用するが、他の実施形態では、クライアントＰＣ１１２,１１４,１１６に印刷制御部３３４および印刷データ生成部３３６を含む構成を採用し、これらのクライアントＰＣから印刷装置１３０に印刷データを送信して印刷を実行してもよい。
【００４０】
図４は、本発明の印刷処理システムが実行する印刷処理を示すシーケンス図である。図４に示す実施形態では、アプリケーション３００ａ，３００ｂ，３００ｃは、ユーザが発行した印刷指示を受信すると、印刷設定変更部３０６に印刷設定変更指示を送信し、印刷設定変更部３０６がユーザ指示に基づいて印刷設定情報を変更する。そして、アプリケーション３００ａ，３００ｂ，３００ｃは、印刷実行命令を中間データ生成部３１０に送信し、中間データ生成部３１０は、当該印刷実行命令をトリガとして中間データを生成し、アプリケーション３００ａ，３００ｂ，３００ｃに終了通知を送信する。中間データ蓄積部３１２は、これらの中間データを蓄積する。
【００４１】
合成プロセス生成部３２０は、中間データ蓄積部３１２に蓄積された中間データを処理すべき合成プロセス３２３，３２４，３２５を生成し、中間データを提供する。合成プロセス３２３，３２４，３２５は、それぞれ合成プロセス生成部３２０が提供する中間データを合成し、複数ページから成る画像データの印刷ジョブをプリントサーバ１２０に送信する。プリントサーバ１２０は、当該印刷ジョブから印刷データを生成し、印刷装置１３０に送信して印刷処理を実行する。
【００４２】
図４に示すように、合成プロセス３２３，３２４，３２５は、それぞれ独立して中間データを合成する。これにより、中間データの合成処理を多重化することでき、印刷ジョブの合成によるオーバーヘッドを防止することができる。
【００４３】
図５は、本実施形態のクライアントＰＣが実行する合成プロセスの生成処理を示すフローチャートである。以下、図５を参照して、合成プロセス生成部３２０が実行する処理について説明する。
【００４４】
図５に示す処理は、合成プロセス生成部３２０がイベントを検出することにより、ステップＳ５００から開始する。ステップＳ５０１では、合成プロセス生成部３２０は、検出したイベントの種類を判断する。検出したイベントが中間データの生成を示すイベントである場合には、処理をステップＳ５０２に分岐する。
【００４５】
ステップＳ５０２では、合成プロセス生成部３２０は、中間データが、合成規則に合致するか否か判断する。なお、この判断方法については、図７を参照して詳細に説明する。
【００４６】
中間データが合成規則に合致しない場合には（ｎｏ）、処理をステップＳ５０３に分岐する。ステップＳ５０３では、合成プロセス生成部３２０は、プリントサーバ１２０に印刷要求および中間データを送信し、ステップＳ５０９で処理が終了する。
【００４７】
一方、中間データが合成規則に合致する場合には（ｙｅｓ）、処理をステップＳ５０４に分岐する。ステップＳ５０４では、合成プロセス生成部３２０は、管理テーブル３２２を参照し、ステップＳ５０２で合致すると判断した合成規則に対応する合成プロセスが既に生成されているか否か判断する。合成プロセスが既に生成されている場合には（ｙｅｓ）、処理をステップＳ５０７に分岐する。一方、合成プロセスが未だ生成されていない場合には（ｎｏ）、処理をステップＳ５０５に分岐する。
【００４８】
ステップＳ５０５では、合成プロセス生成部３２０は、新たな合成プロセスを生成して当該合成規則を提供し、当該合成規則に対応する合成プロセスを生成する。ステップＳ５０６では、合成プロセス生成部３２０は、当該合成規則を示す合成規則ＩＤおよびＯＳ３０２が生成したプロセスＩＤを管理テーブル３２２に登録する。
【００４９】
ステップＳ５０７では、合成プロセス生成部３２０は、中間データを当該合成規則に対応する合成プロセスに提供し、ステップＳ５０９で処理が終了する。
【００５０】
一方、ステップＳ５０１の判定で、検出したイベントが合成プロセスの終了を示すイベントであると判断した場合には、処理をステップＳ５０８に分岐する。
【００５１】
ステップＳ５０８では、合成プロセス生成部３２０は、終了した合成プロセスを示すプロセスＩＤおよびこれに関連付けられた合成規則ＩＤを管理テーブル３２２から削除し、ステップＳ５０９で処理が終了する。
【００５２】
図６は、本実施形態のクライアントＰＣが実行する中間データの合成処理を示すフローチャートである。以下、図６を参照して、合成プロセス３２３が実行する処理について説明する。
【００５３】
図６に示す処理は、図５に示すステップＳ５０５で合成プロセス生成部３２０が合成プロセス３２３を生成することにより、ステップＳ６００から開始する。ステップＳ６０１では、合成プロセス３２３が、合成プロセス生成部３２０から中間データを受信したか否か判断する。中間データを受信していない場合には（ｎｏ）、ステップＳ６０１の処理を反復する。一方、中間データを受信した場合には（ｙｅｓ）、処理をステップＳ６０２に分岐する。
【００５４】
ステップＳ６０２では、合成プロセス３２３は、中間データをＲＡＭ等の記憶装置に一時的に保存する。ステップＳ６０３では、合成プロセス３２３は、合成規則を参照し、中間データの待機の終了条件を満たしているか否か判断する。終了条件を満たしていない場合には（ｎｏ）、処理をステップＳ６０１に戻し、後続の中間データを待機する。一方、終了条件を満たしている場合には（ｙｅｓ）、処理をステップＳ６０４に分岐する。
【００５５】
ステップＳ６０４では、合成プロセス３２３は、所定の印刷順序で中間データを整列して合成する。ステップＳ６０５では、合成プロセス３２３は、中間データを合成して生成した印刷ジョブをプリントサーバ１２０に送信し、ステップＳ６０６で処理が終了し、合成プロセス３２３が消滅する。
【００５６】
図７は、本実施形態のクライアントＰＣが使用する合成規則の一実施形態を示す図である。合成規則は、中間データを合成する規則を規定するものであり、合成プロセス生成部３２０が、中間データが合成処理の対象であるか判断する際に使用されると共に、合成プロセス３２３，３２４，３２５が、中間データを待機すべきか判断する際に使用される。以下、図７を参照して、合成規則７００について説明する。
【００５７】
図７に示す合成規則７００は、４つの合成規則を含んで構成されており、ユーザ指定条件を規定する文字列「Ｕｓｅｒ」、ジョブ指定条件を既定する文字列「ＪｏｂＮａｍｅＰａｔｔｅｒｎ」、中間データの待機の終了条件を規定する文字列「Ｕｎｔｉｌ」、終了条件の例外を規定する文字列「Ｅｘｃｅｐｔ」が含まれる。
【００５８】
図７に示す合成規則１では、ユーザ指定条件として「※Ｓａｍｅ※」、ジョブ指定条件として「Ａ｜Ｂ｜Ｃ」、終了条件として「ＰａｔｔｅｒｎＣｏｍｐｌｅｔｅ」、終了条件の例外条件として「１０ｍｉｎ」が規定されている。
【００５９】
ユーザ指定条件「※Ｓａｍｅ※」は、同一のユーザの印刷指示によって生成された中間データの合成を指示する命令文であり、同一のユーザに対して合成規則１を適用することを意味する。ジョブ指定条件「Ａ｜Ｂ｜Ｃ」は、ジョブ名を示す文字列である。終了条件「ＰａｔｔｅｒｎＣｏｍｐｌｅｔｅ」は、ジョブ指定条件で規定するジョブ名の印刷ジョブを総て受信した場合に、中間データの待機処理を終了させる命令文である。例外条件「１０ｍｉｎ」は、合成プロセスが生成されてから中間データを待機する時間を示す。
【００６０】
合成規則１を採用する実施形態では、合成プロセス生成部３２０は、上述したように、中間データのジョブ名と合致するジョブ指定条件を含む合成規則を特定し、当該合成規則に対応する合成プロセスを生成する。例えば、中間データのジョブ名が文字「Ａ」で構成される場合、合成プロセス生成部３２０は、当該中間データが合成規則１に合致すると判断し、合成規則１を採用する合成プロセスを生成する。
【００６１】
そして、合成プロセス生成部３２０は、後続の中間データを受信すると、当該中間データのメタデータであるジョブ名が合成規則１のジョブ指定条件と合致するか否か判断する。当該ジョブ名が合成規則１のジョブ指定条件と合致する場合には、合成プロセス生成部３２０はさらに、当該中間データのメタデータであるユーザ名が合成規則１のユーザ指定条件と合致するか否か判断する。すなわち、合成プロセス生成部３２０は、管理テーブル３２２を参照し、当該合成プロセスに関連付けられたユーザ名と、当該中間データのメタデータであるユーザ名とが一致するか否か判断する。これらのユーザ名が一致する場合、合成プロセス生成部３２０は、当該中間データが合成規則１に合致すると判断し、当該合成プロセスに当該中間データを提供する。
【００６２】
一方、合成規則１を採用する合成プロセスは、文字「Ａ」、「Ｂ」または「Ｃ」から成るジョブ名が示す中間データを総て受信する迄、中間データを待機する。合成プロセスは、これらの中間データを総て受信すると、合成規則に規定されているジョブ名の記載順序、すなわち、ジョブ名「Ａ」、「Ｂ」および「Ｃ」の順で中間データを合成する。ただし、合成規則１には例外条件が既定されているため、合成プロセスは、これらの中間データを総て受信する前であっても、合成プロセスが生成されてから１０分が経過した時点で中間データの待機を中止し、それまでに受信した中間データを合成する。
【００６３】
本実施形態では、合成プロセスは、ＯＳ３０２や合成プロセス生成部３２０等が提供するソフトウェアタイマー等のタイマーを用いて、合成プロセスの生成時点から時間を計測することができ、計測時間が合成規則１の例外条件と合致した時点で中間データの待機を中止することができる。
【００６４】
また、本実施形態では、業務アプリケーション等のアプリケーションプログラムの仕様によって、１の印刷ジョブが、特定の文字から成るジョブ名を有する複数の印刷ジョブに分割される場合に、ユーザのインタラクティブ操作を要することなく、１の印刷ジョブに統合することができる。
【００６５】
さらに、本実施形態では、同一のユーザの印刷ジョブのみを合成するため、複数のユーザが印刷要求を発行した場合に、異なるユーザの印刷ジョブを混合することなく、印刷ジョブを合成することができる。
【００６６】
図７に示す合成規則２では、ユーザ指定条件として「※」、ジョブ指定条件として「XXX[^-]+-\([:num:]+\)/\[:num:]+ \) where \1>0 and \1 <= \2 and immutable(\2) order \1」、終了条件として「ＰａｔｔｅｒｎＣｏｍｐｌｅｔｅ」、終了条件の例外条件として「１ｈ」が規定されている。
【００６７】
ユーザ指定条件「＊」は、ユーザ名を限定しない場合に使用する命令文であり、総てのユーザに対して合成規則２が適用することを意味する。合成規則２を採用する合成プロセスに中間データを提供する場合、合成プロセス生成部３２０は、中間データ蓄積部３１２に蓄積された中間データのメタデータであるジョブ名が合成規則２のジョブ指定条件と合致するか否か判断することにより、中間データが合成規則２に合致するか否か判断する。
【００６８】
合成規則２のジョブ指定条件は、正規表現で記載されており、任意の文字列「XXX」と「\[:num:]+\」が示す第１の数字および第２の数字との結合から成るジョブ名を指定する。例えば、「会議資料20101229-1/3」や「会議資料20101229-2/3」、「会議資料20101229-3/3」が、当該ジョブ指定条件に該当する。この場合、「会議資料20101229」が文字列「XXX」に相当し、「−」と「／」の間に位置する数字「１」〜「３」が第１の数字に該当し、「／」に後続する数字「３」が第２の数字に該当する。
【００６９】
合成規則２のジョブ指定条件には付帯条件が有り、付帯条件「where \1>0 and \1 <= \2」は、第１の数字が０よりも大きく、かつ第１の数字は第２の数字以下であることを示す。また、命令文「immutable」は、数字が変化しないことを規定する命令文であり、合成規則２では、第２の数字が変化しないことを意味する。
【００７０】
さらに、命令文「order」は、中間データの合成順序を規定する命令文であり、合成規則２を採用する合成プロセスは、第１の数字の昇順に中間データを合成する。例えば、ジョブ名が「会議資料20101229-1/3」や「会議資料20101229-2/3」、「会議資料20101229-3/3」である場合、合成プロセスは、「会議資料20101229-1/3」が示す印刷ジョブから順に合成する。
【００７１】
合成規則２を採用する実施形態では、先頭ページの画像データから順に合成するため、ジョブの到着順序に関わらず、複数の画像データをページ順に印刷することができる。
【００７２】
図７に示す合成規則３では、ユーザ指定条件として「ｆｏｏｂａｒ」、ジョブ指定条件として「＊」、終了条件として「ＴｅｓｔＰｒｉｎｔ」、終了条件の例外条件として「１０ｍｉｎ」が規定されている。
【００７３】
ユーザ指定条件「ｆｏｏｂａｒ」は、メタデータとしてユーザ名「ｆｏｏｂａｒ」を有する印刷ジョブに対して合成規則３が適用されることを意味する。ジョブ指定条件「＊」は、ジョブ名を限定しない場合に使用する命令文であり、ジョブ名を限定しないこと意味する。終了条件「ＴｅｓｔＰｒｉｎｔ」は、アプリケーションプログラム３００ａ，３００ｂ，３００ｃが発行したテストプリント要求を受信する迄、中間データを待機させる命令文である。
【００７４】
合成規則３を採用する実施形態では、合成プロセス生成部３２０は、中間データのメタデータであるユーザ名が、ユーザ指定条件に規定された「ｆｏｏｂａｒ」と合致するか否か判断し、これらが合致する場合には、当該中間データが合成規則３に合致すると判断し、合成規則３を採用する合成プロセスを生成する。合成プロセス生成部３２０は、後続の中間データが中間データ蓄積部３１２に蓄積されると、これらの中間データからユーザ名「ｆｏｏｂａｒ」を有するものを、順次当該合成プロセスに提供する。
【００７５】
一方、合成規則３を採用する合成プロセスは、合成プロセス生成部３２０から中間データを受信すると、当該中間データの印刷要求の種別が、通常の印刷要求またはテストプリント要求であるか否か判断する。合成プロセスは、当該中間データの印刷要求の種別がテストプリント要求である場合、中間データの待機処理を中止し、それまで受信した中間データを合成する。
【００７６】
合成規則３を採用する実施形態では、特定のユーザのみが印刷ジョブを合成できるため、同時期に複数のユーザが同一のジョブ名を付けてしまった場合でも、異なるユーザの中間データを混合することなく、中間データを合成することができる。また、本実施形態では、テスト印刷要求を実行すると、中間データの待機を中止して合成処理を行うため、ユーザが意図的に複数の中間データを蓄積しておき、実際に印刷出力したいタイミングでテスト印刷要求を発行して印刷出力することができる。
【００７７】
図７に示す合成規則４では、ユーザ指定条件として「＊」、ジョブ指定条件として「ＸＸＸ.＊」、終了条件として「１０ｍｉｎ」が規定されている。ジョブ指定条件「ＸＸＸ.＊」は、文字列「ＸＸＸ」に対して、任意の文字や数字、記号、これらの組み合わせで構成されるジョブ名を指定する。
【００７８】
合成規則４を採用する実施形態では、合成プロセス生成部３２０は、中間データのメタデータであるジョブ名が文字列「ＸＸＸ」を含んで構成される場合、合成プロセス生成部３２０は、当該中間データが合成規則４に合致すると判断し、合成規則４を採用する合成プロセスを生成する。合成プロセス生成部３２０は、後続の中間データが中間データ蓄積部３１２に蓄積されると、これらの中間データの中からジョブ名に文字列「ＸＸＸ」を含むものを、順次当該合成プロセスに提供する。
【００７９】
一方、合成規則４を採用する合成プロセスは、当該合成プロセスが生成されてから終了条件が指定する１０分が経過する迄、中間データを待機する。そして、１０分が経過すると、合成プロセスは、中間データの待機処理を中止し、それまで受信した中間データを合成する。
【００８０】
図８は、本実施形態のクライアントＰＣが使用する管理テーブルの実施形態を示す図である。以下、図８を参照して、合成プロセス生成部３２０が使用する管理テーブル８００，８１０について説明する。
【００８１】
管理テーブル８００は、ユーザ指定条件でユーザを限定しない合成規則を採用する実施形態で使用される管理テーブルであり、プロセスＩＤ８０２と、合成規則ＩＤ８０４とが関連付けて登録される。
【００８２】
プロセスＩＤ８０２は、合成プロセス生成部３２０が合成プロセスを生成する際にＯＳ３０２が生成する当該合成プロセスの識別情報である。図８に示す実施形態では、プロセスＩＤとして「１」、「２」、「３」等の整数値を採用するが、他の実施形態では、プロセスを固有に識別できる限り、如何なる数字、記号、文字またはこれらの組み合わせを採用することができる。
【００８３】
合成規則ＩＤ８０４は、プロセスＩＤによって特定される合成プロセスが採用する合成規則を示す合成規則の識別情報である。合成規則ＩＤ８０４は、合成規則に予め規定してもよく、または、合成プロセス生成部３２０が合成規則ＩＤを管理テーブル８００に登録する際に動的に生成してもよい。図８に示す実施形態では、合成規則ＩＤとして「ｒｕｌｅ＿１」、「ｒｕｌｅ＿２」、「ｒｕｌｅ＿３」等の文字、数字および記号の組み合わせを採用するが、他の実施形態では、合成規則を固有に識別できる限り、如何なる文字、数字、記号またはこれらの組み合わせを採用することができる。
【００８４】
合成プロセス生成部３２０は合成プロセスを生成すると、プロセスＩＤと、当該合成プロセスが採用する合成規則を示す合成規則ＩＤとを関連付けて管理テーブル８００に登録する。また、合成プロセス生成部３２０は、管理テーブル８００を参照し、中間データに付加されたジョブ名に合致する合成規則を示す合成規則ＩＤにプロセスＩＤが関連付けて登録されている場合に、中間データを処理すべき合成プロセスが既に生成されていると判断することができ、その中間データを当該合成プロセスに提供する。さらに、合成プロセス生成部３２０は、合成プロセスが消滅すると、管理テーブル８００からプロセスＩＤおよびこれに関連付けられた合成規則ＩＤを削除する。
【００８５】
管理テーブル８１０は、ユーザ指定条件でユーザを限定する合成規則を採用する実施形態で使用される管理テーブルであり、プロセスＩＤ８１２と、合成規則ＩＤ８１４と、ユーザ名８１６とが関連付けて登録される。
【００８６】
ユーザ名８１６は、印刷要求を発行したユーザを特定する情報であり、当該印刷要求によって合成プロセスを生成させたユーザを示す識別情報である。合成規則のユーザ指定条件でユーザが限定されている場合、合成プロセス生成部３２０は、合成プロセスを生成すると、プロセスＩＤおよび合成規則ＩＤと共に、プロセスＩＤが示す合成プロセスを生成させたユーザのユーザ名を関連付けて登録する。また、合成プロセス生成部３２０は、合成プロセスが消滅すると、管理テーブル８１０からプロセスＩＤと、これに関連付けられた合成規則ＩＤおよびユーザ名を削除する。
【００８７】
図９は、本発明が採用する中間データの合成処理を示す概念図である。中間データ９００，９０４，９０８は、合成前の印刷ジョブであり、印刷ジョブ９１２は、これらの中間データを合成して生成される印刷ジョブである。
【００８８】
中間データ９００，９０４，９０８は、それぞれ印刷要求９０１，９０５，９０９と、メタデータ９０２，９０６，９１０と、ページ単位の画像データ９０３，９０７，９１１とを含んで構成される。画像データ９０３は、印刷対象の画像データの第１ページに相当し、画像データ９０７，画像データ９１１は、それぞれ印刷対象の画像データの第２ページまたは第３ページに相当する。
【００８９】
中間データ９００，９０４，９０８を合成すると、印刷対象の画像データの第１ページ、第２ページおよび第３ページから成る画像データ９１５を含む印刷ジョブ９１２が生成される。本実施形態では、ページの昇順に画像データを印刷するため、画像データの第１ページ、第２ページおよび第３ページの順に画像データが合成される。
【００９０】
中間データ９００，９０４，９０８の印刷要求およびメタデータは、印刷ジョブ９１２に継承される。本実施形態では、合成後の印刷ジョブ９１２のメタデータ９１４には、中間データ９００，９０４，９０８が有する印刷設定情報が含まれる。
【００９１】
図１０は、本発明の他の実施形態に係るクライアントＰＣおよびプリントサーバの機能構成を示す図である。以下、図１０を参照して、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）を採用するクライアントＰＣ１１２およびプリントサーバ１２０の機能構成について、図３に示す実施形態と相違する点を中心に説明する。
【００９２】
クライアントＰＣ１１２は、アプリケーションプログラム１０００ａ，１０００ｂ，１０００ｃと、スプーラサブシステム１００２と、スプーラ１０１２と、プリントプロセッサ１０２０とを含んで構成される。
【００９３】
スプーラサブシステム１００２は、クライアントＰＣ１１２のＯＳが提供する印刷制御モジュールであり、印刷制御プログラム１００４と、ＥＭＦ出力部１０１０とを含んで構成される。
【００９４】
ＥＭＦ出力部１０１０は、中間データであるＥＭＦデータを生成する機能手段である。ＥＭＦ出力部１０１０は、アプリケーションプログラム１０００ａ，１０００ｂ，１０００ｃから印刷実行命令を受信すると、ページ単位の中間データであるＥＭＦデータを生成する。
【００９５】
スプーラ１０１２は、中間データであるＥＭＦデータを一時的に蓄積する機能手段である。スプーラ１０１２は、ＥＭＦ出力部１０１０からＥＭＦデータ１０１４，１０１６，１０１８を受信すると、ＨＤＤなどの記憶装置に順次保存し、その旨を通知するイベントを発行する。
【００９６】
プリントプロセッサ１０２０は、スプーラ１０１２から取得したＥＭＦデータを合成し、プリントサーバ１２０に送信するモジュールである。プリントプロセッサ１０２０は、関連する複数のＥＭＦデータを合成すると共に印刷出力先を振り分けるプロセス（以下、「ディスパッチャ」とする。）を生成するディスパッチャ生成部１０２３を含んで構成される。
【００９７】
ディスパッチャ生成部１０２３は、スプーラ１０１２にＥＭＦデータが保存されると、当該ＥＭＦデータを取得し、記憶装置１０２１に保存された合成規則を参照し、当該ＥＭＦデータのメタデータであるジョブ名やユーザ名を使用して、当該合成規則に合致するか否か判断する。合致する合成規則が存在する場合には、ディスパッチャ生成部１０２３は、当該合成規則に対応するディスパッチャが既に生成されていないか判断し、当該ディスパッチャが生成されていなければ、新たにディスパッチャを生成する。
【００９８】
さらに、ディスパッチャ生成部１０２３は、記憶装置１０２２に保存された振分規則を参照し、当該ＥＭＦデータのメタデータを使用して、印刷処理を実行すべき印刷装置を決定し、当該印刷装置の識別情報である出力先情報をディスパッチャに提供する。
【００９９】
振分規則には、ＥＭＦデータの振り分け条件と、出力先情報とが関連付けて登録される。例えば、印刷要求を発行したユーザと、当該ユーザに割り当てられた印刷装置の識別情報とを関連付けて登録することができる。印刷要求を発行したクライアントＰＣを示すホスト名と、当該クライアントＰＣに割り当てられた印刷装置の識別情報とを関連付けて登録することができる。さらに、印刷設定情報に含まれるカラー印刷を指定する情報と、カラー印刷が許容または推奨される印刷装置の識別情報とを関連付けて登録することができる。さらに、印刷設定情報に含まれるモノクロ印刷を指定する情報と、モノクロ印刷が許容または推奨される印刷装置の識別情報とを関連付けて登録することができる。ディスパッチャ生成部１０２３は、ＥＭＦデータのメタデータであるユーザ名や印刷設定情報等を使用して、ＥＭＦデータをいずれの印刷装置に振り分けるべきか判断することができる。
【０１００】
ディスパッチャ１０２５，１０２６，１０２７は、ＥＭＦデータを合成する合成部１０２８を含んで構成される。合成部１０２８は、ディスパッチャ生成部１０２３が提供する合成規則を参照し、適用される終了条件が充足するまで、ＥＭＦデータを待機する。終了条件が満たされると、合成部１０２８は、それまでに受信したＥＭＦデータを合成して、複数のＥＭＦデータを含む印刷ジョブを生成する。ディスパッチャ１０２５，１０２６，１０２７は、当該印刷ジョブに印刷設定情報および出力先情報を付加してプリントサーバ１２０に送信する。
【０１０１】
プリントサーバ１２０は、プリントサーバ１２０のＯＳが提供する印刷制御モジュールであるスプーラサブシステム１０３０を備えており、スプーラサブシステム１０３０は、印刷制御プログラム１０３２を含んで構成される。
【０１０２】
プリントサーバ１２０は、クライアントＰＣ１１２から印刷ジョブを受信すると、印刷制御プログラム１０３２の印刷制御部１０３４が、印刷データ生成部１０３６に対し、印刷ジョブからページ記述言語で記述した印刷データを生成させる。印刷制御部１０３４は、印刷ジョブに付加された出力先情報が指定する印刷装置に当該印刷データを送信して印刷を実行する。
【０１０３】
図１０に示す実施形態の印刷処理システムでは、プリントサーバ１２０が印刷制御部１０３４および印刷データ生成部１０３６を含む構成を採用するが、他の実施形態では、クライアントＰＣ１１２,１１４,１１６に印刷制御部１０３４および印刷データ生成部１０３６を含む構成を採用し、これらのクライアントＰＣから印刷装置１３０に印刷データを送信して印刷を実行してもよい。
【０１０４】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、本実施形態の構成要素を変更若しくは削除し、または本実施形態の構成要素を他の構成要素を追加するなど、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１０５】
１００…印刷処理システム、１１２，１１４，１１６…クライアントＰＣ、１２０…プリントサーバ、１３０…印刷装置、１４０…ネットワーク
【先行技術文献】
【特許文献】
【０１０６】
【特許文献１】特開平１０−１６３４３号公報
【図１】
2013050845.tif 000003
【図２】
2013050845.tif 000004
【図３】
2013050845.tif 000005
【図４】
2013050845.tif 000006
【図５】
2013050845.tif 000007
【図６】
2013050845.tif 000008
【図７】
2013050845.tif 000009
【図８】
2013050845.tif 000010
【図９】
2013050845.tif 000011
【図１０】
2013050845.tif 000012