情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
【課題】一連の処理の実行時に一連の処理が実行可能でない場合に、一連の処理を代替する1又は複数の回復手段をユーザに選択的に提供する。
【解決手段】MFP1が、複数の処理からなる一連の処理が実行可能であるかを、一連の処理を定義しているプロセス定義ファイルの内容に基づいて判断する。そして、MFP1が、一連の処理が実行可能でないと判断された場合に、一連の処理を代替する1又は複数の回復手段であるリカバリー用プロセス定義ファイルを選択的に提供する。
【解決手段】MFP1が、複数の処理からなる一連の処理が実行可能であるかを、一連の処理を定義しているプロセス定義ファイルの内容に基づいて判断する。そして、MFP1が、一連の処理が実行可能でないと判断された場合に、一連の処理を代替する1又は複数の回復手段であるリカバリー用プロセス定義ファイルを選択的に提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
画像処理装置として、スキャナやファクシミリ、プリンタなどを備えた複合機が提案されている。一般に、複合機は、画像データを記憶する記憶装置を備えている。また、スキャナによる原稿スキャンや、ネットワークを介して接続されたコンピュータからの画像データ受信など、様々な方法で入力された画像データを記憶装置に保存する機能(ボックス機能)が一般的に知られている。ボックスに保存された画像データは、そのまま、あるいは編集された後に、複合機内のアプリケーションによって利用される。例えば、上記画像データは、他のボックスへ移動されたり、画像データ同士が結合された後に製本印刷されたり、圧縮された後に電子メールで送信される。このような操作の中には、複数の機能を組み合わせるものや、詳細な設定が必要なものもある。そこで、現在、ボックスのホットフォルダ化が検討されている。ホットフォルダとは、パーソナルコンピュータなどの情報処理装置において、所定のフォルダに画像データを保存するだけで、予めフォルダと関連づけられた設定ファイル(プロセス定義ファイル)に基づき、自動的に画像データを印刷できる機能である。ホットフォルダを利用することにより、ホットフォルダに画像データが保存されたことを契機として、ホットフォルダに関連付けられたプロセス定義ファイルが定義しているワークフロー等の一連の処理を実行することができる。
【0003】
また、プロセス定義ファイルとして印刷以外の処理を登録することにより、画像データの電子メール送信や画像データの複製・移動など、複合機の持つ機能を実行することもできる。また、プロセス定義ファイルに実行日時を指定することによって、フォルダに画像データを保存しても、すぐに処理を実行するのではなく、指定した実行日時になったら処理を実行することもできる。実行日時の指定は、一度きりの実行の指定だけではなく、定期的な実行も指定できる。また、処理する画像データも単一の画像データだけではなく、複数の画像データを指定することができる。従って、例えば、毎週月曜日午前10時の会議のために、毎週月曜日午前9時に3つの画像データを結合して、会議資料として印刷を実行するという設定を行うことができる。
なお、特許文献1が提案する印刷制御方法は、フォルダに格納される印刷ファイルに対する設定ファイルを作成し、設定ファイルを上記フォルダに設定する。そして、この印刷制御方法は、該フォルダに印刷ファイルがインポートされることを検出した場合に、インポートされる印刷ファイルに対して上記設定ファイルを付加して転送する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−242781号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
実行日時を指定したホットフォルダを利用して一連の処理を行う技術では、実行日時になっても処理を実行することができない場合がある。例えば、実行日時になっても所定のフォルダに処理する画像データが存在しなかったり、足りなかったりという場合には、処理を実行できない。実行日時を過ぎた後に、ユーザが画像データを所定のフォルダに格納しても、実行日時を過ぎているために、ホットフォルダに関連づけられたプロセス定義ファイルの処理は実行されない。所望の処理を実行するためには、ホットフォルダに関連づけられたプロセス定義ファイルの実行日時を変更するか、又はプロセス定義ファイルに記載された処理をユーザが手動で順番に実行する等の処置が必要となり、ユーザにとって不便であるという問題があった。
本発明は、一連の処理の実行時に該一連の処理が実行可能でない場合に、一連の処理を代替する1又は複数の回復手段をユーザに選択的に提供する情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムの提供を目的とする。
【課題を解決するための手段】
【0006】
本発明の一実施形態の情報処理装置は、複数の処理からなる一連の処理の実行時に該一連の処理が実行可能であるかを判断する実行判断手段と、前記一連の処理が実行可能でないと判断された場合に、前記一連の処理を代替する1又は複数の回復手段を選択的に提供する制御手段とを備える。
【発明の効果】
【0007】
本発明の情報処理装置によれば、一連の処理の実行時に該一連の処理が実行可能でない場合に、一連の処理を代替する1又は複数の回復手段をユーザに選択的に提供することが可能となる。
【図面の簡単な説明】
【0008】
【図1】情報処理システムの構成とMFPの構成の一例を示す図である。
【図2】MFPが備える制御部の機能ブロック図の例を示す図である。
【図3】管理者PCのハードウェア構成例と情報処理システム全体の動作例を示す図である。
【図4】プロセス定義ファイルとワークフローの例を示す図である
【図5】本実施形態のプロセス定義ファイル実行処理フローの例を示す図である。
【図6】リカバリー用プロセス定義ファイルの作成処理フローである。
【図7】リカバリー用プロセス定義ファイルとワークフローの例を示す図である。
【図8】リカバリー用プロセス定義ファイルとワークフローの例を示す図である。
【図9】リカバリー用プロセス定義ファイルとワークフローの例を示す図である。
【図10】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図11】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図12】リカバリー用プロセス定義ファイルの実行処理フローの一例である。
【図13】リカバリー用プロセス定義ファイルの作成処理フローである。
【図14】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図15】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図16】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図17】リカバリー用プロセス定義ファイルの実行処理フローの一例である。
【発明を実施するための形態】
【0009】
図1は、本実施形態の情報処理システムの構成とMFPの構成の一例を示す図である。図1に示す構成は、本発明の第1の実施形態と第2の実施形態の双方において適用可能である。図1(A)は、本実施形態の情報処理システムの構成を示す。この情報処理システムは、MFP(Multi Function Peripheral )1、管理者PC(Personal Computer)2、ユーザPC3を備える。MFP1と管理者PC2とユーザPC3とは、LAN(Local Area Network)4で互いに通信可能に接続されている。
【0010】
MFP1は、一連の処理の実行時に該一連の処理が実行可能でない場合に、一連の処理を代替する1又は複数の回復手段をユーザに選択的に提供する情報処理装置である。具体的には、MFP1は、管理者PC2からプロセス定義ファイルを受け取り、受け取ったプロセス定義ファイルに定義された処理が実行可能でない場合に、1又は複数のリカバリー用プロセス定義ファイルを作成する。プロセス定義ファイルは、MFP1が実行する、複数の処理からなる一連の処理と、一連の処理の実行条件とを定義する定義ファイルである。本実施形態においては、MFP1は、ホットフォルダをLAN4上に公開しているものとする。また、リカバリー用プロセス定義ファイルは、一連の処理の実行条件が満たされない場合の、一連の処理を代替する代替処理を定義する代替ファイルである。管理者PC2は、プロセス定義ファイルを作成するための画面を表示する。システム管理者が、上記画面を介して様々な処理内容(原稿スキャンパラメータや印刷設定など)を入力すると、管理者PC2がプロセス定義ファイルを作成する。管理者PC2は、作成したプロセス定義ファイルを、LAN4を介してMFP1に送信する。ユーザPC3は、ユーザの操作入力に従って、MFP1に対して、MFP1が公開しているホットフォルダへの格納対象となる画像データを送信する。
【0011】
図1(B)は、MFPのハードウェア構成例を示す。MFP1は、制御部11、操作部12、プリンタ13、スキャナ14を備える。制御部11はMFP全体の動作を制御する。操作部12は、ユーザの操作入力に従って、操作入力情報を入力する。操作部12には、タッチパネル機能を有する液晶表示部やキーボードなどが設けられている。プリンタ13は、制御部11から画像データを受け取って該画像データの印刷処理を行う。スキャナ14は、制御部11の指示に従って原稿上の画像を読み取って画像データを生成し、生成した画像データを制御部11に返す。制御部11は、CPU(Central Processing Unit )101、ROM(Read Only Memory)102、RAM(Random Access Memory)103を備える。また、制御部11は、HDD(Hard Disk Drive )104、操作部I/F(Interface)105、プリンタI/F106、スキャナI/F107、ネットワークI/F108を備える。CPU101は、ROM102に記憶された制御プログラムを読み出して、読取制御や送信制御などの各種制御処理を実行する。この制御プログラムは、本実施形態の情報処理装置の制御方法を実現するコンピュータプログラムである。RAM103は、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD104は、画像データや各種プログラムを記憶する。
【0012】
操作部I/F105は、操作部12と制御部11とを接続する。操作部12が入力した操作入力情報は、操作部I/F105を介して制御部11に送信される。プリンタI/F13は、プリンタ13と制御部11とを接続する。プリンタ13で印刷すべき画像データは、プリンタI/F107を介して制御部11からプリンタ13に転送され、プリンタ13において記録媒体上に印刷される。スキャナI/F107は、スキャナ14と制御部11とを接続する。スキャナ14は、原稿上の画像を読み取って画像データを生成し、生成した画像データをスキャナI/F107を介して制御部11に入力する。ネットワークI/F108は、制御部11(MFP1)をLAN4に接続する。ネットワークI/F108は、LAN4上の外部装置(例えば、ユーザPC3)に画像データを送信したり、ホットフォルダを公開したりする。
【0013】
図2は、MFPが備える制御部の機能ブロック図の例を示す図である。以下に説明する制御部11が備える各処理部の機能は、図1(B)に示すCPU101がROM102に記憶されている制御プログラムを実行することにより実現される。
制御部11は、プロセス定義ファイル管理部201、プロセス定義ファイル処理部202、画像データファイル管理部203、スキャナ状態情報管理部204、代替画像データ管理部205、ユーザ認証管理部206を備える。プロセス定義ファイル管理部201は、MFP1が管理者PC2から受信したプロセス定義ファイルやMFP1がで作成したプロセス定義ファイルをHDD104に記憶して管理する。プロセス定義ファイル処理部202は、プロセス定義ファイルで定義された処理を実行する。例えば、プロセス定義ファイル処理部202は、ホットフォルダに関連づけられたプロセス定義ファイルを指定時間に実行したり、プロセス定義ファイルに基づいてリカバリー用プロセス定義ファイルを作成したりする。また、プロセス定義ファイル処理部202は、一連の処理の実行時に、プロセス定義ファイルが定義している一連の処理の実行条件に基づいて、該一連の処理が実行可能であるかを判断する実行判断手段として機能する。プロセス定義ファイル処理部202は、例えば、所定のイベントが発生した時に、該イベントに関連付けられたプロセス定義ファイルに含まれる、一連の処理の実行条件が満たされるかを判断する。上記イベントの発生は、例えば、現日時が予め決められた日時となったことである。また、プロセス定義ファイル処理部202は、上記一連の処理が実行可能でないと判断された場合に、一連の処理を代替する1又は複数の回復手段であるリカバリー用プロセス定義ファイルを選択的に提供する制御手段としても機能する。
【0014】
プロセス定義ファイル処理部202が、実行条件が満たされないと判断した場合に、リカバリー用プロセス定義ファイルを作成するとともに、各々のリカバリー用プロセス定義ファイルに関連付けられたリカバリー用のホットフォルダを作成するようにしてもよい。このリカバリー用プロセス定義ファイルには、リカバリー用のホットフォルダへの任意のファイルの格納が該リカバリー用プロセス定義ファイルが定義する代替処理の実行のトリガとして定義されている。
また、プロセス定義ファイル処理部202が、プロセス定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段すなわちHDD104に記憶されているかを判断するようにしてもよい。具体的には、プロセス定義ファイル処理部202が、画像データファイル管理部203に問い合わせて、画像データファイル管理部203がHDD104において上記画像データを管理しているかを判断する。プロセス定義ファイル処理部202が、上記画像データのうち一部の画像データが記憶されていないと判断した場合に、記憶されている画像データのみを入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイルを作成するようにしてもよい。
【0015】
プロセス定義ファイル処理部202が、一部の画像データが記憶されていないと判断した場合に、記憶されてない画像データを代替する代替画像データを入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイルを作成するようにしてもよい。この代替画像データは、予めプロセス定義ファイル管理部201が管理している代替画像データでもよいし、ユーザが指定する代替画像データでもよい。また、プロセス定義ファイル処理部202が、HDD104に記憶されてない画像データを代替する代替画像データを原稿スキャンする処理を定義するリカバリー用プロセス定義ファイルを作成するようにしてもよい。また、プロセス定義ファイル処理部202が、HDD104に記憶されてない画像データを処理の実行に用いる入力データとして定義するリカバリー用プロセス定義ファイルを作成するようにしてもよい。これにより、プロセス定義ファイルの実行時に画像データが存在しない場合であっても、後にこの画像データがHDD104に記憶された時に、この画像データを入力データとしてリカバリー用プロセス定義ファイルが定義する処理を実行することができる。
【0016】
画像データファイル管理部203は、スキャナ14(図1(B)を参照)が原稿スキャンした画像データや、ネットワークI/F108を介して外部装置からホットフォルダに格納された画像データをHDD104に記憶して管理する。スキャナ状態情報管理部204は、スキャナ状態情報を管理する。スキャナ状態情報は、現在スキャナ14が使用可能な状態であるか否かを示す情報である。例えばスキャナ14にエラー(用紙詰まりなど)が発生している場合は、スキャナ状態情報は、スキャナ14が使用不可能な状態であることを示す。
代替画像データ管理部205は、プロセス定義ファイルで指定した画像データが存在しない場合に代替として使用される代替画像データを管理する。代替画像データはMFP1全体で1つだけ設定されていてもよいし、複数設定されていてもよい。例えば、代替画像データがユーザ毎又はプロセス定義ファイル毎に設定されていてもよい。代替画像データは、例えば、「必要な画像データが存在しません」や「本日はお休みです」のように、現時点のシステム状態に応じた説明が記載された画像データや、後から印刷した紙を差し込むための目印となる色紙のような画像データでもよい。ユーザ認証管理部206は、ユーザを認証するための情報であるユーザ認証情報を管理し、該ユーザ認証情報を用いて、ユーザ認証を行う。ユーザ認証管理部206は、例えば、ユーザのIDカードから読み取ったユーザIDとユーザ認証情報との照合結果や、ユーザの生体情報とユーザ認証情報との照合結果に基づいてユーザ認証を行う。本実施形態の情報処理装置の制御方法は、図2に示す制御部11が備える各処理部によって実現される。
【0017】
図3は、管理者PCのハードウェア構成例と、本実施形態の情報処理システム全体の動作例を示す図である。図3(A)は、管理者PCのハードウェア構成例を示す。管理者PC2は、制御部21、表示部22、キーボード23を備える。制御部21は、管理者PC2全体の動作を制御する。表示部22は、制御部21(のCPU211)からの指示に従った画面表示処理を行う。例えば、表示部22は、プロセス定義ファイルを作成するために必要な操作入力情報を入力するための画面であるプロセス定義ファイル作成画面を表示する。キーボード23は、管理者の操作入力に従って操作入力情報を入力する。制御部21は、CPU211、ROM212、RAM213、HDD214、表示部I/F215、キーボードI/F216、ネットワークI/F217を備える。CPU211は、ROM212に記憶された、管理者PC2を制御するプログラムを読み出して各種制御処理を実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214は、画像データや各種プログラム、あるいは各種情報テーブルを記憶する。表示部I/F215は、表示部22と制御部21とを接続する。キーボードI/F23は、キーボード23と制御部21とを接続する。CPU211は、キーボード23が入力した操作入力情報に基づいてユーザからの指示を認識し、認識した指示に応じて、表示部22に表示する画面を遷移させる。ネットワークI/F217は、制御部21(管理者PC2)をLAN4に接続する。ネットワークI/F217は、LAN110上の他の装置との間で各種情報を送受信する。なお、ユーザPC3は、管理者PC2と同様の構成を有している。従って、ユーザPC3の構成の説明については省略する。
【0018】
図3(B)は、本実施形態の情報処理システム全体の動作例を示す。まず、管理者PC2が、管理者の操作入力に従ってプロセス定義ファイル(F1)を作成する。具体的には、管理者が、管理者PC2に表示されたプロセス定義ファイル作成画面を介して操作入力情報(原稿スキャンパラメータや印刷設定など)を入力する。そして、管理者PC2のCPU211が、入力された操作入力情報に基づいてプロセス定義ファイルを作成する。管理者PC2は、作成したプロセス定義ファイル(F1)を、LAN4を介してMFP1に送信する(図中のP1を参照)。この例では、プロセス定義ファイルF1には、MFP1がLAN4上に公開しているホットフォルダ内の複数の画像データを、指定した実行日時に結合して印刷するという一連の処理をすることが定義されているものとする。MFP1のプロセス定義ファイル管理部201が、管理者PC2から送信されたプロセス定義ファイル(F1)を受信する。そして、プロセス定義ファイル管理部201が、プロセス定義ファイル(F1)をホットフォルダに関連付けて登録し、保持しておく。
【0019】
次に、ユーザPC3が、ユーザの操作入力に従って、MFP1のホットフォルダへの格納対象となる画像データIをMFP1に対して送信する(図中のP2を参照)。送信された画像データIは、ホットフォルダに格納され、画像データファイル管理部203によってHDD104に記憶されて管理される。プロセス定義ファイル(F1)に定義された実行日時になると、画像データIを受信したMFP1のプロセス定義ファイル処理部202が、プロセス定義ファイル(F1)で定義された処理を開始する(図中のP3を参照)。
次に、プロセス定義ファイル処理部202が、プロセス定義ファイル(F1)で定義されている一連の処理の実行条件に基づいて、例えば一連の処理の実行に必要な画像データが揃っているかを判断する。例えば、プロセス定義ファイル処理部202は、画像データファイル管理部203に、必要な画像データがあるかを問い合わせて、画像データファイル管理部203からの応答に基づいて、該画像データが揃っているかを判断する。必要な画像データが揃っている場合、プロセス定義ファイル処理部202は、プロセス定義ファイル(F1)の定義内容に従って、画像データを結合して紙文書Dの印刷を行う(図中のP4を参照)。必要な画像データが揃ってない場合、プロセス定義ファイル処理部202は、プロセス定義ファイル(F1)の定義内容に基づいて、1又は複数のリカバリー用プロセス定義ファイル(G1)を作成する(図中のP5を参照)。
【0020】
図4は、プロセス定義ファイルの例と、プロセス定義ファイルで定義されたワークフローの例を示す図である。図4(A)は、プロセス定義ファイル(F1)の例を示す。図4(A)では、XMLの形式で記述されたプロセス定義ファイルの例を示すが、プロセス定義ファイルが他の形式で記述されていてもよい。プロセス定義ファイル(F1)に記述されたProcessタグ301は、本ファイルがプロセス定義ファイルであることを定義している。プロセス定義ファイル(F1)に関する各項目は、Processタグ301の子要素として記述される。また、Processタグ301の属性として、以下の属性が定義されている。例えば、プロセス定義ファイルを一意に示すプロセスID(図中の”F1”)や、ホットフォルダに関連づけられたプロセス定義ファイルであること(type=”hotfolder”)が定義されている。また、プロセスの名称(図中の”会議資料を8時に印刷”)が定義されている。
【0021】
Conditionタグ302は、プロセス定義ファイルの実行条件を定義している。Conditionタグ302では、実行条件の定義を行うということだけが記述され、具体的な実行条件はConditionタグ302の子要素として記述される。タグ303は、プロセス定義ファイルの実行日時を定義している。タグ304は、プロセス定義ファイルを実行する際に必要となる画像データを定義している。Workflowタグ305は、本ファイルで実行する一連の処理を定義している。この例では、一連の処理は、画像データを読み込む処理、読み込んだ画像データを結合する処理、結合した画像データを印刷する処理からなるワークフローである。各処理はWorkflowタグ305の子要素として記述され、プロセス定義ファイル(F1)中の出現順序が処理の実行順序を示している。タグ306は、入力として画像データを読み込む処理を定義している。タグ306の子要素は、実際に読み込む画像データのファイルパス(dirA/資料1.img)を定義している。タグ307は、タグ306と同様に、入力として画像データを読み込む処理を定義している。タグ306とタグ307とで同じ記述を行っているのは、読み込む画像データが異なるためである。タグ307の子要素は、実際に読み込む画像データのファイルパス(dirA/資料2.img)を定義している。
【0022】
タグ308は、タグ306やタグ307と同様に、入力として画像データを読み込む処理を定義している。タグ308の子要素は、実際に読み込む画像データのファイルパス(dirA/資料3.img)を定義している。タグ309は、画像データを結合する処理を定義している。タグ309の子要素で、結合の対象となる画像データを定義している。この例では、タグ306、タグ307、タグ308で定義されている画像データ、すなわち、file306乃至308を結合する処理を定義している。タグ310は、画像データを印刷する処理を定義している。タグ310の子要素では、印刷の対象となる画像データ(この例ではタグ309で結合した画像データ)や、カラー設定(カラー)、印刷部数(5部)、ステイプルする位置(左上)などを定義している。
【0023】
図4(B)は、プロセス定義ファイル(F1)のWorkflowタグ305で定義されたワークフローの例を示す。このタグは、3つの画像データを読み込み(タグ306、タグ307、タグ308)、読み込んだ画像データを結合し(タグ309)、結合した画像データを印刷する(タグ310)というワークフローを定義している。
【0024】
図5は、本実施形態のプロセス定義ファイル実行処理フローの例を示す図である。図5の処理フローが示す各処理は、MFP1のCPU101が制御プログラムを実行することにより実現される。まず、MFP1のプロセス定義ファイル処理部202が、プロセス定義ファイル管理部が管理しているプロセス定義ファイルを、HDD104からRAM103に読み出す(ステップS1)。プロセス定義ファイル処理部202は、ホットフォルダに関連付けられたプロセス定義ファイルのみを読み出し、ユーザの操作によって実行されるプロセス定義ファイルは読み出さない。次に、プロセス定義ファイル処理部202が、読み出したプロセス定義ファイルのConditionタグで定義された実行日時を取得する(ステップS2)。次に、プロセス定義ファイル処理部202が、システム日時が上記ステップS2において取得した実行日時になったかを判断する(ステップS3)。プロセス定義ファイル処理部202が、システム日時が実行日時になっていないと判断した場合は、ステップS3に戻る。プロセス定義ファイル処理部202が、システム日時が実行日時になった判断した場合、プロセス定義ファイル処理部202が、プロセス定義ファイルのConditionタグで定義された実行条件を取得する(ステップS4)。
【0025】
次に、プロセス定義ファイル処理部202が、上記ステップS4で取得された実行条件をチェックして、プロセス定義ファイルを実行できるかを判断する(ステップS5)。例えば、実行条件に所定の画像データが指定されている場合、プロセス定義ファイル処理部202は、実行条件に指定された画像データが画像データファイル管理部203によって管理されているかを判断する。該画像データが画像データファイル管理部203によって管理されている場合、プロセス定義ファイル処理部202は、プロセス定義ファイルを実行できると判断する。プロセス定義ファイル処理部202が、プロセス定義ファイルを実行できると判断した場合、プロセス定義ファイル処理部202は、プロセス定義ファイルを実行、すなわち、プロセス定義ファイルで定義された一連の処理を実行する(ステップS6)。ステップS6においては、プロセス定義ファイル処理部202は、プロセス定義ファイルのWorkflowタグに記述された定義に基づいて処理を実行する。
図4(A)に示すプロセス定義ファイル(F1)を例にとると、プロセス定義ファイル処理部202は、3つの画像データを読み込み、その画像データを結合し、結合した画像データを印刷するという一連の処理を実行する。プロセス定義ファイル処理部202が、プロセス定義ファイルを実行できないと判断した場合、プロセス定義ファイル処理部202は、リカバリー用プロセス定義ファイルを作成する(ステップS7)。リカバリー用のプロセス定義ファイルは、ステップS5において実行できないと判断されたプロセス定義ファイルに基づいて作成される。
【0026】
図6は、本発明の第1の実施形態のリカバリー用プロセス定義ファイルの作成処理フローである。この処理フローは、図5のステップS7におけるリカバリー用プロセス定義ファイルの作成処理の詳細を示す。この処理フローが示す各処理は、MFP1のCPU101が制御プログラムを実行することにより実現される。なお、図6では、リカバリー用プロセス定義ファイルの作成元となるプロセス定義ファイルとして、図4(A)に示すプロセス定義ファイル(F1)を例にとって説明する。まず、プロセス定義ファイル処理部202が、入力画像データ、すなわちプロセス定義ファイル(F1)で読み込み処理の対象として定義された画像データの存在チェックを行う(ステップS1)。具体的には、プロセス定義ファイル処理部202が、入力画像データが画像データファイル管理部203で管理されているかを判断する。プロセス定義ファイル処理部202が、入力画像データが存在しないと判断した場合はステップS76に進む。プロセス定義ファイル処理部202が、入力画像データが1つ以上存在すると判断した場合は、プロセス定義ファイル処理部202は、プロセス定義ファイルの定義内容に基づいて、存在する画像データの結合が可能かを判断する(ステップS73)。例えば、図4(A)に示すプロセス定義ファイル(F1)においては、タグ306、タグ307、タグ308で指定された画像データを結合することがタグ309に定義されている。また、画像データの結合は、タグ306で指定された画像データ、タグ307で指定された画像データ、タグ308で指定された画像データの順で行うことが定義されている。従って、この例では、プロセス定義ファイル処理部202は、連続する順番で2つ以上の画像データが存在する場合に、画像データの結合ができると判断する。
【0027】
例えば、画像データが1つしか存在しない場合、プロセス定義ファイル処理部202は、画像データの結合ができないと判断する。また、例えば、タグ307で指定された画像データが存在しない場合は、順番通りの結合にならないので、画像データの結合ができないと判断される。プロセス定義ファイル処理部202が、画像データの結合が可能でないと判断した場合はステップS75に進む。一方、例えばタグ306で指定された画像データが存在しない場合、プロセス定義ファイル処理部202は、残りの2ファイル、すなわち、タグ307、308で指定された画像データで画像データの結合が可能であると判断する。また、例えば、タグ308で指定された画像データが存在しない場合も、プロセス定義ファイル処理部202は、タグ307、308で指定された画像データで画像データの結合が可能であると判断する。プロセス定義ファイル処理部202が、画像データの結合が可能であると判断した場合、プロセス定義ファイル処理部202は、プロセス定義ファイル(F1)の記述に基づいて、存在する画像データの結合を行う(ステップS74)。例えば、タグ308で指定された画像データが存在しない場合、タグ307で指定された画像データとタグ308で指定された画像データとを結合する。ステップS74で結合された画像データは、後述するステップS75、S76、S78、S80、S81において作成するリカバリー用プロセス定義ファイルの入力用画像データとして使用される。結合できる画像データをステップS74において予め結合しておくことによって、リカバリー用プロセス定義ファイルを実行する際の処理を少なくし、回復処理すなわち本来実行対象である一連の処理を代替する処理の実行時間を少なくすることができる。次に、プロセス定義ファイル処理部202は、存在する画像データのみを入力として使用するリカバリー用プロセス定義ファイル(F2)を作成する(ステップS75)。この例では、リカバリー用プロセス定義ファイル(F2)は、図4(A)に示すプロセス定義ファイル(F1)のタグ308で指定された画像データが存在しなかった場合に作成される。
【0028】
図7(A)は、図6のステップS75で作成されるリカバリー用プロセス定義ファイルの例を示す。リカバリー用プロセス定義ファイル(F2)内のタグ401は、本ファイルがプロセス定義ファイルであることを定義している。タグ401の属性として、以下の属性が定義されている。例えば、プロセス定義ファイル(F2)を一意に示すプロセスID(図中の”F2”)や、操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)が定義されている。また、プロセスの名称(図中の会議資料を印刷(資料1,2のみ))が定義されている。また、リカバリー用プロセス定義ファイル(F2)内のrecovery=”F1”という記述は、リカバリー用プロセス定義ファイル(F2)が、プロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。
【0029】
Workflowタグ402は、リカバリー用のプロセス定義ファイルで実行するワークフローを定義している。タグ403は、入力として画像データを読み込む処理を定義している。タグ403の子要素では、実際に読み込む画像データのファイルパスを定義する。この例では、ステップS74で結合した画像データのファイルパス(dirX/資料1_2.img)を指定する。タグ404は、画像データを印刷する処理を定義している。タグ404の子要素では、印刷の対象となる画像データ、すなわち、ステップS74で結合した画像データを定義している。タグ404のその他の子要素は、プロセス定義ファイル(F1)における子要素と同じである。
【0030】
図7(B)は、リカバリー用プロセス定義ファイル(F2)のWorkflowタグ402で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データを読み込み(タグ403)、読み込んだ画像データを印刷する(タグ404)というワークフローを定義している。
【0031】
図6に戻って、プロセス定義ファイル処理部202は、存在しない画像データを代替する代替画像データを指定して入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイル(F3)を作成する(ステップS76)。
【0032】
図8(A)は、図6のステップS76で作成されるリカバリー用プロセス定義ファイル(F3)の例を示す。タグ501は、本ファイルがプロセス定義ファイルであることを定義している。タグ501の属性として、以下のような属性が定義されている。例えば、本ファイルを一意に示すプロセスID(図中の”F3”)や、操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)や、プロセスの名称(図中の会議資料を印刷(資料3を選択))などが定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。
【0033】
Workflowタグ502は、リカバリー用プロセス定義ファイル(F3)で実行するワークフローを定義している。タグ503は、入力用の画像データをユーザが指定するためのダイアログを操作部12に表示する処理を定義している。タグ503の子要素では、ダイアログに最初に表示するディレクトリを定義している。タグ504は、画像データを結合する処理を定義している。タグ504の子要素で、結合の対象となる画像データを定義している。図8(A)の例では、タグ403で読み込んだ画像データと、タグ503でユーザがダイアログにより指定した画像データを結合することが定義されている。タグ505は、画像データを印刷する処理を定義している。タグ505の子要素では、印刷の対象となる画像データ、すなわち、タグ504で結合した画像データを定義している。タグ505のその他の子要素は、プロセス定義ファイル(F1)における子要素と同じである。
【0034】
図8(B)は、リカバリー用プロセス定義ファイル(F3)のWorkflowタグ502で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データ(タグ403)とユーザが指定した画像データ(タグ503)とを読み込み、読み込んだ画像データを結合し(タグ504)、結合した画像データを印刷する(タグ505)というワークフローを定義している。
【0035】
図6に戻って、プロセス定義ファイル処理部202は、スキャナ状態情報管理部204から、スキャナ状態情報管理部204が管理しているスキャナ状態情報を取得する。そして、プロセス定義ファイル処理部202は、取得したスキャナ状態情報に基づいて、スキャナ14が使用可能な状態であるかを判断する(ステップS77)。プロセス定義ファイル処理部202が、スキャナ14が使用可能な状態でないと判断した場合は、ステップS79に進む。プロセス定義ファイル処理部202が、スキャナ14が使用可能な状態であると判断した場合、存在しない画像データを代替する代替画像データを原稿スキャンする処理が定義されたリカバリー用プロセス定義ファイル(F4)を作成する(ステップS78)。
【0036】
図9(A)は、図6のステップS78で作成されるリカバリー用プロセス定義ファイル(F4)の例を示す。タグ601は、本ファイルがプロセス定義ファイルであることを定義している。タグ601の属性として、以下の属性が定義されている。例えば、本ファイルを一意に示すプロセスID(図中の”F4”)や、操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)が定義されている。また、プロセスの名称(図中の”会議資料を印刷(資料3をスキャン)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。
【0037】
Workflowタグ602は、リカバリー用プロセス定義ファイル(F4)で実行するワークフローを定義している。タグ603は、入力用の画像データを原稿スキャンする処理を定義している。タグ603の子要素では、原稿スキャンの設定としてカラースキャンを定義している。タグ604は、画像データを結合する処理を定義している。タグ604の子要素で、結合の対象となる画像データを定義している。図9(A)の例では、タグ403で読み込んだ画像データと、タグ603で原稿スキャンした画像データを結合することが定義されている。タグ605は、画像データを印刷する処理を定義している。タグ605の子要素では、印刷の対象となる画像データ、すなわちタグ604で結合した画像データを定義している。タグ605のその他の子要素は、プロセス定義ファイル(F1)の子要素と同じである。
【0038】
図9(B)は、リカバリー用プロセス定義ファイル(F4)のWorkflowタグ602で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データ(タグ403)と原稿スキャンした画像データ(タグ603)を読み込み、読み込んだ画像データを結合し(タグ604)、結合した画像データを印刷する(タグ605)というワークフローを定義している。
【0039】
図6に戻って、プロセス定義ファイル処理部202が、代替画像データ管理部205が予め管理している代替画像データが存在するかを判断する(ステップS79)。プロセス定義ファイル処理部202が、代替画像データが存在しないと判断した場合は、ステップS81に進む。プロセス定義ファイル処理部202が、代替画像データが存在すると判断した場合は、プロセス定義ファイル処理部202は、該代替画像データを代替画像データ管理部205から取得する。そして、プロセス定義ファイル処理部202は、取得した代替画像データを入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイル(F5)を作成する(ステップS80)。
【0040】
図10(A)は、図6のステップS80で作成されるリカバリー用プロセス定義ファイル(F5)の例を示す。タグ701は、本ファイルがプロセス定義ファイルであることを定義している。タグ701の属性として、以下の属性が定義されている。例えば、本ファイルを一意に示すプロセスID(図中の”F5”)や、本ファイルが操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)が定義されている。また、プロセスの名称(図中の”会議資料を印刷(資料3は代替画像)”)が定義されている。また、recovery=”510”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。
【0041】
Workflowタグ702は、リカバリー用プロセス定義ファイル(F5)で実行するワークフローを定義している。タグ703は、入力として画像データを読み込む処理を定義している。タグ703の子要素では、プロセス定義ファイル処理部202が代替画像データ管理部205から取得した代替画像データのファイルパス(dirC/代替画像データ.img)を指定している。タグ704は、画像データを結合する処理を定義している。タグ704の子要素で、結合の対象となる画像データを定義している。図10(A)の例では、タグ403で読み込んだ画像データと、タグ703で読み込んだ代替画像データとを結合することが定義されている。タグ705は、画像データを印刷する処理を定義している。タグ705の子要素では、印刷の対象となる画像データ、すなわちタグ704で結合した画像データを定義している。タグ705のその他の子要素は、プロセス定義ファイル(F1)の子要素と同じである。
【0042】
図10(B)は、リカバリー用プロセス定義ファイル(F5)のWorkflowタグ702で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データ(タグ403)と代替画像データ(タグ703)とを読み込み、読み込んだ画像データを結合し(タグ704)、結合した画像データを印刷する(タグ705)というワークフローを定義している。
【0043】
図6に戻って、プロセス定義ファイル処理部202は、存在しない画像データをそのまま入力とするリカバリー用プロセス定義ファイル(F6)を作成する(ステップS81)。リカバリー用プロセス定義ファイル(F6)は、指定した実行日時には存在しなかった画像データを、その後ユーザがホットフォルダに格納した上で、あらためてプロセス定義ファイル(F1)が定義する処理を実行するためのプロセス定義ファイルである。
【0044】
図11(A)は、図6のステップS81で作成されるリカバリー用プロセス定義ファイル(F6)の例を示す。タグ801は、本ファイルがプロセス定義ファイルであることを定義している。タグ801の属性として、以下の属性が定義されている。例えば、本ファイルを一意に示すプロセスID(図中の”F6”)や、本ファイルが操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)が定義されている。また、プロセスの名称(図中の”会議資料を印刷(資料3を用意)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す
【0045】
Workflowタグ802は、リカバリー用プロセス定義ファイル(F6)で実行するワークフローを定義している。タグ802の子要素であるタグ308は、プロセス定義ファイル(F1)におけるタグ308と同じ定義を行っている。タグ803は、画像データを結合する処理を定義している。タグ803の子要素で、結合の対象となる画像データを定義している。図11(A)の例では、タグ403で読み込んだ画像データと、タグ308で読み込んだ画像データを結合することが定義されている。タグ804は、画像データを印刷する処理を定義している。タグ804の子要素では、印刷の対象となる画像データ、すなわちタグ803で結合した画像データを定義している。タグ804のその他の子要素は、プロセス定義ファイル(F1)の子要素と同じである。
【0046】
図11(B)は、リカバリー用プロセス定義ファイル(F6)のWorkflowタグ802で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データ(タグ403)と画像データ(タグ308)とを読み込み、読み込んだ画像データを結合し(タグ803)、結合した画像データを印刷する(タグ804)というワークフローを定義している。
【0047】
図6に戻って、プロセス定義ファイル処理部202は、ステップS75,76,78,80,及びS81において作成したリカバリー用プロセス定義ファイルをプロセス定義ファイル管理部201に登録する(ステップS82)。
【0048】
図12は、本発明の第1の実施形態におけるリカバリー用プロセス定義ファイルの実行処理フローの一例を示す図である。図12に示す処理フローが示す各処理は、MFP1のCPU101が制御プログラムを実行することにより実現される。
まず、MFP1が備えるユーザ認証管理部206が、MFP1を操作するユーザを認証する(ステップS11)。具体的には、操作部12が、認証情報を入力するための認証情報入力画面を表示する。ユーザが、認証情報入力画面を介して認証情報を入力すると、ユーザ認証管理部206が、入力された認証情報と予め保持している認証情報との照合結果に基づいて、ユーザを認証する。なお、ユーザを認証するための方法として、IDカードを読み取って認証情報を入力する方法や、生体情報を用いて認証を行う方法など、任意の認証方法を用いることができる。
【0049】
ユーザ認証が正常に行われた後、プロセス定義ファイル処理部202が、プロセス定義ファイル管理部201が管理しているプロセス定義ファイルをプロセス定義ファイル管理部201から取得する(ステップS12)。プロセス定義ファイル管理部201が管理しているプロセス定義ファイルには、通常のプロセス定義ファイルと、リカバリー用プロセス定義ファイルとが含まれる。プロセス定義ファイル処理部202が、操作部12に指示して、ステップS12において取得されたプロセス定義ファイルを選択するための画面であるプロセス定義ファイル選択画面を表示させる。複数のプロセス定義ファイルが取得された場合は、操作部12は、それらをプロセス定義ファイル選択画面に一覧で表示する。これによって、リカバリー用プロセス定義ファイルがユーザに対して選択的に提供される。操作部12が、通常のプロセス定義ファイルとリカバリー用プロセス定義ファイルとの区別がつくように、通常のプロセス定義ファイルとリカバリー用プロセス定義ファイルとで表示形式(色、形状、フォントなど)を変えて表示するようにしてもよい。また、リカバリー用プロセス定義ファイルのみが表示されるようなモードを用意しておいてもよい。操作部12が、同じプロセス定義ファイルを元に作成されたリカバリー用プロセス定義ファイルをグループ化して表示するようにしてもよい。プロセス定義ファイル処理部202は、プロセス定義ファイル選択画面を介したユーザの操作入力に従って、プロセス定義ファイルを選択する(ステップS13)。
【0050】
続いて、プロセス定義ファイル処理部202が、プロセス定義ファイルの実行指示がされたかを判断する(ステップS14)。ステップS14においては、プロセス定義ファイル処理部202は、例えば、プロセス定義ファイル選択画面上の「実行」ボタンがユーザにより押下されたか否かを判断する。「実行」ボタンが押下された場合は、プロセス定義ファイル処理部202は、プロセス定義ファイルの実行指示がされたと判断してステップS15に進む。「実行」ボタンが押下されていない場合は、プロセス定義ファイル処理部202は、「実行」ボタンが押下されるまで待機する。次に、プロセス定義ファイル処理部202が、プロセス定義ファイルのWorkflowタグに記述された定義に基づいて、プロセス定義ファイルを実行する(ステップS15)。例えば、図7(A)に示すプロセス定義ファイル(F2)を例にとると、プロセス定義ファイル処理部202は、画像データを読み込み、読み込んだ画像データを印刷するという一連の処理を実行する。続いて、プロセス定義ファイル処理部202が、ステップS15で実行したプロセス定義ファイルがリカバリー用プロセス定義ファイルであるかを判断する(ステップS16)。図7(A)に示すリカバリー用プロセス定義ファイル(F2)を例にとると、プロセス定義ファイル処理部202は、タグ401内のrecovery=”F1”という記述に基づいて、実行したファイルがリカバリー用プロセス定義ファイルであると判断する。
【0051】
プロセス定義ファイル処理部202が、実行したプロセス定義ファイルがリカバリー用プロセス定義ファイルであると判断した場合は、ステップS17に進む。プロセス定義ファイル処理部202が、実行したプロセス定義ファイルがリカバリー用プロセス定義ファイルでないと判断した場合は、処理を終了する。
ステップS17において、プロセス定義ファイル処理部202が、実行されたリカバリー用プロセス定義ファイルと同一ソースのリカバリー用プロセス定義ファイルを削除する。同一ソースのリカバリー用プロセス定義ファイルは、実行されたリカバリー用プロセス定義ファイルと作成元のプロセス定義ファイルが同じであるリカバリー用プロセス定義ファイルである。具体的には、プロセス定義ファイル処理部202は、Processタグのrecovery属性が実行されたリカバリー用プロセス定義ファイルと同じであるリカバリー用プロセス定義ファイルを削除する。プロセス定義ファイル管理部201は、削除されたプロセス定義ファイルを自身の管理から外す。
【0052】
上述した本発明の第1の実施形態のリカバリー用プロセス定義ファイルの作成処理によれば、ホットフォルダに関連づけられたプロセス定義ファイルが指定した実行日時に実行されなかった場合に、リカバリー用プロセス定義ファイルが複数生成される。ユーザは生成された複数のリカバリー用プロセス定義ファイルのうち、所望のリカバリー用プロセス定義ファイルを選択して実行することができるので、ユーザの利便性が向上する。
【0053】
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、プロセス定義ファイルが指定した実行日時に実行されなかった場合に、プロセス定義ファイル処理部202が、リカバリー用のプロセス定義ファイルを生成する。そして、操作部12が、リカバリー用プロセス定義ファイルを選択可能な画面(プロセス定義ファイル選択画面)を表示する。従って、ユーザがリカバリー用プロセス定義ファイルを実行するためには、MFP1が設けられている場所に行き、操作部12を介してリカバリー用プロセス定義ファイルを選択する必要がある。
本発明の第2の実施形態では、プロセス定義ファイルが指定した実行日時に実行されない場合に、プロセス定義ファイル処理部202が、リカバリー用ホットフォルダとリカバリー用ホットフォルダに関連付けられたリカバリー用プロセス定義ファイルとを作成する。リカバリー用ホットフォルダは、任意のファイルが格納されることをトリガとして、自身に関連付けられたリカバリー用プロセス定義ファイルが実行されるホットフォルダである。リカバリー用ホットフォルダは、ユーザPC3等の外部装置から実行できる。
【0054】
図13は、本発明の第2の実施形態のリカバリー用プロセス定義ファイルの作成処理フローを示す図である。この処理フローは、図5のステップS7におけるリカバリー用プロセス定義ファイルの作成処理に対応する。図13では、リカバリー用プロセス定義ファイルの作成元となるプロセス定義ファイルとして、図4(A)に示すプロセス定義ファイル(F1)を例にとって説明する。なお、図13のステップS91、S92、S93、S94、S96の処理は、それぞれ、図6のステップS71、S72、S73、S74、S79の処理と同様であるので、これらの処理についての説明を省略する。
図13のステップS95において、プロセス定義ファイル処理部202が、存在する画像データのみを入力として使用するリカバリー用プロセス定義ファイルと、リカバリー用プロセス定義ファイルと関連付けられたホットフォルダとを作成する(ステップS95)。作成されるリカバリー用プロセス定義ファイルには、存在する画像データのみを入力として使用する処理が定義されている。
【0055】
図14(A)は、図13のステップS95で作成されるリカバリー用プロセス定義ファイルの例を示す。この例ではリカバリー用プロセス定義ファイル(F7)は、図4(A)に示すプロセス定義ファイル(F1)のタグ308で指定された画像データが存在しなかった場合に作成される。
タグ901は、本ファイルがプロセス定義ファイルであることを定義している。タグ901の属性として、以下の属性が定義されている。例えば、プロセス定義ファイルを一意に示すプロセスID(”F7”)や、本ファイルがホットフォルダに関連づけられたプロセス定義ファイルであること(type=”hotfolder”)が定義されている。また、プロセスの名称(”会議資料を印刷(資料1,2のみ)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用のプロセス定義ファイルであることを表している。
【0056】
Conditionタグ902は、リカバリー用プロセス定義ファイルの実行条件を定義している。Conditionタグ902の子要素であるタグ903では、プロセス定義ファイルを実行する具体的なトリガを定義している。「dirA/会議資料を印刷(資料1,2のみ)/*」という記述は、「dirA/会議資料を印刷(資料1,2のみ)」というフォルダに任意のファイルを格納した場合に本ファイルが実行されるということを定義している。「dirA/会議資料を印刷(資料1,2のみ)」というフォルダは、図13のステップS95で生成されるホットフォルダである。このホットフォルダに格納されたファイルは、実行のトリガとして使用されるだけで、本ファイルの実際の実行処理では使用されない。
【0057】
図14(B)は、リカバリー用プロセス定義ファイル(F7)のWorkflowタグ402で定義されたワークフローの例を示す。このタグは、図13(A)のステップS94で結合した画像データを読み込み(タグ403)、読み込んだ画像データを印刷する(タグ404)というワークフローを定義している。
【0058】
図13に戻って、ステップS97で、プロセス定義ファイル処理部202は、予め管理されている代替画像データを入力データとして用いるリカバリー用プロセス定義ファイルと、プロセス定義ファイルに関連づけられたリカバリー用のホットフォルダとを作成する。作成されるリカバリー用プロセス定義ファイルには、存在しない画像データの代わりに代替画像データを使用する処理が定義されている。
【0059】
図15(A)は、図13のステップS97で作成されるリカバリー用プロセス定義ファイルの例を示す。この例ではリカバリー用プロセス定義ファイル(F8)は、図4(A)に示すプロセス定義ファイル(F1)のタグ308で指定された画像データが存在しなかった場合に作成される。タグ1001は、本ファイルがプロセス定義ファイルであることを定義している。タグ1001の属性として、以下の属性が定義されている。例えば、本ファイルを一意に示すプロセスID(”F8”)や、本ファイルがホットフォルダに関連づけられたプロセス定義ファイルであること(type=”hotfolder”)が定義されている。また、プロセスの名称(”会議資料を印刷(資料3は代替画像)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用のプロセス定義ファイルであることを表している。Conditionタグ1002は、リカバリー用プロセス定義ファイル(F8)の実行条件を定義している。Conditionタグ1002の子要素であるタグ1003では、本ファイルを実行する具体的なトリガを定義している。「dirA/会議資料を印刷(資料3は代替画像)/*」という記述は、「dirA/会議資料を印刷(資料3は代替画像)」というリカバリー用のホットフォルダに任意のファイルを格納すれば、本ファイルが実行されるということを定義している。このリカバリー用のホットフォルダは、図13のステップS97で作成されるホットフォルダである。
【0060】
図15(B)は、リカバリー用プロセス定義ファイル(F8)のWorkflowタグ702で定義されたワークフローの例を示す。Workflowタグ702の定義は、図10のWorkflowタグ702の定義と同様である。このタグは、図13(A)のステップS94で結合した画像データ(タグ403)と代替画像データ(タグ703)を読み込み、読み込んだ画像データを結合し(タグ704)、結合した画像データを印刷する(タグ705)というワークフローを定義している。
【0061】
図13に戻り、ステップS98で、プロセス定義ファイル処理部202は所定のホットフォルダに格納された画像データを入力データとして用いるリカバリー用プロセス定義ファイルと、この定義ファイルに関連付けられたリカバリー用のホットフォルダを作成する。作成されるリカバリー用プロセス定義ファイルには、存在しない画像データの代わりに、リカバリー用のホットフォルダに格納された画像データを使用する処理が定義されている。
【0062】
図16(A)は、図13のステップS98で作成されるリカバリー用プロセス定義ファイルの例を示す。この例では、図4(A)に示すプロセス定義ファイル(F1)のタグ308で指定された画像データが存在しなかった場合に作成されるリカバリー用プロセス定義ファイル(F9)を示す。
タグ1101は、本ファイルがプロセス定義ファイルであることを定義している。タグ1101の属性として、以下の属性が定義されている。例えば、プロセス定義ファイルを一意に示すプロセスID(”F9”)や、本ファイルがホットフォルダに関連づけられたプロセス定義ファイルであること(type=”hotfolder”)が定義されている。また、プロセスの名称(”会議資料を印刷(資料3をホットフォルダに格納)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。Conditionタグ1102は、本ファイルの実行条件を定義している。Conditionタグ1102の子要素であるタグ1103では、本ファイルを実行する具体的なトリガを定義している。「dirA/会議資料を印刷(資料3を格納してください)/*.img」という記述は、リカバリー用のホットフォルダに任意の画像データを格納すれば、このプロセス定義ファイルが実行されるということを定義している。このリカバリー用のホットフォルダは、図13のステップS98で作成されるホットフォルダである。「dirA/会議資料を印刷(資料3を格納してください)」という記述が、このリカバリー用のホットフォルダを示す。
【0063】
タグ1104は、本ファイルで実行する各処理を定義している。タグ1105は、入力として画像データを読み込む処理を定義している。タグ1105の子要素では、図13のステップS98で生成されたホットフォルダに格納される画像データを指定している。タグ1106は、画像データを結合する処理を定義している。タグ1106の子要素で、結合の対象となる画像データを定義している。この例では、タグ403で読み込んだ画像データと、タグ1105で読み込んだ画像データとを結合することが定義されている。タグ1107は、画像データを印刷する処理を定義している。タグ1107の子要素では、印刷の対象となる画像データ(タグ1106で結合した画像データ)を定義している。タグ1107のその他の子要素は、作成元であるプロセス定義ファイル(F1)と同じである。
【0064】
図16(B)は、リカバリー用プロセス定義ファイル(F9)のWorkflowタグ1104で定義されたワークフローの例を示す。このタグが定義するワークフローは、以下の処理を含む。すなわち、このワークフローは、図13のステップS94で結合した画像データ(タグ403)とリカバリー用のホットフォルダに格納された画像データ(タグ1105)とを読み込む処理を含む。また、このワークフローは、読み込んだ画像データを結合するという処理(タグ1106)、結合した画像データを印刷する(タグ1107)という処理を含む。
図13に戻って、プロセス定義ファイル処理部202は、図13のステップS95、S97、S98で作成したリカバリー用プロセス定義ファイルをプロセス定義ファイル管理部201に登録する(ステップS99)。
【0065】
図13の処理フローが示す処理に加えて、プロセス定義ファイル処理部202が、以下のような処理を実行してもよい。すなわち、プロセス定義ファイル処理部202が、代替画像データを指定して入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイルと、このファイルに関連付けられたリカバリー用のホットフォルダとを作成するようにしてもよい。また、プロセス定義ファイル処理部202が、代替画像データを原稿スキャンする処理が定義されたリカバリー用プロセス定義ファイルと、このファイルに関連付けられたリカバリー用のホットフォルダとを作成するようにしてもよい。また、また、プロセス定義ファイル処理部202が、存在しない画像データをそのまま入力とするリカバリー用プロセス定義ファイルと、このファイルに関連付けられたリカバリー用のホットフォルダとを作成するようにしてもよい。
【0066】
図17は、本発明の第2の実施形態におけるリカバリー用プロセス定義ファイルの実行処理フローの一例を示す図である。図17のステップS101、S104、S105の処理は、それぞれ、図12のステップS12、S16、S17の処理と同様であるので、これらの処理についての説明は省略する。
図17のステップS102において、プロセス定義ファイル処理部202が、ホットフォルダにプロセス定義ファイルの実行条件で指定したファイルが格納されたかを判断する。プロセス定義ファイル処理部202が、ホットフォルダに実行条件で指定したファイルが格納されたと判断した場合はステップS102に進む。プロセス定義ファイル処理部202が、実行条件で指定したファイルが格納されていないと判断した場合は、ファイルが格納されるまで待機する。ステップS103で、プロセス定義ファイル処理部202が、プロセス定義ファイルのWorkflowタグに記述された定義に基づいて処理を実行する。図14(A)に示すプロセス定義ファイル(F7)を例にとると、プロセス定義ファイル処理部202は、画像データを読み込み、読み込んだ画像データを印刷するという一連の処理を実行する。
【0067】
第2の実施形態によれば、ホットフォルダに関連付けられたプロセス定義ファイルが実行日時に実行されなかった場合に、リカバリー用のホットフォルダと、リカバリー用のホットフォルダに関連付けられたリカバリー用プロセス定義ファイルが複数生成される。ユーザは、複数のリカバリー用のホットフォルダのうち所望のリカバリー用ホットフォルダを使用することができるので、ユーザの利便性が向上する。また、第2の実施形態によれば、ユーザがリカバリー用のホットフォルダに任意のファイルを格納することをトリガとして該ホットフォルダに関連付けられたリカバリー用プロセス定義ファイルが実行される。従って、ユーザがMFP1が設けられた場所に行かなくても、外部装置(例えば、ユーザPC3)からリカバリーを行うことができる。
【0068】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0069】
1 MFP
2 管理者PC
3 ユーザPC
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
画像処理装置として、スキャナやファクシミリ、プリンタなどを備えた複合機が提案されている。一般に、複合機は、画像データを記憶する記憶装置を備えている。また、スキャナによる原稿スキャンや、ネットワークを介して接続されたコンピュータからの画像データ受信など、様々な方法で入力された画像データを記憶装置に保存する機能(ボックス機能)が一般的に知られている。ボックスに保存された画像データは、そのまま、あるいは編集された後に、複合機内のアプリケーションによって利用される。例えば、上記画像データは、他のボックスへ移動されたり、画像データ同士が結合された後に製本印刷されたり、圧縮された後に電子メールで送信される。このような操作の中には、複数の機能を組み合わせるものや、詳細な設定が必要なものもある。そこで、現在、ボックスのホットフォルダ化が検討されている。ホットフォルダとは、パーソナルコンピュータなどの情報処理装置において、所定のフォルダに画像データを保存するだけで、予めフォルダと関連づけられた設定ファイル(プロセス定義ファイル)に基づき、自動的に画像データを印刷できる機能である。ホットフォルダを利用することにより、ホットフォルダに画像データが保存されたことを契機として、ホットフォルダに関連付けられたプロセス定義ファイルが定義しているワークフロー等の一連の処理を実行することができる。
【0003】
また、プロセス定義ファイルとして印刷以外の処理を登録することにより、画像データの電子メール送信や画像データの複製・移動など、複合機の持つ機能を実行することもできる。また、プロセス定義ファイルに実行日時を指定することによって、フォルダに画像データを保存しても、すぐに処理を実行するのではなく、指定した実行日時になったら処理を実行することもできる。実行日時の指定は、一度きりの実行の指定だけではなく、定期的な実行も指定できる。また、処理する画像データも単一の画像データだけではなく、複数の画像データを指定することができる。従って、例えば、毎週月曜日午前10時の会議のために、毎週月曜日午前9時に3つの画像データを結合して、会議資料として印刷を実行するという設定を行うことができる。
なお、特許文献1が提案する印刷制御方法は、フォルダに格納される印刷ファイルに対する設定ファイルを作成し、設定ファイルを上記フォルダに設定する。そして、この印刷制御方法は、該フォルダに印刷ファイルがインポートされることを検出した場合に、インポートされる印刷ファイルに対して上記設定ファイルを付加して転送する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−242781号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
実行日時を指定したホットフォルダを利用して一連の処理を行う技術では、実行日時になっても処理を実行することができない場合がある。例えば、実行日時になっても所定のフォルダに処理する画像データが存在しなかったり、足りなかったりという場合には、処理を実行できない。実行日時を過ぎた後に、ユーザが画像データを所定のフォルダに格納しても、実行日時を過ぎているために、ホットフォルダに関連づけられたプロセス定義ファイルの処理は実行されない。所望の処理を実行するためには、ホットフォルダに関連づけられたプロセス定義ファイルの実行日時を変更するか、又はプロセス定義ファイルに記載された処理をユーザが手動で順番に実行する等の処置が必要となり、ユーザにとって不便であるという問題があった。
本発明は、一連の処理の実行時に該一連の処理が実行可能でない場合に、一連の処理を代替する1又は複数の回復手段をユーザに選択的に提供する情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムの提供を目的とする。
【課題を解決するための手段】
【0006】
本発明の一実施形態の情報処理装置は、複数の処理からなる一連の処理の実行時に該一連の処理が実行可能であるかを判断する実行判断手段と、前記一連の処理が実行可能でないと判断された場合に、前記一連の処理を代替する1又は複数の回復手段を選択的に提供する制御手段とを備える。
【発明の効果】
【0007】
本発明の情報処理装置によれば、一連の処理の実行時に該一連の処理が実行可能でない場合に、一連の処理を代替する1又は複数の回復手段をユーザに選択的に提供することが可能となる。
【図面の簡単な説明】
【0008】
【図1】情報処理システムの構成とMFPの構成の一例を示す図である。
【図2】MFPが備える制御部の機能ブロック図の例を示す図である。
【図3】管理者PCのハードウェア構成例と情報処理システム全体の動作例を示す図である。
【図4】プロセス定義ファイルとワークフローの例を示す図である
【図5】本実施形態のプロセス定義ファイル実行処理フローの例を示す図である。
【図6】リカバリー用プロセス定義ファイルの作成処理フローである。
【図7】リカバリー用プロセス定義ファイルとワークフローの例を示す図である。
【図8】リカバリー用プロセス定義ファイルとワークフローの例を示す図である。
【図9】リカバリー用プロセス定義ファイルとワークフローの例を示す図である。
【図10】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図11】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図12】リカバリー用プロセス定義ファイルの実行処理フローの一例である。
【図13】リカバリー用プロセス定義ファイルの作成処理フローである。
【図14】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図15】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図16】リカバリー用プロセス定義ファイルとワークフローを示す図である。
【図17】リカバリー用プロセス定義ファイルの実行処理フローの一例である。
【発明を実施するための形態】
【0009】
図1は、本実施形態の情報処理システムの構成とMFPの構成の一例を示す図である。図1に示す構成は、本発明の第1の実施形態と第2の実施形態の双方において適用可能である。図1(A)は、本実施形態の情報処理システムの構成を示す。この情報処理システムは、MFP(Multi Function Peripheral )1、管理者PC(Personal Computer)2、ユーザPC3を備える。MFP1と管理者PC2とユーザPC3とは、LAN(Local Area Network)4で互いに通信可能に接続されている。
【0010】
MFP1は、一連の処理の実行時に該一連の処理が実行可能でない場合に、一連の処理を代替する1又は複数の回復手段をユーザに選択的に提供する情報処理装置である。具体的には、MFP1は、管理者PC2からプロセス定義ファイルを受け取り、受け取ったプロセス定義ファイルに定義された処理が実行可能でない場合に、1又は複数のリカバリー用プロセス定義ファイルを作成する。プロセス定義ファイルは、MFP1が実行する、複数の処理からなる一連の処理と、一連の処理の実行条件とを定義する定義ファイルである。本実施形態においては、MFP1は、ホットフォルダをLAN4上に公開しているものとする。また、リカバリー用プロセス定義ファイルは、一連の処理の実行条件が満たされない場合の、一連の処理を代替する代替処理を定義する代替ファイルである。管理者PC2は、プロセス定義ファイルを作成するための画面を表示する。システム管理者が、上記画面を介して様々な処理内容(原稿スキャンパラメータや印刷設定など)を入力すると、管理者PC2がプロセス定義ファイルを作成する。管理者PC2は、作成したプロセス定義ファイルを、LAN4を介してMFP1に送信する。ユーザPC3は、ユーザの操作入力に従って、MFP1に対して、MFP1が公開しているホットフォルダへの格納対象となる画像データを送信する。
【0011】
図1(B)は、MFPのハードウェア構成例を示す。MFP1は、制御部11、操作部12、プリンタ13、スキャナ14を備える。制御部11はMFP全体の動作を制御する。操作部12は、ユーザの操作入力に従って、操作入力情報を入力する。操作部12には、タッチパネル機能を有する液晶表示部やキーボードなどが設けられている。プリンタ13は、制御部11から画像データを受け取って該画像データの印刷処理を行う。スキャナ14は、制御部11の指示に従って原稿上の画像を読み取って画像データを生成し、生成した画像データを制御部11に返す。制御部11は、CPU(Central Processing Unit )101、ROM(Read Only Memory)102、RAM(Random Access Memory)103を備える。また、制御部11は、HDD(Hard Disk Drive )104、操作部I/F(Interface)105、プリンタI/F106、スキャナI/F107、ネットワークI/F108を備える。CPU101は、ROM102に記憶された制御プログラムを読み出して、読取制御や送信制御などの各種制御処理を実行する。この制御プログラムは、本実施形態の情報処理装置の制御方法を実現するコンピュータプログラムである。RAM103は、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD104は、画像データや各種プログラムを記憶する。
【0012】
操作部I/F105は、操作部12と制御部11とを接続する。操作部12が入力した操作入力情報は、操作部I/F105を介して制御部11に送信される。プリンタI/F13は、プリンタ13と制御部11とを接続する。プリンタ13で印刷すべき画像データは、プリンタI/F107を介して制御部11からプリンタ13に転送され、プリンタ13において記録媒体上に印刷される。スキャナI/F107は、スキャナ14と制御部11とを接続する。スキャナ14は、原稿上の画像を読み取って画像データを生成し、生成した画像データをスキャナI/F107を介して制御部11に入力する。ネットワークI/F108は、制御部11(MFP1)をLAN4に接続する。ネットワークI/F108は、LAN4上の外部装置(例えば、ユーザPC3)に画像データを送信したり、ホットフォルダを公開したりする。
【0013】
図2は、MFPが備える制御部の機能ブロック図の例を示す図である。以下に説明する制御部11が備える各処理部の機能は、図1(B)に示すCPU101がROM102に記憶されている制御プログラムを実行することにより実現される。
制御部11は、プロセス定義ファイル管理部201、プロセス定義ファイル処理部202、画像データファイル管理部203、スキャナ状態情報管理部204、代替画像データ管理部205、ユーザ認証管理部206を備える。プロセス定義ファイル管理部201は、MFP1が管理者PC2から受信したプロセス定義ファイルやMFP1がで作成したプロセス定義ファイルをHDD104に記憶して管理する。プロセス定義ファイル処理部202は、プロセス定義ファイルで定義された処理を実行する。例えば、プロセス定義ファイル処理部202は、ホットフォルダに関連づけられたプロセス定義ファイルを指定時間に実行したり、プロセス定義ファイルに基づいてリカバリー用プロセス定義ファイルを作成したりする。また、プロセス定義ファイル処理部202は、一連の処理の実行時に、プロセス定義ファイルが定義している一連の処理の実行条件に基づいて、該一連の処理が実行可能であるかを判断する実行判断手段として機能する。プロセス定義ファイル処理部202は、例えば、所定のイベントが発生した時に、該イベントに関連付けられたプロセス定義ファイルに含まれる、一連の処理の実行条件が満たされるかを判断する。上記イベントの発生は、例えば、現日時が予め決められた日時となったことである。また、プロセス定義ファイル処理部202は、上記一連の処理が実行可能でないと判断された場合に、一連の処理を代替する1又は複数の回復手段であるリカバリー用プロセス定義ファイルを選択的に提供する制御手段としても機能する。
【0014】
プロセス定義ファイル処理部202が、実行条件が満たされないと判断した場合に、リカバリー用プロセス定義ファイルを作成するとともに、各々のリカバリー用プロセス定義ファイルに関連付けられたリカバリー用のホットフォルダを作成するようにしてもよい。このリカバリー用プロセス定義ファイルには、リカバリー用のホットフォルダへの任意のファイルの格納が該リカバリー用プロセス定義ファイルが定義する代替処理の実行のトリガとして定義されている。
また、プロセス定義ファイル処理部202が、プロセス定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段すなわちHDD104に記憶されているかを判断するようにしてもよい。具体的には、プロセス定義ファイル処理部202が、画像データファイル管理部203に問い合わせて、画像データファイル管理部203がHDD104において上記画像データを管理しているかを判断する。プロセス定義ファイル処理部202が、上記画像データのうち一部の画像データが記憶されていないと判断した場合に、記憶されている画像データのみを入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイルを作成するようにしてもよい。
【0015】
プロセス定義ファイル処理部202が、一部の画像データが記憶されていないと判断した場合に、記憶されてない画像データを代替する代替画像データを入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイルを作成するようにしてもよい。この代替画像データは、予めプロセス定義ファイル管理部201が管理している代替画像データでもよいし、ユーザが指定する代替画像データでもよい。また、プロセス定義ファイル処理部202が、HDD104に記憶されてない画像データを代替する代替画像データを原稿スキャンする処理を定義するリカバリー用プロセス定義ファイルを作成するようにしてもよい。また、プロセス定義ファイル処理部202が、HDD104に記憶されてない画像データを処理の実行に用いる入力データとして定義するリカバリー用プロセス定義ファイルを作成するようにしてもよい。これにより、プロセス定義ファイルの実行時に画像データが存在しない場合であっても、後にこの画像データがHDD104に記憶された時に、この画像データを入力データとしてリカバリー用プロセス定義ファイルが定義する処理を実行することができる。
【0016】
画像データファイル管理部203は、スキャナ14(図1(B)を参照)が原稿スキャンした画像データや、ネットワークI/F108を介して外部装置からホットフォルダに格納された画像データをHDD104に記憶して管理する。スキャナ状態情報管理部204は、スキャナ状態情報を管理する。スキャナ状態情報は、現在スキャナ14が使用可能な状態であるか否かを示す情報である。例えばスキャナ14にエラー(用紙詰まりなど)が発生している場合は、スキャナ状態情報は、スキャナ14が使用不可能な状態であることを示す。
代替画像データ管理部205は、プロセス定義ファイルで指定した画像データが存在しない場合に代替として使用される代替画像データを管理する。代替画像データはMFP1全体で1つだけ設定されていてもよいし、複数設定されていてもよい。例えば、代替画像データがユーザ毎又はプロセス定義ファイル毎に設定されていてもよい。代替画像データは、例えば、「必要な画像データが存在しません」や「本日はお休みです」のように、現時点のシステム状態に応じた説明が記載された画像データや、後から印刷した紙を差し込むための目印となる色紙のような画像データでもよい。ユーザ認証管理部206は、ユーザを認証するための情報であるユーザ認証情報を管理し、該ユーザ認証情報を用いて、ユーザ認証を行う。ユーザ認証管理部206は、例えば、ユーザのIDカードから読み取ったユーザIDとユーザ認証情報との照合結果や、ユーザの生体情報とユーザ認証情報との照合結果に基づいてユーザ認証を行う。本実施形態の情報処理装置の制御方法は、図2に示す制御部11が備える各処理部によって実現される。
【0017】
図3は、管理者PCのハードウェア構成例と、本実施形態の情報処理システム全体の動作例を示す図である。図3(A)は、管理者PCのハードウェア構成例を示す。管理者PC2は、制御部21、表示部22、キーボード23を備える。制御部21は、管理者PC2全体の動作を制御する。表示部22は、制御部21(のCPU211)からの指示に従った画面表示処理を行う。例えば、表示部22は、プロセス定義ファイルを作成するために必要な操作入力情報を入力するための画面であるプロセス定義ファイル作成画面を表示する。キーボード23は、管理者の操作入力に従って操作入力情報を入力する。制御部21は、CPU211、ROM212、RAM213、HDD214、表示部I/F215、キーボードI/F216、ネットワークI/F217を備える。CPU211は、ROM212に記憶された、管理者PC2を制御するプログラムを読み出して各種制御処理を実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214は、画像データや各種プログラム、あるいは各種情報テーブルを記憶する。表示部I/F215は、表示部22と制御部21とを接続する。キーボードI/F23は、キーボード23と制御部21とを接続する。CPU211は、キーボード23が入力した操作入力情報に基づいてユーザからの指示を認識し、認識した指示に応じて、表示部22に表示する画面を遷移させる。ネットワークI/F217は、制御部21(管理者PC2)をLAN4に接続する。ネットワークI/F217は、LAN110上の他の装置との間で各種情報を送受信する。なお、ユーザPC3は、管理者PC2と同様の構成を有している。従って、ユーザPC3の構成の説明については省略する。
【0018】
図3(B)は、本実施形態の情報処理システム全体の動作例を示す。まず、管理者PC2が、管理者の操作入力に従ってプロセス定義ファイル(F1)を作成する。具体的には、管理者が、管理者PC2に表示されたプロセス定義ファイル作成画面を介して操作入力情報(原稿スキャンパラメータや印刷設定など)を入力する。そして、管理者PC2のCPU211が、入力された操作入力情報に基づいてプロセス定義ファイルを作成する。管理者PC2は、作成したプロセス定義ファイル(F1)を、LAN4を介してMFP1に送信する(図中のP1を参照)。この例では、プロセス定義ファイルF1には、MFP1がLAN4上に公開しているホットフォルダ内の複数の画像データを、指定した実行日時に結合して印刷するという一連の処理をすることが定義されているものとする。MFP1のプロセス定義ファイル管理部201が、管理者PC2から送信されたプロセス定義ファイル(F1)を受信する。そして、プロセス定義ファイル管理部201が、プロセス定義ファイル(F1)をホットフォルダに関連付けて登録し、保持しておく。
【0019】
次に、ユーザPC3が、ユーザの操作入力に従って、MFP1のホットフォルダへの格納対象となる画像データIをMFP1に対して送信する(図中のP2を参照)。送信された画像データIは、ホットフォルダに格納され、画像データファイル管理部203によってHDD104に記憶されて管理される。プロセス定義ファイル(F1)に定義された実行日時になると、画像データIを受信したMFP1のプロセス定義ファイル処理部202が、プロセス定義ファイル(F1)で定義された処理を開始する(図中のP3を参照)。
次に、プロセス定義ファイル処理部202が、プロセス定義ファイル(F1)で定義されている一連の処理の実行条件に基づいて、例えば一連の処理の実行に必要な画像データが揃っているかを判断する。例えば、プロセス定義ファイル処理部202は、画像データファイル管理部203に、必要な画像データがあるかを問い合わせて、画像データファイル管理部203からの応答に基づいて、該画像データが揃っているかを判断する。必要な画像データが揃っている場合、プロセス定義ファイル処理部202は、プロセス定義ファイル(F1)の定義内容に従って、画像データを結合して紙文書Dの印刷を行う(図中のP4を参照)。必要な画像データが揃ってない場合、プロセス定義ファイル処理部202は、プロセス定義ファイル(F1)の定義内容に基づいて、1又は複数のリカバリー用プロセス定義ファイル(G1)を作成する(図中のP5を参照)。
【0020】
図4は、プロセス定義ファイルの例と、プロセス定義ファイルで定義されたワークフローの例を示す図である。図4(A)は、プロセス定義ファイル(F1)の例を示す。図4(A)では、XMLの形式で記述されたプロセス定義ファイルの例を示すが、プロセス定義ファイルが他の形式で記述されていてもよい。プロセス定義ファイル(F1)に記述されたProcessタグ301は、本ファイルがプロセス定義ファイルであることを定義している。プロセス定義ファイル(F1)に関する各項目は、Processタグ301の子要素として記述される。また、Processタグ301の属性として、以下の属性が定義されている。例えば、プロセス定義ファイルを一意に示すプロセスID(図中の”F1”)や、ホットフォルダに関連づけられたプロセス定義ファイルであること(type=”hotfolder”)が定義されている。また、プロセスの名称(図中の”会議資料を8時に印刷”)が定義されている。
【0021】
Conditionタグ302は、プロセス定義ファイルの実行条件を定義している。Conditionタグ302では、実行条件の定義を行うということだけが記述され、具体的な実行条件はConditionタグ302の子要素として記述される。タグ303は、プロセス定義ファイルの実行日時を定義している。タグ304は、プロセス定義ファイルを実行する際に必要となる画像データを定義している。Workflowタグ305は、本ファイルで実行する一連の処理を定義している。この例では、一連の処理は、画像データを読み込む処理、読み込んだ画像データを結合する処理、結合した画像データを印刷する処理からなるワークフローである。各処理はWorkflowタグ305の子要素として記述され、プロセス定義ファイル(F1)中の出現順序が処理の実行順序を示している。タグ306は、入力として画像データを読み込む処理を定義している。タグ306の子要素は、実際に読み込む画像データのファイルパス(dirA/資料1.img)を定義している。タグ307は、タグ306と同様に、入力として画像データを読み込む処理を定義している。タグ306とタグ307とで同じ記述を行っているのは、読み込む画像データが異なるためである。タグ307の子要素は、実際に読み込む画像データのファイルパス(dirA/資料2.img)を定義している。
【0022】
タグ308は、タグ306やタグ307と同様に、入力として画像データを読み込む処理を定義している。タグ308の子要素は、実際に読み込む画像データのファイルパス(dirA/資料3.img)を定義している。タグ309は、画像データを結合する処理を定義している。タグ309の子要素で、結合の対象となる画像データを定義している。この例では、タグ306、タグ307、タグ308で定義されている画像データ、すなわち、file306乃至308を結合する処理を定義している。タグ310は、画像データを印刷する処理を定義している。タグ310の子要素では、印刷の対象となる画像データ(この例ではタグ309で結合した画像データ)や、カラー設定(カラー)、印刷部数(5部)、ステイプルする位置(左上)などを定義している。
【0023】
図4(B)は、プロセス定義ファイル(F1)のWorkflowタグ305で定義されたワークフローの例を示す。このタグは、3つの画像データを読み込み(タグ306、タグ307、タグ308)、読み込んだ画像データを結合し(タグ309)、結合した画像データを印刷する(タグ310)というワークフローを定義している。
【0024】
図5は、本実施形態のプロセス定義ファイル実行処理フローの例を示す図である。図5の処理フローが示す各処理は、MFP1のCPU101が制御プログラムを実行することにより実現される。まず、MFP1のプロセス定義ファイル処理部202が、プロセス定義ファイル管理部が管理しているプロセス定義ファイルを、HDD104からRAM103に読み出す(ステップS1)。プロセス定義ファイル処理部202は、ホットフォルダに関連付けられたプロセス定義ファイルのみを読み出し、ユーザの操作によって実行されるプロセス定義ファイルは読み出さない。次に、プロセス定義ファイル処理部202が、読み出したプロセス定義ファイルのConditionタグで定義された実行日時を取得する(ステップS2)。次に、プロセス定義ファイル処理部202が、システム日時が上記ステップS2において取得した実行日時になったかを判断する(ステップS3)。プロセス定義ファイル処理部202が、システム日時が実行日時になっていないと判断した場合は、ステップS3に戻る。プロセス定義ファイル処理部202が、システム日時が実行日時になった判断した場合、プロセス定義ファイル処理部202が、プロセス定義ファイルのConditionタグで定義された実行条件を取得する(ステップS4)。
【0025】
次に、プロセス定義ファイル処理部202が、上記ステップS4で取得された実行条件をチェックして、プロセス定義ファイルを実行できるかを判断する(ステップS5)。例えば、実行条件に所定の画像データが指定されている場合、プロセス定義ファイル処理部202は、実行条件に指定された画像データが画像データファイル管理部203によって管理されているかを判断する。該画像データが画像データファイル管理部203によって管理されている場合、プロセス定義ファイル処理部202は、プロセス定義ファイルを実行できると判断する。プロセス定義ファイル処理部202が、プロセス定義ファイルを実行できると判断した場合、プロセス定義ファイル処理部202は、プロセス定義ファイルを実行、すなわち、プロセス定義ファイルで定義された一連の処理を実行する(ステップS6)。ステップS6においては、プロセス定義ファイル処理部202は、プロセス定義ファイルのWorkflowタグに記述された定義に基づいて処理を実行する。
図4(A)に示すプロセス定義ファイル(F1)を例にとると、プロセス定義ファイル処理部202は、3つの画像データを読み込み、その画像データを結合し、結合した画像データを印刷するという一連の処理を実行する。プロセス定義ファイル処理部202が、プロセス定義ファイルを実行できないと判断した場合、プロセス定義ファイル処理部202は、リカバリー用プロセス定義ファイルを作成する(ステップS7)。リカバリー用のプロセス定義ファイルは、ステップS5において実行できないと判断されたプロセス定義ファイルに基づいて作成される。
【0026】
図6は、本発明の第1の実施形態のリカバリー用プロセス定義ファイルの作成処理フローである。この処理フローは、図5のステップS7におけるリカバリー用プロセス定義ファイルの作成処理の詳細を示す。この処理フローが示す各処理は、MFP1のCPU101が制御プログラムを実行することにより実現される。なお、図6では、リカバリー用プロセス定義ファイルの作成元となるプロセス定義ファイルとして、図4(A)に示すプロセス定義ファイル(F1)を例にとって説明する。まず、プロセス定義ファイル処理部202が、入力画像データ、すなわちプロセス定義ファイル(F1)で読み込み処理の対象として定義された画像データの存在チェックを行う(ステップS1)。具体的には、プロセス定義ファイル処理部202が、入力画像データが画像データファイル管理部203で管理されているかを判断する。プロセス定義ファイル処理部202が、入力画像データが存在しないと判断した場合はステップS76に進む。プロセス定義ファイル処理部202が、入力画像データが1つ以上存在すると判断した場合は、プロセス定義ファイル処理部202は、プロセス定義ファイルの定義内容に基づいて、存在する画像データの結合が可能かを判断する(ステップS73)。例えば、図4(A)に示すプロセス定義ファイル(F1)においては、タグ306、タグ307、タグ308で指定された画像データを結合することがタグ309に定義されている。また、画像データの結合は、タグ306で指定された画像データ、タグ307で指定された画像データ、タグ308で指定された画像データの順で行うことが定義されている。従って、この例では、プロセス定義ファイル処理部202は、連続する順番で2つ以上の画像データが存在する場合に、画像データの結合ができると判断する。
【0027】
例えば、画像データが1つしか存在しない場合、プロセス定義ファイル処理部202は、画像データの結合ができないと判断する。また、例えば、タグ307で指定された画像データが存在しない場合は、順番通りの結合にならないので、画像データの結合ができないと判断される。プロセス定義ファイル処理部202が、画像データの結合が可能でないと判断した場合はステップS75に進む。一方、例えばタグ306で指定された画像データが存在しない場合、プロセス定義ファイル処理部202は、残りの2ファイル、すなわち、タグ307、308で指定された画像データで画像データの結合が可能であると判断する。また、例えば、タグ308で指定された画像データが存在しない場合も、プロセス定義ファイル処理部202は、タグ307、308で指定された画像データで画像データの結合が可能であると判断する。プロセス定義ファイル処理部202が、画像データの結合が可能であると判断した場合、プロセス定義ファイル処理部202は、プロセス定義ファイル(F1)の記述に基づいて、存在する画像データの結合を行う(ステップS74)。例えば、タグ308で指定された画像データが存在しない場合、タグ307で指定された画像データとタグ308で指定された画像データとを結合する。ステップS74で結合された画像データは、後述するステップS75、S76、S78、S80、S81において作成するリカバリー用プロセス定義ファイルの入力用画像データとして使用される。結合できる画像データをステップS74において予め結合しておくことによって、リカバリー用プロセス定義ファイルを実行する際の処理を少なくし、回復処理すなわち本来実行対象である一連の処理を代替する処理の実行時間を少なくすることができる。次に、プロセス定義ファイル処理部202は、存在する画像データのみを入力として使用するリカバリー用プロセス定義ファイル(F2)を作成する(ステップS75)。この例では、リカバリー用プロセス定義ファイル(F2)は、図4(A)に示すプロセス定義ファイル(F1)のタグ308で指定された画像データが存在しなかった場合に作成される。
【0028】
図7(A)は、図6のステップS75で作成されるリカバリー用プロセス定義ファイルの例を示す。リカバリー用プロセス定義ファイル(F2)内のタグ401は、本ファイルがプロセス定義ファイルであることを定義している。タグ401の属性として、以下の属性が定義されている。例えば、プロセス定義ファイル(F2)を一意に示すプロセスID(図中の”F2”)や、操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)が定義されている。また、プロセスの名称(図中の会議資料を印刷(資料1,2のみ))が定義されている。また、リカバリー用プロセス定義ファイル(F2)内のrecovery=”F1”という記述は、リカバリー用プロセス定義ファイル(F2)が、プロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。
【0029】
Workflowタグ402は、リカバリー用のプロセス定義ファイルで実行するワークフローを定義している。タグ403は、入力として画像データを読み込む処理を定義している。タグ403の子要素では、実際に読み込む画像データのファイルパスを定義する。この例では、ステップS74で結合した画像データのファイルパス(dirX/資料1_2.img)を指定する。タグ404は、画像データを印刷する処理を定義している。タグ404の子要素では、印刷の対象となる画像データ、すなわち、ステップS74で結合した画像データを定義している。タグ404のその他の子要素は、プロセス定義ファイル(F1)における子要素と同じである。
【0030】
図7(B)は、リカバリー用プロセス定義ファイル(F2)のWorkflowタグ402で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データを読み込み(タグ403)、読み込んだ画像データを印刷する(タグ404)というワークフローを定義している。
【0031】
図6に戻って、プロセス定義ファイル処理部202は、存在しない画像データを代替する代替画像データを指定して入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイル(F3)を作成する(ステップS76)。
【0032】
図8(A)は、図6のステップS76で作成されるリカバリー用プロセス定義ファイル(F3)の例を示す。タグ501は、本ファイルがプロセス定義ファイルであることを定義している。タグ501の属性として、以下のような属性が定義されている。例えば、本ファイルを一意に示すプロセスID(図中の”F3”)や、操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)や、プロセスの名称(図中の会議資料を印刷(資料3を選択))などが定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。
【0033】
Workflowタグ502は、リカバリー用プロセス定義ファイル(F3)で実行するワークフローを定義している。タグ503は、入力用の画像データをユーザが指定するためのダイアログを操作部12に表示する処理を定義している。タグ503の子要素では、ダイアログに最初に表示するディレクトリを定義している。タグ504は、画像データを結合する処理を定義している。タグ504の子要素で、結合の対象となる画像データを定義している。図8(A)の例では、タグ403で読み込んだ画像データと、タグ503でユーザがダイアログにより指定した画像データを結合することが定義されている。タグ505は、画像データを印刷する処理を定義している。タグ505の子要素では、印刷の対象となる画像データ、すなわち、タグ504で結合した画像データを定義している。タグ505のその他の子要素は、プロセス定義ファイル(F1)における子要素と同じである。
【0034】
図8(B)は、リカバリー用プロセス定義ファイル(F3)のWorkflowタグ502で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データ(タグ403)とユーザが指定した画像データ(タグ503)とを読み込み、読み込んだ画像データを結合し(タグ504)、結合した画像データを印刷する(タグ505)というワークフローを定義している。
【0035】
図6に戻って、プロセス定義ファイル処理部202は、スキャナ状態情報管理部204から、スキャナ状態情報管理部204が管理しているスキャナ状態情報を取得する。そして、プロセス定義ファイル処理部202は、取得したスキャナ状態情報に基づいて、スキャナ14が使用可能な状態であるかを判断する(ステップS77)。プロセス定義ファイル処理部202が、スキャナ14が使用可能な状態でないと判断した場合は、ステップS79に進む。プロセス定義ファイル処理部202が、スキャナ14が使用可能な状態であると判断した場合、存在しない画像データを代替する代替画像データを原稿スキャンする処理が定義されたリカバリー用プロセス定義ファイル(F4)を作成する(ステップS78)。
【0036】
図9(A)は、図6のステップS78で作成されるリカバリー用プロセス定義ファイル(F4)の例を示す。タグ601は、本ファイルがプロセス定義ファイルであることを定義している。タグ601の属性として、以下の属性が定義されている。例えば、本ファイルを一意に示すプロセスID(図中の”F4”)や、操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)が定義されている。また、プロセスの名称(図中の”会議資料を印刷(資料3をスキャン)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。
【0037】
Workflowタグ602は、リカバリー用プロセス定義ファイル(F4)で実行するワークフローを定義している。タグ603は、入力用の画像データを原稿スキャンする処理を定義している。タグ603の子要素では、原稿スキャンの設定としてカラースキャンを定義している。タグ604は、画像データを結合する処理を定義している。タグ604の子要素で、結合の対象となる画像データを定義している。図9(A)の例では、タグ403で読み込んだ画像データと、タグ603で原稿スキャンした画像データを結合することが定義されている。タグ605は、画像データを印刷する処理を定義している。タグ605の子要素では、印刷の対象となる画像データ、すなわちタグ604で結合した画像データを定義している。タグ605のその他の子要素は、プロセス定義ファイル(F1)の子要素と同じである。
【0038】
図9(B)は、リカバリー用プロセス定義ファイル(F4)のWorkflowタグ602で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データ(タグ403)と原稿スキャンした画像データ(タグ603)を読み込み、読み込んだ画像データを結合し(タグ604)、結合した画像データを印刷する(タグ605)というワークフローを定義している。
【0039】
図6に戻って、プロセス定義ファイル処理部202が、代替画像データ管理部205が予め管理している代替画像データが存在するかを判断する(ステップS79)。プロセス定義ファイル処理部202が、代替画像データが存在しないと判断した場合は、ステップS81に進む。プロセス定義ファイル処理部202が、代替画像データが存在すると判断した場合は、プロセス定義ファイル処理部202は、該代替画像データを代替画像データ管理部205から取得する。そして、プロセス定義ファイル処理部202は、取得した代替画像データを入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイル(F5)を作成する(ステップS80)。
【0040】
図10(A)は、図6のステップS80で作成されるリカバリー用プロセス定義ファイル(F5)の例を示す。タグ701は、本ファイルがプロセス定義ファイルであることを定義している。タグ701の属性として、以下の属性が定義されている。例えば、本ファイルを一意に示すプロセスID(図中の”F5”)や、本ファイルが操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)が定義されている。また、プロセスの名称(図中の”会議資料を印刷(資料3は代替画像)”)が定義されている。また、recovery=”510”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。
【0041】
Workflowタグ702は、リカバリー用プロセス定義ファイル(F5)で実行するワークフローを定義している。タグ703は、入力として画像データを読み込む処理を定義している。タグ703の子要素では、プロセス定義ファイル処理部202が代替画像データ管理部205から取得した代替画像データのファイルパス(dirC/代替画像データ.img)を指定している。タグ704は、画像データを結合する処理を定義している。タグ704の子要素で、結合の対象となる画像データを定義している。図10(A)の例では、タグ403で読み込んだ画像データと、タグ703で読み込んだ代替画像データとを結合することが定義されている。タグ705は、画像データを印刷する処理を定義している。タグ705の子要素では、印刷の対象となる画像データ、すなわちタグ704で結合した画像データを定義している。タグ705のその他の子要素は、プロセス定義ファイル(F1)の子要素と同じである。
【0042】
図10(B)は、リカバリー用プロセス定義ファイル(F5)のWorkflowタグ702で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データ(タグ403)と代替画像データ(タグ703)とを読み込み、読み込んだ画像データを結合し(タグ704)、結合した画像データを印刷する(タグ705)というワークフローを定義している。
【0043】
図6に戻って、プロセス定義ファイル処理部202は、存在しない画像データをそのまま入力とするリカバリー用プロセス定義ファイル(F6)を作成する(ステップS81)。リカバリー用プロセス定義ファイル(F6)は、指定した実行日時には存在しなかった画像データを、その後ユーザがホットフォルダに格納した上で、あらためてプロセス定義ファイル(F1)が定義する処理を実行するためのプロセス定義ファイルである。
【0044】
図11(A)は、図6のステップS81で作成されるリカバリー用プロセス定義ファイル(F6)の例を示す。タグ801は、本ファイルがプロセス定義ファイルであることを定義している。タグ801の属性として、以下の属性が定義されている。例えば、本ファイルを一意に示すプロセスID(図中の”F6”)や、本ファイルが操作部12に表示されるプロセス定義ファイルであること(図中のtype=”display”)が定義されている。また、プロセスの名称(図中の”会議資料を印刷(資料3を用意)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す
【0045】
Workflowタグ802は、リカバリー用プロセス定義ファイル(F6)で実行するワークフローを定義している。タグ802の子要素であるタグ308は、プロセス定義ファイル(F1)におけるタグ308と同じ定義を行っている。タグ803は、画像データを結合する処理を定義している。タグ803の子要素で、結合の対象となる画像データを定義している。図11(A)の例では、タグ403で読み込んだ画像データと、タグ308で読み込んだ画像データを結合することが定義されている。タグ804は、画像データを印刷する処理を定義している。タグ804の子要素では、印刷の対象となる画像データ、すなわちタグ803で結合した画像データを定義している。タグ804のその他の子要素は、プロセス定義ファイル(F1)の子要素と同じである。
【0046】
図11(B)は、リカバリー用プロセス定義ファイル(F6)のWorkflowタグ802で定義されたワークフローの例を示す。このタグは、図6のステップS74で結合した画像データ(タグ403)と画像データ(タグ308)とを読み込み、読み込んだ画像データを結合し(タグ803)、結合した画像データを印刷する(タグ804)というワークフローを定義している。
【0047】
図6に戻って、プロセス定義ファイル処理部202は、ステップS75,76,78,80,及びS81において作成したリカバリー用プロセス定義ファイルをプロセス定義ファイル管理部201に登録する(ステップS82)。
【0048】
図12は、本発明の第1の実施形態におけるリカバリー用プロセス定義ファイルの実行処理フローの一例を示す図である。図12に示す処理フローが示す各処理は、MFP1のCPU101が制御プログラムを実行することにより実現される。
まず、MFP1が備えるユーザ認証管理部206が、MFP1を操作するユーザを認証する(ステップS11)。具体的には、操作部12が、認証情報を入力するための認証情報入力画面を表示する。ユーザが、認証情報入力画面を介して認証情報を入力すると、ユーザ認証管理部206が、入力された認証情報と予め保持している認証情報との照合結果に基づいて、ユーザを認証する。なお、ユーザを認証するための方法として、IDカードを読み取って認証情報を入力する方法や、生体情報を用いて認証を行う方法など、任意の認証方法を用いることができる。
【0049】
ユーザ認証が正常に行われた後、プロセス定義ファイル処理部202が、プロセス定義ファイル管理部201が管理しているプロセス定義ファイルをプロセス定義ファイル管理部201から取得する(ステップS12)。プロセス定義ファイル管理部201が管理しているプロセス定義ファイルには、通常のプロセス定義ファイルと、リカバリー用プロセス定義ファイルとが含まれる。プロセス定義ファイル処理部202が、操作部12に指示して、ステップS12において取得されたプロセス定義ファイルを選択するための画面であるプロセス定義ファイル選択画面を表示させる。複数のプロセス定義ファイルが取得された場合は、操作部12は、それらをプロセス定義ファイル選択画面に一覧で表示する。これによって、リカバリー用プロセス定義ファイルがユーザに対して選択的に提供される。操作部12が、通常のプロセス定義ファイルとリカバリー用プロセス定義ファイルとの区別がつくように、通常のプロセス定義ファイルとリカバリー用プロセス定義ファイルとで表示形式(色、形状、フォントなど)を変えて表示するようにしてもよい。また、リカバリー用プロセス定義ファイルのみが表示されるようなモードを用意しておいてもよい。操作部12が、同じプロセス定義ファイルを元に作成されたリカバリー用プロセス定義ファイルをグループ化して表示するようにしてもよい。プロセス定義ファイル処理部202は、プロセス定義ファイル選択画面を介したユーザの操作入力に従って、プロセス定義ファイルを選択する(ステップS13)。
【0050】
続いて、プロセス定義ファイル処理部202が、プロセス定義ファイルの実行指示がされたかを判断する(ステップS14)。ステップS14においては、プロセス定義ファイル処理部202は、例えば、プロセス定義ファイル選択画面上の「実行」ボタンがユーザにより押下されたか否かを判断する。「実行」ボタンが押下された場合は、プロセス定義ファイル処理部202は、プロセス定義ファイルの実行指示がされたと判断してステップS15に進む。「実行」ボタンが押下されていない場合は、プロセス定義ファイル処理部202は、「実行」ボタンが押下されるまで待機する。次に、プロセス定義ファイル処理部202が、プロセス定義ファイルのWorkflowタグに記述された定義に基づいて、プロセス定義ファイルを実行する(ステップS15)。例えば、図7(A)に示すプロセス定義ファイル(F2)を例にとると、プロセス定義ファイル処理部202は、画像データを読み込み、読み込んだ画像データを印刷するという一連の処理を実行する。続いて、プロセス定義ファイル処理部202が、ステップS15で実行したプロセス定義ファイルがリカバリー用プロセス定義ファイルであるかを判断する(ステップS16)。図7(A)に示すリカバリー用プロセス定義ファイル(F2)を例にとると、プロセス定義ファイル処理部202は、タグ401内のrecovery=”F1”という記述に基づいて、実行したファイルがリカバリー用プロセス定義ファイルであると判断する。
【0051】
プロセス定義ファイル処理部202が、実行したプロセス定義ファイルがリカバリー用プロセス定義ファイルであると判断した場合は、ステップS17に進む。プロセス定義ファイル処理部202が、実行したプロセス定義ファイルがリカバリー用プロセス定義ファイルでないと判断した場合は、処理を終了する。
ステップS17において、プロセス定義ファイル処理部202が、実行されたリカバリー用プロセス定義ファイルと同一ソースのリカバリー用プロセス定義ファイルを削除する。同一ソースのリカバリー用プロセス定義ファイルは、実行されたリカバリー用プロセス定義ファイルと作成元のプロセス定義ファイルが同じであるリカバリー用プロセス定義ファイルである。具体的には、プロセス定義ファイル処理部202は、Processタグのrecovery属性が実行されたリカバリー用プロセス定義ファイルと同じであるリカバリー用プロセス定義ファイルを削除する。プロセス定義ファイル管理部201は、削除されたプロセス定義ファイルを自身の管理から外す。
【0052】
上述した本発明の第1の実施形態のリカバリー用プロセス定義ファイルの作成処理によれば、ホットフォルダに関連づけられたプロセス定義ファイルが指定した実行日時に実行されなかった場合に、リカバリー用プロセス定義ファイルが複数生成される。ユーザは生成された複数のリカバリー用プロセス定義ファイルのうち、所望のリカバリー用プロセス定義ファイルを選択して実行することができるので、ユーザの利便性が向上する。
【0053】
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、プロセス定義ファイルが指定した実行日時に実行されなかった場合に、プロセス定義ファイル処理部202が、リカバリー用のプロセス定義ファイルを生成する。そして、操作部12が、リカバリー用プロセス定義ファイルを選択可能な画面(プロセス定義ファイル選択画面)を表示する。従って、ユーザがリカバリー用プロセス定義ファイルを実行するためには、MFP1が設けられている場所に行き、操作部12を介してリカバリー用プロセス定義ファイルを選択する必要がある。
本発明の第2の実施形態では、プロセス定義ファイルが指定した実行日時に実行されない場合に、プロセス定義ファイル処理部202が、リカバリー用ホットフォルダとリカバリー用ホットフォルダに関連付けられたリカバリー用プロセス定義ファイルとを作成する。リカバリー用ホットフォルダは、任意のファイルが格納されることをトリガとして、自身に関連付けられたリカバリー用プロセス定義ファイルが実行されるホットフォルダである。リカバリー用ホットフォルダは、ユーザPC3等の外部装置から実行できる。
【0054】
図13は、本発明の第2の実施形態のリカバリー用プロセス定義ファイルの作成処理フローを示す図である。この処理フローは、図5のステップS7におけるリカバリー用プロセス定義ファイルの作成処理に対応する。図13では、リカバリー用プロセス定義ファイルの作成元となるプロセス定義ファイルとして、図4(A)に示すプロセス定義ファイル(F1)を例にとって説明する。なお、図13のステップS91、S92、S93、S94、S96の処理は、それぞれ、図6のステップS71、S72、S73、S74、S79の処理と同様であるので、これらの処理についての説明を省略する。
図13のステップS95において、プロセス定義ファイル処理部202が、存在する画像データのみを入力として使用するリカバリー用プロセス定義ファイルと、リカバリー用プロセス定義ファイルと関連付けられたホットフォルダとを作成する(ステップS95)。作成されるリカバリー用プロセス定義ファイルには、存在する画像データのみを入力として使用する処理が定義されている。
【0055】
図14(A)は、図13のステップS95で作成されるリカバリー用プロセス定義ファイルの例を示す。この例ではリカバリー用プロセス定義ファイル(F7)は、図4(A)に示すプロセス定義ファイル(F1)のタグ308で指定された画像データが存在しなかった場合に作成される。
タグ901は、本ファイルがプロセス定義ファイルであることを定義している。タグ901の属性として、以下の属性が定義されている。例えば、プロセス定義ファイルを一意に示すプロセスID(”F7”)や、本ファイルがホットフォルダに関連づけられたプロセス定義ファイルであること(type=”hotfolder”)が定義されている。また、プロセスの名称(”会議資料を印刷(資料1,2のみ)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用のプロセス定義ファイルであることを表している。
【0056】
Conditionタグ902は、リカバリー用プロセス定義ファイルの実行条件を定義している。Conditionタグ902の子要素であるタグ903では、プロセス定義ファイルを実行する具体的なトリガを定義している。「dirA/会議資料を印刷(資料1,2のみ)/*」という記述は、「dirA/会議資料を印刷(資料1,2のみ)」というフォルダに任意のファイルを格納した場合に本ファイルが実行されるということを定義している。「dirA/会議資料を印刷(資料1,2のみ)」というフォルダは、図13のステップS95で生成されるホットフォルダである。このホットフォルダに格納されたファイルは、実行のトリガとして使用されるだけで、本ファイルの実際の実行処理では使用されない。
【0057】
図14(B)は、リカバリー用プロセス定義ファイル(F7)のWorkflowタグ402で定義されたワークフローの例を示す。このタグは、図13(A)のステップS94で結合した画像データを読み込み(タグ403)、読み込んだ画像データを印刷する(タグ404)というワークフローを定義している。
【0058】
図13に戻って、ステップS97で、プロセス定義ファイル処理部202は、予め管理されている代替画像データを入力データとして用いるリカバリー用プロセス定義ファイルと、プロセス定義ファイルに関連づけられたリカバリー用のホットフォルダとを作成する。作成されるリカバリー用プロセス定義ファイルには、存在しない画像データの代わりに代替画像データを使用する処理が定義されている。
【0059】
図15(A)は、図13のステップS97で作成されるリカバリー用プロセス定義ファイルの例を示す。この例ではリカバリー用プロセス定義ファイル(F8)は、図4(A)に示すプロセス定義ファイル(F1)のタグ308で指定された画像データが存在しなかった場合に作成される。タグ1001は、本ファイルがプロセス定義ファイルであることを定義している。タグ1001の属性として、以下の属性が定義されている。例えば、本ファイルを一意に示すプロセスID(”F8”)や、本ファイルがホットフォルダに関連づけられたプロセス定義ファイルであること(type=”hotfolder”)が定義されている。また、プロセスの名称(”会議資料を印刷(資料3は代替画像)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用のプロセス定義ファイルであることを表している。Conditionタグ1002は、リカバリー用プロセス定義ファイル(F8)の実行条件を定義している。Conditionタグ1002の子要素であるタグ1003では、本ファイルを実行する具体的なトリガを定義している。「dirA/会議資料を印刷(資料3は代替画像)/*」という記述は、「dirA/会議資料を印刷(資料3は代替画像)」というリカバリー用のホットフォルダに任意のファイルを格納すれば、本ファイルが実行されるということを定義している。このリカバリー用のホットフォルダは、図13のステップS97で作成されるホットフォルダである。
【0060】
図15(B)は、リカバリー用プロセス定義ファイル(F8)のWorkflowタグ702で定義されたワークフローの例を示す。Workflowタグ702の定義は、図10のWorkflowタグ702の定義と同様である。このタグは、図13(A)のステップS94で結合した画像データ(タグ403)と代替画像データ(タグ703)を読み込み、読み込んだ画像データを結合し(タグ704)、結合した画像データを印刷する(タグ705)というワークフローを定義している。
【0061】
図13に戻り、ステップS98で、プロセス定義ファイル処理部202は所定のホットフォルダに格納された画像データを入力データとして用いるリカバリー用プロセス定義ファイルと、この定義ファイルに関連付けられたリカバリー用のホットフォルダを作成する。作成されるリカバリー用プロセス定義ファイルには、存在しない画像データの代わりに、リカバリー用のホットフォルダに格納された画像データを使用する処理が定義されている。
【0062】
図16(A)は、図13のステップS98で作成されるリカバリー用プロセス定義ファイルの例を示す。この例では、図4(A)に示すプロセス定義ファイル(F1)のタグ308で指定された画像データが存在しなかった場合に作成されるリカバリー用プロセス定義ファイル(F9)を示す。
タグ1101は、本ファイルがプロセス定義ファイルであることを定義している。タグ1101の属性として、以下の属性が定義されている。例えば、プロセス定義ファイルを一意に示すプロセスID(”F9”)や、本ファイルがホットフォルダに関連づけられたプロセス定義ファイルであること(type=”hotfolder”)が定義されている。また、プロセスの名称(”会議資料を印刷(資料3をホットフォルダに格納)”)が定義されている。また、recovery=”F1”という記述は、本ファイルがプロセス定義ファイル(F1)を元にして作成されたリカバリー用プロセス定義ファイルであることを示す。Conditionタグ1102は、本ファイルの実行条件を定義している。Conditionタグ1102の子要素であるタグ1103では、本ファイルを実行する具体的なトリガを定義している。「dirA/会議資料を印刷(資料3を格納してください)/*.img」という記述は、リカバリー用のホットフォルダに任意の画像データを格納すれば、このプロセス定義ファイルが実行されるということを定義している。このリカバリー用のホットフォルダは、図13のステップS98で作成されるホットフォルダである。「dirA/会議資料を印刷(資料3を格納してください)」という記述が、このリカバリー用のホットフォルダを示す。
【0063】
タグ1104は、本ファイルで実行する各処理を定義している。タグ1105は、入力として画像データを読み込む処理を定義している。タグ1105の子要素では、図13のステップS98で生成されたホットフォルダに格納される画像データを指定している。タグ1106は、画像データを結合する処理を定義している。タグ1106の子要素で、結合の対象となる画像データを定義している。この例では、タグ403で読み込んだ画像データと、タグ1105で読み込んだ画像データとを結合することが定義されている。タグ1107は、画像データを印刷する処理を定義している。タグ1107の子要素では、印刷の対象となる画像データ(タグ1106で結合した画像データ)を定義している。タグ1107のその他の子要素は、作成元であるプロセス定義ファイル(F1)と同じである。
【0064】
図16(B)は、リカバリー用プロセス定義ファイル(F9)のWorkflowタグ1104で定義されたワークフローの例を示す。このタグが定義するワークフローは、以下の処理を含む。すなわち、このワークフローは、図13のステップS94で結合した画像データ(タグ403)とリカバリー用のホットフォルダに格納された画像データ(タグ1105)とを読み込む処理を含む。また、このワークフローは、読み込んだ画像データを結合するという処理(タグ1106)、結合した画像データを印刷する(タグ1107)という処理を含む。
図13に戻って、プロセス定義ファイル処理部202は、図13のステップS95、S97、S98で作成したリカバリー用プロセス定義ファイルをプロセス定義ファイル管理部201に登録する(ステップS99)。
【0065】
図13の処理フローが示す処理に加えて、プロセス定義ファイル処理部202が、以下のような処理を実行してもよい。すなわち、プロセス定義ファイル処理部202が、代替画像データを指定して入力データとして用いる処理が定義されたリカバリー用プロセス定義ファイルと、このファイルに関連付けられたリカバリー用のホットフォルダとを作成するようにしてもよい。また、プロセス定義ファイル処理部202が、代替画像データを原稿スキャンする処理が定義されたリカバリー用プロセス定義ファイルと、このファイルに関連付けられたリカバリー用のホットフォルダとを作成するようにしてもよい。また、また、プロセス定義ファイル処理部202が、存在しない画像データをそのまま入力とするリカバリー用プロセス定義ファイルと、このファイルに関連付けられたリカバリー用のホットフォルダとを作成するようにしてもよい。
【0066】
図17は、本発明の第2の実施形態におけるリカバリー用プロセス定義ファイルの実行処理フローの一例を示す図である。図17のステップS101、S104、S105の処理は、それぞれ、図12のステップS12、S16、S17の処理と同様であるので、これらの処理についての説明は省略する。
図17のステップS102において、プロセス定義ファイル処理部202が、ホットフォルダにプロセス定義ファイルの実行条件で指定したファイルが格納されたかを判断する。プロセス定義ファイル処理部202が、ホットフォルダに実行条件で指定したファイルが格納されたと判断した場合はステップS102に進む。プロセス定義ファイル処理部202が、実行条件で指定したファイルが格納されていないと判断した場合は、ファイルが格納されるまで待機する。ステップS103で、プロセス定義ファイル処理部202が、プロセス定義ファイルのWorkflowタグに記述された定義に基づいて処理を実行する。図14(A)に示すプロセス定義ファイル(F7)を例にとると、プロセス定義ファイル処理部202は、画像データを読み込み、読み込んだ画像データを印刷するという一連の処理を実行する。
【0067】
第2の実施形態によれば、ホットフォルダに関連付けられたプロセス定義ファイルが実行日時に実行されなかった場合に、リカバリー用のホットフォルダと、リカバリー用のホットフォルダに関連付けられたリカバリー用プロセス定義ファイルが複数生成される。ユーザは、複数のリカバリー用のホットフォルダのうち所望のリカバリー用ホットフォルダを使用することができるので、ユーザの利便性が向上する。また、第2の実施形態によれば、ユーザがリカバリー用のホットフォルダに任意のファイルを格納することをトリガとして該ホットフォルダに関連付けられたリカバリー用プロセス定義ファイルが実行される。従って、ユーザがMFP1が設けられた場所に行かなくても、外部装置(例えば、ユーザPC3)からリカバリーを行うことができる。
【0068】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0069】
1 MFP
2 管理者PC
3 ユーザPC
【特許請求の範囲】
【請求項1】
複数の処理からなる一連の処理の実行時に該一連の処理が実行可能であるかを判断する実行判断手段と、
前記一連の処理が実行可能でないと判断された場合に、前記一連の処理を代替する1又は複数の回復手段を選択的に提供する制御手段とを備える
ことを特徴とする情報処理装置。
【請求項2】
前記実行判断手段は、所定のイベントが発生した時に、該イベントに関連付けられた前記一連の処理を定義する定義ファイルに含まれる、前記一連の処理の実行条件が満たされるかを判断し、
前記制御手段は、前記実行条件が満たされないと判断された場合に、前記ファイルに基づいて、前記ファイルが定義する一連の処理を代替する代替処理を定義する1又は複数の代替ファイルを作成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記制御手段は、前記実行条件が満たされないと判断された場合に、前記ファイルに基づいて、前記代替処理を定義する1又は複数の代替ファイルを作成するとともに、各々の代替ファイルに関連付けられたフォルダを作成し、
前記代替ファイルには、該代替ファイルに関連付けられたフォルダへの任意のファイルの格納が該代替ファイルが定義する代替処理の実行のトリガとして定義されている
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記実行判断手段は、前記定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段に記憶されているかを判断し、
前記制御手段は、前記画像データのうち一部の画像データが前記記憶手段に記憶されていないと判断された場合に、該記憶手段に記憶されている画像データのみを入力データとして用いる処理が定義された代替ファイルを作成する
ことを特徴とする請求項2又は請求項3に記載の情報処理装置。
【請求項5】
前記実行判断手段は、前記定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段に記憶されているかを判断し、
前記制御手段は、前記画像データのうち一部の画像データが前記記憶手段に記憶されていないと判断された場合に、該記憶手段に記憶されてない画像データを代替する代替画像データを入力データとして用いる処理が定義された代替ファイルを作成する
ことを特徴とする請求項2又は請求項3に記載の情報処理装置。
【請求項6】
前記実行判断手段は、前記定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段に記憶されているかを判断し、
前記制御手段は、前記画像データのうち一部の画像データが前記記憶手段に記憶されていないと判断された場合に、該記憶手段に記憶されてない画像データを代替する代替画像データを原稿スキャンする処理を定義する代替ファイルを作成する
ことを特徴とする請求項2又は請求項3に記載の情報処理装置。
【請求項7】
前記実行判断手段は、前記定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段に記憶されているかを判断し、
前記制御手段は、前記画像データのうち一部の画像データが前記記憶手段に記憶されていないと判断された場合に、該記憶手段に記憶されてない画像データを処理の実行に用いる入力データとして定義する代替ファイルを作成する
ことを特徴とする請求項2又は請求項3に記載の情報処理装置。
【請求項8】
前記イベントの発生は、現日時が予め決められた日時となったことである
ことを特徴とする請求項2乃至6のいずれかに記載の情報処理装置。
【請求項9】
複数の処理からなる一連の処理の実行時に該一連の処理が実行可能であるかを判断し、
前記一連の処理が実行可能でないと判断された場合に、前記一連の処理を代替する1又は複数の回復手段を選択的に提供する
ことを特徴とする情報処理装置の制御方法。
【請求項10】
請求項8に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項1】
複数の処理からなる一連の処理の実行時に該一連の処理が実行可能であるかを判断する実行判断手段と、
前記一連の処理が実行可能でないと判断された場合に、前記一連の処理を代替する1又は複数の回復手段を選択的に提供する制御手段とを備える
ことを特徴とする情報処理装置。
【請求項2】
前記実行判断手段は、所定のイベントが発生した時に、該イベントに関連付けられた前記一連の処理を定義する定義ファイルに含まれる、前記一連の処理の実行条件が満たされるかを判断し、
前記制御手段は、前記実行条件が満たされないと判断された場合に、前記ファイルに基づいて、前記ファイルが定義する一連の処理を代替する代替処理を定義する1又は複数の代替ファイルを作成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記制御手段は、前記実行条件が満たされないと判断された場合に、前記ファイルに基づいて、前記代替処理を定義する1又は複数の代替ファイルを作成するとともに、各々の代替ファイルに関連付けられたフォルダを作成し、
前記代替ファイルには、該代替ファイルに関連付けられたフォルダへの任意のファイルの格納が該代替ファイルが定義する代替処理の実行のトリガとして定義されている
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記実行判断手段は、前記定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段に記憶されているかを判断し、
前記制御手段は、前記画像データのうち一部の画像データが前記記憶手段に記憶されていないと判断された場合に、該記憶手段に記憶されている画像データのみを入力データとして用いる処理が定義された代替ファイルを作成する
ことを特徴とする請求項2又は請求項3に記載の情報処理装置。
【請求項5】
前記実行判断手段は、前記定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段に記憶されているかを判断し、
前記制御手段は、前記画像データのうち一部の画像データが前記記憶手段に記憶されていないと判断された場合に、該記憶手段に記憶されてない画像データを代替する代替画像データを入力データとして用いる処理が定義された代替ファイルを作成する
ことを特徴とする請求項2又は請求項3に記載の情報処理装置。
【請求項6】
前記実行判断手段は、前記定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段に記憶されているかを判断し、
前記制御手段は、前記画像データのうち一部の画像データが前記記憶手段に記憶されていないと判断された場合に、該記憶手段に記憶されてない画像データを代替する代替画像データを原稿スキャンする処理を定義する代替ファイルを作成する
ことを特徴とする請求項2又は請求項3に記載の情報処理装置。
【請求項7】
前記実行判断手段は、前記定義ファイルに含まれる、該定義ファイルが定義する処理の実行に必要な全ての画像データが所定の記憶手段に記憶されているかを判断し、
前記制御手段は、前記画像データのうち一部の画像データが前記記憶手段に記憶されていないと判断された場合に、該記憶手段に記憶されてない画像データを処理の実行に用いる入力データとして定義する代替ファイルを作成する
ことを特徴とする請求項2又は請求項3に記載の情報処理装置。
【請求項8】
前記イベントの発生は、現日時が予め決められた日時となったことである
ことを特徴とする請求項2乃至6のいずれかに記載の情報処理装置。
【請求項9】
複数の処理からなる一連の処理の実行時に該一連の処理が実行可能であるかを判断し、
前記一連の処理が実行可能でないと判断された場合に、前記一連の処理を代替する1又は複数の回復手段を選択的に提供する
ことを特徴とする情報処理装置の制御方法。
【請求項10】
請求項8に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2011−34418(P2011−34418A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−181180(P2009−181180)
【出願日】平成21年8月4日(2009.8.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願日】平成21年8月4日(2009.8.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]