(57)【特許請求の範囲】
【請求項１】
印刷データをホットフォルダに投入することにより、該ホットフォルダに設定された印刷設定を印刷データに適用し、該印刷データを印刷装置へ送信する情報処理装置において、
第１のホットフォルダと、
第２のホットフォルダと、
前記第１のホットフォルダまたは前記第２のホットフォルダに対する印刷データの投入を検知する検知手段と、
前記検知手段により検知された前記第１のホットフォルダに投入された印刷データを投入時刻と対応付けた状態で、投入順にしたがって第１の投入順リストに登録する第１の記憶手段と、
前記検知手段により検知された前記第２のホットフォルダに投入された印刷データを投入時刻と対応付けた状態で、投入順にしたがって第２の投入順リストに登録する第２の記憶手段と、
前記第１の投入順リストの先頭の印刷データに対応づけられた投入時刻と前記第２の投入順リストの先頭の印刷データに対応づけられた投入時刻とを比較して、投入時刻が古い方の印刷データから順に送信リストへ登録していくことによって、前記送信リストの登録順にしたがって前記第１のホットフォルダに投入された印刷データと前記第２のホットフォルダに投入された印刷データの前記印刷装置への送信順を決定する登録手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記第１のホットファルダまたは前記第２のホットフォルダへ印刷データが投入された順に印刷を行う投入順優先モードと、前記第１のホットファルダまたは前記第２のホットフォルダに複製が完了した印刷データから順に印刷を行うスピード優先モードとを切り換えて選択する切換手段を更に有し、
前記登録手段は、
前記切換手段で前記投入順優先モードが選択されている場合、前記第１の投入順リストの先頭の印刷データに対応づけられた投入時刻と前記第２の投入順リストの先頭の印刷データに対応づけられた投入時刻とを比較して、投入時刻が古い方の印刷データから順に送信リストに登録していくことによって、前記送信リストの登録順にしたがって前記第１のホットフォルダに投入された印刷データと前記第２のホットフォルダに投入された印刷データの前記印刷装置への送信順を決定し、
前記切換手段で前記スピード優先モードが選択されている場合、前記検知手段が前記第１のホットフォルダまたは前記第２のホットフォルダに対する印刷データの投入を検知した後の、該印刷データの前記第１のホットフォルダまたは前記第２のホットフォルダへの複製の完了を検出し、該複製の完了順で前記送信リストへ登録することにより、前記送信リストの登録順にしたがって前記第１のホットフォルダに投入された印刷データと前記第２のホットフォルダに投入された印刷データの前記印刷装置への送信順を決定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
印刷データをホットフォルダに投入することにより、該ホットフォルダに設定された印刷設定を印刷データに適用し、該印刷データを印刷装置へ送信する情報処理装置の制御方法において、
第１のホットフォルダと、
第２のホットフォルダと、
前記第１のホットフォルダまたは前記第２のホットフォルダに対する印刷データの投入を検知する検知工程と、
前記検知工程において検知された前記第１のホットフォルダに投入された印刷データを投入時刻と対応付けた状態で、投入順にしたがって第１の投入順リストに登録する第１の記憶工程と、
前記検知工程において検知された前記第２のホットフォルダに投入された印刷データを投入時刻と対応付けた状態で、投入順にしたがって第２の投入順リストに登録する第２の記憶工程と、
前記第１の投入順リストの先頭の印刷データに対応づけられた投入時刻と前記第２の投入順リストの先頭の印刷データに対応づけられた投入時刻とを比較して、投入時刻が古い方の印刷データから順に送信リストへ登録していくことによって、前記送信リストの登録順にしたがって前記第１のホットフォルダに投入された印刷データと前記第２のホットフォルダに投入された印刷データの前記印刷装置への送信順を決定する登録工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項４】
前記第１のホットファルダまたは前記第２のホットフォルダへ印刷データが投入された順に印刷を行う投入順優先モードと、前記第１のホットファルダまたは前記第２のホットフォルダに複製が完了した印刷データから順に印刷を行うスピード優先モードとを切り換えて選択する切換工程を更に有し、
前記登録工程では、
前記切換工程で前記投入順優先モードが選択されている場合、前記第１の投入順リストの先頭の印刷データに対応づけられた投入時刻と前記第２の投入順リストの先頭の印刷データに対応づけられた投入時刻とを比較して、投入時刻が古い方の印刷データから順に送信リストに登録していくことによって、前記送信リストの登録順にしたがって前記第１のホットフォルダに投入された印刷データと前記第２のホットフォルダに投入された印刷データの前記印刷装置への送信順を決定し、
前記切換工程で前記スピード優先モードが選択されている場合、前記検知工程で前記第１のホットフォルダまたは前記第２のホットフォルダに対する印刷データの投入を検知した後の、該印刷データの前記第１のホットフォルダまたは前記第２のホットフォルダへの複製の完了を検出し、該複製の完了順で前記送信リストへ登録することにより、前記送信リストの登録順にしたがって前記第１のホットフォルダに投入された印刷データと前記第２のホットフォルダに投入された印刷データの前記印刷装置への送信順を決定する
ことを特徴とする請求項３に記載の情報処理装置の制御方法。
【請求項５】
請求項３または４に記載の情報処理装置の制御方法をコンピュータで実行させるためのプログラム。
【請求項６】
請求項５記載のプログラムを格納した、コンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホットフォルダを利用して印刷処理を実行する情報処理装置、情報処理方法、情報処理システムならびに情報処理方法を実行するプログラムに関する。
【背景技術】
【０００２】
従来、サーバまたはクライアントから印刷装置に対して印刷データを送信して印刷する場合、定型業務の簡略化を目的に、あらかじめ印刷用紙のサイズ等の印刷設定がされたホットフォルダに印刷データを入稿する。すると、ホットフォルダの監視プログラムが印刷データの入稿を検知し、その印刷データを自動的に登録するシステムが考えられている（例えば、特許文献１参照）。
【０００３】
また、印刷データの出力順序を指定する場合、個々の印刷データに対して指定しなくとも、属性キーを指定するという簡易な方法で順序を指定し、指定された属性をキーとして整列した順序で出力できるシステムが考えられている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２０５３７９号公報
【特許文献２】特開２００６−３４４１７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、ジョブ送信のパフォーマンスを優先するため投入ジョブがホットフォルダへ複製が完了した順に行われる。したがって、大サイズファイルを投入したあと小サイズ（軽い）ジョブを投入した場合、軽いジョブがホットフォルダへ早く複製されるため投入順と印刷の順番が食い違うといった問題が発生する事がある。
【０００６】
複数のホットフォルダにジョブ投入した場合、ホットフォルダへの複製が完了した順に印刷順序が決定されるため複数ホットフォルダ間で投入順を意識した印刷ができていないといった問題があった。また、印刷データに属性キーを付加してキーを使って印刷データの出力順を決めるといった方法では、印刷データ毎にキーを付加する必要があるため利便性が低下するといった問題があった。
【０００７】
本発明はこのような点に鑑みてなされたもので、印刷結果がホットフォルダへファイルを投入した順となることを保証する情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために本発明による情報処理装置は以下の構成を備える。即ち、印刷データをホットフォルダに投入することにより、該ホットフォルダに設定された印刷設定を印刷データに適用し、該印刷データを印刷装置へ送信する情報処理装置において、
第１のホットフォルダと、
第２のホットフォルダと、
前記第１のホットフォルダまたは前記第２のホットフォルダに対する印刷データの投入を検知する検知手段と、
前記検知手段により検知された前記第１のホットフォルダに投入された印刷データを投入時刻と対応付けた状態で、投入順にしたがって第１の投入順リストに登録する第１の記憶手段と、
前記検知手段により検知された前記第２のホットフォルダに投入された印刷データを投入時刻と対応付けた状態で、投入順にしたがって第２の投入順リストに登録する第２の記憶手段と、
前記第１の投入順リストの先頭の印刷データに対応づけられた投入時刻と前記第２の投入順リストの先頭の印刷データに対応づけられた投入時刻とを比較して、投入時刻が古い方の印刷データから順に送信リストへ登録していくことによって、前記送信リストの登録順にしたがって前記第１のホットフォルダに投入された印刷データと前記第２のホットフォルダに投入された印刷データの前記印刷装置への送信順を決定する登録手段とを有する。
【発明の効果】
【０００９】
本発明によれば、印刷結果がホットフォルダへファイルを投入した順となることが保証できる。これにより印刷物の並び替えといった作業が必要なくなり作業の大幅な軽減ができる。また、ホットフォルダにスピード優先、投入順序優先のモードを設けることにより、ユーザの利用状況に応じた印刷結果を得る事も可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明におけるプリントシステムのシステム構成図である。
【図２】本発明のライアントコンピュータの概略構成を示すブロック図である。
【図３】本発明のライアントコンピュータのメモリに記録媒体からプログラムを展開したときのメモリマップである。
【図４】図２における記録媒体のデータ構造を表すメモリマップである。
【図５】本発明における記録媒体用ドライブに対して挿入される記録媒体との関係を示す図である。
【図６】本発明におけるプリントシステムのソフトウェア構成の例を示す図である。
【図７】本実施例の基本フローチャートを示す図である。
【図８】自動時刻合わせチェック処理を示す図である。
【図９】本発明のホットフォルダ監視処理を示す図である。
【図１０】本発明のホットフォルダの定期監視処理を示す図である。
【図１１】本発明のホットフォルダの投入順保証処理を示す図である。
【図１２】本発明のファイルの複製完了チェック処理を示す図である。
【図１３】本発明のホットフォルダのスピード優先処理を示す図である。
【図１４】本発明のホットフォルダの投入順保証処理の改善処理を示す図である。
【図１５】本発明の繰り上げ送信印刷データの検出処理を示す図である。
【図１６】投入順リスト、送信リストの一例を示す図である。
【図１７】本発明のホットフォルダの設定及び印刷設定のユーザインターフェースを示した図である。
【図１８】送信属性を持つ送信リストの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。尚、説明文中の符号について、特に断りがない限りは実施形態の共通または類似部分について共通の符号を付することで、重複説明を省略するものとする。
【００１２】
＜印刷処理システムの構成例＞
図１は、本発明にかかわるプリントシステムの全体構成を示す図である。なお、以下の説明における印刷システム全体の環境は本発明の説明を理解し易くするためのものであり、本発明はこれらの環境に限定されるものではない。
【００１３】
図１において、１０１、１０２、１０３は、ネットワーク１０６に接続され、相互に通信可能なネットワークコンピュータである。これらコンピュータはパーソナルコンピュータ（ＰＣ）であり、それぞれイーサネット（登録商標）などのネットワークケーブルによってネットワーク１０６に接続される。また、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをネットワークプリンタ１０４、１０５に転送する機能を有する。
【００１４】
１０４、１０５は、印刷制御装置としてのネットワークプリンタであり、図示しないネットワークインタフェースを介してネットワーク１０６と接続されている。これらのプリンタはクライアントコンピュータから送信されてくる印字データを含む印刷ジョブを解析し、１ページずつドットイメージに変換して印刷する。各ネットワークプリンタの機能は相違するものであってもよい。
【００１５】
また、１０６はネットワークであり、コンピュータ１０１〜１０３、ネットワークプリンタ１０４、１０５等と接続している。
【００１６】
＜ネットワークコンピュータのハードウェア構成例＞
図２は、コンピュータ１０１〜１０３の構成を説明するブロック図である。  図２において、２００は装置全体の制御を行うＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや、本実施形態のネットワークプリンタ制御プログラム等を実行する。またＣＰＵはＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１７】
２０１は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段としてのＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００１８】
２０３は記憶媒体読み込み手段としてのフロッピディスクドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて、記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータにロードすることができる。２０４は記憶媒体であるフロッピディスク（ＦＤ）であり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００１９】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、制御プログラム、関連プログラム等を格納している。
【００２０】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００２１】
２０８はシステムバスであり、コンピュータ内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００２２】
なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤなどで変更することも可能である。
【００２３】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ（記憶媒体）２０４からロードされる本発明の制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２４】
なお、本実施形態では、制御プログラムおよび関連データをＦＤ２０４から直接ＲＡＭ２０２にロードして実行させる例を示す。また、これ以外にも制御プログラムを動作させる度に、既に制御プログラムがＦＤ２０４からインストールされているＨＤ２０５から、ＲＡＭ２０２にロードするようにしてもよい。また、本制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤＲ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２５】
３０１は基本Ｉ／Ｏプログラムであり、コンピュータの電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。３０２はオペレーティングシステム（ＯＳ）であり、３０３は制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本制御プログラムを実行する領域が確保されている。
【００２６】
図４は、図２に示したクライアントコンピュータのＦＤ（記憶媒体）２０４のメモリマップの一例を示す図である。
【００２７】
図４において、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する制御プログラム、４０４はその関連データである。制御プログラム４０３は、本実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント及びサーバ共に、同様の構成をとっている。
【００２８】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明する制御プログラムおよび関連データが格納されている。尚、尚ＦＤの代わりにＣＤ、ＤＶＤ等の光メディア、あるいはＩＣカードを用いる場合は、ＦＤドライブ２０３はメディアに対応した記憶媒体用のドライブを用いる。
【００２９】
＜本実施例におけるソフトウェア構成例＞
図６は、本実施例のプリントシステム６０１の構成を機能モジュール毎に示した構成図である。６０１はクライアント１０１のホットフォルダへ投入された印刷データを処理するプリントシステムである。６０２はホットフォルダの監視間隔や投入された印刷データに設定する印刷設定などをあらかじめ設定しておくための動作情報設定部であり、後述する図１７に示すような操作画面を持つ。６０３はホットフォルダ毎の監視部６０５を起動させ、所定時間ごとに各ホットフォルダに投入順リスト（投入順リストについては後述）の印刷データ検出するホットフォルダマネージャ（以降ＨＦＭ：  ＨｏｔＦｏｌｄｅｒＭａｎａｇｅｒの略称で記載）である。なお、ＨＦＭは、送信処理対象のホットフォルダの管理、ホットフォルダの新規登録、削除などの機能も備える。６０４は動作情報設定部６０２で設定された印刷設定を持つジョブチケット０１を生成するジョブチケット生成部である。６０５は、ホットフォルダ監視部でありホルダへの印刷データの投入を監視し、投入された場合、投入時間と印刷データとの対応を記録し投入順リストに登録する。６０６はホットフォルダへ投入された印刷データ０１とジョブチケット０１をプリンタ１０４に送信する印刷データ送信部である。尚ＨＦＭの監視部は各ホットフォルダへ印刷データの投入（投入順、投入時刻）を検知するとともに、ホットフォルダへの印刷データの複製（データ移動やコピー）の完了も検知可能である。
【００３０】
ここで本提案の投入順リストと送信リストについて具体例をあげて説明する。
【００３１】
ホットフォルダは、ホットフォルダへ投入された順に印刷データを記録する投入順リストをホットフォルダ毎に持つ。また、ＨＦＭはプリンタへの送信を行う印刷データを記憶する送信リストを持つ。投入順リスト、送信リストの具体例を図１６を用いて説明する。
【００３２】
ＨＦ１，ＨＦ２，ＨＦ３には、図に示したようにそれぞれ、投入順リストがあり、印刷データの名称（Ａ，Ｂ，Ｃ・・・）とともに印刷データの検出時刻と合わせて記録されている。また、ＨＦＭには、プリンタへ送信する印刷データの送信順を記憶する送信リストがある。
【００３３】
尚、一例として、ＨＦ１が第１のホットフォルダ、ＨＦ２が第２のホットフォルダ、ＨＦ３が第３のホットフォルダに対応する。また、一例として、ＨＦ１の投入順リストが第１の記憶手段に対応し、ＨＦ２の投入順リストが第２の記憶手段に対応する。各投入順リストは各ホットフォルダと関連付けてＨＦＭに記憶される。同様に送信順リストもＨＦＭに記憶される。
【００３４】
＜第１の実施形態＞
図７は、ＨＦＭの起動から印刷データをプリンタに送信するまでの一連の処理の流れを表した基本フローチャートである。ステップ０７０１は、ＨＦＭ６０３を起動するステップでありＨＦＭアプリケーションを起動する。なお、起動方法としては、ＰＣ起動後にユーザが起動しても、ＰＣ起動時に同時に起動するようにしても有効なのは言うまでもない。
【００３５】
ステップ０７０２は、ＨＦＭ起動時に環境設定ファイルの読み込みを行うステップである。環境設定情報としては、ＨＦＭから各ホットフォルダの監視を行う際の監視感覚や監視対象ホットフォルダの参照パス、送信モード情報（後述）などがある。ＨＦＭは起動時にこれらの情報を読み込む。なお、本提案では送信モードとして、フォルダへ印刷データが投入順にされた順に印刷を行う投入順優先モード。印刷データが印刷可能な状態（ホットフォルダへ印刷データの複製が完了）になったものから優先して印刷を行うスピード優先モードの２つのモード用意している。ステップ０７０３は、自動時刻合わせチェック処理である。自動時刻合わせとはＰＣが持つ時計情報を正しい時刻に自動的に同期させるものである。図８は、本ステップの詳細である。ステップ０８０１は、ＰＣが自動時刻合わせ設定されているか判定するステップである。なお、一般的に自動時刻合わせの設定はあらかじめ決められた設定エリア（例：システムのレジストリ）に登録されている。
【００３６】
本ステップで自動時刻合わせがセットされていると判定されるとステップ０８０２へ進む。ステップ０８０２は、送信モードの判定処理であり送信モードが投入順優先モードの場合、ステップ０８０３に進む。ステップ０８０３は、ＰＣが持つ時計情報が、ＮＴＰ（ネットワーク・タイム・プロトコル）サーバの持つ時計より進んでいるか判定するステップである。進んでいる場合、投入順優先モード実行中に自動時刻合わせ処理が起動すると、投入順優先モードが正しく起動しなくなる。このため（ＰＣの時間が戻され、投入時刻順に管理している処理では後に入った印刷データが先に印刷ケースが発生する）ＰＣの時計が進んでいると判定された場合、ステップ０８０４へ進む。ステップ０８０４は、警告メッセージ表示処理であり前記エラーがある事をユーザに通知するためのメッセージを表示する。
【００３７】
ステップ０７０４は、ホットフォルダの監視処理（スレッド）の起動を行うステップある。
本実施形態では、各ホットフォルダ毎にホットフォルダの監視処理を起動する。
【００３８】
図９は、ホットフォルダの監視処理の詳細である。ステップ０９０１は、ホットフォルダに印刷データが投入されたかチェックするステップである。確認の方法としては、ホットフォルダを定期的に監視しフォルダ内の印刷データ（ファイル）の数と名称を読み出し、前回の情報との差分より投入した印刷データを検出する方法。フォルダの状態が変更された場合（フォルダ内のファイル数の増減）、システムからイベント通知がもらえるようにイベント登録して監視する方法などがあるが何れも既知の手段でありここでは詳しく述べない。フォルダに印刷データが投入された事を検出するとステップ０９０２へ進む。ステップ０９０２は、前述の手法を用いてフォルダに印刷データが投入された事が検出されたタイミングを投入時刻として記録するステップである。本ステップでは、ＰＣが持つ時計情報から時刻を読み出して投入された印刷データと共に記憶する。ステップ０９０３は、前記ステップ０９０１で検出された投入された印刷データの数をチェックするステップである。同時刻に複数の印刷データが検出された場合、ステップ０９０４に進む。ステップ０９０４は、同時刻に検出された印刷データに対して、あらかじめ定義された順に並び変えを行うステップである。本提案では、１例として印刷データの名称（ファイル名称）を元に辞書順にソート処理を行う。複数ファイル選択しホットフォルダに１操作（Ｄｒａｇ＆Ｄｒｏｐ）で同時に投入された場合、印刷データ毎の投入検出はできない。したがって、あらかじめ定義されたルールに従い印刷データの検出の順番をソートして決める処理が必要となる。
【００３９】
ステップ０９０５は、前記処理で投入を検出した印刷データを投入順リストに登録する処理である。ステップ０７０５は、ＨＦＭが各ホットフォルダに対して定期監視を行うステップであり、図１０はその詳細である。ステップ１００１は、ＨＦＭが各ホットフォルダの投入順リストを定期的に監視するためのタイマイベントの発生を検出するステップである。本ステップでタイマイベントを検出するとステップ１００２に進む。ステップ１００２は送信モードを判定するステップである。ここで投入順優先モードが設定されていると判定された場合、ステップ１００３に進み、それ以外の場合はスピード優先モードが設定されているものとしてステップ１００４に進む。ステップ１００３は投入順保証処理のステップであり図１１はその詳細である。投入順優先モードとスピード優先モードの切換は不図示のユーザインターフェースに選択ボタンなどを設けることで行う。具体的には図１７のＵＩに新たな選択ボタンを設けるなどが一例である。ステップ１１０１は、パラメータ初期化処理でありカウンタ変数  ＣＮＴ  及び投入時刻変数  ＴＩＭＥ１  の初期化及び管理対象ホットフォルダの総数を  ＴＯＴＡＬ＿ＨＦ  変数に読み込むステップである。ステップ１１０２は、ＣＮＴ値とＴＯＴＡＬ＿ＨＦ値を比較し管理対象ホットフォルダ全てに対して後述の処理が適用されたか判定するステップである。処理が適用されていないと判定された場合、ステップ１１０３に進む。また、管理対象ホットフォルダ全てに処理が適用された判断された場合にはステップ１１０８へ進む。ステップ１１０３は、投入順リストに印刷データが登録されているか判断するステップである。投入順リストが空の場合には、ステップ１１０７へ進みカウンタ（ＣＮＴ）をカウントアップさせる。また、印刷データの登録がある場合にはステップ１１０４へ進む。ステップ１１０４はホットフォルダの投入順リストの先頭印刷データの投入時刻を  ＴＩＭＥ２変数  に読み込むステップである。
【００４０】
ステップ１１０５は、前記ステップで読み込んだ投入時刻ＴＩＭＥ２とＴＩＭＥ１との比較を行うステップである。ここでＴＩＭＥ１の時刻が、ＴＩＭＥ２の時刻より若い場合にはステップ１１０６へ進む。また、ＴＩＭＥ１の時刻の方が古い場合にはステップ１１０７へ進みカウンタ（ＣＮＴ）をカウントアップする。ステップ１１０６は、ＴＩＭＥ２の時刻をＴＩＭＥ１に複製し、当該印刷データの情報（どのホットフォルダの投入順リストのデータであるかといった情報）を記憶するステップである。記憶した後、ステップ１１０７に進み、カウンタをアップさせステップ１１０２に戻る。１１０２でＣＮＴがＴＯＴＡＬ＿ＨＦより大きいと判断された場合、管理対象のホットフォルダ全てに対して投入順リストの先頭印刷データの確認処理が終了したもののとしてステップ１１０８へ進む。
ステップ１１０８は、前記処理で印刷データが抽出されたか判定するステップである。
【００４１】
印刷データの検出がなければ処理を終了させステップ０７０６へ進む。また、検出された場合、ステップ１１０６で検出された印刷データは送信リストへ登録されるため、当該印刷データは投入順リストからは削除される。また、投入順リストには後続の印刷データが投入順リストの先頭に移動する。ステップ１１０９は、前記ステップで検出された印刷データを送信リストに登録するステップであり図１２は、その詳細である。ステップ１２０１は、前記ステップで検出された印刷データが印刷可能な状態（ホットフォルダへの複製が完了している状態）であるか判断するステップである。処理が完了していない場合、完了するまで処理待ちの状態となる。ステップ１２０２は、前記ステップで印刷データが印刷可能な状態になったのを確認し、前記ステップ１１０２〜１１０６で検出した印刷データをＨＦＭが管理する送信リストに登録するステップである。ここで図１１のフローを図１６を用いて具体的に説明する。ＨＦ１，ＨＦ２，ＨＦ３は、ホットフォルダへ投入された順に印刷データを管理する投入順リスト１／２／３を持つ。前述のステップ１１０２〜１１０６のステップにより各ホットフォルダの投入順リストの先頭印刷データを読み出し最も古い投入時刻を持つ印刷データを送信リストに登録する。図１６の例では、各ホットフォルダの投入順リストの先頭の印刷データの時刻がＡ（１０：０９）、Ｂ（１０：０８）、Ｃ（１０：１１）となり、Ｂがもっとも古いため送信リストにＢの印刷データが詰め込まれることとなる。
【００４２】
図１３は、図１０のステップ１００４のスピード優先モードが選択された場合の処理フローである。スピード優先モードでは印刷データの複製（データのコピー、移動）の完了順に送信リストに登録されることになる。ステップ１３０１は、パラメータ初期化処理でありカウンタ変数  ＣＮＴ  の初期化及び管理対象ホットフォルダの総数をＴＯＴＡＬ＿ＨＦ変数に登録するステップである。ステップ１３０２は、ＣＮＴ値とＴＯＴＡＬ＿ＨＦ値を比較し管理対象ホットフォルダ全てに対して後述の処理が適用されたか判定するステップである。処理が適用されていないと判定された場合、ステップ１３０３に進む。また、管理対象ホットフォルダ全てに処理が適用された判断された場合にはステップ０７０６へ進む。
【００４３】
ステップ１３０３は、投入順リストに印刷データが登録されているか判断するステップである。投入順リストが空の場合には、ステップ１３０６へ進みカウンタ（ＣＮＴ）をカウントアップしステップ１３０２の直前に戻る。また、印刷データの登録がある場合にはステップ１３０４へ進む。ステップ１３０４は、投入順リストに登録されている印刷データの中から複製が完了している印刷データを検出するステップである。検出に関して、各ホットフォルダから印刷データが均等に送信されるように１つのホットフォルダから検出する印刷データ数の上限を決めて（例：１つのホットフォルダに対して３データまで）処理を行うようにしても良い。検出が完了した後、ステップ１３０５へ進む。ステップ１３０５は、前記ステップで検出した印刷データを送信リストに登録するステップである。なお、送信リストに印刷データが登録されると当該データの情報は投入順リストから削除され、後続のデータが投入順リストの先頭に遷移する。本ステップを経由した後、ステップ１３０６に進みステップ１３０２の直前に戻る。ステップ０７０６は前記ステップで送信リストに印刷データが登録されているか判定するステップであり、送信データの登録がある場合、ステップ０７０７へ進む。送信データがなかった場合にはステップ０７０５のホットフォルダの定期監視処理の直前に進む。ステップ０７０７は、送信リストに登録されている印刷データをプリンタ１０４に送信する処理である。ステップ０７０８は、ＨＦＭの終了処理の判定を行うステップである。ＨＦＭのＵＩから終了ボタンが押下などの終了処理が設定された場合、本ステップでＨＦＭを終了させるものとしプログラム終了させる。また、それ以外であればステップ０７０５の直前に戻る。以上のフローで複数のホットフォルダに投入された印刷データの送信順が決定され送信順リストに登録される。
【００４４】
＜第２の実施形態＞
第１の実施形態では、全てのホットフォルダの投入順リストの先頭の印刷データを検索し、投入時刻が古い印刷データから送信する事でホットフォルダへ印刷データを投入した順に送信可能な方法について開示した。実施例１の投入順優先モードは、印刷データサイズが大きく複製に時間がかかる場合に送信待ちが発生するといった課題がある。本実施例では送信待ち時間に他の印刷データを送信する事で処理の効率化を図る方法について説明する。
【００４５】
本実施形態は、図１１のステップ１１０９のステップを図１４に記載されているフローチャートに置き、ステップ０７０７の処理を一部置き換える事で実現する。このため本実施例では、実施例１との差分箇所のみ説明する。ステップ１４０１は、ステップ１１０２から１１０７の一連のステップで検出された投入順リスト中、投入時刻がもっとも古い印刷データがホットフォルダへ複製中の状態であるか判定するステップである。ここで、複製中であると判断されるとステップ１４０２へ進む。ステップ１４０２は、前記印刷データの複製完了までの時間を算出するステップである。複製完了時間の算出方法としては、
当該印刷データサイズ                        Ａ  ｂｙｔｅ
複製済み印刷データサイズ                    Ｂ  ｂｙｔｅ
単位時間（ｓ）あたりの複製データサイズ      Ｃ  ｂｙｔｅ
とした場合、Ｃ＿ＴＩＭＥ＝（Ａ−Ｂ）／Ｃの計算式を使って複製完了までの時間（Ｃ＿ＴＩＭＥ）を算出する。ステップ１４０３は前記ステップで算出された、複製完了までの時間（Ｃ＿ＴＩＭＥ）があらかじめ定義されている値（閾値）以上であるか判定するステップである。
【００４６】
閾値より小さい場合には、複製がすぐに完了するものとしてステップ１４０７へ進む。ステップ１４０７は、図１２のフローと同じためここでは詳細に説明しない。ステップ１４０４は送信リストの空き状況を確認するステップであり送信リストが空でない場合にはステップ１４０７に進み、空の場合にはステップ１４０５へ進む。ステップ１４０５は、投入順リストからＣ＿ＴＩＭＥ以下で送信可能な複製済みの印刷データを検索するステップである。図１５はその詳細である。
【００４７】
ステップ１５０１は、パラメータ初期化処理でありカウンタ変数  ＣＮＴ及び投入時刻変数  ＴＩＭＥ１の初期化及び管理対象ホットフォルダの総数をＴＯＴＡＬ＿ＨＦ  変数に読み込むステップである。ステップ１５０２は、ＣＮＴ値とＴＯＴＡＬ＿ＨＦ値を比較し管理対象ホットフォルダ全てに対して後述の処理が適用されたか判定するステップである。処理が適用されていないと判定された場合、ステップ１５０３に進む。また、管理対象ホットフォルダ全てに処理が適用された判断された場合にはステップ１５０８へ進む。ステップ１５０３は、投入順リストに印刷データが登録されているか判断するステップである。投入順リストが空の場合には、ステップ１５０７へ進み、印刷データの登録がある場合にはステップ１５０４へ進む。ステップ１５０４はホットフォルダの投入順リストの先頭印刷データの投入時刻を変数ＴＩＭＥ２に読み込むステップである。ステップ１５０５は、前記ステップで読み込んだ印刷データ投入時刻ＴＩＭＥ２とＴＩＭＥ１との比較を行うステップである。ここでＴＩＭＥ１の時刻が、ＴＩＭＥ２の時刻より若い場合にはステップ１５０６へ進む。また、ＴＩＭＥ１の時刻の方が古い場合にはステップ１５０７へ進みカウンタＣＮＴをカウントアップする。ステップ１５０６は、ＴＩＭＥ２の時刻をＴＩＭＥ１に複製し、当該印刷データの情報（どのホットフォルダの投入順リストのデータであるかといった情報）を記憶するステップである。
【００４８】
記憶した後、ステップ１５０７でカウンタをアップさせステップ１５０２に戻る。
１５０２でＣＮＴがＴＯＴＡＬ＿ＨＦより大きいと判断された場合、管理対象のホットフォルダ全てに対して投入順リストの先頭印刷データの確認処理が終了したもののとしてステップ１５０８へ進む。
【００４９】
ステップ１５０８は、前記処理で印刷データが抽出されたか判定するステップである。前記ステップで印刷データの抽出がなければ処理を終了させステップ１４０６へ進む。印刷データの抽出があった場合には、ステップ１５０９に進む。ステップ１５０９は前記、ステップで抽出した印刷データの送信時間を算出し、その結果をＣ＿ＴＩＭＥ２に設定するステップである。ステップ１５１０は、Ｃ＿ＴＩＭＥ２＜Ｃ＿ＴＩＭＥであった場合、当該印刷データを繰り上げ送信印刷データとして判定するステップである。なお、前記条件に合致した場合にはステップ１５１１に進む。合致しなかった場合には処理を終了させステップ１４０６へ進む。ステップ１５１１は、前記ステップで条件に合致した印刷データを繰り上げ送信印刷データとして送信リストに登録を行うステップである。本ステップを完了した後ステップ１４０６へ進む。
【００５０】
ステップ１４０６は、前記ステップで繰り上げ送信可能な印刷データが検出できたか判定するステップである。検出できなかった場合には、ステップ１４０７に進む。検出できた場合ステップ１４０８に進み、繰り上げ送信の印刷データにプリンタで処理が“一時停止”されるように送信属性として“一時停止”を付加して送信リストに登録する。また、ステップ１４０１で複製中の印刷データと判定された印刷データに対して“追い越し印刷”属性を付加して、送信リストに印刷データを登録する。
【００５１】
図１８は、本ステップを適用した送信リストの一例である。ＨＦ１の投入順リストの先頭の印刷データが、投入時刻がもっとも古いが複製中のため送信属性として“追い越し印刷”を付加して送信リストの２番目に積まれる。ＨＦ２の、印刷データは複製が完了しているため送信属性として“一時停止”を付加送信リストの１番目に積まれている。
【００５２】
ステップ０７０７は、送信リストに登録されている印刷データをプリンタ１０４に送信する処理である。印刷データの送信属性に“一時停止”があるものは、その属性を付加してプリンタ１０４に送信する。プリンタで印刷データの属性に従い、当該印刷データを“一時停止”の状態にする。印刷データの送信属性に“追い越し印刷”が設定されている場合、印刷データの複製完了を待ち、“追い越し印刷”の属性を付加してプリンタに印刷データを送信する。また、この際に繰り上げ送信の印刷データとして“一時停止”を付加して送信した印刷データの“一時停止”を解除する。これによりプリンタでは、“一時停止”状態となっていた印刷データを追い越して、前記印刷データが印刷され、“一時停止”状態も解除される事から投入順に印刷が可能となる。なお、送信リストに属性が付加されていないものは、実施例１と同様にそのままプリンタ１０４に印刷データを送信する。
【００５３】
なお、印刷データに“一時停止”や“追い越し印刷”属性を付加して送信し、プリンタ側で属性に従い動作させる方法については既知の一般的な技術であるのでここでは詳しく述べない。
【００５４】
以上説明したように、本発明によれば印刷結果がホットフォルダへ印刷データを投入した順となることを保証することができる。その結果、印刷物の並び替えといった作業が必要なくなり作業の大幅な軽減が図られる。また、ホットフォルダにパフォーマンス優先、投入順序優先モードを設けられることにより、ユーザの利用状況に応じた印刷出力を得る事が可能となる。
【００５５】
＜その他の実施形態＞
また本発明は、たとえば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００５６】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005875217.tif 000002
【図２】
0005875217.tif 000003
【図３】
0005875217.tif 000004
【図４】
0005875217.tif 000005
【図５】
0005875217.tif 000006
【図６】
0005875217.tif 000007
【図７】
0005875217.tif 000008
【図８】
0005875217.tif 000009
【図９】
0005875217.tif 000010
【図１０】
0005875217.tif 000011
【図１１】
0005875217.tif 000012
【図１２】
0005875217.tif 000013
【図１３】
0005875217.tif 000014
【図１４】
0005875217.tif 000015
【図１５】
0005875217.tif 000016
【図１６】
0005875217.tif 000017
【図１７】
0005875217.tif 000018
【図１８】
0005875217.tif 000019