(57)【要約】      （修正有）【課題】並列処理により、所定のフォルダに格納された印刷対象ファイルから印刷制御ファイルを生成し画像処理装置に当該印刷制御ファイルを送信する仕組みにおいて、所定のフォルダに格納された順番で画像処理装置に当該印刷制御ファイルを送信可能な仕組みを提供すること。【解決手段】複数の印刷対象ファイルが所定のフォルダに格納された格納順と、画像処理装置に対して次に送信すべき前記印刷対象ファイルの送信順とを記憶しておく。前記印刷対象ファイルごとの並列処理により、前記画像処理装置で印刷可能な印刷制御ファイルを、前記印刷対象ファイルから生成し、生成された印刷制御ファイルごとに、当該印刷制御ファイルの前記格納順と前記送信順とが一致するか否かを判定する。一致すると判定された前記印刷制御ファイルに基づく印刷を前記画像処理装置で行うべく、当該印刷制御ファイルを当該画像処理装置に送信する。【選択図】図５
2017205969.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置と接続可能な印刷制御サーバであって、
複数の印刷対象ファイルが所定のフォルダに格納された格納順と、前記画像処理装置に対して次に送信すべき前記印刷対象ファイルの送信順とを記憶する記憶手段と、
前記印刷対象ファイルごとの並列処理により、前記画像処理装置で印刷可能な印刷制御ファイルを、前記印刷対象ファイルから生成する生成手段と、
前記生成手段で生成された印刷制御ファイルごとに、当該印刷制御ファイルの前記格納順と前記記憶手段で記憶された送信順とが一致するか否かを判定する判定手段と、
前記判定手段で一致すると判定された前記印刷制御ファイルに基づく印刷を前記画像処理装置で行うべく、当該印刷制御ファイルを当該画像処理装置に送信する送信手段と
を備えることを特徴とする印刷制御サーバ。
【請求項２】
前記送信手段で前記印刷制御ファイルを前記画像処理装置に送信した場合に、前記記憶手段に記憶された前記送信順をカウントアップするカウントアップ手段
を更に備えることを特徴とする請求項１に記載の印刷制御サーバ。
【請求項３】
前記判定手段は、前記生成手段で生成された印刷制御ファイルごとに、当該印刷制御ファイルの前記格納順と前記記憶手段で記憶された送信順とが一致するまで繰り返し判定することを特徴とする請求項１または２に記載の印刷制御サーバ。
【請求項４】
前記記憶手段は、印刷先の前記画像処理装置ごとに前記格納順を記憶すると共に、当該画像処理装置ごとに前記送信順を記憶し、
前記判定手段は、前記生成手段で生成された印刷制御ファイルごとに、当該印刷制御ファイルの前記格納順と、当該印刷制御ファイルの印刷先である前記画像処理装置の前記送信順とが一致するか否かを判定することを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御サーバ。
【請求項５】
前記印刷対象ファイルは、文書ファイルまたは画像ファイルと、印刷設定に関する情報を含む印刷設定ファイルと、前記所定のフォルダに対する格納が完了したことを示すエンドファイルとを含むファイル群であって、
前記格納順は、前記エンドファイルの格納が完了した順番を示すことを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御サーバ。
【請求項６】
複数の印刷対象ファイルが所定のフォルダに格納された格納順と、画像処理装置に対して次に送信すべき前記印刷対象ファイルの送信順とを記憶する記憶手段を備え、前記画像処理装置と接続可能な印刷制御サーバの制御方法であって、
前記印刷制御サーバの生成手段が、前記印刷対象ファイルごとの並列処理により、前記画像処理装置で印刷可能な印刷制御ファイルを、前記印刷対象ファイルから生成する生成ステップと、
前記印刷制御サーバの判定手段が、前記生成ステップで生成された印刷制御ファイルごとに、当該印刷制御ファイルの前記格納順と前記記憶手段で記憶された送信順とが一致するか否かを判定する判定ステップと、
前記印刷制御サーバの送信手段が、前記判定ステップで一致すると判定された前記印刷制御ファイルに基づく印刷を前記画像処理装置で行うべく、当該印刷制御ファイルを当該画像処理装置に送信する送信ステップと
を備えることを特徴とする印刷制御サーバの制御方法。
【請求項７】
複数の印刷対象ファイルが所定のフォルダに格納された格納順と、画像処理装置に対して次に送信すべき前記印刷対象ファイルの送信順とを記憶する記憶手段を備え、前記画像処理装置と接続可能な印刷制御サーバの制御方法を実行可能なプログラムであって、
前記印刷制御サーバを、
前記印刷対象ファイルごとの並列処理により、前記画像処理装置で印刷可能な印刷制御ファイルを、前記印刷対象ファイルから生成する生成手段と、
前記生成手段で生成された印刷制御ファイルごとに、当該印刷制御ファイルの前記格納順と前記記憶手段で記憶された送信順とが一致するか否かを判定する判定手段と、
前記判定手段で一致すると判定された前記印刷制御ファイルに基づく印刷を前記画像処理装置で行うべく、当該印刷制御ファイルを当該画像処理装置に送信する送信手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
並列処理により、所定のフォルダに格納された印刷対象ファイルから印刷制御ファイルを生成し画像処理装置に当該印刷制御ファイルを送信する仕組みにおいて、所定のフォルダに格納された順番で画像処理装置に当該印刷制御ファイルを送信可能な印刷制御サーバ、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、帳票ファイルをはじめ、大量のファイルに対する印刷指示がなされた場合には、クライアント端末やプリントサーバにおいて準備が完了したものから順番に印刷ジョブを印刷キューとして管理し、先入れ・先出しで印刷が行われていた。そのため、ユーザの意図する順番で印刷が行われず、印刷後に印刷物を並び替える作業が必要であった。
【０００３】
こうした問題点を解決するために特許文献１では、出力順序の設定に従って、出力するファイルのサイズや作成日、ページ数といった属性情報に従って印刷ジョブを並び替える仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−６５７８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、大量の帳票ファイルを印刷する場合には、図１３に示すような印刷システムも考えられる。図１３に示す丸囲みの数字に沿って説明を行う。
【０００６】
まず、クライアント端末１０３から帳票管理サーバ１０４に対して、複数の帳票ファイルを印刷するよう指示が行われる。すると、帳票管理サーバ１０４は印刷指示された帳票ファイルと、印刷設定等に関する情報を含む印刷設定ファイルと、エンドファイルとが生成される。以下、この３つを少なくとも含むものを入力ファイルセットと称する。入力ファイルセットが印刷指示された帳票ファイルの数だけ生成されると、帳票管理サーバ１０４は、これを印刷制御サーバ１０１が監視する所定のフォルダに格納する。入力ファイルセットを格納する際には、最後にエンドファイルが格納されるようにする。
【０００７】
所定のフォルダを監視している印刷制御サーバ１０１は、エンドファイルが格納されると所定のフォルダに対する入力ファイルセットの格納が完了したとみなし、印刷に向けた制御を実行する。具体的には、入力ファイルセットごとに処理スレッドを作成する。そして、生成された処理スレッドごとに、入力ファイルセットを用いて印刷制御ファイルを生成する。印刷制御ファイルとは、画像処理装置で印刷を行うための印刷設定命令等が含まれるファイルである。こうして生成された印刷制御ファイルがプリントサーバ１０５に送信され、プリントサーバ１０５から画像処理装置１０２に送信されることで印刷が実行される。
【０００８】
しかしながら、複数の処理スレッドは印刷制御サーバ１０１において並列処理されるので、印刷制御ファイルの生成が完了した順にプリントサーバ１０５に対して印刷制御ファイルが送信され、順次プリントサーバ１０５から印刷指示がなされてしまう。
【０００９】
例えば、図１３に示すように、入力ファイルセットＡの方が入力ファイルセットＢよりも先に所定のフォルダに格納された場合を想定する。入力ファイルセットＡの印刷制御ファイルの生成が、入力ファイルセットＢよりも先に開始されたとしても、入力ファイルセットＡの印刷制御ファイルの生成時間が入力ファイルセットＢよりも長い場合がある。特に、帳票ファイルのファイル容量が大きい場合にこうした現象が起こりやすい。このような場合には、入力ファイルセットＢの印刷制御ファイルの方が入力ファイルセットＡよりも先に送信されてしまい、所定のフォルダに格納された順と印刷する順とが一致しなくなってしまう。すなわち、ユーザが印刷物を並び替える手間が発生してしまう。
【００１０】
特許文献１の仕組みは、あくまで所定数の印刷ジョブを蓄積した上で、印刷ジョブを並び替えるものであり、図１３に示すようなマルチスレッドによって逐一プリントサーバや画像処理装置に印刷制御ファイルを送信する形態には適さない。
【００１１】
本発明は、並列処理により、所定のフォルダに格納された印刷対象ファイルから印刷制御ファイルを生成し画像処理装置に当該印刷制御ファイルを送信する仕組みにおいて、所定のフォルダに格納された順番で画像処理装置に当該印刷制御ファイルを送信可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために本発明の印刷制御サーバは、画像処理装置と接続可能な印刷制御サーバであって、複数の印刷対象ファイルが所定のフォルダに格納された格納順と、前記画像処理装置に対して次に送信すべき前記印刷対象ファイルの送信順とを記憶する記憶手段と、前記印刷対象ファイルごとの並列処理により、前記画像処理装置で印刷可能な印刷制御ファイルを、前記印刷対象ファイルから生成する生成手段と、前記生成手段で生成された印刷制御ファイルごとに、当該印刷制御ファイルの前記格納順と前記記憶手段で記憶された送信順とが一致するか否かを判定する判定手段と、前記判定手段で一致すると判定された前記印刷制御ファイルに基づく印刷を前記画像処理装置で行うべく、当該印刷制御ファイルを当該画像処理装置に送信する送信手段とを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、並列処理により、所定のフォルダに格納された印刷対象ファイルから印刷制御ファイルを生成し画像処理装置に当該印刷制御ファイルを送信する仕組みにおいて、所定のフォルダに格納された順番で画像処理装置に当該印刷制御ファイルを送信可能となる。
【図面の簡単な説明】
【００１４】
【図１】印刷制御システムのシステム構成の一例を示す図である。
【図２】印刷制御サーバ１０１、クライアント端末１０３、帳票管理サーバ１０４、プリントサーバ１０５のハードウェア構成の一例を示す図である。
【図３】画像処理装置１０２のハードウェア構成の一例を示す図である。
【図４】印刷制御サーバ１０１の機能構成の一例を示す図である。
【図５】本発明の概要を示す図である。
【図６】所定のフォルダに格納された入力ファイルセットごとに処理スレッドを起動する処理の流れの一例を示すフローチャートである。
【図７】設定ファイル７００のデータ構成の一例を示す図である。
【図８Ａ】本実施形態において所定のフォルダに格納された入力ファイルセットの一例を示す図である。
【図８Ｂ】図８Ａに続き、本実施形態において所定のフォルダに格納された入力ファイルセットの一例を示す図である。
【図９】入力ファイルセット情報配列９００のデータ構成の一例を示す図である。
【図１０】印刷順序管理配列１０００のデータ構成の一例を示す図である。
【図１１】出力先ＩＰアドレスと出力先プリンタごとに振り直されたスレッド番号を示す図である。
【図１２】ステップＳ６０７で起動された処理スレッドにおいて実行される一連の処理の一例を示すフローチャートである。
【図１３】従来の印刷制御システムの概要を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１６】
図１は、本実施形態における印刷制御システムのシステム構成の一例を示す図である。本実施形態の印刷制御システムは、印刷制御サーバ１０１と、画像処理装置１０２と、クライアント端末１０３と、帳票管理サーバ１０４と、プリントサーバ１０５とを含む。これらがＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはインターネット等のネットワーク１０６を介して、相互にデータ通信可能に接続されている。
【００１７】
本実施形態では、画像処理装置１０２は印刷機能を有する複合機を指すが、印刷機能のみを有する印刷装置であってもよい。また、画像処理装置１０２は複数台存在し、それぞれネットワーク１０６に接続されている。
【００１８】
また、本実施形態では複数台のプリントサーバ１０５を有し、これらもそれぞれネットワーク１０６に接続されている。プリントサーバ１０５は仮想的なプリントサーバであってもよい。すなわち、１または複数のサーバ装置において仮想化技術によって論理的にサーバ装置を分割することで、複数のプリントサーバ１０５を用意してもよい。尚、図１のネットワーク上で接続可能な各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例がある。
【００１９】
図２は、印刷制御サーバ１０１、クライアント端末１０３、帳票管理サーバ１０４、プリントサーバ１０５のハードウェア構成の一例を示す図である。
【００２０】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２１】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳという。）が記憶されている。また外部メモリ２１１には、各種装置の実行する機能を実現するために必要な各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２２】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２３】
また、入力コントローラ２０５は、キーボードやマウス等のポインティングデバイスといった入力デバイス２０９からの入力を制御する。
【００２４】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。表示器はＣＲＴや液晶ディスプレイでも構わない。
【００２５】
メモリコントローラ２０７は、ハードディスクやフレキシブルディスク或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。外部メモリ２１１（記憶手段）は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。
【００２６】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２７】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２８】
本発明の各種装置が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００２９】
次に、画像処理装置１０２のハードウェア構成の一例について図３を用いて説明する。
【００３０】
コントローラユニット３１６は、画像入力デバイスとして機能するスキャナ部３１４や、画像出力デバイスとして機能するプリンタ部３１２と接続する一方、ＬＡＮやＷＡＮと接続することで、画像データやデバイス情報の入出力を行う。
【００３１】
ＣＰＵ３０１は、システム全体を制御するプロセッサである。ＲＡＭ３０２は、ＣＰＵ３０１が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリである。
【００３２】
ＲＯＭ３０３は、システムのブートプログラムや各種制御プログラムが格納されている。ハードディスクドライブ（ＨＤＤ）３０４は、システムを制御するための各種プログラム，画像データ等を格納する。
【００３３】
操作部インタフェース（操作部Ｉ／Ｆ）３０７は、操作部３０８とのインタフェース部であり、操作部３０８に表示する画像データを操作部３０８に対して出力する。また、操作部Ｉ／Ｆ３０７は、操作部３０８から本システム使用者が入力した情報（例えば、ユーザ情報等）をＣＰＵ３０１に伝える役割をする。なお、操作部３０８はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下（指等でタッチ）することにより、各種指示を行うことができる。
【００３４】
ネットワークインタフェース（Ｎｅｔｗｏｒｋ  Ｉ／Ｆ）３０５は、ネットワーク（ＬＡＮ）に接続し、データの入出力を行う。モデム（ＭＯＤＥＭ）３０６は、公衆回線に接続し、ＦＡＸの送受信等のデータの入出力を行う。
【００３５】
外部インタフェース（外部Ｉ／Ｆ）３１８は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＩＥＥＥ１３９４（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ  １３９４）等のＩ／Ｆ部である。また、プリンタポート、ＲＳ−２３２Ｃ（Ｒｅｃｏｍｍｅｎｄｅｄ  Ｓｔａｎｄａｒｄ  ２３２  ｖｅｒｓｉｏｎ  Ｃ）等の外部入力も受け付けるＩ／Ｆ部である。本実施形態においては認証で必要となるＩＣカードの読み取り用のカードリーダ３１９が外部Ｉ／Ｆ３１８に接続されている。
【００３６】
更に、ＣＰＵ３０１は、この外部Ｉ／Ｆ３１８を介してカードリーダ３１９によるＩＣカードからの情報読み取りを制御し、当該ＩＣカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス３０９上に配置される。
【００３７】
イメージバスインタフェース（ＩＭＡＧＥ  ＢＵＳ  Ｉ／Ｆ）３２０は、システムバス３０９と画像データを高速で転送する画像バス３１５とを接続し、データ構造を変換するバスブリッジである。
【００３８】
画像バス３１５は、ＰＣＩバス（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｂｕｓ）またはＩＥＥＥ１３９４で構成される。画像バス３１５上には以下のデバイスが配置される。
【００３９】
ラスタイメージプロセッサ（ＲＩＰ）３１０は、ベクトルデータをビットマップイメージに展開する。
【００４０】
プリンタインタフェース（プリンタＩ／Ｆ）３１１は、プリンタ部３１２とコントローラユニット３１６を接続し、画像データの同期系／非同期系の変換を行う。
【００４１】
スキャナインタフェース（スキャナＩ／Ｆ）３１３は、スキャナ部３１４とコントローラユニット３１６を接続し、画像データの同期系／非同期系の変換を行う。
【００４２】
画像処理部３１７は、入力画像データに対し補正、加工及び編集やプリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部３１７は、画像データの回転や、多値画像データに対してはＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等の圧縮伸張処理を行う。また、２値画像データはＪＢＩＧ（Ｊｏｉｎｔ  Ｂｉ−ｌｅｖｅｌ  Ｉｍａｇｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等の圧縮伸張処理も行う。
【００４３】
スキャナ部３１４は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部３０８から読み取り起動指示することにより、ＣＰＵ３０１がスキャナ部３１４に指示を与え、フィーダは原稿用紙を１枚ずつフィードし原稿画像の読み取り動作を行う。
【００４４】
プリンタ部３１２は、ラスタイメージデータを用紙上の画像に変換する部分である。その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、ＣＰＵ３０１からの指示によって開始する。なお、プリンタ部３１２には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットを備える。
【００４５】
操作部３０８は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）表示部を有す。ＬＣＤ上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部Ｉ／Ｆ３０７を介してＣＰＵ３０１に伝える。また、操作部３０８は、各種操作キーとして、例えば、スタートキー、ストップキー、ＩＤキー、リセットキー等を備える。
【００４６】
ここで、操作部３０８のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の２色ＬＥＤがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部３０８のストップキーは、稼働中の動作を止める働きをする。また、操作部３０８のＩＤキーは、使用者のユーザＩＤを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
【００４７】
以上のような構成によって、画像処理装置１０２はスキャナ部３１４から読み込んだ画像データをＮｅｔｗｏｒｋ  Ｉ／Ｆ３０５からＬＡＮに送信する。そして、ＬＡＮから受信した印刷データをＮｅｔｗｏｒｋ  Ｉ／Ｆ３０５を経由してプリンタ部３１２より印刷出力することができる。
【００４８】
また、スキャナ部３１４から読み込んだ画像データや画像処理装置１０２に送信されたデータをモデム３０６により、公衆回線上にＦＡＸ送信し、公衆回線からＦＡＸ受信した画像データをプリンタ部３１２により出力することできる。
【００４９】
図４は、印刷制御サーバ１０１の機能構成の一例を示す図である。尚、図４に示す印刷制御サーバ１０１の機能構成は一例であり、用途や目的に応じて様々な構成例がある。
【００５０】
印刷制御サーバ１０１は機能部として、記憶部４０１と、フォルダ監視部４０２と、入力ファイルセット管理部４０３と、印刷順序制御部４０４と、処理スレッド制御部４０５と、印刷制御ファイル生成部４０６とを備える。以下、これらの機能部の説明を図５に示す本実施形態の概要を示しながら説明する。
【００５１】
まず、クライアント端末１０３は、ユーザからの指示または自動的に、帳票管理サーバ１０４が管理している１または複数の帳票ファイルの印刷指示を受け付ける。本実施形態でいう帳票ファイルは、見積書や請求書といった帳票を示すファイルであるが、文書ファイルや画像ファイルであってもよく、ファイルが示すものは帳票に限らない。
【００５２】
帳票管理サーバ１０４はこの印刷指示を受け付けると、印刷指示がなされた帳票ファイルを外部メモリ等から取得する。そして、帳票ファイルごとに印刷設定に関する情報を含む印刷設定ファイルと、エンドファイルとを生成する。印刷設定ファイルは、印刷を指示するプリントサーバ１０５のＩＰアドレス（以下、出力先ＩＰアドレスという。）や、印刷を実行する画像処理装置１０２（印刷先）の名称（以下、出力先プリンタ名という。）を含む。更には“片面／両面”や“カラー／モノクロ”といった印刷設定を含む。
【００５３】
エンドファイルは、印刷制御サーバ１０１が監視するフォルダ（以下、監視対象フォルダと称する。）への帳票ファイル及び印刷設定ファイルの格納完了を示すファイルである。エンドファイルが監視対象フォルダに格納されていれば、当該エンドファイルに対応する帳票ファイル及び印刷設定ファイルも同様に監視対象フォルダに格納されているということである。逆に、エンドファイルが監視対象フォルダに格納されていないのであれば、当該エンドファイルに対応する帳票ファイル及び印刷設定ファイルを監視対象フォルダに格納している最中ということである。以下、帳票ファイルと印刷設定ファイルとエンドファイルとを含むファイル群を入力ファイルセット（印刷対象ファイル）と称する。
【００５４】
印刷指示のあった帳票ファイルごとに入力ファイルセットが生成されると、帳票管理サーバ１０４は、これらを印刷制御サーバ１０１のフォルダ監視部４０２が監視する監視対象フォルダに格納する。監視対象フォルダは、印刷制御サーバ１０１が備えるフォルダであってもよいし、他の装置が備えるフォルダであってもよい。格納する際には、入力ファイルセットに含まれる帳票ファイル及び印刷設定ファイルを先に格納し、この格納が完了したらエンドファイルを格納するように制御する。
【００５５】
印刷制御サーバ１０１のフォルダ監視部４０２は、所定の間隔で監視対象フォルダを監視する。監視の結果、エンドファイルまで格納された入力ファイルセットが監視対象フォルダに含まれていることがわかった場合に、入力ファイルセット管理部４０３は入力ファイルセットに関する情報を取得する。そして、図９（ａ）に示すような入力ファイルセット情報配列９００として管理する。入力ファイルセット情報配列９００は、入力ファイルセットに含まれる帳票ファイル、印刷設定ファイル、エンドファイルそれぞれのファイル名と、エンドファイルが監視対象フォルダで生成（格納）された日時を管理する配列である。以下、これらの情報を入力ファイルセット情報と称する。
【００５６】
入力ファイルセット管理部４０３は、この入力ファイルセット情報配列９００を生成した後、エンドファイル生成日時で入力ファイルセット情報をソートする。つまり、監視対象フォルダに対する格納順で入力ファイルセット情報をソートする。
【００５７】
また、印刷順序制御部４０４は、入力ファイルセットから生成される印刷制御ファイルの印刷順序、すなわち印刷制御ファイルをプリントサーバ１０５に送信する順番を制御するために用いる、印刷順序管理配列１０００を作成する。印刷順序管理配列１０００は、図１０（ａ）に示すように、出力先ＩＰアドレスと出力先プリンタ名との組み合わせごとに、“１”から始まるカウンタ（送信順）を備えている。
【００５８】
そして、処理スレッド制御部４０５は、入力ファイルセット情報配列９００に格納された入力ファイルセット情報ごとに処理スレッドを起動する。このとき、起動した処理スレッドに入力ファイルセット情報に対応するスレッド番号を引き渡す。このスレッド番号は、入力ファイルセット情報が示す印刷設定ファイルに基づいて決定される番号である。具体的には、各入力ファイルセットの印刷設定ファイルを参照し、出力先ＩＰアドレスと出力先プリンタ名との組み合わせごとに、入力ファイルセット情報をグルーピングする。そして、当該組み合わせのグループごとに、入力ファイルセット情報が示すエンドファイルの生成日時でソートされた順番で、スレッド番号を決定する。その結果が図１１である。
【００５９】
例えば、出力先ＩＰアドレスが“１０．１．１．１”で、出力先プリンタ名が“Ｐｒｉｎｔｅｒ１”である印刷設定ファイルを有する入力ファイルセット情報は、図１１に示すように４つある。これらをエンドファイルの生成日時順にソートし、生成日時が古い順にスレッド番号を割り振る。つまり、このスレッド番号は、監視対象フォルダに格納された順番となる。こうして決定された入力ファイルセット情報のスレッド番号を、当該入力ファイルセット情報に対応する処理スレッドに引き渡す。
【００６０】
各処理スレッドでは、当該処理スレッドに対応する入力ファイルセットを用いて、印刷制御ファイル生成部４０６によって印刷制御ファイルが生成される。印刷制御ファイルは、当該入力ファイルセットに含まれる帳票ファイルに対して、印刷設定ファイルが示す各種印刷設定命令を付加することで生成する。
【００６１】
そして、各処理スレッドは、自身のスレッド番号と、印刷順序管理配列１０００のカウンタとを比較し、それぞれの値が一致するか否かを判定する。比較対象の印刷順序管理配列１０００のカウンタは、当該処理スレッドに対応する入力ファイルセットに含まれる印刷設定ファイルが示す、出力先ＩＰアドレスと出力先プリンタ名との組み合わせに紐づくカウンタである。これが一致すると判定された場合には、当該出力先ＩＰアドレスが示すプリントサーバ１０５に対して、生成した印刷制御ファイルを送信する。合わせて、当該出力先プリンタ名も送信し、印刷指示を行う。一致しないと判定された場合には、一致するまで繰り返し判定を行う。つまり、処理スレッドは自分の順番が来るまで印刷制御ファイルの送信を待機するということである。
【００６２】
プリントサーバ１０５に対する印刷指示が完了したら、比較対象だった印刷順序管理配列１０００のカウンタをカウントアップ（インクリメント）する。こうすることで、カウントアップされた次の値のスレッド番号を有する処理スレッドが、印刷制御ファイルを送信できるようになる。
【００６３】
以上説明したような一連の処理を行うことで、マルチスレッドで印刷制御ファイルを送信する場合であっても、監視対象フォルダに対する格納順で印刷制御ファイルをプリントサーバ１０５に送信することが可能となる。
【００６４】
次に、フローチャートを用いて上記実施形態の各処理について説明する。図６は、所定のフォルダに格納された入力ファイルセットごとに処理スレッドを起動する処理の流れの一例を示すフローチャートである。以下説明するＳ６０１乃至Ｓ６１０の各ステップは、印刷制御サーバ１０１のＣＰＵ２０１が各機能部を動作することにより実行される処理である。
【００６５】
ステップＳ６０１では、印刷制御サーバ１０１の記憶部４０１は、外部メモリ２１１に記憶された設定ファイル７００を読み込む。設定ファイル７００のデータ構成の一例を図７に示す。設定ファイル７００には、監視対象フォルダを監視するための各種情報が格納されている。設定ファイル７００は、監視対象フォルダパス７０１、監視間隔７０２、ソートオーダー７０３、帳票ファイル拡張子７０４、印刷設定ファイル拡張子７０５、エンドファイル拡張子７０６が格納されている。
【００６６】
ステップＳ６０２では、印刷制御サーバ１０１のＣＰＵ２０１は、ステップＳ６０３乃至ステップＳ６１０を実行するためのプログラムの終了指示が要求されるまで、ステップＳ６０３乃至ステップＳ６１０を繰り返し実行する（ループする。）。当該プログラムの終了指示が要求された場合には、ループ処理を抜けて、本一連の処理を終了する。
【００６７】
ステップＳ６０３では、印刷制御サーバ１０１のフォルダ監視部４０２は、設定ファイル７００の監視対象フォルダパス７０１が示すフォルダを所定のタイミングで監視する。監視のタイミングは、監視間隔７０２が示す間隔で行う。そして、監視対象フォルダに帳票ファイル拡張子７０４、印刷設定ファイル拡張子７０５、エンドファイル拡張子７０６がそれぞれ示す拡張子を有するファイルがあるかどうかをチェックする。これが存在した場合には、当該拡張子以外のファイル名部分が同一である各ファイルを入力ファイルセットとして扱う。そうでなければ、入力ファイルセットとして扱わないので、印刷対象とはならない。
【００６８】
例えば、“Ｔｅｓｔ１．ｐｄｆ”と“Ｔｅｓｔ１．ｉｎｉ”と“Ｔｅｓｔ１．ｅｎｄ”の３つは、設定ファイル７００が示す拡張子をそれぞれ有するファイルであり、かつ、拡張子以外のファイル名が同一なので１つの入力ファイルセットとして扱う。そして、入力ファイルセット管理部４０３は、この入力ファイルセットの入力ファイルセット情報を取得し、入力ファイルセット情報配列９００に格納する。入力ファイルセット情報を入力ファイルセット情報配列９００に格納する順番は特に問わない。
【００６９】
入力ファイルセット情報配列９００の配列番号９０１ごとに、入力ファイルセット情報を対応づけて格納する。具体的には、帳票ファイル名９０２と印刷設定ファイル名９０３とエンドファイル名９０４とにそれぞれ取得した各ファイル名を格納する。また、エンドファイル生成日時９０５には、エンドファイルが生成された日時を格納する。
【００７０】
本実施形態では、図８Ａ及び図８Ｂに示す１０個の入力ファイルセットが監視対象フォルダに格納されているものとして説明する。各入力ファイルセットのファイル名やエンドファイルの生成日時（図８Ａ及び図８Ｂでは、年月日を省略している。）、印刷設定ファイルの内容は、図８Ａ及び図８Ｂに示す通りである。
【００７１】
ステップＳ６０４では、印刷制御サーバ１０１の入力ファイルセット管理部４０３は、入力ファイルセット情報配列９００に格納された入力ファイルセット情報を、ソートオーダー７０３（エンドファイル生成日時９０５）に従ってソートする。図９（ａ）に示す入力ファイルセット情報配列９００に含まれる入力ファイルセット情報をソートした結果が、図９（ｂ）である。このように、エンドファイル生成日時９０５が昇順となるようにソートする。
【００７２】
ステップＳ６０５では、印刷制御サーバ１０１の印刷順序制御部４０４は、印刷順序管理配列１０００を作成する。図８Ａ及び図８Ｂに示す印刷設定ファイルの出力先ＩＰアドレスと出力先プリンタ名との組み合わせは３つあり、図１０（ａ）に示す通りである。よって、印刷順序管理配列１０００のＫｅｙ１００１にこの３つの組み合わせを示す情報を格納し、それぞれに対応するＶａｌｕｅ１００２に“１”を格納する。
【００７３】
ステップＳ６０６では、印刷制御サーバ１０１のＣＰＵ２０１は、入力ファイルセット情報配列９００に含まれる入力ファイルセット情報の数だけ、ステップＳ６０６乃至ステップＳ６０８を繰り返し実行する。これにより、入力ファイルセット情報の数だけ処理スレッドが起動することになる。入力ファイルセット情報の数だけ、ステップＳ６０６乃至ステップＳ６０８を繰り返し実行したら、ループ処理を抜けて、ステップＳ６０９に処理を進める。
【００７４】
ステップＳ６０７では、印刷制御サーバ１０１の処理スレッド制御部４０５は、入力ファイルセット情報配列９００に含まれる入力ファイルセット情報に対応する処理スレッドを生成する。このとき、入力ファイルセット情報が示す印刷設定ファイルを参照し、印刷設定ファイルに含まれる出力先ＩＰアドレスと出力先プリンタ名との組み合わせごとに、入力ファイルセット情報をグルーピングする。そして、このグループごとにエンドファイルの生成日時でソートして、当該グループごとにスレッド番号を昇順で付与する。その結果が図１１である。こうして付与されたスレッド番号、すなわち出力先ごとの格納順を生成した処理スレッドに引き渡す。
【００７５】
ステップＳ６０８では、印刷制御サーバ１０１のＣＰＵ２０１は、生成した処理スレッドを起動させ、図１２に示す各処理を実行する。処理スレッドで図１２に示す処理の実行が開始されたら、ステップＳ６０６に処理を戻す。
【００７６】
ここで図１２の説明を行う。ステップＳ６０７で起動された処理スレッドにおいて実行される一連の処理の一例を示すフローチャートである。以下説明するＳ１２０１乃至Ｓ１２０５の各ステップは、印刷制御サーバ１０１のＣＰＵ２０１が各機能部を動作することにより実行される処理である。また、図１２に示す一連の処理は、ステップＳ６０７で起動した処理スレッドごとに実行されるため、入力ファイルセット情報の数だけ並列して動作するものである。
【００７７】
ステップＳ１２０１では、印刷制御サーバ１０１の印刷制御ファイル生成部４０６は、実行中の処理スレッドに対応する入力ファイルセットを用いて、印刷制御ファイルを生成する。すなわち、印刷対象ファイルごとの並列処理により、画像処理装置１０２で印刷可能な印刷制御ファイルを、印刷対象ファイルから生成する（生成手段）。具体的には、入力ファイルセットに含まれる印刷設定ファイルを参照し、“片面／両面”や“カラー／モノクロ”といった印刷設定を、同じく入力ファイルセットに含まれる帳票ファイルに印刷設定命令として付加することで、印刷制御ファイルを生成する。
【００７８】
ステップＳ１２０２では、印刷制御サーバ１０１のＣＰＵ２０１は、印刷処理が成功するまで、ステップＳ１２０２乃至ステップＳ１２０３を繰り返し実行する。ここでいう印刷処理の成功とは、ステップＳ１２０３の判定でＹＥＳの場合である。何かしらのエラー等によって所定時間内に印刷処理が成功しない場合には、ステップＳ１２０２乃至ステップＳ１２０３のループ処理を終了してもよい。
【００７９】
ステップＳ１２０３では、印刷制御サーバ１０１の印刷順序制御部４０４は、印刷順序管理配列１０００のＶａｌｕｅ１００２が示す値と、実行中の処理スレッドのスレッド番号とが一致するか否かを判定する。すなわち、生成された印刷制御ファイルごとに、印刷制御ファイルに対応する格納順（スレッド番号）と、送信順（印刷順序管理配列１０００のＶａｌｕｅ１００２が示す値）とが一致するか否かを判定する（判定手段）。比較対象のＶａｌｕｅ１００２は、実行中の処理スレッドに対応する印刷設定ファイルが示す出力先ＩＰアドレスと出力先プリンタ名との組み合わせを有するＫｅｙ１００１のＶａｌｕｅ１００２である。例えば、図８Ａに示すように、“Ｔｅｓｔ１”の入力ファイルセットは、出力先ＩＰアドレスが“１０．１．１．１”であり、出力先プリンタ名が“Ｐｒｉｎｔｅｒ１”である。つまり、この組み合わせである“１０．１．１．１＋Ｐｒｉｎｔｅｒ１”をＫｅｙ１００１に有するＶａｌｕｅ１００２の値がステップＳ１２０３における比較対象である。
【００８０】
これが一致すると判定した場合、すなわち実行中の処理スレッドが生成した印刷制御ファイルを送信する順番になったと判断された場合には、ステップＳ１２０４に処理を進める。そうでない場合、すなわち実行中の処理スレッドが生成した印刷制御ファイルを送信する順番ではない判断された場合には、ステップＳ１２０２に処理を戻し、繰り返しステップＳ１２０２乃至ステップＳ１２０３を実行する。
【００８１】
ステップＳ１２０４では、印刷制御サーバ１０１の印刷順序制御部４０４は、ステップＳ１２０１で生成した印刷制御ファイルを、印刷設定ファイルの出力先ＩＰアドレスが示すプリントサーバ１０５にＬＰＲプロトコル等を使用して送信する。すなわち、一致すると判定された印刷制御ファイルに基づく印刷を画像処理装置１０２で行うべく、当該印刷制御ファイルを画像処理装置１０２に送信する（送信手段）。当該印刷設定ファイルは、実行中の処理スレッドに対応する入力ファイルセットに含まれる印刷設定ファイルである。このとき、当該印刷設定ファイルの出力先プリンタ名もプリントサーバ１０５に送信する。
【００８２】
プリントサーバ１０５は、これを受信すると出力先プリンタ名が示す画像処理装置１０２に対して、受信した印刷制御ファイルを送信する。尚、すぐに画像処理装置１０２に送信しなくてもよい。一旦、プリントサーバ１０５に蓄積し、ユーザからの指示があったら画像処理装置１０２に送信する形態であってもよい。プリントサーバ１０５からの印刷制御ファイルの送信、すなわち印刷指示がなされると、画像処理装置１０２はこれを受信して印刷制御ファイルに基づいて印刷を実行する。
【００８３】
一方、印刷制御ファイルの送信が完了した印刷制御サーバ１０１では、ステップＳ１２０５に処理を進める。ステップＳ１２０５では、印刷制御サーバ１０１の印刷順序制御部４０４は、ステップＳ１２０３で比較対象としたＶａｌｕｅ１００２の値をカウントアップする。すなわち、印刷制御ファイルを画像処理装置１０２に送信した場合に、送信順（Ｖａｌｕｅ１００２の値）をカウントアップする（カウントアップ手段）。
【００８４】
例えば、“Ｔｅｓｔ１”の入力ファイルセット情報に対応する印刷制御ファイルの送信が完了した場合には、“１０．１．１．１＋Ｐｒｉｎｔｅｒ１”をＫｅｙ１００１に有するＶａｌｕｅ１００２の値をカウントアップする。図１０（ｂ）は、“１０．１．１．１＋Ｐｒｉｎｔｅｒ１”をＫｅｙ１００１に有するＶａｌｕｅ１００２の値をカウントアップした結果を示す。図１０（ａ）では“１”であったＶａｌｕｅ１００２の値をインクリメントして“２”にしている。こうすることで、スレッド番号が“２”で、かつ出力先の組み合わせが“１０．１．１．１＋Ｐｒｉｎｔｅｒ１”である他の処理スレッドの印刷制御ファイルが送信可能となる。
【００８５】
ステップＳ１２０５の処理が完了したら、実行中の処理スレッドを終了する。
【００８６】
図６に説明を戻す。ステップＳ６０９では、印刷制御サーバ１０１の処理スレッド制御部４０５は、ステップＳ６０８で起動したすべての処理スレッドが終了するまで待機する。すべての処理スレッドが終了したら、ステップＳ６１０に処理を進める。
【００８７】
ステップＳ６１０では、印刷制御サーバ１０１のＣＰＵ２０１は、設定ファイル７００の監視間隔７０２の時間だけ待機（スリープ）し、これが完了したらステップＳ６０２に処理を戻す。つまり、新たに監視対象フォルダに格納された入力ファイルセットがあるかどうかを確認する。
【００８８】
このように、入力ファイルセットごとに処理スレッドが起動する場合であっても、自分の送信順になるまで印刷制御ファイルの送信を待機させることが可能となる。更には、入力ファイルセットが監視対象フォルダに格納された順番で印刷制御ファイルを送信することが可能となる。
【００８９】
尚、本実施形態では出力先ＩＰアドレスと出力先プリンタ名ごとにソートをした上で、この組み合わせごとにスレッド番号を付与したが、プリントサーバ１０５を経由せずに、印刷制御サーバ１０１から画像処理装置１０２に直接送信する場合も考えられる。この場合には、出力先プリンタ名ごとに入力ファイルセット情報をソートし、出力先プリンタ名ごとにスレッド番号を付与する形態が望ましい。
【００９０】
以上説明したように、本実施形態によれば、並列処理により、所定のフォルダに格納された印刷対象ファイルから印刷制御ファイルを生成し画像処理装置に当該印刷制御ファイルを送信する仕組みにおいて、所定のフォルダに格納された順番で画像処理装置に当該印刷制御ファイルを送信可能となる。
【００９１】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００９２】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００９３】
したがって、本発明の機能処理をコンピュータで実現（実行可能と）するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００９５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００９６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００９７】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１００】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１０１】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０２】
１０１  印刷制御サーバ
１０２  画像処理装置
１０３  クライアント端末
１０４  帳票管理サーバ
１０５  プリントサーバ
１０６  ネットワーク
【図１】
2017205969.tif 000003
【図２】
2017205969.tif 000004
【図３】
2017205969.tif 000005
【図４】
2017205969.tif 000006
【図５】
2017205969.tif 000007
【図６】
2017205969.tif 000008
【図７】
2017205969.tif 000009
【図８Ａ】
2017205969.tif 000010
【図８Ｂ】
2017205969.tif 000011
【図９】
2017205969.tif 000012
【図１０】
2017205969.tif 000013
【図１１】
2017205969.tif 000014
【図１２】
2017205969.tif 000015
【図１３】
2017205969.tif 000016