(57)【要約】【課題】リトライするときのユーザの作業負担を軽減することができる。【解決手段】一連の処理であるワークフローを実行する情報処理装置であって、予め登録された少なくとも１つのワークフローの中から実行すべきワークフローの選択を受け付けるワークフロー受付部と、選択されたワークフローに含まれるそれぞれの処理を実行するフロー実行部と、実行済みのワークフローを表すジョブについて、処理の内容の変更を受け付ける内容変更受付部と、ジョブの再実行の要求を受け付ける再実行受付部と、を備え、フロー実行部は、再実行を受け付けたジョブを、変更された処理の内容に従って再実行する情報処理装置を提供する。【選択図】図３
2016177387.tif 000002
【特許請求の範囲】
【請求項１】
一連の処理であるワークフローを実行する情報処理装置であって、
予め登録された少なくとも１つの前記ワークフローの中から実行すべき前記ワークフローの選択を受け付けるワークフロー受付部と、
選択された前記ワークフローに含まれるそれぞれの処理を実行するフロー実行部と、
実行済みの前記ワークフローを表すジョブについて、処理の内容の変更を受け付ける内容変更受付部と、
前記ジョブの再実行の要求を受け付ける再実行受付部と、
を備え、
前記フロー実行部は、再実行を受け付けた前記ジョブを、変更された処理の内容に従って再実行する
情報処理装置。
【請求項２】
前記ワークフローに含まれるそれぞれの処理の内容および実行順序を定義するワークフロー情報を記憶するワークフロー情報記憶部と、
再実行の要求を受け付けた前記ジョブの処理の内容および実行順序を定義する再実行ワークフロー情報を生成する再実行ワークフロー生成部と、
をさらに備え、
前記フロー実行部は、
選択された前記ワークフローに対応するワークフロー情報を前記ワークフロー情報記憶部から取得し、取得したワークフロー情報に定義された処理を実行し、
前記ジョブの再実行の要求を受け付けた場合、前記再実行ワークフロー情報に定義された処理を実行する
請求項１に記載の情報処理装置。
【請求項３】
前記内容変更受付部は、前記ジョブに予め準備されている新たな処理を追加する変更を受け付け、
前記再実行ワークフロー生成部は、前記ジョブにより実行された処理に、新たな処理を追加した一連の処理を定義する前記再実行ワークフロー情報を生成する
請求項２に記載の情報処理装置。
【請求項４】
前記内容変更受付部は、前記ジョブにおいて実行された処理のうちの指定された処理を、予め準備されている新たな処理へと差し替える変更を受け付け、
前記再実行ワークフロー生成部は、前記ジョブにおいて実行された処理のうちの指定された処理を新たな処理に差し換えた一連の処理を定義する前記再実行ワークフロー情報を生成する
請求項２に記載の情報処理装置。
【請求項５】
前記フロー実行部は、
与えられたデータに対して、設定値に従った処理を実行する複数の処理実行部と、
前記ワークフロー情報に従って対応する前記処理実行部を呼び出し、呼び出した前記処理実行部に、処理対象となるデータを与えて、処理を実行させるフロー制御部と、
を有し、
呼び出された前記処理実行部は、与えられたデータに対して処理を実行し、処理結果を前記フロー制御部に返す
請求項２から４の何れか１項に記載の情報処理装置。
【請求項６】
前記ジョブの内容を示すジョブ情報を生成するジョブ情報生成部と、
前記ジョブ情報を記憶するジョブ情報記憶部と、
をさらに備える請求項５に記載の情報処理装置。
【請求項７】
前記ジョブ情報生成部は、
前記ワークフローに含まれるそれぞれの処理毎に、対応する処理以後に実行される処理の内容および実行順序を定義する中間ワークフロー情報を生成するとともに、前記中間ワークフロー情報の処理対象となる中間データを取得し、
前記ワークフローに含まれるそれぞれの処理毎の前記中間ワークフロー情報および前記中間データを含む前記ジョブ情報を生成する
請求項６に記載の情報処理装置。
【請求項８】
再実行する前記ジョブの内容を示す前記ジョブ情報から、処理の内容が変更された処理を全て含む前記中間ワークフロー情報を取得するとともに、取得した前記中間ワークフロー情報に対応する前記中間データを取得し、取得した前記中間ワークフロー情報および前記中間データを前記再実行ワークフロー情報に与える中間ワークフロー取得部をさらに備え、
前記再実行ワークフロー情報は、前記中間ワークフロー取得部が取得した前記中間ワークフロー情報に基づき前記再実行ワークフロー情報を生成し、生成した前記再実行ワークフロー情報および前記中間データを前記フロー制御部に与え、
前記フロー制御部は、
与えられた前記再実行ワークフロー情報に従って対応する前記処理実行部を呼び出し、呼び出した前記処理実行部に処理対象となるデータを与えて、処理を実行させる
請求項７に記載の情報処理装置。
【請求項９】
前記中間ワークフロー取得部は、
再実行する前記ジョブにおいて実行されたそれぞれの処理のうち、直前に新たな処理が追加された処理または新たな処理に差し換えされた処理を検出し、
検出した処理のうち、最も先に実行する処理を特定し、
特定した処理に対応する前記中間ワークフロー情報を取得するとともに、取得した前記中間ワークフロー情報に対応する前記中間データを取得し、
取得した前記ワークフロー情報および前記中間データを前記再実行ワークフロー情報に与える
請求項８に記載の情報処理装置。
【請求項１０】
画像形成装置が用紙をスキャンして生成した画像データを取得するデータ受付部をさらに備え、
前記フロー実行部は、前記画像形成装置が用紙をスキャンして生成した画像データに対して前記ワークフローを実行する
請求項１から９の何れか１項に記載の情報処理装置。
【請求項１１】
前記再実行受付部は、前記ジョブの再実行の要求を、ネットワークを介して端末装置から受け付ける
請求項１から１０の何れか１項に記載の情報処理装置。
【請求項１２】
一連の処理であるワークフローを実行する情報処理装置と、
前記情報処理装置とネットワークを介して接続される端末装置と、
を備えるシステムであって、
前記情報処理装置は、
予め登録された少なくとも１つの前記ワークフローの中から実行すべき前記ワークフローの選択を受け付けるワークフロー受付部と、
選択された前記ワークフローに含まれるそれぞれの処理を実行するフロー実行部と、
実行済みの前記ワークフローを表すジョブについて、処理の内容の変更を受け付ける内容変更受付部と、
前記ジョブの再実行の要求を受け付ける再実行受付部と、
を有し、
前記端末装置は、ユーザによる操作によって再実行する前記ジョブの選択を受けて、前記ネットワークを介して前記情報処理装置へと送信し、
前記フロー実行部は、再実行を受け付けた前記ジョブを、変更された処理の内容に従って再実行する
システム。
【請求項１３】
用紙をスキャンして画像データを生成する画像形成装置をさらに備え、
前記情報処理装置は、前記画像形成装置により用紙をスキャンして生成された画像データを取得するデータ受付部をさらに有し、
前記フロー実行部は、前記データ受付部が取得した前記画像データに対して前記ワークフローを実行する
請求項１２に記載のシステム。
【請求項１４】
前記情報処理装置と前記ネットワークを介して接続され、前記ネットワークを介して受信したデータを保存するサーバ装置をさらに備え、
前記情報処理装置は、前記ワークフローに含まれる何れかの処理を実行することにより、前記ワークフローの処理結果であるデータを前記ネットワークを介して前記サーバ装置に送信して格納させ、
前記端末装置は、前記サーバ装置に格納されているデータを前記ネットワークを介して取得してユーザに表示し、表示した前記データを生成した前記ジョブを再実行させるか否かをユーザに判断させる
請求項１３に記載のシステム。
【請求項１５】
一連の処理であるワークフローを実行する情報処理装置と、
前記情報処理装置とネットワークを介して接続される端末装置と、
を備えるシステムにおいて実行される情報処理方法であって、
前記情報処理装置が、予め登録された少なくとも１つの前記ワークフローの中から実行すべき前記ワークフローの選択を受け付け、
前記情報処理装置が、選択された前記ワークフローに含まれるそれぞれの処理を実行し、
前記情報処理装置が、実行済みの前記ワークフローを表すジョブについて、処理の内容の変更を受け付け、
前記端末装置が、ユーザによる操作によって再実行する前記ジョブの選択を受けて、前記ネットワークを介して前記情報処理装置へと送信し、
前記情報処理装置が、前記ジョブの再実行の要求を受け付け、
前記情報処理装置が、再実行を受け付けた前記ジョブを、変更された処理の内容に従って再実行する
情報処理方法。
【請求項１６】
前記システムは、画像形成装置をさらに備え、
前記画像形成装置が、用紙をスキャンして画像データを生成し、
前記情報処理装置が、前記画像形成装置が用紙をスキャンして生成された画像データを介して取得し、
前記情報処理装置が、取得した前記画像データに対して前記ワークフローを実行する
請求項１５に記載の情報処理方法。
【請求項１７】
コンピュータを、一連の処理であるワークフローを実行する情報処理装置として機能させるためのプログラムであって、
前記コンピュータを、
予め登録された少なくとも１つの前記ワークフローの中から実行すべき前記ワークフローの選択を受け付けるワークフロー受付部と、
選択された前記ワークフローに含まれるそれぞれの処理を、受け付けた設定値に従って実行するフロー実行部と、
実行済みの前記ワークフローを表すジョブについて、処理の内容の変更を受け付ける内容変更受付部と、
前記ジョブの再実行の要求を受け付ける再実行受付部と、
して機能させ、
前記フロー実行部は、再実行を受け付けた前記ジョブを、変更された処理の内容に従って再実行する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、システム、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、複合機は、スキャナ等により取り込んだ画像データに対して、一連の処理であるワークフローを実行する機能を有する（例えば、特許文献１参照）。また、複合機が画像データをサーバ装置に送信し、サーバ装置がワークフローを実行するシステムも知られている。このような複合機およびシステムによれば、スキャンして取り込んだ画像データを、ＯＣＲ（Optical  Character  Recognition）処理およびＰＤＦ（Portable  Document  Format)化処理等のデータ変換処理等をしてから、指定されたフォルダまたはサーバ装置等に自動送信することができる。
【０００３】
また、特許文献２、３には、スキャンして得られた画像データに対して編集をしてから文書データに変換する技術が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、指定されたフォルダ等に自動送信された文書データを確認した場合に、意図に合わない結果となる場合がある。また、例えば、このとき、元画像データに対してフィルタリングをせずにＯＣＲをしてしまったことが、意図に合わない結果となった要因かもしれない。
【０００５】
このような場合、従来、ユーザは、用紙を再度複合機にセットしてスキャンをさせなければならないが、ワークフローにおいて定義されている処理の流れそのものに原因があるとすると、ワークフローの変更を管理者に依頼しなければならない。しかし、一人のユーザのため、あるいは、一つのジョブのためだけにワークフローを変更すると、その変更によって他のユーザやジョブに不具合が出る可能性があるため、管理者は変更を受諾しない場合が考えられる。このように、ワークフローの結果からリトライをする上で、従来のシステムは面倒であった。
【０００６】
本発明は、上記に鑑みてなされたものであって、リトライするときのユーザの作業負担を軽減することができる情報処理装置、システム、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る情報処理装置は、一連の処理であるワークフローを実行する情報処理装置であって、予め登録された少なくとも１つの前記ワークフローの中から実行すべき前記ワークフローの選択を受け付けるワークフロー受付部と、選択された前記ワークフローに含まれるそれぞれの処理を実行するフロー実行部と、実行済みの前記ワークフローを表すジョブについて、処理の内容の変更を受け付ける内容変更受付部と、前記ジョブの再実行の要求を受け付ける再実行受付部と、を備え、前記フロー実行部は、再実行を受け付けた前記ジョブを、変更された処理の内容に従って再実行する。
【発明の効果】
【０００８】
本発明によれば、リトライするときのユーザの作業負担を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る情報処理システムを示す図である。
【図２】図２は、実施形態に係るワークフロー処理装置により実行されるワークフローの一例を示す図である。
【図３】図３は、複合機、端末装置およびワークフロー処理装置の機能構成を示す図である。
【図４】図４は、ワークフローを実行する場合のシーケンスを示す図である。
【図５】図５は、ジョブを再実行する場合のシーケンスを示す図である。
【図６】図６は、ジョブ情報の構成を示す図である。
【図７】図７は、中間ワークフロー情報および中間データの追加処理のフローチャートである。
【図８】図８は、中間ワークフロー情報および中間データの取得処理のフローチャートである。
【図９】図９は、ジョブの一覧の一例を示す図である。
【図１０】図１０は、処理内容の変更画面の一例を示す図である。
【図１１】図１１は、オプション選択画面の一例を示す図である。
【図１２】図１２は、位置選択画面の一例を示す図である。
【図１３】図１３は、ワークフロー情報の一例を示す図である。
【図１４】図１４は、中間ワークフロー情報の一例を示す図である。
【図１５】図１５は、設定値情報の一例を示す図である。
【図１６】図１６は、再実行ワークフロー情報の一例を示す図である。
【図１７】図１７は、複合機のハードウェア構成の一例を示す図である。
【図１８】図１８は、ワークフロー処理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１１】
図１は、実施形態に係る情報処理システム１０を示す図である。情報処理システム１０は、一例として、複合機２０と、端末装置２１と、ワークフロー処理装置２２と、ファイルサーバ２３とを備える。
【００１２】
複合機２０、端末装置２１、ワークフロー処理装置２２およびファイルサーバ２３は、ネットワークを介して接続される。ネットワークは、ＬＡＮ（Local  Area  Network）またはＬＡＮがルータを介して接続されたＷＡＮ（Wide  Area  Network）であってもよい。また、ネットワークは、インターネットまたは電話通信回線等を含んでいてもよい。また、ネットワークは、有線で構成されていてもよいし、一部または全部が無線により構成されていてもよい。
【００１３】
複合機２０は、スキャナ機能およびファクシミリ機能の少なくとも１つを有し、データを取得する画像形成装置の一例である。複合機２０は、さらに、通信機能および表示機能等を有する。また、複合機２０は、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する情報処理装置としても機能する。複合機２０は、一例として、用紙をスキャンして画像データを生成し、生成した画像データをネットワークを介してワークフロー処理装置２２へと送信する。
【００１４】
端末装置２１は、デスクトップ型コンピュータ、ノート型コンピュータ、スマートフォン、タブレット端末および携帯電話機等の情報処理装置である。端末装置２１は、情報入力、通信機能および表示機能等を有する。さらに、端末装置２１は、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する。
【００１５】
ワークフロー処理装置２２は、デスクトップ型コンピュータ、ノート型コンピュータおよびワークステーション等の一台以上のコンピュータにより構成される情報処理装置の一例である。ワークフロー処理装置２２は、通信機能を有し、さらに、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する。
【００１６】
ワークフロー処理装置２２は、与えられたデータに対して、一連の処理であるワークフローを実行する。本実施形態において、ワークフロー処理装置２２は、複合機２０が用紙をスキャンして生成した画像データをネットワークを介して取得し、取得した画像データに対してワークフローを実行する。
【００１７】
ワークフロー処理装置２２は、複合機２０からワークフローの実行指示に応じて、ワークフローを実行する。また、ワークフロー処理装置２２は、端末装置２１から再実行の指示に応じて、実行済みのワークフローを表すジョブを再実行する。この場合、ワークフロー処理装置２２は、ジョブに予め準備された新たな処理（オプション処理）を追加したり、ジョブにおいて実行された何れかの処理を予め準備された新たな処理（オプション処理）と差し替えたりすることができる。また、さらに、ワークフロー処理装置２２は、ジョブにおいて実行されたそれぞれの処理についての設定値を変更することもできる。そして、ワークフロー処理装置２２は、変更された処理の内容および設定値に従ってジョブを再実行する。
【００１８】
ファイルサーバ２３は、デスクトップ型コンピュータ、ノート型コンピュータおよびワークステーション等の一台以上のコンピュータにより構成されるサーバ装置の一例である。ファイルサーバ２３は、通信機能および情報蓄積機能を有する。ファイルサーバ２３は、ワークフローの実行結果であるデータを、ワークフロー処理装置２２からネットワークを介して受信する。そして、ファイルサーバ２３は、受信したデータを保存する。
【００１９】
図２は、実施形態に係るワークフロー処理装置２２により実行されるワークフローの一例を示す図である。ワークフロー処理装置２２には、予め複数のワークフロー情報が登録されている。ワークフロー情報は、ワークフローに含まれるそれぞれの処理の内容および実行順序を定義する。ワークフロー情報は、コンピュータにより解釈が可能なデータ形式で記述される。本実施形態において、ワークフロー情報は、ＸＭＬ（Extensible  Markup  Language）により記述される。
【００２０】
ワークフロー情報では、各種のデータ処理（文字認識（ＯＣＲ）処理、特定のデータ形式へのデータ変換処理およびファイルまたはサーバへのデータの配信処理、画像のフィルタリング処理、データの合成処理、余白の検出処理、上下の判別処理およびデータ圧縮処理等）を定義することができる。また、ワークフロー情報では、それぞれの処理の実行順序が定義される。図２の例においては、ＯＣＲ処理→データ変換処理→配信処理を順次に実行するワークフローが示されている。
【００２１】
また、ワークフローに含まれるそれぞれの処理について、その処理を実行するために必要となる設定値がユーザにより入力される。例えば、ＯＣＲ処理の場合、認識する言語（日本語、英語およびドイツ語等）を特定する設定値がユーザにより入力される。また、データ変換処理の場合、変換後のデータ形式（ＴＩＦＦ形式、ＪＰＧ形式およびＰＤＦ形式等）を特定する設定値がユーザにより入力される。また、配信処理の場合、配信先のフォルダのアドレスまたはサーバ装置のアドレスを特定する設定値がユーザにより入力される。
【００２２】
また、本実施形態においては、ワークフローの処理対象となるデータは、用紙をスキャンして生成された画像データである。これに代えて、処理対象となるデータは、一例として、動画像データ、テキストデータ、音声データおよびコンピュータプログラム等のどのようなデータであってもよい。
【００２３】
図３は、複合機２０、端末装置２１およびワークフロー処理装置２２の機能構成を示す図である。
【００２４】
複合機２０は、スキャン部５１と、表示入力部５２と、データ処理制御部５３と、通信部５４とを有する。スキャン部５１は、原稿台にセットされた用紙をスキャンして画像データを生成する。表示入力部５２は、ユーザに対して情報を表示し、ユーザからの操作を入力する。データ処理制御部５３は、プログラムを実行してデータ処理をするとともに装置全体を制御する。通信部５４は、ネットワークを介してワークフロー処理装置２２と接続し、ワークフロー処理装置２２との間でデータの送受信を行う。
【００２５】
端末装置２１は、表示入力部５５と、データ処理制御部５６と、通信部５７とを有する。表示入力部５５は、ユーザに対して情報を表示し、ユーザからの操作を入力する。データ処理制御部５６は、プログラムを実行してデータ処理をするとともに装置全体を制御する。通信部５７は、ネットワークを介してワークフロー処理装置２２と接続し、ワークフロー処理装置２２との間でデータの送受信を行う。
【００２６】
ワークフロー処理装置２２は、入出力部６１と、記憶部６２と、ジョブ情報生成部６３と、中間ワークフロー取得部６４と、再実行ワークフロー生成部６５と、フロー実行部６６とを有する。
【００２７】
入出力部６１は、ネットワークを介して複合機２０および端末装置２１と接続し、複合機２０および端末装置２１とデータの入出力をする。入出力部６１は、データ受付部７１と、ワークフロー受付部７２と、設定値受付部７３と、ジョブ受付部７４と、内容変更受付部７５と、設定値変更受付部７６と、再実行受付部７７とを含む。
【００２８】
データ受付部７１は、複合機２０が用紙をスキャンして生成した画像データをネットワークを介して取得する。ワークフロー受付部７２は、予め登録された少なくとも１つのワークフローの中から、実行すべきワークフローの選択を受け付ける。より具体的には、ワークフロー受付部７２は、予め登録された少なくとも１つのワークフローを表した一覧を複合機２０に送って、一覧の中からユーザが選択した１つのワークフローを特定する情報を複合機２０から受信する。
【００２９】
設定値受付部７３は、選択されたワークフローに含まれるそれぞれの処理について、設定値を受け付ける。より具体的には、設定値受付部７３は、選択されたワークフローに含まれるそれぞれの処理についての設定項目を複合機２０に送って、それぞれの設定項目に対してユーザが入力した設置値を複合機２０から受信する。
【００３０】
ジョブ受付部７４は、実行済みのワークフローを示す少なくとも１つのジョブの中から、再実行すべきジョブの選択を受け付ける。より具体的には、ジョブ受付部７４は、実行済みのジョブを表した一覧を端末装置２１に送って、一覧の中からユーザが選択した１つのジョブを特定する情報を端末装置２１から受信する。
【００３１】
内容変更受付部７５は、選択されたジョブについて、処理内容の変更を受け付ける。より具体的には、内容変更受付部７５は、選択されたジョブに含まれるそれぞれの処理および処理順序とともに、予め準備されている新たな処理（オプション処理）を端末装置２１に送る。内容変更受付部７５は、選択されたジョブに対して、ユーザにより指定されたオプション処理をユーザにより指定された位置に追加する変更を、端末装置２１から受け付ける。または、内容変更受付部７５は、選択されたジョブに対して、ユーザにより指定された処理を、オプション処理へと差し替える変更を、端末装置２１から受け付ける。
【００３２】
設定値変更受付部７６は、選択されたジョブにおけるそれぞれの処理について、設定値の変更を受け付ける。より具体的には、設定値変更受付部７６は、選択されたジョブにおいて実行されたそれぞれの処理および追加または差し替えられたオプション処理についての設定項目および設定値を端末装置２１に送って、それぞれの設定項目のうちユーザが変更した設置値を端末装置２１から受信する。
【００３３】
再実行受付部７７は、選択されたジョブの再実行の要求を、ネットワークを介して端末装置２１から受け付ける。
【００３４】
記憶部６２は、各種のデータを記憶する。記憶部６２は、画像データ記憶部８３と、ワークフロー情報記憶部８４と、ジョブ情報記憶部８５と、オプション情報記憶部８６とを含む。画像データ記憶部８３は、複合機２０がスキャンして生成した画像データを記憶する。ワークフロー情報記憶部８４は、予め登録されたワークフロー情報を記憶する。ジョブ情報記憶部８５は、フロー実行部６６による実行済みのワークフローを表すジョブの内容を示すジョブ情報を記憶する。オプション情報記憶部８６は、ジョブを再実行する場合に追加または差し替えの対象となる新たな処理（オプション処理）の内容を示す情報を記憶する。
【００３５】
ジョブ情報生成部６３は、フロー実行部６６がワークフローを実行する毎に、ジョブの内容を示すジョブ情報を生成して、ジョブ情報記憶部８５に記憶させる。ジョブ情報は、一例として、ワークフローの処理対象となる画像データ、実行したワークフロー情報、メタデータ、設定値等を含む設定値情報、および、ワークフローの処理結果であるデータ等を含む。
【００３６】
さらに、ジョブ情報は、ワークフローに含まれるそれぞれの処理毎に、中間ワークフロー情報および中間データを含む。ジョブ情報生成部６３は、ワークフローに含まれるそれぞれの処理毎に、対応する処理以後に実行される処理の内容および実行順序を定義する中間ワークフロー情報を生成するとともに、中間ワークフロー情報の処理対象となる中間データを取得する。そして、ジョブ情報生成部６３は、ワークフローに含まれるそれぞれの処理毎の中間ワークフロー情報および中間データを含むジョブ情報を生成する。
【００３７】
中間ワークフロー取得部６４は、ジョブ情報記憶部８５に記憶されたジョブ情報の中から、再実行するジョブの内容を示すジョブ情報を特定する。中間ワークフロー取得部６４は、再実行するジョブの内容を示すジョブ情報から、処理内容が変更された処理および設定値が変更された処理を全て含む中間ワークフロー情報を取得する。これとともに、中間ワークフロー取得部６４は、取得した中間ワークフロー情報に対応する中間データを取得する。そして、中間ワークフロー取得部６４は、取得した中間ワークフロー情報および中間データを再実行ワークフロー生成部６５に与える。
【００３８】
再実行ワークフロー生成部６５は、中間ワークフロー取得部６４が取得した中間ワークフロー情報に基づき、再実行の要求を受け付けたジョブの処理の内容および実行順序を定義する再実行ワークフロー情報を生成する。より具体的には、再実行ワークフロー生成部６５は、再実行の要求を受け付けたジョブにオプション処理をユーザにより指定された位置に追加した一連の処理を定義する再実行ワークフロー情報を生成する。本例においては、再実行ワークフロー生成部６５は、中間ワークフロー取得部６４が取得した中間ワークフロー情報にオプション処理の内容を追加して再実行ワークフロー情報を生成する。
【００３９】
また、再実行ワークフロー生成部６５は、再実行の要求を受け付けたジョブにおけるユーザにより指定された処理を、オプション処理に差し換えた一連の処理を定義する再実行ワークフロー情報を生成する。本例においては、再実行ワークフロー生成部６５は、中間ワークフロー取得部６４が取得した中間ワークフロー情報における指定された処理の内容を、オプション処理の内容に差し替えて再実行ワークフロー情報を生成する。そして、再実行ワークフロー生成部６５は、生成した再実行ワークフロー情報および中間データをフロー実行部６６に与える。
【００４０】
フロー実行部６６は、選択されたワークフローに対応するワークフロー情報をワークフロー情報記憶部８４から取得する。また、フロー実行部６６は、複合機２０がスキャンして生成した画像データを画像データ記憶部８３から取得する。そして、フロー実行部６６は、複合機２０がスキャンして生成した画像データに対して、選択されたワークフローに含まれるそれぞれの処理を、受け付けた設定値に従って実行する。
【００４１】
また、フロー実行部６６は、ジョブを再実行する場合、再実行ワークフロー情報および中間データを中間ワークフロー取得部６４から取得する。そして、フロー実行部６６は、中間データに対して、再実行ワークフロー情報により定義されたそれぞれの処理を再実行する。
【００４２】
フロー実行部６６は、複数の処理実行部９１と、フロー制御部９２とを含む。
【００４３】
それぞれの処理実行部９１は、与えられたデータに対して、設定値に従った処理を実行する。それぞれの処理実行部９１は、互いに異なる処理を実行する。それぞれの処理実行部９１は、一例として、フロー制御部９２により呼び出されたプラグインプログラムをプロセッサが実行することにより実現される。
【００４４】
例えば、何れかの処理実行部９１は、与えられた画像データに対して文字認識し、テキストデータを生成する。この場合、処理実行部９１は、言語（日本語、英語およびドイツ語等）を特定する設定値が与えられ、設定値により特定された言語の辞書データを用いて文字認識をする。
【００４５】
また、他の何れかの処理実行部９１は、与えられたデータのデータ形式を変換する。この場合、処理実行部９１は、データ形式（Ｔｉｆｆ、ＪＰＥＧ、ＰＤＦ等）を特定する設定値が与えられ、設定値により特定されたデータ形式のデータを出力する。
【００４６】
また、さらに他の何れかの処理実行部９１は、与えられたデータをフォルダまたはサーバ等へと送信する。この場合、処理実行部９１は、送信先のフォルダのアドレス、送信先のサーバのアドレスを特定する設定値が与えられ、設定値により特定された送信先へとデータを送信する。
【００４７】
また、さらに他の何れかの処理実行部９１は、与えられた画像データに対してフィルタリングを実行する。この場合、処理実行部９１は、フィルタリング後の画像データを出力する。
【００４８】
フロー制御部９２は、処理実行部９１により実行される複数の処理の実行順序を、ワークフロー情報または再実行ワークフロー情報に従い制御する。より具体的には、フロー制御部９２は、与えられたワークフロー情報または再実行ワークフロー情報に従って対応する処理実行部９１を順次に呼び出し、呼び出した処理実行部９１に、処理対象となるデータおよび設定値を与えて、処理を実行させる。そして、呼び出された処理実行部９１は、与えられたデータに対して、与えられた設定値に従った処理を実行し、処理結果をフロー制御部９２に返す。
【００４９】
また、フロー制御部９２は、再実行ワークフロー生成部６５から与えられた再実行ワークフロー情報に従って対応する処理実行部９１を順次に呼び出し、呼び出した処理実行部９１に処理対象となるデータを与える。そして、フロー制御部９２は、設定値が変更された場合には変更後の設定値、変更されていない場合には元の設定値に従って、処理を実行させる。
【００５０】
図４は、ワークフローを実行する場合のシーケンスを示す図である。複合機２０およびワークフロー処理装置２２は、ワークフローを実行する場合、例えば、図４に示すようなシーケンスで処理を進める。
【００５１】
まず、ユーザは、複合機２０に対してスキャン開始を指示する（Ｓ１１）。スキャン開始の指示を受けると、複合機２０は、用紙をスキャンして画像データを生成する（Ｓ１２）。
【００５２】
なお、本例では、複合機２０を用いる例を説明しているが、他の機器によるデータの取得処理であってもよい。例えば、撮像装置が静止画像データまたは動画像データを取得する処理であってもよい。また、例えば、クライアント端末がメールを受信する処理であってもよいし、記録媒体からデータを読み出す処理であってもよい。
【００５３】
続いて、複合機２０は、生成した画像データをネットワークを介してワークフロー処理装置２２に送信する（Ｓ１３）。ワークフロー処理装置２２の入出力部６１は、画像データを受信すると、画像データ記憶部８３に受信した画像データを記憶させる（Ｓ１４，Ｓ１５）。そして、入出力部６１は、画像データの記憶処理が完了すると、レスポンスを複合機２０に返す（Ｓ１６）。
【００５４】
続いて、ユーザは、複合機２０に対してワークフローの一覧の取得の要求を指示する（Ｓ１７）。一覧の取得の要求の指示を受けると、複合機２０は、ワークフロー処理装置２２に対して、ワークフローの一覧の取得要求を送信する（Ｓ１８）。ワークフローの一覧の取得要求を受信すると、入出力部６１は、ワークフロー情報記憶部８４から、登録されているワークフローの一覧を取得する（Ｓ１９，Ｓ２０）。続いて、入出力部６１は、取得したワークフローの一覧を複合機２０に返す（Ｓ２１）。複合機２０は、一覧を受信すると、ユーザに表示して何れかのワークフローを選択させる。
【００５５】
続いて、ユーザは、複合機２０に対してワークフローの選択操作をする（Ｓ２２）。選択操作がされると、複合機２０は、選択されたワークフローに含まれるそれぞれの処理についての設定項目の取得要求を、ワークフロー処理装置２２に送信する（Ｓ２３）。設定項目の取得要求を受信すると、入出力部６１は、ワークフロー情報記憶部８４から、選択されたワークフローに含まれるそれぞれの処理についての設定項目を取得する（Ｓ２４，Ｓ２５）。続いて、入出力部６１は、取得した設定項目を複合機２０に返す（Ｓ２６）。複合機２０は、設定項目を受信すると、設定項目について設定値を入力する画面をユーザに表示して設定値を入力させる。
【００５６】
続いて、ユーザは、複合機２０に対して、設定値を入力して、ワークフローの実行開始の指示を与える（Ｓ２７）。実行開始の指示を受けると、複合機２０は、選択されたワークフローを特定する情報および設定値とともに、実行開始指示をワークフロー処理装置２２に送信する（Ｓ２８）。
【００５７】
実行指示を受けると、入出力部６１は、フロー制御部９２に実行指示を与える（Ｓ２９）。実行指示を受けると、フロー制御部９２は、対応するワークフロー情報をワークフロー情報記憶部８４から取得する（Ｓ３０，Ｓ３１）。続いて、フロー制御部９２は、スキャンされた画像データを画像データ記憶部８３から取得する（Ｓ３２，Ｓ３３）。
【００５８】
続いて、フロー制御部９２は、ワークフロー情報を解析して、順次に、対応する処理実行部９１を呼び出して処理を実行させる。本例においては、まず、フロー制御部９２は、ＯＣＲ処理を実行する処理実行部９１−１を呼び出して、ＯＣＲ処理を実行させる（Ｓ３４）。この場合において、フロー制御部９２は、処理対象のデータとともに、ユーザにより入力された言語を特定する設定値を処理実行部９１−１に与える。そして、処理実行部９１−１は、ＯＣＲ処理が完了すると、ＯＣＲ処理の結果をフロー制御部９２に返す（Ｓ３５）。
【００５９】
続いて、フロー制御部９２は、データ変換処理を実行する処理実行部９１−２を呼び出して、データ変換処理を実行させる（Ｓ３６）。この場合において、フロー制御部９２は、処理対象のデータとともに、ユーザにより入力されたデータ形式を特定する設定値を処理実行部９１−２に与える。そして、処理実行部９１−２は、データ変換処理が完了すると、変換後のデータをフロー制御部９２に返す（Ｓ３７）。
【００６０】
続いて、フロー制御部９２は、配信処理を実行する処理実行部９１−３を呼び出して、配信処理を実行させる（Ｓ３８）。この場合において、フロー制御部９２は、配信対象のデータとともに、ユーザにより入力された送信先を特定する設定値を処理実行部９１−３に与える。そして、処理実行部９１−３は、配信処理が完了すると、完了した旨を示す情報をフロー制御部９２に返す（Ｓ３９）。
【００６１】
ワークフロー情報に含まれる全ての処理が完了すると、フロー制御部９２は、ジョブ情報生成部６３を呼び出して、ワークフローの実行内容を示すジョブ情報を生成させる（Ｓ４０）。続いて、フロー制御部９２は、生成したジョブ情報をジョブ情報記憶部８５に記憶させる（Ｓ４１，Ｓ４２）。
【００６２】
続いて、フロー制御部９２は、ワークフローが完了したことを入出力部６１に通知する（Ｓ４３）。そして、入出力部６１は、ワークフローが完了したことを複合機２０に通知する（Ｓ４４）。
【００６３】
図５は、ジョブを再実行する場合のシーケンスを示す図である。ワークフロー処理装置２２は、実行済みのジョブについて、端末装置２１から再実行の要求を受け付けることができる。ジョブを再実行する場合、端末装置２１およびワークフロー処理装置２２は、例えば、図５に示すようなシーケンスで処理を進める。なお、本例では、端末装置２１を用いる例を説明しているが、複合機２０から再実行の要求を受け付けてもよい。
【００６４】
まず、ユーザは、端末装置２１に対してジョブの一覧の取得の要求を指示する（Ｓ５１）。一覧の取得の要求の指示を受けると、端末装置２１は、ワークフロー処理装置２２に対して、ジョブの一覧の取得要求を送信する（Ｓ５２）。ジョブの一覧の取得要求を受信すると、入出力部６１は、ジョブ情報記憶部８５から、記憶されているジョブの一覧を取得する（Ｓ５３，Ｓ５４）。続いて、入出力部６１は、取得したジョブの一覧を端末装置２１に返す（Ｓ５５）。端末装置２１は、ジョブの一覧を受信すると、表示してユーザに何れかのジョブを選択させる。
【００６５】
続いて、ユーザは、端末装置２１に対してジョブの選択操作をする（Ｓ５６）。選択操作がされると、端末装置２１は、選択されたジョブにおいて実行されたそれぞれの処理について、設定項目および実行した設定値の取得要求を、ワークフロー処理装置２２に送信する（Ｓ５７）。設定項目等の取得要求を受信すると、入出力部６１は、ジョブ情報記憶部８５から、選択されたジョブにおいて実行されたそれぞれの処理についての設定項目および実行した設定値を取得する（Ｓ５８，Ｓ５９）。続いて、入出力部６１は、取得した設定項目および実行した設定値を端末装置２１に返す（Ｓ６０）。端末装置２１は、設定項目および実行した設定値を受信すると、設定値を変更するための画面を表示して、ユーザに変更された設定値を入力させる。
【００６６】
続いて、ユーザは、端末装置２１に対して、選択されたジョブにおいて追加または差し替えが可能な新たな処理（オプション処理）の取得の要求を指示する（Ｓ６１）。オプション処理の取得の要求の指示を受けると、端末装置２１は、ワークフロー処理装置２２に対して、オプションの取得要求を送信する（Ｓ６２）。オプションの取得要求を受信すると、入出力部６１は、オプション情報記憶部８６から、選択されたジョブに対して追加可能な新たな処理（オプション処理）および選択されたジョブにおいて実行された処理と差し替え可能な新たな処理（オプション処理）に関する情報を取得する（Ｓ６３，Ｓ６４）。なお、追加可能なオプション処理および差し替えが可能なオプション処理は、ジョブにおいて実行されたそれぞれの処理の内容を示すワークフロー情報に対応付けて、予め準備されている。従って、ワークフロー情報毎に、追加または差し替えが可能なオプション処理が異なっている。
【００６７】
続いて、入出力部６１は、取得したオプション処理に関する情報を端末装置２１に返す（Ｓ６５）。端末装置２１は、オプション処理に関する情報を受信すると、追加または差し替えをするオプション処理の選択、および、オプション処理の実行位置等をユーザに選択させる。
【００６８】
続いて、ユーザは、端末装置２１に対して、追加または差し替えをするオプション処理の選択、および、オプション処理の実行位置の選択をする。さらに、ユーザは、端末装置２１に対して、再実行するジョブにおいて実行された処理およびオプション処理についての設定値を入力する。そして、ユーザは、端末装置２１に対して、ジョブの再実行開始の指示を与える（Ｓ６６）。実行開始の指示を受けると、端末装置２１は、再実行開始指示をワークフロー処理装置２２に送信する（Ｓ６７）。端末装置２１は、再実行開始指示とともに、選択されたジョブを特定する情報、選択されたオプション処理および実行位置に関する情報、および、設定値の情報もワークフロー処理装置２２に送信する。
【００６９】
再実行指示を受けると、入出力部６１は、フロー制御部９２に再実行指示を与える（Ｓ６８）。再実行指示を受けると、フロー制御部９２は、再実行ワークフロー生成部６５を呼び出して、再実行ワークフロー情報の生成を指示する（Ｓ６９）。
【００７０】
続いて、再実行ワークフロー情報の生成の指示を受けると、再実行ワークフロー生成部６５は、中間ワークフロー取得部６４を呼び出して、中間ワークフロー情報および中間データを取得させ、さらに設定値情報を書き換えさせる（Ｓ７０）。中間ワークフロー情報の取得の指示を受けると、中間ワークフロー取得部６４は、ジョブ情報記憶部８５に記憶された再実行するジョブの内容を示すジョブ情報から、処理の内容が変更された処理および設定値が変更された処理を全て含む１つの中間ワークフロー情報を取得する。これとともに、中間ワークフロー取得部６４は、取得した中間ワークフロー情報に対応する中間データを取得する（Ｓ７１，Ｓ７２）。続いて、中間ワークフロー取得部６４は、取得した中間ワークフロー情報および中間データを再実行ワークフロー生成部６５に返す（Ｓ７３）。
【００７１】
中間ワークフロー情報および中間データを受け取ると、再実行ワークフロー生成部６５は、中間ワークフロー情報およびオプション処理に関する情報に基づき、再実行ワークフロー情報を生成する（Ｓ７４）。具体的には、再実行ワークフロー生成部６５は、ユーザによりオプション処理の追加の指示がされた場合には、中間ワークフロー情報に示された処理にオプション処理を追加した一連の処理を定義する再実行ワークフロー情報を生成する。また、再実行ワークフロー生成部６５は、ユーザによりオプション処理の差し替えの指示がされた場合には、中間ワークフロー情報の指定された処理を、オプション処理に差し換えた一連の処理を定義する再実行ワークフロー情報を生成する。そして、再実行ワークフロー生成部６５は、生成した再実行ワークフロー情報、および、取得した中間データをフロー制御部９２に返す（Ｓ７５）。
【００７２】
続いて、フロー制御部９２は、再実行ワークフロー情報を解析して、順次に、対応する処理実行部９１を呼び出して処理を実行させる。本例においては、まず、フロー制御部９２は、フィルタリング処理を実行する処理実行部９１−４を呼び出して、指定された設定値に従ってフィルタリング処理を実行させる（Ｓ７６）。そして、処理実行部９１−４は、フィルタリング処理が完了すると、フィルタリング処理をした後の画像データをフロー制御部９２に返す（Ｓ７７）。
【００７３】
続いて、フロー制御部９２は、ＯＣＲ処理を実行する処理実行部９１−１を呼び出して、ＯＣＲ処理を実行させる（Ｓ７８）。このとき、フロー制御部９２は、設定値が変更された場合には変更後の言語を特定する設定値、変更されていない場合には元の言語を特定する設定値に従って、処理を実行させる。そして、処理実行部９１−１は、ＯＣＲ処理が完了すると、ＯＣＲ処理の結果をフロー制御部９２に返す（Ｓ７９）。
【００７４】
続いて、フロー制御部９２は、データ変換処理を実行する処理実行部９１−２を呼び出して、データ変換処理を実行させる（Ｓ８０）。このとき、フロー制御部９２は、設定値が変更された場合には変更後のデータ形式を特定する設定値、変更されていない場合には元のデータ形式を特定する設定値に従って、処理を実行させる。そして、処理実行部９１−２は、データ変換処理が完了すると、変換後のデータをフロー制御部９２に返す（Ｓ８１）。
【００７５】
続いて、フロー制御部９２は、配信処理を実行する処理実行部９１−３を呼び出して、配信処理を実行させる（Ｓ８２）。このとき、フロー制御部９２は、設定値が変更された場合には変更後の送信先を特定する設定値、変更されていない場合には元の送信先を特定する設定値に従って、処理を実行させる。そして、処理実行部９１−３は、配信処理が完了すると、完了した旨を示す情報をフロー制御部９２に返す（Ｓ８３）。
【００７６】
再実行ワークフロー情報に含まれる全ての処理が完了すると、フロー制御部９２は、ジョブ情報生成部６３を呼び出して、再実行時における実行内容を示すジョブ情報を生成させる（Ｓ８４）。続いて、フロー制御部９２は、生成したジョブ情報をジョブ情報記憶部８５に記憶させる（Ｓ８５，Ｓ８６）。
【００７７】
続いて、フロー制御部９２は、ジョブの再実行が完了したことを入出力部６１に通知する（Ｓ８７）。そして、入出力部６１は、ジョブの再実行が完了したことを端末装置２１に通知する（Ｓ８８）。
【００７８】
図６は、ジョブ情報の構成を示す図である。ジョブ情報には、ジョブを識別するジョブＩＤが割り当てられる。ジョブ情報は、一例として、ジョブ情報記憶部８５における、スキャンを表すルートの下にジョブＩＤ毎に格納される。
【００７９】
ジョブ情報は、一例として、画像データ、ワークフロー情報、メタデータ、設定値情報、および、処理後データを含む。メタデータは、例えば、実行日時、更新日時、ジョブＩＤおよびユーザ名等を含む情報である。設定値情報は、ユーザにより入力された設定値等を含む情報である。処理後データは、ワークフローを実行した結果生成されたデータである。
【００８０】
また、ジョブ情報は、ワークフローに含まれる処理毎に、中間ワークフロー情報および中間データを含む。中間ワークフロー情報は、その処理以後（当該処理も含む）に実行される処理の内容および実行順序を定義するワークフロー情報である。また、中間データは、対応する中間ワークフロー情報の処理対象となるデータである。
【００８１】
図７は、中間ワークフロー情報および中間データの生成処理のフローチャートである。ジョブ情報生成部６３は、例えばワークフローの実行が完了すると、ジョブ情報を生成してジョブ情報記憶部８５に記憶させる。この場合において、ジョブ情報生成部６３は、図７に示すようなフローで中間ワークフロー情報および中間データをジョブ情報に追加する。
【００８２】
まず、ジョブ情報生成部６３は、ワークフローに含まれる処理毎に、ステップＳ１０２〜ステップＳ１０４の処理を繰り返して実行する（ステップＳ１０１とステップＳ１０５との間のループ処理）。ステップＳ１０２において、ジョブ情報生成部６３は、当該処理に対応する中間ワークフロー情報を生成する。ジョブ情報生成部６３は、一例として、元のワークフロー情報に示されている、実行を開始する処理を指し示すポインタの値を、当該処理を指し示すように書き換えることにより中間ワークフロー情報を生成することができる。
【００８３】
続いて、ステップＳ１０３において、ジョブ情報生成部６３は、当該処理に対応する中間データを取得する。ジョブ情報生成部６３は、一例として、当該処理を実行する処理実行部９１に与えたデータをフロー制御部９２から取得することにより、当該処理に対応する中間データを取得することができる。
【００８４】
続いて、ステップＳ１０４において、ジョブ情報生成部６３は、ステップＳ１０２で生成した中間ワークフロー情報およびステップＳ１０３で取得した中間データを組にして、ジョブ情報に追加する。以上により、ジョブ情報生成部６３は、中間ワークフロー情報および中間データを、ジョブ情報に追加することができる。
【００８５】
図８は、中間ワークフロー情報および中間データのジョブ情報からの取得処理のフローチャートである。中間ワークフロー取得部６４は、ジョブを再実行する場合、ジョブ情報から１つの中間ワークフロー情報および中間データを取得して、フロー制御部９２に与える。この場合、中間ワークフロー取得部６４は、図８に示すようなフローで中間ワークフロー情報および中間データを取得する。
【００８６】
まず、ステップＳ１１１において、中間ワークフロー取得部６４は、再実行すべきジョブにおいて実行されたそれぞれの処理のうち、直前にオプション処理が追加された処理、または、オプション処理に差し換えられた処理を検出する。この場合において、中間ワークフロー取得部６４は、複数のオプション処理が追加または差し替えられていれば、対応する複数の処理を検出する。
【００８７】
続いて、ステップＳ１１２において、中間ワークフロー取得部６４は、再実行すべきジョブにおいて実行されたそれぞれの処理のうち、設定値が変更された処理を検出する。この場合において、中間ワークフロー取得部６４は、複数の設定値が変更されていれば、対応する複数の処理を検出する。
【００８８】
続いて、ステップＳ１１３において、中間ワークフロー取得部６４は、ステップＳ１１１およびステップＳ１１２で検出された処理のうち、最も先に実行する１つの処理を特定する。続いて、ステップＳ１１４において、中間ワークフロー取得部６４は、ジョブ情報から、ステップＳ１１３で特定した処理に対応する中間ワークフロー情報および中間データを取得する。
【００８９】
続いて、ステップＳ１１５において、中間ワークフロー取得部６４は、ジョブ情報から設定値情報を取得し、変更された設定値を書き換える。そして、ステップＳ１１５において、中間ワークフロー取得部６４は、取得した中間ワークフロー情報、中間データおよび設定値情報を再実行ワークフロー生成部６５に与える。
【００９０】
これにより、再実行ワークフロー生成部６５は、処理内容が変更されたことおよび設定値が変更されたことにより結果が影響する処理のみを含む再実行ワークフロー情報を生成することができる。従って、再実行ワークフロー生成部６５は、変更による影響の無い処理については実行しないようにすることができる。これにより、再実行ワークフロー生成部６５は、ジョブの再実行時における処理量を軽減することができる。
【００９１】
図９は、ジョブの一覧の一例を示す図である。再実行するジョブを選択させる場合、ワークフロー処理装置２２は、端末装置２１にジョブの一覧を送る。そして、端末装置２１は、図９に示されるような、ジョブの一覧を表示する。
【００９２】
ジョブの一覧画面には、ジョブ毎に、生成日時、最終更新日時、および、ジョブＩＤ等が表示されている。さらに、ジョブの一覧画面には、確認ボタン１００１、変更ボタン１００２および再実行ボタン１００３が表示されている。
【００９３】
確認ボタン１００１がユーザにより押されると、端末装置２１は、対応する処理結果を例えばデータの配信先のファイルサーバ２３等から取得して表示する。これにより、端末装置２１は、ファイルサーバ２３に格納されているデータをネットワークを介して取得して表示し、ジョブを再実行させるか否かをユーザに判断させることができる。
【００９４】
変更ボタン１００２がユーザにより押されると、端末装置２１は、後述の図１０に示す変更画面を表示する。これにより、端末装置２１は、ジョブの処理内容および設定値をユーザに変更させることができる。
【００９５】
再実行ボタン１００３がユーザにより押されると、端末装置２１は、変更された処理内容を示す情報および設定値とともに、再実行の開始要求をワークフロー処理装置２２に送信する。これにより、端末装置２１は、ジョブの再実行を受け付けることができる。
【００９６】
図１０は、処理内容の変更画面の一例を示す図である。端末装置２１は、図９の変更ボタン１００２が押された場合、図１０に示されるような変更画面を表示する。
【００９７】
変更画面では、再実行すべきジョブにおいて実行されたそれぞれの処理について、設定値を変更させることができる。変更画面は、ジョブの実行時の設定値をデフォルトで表示していてもよい。
【００９８】
例えば、図１０の変更画面には、ＯＣＲ処理の言語を選択するためのセレクトボタンが表示されている。また、変更画面には、データ変換処理のデータ形式を選択するためのセレクトボタンが表示されている。また、変更画面には、配信処理における配信先のフォルダまたはサーバを選択するためのセレクトボタン、および、フォルダアドレスを入力するためのボックスが表示されている。また、さらに、変更画面には、ジョブ情報のファイル名を入力するためのボックスが表示されていてもよい。
【００９９】
また、図１０の変更画面には、オプション処理の選択ボタン１００４が表示されている。オプション処理の選択ボタン１００４がユーザにより押されると、端末装置２１は、後述の図１１に示すオプション選択画面を表示する。これにより、端末装置２１は、オプション処理の選択を受け付けることができる。
【０１００】
また、変更画面には、完了ボタン１００５が表示されている。ユーザが完了ボタン１００５を押した場合、端末装置２１は、設定値の変更処理を終えて、図９のジョブの一覧の表示画面を表示する。端末装置２１は、このような変更画面を表示することにより、ジョブの再実行をする場合に、ユーザに設定値を変更させることができる。
【０１０１】
図１１は、オプション選択画面の一例を示す図である。端末装置２１は、図１０のオプション処理の選択ボタン１００４が押された場合、図１１に示されるようなオプション選択画面を表示する。
【０１０２】
オプション選択画面では、再実行すべきジョブに追加するオプション処理、または、再実行すべきジョブにおいて実行された何れかの処理と差し替えるオプション処理を選択することができる。選択できるオプション処理は、再実行すべきジョブにおいて実行された処理の内容を示すワークフロー情報に対応付けて、予め準備されている。
【０１０３】
例えば、オプション選択画面には、フィルタリング処理、画像補正処理、および、配信処理をオプション処理として選択するためのセレクトボタンが表示されている。また、オプション選択画面には、決定ボタン１００６が表示されている。ユーザが何れかのセレクトボタンによりオプション処理を選択して、決定ボタン１００６を押した場合、端末装置２１は、図１２の位置選択画面を表示する。これにより、端末装置２１は、オプション処理を追加または差し替える位置を受け付けることができる。また、変更画面には、キャンセルボタン１００７が表示されている。ユーザがキャンセルボタン１００７を押した場合、端末装置２１は、何ら処理をせずに、図１０の変更画面に表示を戻す。
【０１０４】
図１２は、位置選択画面の一例を示す図である。端末装置２１は、図１１の何れかのセレクトボタンによりオプション処理が選択されて、決定ボタン１００６が押された場合、図１２に示されるような位置選択画面を表示する。
【０１０５】
位置選択画面には、再実行すべきジョブにおいて実行された処理および流れを示すチャート１００８が表示される。また、位置選択画面には、選択されたオプション処理を示すボックス１００９が表示される。
【０１０６】
また、チャート１００８には、オプション処理を追加可能または差し替え可能な位置を示すマーカ１０１０が表示されている。ユーザは、マーカ１０１０に示された位置にオプション処理を追加または差し替えすることができる。追加可能な位置および差し替え可能な位置は、選択されたオプション処理によって異なる。端末装置２１は、再実行すべきジョブに含まれるそれぞれの処理と、選択されたオプション処理との関係から、マーカ１０１０の表示位置を決定する。
【０１０７】
ユーザは、例えば、オプション処理を示すボックス１００９を、何れかのマーカ１０１０により示される位置にドラッグすることにより、追加または差し替える位置を選択することができる。端末装置２１は、オプション処理の追加位置または差し換え位置の選択操作がされると、チャート１００８の表示を更新する。すなわち、端末装置２１は、オプション処理を追加または差し替えた後の処理の流れを示すチャート１００８を表示する。
【０１０８】
そして、端末装置２１は、チャート１００８の表示を更新した後、ユーザが決定ボタン１０１１を押した場合、追加または差し替えるべきオプション処理の内容、および、オプション処理の追加位置または差し替え位置を示す情報を生成して、図９のジョブの一覧画面に表示を戻す。また、ユーザがキャンセルボタン１０１２を押した場合、端末装置２１は、何ら処理をせずに、図１１のオプション選択画面に表示を戻す。
【０１０９】
このように端末装置２１は、オプション処理の選択およびオプション処理の追加位置または差し替え位置を決定させることができる。
【０１１０】
なお、端末装置２１は、図１０の選択ボタン１００４が押された場合、まず、図１２のチャート１００８を表示してもよい。この場合、ユーザは、オプション処理の選択に先だって、オプション処理を追加位置または差し替え位置を決定することができる。そして、端末装置２１は、ユーザにより追加位置または差し替え位置が決定された後に、図１１に示すオプション選択画面を表示してオプション処理を選択させる。この場合において、端末装置２１は、選択された位置において実行可能なオプション処理のみをオプション選択画面に表示して、ユーザに選択させる。
【０１１１】
また、端末装置２１は、図１２の位置選択画面において、チャート１００８内の何れかボックスを選択したことに応じて、対応する処理の中間データを表示してもよい。これにより、端末装置２１は、それぞれの処理の処理結果をユーザに確認させることができ、何れの処理の前にオプション処理を追加すればよいかまたは何れの処理をオプション処理に差し換えればよいかを、ユーザに容易に判断させることができる。
【０１１２】
図１３は、ワークフロー情報の一例を示す図である。図１３に示すワークフロー情報は、ＸＭＬ文書で記述されている。＜ｆｌｏｗ＞と＜／ｆｌｏｗ＞との間にワークフローに含まれる処理および順序が記述される。
【０１１３】
＜ｐｌｕｇｉｎ＞と＜／ｐｌｕｇｉｎ＞との間、または、“＜ｐｌｕｇｉｎ”と“／＞”との間には、１つの処理（プラグインプログラム）を指定するＩＤおよび表示名が記述される。また、＜ｐｌｕｇｉｎ＞と＜／ｐｌｕｇｉｎ＞との間には、次に実行すべき処理（プラグインプログラム）を指定するＩＤが記述される。また、＜ｓｔａｒｔｐｏｉｎｔ＞と＜／ｓｔａｒｔｐｏｉｎｔ＞との間には、最初に実行すべき処理（プラグインプログラム）を指定するＩＤが記述される。
【０１１４】
フロー制御部９２は、このようなＸＭＬ文書に記述された内容に従い処理実行部９１を呼び出すことにより、ＯＣＲ処理→データ変換処理→配信処理の順でワークフローを実行することができる。
【０１１５】
図１４は、中間ワークフロー情報の一例を示す図である。ジョブ情報生成部６３は、ワークフローに含まれるそれぞれの処理毎に中間ワークフロー情報を生成する。例えば、ジョブ情報生成部６３は、ワークフロー情報における、＜ｓｔａｒｔｐｏｉｎｔ＞と＜／ｓｔａｒｔｐｏｉｎｔ＞との間の記述を書き換えて、中間ワークフロー情報を生成する。図１４に示す中間ワークフロー情報は、＜ｓｔａｒｔｐｏｉｎｔ＞と＜／ｓｔａｒｔｐｏｉｎｔ＞との間の記述を、データ変換処理（“ＤａｔａＣｏｎｖｅｒｔｅｒ”）に書き換えたＸＭＬ文書である。ジョブ情報生成部６３は、このような中間ワークフロー情報を生成することにより、データ変換処理→配信処理の順で処理を実行させる中間ワークフロー情報を生成することができる。なお、ジョブ情報生成部６３は、＜ｓｔａｒｔｐｏｉｎｔ＞と＜／ｓｔａｒｔｐｏｉｎｔ＞との間の記述を書き換えた結果、処理に関係のないコードが生じた場合には、そのコードを削除してもよい。
【０１１６】
図１５は、設定値情報の一例を示す図である。ジョブ情報生成部６３は、ユーザにより入力された設定値および設定値に関する他の情報を含む設定値情報を生成する。図１５に示す設定値情報は、ＸＭＬ文書で記述されている。
【０１１７】
＜ｄｉｓｔｒｉｂｕｔｉｏｎＤａｔａ＞と＜／ｄｉｓｔｒｉｂｕｔｉｏｎＤａｔａ＞との間には、設定値に関する情報が記述される。また、＜ｕｓｅｒＩｎｐｕｔＤａｔａ＞と＜／ｕｓｅｒＩｎｐｕｔＤａｔａ＞との間には、ユーザが入力した設定値が記述される。
【０１１８】
＜ｐｌｕｇｉｎ＞と＜／ｐｌｕｇｉｎ＞との間には、処理（プラグインプログラム）を指定するＩＤ、設定項目および設定項目の表示名が記述される。さらに、＜ｐｌｕｇｉｎ＞と＜／ｐｌｕｇｉｎ＞との間における、＜ｖａｌｕｅ＞と＜／ｖａｌｕｅ＞との間には、設定値を表す数値が記述される。
【０１１９】
なお、それぞれの数値が表す具体的な設定値の内容は、この設定値情報の他の領域において定義されている。また、予め定められた固定の設定値（例えば、ファイルサーバ２３のアドレス等）についても、この設定値情報の他の領域において定義されている。
【０１２０】
図１６は、再実行ワークフロー情報の一例を示す図である。再実行ワークフロー生成部６５は、中間ワークフロー取得部６４が取得した中間ワークフロー情報に、オプション処理の内容を示す情報を追加または差し替えをする。
【０１２１】
例えば、再実行ワークフロー生成部６５は、図１３に示したワークフロー情報に対して、ＯＣＲ処理の前の位置にフィルタリング処理を追加する場合、次のような処理を実行する。まず、再実行ワークフロー生成部６５は、図１３に示したワークフロー情報の８行と９行との間に、８．１行から８．３行の記述を追加する。８．１行から８．３行の記述は、フィルタリング処理を実行し、次にＯＣＲ処理を実行することを示す。さらに、再実行ワークフロー生成部６５は、最初にフィルタリング処理が実行されるように、＜ｓｔａｒｔｐｏｉｎｔ＞と＜／ｓｔａｒｔｐｏｉｎｔ＞との間の記述を書き換える。
【０１２２】
再実行ワークフロー生成部６５は、このような処理を実行することにより、フィルタリング処理→ＯＣＲ処理→データ変換処理→配信処理の順で処理を実行させる再実行ワークフロー情報を生成することができる。
【０１２３】
以上のような本実施形態に係る情報処理システム１０によれば、スキャンして生成された画像データに対して実行したワークフローのジョブを再実行することができる。この場合に、情報処理システム１０では、処理の内容を変更することができる。例えば、情報処理システム１０は、新たな処理を追加したり新たな処理に差し換えたりしてからジョブを再実行することができる。これにより、情報処理システム１０によれば、誤った処理の内容でワークフローを実行してしまった場合にも、再度のスキャンをせずに、正しい処理の内容でワークフローを実行することができる。従って、情報処理システム１０によれば、リトライするときのユーザの作業負担を軽減することができる。
【０１２４】
図１７は、複合機２０のハードウェア構成の一例を示す図である。複合機２０は、一例として、コントローラ１１０と、オペレーションパネル１２５と、ファクシミリコントロールユニット（ＦＣＵ）１２６と、撮像部１２７と、印刷部１２８とを有する。
【０１２５】
コントローラ１１０は、ＣＰＵ１１１（Central  Processing  Unit）と、ＡＳＩＣ１１２（Application  Specific  Integrated  Circuit）と、ＮＢ１１３（ノースブリッジ）と、ＳＢ１１４（サウスブリッジ）と、ＭＥＭ−Ｐ１１５（システムメモリ）と、ＭＥＭ−Ｃ１１６（ローカルメモリ）と、ＨＤＤ１１７（ハードディスクドライブ）と、メモリカードスロット１１８と、ＮＩＣ１１９（ネットワークインタフェースコントローラ）と、ＵＳＢデバイス１２０と、ＩＥＥＥ１３９４デバイス１２１と、セントロニクスデバイス１２２とを有する。
【０１２６】
ＣＰＵ１１１は、種々の情報処理を実行するためのＩＣであり、ＯＳ（Operating  System）またはプラットホーム上で、アプリケーションをプロセス単位で並列的に実行する。ＡＳＩＣ１１２は、画像処理用の半導体デバイスである。ＮＢ１１３は、ＣＰＵ１１１とＡＳＩＣ１１２とを接続するためのブリッジである。ＳＢ１１４は、ＮＢ１１３と周辺機器等とを接続するためのブリッジである。ＡＳＩＣ１１２とＮＢ１１３とは、例えばＡＧＰ（Accelerated  Graphics  Port）を介して接続されている。
【０１２７】
ＭＥＭ−Ｐ１１５は、ＮＢ１１３に接続されたメモリである。ＭＥＭ−Ｃ１１６は、ＡＳＩＣ１１２に接続されたメモリである。ＨＤＤ１１７は、ＡＳＩＣ１１２に接続されたストレージであり、画像データ蓄積、文書データ蓄積、プログラム蓄積、フォントデータ蓄積およびフォームデータ蓄積等を行うために使用される。
【０１２８】
ＨＤＤ１１７には、種々のアプリケーションプログラム（コピープログラム、スキャナプログラム、プリンタプログラム、ファックスプログラム等）が記憶されている。メモリカードスロット１１８は、ＳＢ１１４に接続され、メモリカード１２４をセット（挿入）するために使用される。
【０１２９】
ＮＩＣ１１９は、ネットワーク等を介してＭＡＣアドレス等を使用したデータ通信を行うためのコントローラである。ＵＳＢデバイス１２０は、ＵＳＢ（Universal  Serial  Bus）規格に準拠したシリアルポートを提供するためのデバイスである。ＩＥＥＥ１３９４デバイス１２１は、ＩＥＥＥ１３９４規格に準拠したシリアルポートを提供するためのデバイスである。セントロニクスデバイス１２２は、セントロニクス仕様に準拠したパラレルポートを提供するためのデバイスである。ＮＩＣ１１９と、ＵＳＢデバイス１２０と、ＩＥＥＥ１３９４デバイス１２１と、セントロニクスデバイス１２２とは、ＰＣＩ（Peripheral  Component  Interconnect）バスを介してＮＢ１１３およびＳＢ１１４に接続されている。
【０１３０】
オペレーションパネル１２５は、ユーザが複合機２０に入力を行うためのハードウェア（操作部）であるとともに、複合機２０がメニュー画面を表示するハードウェア（表示部）である。オペレーションパネル１２５は、ＡＳＩＣ１１２に接続されている。ＦＣＵ１２６と撮像部１２７と印刷部１２８とは、ＰＣＩバスを介してＡＳＩＣ１１２に接続されている。
【０１３１】
撮像部１２７は、コンタクトガラスに載置された原稿を光学的に走査して、その反射光をＡ／Ｄ変換して画像処理を施し、カラーまたはモノクロの画像データを生成する。
【０１３２】
印刷部１２８は、例えばタンデム型の感光ドラムを有し、画像データまたはＰＤＬ（Page  Description  Language）データに基づきレーザビームを変調し感光ドラムを走査して潜像を形成する。そして、印刷部１２８は、潜像にトナーを付着して現像した１ページ毎の画像を用紙に熱と圧力で転写する。印刷部１２８は、このような電子写真方式のプロッタに限られず、液滴を吐出して画像を形成するインクジェット型のプロッタエンジンでもよい。
【０１３３】
ＦＣＵ１２６は、ＮＩＣ１１９を介してネットワークに接続し例えばＴ．３７，Ｔ．３８の規格に対応した通信手順または公衆通信網に接続し例えばＧ３、Ｇ４規格に対応した通信手順に従い画像データの送受信を行う。また、ＦＣＵ１２６は、複合機２０の電源がＯＦＦのときに画像データを受信しても、印刷部１２８を起動して画像データを用紙に印刷することができる。
【０１３４】
図１８は、ワークフロー処理装置２２のハードウェア構成の一例を示す図である。なお、端末装置２１およびファイルサーバ２３も同様の構成であるので、端末装置２１およびファイルサーバ２３についてはハードウェア構成の説明を省略する。
【０１３５】
ワークフロー処理装置２２は、ＣＰＵ３０１と、ＲＯＭ（Read  Only  Memory）３０２と、ＲＡＭ（Random  Access  Memory）３０３と、ＨＤＤ３０４と、ディスプレイ３２０が接続されたグラフィックボード３０５と、入力装置３０６と、メディアドライブ３０７と、ネットワーク通信部３０８とを有する。ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、グラフィックボード３０５、入力装置３０６、メディアドライブ３０７、および、ネットワーク通信部３０８は、バスにより接続されている。
【０１３６】
ＣＰＵ３０１は、ＨＤＤ３０４に記憶されたプログラムをＲＡＭ３０３に展開して実行し、各部品を制御して入出力を行ったり、データの加工を行ったりする。ＲＯＭ３０２には、ＢＩＯＳ（Basic  Input／Output  System）およびブートストラップローダをＨＤＤ３０４からＲＡＭ３０３に読み出すスタートプログラムが記憶されている。ブートストラップローダは、ＯＳをＨＤＤ３０４からＲＡＭ３０３に読み出す。
【０１３７】
ＨＤＤ３０４は、不揮発性のメモリであればよくＳＳＤ（Solid  State  Drive）等であってもよい。ＨＤＤ３０４は、ＯＳおよびデバイスドライバを記憶している。さらに、ＨＤＤ３０４には、ワークフロー処理プログラムが記憶されている。また、ＨＤＤ３０４には、各種のプラグインプログラムが記憶されている。これらのプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムは、サーバからダウンロードすることにより配布されてもよい。
【０１３８】
ディスプレイ３２０には、プログラムが指示し、グラフィックボード３０５が作成したＧＵＩ画面が表示される。入力装置３０６は、例えば、キーボードまたはマウス等であり、ユーザの操作を受け付ける。メディアドライブ３０７は、コンパクトディスク、ＤＶＤ（Digital  Versatile  Disk）およびブルーレイディスクなどの光学メディアに対してデータを読み書きする。また、メディアドライブ３０７は、フラッシュメモリなどのメモリカードに対してデータを読み書きしてもよい。ネットワーク通信部３０８は、例えばＬＡＮに接続するためのイーサネット（登録商標）カードである。
【０１３９】
以上、本実施形態の情報処理装置（ワークフロー処理装置２２等）は、ＣＰＵなどの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１４０】
本実施形態の情報処理装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１４１】
また、本実施形態の情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１４２】
本実施形態の情報処理装置で実行されるプログラムは、上述した各部（入出力部６１、ジョブ情報生成部６３、中間ワークフロー取得部６４、再実行ワークフロー生成部６５およびフロー実行部６６を含むモジュール構成となっており、実際のハードウェアとしてはプロセッサ（ＣＰＵ３０１）が記憶媒体（ＨＤＤ３０４またはメディアドライブ３０７等）からプログラムを読み出して実行することにより上記各部が主記憶装置（ＲＡＭ３０３）上にロードされ、入出力部６１、ジョブ情報生成部６３、中間ワークフロー取得部６４、再実行ワークフロー生成部６５およびフロー実行部６６が主記憶装置上に生成されるようになっている。
【０１４３】
以上、本発明の実施形態を説明したが、実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能である。
【符号の説明】
【０１４４】
１０  情報処理システム
２０  複合機
２１  端末装置
２２  ワークフロー処理装置
２３  ファイルサーバ
５１  スキャン部
５２  表示入力部
５３  データ処理制御部
５４  通信部
５５  表示入力部
５６  データ処理制御部
５７  通信部
６１  入出力部
６２  記憶部
６３  ジョブ情報生成部
６４  中間ワークフロー取得部
６５  再実行ワークフロー生成部
６６  フロー実行部
７１  データ受付部
７２  ワークフロー受付部
７３  設定値受付部
７４  ジョブ受付部
７５  内容変更受付部
７６  設定値変更受付部
７７  再実行受付部
８３  画像データ記憶部
８４  ワークフロー情報記憶部
８５  ジョブ情報記憶部
８６  オプション情報記憶部
９１  処理実行部
９２  フロー制御部
【先行技術文献】
【特許文献】
【０１４５】
【特許文献１】特開２００８−９７５８６号公報
【特許文献２】特開２００７−３２８７２６号公報
【特許文献３】特開２００８−２８８６８６号公報
【図１】
2016177387.tif 000003
【図２】
2016177387.tif 000004
【図３】
2016177387.tif 000005
【図４】
2016177387.tif 000006
【図５】
2016177387.tif 000007
【図６】
2016177387.tif 000008
【図７】
2016177387.tif 000009
【図８】
2016177387.tif 000010
【図９】
2016177387.tif 000011
【図１０】
2016177387.tif 000012
【図１１】
2016177387.tif 000013
【図１２】
2016177387.tif 000014
【図１３】
2016177387.tif 000015
【図１４】
2016177387.tif 000016
【図１５】
2016177387.tif 000017
【図１６】
2016177387.tif 000018
【図１７】
2016177387.tif 000019
【図１８】
2016177387.tif 000020