(57)【要約】【課題】ＣＳＶファイルにて指定された複数のジョブを処理する際に、実行可能なジョブと実行不可のジョブが混在している場合、ジョブの実行順序が保証されないことがあった。【解決手段】情報処理システムであって、複数のジョブの実行を要求するファイルのホットフォルダへの投入を監視する監視手段と、前記ファイルが前記ホットフォルダに投入されたことを前記監視手段が検知した際に、当該ファイルにて要求される前記複数のジョブそれぞれが実行可能か否かを判定する判定手段と、前記判定手段により実行可能でないと判定されたジョブに基づいて、エラーファイルを生成する生成手段と、前記エラーファイルを生成した場合、前記ホットフォルダの機能を停止する制御手段と、前記判定手段にて実行可能であると判定されたジョブをジョブ処理装置へ送信する送信手段とを有する。【選択図】図５
2018116498.tif 000002
【特許請求の範囲】
【請求項１】
複数のジョブの実行を要求するファイルのホットフォルダへの投入を監視する監視手段と、
前記ファイルが前記ホットフォルダに投入されたことを前記監視手段が検知した際に、当該ファイルにて要求される前記複数のジョブそれぞれが実行可能か否かを判定する判定手段と、
前記判定手段により実行可能でないと判定されたジョブに基づいて、エラーファイルを生成する生成手段と、
前記エラーファイルを生成した場合、前記ホットフォルダの機能を停止する制御手段と、
前記判定手段にて実行可能であると判定されたジョブをジョブ処理装置へ送信する送信手段と
を有することを特徴とする情報処理システム。
【請求項２】
前記判定手段は、前記ホットフォルダに投入されたファイルにて要求される前記複数のジョブのうち少なくとも１つのジョブが実行可能でない場合、前記複数のジョブの全てを実行可能でない判定することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記判定手段は、前記ホットフォルダに投入されたファイルにて要求される前記複数のジョブのうち実行可能でないと判定されたジョブ以降の全てのジョブを実行可能でないと判定することを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記判定手段は、前記ホットフォルダに投入されたファイルにて要求される複数のジョブを順に判定し、実行可能でないと判定した時点で判定を終了することを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記ファイルにおいて、前記複数のジョブのうち関連するジョブの情報が示され、
前記判定手段は、実行可能でないと判定したジョブに関連するジョブを実行可能でないと判定することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理システム。
【請求項６】
ジョブを実行するジョブ処理装置を管理する管理手段を更に有し、
前記判定手段は、ジョブにて指定されたジョブ処理装置が前記管理手段に登録されていない場合、当該ジョブを実行可能でないと判定することを特徴とする請求項１乃至５のいずれか一項に記載の情報処理システム。
【請求項７】
ジョブにて指定されたデータを取得する取得手段を更に有し、
前記判定手段は、ジョブにて指定されたデータを前記取得手段にて取得できない場合、当該ジョブを実行可能でないと判定することを特徴とする請求項１乃至６のいずれか一項に記載の情報処理システム。
【請求項８】
前記生成手段は、前記ホットフォルダに投入されたファイルにて示される前記複数のジョブのうち実行可能であると判定されたジョブ以外のジョブを含めて前記エラーファイルを生成することを特徴とする請求項１乃至７のいずれか一項に記載の情報処理システム。
【請求項９】
前記エラーファイルは、前記ホットフォルダに投入されたファイルの拡張子を変更することにより生成されることを特徴とする請求項１乃至８のいずれか一項に記載の情報処理システム。
【請求項１０】
前記ホットフォルダに投入されるファイルは、所定の形式にて記述されていることを特徴とする請求項１乃至９のいずれか一項に記載の情報処理システム。
【請求項１１】
前記所定の形式はＣＳＶ（Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）形式であることを特徴とする請求項１０に記載の情報処理システム。
【請求項１２】
前記ホットフォルダの状態を示す手段を更に有することを特徴とする請求項１乃至１１のいずれか一項に記載の情報処理システム。
【請求項１３】
前記ホットフォルダの機能を再開させるための指示を受け付ける手段を更に有することを特徴とする請求項１２に記載の情報処理システム。
【請求項１４】
前記ジョブ処理装置は、画像形成装置および後処理装置を含むことを特徴とする請求項１乃至１３のいずれか一項に記載の情報処理システム。
【請求項１５】
複数のジョブの実行を要求するファイルのホットフォルダへの投入を監視する監視工程と、
前記ファイルが前記ホットフォルダに投入されたことを前記監視工程にて検知した際に、当該ファイルにて要求される前記複数のジョブそれぞれが実行可能か否かを判定する判定工程と、
前記判定工程により実行可能でないと判定されたジョブに基づいて、エラーファイルを生成する生成工程と、
前記エラーファイルを生成した場合、前記ホットフォルダの機能を停止する制御工程と、
前記判定工程にて実行可能であると判定されたジョブをジョブ処理装置へ送信する送信工程と
を有することを特徴とする情報処理方法。
【請求項１６】
コンピュータを、
複数のジョブの実行を要求するファイルのホットフォルダへの投入を監視する監視手段、
前記ファイルが前記ホットフォルダに投入されたことを前記監視手段が検知した際に、当該ファイルにて要求される前記複数のジョブそれぞれが実行可能か否かを判定する判定手段、
前記判定手段により実行可能でないと判定されたジョブに基づいて、エラーファイルを生成する生成手段、
前記エラーファイルを生成した場合、前記ホットフォルダの機能を停止する制御手段、
前記判定手段にて実行可能であると判定されたジョブをジョブ処理装置へ送信する送信手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、複数の印刷ジョブを効率的に印刷する技術が提案されている。その１つとして、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が管理するフォルダにあらかじめ様々な設定をしておき、フォルダに配置されたファイルに対して既定の処理を行うホットフォルダと呼ばれる機能がある。
【０００３】
例えば、ホットフォルダに投入（入稿）される注文情報データがＣｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ（ＣＳＶ）形式である場合、１つのＣＳＶファイルで異なる設定の複数印刷ジョブを一度に定義するシステムが提案されている。ＣＳＶファイルの行毎に印刷設定が記載され、それに基づき印刷ジョブが画像形成装置に送信され印刷される。ホットフォルダに同時に複数のＣＳＶファイルが投入される場合、各ファイルは、既定のルール、例えば文字コード順に従い順次処理される。ファイルに含まれる複数のジョブも既定のルール、例えば記述順に処理される。
【０００４】
また、特許文献１では、ホットフォルダに入稿されたデータを記録することで、データを印刷システムに転送後もそのファイル管理を行う処理が行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２１９９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ホットフォルダに投入されたＣＳＶファイルに含まれる複数の行に処理できない設定が指定されている場合、送信（処理）可能な行は画像形成装置に送信されるが、送信（処理）できない行はエラーファイルとして記録する。システムのオペレータはエラーファイルを参照しつつ、エラーとなった原因を修正して、ホットフォルダにＣＳＶファイルを再度投入して印刷処理を行う。
【０００７】
複数のＣＳＶファイルに記載された複数の印刷ジョブを処理した際に、印刷可能なジョブと印刷不可のジョブが混在している場合を考える。この時、印刷可能なジョブは先行して処理されるため、ＣＳＶファイルに記載されたジョブの順序通りに印刷が実行されるとは限らない。また、複数のＣＳＶファイルで実行可否のファイルが混在する場合、ファイル間での実行順序も保証されない。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、情報処理システムであって、複数のジョブの実行を要求するファイルのホットフォルダへの投入を監視する監視手段と、前記ファイルが前記ホットフォルダに投入されたことを前記監視手段が検知した際に、当該ファイルにて要求される前記複数のジョブそれぞれが実行可能か否かを判定する判定手段と、前記判定手段により実行可能でないと判定されたジョブに基づいて、エラーファイルを生成する生成手段と、前記エラーファイルを生成した場合、前記ホットフォルダの機能を停止する制御手段と、前記判定手段にて実行可能であると判定されたジョブをジョブ処理装置へ送信する送信手段とを有する。
【発明の効果】
【０００９】
本願発明により、ホットフォルダに入稿されたファイルにて指定された複数のジョブの実行順序の保証を実現できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る情報処理システムのシステム構成の例を示す図。
【図２】第１の実施形態に係る情報処理装置のハードウェア構成の例を示す図。
【図３】第１の実施形態に係る情報処理装置のソフトウェア構成の例を示す図。
【図４】第１の実施形態に係る情報処理装置が処理するＣＳＶファイルの例を示す図。
【図５】第１の実施形態に係るホットフォルダによる印刷制御処理のフローチャート。
【図６】第１の実施形態に係る各テーブルを説明するための図。
【図７】第１の実施形態に係るＣＳＶファイルのジョブ送信判定処理のフローチャート。
【図８】第１の実施形態に係るホットフォルダのアイコン表示の例を示す図。
【図９】第２の実施形態に係るホットフォルダによる印刷制御処理のフローチャート。
【図１０】第２の実施形態に係るエラーＣＳＶファイルの例を示す図。
【図１１】第３の実施形態に係るホットフォルダによる印刷制御処理のフローチャート。
【図１２】第３の実施形態に係るホットフォルダによる印刷制御処理のフローチャート。
【図１３】第３の実施形態に係るエラーＣＳＶファイル生成処理のフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１２】
＜第１の実施形態＞
［情報処理システムの構成例］
図１は、本発明に係る情報処理システムの全体構成の例を示す図である。なお、以下の説明における情報処理システム全体の環境は本発明の説明を理解し易くするためのものであり、本発明はこれらの環境に限定されるものではない。したがって、各装置が複数台備えられていてもよいし、他の装置が含まれていてもよい。
【００１３】
図１において、ネットワーク１０５に、情報処理装置１０１、注文用ＰＣ１０２、画像形成装置１０３、および後処理装置１０４が接続されている。情報処理装置１０１は、指定されたフォルダをホットフォルダとして監視し、フォルダに置かれたＣＳＶファイルを取得、解析を行い、ジョブを後述の画像形成装置や後処理装置に送信する。注文用ＰＣ１０２は、ホットフォルダが配置されるＰＣである。本実施形態では、ホットフォルダは情報処理装置１０１と異なる注文用ＰＣ１０２に配置するように記載しているが、これに限定するものでは無く、ホットフォルダは情報処理装置１０１に設置されていてもよい。また、情報処理装置１０１と注文用ＰＣ１０２の両方が、ホットフォルダを備えていてもよい。また、ホットフォルダは、１つのみに限定するものでは無く、設定等に応じて複数のホットフォルダが設けられていてもよい。なお、以下の説明において、ホットフォルダを単に「フォルダ」とも称する。
【００１４】
画像形成装置１０３は、情報処理装置１０１から送信されてくるデータに含まれる印刷データを解析し、１ページずつドットイメージに変換して印刷する。そして、画像形成装置１０３は、印刷した印刷物を出力する。後処理装置１０４は、情報処理装置１０１からの指示（ジョブ等）に従い画像形成装置１０３から出力された印刷物に対して折り加工や断裁加工、製本加工などの後処理を行う。後処理装置１０４が実行可能な後処理は特に限定するものではない。また、画像形成装置１０３と後処理装置１０４が一体となった構成であってもよい。また、画像形成装置と後処理装置はそれぞれ複数が設けられていてもよい。画像形成装置１０３と後処理装置１０４をまとめてジョブ処理装置とも称する。ジョブ処理装置は、受信したジョブに応じて、各種処理を行う。ネットワーク１０５は、各装置を接続し、相互通信を可能とするネットワークである。
【００１５】
［ハードウェア構成例］
図２は、本実施形態に係る情報処理装置１０１のハードウェア構成の例を示す図である。注文用ＰＣ１０２は情報処理装置１０１と同じハードウェア構成を備えるものとし、ここでは情報処理装置１０１を例に挙げて説明する。情報処理装置１０１は一般的なコンピュータ（ＰＣ）のハードウェアで構成することができる。
【００１６】
ＣＰＵ２００は、情報処理装置１０１全体の制御を行う。ＣＰＵ２００は、ＨＤ２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや、本実施形態に係るプログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報等を一時的に格納する制御を行う。ＲＯＭ２０１は不揮発性の記憶手段であり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。ＲＡＭ２０２は、一時記憶手段であり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。ＤＶＤドライブ２０３は記憶媒体読み込み手段であり、ＤＶＤドライブ２０３を通じて、記憶媒体であるＤＶＤ２０４に記憶されたプログラム等を本コンピュータにロードすることができる。ＤＶＤ２０４は記憶媒体であり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はＤＶＤに限らず、ＦＤ、ＣＤ−ＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＰＣカード、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００１７】
ＨＤ２０５は、外部記憶手段の一つであり、大容量メモリとして機能するハードディスクであり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、情報処理プログラム、関連プログラム等を格納している。キーボード２０６は、指示入力手段であり、ユーザが情報処理装置１０１に対して、デバイスの制御コマンドの命令等を入力指示する際に用いられる。ディスプレイ２０７は表示手段であり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりする際に用いられる。システムバス２０８は、情報処理装置１０１内のデータの流れを司る。インターフェース２０９は入出力手段であり、インターフェース２０９を介して情報処理装置１０１は外部装置とのデータのやり取りを行う。
【００１８】
なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤなどで変更することも可能である。また、情報処理装置１０１と注文用ＰＣ１０２は異なる構成であってもよい。
【００１９】
［ソフトウェア構成例］
図３は、本実施形態に係る情報処理装置１０１におけるソフトウェア構成を機能モジュール毎に示した構成例を示す図である。以下、各モジュールについて説明する。
【００２０】
制御部３０１は、ホットフォルダの監視、及び、ホットフォルダに配置されたＣＳＶファイルの処理の制御を行う。ジョブ解析部３０２は、制御部３０１の指示に基づき、ＣＳＶファイルの解析を行う。ＣＳＶ生成部３０３は、制御部３０１の指示に従いジョブ解析部３０２の解析結果から、ＣＳＶファイルを生成する。通信部３０４は、注文用ＰＣ１０２、画像形成装置１０３、および後処理装置１０４とネットワーク１０５を介して通信を行い、データの送受信を行う。
【００２１】
［入力データの例］
図４は、本実施形態に係る情報処理装置１０１が処理するＣＳＶファイルの一例を示す。図４（ａ）はＣＳＶファイル４０１の構成を示し、図４（ｂ）は図４（ａ）のＣＳＶファイル４０１をテーブル形式で表示可能な表計算ソフトで表示したものである。本実施形態において、１のＣＳＶファイルには、１または複数のジョブを要求するための記載が含まれる。図４では、１のＣＳＶファイルに７つのジョブを実行するように要求されている例を示す。
【００２２】
本実施形態に係るＣＳＶファイル４０１は、注文ＩＤ４０２、用紙４０３、印刷面４０４、加工設定４０５、コンテンツＰＤＦ４０６、および出力先４０７を含んで構成される。注文ＩＤ４０２は、情報処理システムが注文を受け取る際に成果物を一意に識別するＩＤである。１つの成果物を構成する複数の部品がある場合、ＣＳＶの同じ注文ＩＤを持つ複数の行は各部品を意味する。用紙４０３は、印刷に使用する用紙を指定する。印刷面４０４は印刷を用紙の片面もしくは両面に行うことを指定する。加工設定４０５は、後処理装置１０４における加工設定を指示する。コンテンツＰＤＦ４０６は、印刷コンテンツであるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）ファイルのファイルパスを指定する。出力先４０７は、各ジョブを印刷する画像形成装置を指定する。また、本実施形態において、当初、ＣＳＶファイルの拡張子は、“．ｃｓｖ”となっているものとして説明する。
【００２３】
なお、ＣＳＶファイルに含まれる項目はこれに限定するものではなく、他の項目が含まれていてもよい。例えば、印刷物の部数や用紙サイズなどを含んでもよい。また、印刷を行う画像形成装置等のジョブ処理装置の機能に応じて設定可能な項目を変更してもよい。
【００２４】
［印刷ジョブ送信制御処理］
図５は、本実施形態に係る情報処理装置１０１において、ホットフォルダによる印刷制御の流れを説明している。各フローに係るプログラムは、情報処理装置１０１のＨＤ２０５に格納されており、ＲＡＭ２０２に読み出され、ＣＰＵ２００により実行される。
【００２５】
Ｓ５０１にて、情報処理装置１０１の制御部３０１は、通信部３０４を介して、既定のフォルダ（ホットフォルダ）を監視する。本実施形態では、注文用ＰＣ１０２にホットフォルダが設けられているため、制御部３０１は、注文用ＰＣ１０２と連携して、ホットフォルダの状態を監視する。ここでの監視方法は特に限定するものではなく、例えば、制御部３０１が定期的に注文用ＰＣ１０２にホットフォルダの状態を問い合わせてもよいし、注文用ＰＣ１０２側からホットフォルダにＣＳＶファイルが格納された際に通知するようにしてもよい。制御部３０１は、ＣＳＶファイルがフォルダに置かれたことを検知すると（Ｓ５０１にてＹＥＳ）、Ｓ５０２に進む。ＣＳＶファイルがフォルダに置かれたことを検知できない場合は（Ｓ５０１にてＮＯ）、制御部３０１は、引き続き監視を行う。
【００２６】
Ｓ５０２にて、制御部３０１は、Ｓ５０１で検知したＣＳＶファイルを、通信部３０４を介して取得する。ＣＳＶファイルを取得後、制御部３０１は、フォルダから対象のＣＳＶファイルを削除する。更に、制御部３０１は、ジョブ解析部３０２に取得したＣＳＶファイルの解析を実行させる。本工程におけるジョブ解析部３０２の処理の詳細は、図７を用いて後述するため、ここでは簡単に説明する。
【００２７】
ジョブ解析部３０２は、ＣＳＶファイルの解析を行い、ＣＳＶファイルに記載されたジョブが情報処理装置１０１、画像形成装置１０３、および後処理装置１０４で処理可能か否かを判定する。ジョブ解析部３０２は、ＣＳＶファイルに記載されたジョブが全て処理可能であると判定した場合、ＣＳＶファイルの送信可否を示すＣＳＶ送信フラグを“ｔｒｕｅ”に設定する。本実施形態に係るＣＳＶ送信フラグの詳細は図６を用いて後述するが、本実施形態では、１のＣＳＶファイルに対し、１のＣＳＶ送信フラグが設けられる。また、ＣＳＶファイルのＣＳＶ送信フラグの初期値を“ｔｒｕｅ”としておく。ＣＳＶファイル中のジョブが１つでも処理できないと判定した場合、ジョブ解析部３０２はＣＳＶ送信フラグを“ｆａｌｓｅ”に設定する。
【００２８】
Ｓ５０３にて、制御部３０１は、ＣＳＶファイルのＣＳＶ送信フラグが“ｔｒｕｅ”であるか否かを判定する。ＣＳＶファイルのＣＳＶ送信フラグが“ｔｒｕｅ”である場合（Ｓ５０３にてＹＥＳ）、Ｓ５０４へ進み、ＣＳＶ送信フラグが“ｆａｌｓｅ”である場合（Ｓ５０３にてＮＯ）Ｓ５０６へ進む。
【００２９】
Ｓ５０４にて、制御部３０１は、通信部３０４を介して、各ジョブが指定する送信先にジョブを送信する。例えば、印刷に関するジョブであれば画像形成装置へ送信され、後処理に関するジョブであれば後処理装置へ送信される。
【００３０】
Ｓ５０５にて、制御部３０１は、フォルダに置かれた全てのＣＳＶファイルを処理したか否かを判定する。未処理のＣＳＶファイルが存在する場合は（Ｓ５０５にてＮＯ）Ｓ５０２へ戻り、処理を繰り返す。全てのＣＳＶファイルの処理が終了した場合（Ｓ５０５にてＹＥＳ）、本処理フローを終了する。
【００３１】
Ｓ５０６にて、制御部３０１は、フォルダの監視処理を中断する。同時に、制御部３０１は、Ｓ５０２で取得したＣＳＶファイルの拡張子を“．ｅｒｒ”に変更した後、監視対象のフォルダに戻す。更に、制御部３０１は、ディスプレイ２０７に表示するホットフォルダの状態を示すアイコンを、停止中を示す表示に変更する。アイコンの詳細については後述する。監視処理の中断中はフォルダにファイルが配置されても存在を検知せず、ＣＳＶファイルに対する処理を行わない。その後、本処理を終了する。
【００３２】
Ｓ５０２で用いるＣＳＶ送信フラグについて、より詳細に説明する。図６は、本実施形態に係るジョブ情報テーブルと送信先管理テーブルを説明するための模式図である。ここでのＣＳＶファイルのファイル名は、“１０００１．ｃｓｖ”である。図６（ａ）に示すジョブ情報テーブルは、ＣＳＶ送信フラグ６０１、ＣＳＶファイルから取得した注文ＩＤ６０２、用紙６０３、印刷面６０４、加工設定６０５、コンテンツＰＤＦ６０６、出力先６０７、および送信フラグ６０８を含んで構成される。ＣＳＶ送信フラグ６０１は、ＣＳＶファイル全体の送信可否を示す。送信フラグ６０８は、各行に対応するジョブの送信可否を示す。
【００３３】
また、図６（ｂ）に示す送信先管理テーブルは、ＣＳＶファイルに記載された出力先６０７を管理する。更に、送信先管理テーブルは、送信先として指定された画像形成装置について、送信可否を示す送信可能フラグ６１０を備える。送信可能フラグ６１０の値が“ｔｒｕｅ”である場合には、その送信先に対してはジョブの送信が可能であることを示し、“ｆａｌｓｅ”である場合にはジョブの送信が不可であることを示す。送信可否の理由は特に限定するものでは無いが、例えば、通信障害や装置の電源が入っていないなどにより送信ができない場合などがある。
【００３４】
（ジョブ送信判定処理）
図７は、図５のＳ５０２における、ジョブ解析部３０２によるＣＳＶファイルのジョブ送信判定処理を説明するフローチャートである。
【００３５】
Ｓ７０１にて、ジョブ解析部３０２は、ＣＳＶファイルの行数を取得する。
【００３６】
Ｓ７０２にて、ジョブ解析部３０２は、カウンタ変数Ｎを１に初期化する。ここでのＮは、ＣＳＶファイルに含まれる１または複数の行（ジョブ）のうち、着目している行を示す。
【００３７】
Ｓ７０３にて、ジョブ解析部３０２は、ＣＳＶファイルのＮ行で示すジョブの、コンテンツＰＤＦ４０６で示すファイルパスを検索し、コンテンツが取得可能か否かを判定する。コンテンツを取得できない場合は（Ｓ７０３にてＮＯ）Ｓ７０７に進み、取得可能である場合（Ｓ７０３にてＹＥＳ）Ｓ７０４へ進む。
【００３８】
Ｓ７０４にて、ジョブ解析部３０２は、ＣＳＶファイルのＮ行で示すジョブの、送信先で指定するプリンタが情報処理装置１０１に登録されているか否かを判定する。指定された送信先が未登録の場合（Ｓ７０４にてＮＯ）Ｓ７０７に進み、指定された送信先が登録済みの場合（Ｓ７０４にてＮＯ）Ｓ７０５へ進む。
【００３９】
Ｓ７０５にて、ジョブ解析部３０２は、カウンタ変数Ｎを１加算する。
【００４０】
Ｓ７０６にて、ジョブ解析部３０２は、ＣＳＶの次の行で示されるジョブの判定を行う。つまり、全ての行について、判定を行ったか否かを確認する。ＣＳＶファイルの全ての行について判定を行った場合（Ｓ７０６にてＹＥＳ）本処理フローを終了し、未判定の行がある場合（Ｓ７０６にてＮＯ）Ｓ７０３へ戻り、次の行に対して処理を繰り返す。
【００４１】
Ｓ７０７にて、ジョブ解析部３０２は、ＣＳＶファイルの送信フラグを“ｆａｌｓｅ”に設定する。そして、本処理フローを終了する。
【００４２】
図８は、注文用ＰＣ１０２のディスプレイ２０７に表示するホットフォルダのアイコン表示の例を示す図である。図８に示すアイコン８０１及びアイコン８０２は、ホットフォルダの状態を示すためのアイコンである。アイコン８０１はホットフォルダが起動している、すなわち、フォルダを監視している状態を示す。また、アイコン８０２はホットフォルダが停止していることを示す。なお、本実施形態では、色の違いによりホットフォルダの状態を示したが、これに限定するものではなく、文字や形状の違いなどで表示してもよい。
【００４３】
ＵＩ８０３は、ホットフォルダを再開させるユーザインタフェース画面である。オペレータがホットフォルダを停止させた原因を取り除き、ホットフォルダによる処理を実行できる状態にした後、ユーザは、ＵＩ８０３で再開を指示する。
【００４４】
なお、本実施形態において、図７に示すジョブ送信判定処理では、ＰＤＦファイルが取得可能か否か、および、印刷を行う画像形成装置が情報処理装置１０１に登録されているか否か、に応じてジョブを送信するか否かを決定していた。しかし、これに限定するものではなく、他の状態やエラーに起因して送信処理を制御してもよい。
【００４５】
また、本実施形態において、ホットフォルダに格納される所定のファイルの形式としてＣＳＶを用いた例を説明したが、この形式に限定するものでは無く、他の形式のファイルであってもよい。
【００４６】
また、本実施形態では、図８において、ユーザが手動でホットフォルダの監視を再開する例を示した。しかし、この構成に限定するものではない。例えば、画像形成装置が新たに登録された場合や、コンテンツ（上記の例ではＰＤＦファイル）が取得できるようになった場合など、エラーが解消した場合には、自動的にシステムが監視を再開するようにしてもよい。この場合には、システムは、エラー状況を把握して解消されたか否かを判定することとなる。また、システムが、エラーファイル（エラーＣＳファイル）の拡張子名を自動的に“．ｃｓｖ”に戻した上で監視を再開することとなる。
【００４７】
また、エラーファイルを生成した際に、そのエラーに関する情報を記録したり、図８に示す画面などで表示したりするようにしてもよい。これにより、ユーザがエラーを解消する際に提供し、早期のエラー解消が可能となる。
【００４８】
以上、本実施形態により、入稿されたＣＳＶファイルの解析結果に基づきホットフォルダの実行を制御することで、複数のジョブの送信順序の保証を実現できる。
【００４９】
＜第２の実施形態＞
本願発明に係る第２の実施形態について説明する。本実施形態では、ジョブ送信判定処理で送信不可と判定されたジョブに対して、送信不可のジョブを含むＣＳＶファイル全体をエラーＣＳＶファイルとするのではなく、ＣＳＶファイル内のエラー発生行以降の行をエラーＣＳＶファイルとして生成する処理を行う。以下、第１の実施形態で説明した部分との差分を説明し、重複する部分については省略する。
【００５０】
［処理フロー］
図９を用いて、本実施形態に係る情報処理装置１０１において、上述のホットフォルダによる送信制御の流れを説明する。本フローに係るプログラムは、情報処理装置１０１のＨＤ２０５に格納されており、ＲＡＭ２０２に読み出され、ＣＰＵ２００により実行される。
【００５１】
Ｓ９０１にて、情報処理装置１０１の制御部３０１は、通信部３０４を介して、既定のフォルダ（ホットフォルダ）を監視する。制御部３０１は、ＣＳＶファイルがフォルダに置かれたことを検知すると（Ｓ９０１にてＹＥＳ）、Ｓ９０２に進む。ＣＳＶファイルがフォルダが置かれたことを検知できない場合は（Ｓ９０１にてＮＯ）、制御部３０１は、引き続き監視を行う。
【００５２】
Ｓ９０２にて、制御部３０１は、Ｓ９０１で検知したＣＳＶファイルを、通信部３０４を介して取得する。ＣＳＶファイルを取得後、制御部３０１は、フォルダから対象のＣＳＶファイルを削除する。更にＣＳＶファイルを取得後、制御部３０１は、ジョブ解析部３０２に取得したＣＳＶファイルの解析を実行させる。本工程の処理は、第１の実施形態にて述べた図７の処理のうち、Ｓ７０７の工程の処理が異なる。
【００５３】
ジョブ解析部３０２は、ＣＳＶファイルの解析を行い、記載されたジョブが情報処理装置１０１、画像形成装置１０３、および後処理装置１０４で処理可能か否かを判定する。ジョブ解析部３０２はＣＳＶファイルに記載されたジョブを１行ずつ判定する。そして、着目しているジョブ（行）が処理可能である場合、そのジョブの送信フラグ６０８を“ｔｒｕｅ”に設定する。図６を用いて示したように、ＣＳＶファイルにおける１のジョブに対し、１の送信フラグ６０８が設けられる。ＣＳＶファイル中の着目しているジョブが処理できないと判定した場合、ジョブ解析部３０２はそのジョブの送信フラグ６０８を“ｆａｌｓｅ”に設定する。
【００５４】
つまり、Ｓ７０７の工程にて、ＣＳＶ送信フラグ６０１に対する設定の代わりに、着目している行の送信フラグ６０８に対し“ｆａｌｓｅ”を設定する。その後、本処理フローを終了する。つまり、１つでも“ｆａｌｓｅ”が設定されるジョブがあった場合には、その時点で判定処理を終了し、それ以降のジョブに対しては判定処理を行わずに本処理は終了する。また、Ｓ７０５では、ジョブ解析部３０２は、処理できると判定したジョブの送信フラグ６０８に対し“ｔｒｕｅ”を設定する。
【００５５】
Ｓ９０３にて、制御部３０１は、ジョブ送信判定処理の結果、対象のＣＳＶファイルに含まれる全てのジョブの送信フラグ６０８が“ｔｒｕｅ”であるか否かを判定する。全てのジョブの送信フラグ６０８が“ｔｒｕｅ”である場合（Ｓ９０３にてＹＥＳ）Ｓ９０４へ進み、１つでも“ｆａｌｓｅ”のジョブがある場合（Ｓ９０３にてＮＯ）Ｓ９０６へ進む。
【００５６】
Ｓ９０４にて、制御部３０１は、通信部３０４を介して、ＣＳＶファイルの各ジョブが指定する送信先にジョブを送信する。
【００５７】
Ｓ９０５にて、制御部３０１は、ホットフォルダに格納された全てのＣＳＶファイルについてジョブ送信判定処理が行われたか否かを判定する。未処理のＣＳＶファイルがある場合は（Ｓ９０５にてＮＯ）Ｓ９０２に戻り、未処理のＣＳＶファイルに対して処理を繰り返す。全てのＣＳＶファイルに対して処理が完了している場合は（Ｓ９０５にてＹＥＳ）本処理フローを終了する。
【００５８】
Ｓ９０６にて、制御部３０１は、ＣＳＶ生成部３０３により、エラーＣＳＶファイルの生成処理を行う。Ｓ９０２で取得したＣＳＶファイルに対して、送信フラグが“ｔｒｕｅ”である行を削除する。言い換えると、ＣＳＶファイルのうち、送信フラグ６０８が“false”に設定されたジョブ以降のジョブが残されることとなる。その後、ＣＳＶファイルの拡張子を“．ｅｒｒ”に変更して、エラーＣＳＶファイルとして、監視対象のフォルダに配置する。
【００５９】
Ｓ９０７にて、制御部３０１は、フォルダの監視処理を中断する。また、制御部３０１は、ホットフォルダの状態を示すアイコンを、停止中を示す表示に変更する。監視処理の中断中はフォルダにファイルが配置されても存在を検知せず、ＣＳＶファイルに対する処理を行わない。
【００６０】
図１０は、Ｓ９０６のエラーＣＳＶ生成処理で生成されるエラーＣＳＶファイルの例を説明するための図である。図１０（ａ）で示すＣＳＶファイルを取得し、例えば、Ｓ９０２のジョブ送信判定処理において４行目について送信処理できないと判定したとする。図１０（ｂ）は、ＣＳＶファイル（ａ）のジョブ情報テーブルであり、１〜３行目は送信フラグが“ｔｒｕｅ”に設定され、４行目は送信フラグが“ｆａｌｓｅ”に設定される。Ｓ９０６のエラーＣＳＶ生成処理では、図１０（ａ）のＣＳＶファイルを元に、送信フラグが“ｔｒｕｅ”である１〜３行目を削除したエラーＣＳＶファイル（図１０（ｃ））が生成される。
【００６１】
以上、本実施形態により、第１の実施形態の効果に加え、ＣＳＶファイルに含まれるジョブのうち、処理が可能なジョブまでは処理を行うことができ、第１の実施形態よりも効率的に処理を進めることができる。
【００６２】
＜第３の実施形態＞
第２の実施形態では、ジョブ送信判定処理で送信不可と判定されたジョブを基準として、ＣＳＶファイルの送信不可ジョブ以降の全ての行を含むエラーＣＳＶファイルとして生成する処理を説明した。
【００６３】
さらに、本願発明の第３の実施形態として、ジョブ送信判定処理で送信不可と判定されたジョブ以降のジョブについても送信可能か判定処理を行い、送信可能である行は送信処理を行う。このとき、送信不可と判定された行を含むエラーＣＳＶファイルとして生成する処理を行う。以下、第１、第２の実施形態で説明した部分との差分を説明し、重複する部分については省略する。
【００６４】
［処理フロー］
図１１を用いて、本実施形態に係る情報処理装置１０１において、上述のホットフォルダによる送信制御の流れを説明する。本フローに係るプログラムは、情報処理装置１０１のＨＤ２０５に格納されており、ＲＡＭ２０２に読み出され、ＣＰＵ２００により実行される。
【００６５】
Ｓ１１０１にて、情報処理装置１０１の制御部３０１は、通信部３０４を介して、既定のフォルダ（ホットフォルダ）を監視する。制御部３０１は、ＣＳＶファイルがフォルダに置かれたことを検知すると（Ｓ１１０１にてＹＥＳ）、Ｓ１１０２に進む。ＣＳＶファイルがフォルダに置かれたことを検知できない場合は（Ｓ１１０２にてＮＯ）、制御部３０１は、引き続き監視を行う。
【００６６】
Ｓ１１０２にて、制御部３０１は、Ｓ１１０１で検知したＣＳＶファイルを、通信部３０４を介して取得する。ＣＳＶファイルを取得後、制御部３０１は、フォルダから対象のＣＳＶファイルを削除する。更にＣＳＶファイルを取得後、制御部３０１は、ジョブ解析部３０２に取得したＣＳＶファイルの解析を実行させる。ジョブ解析部３０２は、ＣＳＶファイルの解析を行い、記載されたジョブが情報処理装置１０１、画像形成装置１０３、および後処理装置１０４で処理可能か否かを判定する。本工程の処理の詳細は、図１２を用いて後述する。判定処理を終了後、Ｓ１１０３に進む。
【００６７】
Ｓ１１０３にて、制御部３０１は、通信部３０４を介して、ＣＳＶファイルの含まれるジョブのうち、送信フラグが“ｔｒｕｅ”である各ジョブが指定する送信先にジョブを送信する。送信後、Ｓ１１０４に進む。
【００６８】
Ｓ１１０４にて、制御部３０１は、ＣＳＶ生成部３０３によりエラーＣＳＶファイルの生成処理を行わせる。本工程の処理の詳細は、図１３を用いて後述する。
【００６９】
Ｓ１１０５にて、制御部３０１は、処理中のＣＳＶファイルについて、全ジョブの送信フラグが“ｔｒｕｅ”か否かを判定する。全ジョブの送信フラグが“ｔｒｕｅ”である場合（Ｓ１１０５にてＹＥＳ）Ｓ１１０７に進み、全ジョブの送信フラグが“ｔｒｕｅ”でない場合（Ｓ１０５にてＮＯ）Ｓ１１０６に進む。
【００７０】
Ｓ１１０６にて、制御部３０１は、ホットフォルダ機能を停止させて、現在ホットフォルダに投入されているＣＳＶファイルを除く他のＣＳＶファイルの処理を行わないように制御する。また、制御部３０１は、ホットフォルダの状態を示すアイコンを、停止中を示す表示に変更する。監視処理の中断中は、フォルダにＣＳＶファイルが配置されても存在を検知せず、ＣＳＶファイルに対する処理は行われない。その後、本処理フローを終了する。
【００７１】
Ｓ１１０７にて、制御部３０１は、ホットフォルダに投入された全てのＣＳＶファイルについてジョブ送信判定処理が行われたか否かを判定する。未処理のＣＳＶファイルがある場合は（Ｓ１１０７にてＮＯ）Ｓ１１０２に進み、未処理のＣＳＶファイルに対してジョブ送信判定処理を行う。全てのＣＳＶファイルの判定処理が完了している場合は（Ｓ１１０７にてＹＥＳ）本処理フローを終了する。
【００７２】
（ジョブ送信判定処理）
図１２は、図１１のＳ１１０２に示すジョブ送信判定処理の詳細を説明するためのフローチャートである。
【００７３】
Ｓ１２０１にて、ジョブ解析部３０２は、ホットフォルダに投入されたＣＳＶファイルを取得し、読み込む。このとき、ジョブ解析部３０２は、ＣＳＶファイルの行数を取得する。
【００７４】
Ｓ１２０２にて、ジョブ解析部３０２は、カウンタ変数Ｎを１に初期化する。ここでのＮは、ＣＳＶファイルに含まれる１または複数の行（ジョブ）のうち、着目している行を示す。
【００７５】
Ｓ１２０３にて、ジョブ解析部３０２は、ＣＳＶファイルのＮ行目のジョブで指定されたコンテンツＰＤＦ４０６で示すファイルパスを検索し、コンテンツが取得可能か否かを判定する。コンテンツを取得できた場合は（Ｓ１２０３にてＹＥＳ）Ｓ１２０４へ進み、取得できない場合は（Ｓ１２０３にてＮＯ）Ｓ１２１１へ進む。
【００７６】
Ｓ１２０４にて、ジョブ解析部３０２は、ＣＳＶファイルのＮ行目のジョブで指定された送信先のプリンタが情報処理装置１０１に登録されているか否かを判定する。登録済みの送信先が指定されている場合は（Ｓ１２０４にてＹＥＳ）Ｓ１２０５へ進み、未登録の送信先が指定されている場合は（Ｓ１２０４にてＮＯ）、Ｓ１２１１へ進む。
【００７７】
Ｓ１２０５にて、ジョブ解析部３０２は、すでに判定済みの行（ジョブ）のうち、ＣＳＶファイルのＮ行目のジョブで指定された注文ＩＤが同一のジョブを検索して、そのジョブの送信フラグが“ｔｒｕｅ”であるか否かを判定する。送信フラグが“ｆａｌｓｅ”である場合、同一の成果物を構成する他のジョブは実行不可であるため、Ｓ１２０９の処理以降で、これらのジョブも実行不可とする。つまり、同一の成果物を構成する複数の部品がある場合、それらは同じタイミングで印刷することにより、仕掛り中の部品が長期間滞留することを防ぐ。同一の注文ＩＤのジョブの送信フラグ６０８が全て“ｔｒｕｅ”である場合（Ｓ１２０５にてＹＥＳ）Ｓ１２０６へ進み、同一の注文ＩＤのジョブの送信フラグ６０８が１つでも“ｆａｌｓｅ”である場合（Ｓ１２０５にてＮＯ）Ｓ１２０９へ進む。
【００７８】
Ｓ１２０６にて、ジョブ解析部３０２は、ＣＳＶファイルのＮ行目のジョブで指定された送信先のプリンタが、送信先管理テーブル（図６（ｂ））に基づき、送信可能フラグ６１０が“ｔｒｕｅ”か否かを判定する。送信可能フラグ６１０が“ｔｒｕｅ”である場合（Ｓ１２０６にてＹＥＳ）Ｓ１２０７へ進み、送信可能フラグ６１０が“ｆａｌｓｅ”である場合（Ｓ１２０６にてＮＯ）Ｓ１２１１へ進む。
【００７９】
Ｓ１２０７にて、ジョブ解析部３０２は、ＣＳＶファイルのＮ行目のジョブで指定されたジョブの送信フラグ６０８を“ｔｒｕｅ”に設定する。
【００８０】
Ｓ１２０８にて、ジョブ解析部３０２は、カウンタ変数Ｎを１加算する。
【００８１】
Ｓ１２０９にて、ジョブ解析部３０２は、Ｓ１２０５で特定された、ジョブＮと同じ注文ＩＤを持つジョブの送信フラグを“ｆａｌｓｅ”に設定する。したがって、あるジョブが実行不可になる場合において、同一の成果物を構成する他の部品も送信フラグを“ｆａｌｓｅ”に設定する。これにより、同一の成果物の一部のみが印刷されることを防止している。
【００８２】
Ｓ１２１０にて、ジョブ解析部３０２は、送信先管理テーブル（図６（ｂ））において、ジョブＮが指定する送信先のプリンタの送信可能フラグに“ｆａｌｓｅ”を設定する。
【００８３】
Ｓ１２１１にて、ジョブ解析部３０２は、ジョブＮの送信フラグに“ｆａｌｓｅ”を設定する。その後、Ｓ１２０８へ進む。
【００８４】
Ｓ１２１２にて、ジョブ解析部３０２は、カウンタ変数ＮがＣＳＶファイルの行数を超えたか判定する。つまり、ＣＳＶファイルに含まれる全てのジョブ（行）に対して処理を行ったか否かを判定する。超えていなければ（Ｓ１２１２にてＮＯ）Ｓ１２０３へ戻り、次のジョブＮに対して処理を繰り返す。超えた場合は（Ｓ１２１２にてＹＥＳ）本処理フローを終了する。
【００８５】
（エラーＣＳＶ生成処理）
図１３は、図１１のＳ１１０４に示すエラーＣＳＶファイル生成処理の詳細を説明するためのフローチャートである。
【００８６】
Ｓ１３０１にて、ＣＳＶ生成部３０３は、ジョブ送信判定処理の結果に基づき、ＣＳＶファイルの１のジョブを参照し、そのジョブの送信フラグを用いて判定する。つまり、ＣＳＶ生成部３０３は、着目しているジョブの送信フラグ６０８が“ｔｒｕｅ”か否かを判定する。着目しているジョブの送信フラグ６０８が“ｔｒｕｅ”である場合（Ｓ１３０１にてＹＥＳ）Ｓ１３０３へ進み、送信フラグ６０８が“ｆａｌｓｅ”である場合（Ｓ１３０１にてＮＯ）Ｓ１３０２へ進む。
【００８７】
Ｓ１３０２にて、ＣＳＶ生成部３０３は、エラーＣＳＶファイルに送信フラグ６０８が“ｆａｌｓｅ”であるジョブの行を追記する。言い換えると、送信フラグ６０８が“false”であるジョブ以外のジョブはエラーＣＳＶファイルには含まれないこととなる。
【００８８】
Ｓ１３０３にて、ＣＳＶ生成部３０３は、ＣＳＶファイルの全ての行（ジョブ）について処理が完了したか判定する。完了していない場合は（Ｓ１３０３にてＮＯ）Ｓ１３０１に戻り、ＣＳＶファイルに含まれる未処理のジョブに着目し、処理を繰り返す。完了した場合は（Ｓ１３０３にてＮＯ）、本処理フローを終了する。
【００８９】
以上、本実施形態では、ジョブ送信判定処理で送信不可と判断されたジョブ以降のジョブについても送信可能か判定処理を行い、送信可能である行は送信処理を行う。これにより、ＣＳＶファイルにおける処理の順序を維持したまま、効率的に処理を進めることができる。
【００９０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９１】
１０１…情報処理装置、１０３…画像形成装置、１０４…後処理装置、３０１…制御部、３０２…ジョブ解析部、３０３…ＣＳＶ生成部、３０４…通信部
【図１】
2018116498.tif 000003
【図２】
2018116498.tif 000004
【図３】
2018116498.tif 000005
【図４】
2018116498.tif 000006
【図５】
2018116498.tif 000007
【図６】
2018116498.tif 000008
【図７】
2018116498.tif 000009
【図８】
2018116498.tif 000010
【図９】
2018116498.tif 000011
【図１０】
2018116498.tif 000012
【図１１】
2018116498.tif 000013
【図１２】
2018116498.tif 000014
【図１３】
2018116498.tif 000015