(57)【要約】【課題】機器において生成されたデータに関するワークフローの処理効率を向上させること。【解決手段】機器は、当該機器が生成するデータに関して定義情報に定義された、順序付けられた複数の処理単位の組み合わせの実行要求を受け付ける受付部と、複数の処理単位のうちの一部の処理単位の実行を定義情報に基づいて制御する第一の処理制御部と、第一の処理制御部によって実行が制御される処理単位の実行結果と、当該機器において実行された処理単位を示す情報とを情報処理装置に送信する送信部とを有し、情報処理装置は、処理単位の実行結果と、機器において実行された処理単位を示す情報とを受信する受信部と、機器において実行された処理単位を示す情報に基づいて、複数の処理単位の中で機器によって実行されていない処理単位を特定し、特定された処理単位の実行を、定義情報に基づいて制御する第二の処理制御部とを有する。【選択図】図５
2015130047.tif 000002
【特許請求の範囲】
【請求項１】
機器と前記機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、
前記機器は、
当該機器が生成するデータに関して定義情報に定義された、順序付けられた複数の処理単位の組み合わせの実行要求を受け付ける受付部と、
前記複数の処理単位のうちの一部の処理単位の実行を前記定義情報に基づいて制御する第一の処理制御部と、
前記第一の処理制御部によって実行が制御される処理単位の実行結果と、当該機器において実行された処理単位を示す情報とを前記情報処理装置に送信する送信部とを有し、
前記情報処理装置は、
前記処理単位の実行結果と、前記機器において実行された処理単位を示す情報とを受信する受信部と、
前記機器において実行された処理単位を示す情報に基づいて、前記複数の処理単位の中で前記機器によって実行されていない処理単位を特定し、特定された処理単位の実行を、前記定義情報に基づいて、前実行結果に関して制御する第二の処理制御部とを有する、
ことを特徴とする情報処理システム。
【請求項２】
前記機器は、前記情報処理装置の状態を照会する照会部を有し、
前記第一の処理制御部は、前記照会部による照会結果に応じ、前記複数の処理単位のうち、当該第一の処理制御部が実行を制御する処理単位を変化させる、
ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記機器は、前記定義情報に基づいて、当該機器において実行されない処理単位において、当該機器が生成するデータが処理対象とされるかを判定する判定部を有し、
前記送信部は、当該機器において実行されない処理単位において前記データが処理対象とされると判定される場合、更に、当該データを前記情報処理装置に送信する、
ことを特徴とする請求項１又は２記載の情報処理システム。
【請求項４】
前記機器は、前記第一の処理制御部による処理単位の実行の制御の進捗情報を記録する記録部を有し、
前記送信部は、更に、前記進捗情報を前記情報処理装置に送信する、
ことを特徴とする請求項１乃至３いずれか一項記載の情報処理システム。
【請求項５】
機器と前記機器にネットワークを介して接続される情報処理装置にインストールされるプログラムとを含む情報処理システムであって、
前記機器は、
当該機器が生成するデータに関して定義情報に定義された、順序付けられた複数の処理単位の組み合わせの実行要求を受け付ける受付部と、
前記複数の処理単位のうちの一部の処理単位の実行を前記定義情報に基づいて制御する第一の処理制御部と、
前記第一の処理制御部によって実行が制御される処理単位の実行結果と、当該機器において実行された処理単位を示す情報とを前記情報処理装置に送信する送信部とを有し、
前記プログラムは、
前記処理単位の実行結果と、前記機器において実行された処理単位を示す情報とを受信する受信部と、
前記機器において実行された処理単位を示す情報に基づいて、前記複数の処理単位の中で前記機器によって実行されていない処理単位を特定し、特定された処理単位の実行を、前記定義情報に基づいて、前記実行結果に関して制御する第二の処理制御部として前記情報処理装置を機能させる、
ことを特徴とする情報処理システム。
【請求項６】
機器と前記機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、
前記機器は、
ユーザに指定されたデータを取得する取得部と、
実行させるワークフローをユーザに選択させる選択画面を表示手段に表示する表示制御部と、
ユーザに指定されたデータを用いて選択されたワークフローの実行を開始する開始部とを有し、
前記情報処理装置は、
前記機器から、データ及び実行するワークフロー情報を受信する受信部と、
ワークフローの実行経過に基づき、ワークフローの少なくとも一部の処理を実行する処理実行部とを有する、
ことを特徴とする情報処理システム。
【請求項７】
機器と前記機器にネットワークを介して接続される情報処理装置とが実行する情報処理方法であって、
前記機器が、
当該機器が生成するデータに関して定義情報に定義された、順序付けられた複数の処理単位の組み合わせの実行要求を受け付ける受付手順と、
前記複数の処理単位のうちの一部の処理単位の実行を前記定義情報に基づいて制御する第一の処理制御手順と、
前記第一の処理制御手順によって実行が制御される処理単位の実行結果と、当該機器において実行された処理単位を示す情報とを前記情報処理装置に送信する送信手順とを実行し、
前記情報処理装置が、
前記処理単位の実行結果と、前記機器において実行された処理単位を示す情報とを受信する受信手順と、
前記機器において実行された処理単位を示す情報に基づいて、前記複数の処理単位の中で前記機器によって実行されていない処理単位を特定し、特定された処理単位の実行を、前記定義情報に基づいて、前記実行結果に関して制御する第二の処理制御手順とを実行する、
ことを特徴とする情報処理方法。
【請求項８】
情報処理装置にネットワークを介して接続される機器であって、
当該機器が生成するデータに関して定義情報に定義された、順序付けられた複数の処理単位の組み合わせの実行要求を受け付ける受付部と、
前記複数の処理単位のうちの一部の処理単位の実行を前記定義情報に基づいて制御する第一の処理制御部と、
前記第一の処理制御部によって実行が制御される処理単位の実行結果と、当該機器において実行された処理単位を示す情報とを前記情報処理装置に送信する送信部とを有する、
ことを特徴とする機器。
【請求項９】
情報処理装置にネットワークを介して接続される機器に、
当該機器が生成するデータに関して定義情報に定義された、順序付けられた複数の処理単位の組み合わせの実行要求を受け付ける受付手順と、
前記複数の処理単位のうちの一部の処理単位の実行を前記定義情報に基づいて制御する第一の処理制御手順と、
前記第一の処理制御手順によって実行が制御される処理単位の実行結果と、当該機器において実行された処理単位を示す情報とを前記情報処理装置に送信する送信手順とを実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、機器、及びプログラム
に関する。
【背景技術】
【０００２】
画像形成装置において文書からスキャンされた画像データに関して、予め定義されたワークフローを実行可能なシステムが有る（例えば、特許文献１）。斯かるシステムでは、ユーザの業務フローに則した形態で、データが流れるようにワークフローが定義される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記システムにおいては、ワークフローの処理は、画像形成装置から画像データを受信するコンピュータによって一元的に行われている。したがって、例えば、複数の画像形成装置においてスキャンされた画像データに対するワークフローの実行時期が重複した場合、当該コンピュータの負荷が高まり、ワークフローの処理効率が劣化する可能性が考えられる。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、機器において生成されたデータに関するワークフローの処理効率を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、機器と前記機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、前記機器は、当該機器が生成するデータに関して定義情報に定義された、順序付けられた複数の処理単位の組み合わせの実行要求を受け付ける受付部と、前記複数の処理単位のうちの一部の処理単位の実行を前記定義情報に基づいて制御する第一の処理制御部と、前記第一の処理制御部によって実行が制御される処理単位の実行結果と、当該機器において実行された処理単位を示す情報とを前記情報処理装置に送信する送信部とを有し、前記情報処理装置は、前記処理単位の実行結果と、前記機器において実行された処理単位を示す情報とを受信する受信部と、前記機器において実行された処理単位を示す情報に基づいて、前記複数の処理単位の中で前記機器によって実行されていない処理単位を特定し、特定された処理単位の実行を、前記定義情報に基づいて、前実行結果に関して制御する第二の処理制御部とを有する。
【発明の効果】
【０００６】
機器において生成されたデータに関するワークフローの処理効率を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】第一の実施の形態における配信管理システムの構成例を示す図である。
【図２】第一の実施の形態における配信管理サーバのハードウェア構成例を示す図である。
【図３】第一の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図４】第一の実施の形態における配信管理サーバの機能構成例を示す図である。
【図５】第一の実施の形態における画像形成装置の機能構成例を示す図である。
【図６】第一の実施の形態においてワークフローの実行時に画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【図７】第一の実施の形態におけるワークフローの制御処理の処理手順の一例を説明するためのフローチャートである。
【図８】フロー定義データの構成例を示す図である。
【図９】第一の実施の形態においてワークフローの実行時に配信管理サーバが実行する処理手順の一例を説明するためのフローチャートである。
【図１０】第二の実施の形態における画像形成装置の機能構成例を示す図である。
【図１１】第二の実施の形態におけるワークフローの制御処理の処理手順の一例を説明するためのフローチャートである。
【図１２】第三の実施の形態における画像形成装置の機能構成例を示す図である。
【図１３】第三の実施の形態においてワークフローの実行時に画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【図１４】第四の実施の形態における配信管理サーバの機能構成例を示す図である。
【図１５】第四の実施の形態における画像形成装置の機能構成例を示す図である。
【図１６】機器フロー監視部が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第一の実施の形態における配信管理システムの構成例を示す図である。図１において、配信管理システム１は、配信管理サーバ１０、１以上の画像形成装置２０、文書管理サーバ３０、メールサーバ４０、及びファイルサーバ５０等を含む。各装置は、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない。）によって通信可能に接続されている。
【０００９】
画像形成装置２０は、原稿からスキャンされた（読み取られた）情報に基づいて画像データを生成する機器である。配信管理サーバ１０は、画像形成装置２０によって生成された画像データに関して、予め設定されたワークフローを実行するコンピュータである。ワークフローとは、例えば、それぞれが独立して又は単独で完結した機能を実現する一以上の処理単位（タスク）の順序付けられた組み合わせによって実現される処理の流れをいう。当該処理単位は、一般的なワークフローの用語における、アクティビティに当てはめられてもよい。本実施の形態のワークフローでは、画像データが処理対象とされる。したがって、処理単位としては、例えば、画像データに対するＯＣＲ（Optical Character Recognition）処理、画像データのデータ変換処理、ＯＣＲ処理又はデータ変換処理の結果として得られるデータ又は画像データの配信処理等が挙げられる。
【００１０】
なお、本実施の形態において、画像形成装置２０も、ワークフローを構成する複数の処理単位のうちの一部の処理単位を実行する。
【００１１】
文書管理サーバ３０、メールサーバ４０、及びファイルサーバ５０は、画像形成装置２０及び配信管理サーバ１０によって実行されるワークフローに配信処理が含まれる場合に、当該配信処理において配信先の候補とされるコンピュータの一例である。文書管理サーバ３０は、例えば、配信対象のデータを、その属性情報に対応付けて管理するデータベースを有するコンピュータである。文書管理サーバ３０が配信先である場合、配信されたデータは、文書管理サーバ３０のデータベースに記憶される。
【００１２】
メールサーバ４０は、電子メールの転送を行うコンピュータである。メールサーバ４０が配信先である場合、配信されたデータは、電子メールに添付されて、ワークフローに設定されているメールアドレス宛に転送される。
【００１３】
ファイルサーバ５０は、ネットワーク上で共有されるファイルを蓄積して管理するコンピュータである。ファイルサーバ５０が配信先である場合、配信されたデータは、ファイルサーバ５０のフォルダ内に記憶される。
【００１４】
図２は、第一の実施の形態における配信管理サーバのハードウェア構成例を示す図である。図２の配信管理サーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１５】
配信管理サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１６】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って配信管理サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１７】
図３は、第一の実施の形態における画像形成装置のハードウェア構成例を示す図である。図３において、画像形成装置２０は、コントローラ２１、スキャナ２２、プリンタ２３、モデム２４、操作パネル２５、ネットワークインタフェース２６、及びＳＤカードスロット２７等のハードウェアを有する。
【００１８】
コントローラ２１は、ＣＰＵ２１１、ＲＡＭ２１２、ＲＯＭ２１３、ＨＤＤ２１４、及びＮＶＲＡＭ２１５等を有する。ＲＯＭ２１３には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。ＲＡＭ２１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ２１１は、ＲＡＭ２１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ２１４には、プログラムやプログラムが利用する各種のデータ等が記憶される。ＮＶＲＡＭ２１５には、各種の設定情報等が記憶される。
【００１９】
スキャナ２２は、原稿より画像データを読み取るためのハードウェア（画像読取手段）である。プリンタ２３は、印刷データを印刷用紙に印刷するためのハードウェア（印刷手段）である。モデム２４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル２５は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。液晶パネルは、タッチパネル機能を有していてもよい。この場合、当該液晶パネルは、入力手段の機能をも兼ねる。ネットワークインタフェース２６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット２７は、ＳＤカード８０に記憶されたプログラムを読み取るために利用される。すなわち、画像形成装置２０では、ＲＯＭ２１３に記憶されたプログラムだけでなく、ＳＤカード８０に記憶されたプログラムもＲＡＭ２１２にロードされ、実行されうる。なお、他の記録媒体（例えば、ＣＤ−ＲＯＭ又はＵＳＢ（Universal Serial Bus）メモリ等）によってＳＤカード８０が代替されてもよい。すなわち、ＳＤカード８０の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、ＳＤカードスロット２７は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【００２０】
図４は、第一の実施の形態における配信管理サーバの機能構成例を示す図である。図４において、配信管理サーバ１０は、データ提供部１１、ジョブ入力部１２、サーバフロー制御部１３、及びサーバ処理部１４等を有する。これら各部は、配信管理サーバ１０にインストールされた１以上のプログラムがＣＰＵ１０４に実行させる処理により実現される。配信管理サーバ１０は、また、サーバジョブキュー１５、フロー定義記憶部１６、及び画面定義記憶部１７等の記憶部を利用する。これら各記憶部は、補助記憶装置１０２、又は配信管理サーバ１０にネットワークを介して接続される記憶装置等を用いて実現可能である。サーバジョブキュー１５については、メモリ装置１０３が用いられてもよい。
【００２１】
フロー定義記憶部１６は、フロー定義データを記憶する。フロー定義データとは、ワークフローの処理の流れ等に関する定義情報が記録された、編集可能なデータをいう。本実施の形態において、一つのフロー定義データは、一つのワークフローに対応する。各フロー定義データには、ワークフローごとの識別情報であるフローＩＤが含まれている。
【００２２】
画面定義記憶部１７は、画面定義データを記憶する。画面定義データとは、ワークフローに対する設定値の入力を受け付けるための画面の構成情報等が記録されたデータをいう。本実施の形態において、一つの画面定義データは、一つのワークフロー、すなわち、一つのフロー定義データに対応する。例えば、画面定義データは、対応するワークフローのフロー定義データに対応付けられて記憶されている。本実施の形態では、フロー定義データ内に、対応する画面定義データの識別情報（以下、「画面ＩＤ」という。）が記録されることにより、両者が対応付けられる。
【００２３】
データ提供部１１は、画像形成装置２０に対して、画面定義データ及びフロー定義データ等を提供する。ジョブ入力部１２は、画像形成装置２０から送信される、ワークフローのジョブ情報を受信し、当該ジョブ情報をサーバジョブキュー１５に登録する。本実施の形態において、ジョブとは、ワークフローの実行単位をいう。例えば、同一のワークフローが複数回実行された場合、各回ごとにジョブは異なる。ジョブ情報は、ジョブに関する情報である。画像形成装置２０から送信されるジョブ情報には、例えば、スキャンされた画像データ、実行対象のワークフローのフロー定義データ、当該ワークフローのパラメータに対する設定値、当該ワークフローを構成する処理単位のうち、画像形成装置２０において実行された処理単位において生成された出力データ等が含まれる。
【００２４】
サーバジョブキュー１５は、ジョブ情報を、例えば、ＦＩＦＯ（First-In First-Out）形式で記憶する。サーバフロー制御部１３は、サーバジョブキュー１５に記憶されているジョブ情報を取得し、当該ジョブ情報に含まれているフロー定義データの定義に従い、ワークフローを構成する処理単位のうち、配信管理サーバ１０側において実行されるべき処理単位の実行を制御する。
【００２５】
サーバ処理部１４は、ワークフローを構成する処理単位（アクティビティ）の中で、配信管理サーバ１０側で実行される処理単位を実行する。例えば、一つのアクティビティは、一つのサーバ処理部１４によって実現される。したがって、ワークフローは、相互に処理内容の異なる１以上のサーバ処理部１４による処理の接続によって実現される。図４では、サーバ処理部Ａ及びサーバ処理部Ｂ等が例示されている。各サーバ処理部１４は、それぞれ独立したプログラムモジュールによって実現されてもよい。この場合、各プログラムモジュールは、プラグインプログラムとして、容易にインストール可能とされてもよい。
【００２６】
図５は、第一の実施の形態における画像形成装置の機能構成例を示す図である。図５において、画像形成装置２０は、フロー選択制御部２２１、データ取得部２２２、画面表示部２２３、スキャン制御部２２４、ジョブ登録部２２５、機器フロー制御部２２６、機器処理部２２７、及びジョブ送信部２２８等を有する。これら各部は、画像形成装置２０にインストールされた１以上のプログラムがＣＰＵ２１１に実行させる処理により実現される。画像形成装置２０は、また、機器ジョブキュー２５０を有する。機器ジョブキュー２５０は、ＲＡＭ１１２又はＨＤＤ１１４等を用いて実現可能である。
【００２７】
フロー選択制御部２２１は、実行対象とするワークフローの選択をユーザから受け付けるための処理を制御する。データ取得部２２２は、実行対象とされたワークフロー（以下、「対象フロー」という。）の画面定義データ及びフロー定義データを、配信管理サーバ１０から取得する。画面表示部２２３は、取得された画面定義データに基づいて、対象フローに対するパラメータの設定値を入力させるための画面（以下、「パラメータ入力画面」という。）を操作パネル２５に表示させる。スキャン制御部２２４は、原稿からの画像データの読み取りを制御する。ジョブ登録部２２５は、読み取られた画像データを含む、対象フローのジョブ情報を、機器ジョブキュー２５０に登録する。機器ジョブキュー２５０は、ジョブ情報を、例えば、ＦＩＦＯ（First-In First-Out）形式で記憶する。機器フロー制御部２２６は、機器ジョブキュー２５０に記憶されているジョブ情報を取得し、当該ジョブ情報に含まれているフロー定義データに従い、ワークフローを構成する処理単位のうち、画像形成装置２０において実行されるべき処理単位の実行を制御する。すなわち、機器フロー制御部２２６によって、ワークフローが開始される。
【００２８】
機器処理部２２７は、ワークフローを構成する処理単位（アクティビティ）の中で、画像形成装置２０側で実行される処理単位を実行する。例えば、一つのアクティビティは、一つの機器処理部２２７によって実現される。したがって、ワークフローは、相互に処理内容の異なる１以上の機器処理部２２７及び１以上のサーバ処理部１４による処理の接続によって実現される。図５では、機器処理部２２７ａ及び機器処理部２２７ｂ等が例示されている。各機器処理部２２７は、それぞれ独立したプログラムモジュールによって実現されてもよい。この場合、各プログラムモジュールは、プラグインプログラムとして、容易にインストール可能とされてもよい。なお、機器処理部２２７とサーバ処理部１４とは、重複していてもよい。すなわち、或るサーバ処理部１４と同一の機能を実現する機器処理部２２７が存在してもよい。
【００２９】
ジョブ送信部２２８は、対象フローを構成する処理単位のうち、画像形成装置２０側で実行される処理単位の処理結果等を含むジョブ情報を、配信管理サーバ１０に送信する。
【００３０】
以下、配信管理システム１において実行される処理手順について説明する。図６は、第一の実施の形態においてワークフローの実行時に画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。なお、図６の処理手順の前に、画像形成装置２０を操作するユーザについて、画像形成装置２０によって認証が行われていることとする。例えば、画像形成装置２０が操作パネル２５に表示させているログイン画面に対してユーザ名及びパスワードが入力され、当該ユーザ名及びパスワードに関して認証が行われる。認証処理の実行は、非図示の認証サーバ等に委譲されてもよい。画像形成装置２０は、認証されたユーザ（ログインに成功したユーザ）のユーザ名を、「ログインユーザ名」として記憶する。
【００３１】
画像形成装置２０へのログインに成功したユーザによって、所定の操作が行われると、フロー選択制御部２２１は、フロー選択画面の画面データを、配信管理サーバ１０より取得する（Ｓ１０１）。フロー選択画面とは、フロー定義記憶部１６にフロー定義データが記憶されているワークフローの一覧の中から対象フローを選択させるための画面である。なお、配信管理サーバ１０のＩＰアドレス等の識別情報は、例えば、画像形成装置２０に対して予め設定されている。
【００３２】
続いて、フロー選択制御部２２１は、取得された画面データに基づいて、フロー選択画面を、画像形成装置２０の操作パネル２５に表示させる（Ｓ１０２）。フロー選択画面には、例えば、ワークフローごと（フロー定義データごと）に、ボタンが表示される。
【００３３】
フロー選択画面におけるいずれかのボタンが選択されると（Ｓ１０３）、データ取得部２２２は、選択されたボタンに対応付けられているフローＩＤ（以下、「対象フローＩＤ」という。）に対応する画面定義データ及びフロー定義データを配信管理サーバ１０より取得する（Ｓ１０４）。すなわち、ボタンの選択は、ワークフローの実行要求の一例である。データ取得部２２２は、対象フローＩＤを含む、データの取得要求を配信管理サーバ１０に送信する。配信管理サーバ１０のデータ提供部１１は、当該取得要求に含まれている対象フローＩＤに対応付けられて画面定義記憶部１７又はフロー定義記憶部１６に記憶されている、画面定義データの複製及びフロー定義データの複製を返信する。以下、これらの複製をそれぞれ、「対象画面定義データ」及び「対象フロー定義データ」という。
【００３４】
続いて、画面表示部２２３は対象画面定義データに基づいて、対象フローＩＤに係る対象フローに対するパラメータ入力画面を操作パネル２５に表示させる（Ｓ１０５）。なお、パラメータは、ワークフローごとに異なりうる。
【００３５】
続いて、画面表示部２２３は、パラメータ入力画面を介して、パラメータに対する設定値の入力をユーザより受け付ける（Ｓ１０６）。続いて、スキャン制御部２２４は、ユーザによってセットされている原稿のスキャンを実行する（Ｓ１０７）。ジョブ登録部２２５は、ログインユーザ名、対象フロー定義データ、スキャンされた画像データ（以下、「スキャン画像」という。）、及び入力された設定値等を含むジョブ情報を、機器ジョブキュー２５０に登録する（Ｓ１０８）。
【００３６】
続いて、機器フロー制御部２２６は、対象フローの制御処理を実行する（Ｓ１０９）。対象フローの制御処理では、対象フローを構成する処理単位のうち、画像形成装置２０側において実行されるべき処理単位が、対象フロー定義データに定義された順番で実行される。なお、処理単位の実行に応じ、ジョブ情報には、実行された処理単位の実行結果として出力されるデータ（以下、「出力データ」という。）が追加される。但し、ジョブ情報に追加されるデータは、既に実行された処理単位の中で、最後に実行された処理単位の出力データに限定されてもよい。
【００３７】
画像形成装置２０側において実行されるべき処理単位の実行が完了すると、ジョブ送信部２２８は、ジョブ情報を配信管理サーバ１０に送信する（Ｓ１２０）。当該ジョブ情報には、ログインユーザ名、対象フロー定義データ、スキャン画像、及び入力された設定値等を含むジョブ情報に加え、実行された各処理単位の出力データ、又は最後に実行された処理単位の出力データ等が含まれる。
【００３８】
続いて、ステップＳ１０９の詳細について説明する。図７は、第一の実施の形態におけるワークフローの制御処理の処理手順の一例を説明するためのフローチャートである。
【００３９】
機器フロー制御部２２６は、例えば、一定時間ごとに機器ジョブキュー２５０を参照する（Ｓ２０１）。機器ジョブキュー２５０にジョブ情報が記憶されている場合（Ｓ２０１でＹｅｓ）、機器フロー制御部２２６は、当該ジョブ情報を取得する（Ｓ２０２）。続いて、機器フロー制御部２２６は、当該ジョブ情報に含まれている対象フロー定義データに基づいて、未処理の処理単位の中で、実行順において先頭の処理単位を判定する。
【００４０】
図８は、フロー定義データの構成例を示す図である。図８では、一つのワークフローに対するフロー定義データの一例が示されている。
【００４１】
図８において、フロー定義データは、ワークフローのフローＩＤを含む。また、フロー定義データは、当該ワークフローを構成する処理単位ごとのレコード（以下、「プラグインレコード」という。）を含む。各プラグインレコードは、プラグインＩＤ、実行順、実行場所、ステータス、パラメータ名、入力データ、及び出力データ等の項目ごとにその値を含む。
【００４２】
プラグインＩＤは、当該処理単位を画像形成装置２０又は配信管理サーバ１０に実行させるプラグインプログラムの識別情報である。実行順は、当該処理単位の実行順である。実行場所は、当該処理単位が実行されるべき場所を示す情報である。すなわち、実行場所には、「機器」又は「サーバ」が指定される。「機器」は、当該処理単位が、画像形成装置２０によって実行されることを示す。「サーバ」は、当該処理単位が、配信管理サーバ１０によって実行されることを示す。ステータスは、当該処理単位が実行済みであるか否かを示す情報である。「未」は、当該処理単位が実行されていないことを示す。「済」は、当該処理単位が実行されていることを示す。パラメータ名は、当該処理単位に対するパラメータの名前である。パラメータ名によって、パラメータ入力画面において入力された設定値の設定先のプラグインプログラムを特定することができる。入力データは、当該処理単位において入力元となるデータを示す情報である。入力データには、基本的に、当該処理単位に対する入力データを出力する処理単位のプラグインＩＤが指定される。但し、スキャン画像が入力データとなる場合、入力データには「Ｓｃａｎ」が指定される。出力データは、処理単位の出力データを格納するファイルのパス名を示す。出力データは、処理単位の実行後に記録されてもよいし、予め定義されてもよい。
【００４３】
このように、フロー定義データには、ステータスや出力データ等、ワークフローの進捗又は進行に応じて書き込まれる項目も含まれる。但し、斯かる項目は、フロー定義データとは別のデータにおいて管理されてもよい。また、フロー定義データは、例えば、ＸＭＬ（eXtensible Markup Language）形式等、任意の形式によって記述されてもよい。
【００４４】
ステップＳ２０３では、ステータスの値が「未」である処理単位の中で、実行順が先頭である処理単位が特定される。
【００４５】
続いて、機器フロー制御部２２６は、特定された処理単位の実行順を、変数ｉに代入する（Ｓ２０４）。変数ｉは、処理対象の処理単位の実行順を識別するための変数である。以下、変数ｉに係る処理単位を、「処理単位ｉ」という。
【００４６】
続いて、機器フロー制御部２２６は、処理単位ｉが実行対象であるか否かを判定する（Ｓ２０５）。すなわち、対象フロー定義データにおいて、処理単位ｉの実行場所の値が「機器」であるか否かが判定される。
【００４７】
処理単位ｉが実行対象でない場合、すなわち、処理単位ｉの実行場所の値が「サーバ」である場合（Ｓ２０５でＮｏ）、図７の処理から、図６の処理に復帰する。処理単位ｉが実行対象である場合、すなわち、処理単位ｉの実行場所の値が「機器」である場合（Ｓ２０５でＹｅｓ）、機器フロー制御部２２６は、処理単位ｉに対応する機器処理部２２７に、処理単位ｉを実行させる（Ｓ２０６）。処理単位ｉに対応する機器処理部２２７には、対象フロー定義データにおいて処理単位ｉに対する入力データの値に基づいて特定されるデータが入力される。なお、処理単位ｉに対応する機器処理部２２７は、対象フロー定義データにおいて、処理単位ｉに対応するプラグインＩＤによって特定される。
【００４８】
処理単位ｉが正常に終了すると、機器フロー制御部２２６は、ジョブ情報を更新する（Ｓ２０７）。具体的には、ジョブ情報に対して、処理単位ｉの出力データが追加される。また、対象フロー定義データにおいて、処理単位ｉのステータスが「済」に更新される。更に、対象フロー定義データにおいて、処理単位ｉの出力データの項目に、処理単位ｉの出力データを格納するファイルのパス名が記録される。
【００４９】
続いて、機器フロー制御部２２６は、実行された処理単位が、対象フローにおいて実行順が最後である処理単位であるかを判定する（Ｓ２０８）。すなわち、対象フローの実行が完了したか否かが判定される。
【００５０】
実行された処理単位が、対象フローにおいて実行順が最後である処理単位でない場合（Ｓ２０８でＮｏ）、機器フロー制御部２２６は、変数ｉに１を加算し（Ｓ２０９）、ステップＳ２０５以降を繰り返す。実行された処理単位が、対象フローにおいて実行順が最後である処理単位である場合（Ｓ２０８でＹｅｓ）、図７の処理から、図６の処理に復帰する。
【００５１】
図７の処理によれば、対象フローを構成する処理単位のうち、実行場所が画像形成装置２０である処理単位が実行される。
【００５２】
続いて、配信管理サーバ１０が実行する処理手順について説明する。図９は、第一の実施の形態においてークフローの実行時に配信管理サーバが実行する処理手順の一例を説明するためのフローチャートである。
【００５３】
ステップＳ３０１において、ジョブ入力部１２は、画像形成装置２０より送信されたジョブ情報を受信する。ジョブ入力部１２は、ジョブ情報の受信に応じ、当該ジョブ情報に含まれているフロー定義データを更新してもよい。例えば、当該フロー定義データの出力データの値が、配信管理サーバ１０において、各出力データが保存されたファイルのパス名によって置換されてもよい。続いて、ジョブ入力部１２は、当該ジョブ情報をサーバジョブキュー１５に登録する（Ｓ３０２）。
【００５４】
続いて、サーバフロー制御部１３は、対象フローの制御処理を実行する（Ｓ３０３）。当該制御処理の処理手順は、図７において説明した処理手順と同様でよい。但し、当該制御処理の実行主体は、サーバフロー制御部１３である。また、機器処理部２２７に関する事項は、サーバ処理部１４によって置換される。
【００５５】
上述したように、第一の実施の形態によれば、一つのワークフローを構成する処理単位の一部を、画像形成装置２０に実行させることができる。したがって、配信管理サーバ１０の処理負荷を低下させることができる。その結果、各画像形成装置２０におけるスキャンに応じて実行される各ワークフローの処理効率を向上させることができる。
【００５６】
なお、配信管理サーバ１０が複数のコンピュータによって構成される場合、配信管理サーバ１０において実行される処理単位は、複数のコンピュータによって分散されて実行されてもよい。
【００５７】
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
【００５８】
図１０は、第二の実施の形態における画像形成装置の機能構成例を示す図である。図１０において、画像形成装置２０は、更に、状態照会部２２９を有する。状態照会部２２９は、配信管理サーバ１０の状態を照会する（問い合わせる）。配信管理サーバ１０の状態とは、主に、配信管理サーバ１０の処理負荷の状態である。処理負荷の状態を示す情報は、例えば、ＣＰＵ１０４の使用率であってもよい。又は、サーバジョブキュー１５に記憶されているジョブ情報の数（すなわち、滞留中のジョブの数）が、処理負荷の状態を示す情報であってもよい。また、その他の情報によって、配信管理サーバ１０の処理負荷が示されてもよい。なお、状態照会部２２９は、画像形成装置２０にインストールされたプログラムが、ＣＰＵ２１１に実行させる処理により実現される。
【００５９】
第二の実施の形態において、機器フロー制御部２２６は、状態照会部２２９による照会結果に応じ、画像形成装置２０に制御対象とする処理単位を変化させる。
【００６０】
図１１は、第二の実施の形態におけるワークフローの制御処理の処理手順の一例を説明するためのフローチャートである。第二の実施の形態において、機器フロー制御部２２６は、図６のステップＳ１０９において、図７に示した処理手順の代わりに、図１１に示される処理手順を実行する。
【００６１】
図１１では、処理単位ｉが処理対象でない場合に（Ｓ２０５でＮｏ）、ステップＳ２１０〜Ｓ２１２が実行される。
【００６２】
ステップＳ２１０において、状態照会部２２９は、配信管理サーバ１０の状態を照会する（Ｓ２１０）。具体的には、状態照会部２２９は、状態の照会要求を配信管理サーバ１０に送信する。配信管理サーバ１０は、当該要求に応じ、配信管理サーバ１０の状態を示す情報（以下、「状態情報」という。）を返信する。
【００６３】
続いて、機器フロー制御部２２６は、状態情報に基づいて特定される配信管理サーバ１０の負荷が、閾値以上であるか否かを判定する（Ｓ２１１）。例えば、ＣＰＵ１０４の使用率が、予め設定されたα％以上であるか否かが判定される。若しくは、滞留ジョブ数が、予め設定されたβ個以上であるか否かが判定される。又は、ＣＰＵ１０４の使用率及び滞留ジョブ数の双方に関して判定が実行されてもよい。双方に関して判定が実行される場合、双方が閾値以上であれば、ステップＳ２１１の判定は肯定されてもよいし、少なくともいずれか一方が閾値以上であれば、ステップＳ２１１の判定は肯定的されてもよい。
【００６４】
負荷が閾値未満である場合（Ｓ２１１でＮｏ）、図１１の処理から図６の処理に復帰する。負荷が閾値以上である場合（Ｓ２１１でＹｅｓ）、機器フロー制御部２２６は、画像形成装置２０が処理単位ｉを実行可能であるか否かを判定する（Ｓ２１２）。例えば、処理単位ｉに対応するプラグインプログラムが、画像形成装置２０にインストールされているか否かが判定されてもよい。
【００６５】
画像形成装置２０が処理単位ｉを実行可能でない場合（Ｓ２１２でＮｏ）、図１１の処理から図６の処理に復帰する。画像形成装置２０が処理単位ｉを実行可能である場合（Ｓ２１２でＹｅｓ）、処理単位ｉに関して、ステップＳ２０６以降が実行される。
【００６６】
なお、第二の実施の形態において、サーバフロー制御部１３は、図９のステップＳ３０３において、図７に示した処理手順を実行する。
【００６７】
上述したように、第二の実施の形態によれば、実行場所が「サーバ」である処理単位についても、配信管理サーバ１０の負荷状況に応じて、画像形成装置２０が動的に実行することができる。その結果、各ワークフローの処理効率を向上することができる。
【００６８】
次に、第三の実施の形態について説明する。第三の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
【００６９】
図１２は、第三の実施の形態における画像形成装置の機能構成例を示す図である。図１２において、画像形成装置２０は、更に、送信対象判定部２３０を有する。送信対象判定部２３０は、ジョブ情報に含められて配信管理サーバ１０に送信されるデータのうち、配信管理サーバ１０において必要とされるデータを判定する。なお、送信対象判定部２３０は、画像形成装置２０にインストールされたプログラムが、ＣＰＵ２１１に実行させる処理により実現される。
【００７０】
図１３は、第三の実施の形態においてワークフローの実行時に画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。第三の実施の形態において、画像形成装置２０は、図６に示される処理手順の代わりに、図１３に示される処理手順を実行する。
【００７１】
図１３では、ステップＳ１０９に続いて、ステップＳ１１０及びＳ１１１が実行される。ステップＳ１１０において、送信対象判定部２３０は、ジョブ情報に含まれているデータのうち、配信管理サーバ１０への送信が必要なデータを判定する。ジョブ情報に含まれているデータとは、スキャン画像、及び各処理単位の出力データである。送信対象判定部２３０は、対象フロー定義データにおいて、実行場所が「サーバ」である各処理単位の、入力データに指定されているデータを、配信管理サーバ１０への送信が必要なデータとして判定する。例えば、対象フロー定義データが、図８に示される通りである場合、実行順が１である処理単位の出力データが、実行順が２である処理単位の入力データとされる。したがって、この場合、実行順が１である処理単位の出力データが、配信管理サーバ１０への送信が必要なデータとして判定される。換言すれば、スキャン画像については、配信管理サーバ１０への送信は不要であると判定される。
【００７２】
続いて、送信対象判定部２３０は、不要なデータを、ジョブ情報から除去する（Ｓ１１１）。その結果、ステップＳ１２０では、配信管理サーバ１０において実行される処理単位では不要なデータの送信が回避される。
【００７３】
上述したように、第三の実施の形態によれば、画像形成装置２０から配信管理サーバ１０に送信されるジョブ情報に含まれるデータのデータ量を削減することができる。その結果、配信管理システム１におけるネットワーク負荷を軽減することができる。
【００７４】
なお、第三の実施の形態は、第二の実施の形態と組み合わされてもよい。この場合、ステップＳ１１０では、対象フロー定義データにおいて、実行場所が「サーバ」であり、かつ、ステータスが「未」である処理単位の、入力データに指定されているデータが、配信管理サーバ１０への送信が必要なデータとして判定されればよい。
【００７５】
次に、第四の実施の形態について説明する。第四の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
【００７６】
図１４は、第四の実施の形態における配信管理サーバの機能構成例を示す図である。図１４において、配信管理サーバ１０は、更に、サーバフロー監視部１８及びログ記憶部１９等を有する。
【００７７】
サーバフロー監視部１８は、サーバフロー制御部１３の処理状況を監視し、ワークフローの進捗状況を示すログ情報をログ記憶部１９に記憶する。なお、サーバフロー監視部１８は、配信管理サーバ１０にインストールされたプログラムが、ＣＰＵ１０４に実行させる処理により実現される。また、ログ記憶部１９は、補助記憶装置１０２、又は配信管理サーバ１０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００７８】
図１５は、第四の実施の形態における画像形成装置の機能構成例を示す図である。図１５において、画像形成装置２０は、更に、機器フロー監視部２３１及び機器ログ記憶部２５１等を有する。
【００７９】
機器フロー監視部２３１は、機器フロー制御部２２６の処理状況を監視し、ワークフローの進捗状況を示すログ情報を機器ログ記憶部２５１に記憶する。なお、機器フロー監視部２３１は、画像形成装置２０にインストールされたプログラムが、ＣＰＵ２１１に実行させる処理により実現される。また、機器ログ記憶部２５１は、ＨＤＤ２１４、又は画像形成装置２０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００８０】
図１６は、機器フロー監視部が実行する処理手順の一例を説明するためのフローチャートである。
【００８１】
機器フロー監視部２３１は、機器フロー制御部２２６によって対象フローの実行が開始されると、例えば、一定時間ごとに、機器フロー制御部２２６に対して処理の進捗状況を問い合わせる（Ｓ４０１、Ｓ４０２）。問い合わせに対し、例えば、ログインユーザ名、フローＩＤ、ジョブＩＤ、現在実行中に処理単位のプラグインＩＤ等を含む応答が、機器フロー制御部２２６から返信される。
【００８２】
応答に含まれているプラグインＩＤが、前回の問い合わせ時の応答に含まれているプラグインＩＤと異なる場合（Ｓ４０３でＹｅｓ）、機器フロー監視部２３１は、応答に含まれている情報を含むログ情報を、機器ログ記憶部２５１に記憶する（Ｓ４０４）。しがって、機器ログ記憶部２５１には、画像形成装置２０において実行された処理単位ごとにログ情報が蓄積される。なお、ログ情報には、現在日時を示す値が含められてもよい。
【００８３】
機器ログ記憶部２５１に記憶されたログ情報は、例えば、図６のステップ１２０において、ジョブ送信部２２８によって、ジョブ情報と共に、配信管理サーバ１０に送信される。または、ジョブ情報とは別に、配信管理サーバ１０に送信されてもよい。いずれの場合であっても、同一のジョブに対するジョブ情報及びログ情報は、関連付けが確保された状態で、配信管理サーバ１０に送信されるのが望ましい。
【００８４】
配信管理サーバ１０のサーバフロー監視部１８は、図１６に示した処理手順を、サーバフロー制御部１３に対して実行する。この際、サーバフロー制御部１３が実行中であるジョブに対応するジョブ情報に関連付けられているログ情報に対して、新たなログ情報が追加された結果がログ記憶部１９に記憶される。その結果、配信管理サーバ１０は、画像形成装置２０によって一部の処理単位が実行される場合であっても、ワークフローのジョブ全体の進捗情報を、一元的に管理することができる。
【００８５】
なお、ログ情報は、機器フロー制御部２２６又はサーバフロー制御部１３によって、一つの処理単位の実行が完了するたびに記録されてもよい。また、第四の実施の形態と、第二及び第三の実施の形態のいずれか、又は全部が組み合わされてもよい。
【００８６】
なお、上記各実施の形態では、ワークフローに対する入力データがスキャン画像である例を示したが、例えば、デジタルカメラで撮像された画像データ、携帯端末若しくはＰＣ等の所定のフォルダに保存されているデータ、又はＷｅｂページを介してアップロードされるデータ等が、ワークフローに対する入力データとされてもよい。この場合、配信管理サーバ１０と、ワークフローを分担して実行する機器は、画像形成装置２０に限定されない。具体的は、デジタルカメラ、携帯端末、又はＰＣ等が、ワークフローの一部の処理単位を実行してもよい。
【００８７】
なお、本実施の形態において、画像形成装置２０及び配信管理サーバ１０は、情報処理装置の一例である。配信管理サーバ１０は、情報処理装置の一例である。フロー定義データは、定義情報、及び機器において実行された処理単位を示す情報の一例である。スキャン画像は、機器が生成するデータの一例である。フロー選択制御部２２１は、受付部の一例である。機器フロー制御部２２６は、第一の処理制御部の一例である。ジョブ送信部２２８は、送信部の一例である。ジョブ入力部１２は、受信部の一例である。サーバフロー制御部１３は、第二の処理制御部の一例である。状態照会部２２９は、照会部の一例である。送信対象判定部２３０は、判定部の一例である。機器フロー監視部２３１は、記録部の一例である。
【００８８】
また、請求項６に関して、スキャン制御部は、取得部の一例である。スキャン画像は、ユーザに指定されたデータの一例である。画面表示部２２３は、表示制御部の一例である。機器フロー制御部２２６は、開始部の一例である。サーバフロー制御部１３は、処理実行部の一例である。フロー定義データは、ワークフロー情報の一例である。フロー定義データにおけるステータスの値は、ワークフローの実行経過の一例である。
【００８９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９０】
１            配信管理システム
１０          配信管理サーバ
１１          データ提供部
１２          ジョブ入力部
１３          サーバフロー制御部
１４          サーバ処理部
１５          サーバジョブキュー
１６          フロー定義記憶部
１７          画面定義記憶部
１８          サーバフロー監視部
１９          ログ記憶部
２０          画像形成装置
２１          コントローラ
２２          スキャナ
２３          プリンタ
２４          モデム
２５          操作パネル
２６          ネットワークインタフェース
２７          ＳＤカードスロット
３０          文書管理サーバ
４０          メールサーバ
５０          ファイルサーバ
８０          ＳＤカード
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
２１１        ＣＰＵ
２１２        ＲＡＭ
２１３        ＲＯＭ
２１４        ＨＤＤ
２１５        ＮＶＲＡＭ
２２１        フロー選択制御部
２２２        データ取得部
２２３        画面表示部
２２４        スキャン制御部
２２５        ジョブ登録部
２２６        機器フロー制御部
２２７        機器処理部
２２８        ジョブ送信部
２２９        状態照会部
２３０        送信対象判定部
２３１        機器フロー監視部
２５０        機器ジョブキュー
２５１        機器ログ記憶部
Ｂ            バス
【先行技術文献】
【特許文献】
【００９１】
【特許文献１】特開２００８−９７５８６号公報
【特許文献２】特開２００６−１８０２８９号公報
【図１】
2015130047.tif 000003
【図２】
2015130047.tif 000004
【図３】
2015130047.tif 000005
【図４】
2015130047.tif 000006
【図５】
2015130047.tif 000007
【図６】
2015130047.tif 000008
【図７】
2015130047.tif 000009
【図８】
2015130047.tif 000010
【図９】
2015130047.tif 000011
【図１０】
2015130047.tif 000012
【図１１】
2015130047.tif 000013
【図１２】
2015130047.tif 000014
【図１３】
2015130047.tif 000015
【図１４】
2015130047.tif 000016
【図１５】
2015130047.tif 000017
【図１６】
2015130047.tif 000018
【手続補正書】
【提出日】平成26年12月5日(2014.12.5)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2015130047.tif 000019