(57)【要約】【課題】文書に関する作業効率を向上させること。【解決手段】データ処理装置は、それぞれがデータの入力によって開始され、当該データをユーザが利用可能な状態で出力することによって終了する複数の処理フローの実行順序を示す情報が記憶された第一の記憶部と、前記複数の処理フローのうちのいずれかの処理フローに対する入力データを受信する受信部と、前記受信部によって受信された入力データに関して、前記複数の処理フローのうちのいずれかに実行し、実行された処理フローを示す情報を第二の記憶部に記憶する実行部とを有し、前記実行部は、前記第一の記憶部と前記第二の記憶部とを参照して、未実行の処理フローのうち、実行順序が最も早い処理フローを、前記入力データに関して実行する処理フローとして特定することを特徴とする。【選択図】図３
2015060306.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがデータの入力によって開始され、当該データをユーザが利用可能な状態で出力することによって終了する複数の処理フローの実行順序を示す情報が記憶された第一の記憶部と、
前記複数の処理フローのうちのいずれかの処理フローに対する入力データを受信する受信部と、
前記受信部によって受信された入力データに関して、前記複数の処理フローのうちのいずれかに実行し、実行された処理フローを示す情報を第二の記憶部に記憶する実行部とを有し、
前記実行部は、前記第一の記憶部と前記第二の記憶部とを参照して、未実行の処理フローのうち、実行順序が最も早い処理フローを、前記入力データに関して実行する処理フローとして特定することを特徴とするデータ処理装置。
【請求項２】
前記受信部は、前記複数の処理フローの組み合わせの実行単位ごとの識別情報を受信し、
前記第二の記憶部は、前記識別情報ごとに、当該識別情報に関連して受信された入力データに関して実行された処理フローを示す情報を記憶し、
前記実行部は、前記第二の記憶部が記憶する情報のうち、前記受信部によって受信された識別情報に係る情報を参照して、未実行の処理フローのうち、実行順が最も早い処理フローを、前記入力データする処理フローとして特定することを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記複数の処理フローのそれぞれにおいて、当該複数の処理フローの組み合わせの実行単位ごとの識別情報が出力されることを特徴とする請求項２記載のデータ処理装置。
【請求項４】
それぞれがデータの入力によって開始され、当該データをユーザが利用可能な状態で出力することによって終了する複数の処理フローのうちのいずれかの処理フローに対する入力データを受信する受信手順と、
前記受信手順において受信された入力データに関して、前記複数の処理フローのうちのいずれかに実行し、実行された処理フローを示す情報を第二の記憶部に記憶する実行手順とをコンピュータが実行し、
前記実行手順は、前記複数の処理フローの実行順序を示す情報が記憶された第一の記憶部と前記第二の記憶部とを参照して、未実行の処理フローのうち、実行順が最も早い処理フローを、前記入力データに関して実行する処理フローとして特定することを特徴とするデータ処理方法。
【請求項５】
それぞれがデータの入力によって開始され、当該データをユーザが利用可能な状態で出力することによって終了する複数の処理フローのうちのいずれかの処理フローに対する入力データを受信する受信手順と、
前記受信手順において受信された入力データに関して、前記複数の処理フローのうちのいずれかに実行し、実行された処理フローを示す情報を第二の記憶部に記憶する実行手順とをコンピュータに実行させ、
前記実行手順は、前記複数の処理フローの実行順序を示す情報が記憶された第一の記憶部と前記第二の記憶部とを参照して、未実行の処理フローのうち、実行順が最も早い処理フローを、前記入力データに関して実行する処理フローとして特定することを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、及びデータ処理プログラムに関する。
【背景技術】
【０００２】
画像形成装置において文書からスキャンされた画像データに関して、予め定義されたワークフローを実行可能なシステムが有る（例えば、特許文献１）。斯かるシステムでは、ユーザの業務フローに則した形態で、データが流れるようにワークフローが定義される。
【０００３】
一つのワークフローは、基本的に、データの入力、当該データに対する０以上の処理の実行、当該１以上の処理によって生成されるデータの出力によって１サイクルが終了する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザの業務フローは、１サイクルのワークフローによって充足可能な程、単純ではない場合が有る。例えば、或るワークフローによって出力されたデータに対して、ユーザが編集を行い、編集後のデータを、同一の又は別のワークフローに入力するといったことが行われうる。すなわち、文書を扱う主体が、ワークフローを実行するシステム内（仮想空間）から、外部（現実空間）におけるユーザに移行し、改めてシステム内に移行するといった流れで、文書が処理される場合が有る。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、文書に関する作業効率を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、データ処理装置は、それぞれがデータの入力によって開始され、当該データをユーザが利用可能な状態で出力することによって終了する複数の処理フローの実行順序を示す情報が記憶された第一の記憶部と、前記複数の処理フローのうちのいずれかの処理フローに対する入力データを受信する受信部と、前記受信部によって受信された入力データに関して、前記複数の処理フローのうちのいずれかに実行し、実行された処理フローを示す情報を第二の記憶部に記憶する実行部とを有し、前記実行部は、前記第一の記憶部と前記第二の記憶部とを参照して、未実行の処理フローのうち、実行順序が最も早い処理フローを、前記入力データに関して実行する処理フローとして特定することを特徴とする。
【発明の効果】
【０００７】
文書に関する作業効率を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態における配信管理システムの構成例を示す図である。
【図２】本発明の実施の形態における配信管理サーバのハードウェア構成例を示す図である。
【図３】本発明の実施の形態における配信管理サーバの機能構成例を示す図である。
【図４】ジョブ投入部の構成例を示す図である。
【図５】本実施の形態における業務フローの例を示す図である。
【図６】業務フローを実現するためのワークフローの組み合わせの一例を示す図である。
【図７】配信管理サーバが実行する処理手順の一例を説明するためのフローチャートである。
【図８】フローセット定義記憶部の構成例を示す図である。
【図９】一つのフローセットジョブに対する進捗管理テーブルの構成例を示す図である。
【図１０】フローテーブルの構成例を示す図である。
【図１１】プラグインテーブルの構成例を示す図である。
【図１２】デバイステーブルの構成例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における配信管理システムの構成例を示す図である。図１において、配信管理システム１は、配信管理サーバ１０、１以上のクライアント端末２０、１以上の画像形成装置３０、文書管理サーバ５０、メールサーバ６０、及びファイルサーバ７０等を含む。各装置は、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない。）を介して通信可能に接続されている。
【００１０】
クライアント端末２０は、配信管理サーバ１０へのデータの入力（送信）や、配信管理サーバ１０から出力（送信）されるデータの操作（参照又は編集等）等に利用される端末である。すなわち、本実施の形態において、クライアント端末２０は、配信管理サーバ１０に対するデータ入力元の一例であると共に、配信管理サーバ１０によって実行されるワークフローの実行結果の出力先（配信先）の一例でもある。クライアント端末２０の一例として、携帯電話、スマートフォン、タブレット型端末、及びＰＣ（Personal Computer）等が挙げられる。
【００１１】
画像形成装置３０は、原稿から画像データを読み取り、当該画像データを配信管理サーバ１０に入力（送信）する。また、画像形成装置３０は、配信管理サーバ１０から送信されるデータを印刷等する。すなわち、本実施の形態において、画像形成装置３０は、配信管理サーバ１０に対するデータ入力元の一例であると共に、配信管理サーバ１０によって実行されるワークフローの実行結果の出力先（配信先）の一例でもある。
【００１２】
配信管理サーバ１０は、入力されたデータに関して、予め定義されたワークフローを実行するコンピュータである。ワークフローとは、例えば、それぞれが独立して又は単独で完結した機能を実現する一以上の処理単位（タスク）の任意な組み合わせによって実現される処理の流れ（処理フロー）をいう。本実施の形態におけるワークフローは、データの入力によって開始され、当該データをユーザが利用可能な状態で出力することによって終了する。なお、上記処理単位は、一般的なワークフローの用語における、アクティビティに当てはめられてもよい。
【００１３】
文書管理サーバ５０は、データを、その属性情報に関連付けて管理するデータベースを有するコンピュータである。文書管理サーバ５０は、配信管理サーバ１０によって実行されるワークフローの実行結果の配信先の一例である。文書管理サーバ５０が配信先である場合、配信されたデータは、文書管理サーバ５０のデータベースに記憶される。
【００１４】
メールサーバ６０は、一般的なメールサーバと同様の機能を有する。但し、本実施の形態において、メールサーバ６０は、クライアント端末２０より送信される、所定のメールアドレス（以下、「フローアドレス」という。）宛の電子メールをＳＭＴＰ（Simple Mail Transfer Protocol）等の通信プロトコルを介して受信し、保持する。メールサーバ６０は、配信管理サーバ１０からの、フローアドレス宛の電子メールの取得要求に応じ、保持している電子メールを返信する。配信管理サーバ１０による、メールサーバ６０からの電子メールの取得には、ＰＯＰ（Post Office Protocol）又はＩＭＡＰ（Internet Message Access Protocol）等の通信プロトコルが利用されてもよい。なお、メールサーバ６０は、配信管理サーバ１０によって実行されるワークフローの実行結果の配信先とされてもよい。メールサーバ６０が配信先である場合、配信されたデータは、電子メールに添付されて、実行されたワークフローに設定されているメールアドレス宛に転送される。
【００１５】
ファイルサーバ７０は、ネットワーク上で共有されるファイルを蓄積して管理するコンピュータである。本実施の形態において、ファイルサーバ７０は、配信管理サーバ１０に対するデータ入力元の一例である。例えば、ファイルサーバ７０の所定のフォルダに格納されたファイルは、配信管理サーバ１０に送信される。なお、ファイルサーバ７０は、配信管理サーバ１０によって実行されるワークフローの実行結果の出力先（配信先）であってもよい。ファイルサーバ７０が配信先である場合、配信されたデータは、ファイルサーバ７０のフォルダ内に記憶される。
【００１６】
図２は、本発明の実施の形態における配信管理サーバのハードウェア構成例を示す図である。図２の配信管理サーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１７】
配信管理サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１８】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って配信管理サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１９】
なお、配信管理サーバ１０は、複数のコンピュータによって構成されてもよい。
【００２０】
図３は、本発明の実施の形態における配信管理サーバの機能構成例を示す図である。図３において、配信管理サーバ１０は、ジョブ投入部１２、フロー実行制御部１３、及び処理部１４等を有する。これら各部は、配信管理サーバ１０にインストールされたプログラムがＣＰＵ１０４に実行させる処理により実現される。配信管理サーバ１０は、また、ジョブキュー１５、フロー定義記憶部１６、フローセット定義記憶部１７、及び進捗情報記憶部１８等の記憶部を利用する。これら各記憶部は、補助記憶装置１０２、又は配信管理サーバ１０にネットワークを介して接続される記憶装置等を用いて実現可能である。ジョブキュー１５については、メモリ装置１０３が用いられてもよい。
【００２１】
フロー定義記憶部１６は、フロー定義データを記憶する。フロー定義データとは、ワークフローの処理の流れ等に関する定義情報が記録されたデータをいう。本実施の形態において、一つのフロー定義データは、一つのワークフローに対応する。したがって、フロー定義データは、相互に処理手順の異なるワークフローごとに作成される。
【００２２】
フローセット定義記憶部１７は、ワークフローセットの定義情報を記憶する。ワークフローセットとは、複数のワークフローの順序付けられた組み合わせ、又は複数のワークフローの実行順序に対する概念である。ワークフローセットの定義情報には、ワークフローセットを構成するワークフローの実行順序を示す情報が含まれる。
【００２３】
進捗情報記憶部１８は、ワークフローセットの実行単位（以下、「フローセットジョブ」という。）ごとに、進捗情報を記憶する。具体的には、進捗情報記憶部１８は、いずれのワークフローまでが実行されたのかを示す情報を、フローセットジョブごとに記憶する。
【００２４】
ジョブ投入部１２は、ワークフローの実行要求及び当該ワークフローに対する入力データ等を受信し、当該ワークフローに係るジョブ情報をジョブキュー１５に投入する。本実施の形態において、ジョブとは、ワークフローの実行単位をいう。例えば、同一のワークフローが複数回実行された場合、各実行時のジョブは異なる。
【００２５】
ジョブキュー１５は、投入されたジョブ情報を記憶する。ジョブ情報は、例えば、実行対象のワークフロー又はワークフローセットの識別情報や、ワークフローに対する入力データ等を含む情報である。
【００２６】
フロー実行制御部１３は、ジョブキュー１５よりジョブ情報を取得し、当該ジョブ情報に対応するフロー定義データ又はフローセットの定義情報に従って、ワークフロー又はワークフローセットの実行を制御する。
【００２７】
処理部１４は、ワークフローを構成する処理単位（アクティビティ）ごとの処理を実行する。例えば、一つのアクティビティは、一つの処理部１４によって実現される。したがって、ワークフローは、相互に処理内容の異なる１以上の処理部１４による処理の接続によって実現される。図３では、処理部Ａ及び処理部Ｂ等が例示されている。各処理部１４は、それぞれ独立したプログラムモジュールが、ＣＰＵ１０４に実行させる処理により実現されてもよい。配信管理サーバ１０（ＣＰＵ１０４）を、処理部として機能させるプログラムモジュールを、以下、「プラグイン」という。
【００２８】
本実施の形態において、配信管理サーバ１０が実行するワークフローを構成する１以上の処理単位は、入力処理、中間処理、又は出力処理に大別される。入力処理は、例えば、画像形成装置３０、メールサーバ６０、又はファイルサーバ７０等の外部装置から、ワークフローに対する入力データを入力する処理である。
【００２９】
中間処理は、例えば、ワークフローの処理対象とされたデータに対する加工処理である。中間処理の一例として、ノイズ除去処理、ＯＣＲ（Optical Character Recognition）処理、翻訳処理、及びデータ変換処理等が挙げられる。
【００３０】
出力処理は、ワークフローからのデータをユーザが利用可能な形態で出力する処理である。利用可能な形態には、用紙への印刷等、ユーザが直接利用な形態のみならず、電子的な保存等、ユーザが、アプリケーションプログラム等を介して利用可能な形態も含まれる。出力処理の一例として、文書管理サーバ５０等のフォルダへの配信処理が挙げられる。また、メールサーバ６０が配信先とされてもよい。また、画像データの入力元の画像形成装置３０、又は当該画像形成装置３０とは別の画像形成装置３０が配信先とされてもよい。この場合、配信先の画像形成装置３０によって、配信されたデータの印刷が実行される。
【００３１】
なお、図３において、処理部１４は、中間処理又は出力処理を実行する。一方、ジョブ投入部１２は、入力処理を実行する。入力処理において、データの入力元となる外部装置は、様々である。また、外部装置ごとに、データの入力方法（配信管理サーバ１０から見た場合のデータの取得方法又は受信方法）が異なる。このような状況に対して柔軟に対応可能とするため、ジョブ投入部１２は、例えば、図４に示されるような構成を有する。
【００３２】
図４は、ジョブ投入部の構成例を示す図である。ジョブ投入部１２において、データの入力元とのやりとりは、処理部１４と同様に、プラグイン可能なプログラムモジュール（プラグイン）によって実現される。図４では、スキャン入力プラグイン１２１、メール入力プラグイン１２２、及びフォルダ入力プラグイン１２３が例示されている。
【００３３】
スキャン入力プラグイン１２１は、画像形成装置３０から入力データを受信するプラグインである。すなわち、スキャン入力プラグイン１２１は、画像形成装置３０においてスキャンされた画像データを、入力データとして画像形成装置３０から受信する。画像形成装置３０からは、画像データと共に、フローＩＤ又はフローセットＩＤ等が受信される。スキャン入力プラグイン１２１は、受信されたフローＩＤ又はフローセットＩＤ、及び画像データを、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。なお、フローＩＤとは、ワークフローの定義ごと（すなわち、フロー定義データごと）の識別情報である。フローセットＩＤとは、ワークフローセットごとの識別情報である。
【００３４】
メール入力プラグイン１２２は、フローアドレス宛の電子メールによって、ワークフローに対する入力データを受信するプラグインである。具体的には、電子メールに添付されたデータが、ワークフローに対する入力データとされる。当該入力データは、画像データであってもよいし、他の形式のデータであってもよい。メール入力プラグイン１２２は、電子メールに添付されているデータと、電子メールに記述されている情報とを、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。電子メールに記述されている情報には、フローＩＤ若しくはフローセットＩＤ等が含まれていてもよい。または、フローＩＤ若しくはフローセットＩＤごとに、フローアドレスが区別されていてもよい。この場合、いずれのフローアドレス宛の電子メールであるかによって、フローＩＤ又はフローセットＩＤが特定される。
【００３５】
フォルダ入力プラグイン１２３は、所定のフォルダに格納されたデータ（ファイル）を、ワークフローの入力データとして取得するプラグインである。例えば、フォルダ入力プラグイン１２３は、所定のフォルダをポーリングし、当該フォルダにデータ、及びフローＩＤ又はフローセットＩＤ等を格納したファイルが保存されていれば、当該データ及びファイルを取得する。フォルダ入力プラグイン１２３は、取得されたデータと、取得されたファイルに格納されている情報とを、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。なお、フローＩＤ又はフローセットＩＤごとに、所定のフォルダが区別されてもよい。この場合、いずれのフォルダに保存されたデータであるかによって、フローＩＤ又はフローセットＩＤが特定される。また、所定のフォルダは、配信管理サーバ１０の補助記憶装置１０２に形成されたフォルダでもよいし、配信管理サーバ１０にネットワークを介して接続される記憶装置（例えば、いずれかのクライアント端末２０又は文書管理サーバ５０の記憶装置）に形成されたフォルダでもよい。
【００３６】
なお、上記以外の方法で、入力データを入力するプラグインが追加されてもよい。例えば、Ｗｅｂページを介して入力データを受け付けるプラグインが追加されてもよい。
【００３７】
このように、本実施の形態では、入力処理、中間処理、及び出力処理のそれぞれが、プラグインによって実現される。したがって、所望の処理を実行するプラグインを作成し、追加することによって、定義可能なワークフローのバリエーションを増加させることができる。
【００３８】
続いて、本実施の形態において想定する業務フローについて説明する。本実施の形態において、業務フローとは、例えば、オフィスにおける業務における文書の流れをいう。
【００３９】
図５は、本実施の形態における業務フローの例を示す図である。図５では、何らかの申請書に関する業務フローが示されている。
【００４０】
まず、申請者Ａは、申請書のフォーマットを示す文書データ（以下、「申請書データ」という。）をファイルサーバ７０の所定のフォルダに保存し、当該申請書データの印刷を、画像形成装置３０に実行させる（Ｓ１）。その結果、画像形成装置３０から、申請書用紙が出力される。
【００４１】
続いて、申請者Ａは、印刷された申請書用紙に対して必要事項を記入し（Ｓ２）、当該申請書用紙を、画像形成装置３０にスキャンさせる（Ｓ３）。画像形成装置３０は、申請書用紙からスキャンされた画像データを、配信管理サーバ１０に送信する（Ｓ４）。
【００４２】
配信管理サーバ１０は、当該画像データに対してＯＣＲ処理を実行する（Ｓ５）。その結果、申請書用紙に対する記入事項がテキストデータとして出力される。配信管理サーバ１０は、当該テキストデータが添付された電子メールを、検査者Ｂのメールアドレス宛に送信する（Ｓ６）。検査者Ｂは、当該電子メールを閲覧して、ＯＣＲ結果に誤りが無いか否かを確認し、誤りが有る場合は、誤っている箇所を修正する。検査者Ｂは、作業が完了すると、修正が反映されたテキストデータを、所定のフローアドレス宛に、電子メールで送信する（Ｓ７）。
【００４３】
配信管理サーバ１０は、当該テキストデータを画像形成装置３０に送信する（Ｓ８）。画像形成装置３０は、当該テキストデータを印刷する（Ｓ９）。承認者Ｃは、印刷された申請書を参照して、承認が可能であれば、申請書に対してサインを行い、当該申請書のスキャンを、画像形成装置３０に実行させる（Ｓ１０）。画像形成装置３０は、申請書からスキャンされた画像データを、配信管理サーバ１０に送信する（Ｓ１１）。配信管理サーバ１０は、当該画像データを、文書管理サーバ５０に配信する。その結果、当該画像データは、文書管理サーバ５０に登録される。なお、配信前において、配信管理サーバ１０は、当該画像データに対する所定の画像処理によって、承認者Ｃによるサインの正当性のチェック等を行ってもよい。
【００４４】
図５に示される業務フローは、例えば、図６に示されるような複数のワークフローの組み合わせ又は集合によって実現可能である。
【００４５】
図６は、業務フローを実現するためのワークフローの組み合わせの一例を示す図である。図６では、フローＦ００１〜Ｆ００４の四つのワークフローが示されている。各ワークフローにおいて、左端の矩形は、入力処理を示し、右端の矩形は、出力処理を示す。また、右端の矩形と左端の矩形との間の矩形は、中間処理を示す。なお、各矩形内の括弧内に記載された識別情報の意味については、後述される。
【００４６】
フローＦ００１は、配信管理サーバ１０が、ファイルサーバ７０の所定のフォルダに保存された申請書データを入力データとして取得し（フォルダ入力処理）、当該申請書データを画像形成装置３０に配信して、当該申請書データの印刷を画像形成装置３０に印刷させる（印刷配信処理）ワークフローである。
【００４７】
フローＦ００２は、配信管理サーバ１０が、必要事項が記入された申請書用紙からスキャンされた画像データを受信し（スキャン入力処理）、当該画像データに対してＯＣＲ処理を実行し、ＯＣＲ処理の結果として出力されるテキストデータを、検査者Ｂのメールアドレス宛にメール送信する（メール配信処理）ワークフローである。
【００４８】
フローＦ００３は、配信管理サーバ１０が、検査者Ｂによる修正済みのテキストデータをメールによって受信し（メール入力処理）、当該テキストデータを画像形成装置３０に配信して、当該申請書データの印刷を画像形成装置３０に印刷させる（印刷配信処理）ワークフローである。
【００４９】
フローＦ００４は、配信管理サーバ１０が、承認者Ｃによってサインされた申請書からスキャンされた画像データを受信し（スキャン入力処理）、当該画像データを、文書管理サーバ５０に配信する（文書配信処理）ワークフローである。
【００５０】
このように、ユーザからすれば、一つの文書（申請書）の流れが、四つのワークフローに分割される。これは、現実空間におけるユーザによる作業の介在により、ユーザから見た一つの文書の流れを、仮想空間内に閉じて実現することが困難であるためである。すなわち、図５に示される業務フローを、一つのワークフローとして定義することが困難であるからである。
【００５１】
したがって、ユーザは、一つの申請書に関して、四つのワークフローの存在を意識し、各作業に応じていずれのワークフローを実行させる必要が有るのかを意識する必要がある。そこで、本実施の形態では、斯かるユーザの作業負担を軽減するため、ワークフローセットの定義が可能とされる。図６の例では、フローＦ００１〜フローＦ００４の四つのワークフローが一つのワークフローセットを構成する。
【００５２】
以下、配信管理サーバ１０が実行する処理手順について説明する。図７は、配信管理サーバが実行する処理手順の一例を説明するためのフローチャートである。
【００５３】
ジョブ投入部１２は、入力データと、フローＩＤ又はフローセットＩＤ等とを受信すると（Ｓ１０１）、当該入力データ、及びフローＩＤ又はフローセットＩＤ等を含むジョブ情報を、ジョブキュー１５に記憶する（Ｓ１０２）。一つのワークフローの実行が要求された場合、入力データと共にフローＩＤが受信される。一つのワークフローセットの実行が要求された場合、入力データと共にフローセットＩＤが受信される。
【００５４】
例えば、ステップＳ１０１が、スキャン入力処理である場合、ユーザは、画像形成装置３０において、実行対象とするワークフローのフローＩＤ又は実行対象とするワークフローセットのフローセットＩＤを入力して、申請書用紙等の原稿のスキャンを実行する。画像形成装置３０は、当該フローＩＤ又はフローセットＩＤと、原稿からスキャンされた画像データとを、配信管理サーバ１０に送信する。当該フローＩＤ又はフローセットＩＤ、及び画像データは、スキャン入力プラグイン１２１によって受信される。
【００５５】
また、ステップＳ１０１が、フォルダ入力処理である場合、ユーザは、入力データと共に、実行対象とするワークフローのフローＩＤ又は実行対象とするワークフローセットのフローセットＩＤが記述されたファイルを、所定のフォルダに保存しておく。フォルダ入力プラグイン１２３は、入力データと、フローＩＤ又はフローセットＩＤとを当該フォルダから取得する。
【００５６】
また、ステップＳ１０１が、メール入力処理である場合、ユーザは、入力データが添付され、実行対象とするワークフローのフローＩＤ又はワークフローセットのフローセットＩＤが、タイトル又は本文に所定の形式で記述された電子メールを、フローアドレス宛に送信する。メール入力プラグイン１２２は、メールサーバ６０において保持されている、フローアドレス宛の当該電子メールを取得することにより、入力データと、フローＩＤ又はフローセットＩＤとを入力する。
【００５７】
なお、入力データと共にフローセットＩＤが入力される場合であって、当該フローセットＩＤに係るワークフローセット（以下、「対象フローセット」という。）において、実行順が２番目以降のワークフローの実行時には、入力データと共に、フローセットジョブＩＤが入力される。フローセットジョブＩＤとは、ワークフローセットの実行単位であるフローセットジョブごとの識別情報である。換言すれば、対象フローセットにおいて、実行順が１番目のワークフローの実行時には、フローセットジョブＩＤは入力されない。後述より明らかなように、フローセットジョブＩＤは、１番目のワークフローの実行によって割り当てられるからである。
【００５８】
一方、フロー実行制御部１３は、例えば、定期的にジョブキュー１５を参照し、ジョブキュー１５にジョブ情報が記憶されていると、当該ジョブ情報をジョブキュー１５より取り出す（Ｓ１０３）。続いて、フロー実行制御部１３は、フローセットＩＤがジョブ情報に含まれているか否かを判定する（Ｓ１０４）。ジョブ情報にフローセットＩＤが含まれている場合（Ｓ１０４でＹｅｓ）、フロー実行制御部１３は、フローセットジョブＩＤがジョブ情報に含まれているか否かを判定する（Ｓ１０５）。すなわち、当該ジョブ情報が、対象フローセットにおいて２番目以降に実行されるワークフローに関するジョブ情報であるか否かが判定される。
【００５９】
ジョブ情報にフローセットジョブＩＤが含まれていない場合（Ｓ１０５でＹｅｓ）、フロー実行制御部１３は、対象フローセットのフローセットジョブ（以下、「対象フローセットジョブ」という。）に対して、フローセットジョブＩＤを生成する（Ｓ１０６）。
【００６０】
続いて、フロー実行制御部１３は、フローセット定義記憶部１７を参照して、対象フローセットジョブに対する進捗管理テーブルを生成し、当該進捗管理テーブルを進捗情報記憶部１８に記憶する（Ｓ１０７）。
【００６１】
図８は、フローセット定義記憶部の構成例を示す図である。図８に示されるように、フローセット定義記憶部１７は、フローセットＩＤごとに、フローセット構成を記憶する。フローセット構成は、当該フローセットＩＤに係るワークフローセットを構成する各ワークフローのフローＩＤが、その実行順に配列されたものである。図８では、「ｓｈｉｎｓｅｉｓｈｏ」というフローセットＩＤに係るワークフローセットは、ワークフローＦ００１、ワークフローＦ００２、ワークフローＦ００３、ワークフローＦ００４の順にワークフローが実行されるワークフローセットであることが定義されている。
【００６２】
また、図９は、一つのフローセットジョブに対する進捗管理テーブルの構成例を示す図である。
【００６３】
図９に示されるように、進捗管理テーブルは、対象フローセットを構成するワークフローごとに、フローＩＤ及び状態等を記憶する。状態は、フローＩＤに係るワークフローの実行状態を示す情報である。例えば、状態の値としては、「未実行」、「実行中」、及び「完了」等が有る。「未実行」は、ワークフローが未だ実行されていないことを示す。「実行中」は、ワークフローが実行中であることを示す。「完了」は、ワークフローの実行が完了していることを示す。
【００６４】
ステップＳ１０７では、対象フローセットのフローセットＩＤに対してフローセット定義記憶部１７に記憶されているフローＩＤごとに、状態を記憶可能なレコードを含む進捗管理テーブル生成される。進捗管理テーブルにおいて、レコードの並び順は、ワークフローの実行順に従う。また、状態の初期値として、「未実行」が記憶される。なお、生成された進捗管理テーブルは、対象フローセットジョブのフローセットジョブＩＤに関連付けられて記憶される。
【００６５】
一方、ジョブ情報に、フローセットジョブＩＤが含まれている場合（Ｓ１０５でＮｏ）、すなわち、当該ジョブ情報が、対象フローセットにおいて２番目以降に実行されるワークフローに係るジョブ情報である場合、フロー実行制御部１３は、当該フローセットジョブＩＤに関連付けられている進捗管理テーブルを、進捗情報記憶部１８から読み出す（Ｓ１０８）。
【００６６】
続いて、フロー実行制御部１３は、ステップＳ１０７において生成された又はステップＳ１０８において読み出された進捗管理テーブルに基づいて、今回実行すべきワークフローを特定する（Ｓ１０９）。具体的には、進捗管理テーブルにおいて、状態の値が、「未処理」であり、実行順が最も早いワークフローのフローＩＤが特定される。なお、ジョブ情報にフローＩＤが含まれている場合（Ｓ１０４でＮｏ）、当該フローＩＤが、実行対象のワークフローのフローＩＤとして特定される。
【００６７】
続いて、フロー実行制御部１３は、特定されたフローＩＤに対応するフロー定義データに従って、ワークフローの実行を制御する（Ｓ１１０）。なお、ワークフローの実行の開始に伴って、フロー実行制御部１３は、対象フローセットジョブのフローセットジョブＩＤに関連付けられている進捗管理テーブル（図９）において、実行が開始されたワークフローのフローＩＤに対応する状態の値を、「実行中」に更新する。
【００６８】
本実施の形態において、フロー定義データは、フローテーブル、プラグインテーブル、及びデバイステーブル等を含む。
【００６９】
図１０は、フローテーブルの構成例を示す図である。図１０に示されるように、フローテーブルは、フローＩＤごとに、フロー構成を記憶する。フロー構成は、当該フローＩＤに係るワークフローの各処理単位を実行するプラグインの識別情報（以下、「プラグインＩＤ」という。）が、その実行順に配列されたものである。本実施の形態では、便宜上、入力処理に関するプラグインのプラグインＩＤは、「Ｉｎ」で開始されている。中間処理に関するプラグインのプラグインＩＤは、「Ｃｏｎ」で開始されている。出力処理に関するプラグインのプラグインＩＤは、「Ｏｕｔ」で開始されている。なお、以下においては、プラグインＩＤによって、プラグインそのものをも指し示す。
【００７０】
なお、図１０におけるフローＩＤは、図６における各ワークフローの識別番号に対応する。また、図６における各矩形内には、図１０における各プラグインにおいて当該矩形に対応するプラグインのプラグインＩＤが記載されている。
【００７１】
フロー実行制御部１３は、特定されたフローＩＤに対するフロー構成が示す実行順で、各プラグインに処理を実行させる。各プラグインは、当該プラグインに係る処理の実行に際し、プラグインテーブル及びデバイステーブルを参照する。
【００７２】
図１１は、プラグインテーブルの構成例を示す図である。図１１に示されるように、プラグインテーブルは、プラグインごとに、プラグインＩＤ、プラグイン種別、設定情報、及びデバイスＩＤ等を記憶する。
【００７３】
プラグイン種別は、プラグインが実行する処理の種別である。設定情報は、プラグインに対する設定情報である。デバイスＩＤは、外部装置と通信する必要の有るプラグインに関して、当該外部装置の識別情報である。各外部装置の詳細情報は、デバイステーブルに記憶されている。
【００７４】
図１２は、デバイステーブルの構成例を示す図である。図１２に示されるように、デバイステーブルは、デバイスＩＤごとに、デバイス種別及びデバイス情報等を記憶する。デバイス種別は、外部装置の種別を示す情報である。デバイス情報は、主に、プラグインが、外部装置との通信を行うために必要とされる情報である。
【００７５】
フロー実行制御部１３から実行を指示された各プラグインは、当該プラグインのプラグインＩＤに対してプラグインテーブルに記憶されている設定情報に基づいて、当該プラグインに係る処理を実行する。
【００７６】
なお、プラグイン種別が「スキャン入力」であるプラグインの設定情報は、当該プラグインを含むワークフローに対してスキャン画像を入力する画像形成装置３０に転送され、当該画像形成装置３０において利用される。具体的には、当該画像形成装置３０は、当該プラグインの設定情報に係るスキャン設定に基づいてスキャンを実行する。なお、画像形成装置３０への当該プラグインの転送は、例えば、画像形成装置３０の操作パネルを介して、実行対象とするワークフローのフローＩＤ又はワークフローセットのフローセットＩＤの入力に応じて実行される。すなわち、フローＩＤ又はフローセットＩＤが入力されると、画像形成装置３０は、当該フローＩＤに係るワークフロー又はフローセットＩＤに係るワークフローセットにおいて実行対象とされているワークフローのスキャン入力のプラグインの設定情報の取得を配信管理サーバ１０に要求する。配信管理サーバ１０は、当該設定情報を、画像形成装置３０に返信する。
【００７７】
なお、ワークフローが、ワークフローセットの一部の処理として実行される場合、当該ワークフローの出力処理を実行するプラグインは、出力処理の形態に応じた態様で、対象フローセットジョブのフローセットジョブＩＤを出力する。フローセットジョブＩＤは、フロー実行制御部１３からプラグインに通知されてもよい。
【００７８】
例えば、出力形態が、印刷配信である場合、印刷用紙（例えば、申請書用紙）に、当該フローセットジョブＩＤが印字されてもよい。また、メール配信の場合、送信される電子メールにフローセットジョブＩＤが記述されてもよい。
【００７９】
上記のようにして、ワークフローセットのフローセットジョブＩＤが、ワークフローセットを構成する各ワークフローの実行を指示するユーザに対して通知される。
【００８０】
ユーザは、ワークフローセットにおいて２番目以降に実行されるワークフローに関して、例えば、次のような形態で、フローセットジョブＩＤを入力することができる。
【００８１】
スキャン入力の場合、ユーザは、フローセットＩＤの入力と共に、フローセットジョブＩＤを入力する。この場合、画像形成装置３０は、入力データ（スキャンされた画像データ）と共に、フローセットＩＤ及びフローセットジョブＩＤを、配信管理サーバ１０に送信する。スキャン入力プラグイン１２１は、画像形成装置３０から受信した画像データ、フローセットＩＤ、及びフローセットジョブＩＤを含むジョブ情報を、ジョブキュー１５に記憶する。
【００８２】
メール入力の場合、ユーザは、入力データが添付された電子メール内に、所定の形式でフローセットＩＤ及びフローセットジョブＩＤを記述する。メール入力プラグイン１２２は、当該電子メールからフローセットＩＤ及びフローセットジョブＩＤを抽出して、入力データと、当該フローセットＩＤ及びフローセットジョブＩＤとを含むジョブ情報を、ジョブキュー１５に記憶する。
【００８３】
なお、フローセットジョブＩＤが、複数種類のワークフローセットを跨いで一意である場合において、ワークフローに対する入力データの入力時にフローセットジョブＩＤが入力されるときは、フローセットＩＤの入力が省略されてもよい。この場合、フローセットジョブＩＤがジョブ情報に含まれていることをもって、ステップＳ１０４の判定が肯定されてもよい。
【００８４】
一つのワークフローの実行が完了すると、フロー実行制御部１３は、実行されたワークフローが、ワークフローセットを構成するワークフローであるか否かを判定する（Ｓ１１１）。フローセットジョブＩＤがジョブ情報に含まれているか、又はステップＳ１０６において、フローセットジョブＩＤが生成されていれば、実行されたワークフローは、ワークフローセットを構成するワークフローであると判定される。
【００８５】
実行されたワークフローが、ワークフローセットを構成するワークフローである場合（Ｓ１１１でＹｅｓ）、フロー実行制御部１３は、対象フローセットジョブのフローセットジョブＩＤに関連付けられている進捗管理テーブル（図９）において、実行されたワークフローのフローＩＤに対応する状態の値を、「完了」に更新する（Ｓ１１２）。
【００８６】
例えば、図６及び図８に示されるワークフローの集合であるワークフローセット（ｓｈｉｎｓｅｉｓｈｏ）の場合、申請者Ａは、入力データと共に、フローセットＩＤ「ｓｈｉｎｓｅｉｓｈａ」が記述されたファイルを、所定のフォルダに保存しておく。その結果、ワークフローＦ００１に関して、図７の処理が実行される。この際、当該ワークフローセットのフローセットジョブに対して進捗管理テーブルが生成され、ワークフローＦ００１に対する状態が「完了」に更新される。また、当該フローセットジョブのフローセットジョブＩＤが、申請書データと共に、印刷用紙に印字される。
【００８７】
続いて、申請者Ａが、フローセットジョブＩＤを画像形成装置３０に入力し、画像形成装置３０に申請書用紙のスキャンを実行させると、画像形成装置３０は、スキャンされた画像データと共に、当該フローセットジョブＩＤを、配信管理サーバ１０に送信する。配信管理サーバ１０のフロー実行制御部１３は、当該フローセットジョブＩＤに関連付けられている進捗管理テーブルに基づいて、ワークフローＦ００２が実行対象であると判定する。そこで、ワークフローＦ００２に関して、ステップＳ１１０以降が実行される。その結果、進捗管理テーブルにおいて、ワークフローＦ００２の状態は「完了」に更新される。また、検査者Ｂには、当該フローセットジョブＩＤが、ＯＣＲ結果のテキストデータと共に、電子メールによって通知される。
【００８８】
続いて、検査者Ｂは、修正が反映されたテキストデータが添付され、フローセットジョブＩＤが記述された電子メールを、フローアドレス宛に送信する。配信管理サーバ１０のフロー実行制御部１３は、当該フローセットジョブＩＤに関連付けられている進捗管理テーブルに基づいて、ワークフローＦ００３が実行対象であると判定する。そこで、ワークフローＦ００３に関して、ステップＳ１１０以降が実行される。その結果、進捗管理テーブルにおいて、ワークフローＦ００３の状態は「完了」に更新される。また、フローセットジョブＩＤと共に申請書が印刷される。承認者Ｃは、当該申請書を参照して、フローセットジョブＩＤを知ることができる。
【００８９】
続いて、承認者Ｃは、当該フローセットジョブＩＤを画像形成装置３０に入力し、サインが施された申請書のスキャンを、当該画像形成装置３０に実行させる。画像形成装置３０は、スキャンされた画像データと共に、当該フローセットジョブＩＤを、配信管理サーバ１０に送信する。配信管理サーバ１０のフロー実行制御部１３は、当該フローセットジョブＩＤに関連付けられている進捗管理テーブルに基づいて、ワークフローＦ００４が実行対象であると判定する。そこで、ワークフローＦ００４に関して、ステップＳ１１０以降が実行される。その結果、進捗管理テーブルにおいて、ワークフローＦ００４の状態は「完了」に更新される。また、申請書の画像データは、文書管理サーバ５０に登録される。
【００９０】
上述したように、本実施の形態によれば、現実空間における作業によって複数のワークフローに分割された、一つの業務フローを、一つのワークフローセットとして定義することができる。また、ワークフローセットを構成する各ワークフローに対して入力データを入力するユーザは、前段のワークフローによって出力されたフローセットジョブＩＤを入力すればく、フローＩＤの入力は必要とされない。したがって、各ユーザが、いずれのワークフローを実行すべきであるのかを認識する必要性を低減させることができる。その結果、文書に関する作業効率を向上させることができる。
【００９１】
また、進捗管理テーブルは、フローセットジョブごとに生成されるため、同一のフローセットＩＤに係るフローセットジョブが並列的に実行された場合でも、配信管理サーバ１０は、フローセットジョブごとに、次に実行すべきワークフローを特定することができる。
【００９２】
なお、本実施の形態において、配信管理サーバ１０は、データ処理装置の一例である。ジョブ投入部１２は、受信部の一例である。フロー実行制御部１３は、実行部の一例である。フローセット定義記憶部１７は、第一の記憶部の一例である。進捗情報記憶部１８は、第二の記憶部の一例である。ワークフローは、処理フローの一例である。
【００９３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９４】
１            配信管理システム
１０          配信管理サーバ
１２          ジョブ投入部
１３          フロー実行制御部
１４          処理部
１５          ジョブキュー
１６          フロー定義記憶部
１７          フローセット定義記憶部
１８          進捗情報記憶部
２０          クライアント端末
３０          画像形成装置
５０          文書管理サーバ
６０          メールサーバ
７０          ファイルサーバ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        スキャン入力プラグイン
１２２        メール入力プラグイン
１２３        フォルダ入力プラグイン
Ｂ            バス
【先行技術文献】
【特許文献】
【００９５】
【特許文献１】特開２００８−９７５８６号公報
【図１】
2015060306.tif 000003
【図２】
2015060306.tif 000004
【図３】
2015060306.tif 000005
【図４】
2015060306.tif 000006
【図５】
2015060306.tif 000007
【図６】
2015060306.tif 000008
【図７】
2015060306.tif 000009
【図８】
2015060306.tif 000010
【図９】
2015060306.tif 000011
【図１０】
2015060306.tif 000012
【図１１】
2015060306.tif 000013
【図１２】
2015060306.tif 000014