(57)【要約】【課題】効率良くワークフロー定義を管理する。【解決手段】ワークフローを実行するための１以上のプログラムを搭載し、ワークフローの実行要求を受け付ける情報処理装置であって、１以上のプログラムにより実行される少なくとも１以上の処理の実行手順を定義した、ワークフローの定義情報を記憶するワークフロー記憶部と、ワークフロー記憶部に記憶したワークフローの定義情報から、実行するワークフローの選択を受け付ける選択部と、選択されたワークフローに対する編集操作に応じて、実行するワークフローを編集する編集部と、編集後の実行するワークフローの実行要求を受け付けたことに応じて、１以上のプログラムにより該ワークフローを実行するワークフロー制御部と、を備える情報処理装置を提供する。【選択図】図２
2014229094.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローを実行するための１以上のプログラムを搭載し、前記ワークフローの実行要求を受け付ける情報処理装置であって、
前記１以上のプログラムにより実行される少なくとも１以上の処理の実行手順を定義した、ワークフローの定義情報を記憶するワークフロー記憶部と、
前記ワークフロー記憶部に記憶した前記ワークフローの定義情報から、実行するワークフローの選択を受け付ける選択部と、
選択された前記ワークフローに対する編集操作に応じて、前記実行するワークフローを編集する編集部と、
編集後の前記実行するワークフローの実行要求を受け付けたことに応じて、前記１以上のプログラムにより該ワークフローを実行するワークフロー制御部と、
を備える情報処理装置。
【請求項２】
前記ワークフローの実行要求を送信する要求元の装置とネットワークを介して通信する通信部をさらに備え、
前記編集部は、前記通信部を介して前記要求元の装置に選択された前記ワークフローの編集画面を表示させて、前記要求元の装置においてなされたユーザの編集操作に応じて、前記実行するワークフローを編集する
請求項１に記載の情報処理装置。
【請求項３】
前記編集部は、前記１以上のプログラムにより実行される処理のうち、前記ワークフローの定義情報において定義されていない処理を、定義された前記ワークフローに追加する処理として編集することのできる
請求項１または２に記載の情報処理装置。
【請求項４】
前記編集部は、前記１以上のプログラムにより実行される処理のうち、選択された前記ワークフロー定義に含まれない処理が存在する場合、前記ワークフロー定義を編集することのできる前記編集画面を表示させる
請求項２に記載の情報処理装置。
【請求項５】
前記編集部は、実行可能な複数の前記プログラムの中に、選択された前記ワークフロー定義に含まれない前記プログラムが存在する場合、前記ワークフロー定義を編集することのできる前記編集画面を表示させる
請求項２に記載の情報処理装置。
【請求項６】
前記編集部は、管理者端末が何れかのワークフロー定義を最後に編集した後に、追加または更新された前記プログラムが存在する場合、前記ワークフロー定義を編集することのできる前記編集画面を表示させる
請求項５に記載の情報処理装置。
【請求項７】
前記編集部は、選択された前記ワークフロー定義が管理者端末により最後に編集された後に、追加または更新された前記プログラムが存在する場合、前記ワークフロー定義を編集することのできる前記編集画面を表示させる
請求項５に記載の情報処理装置。
【請求項８】
前記編集部は、実行すべき前記プログラムを含まない空の前記ワークフロー定義に対して、新たな前記プログラムの実行を追加する
請求項１または２に記載の情報処理装置。
【請求項９】
ワークフローを実行するための１以上のプログラムを搭載し、前記ワークフローの実行要求を受け付ける情報処理装置で実行する情報処理方法であって、
前記１以上のプログラムにより実行される少なくとも１以上の処理の実行手順を定義した、ワークフローの定義情報をワークフロー記憶部に記憶させる記憶ステップと、
前記ワークフロー記憶部に記憶した前記ワークフローの定義情報から、実行するワークフローの選択を受け付ける選択ステップと、
選択された前記ワークフローに対する編集操作に応じて、前記実行するワークフローを編集する編集ステップと、
編集後の前記実行するワークフローの実行要求を受け付けたことに応じて、前記１以上のプログラムにより該ワークフローを実行するワークフロー制御ステップと、
を含む情報処理方法。
【請求項１０】
ワークフローを実行するための１以上のプログラムを搭載し、前記ワークフローの実行要求を受け付ける情報処理装置により実行されるコンピュータプログラムであって、
前記情報処理装置を、
前記１以上のプログラムにより実行される少なくとも１以上の処理の実行手順を定義した、ワークフローの定義情報を記憶するワークフロー記憶部と、
前記ワークフロー記憶部に記憶した前記ワークフローの定義情報から、実行するワークフローの選択を受け付ける選択部と、
選択された前記ワークフローに対する編集操作に応じて、前記実行するワークフローを編集する編集部と、
編集後の前記実行するワークフローの実行要求を受け付けたことに応じて、前記１以上のプログラムにより該ワークフローを実行するワークフロー制御部と、
して機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理を実行する情報処理装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来より、スキャナ装置は、複数の処理の手順を予めワークフローとして定義しておき、取り込んだ画像データに対してワークフローにより定義された処理を実行する機能を有する（例えば、特許文献１参照）。ワークフローを定義することにより、スキャナ装置は、取り込んだ画像データを、サーバ内の指定されたフォルダーに自動で送信したり、自動でメール送信したりすることができる。また、このような処理において、取り込んだ画像データに対して、画像補正をしたり、文字認識をしたりする場合もある。
【０００３】
このようにワークフローを定義することにより、スキャナ装置によれば、オフィス等で使用される紙文書を電子化する場合に、その紙文書に対応した定型化した処理を、正確且つ簡易に実行することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、周辺のサーバ等の更新または新たなプログラムの提供等により、ワークフローに新たな処理の追加が可能となる場合がある。例えば、新たなサーバの導入により、その新たなサーバへスキャンしたデータを配信する処理を、ワークフローに追加することが可能となる場合がある。このような場合、管理者は、既存のワークフローの内容を検討して、既存のワークフローを更新したり、新たなワークフローを作成したりして、これによりユーザは新たに定義されたワークフローを選択し実行することができる。
【０００５】
しかしながら、オフィス等で多数の紙文書または業務が発生する場合、登録されるワークフローの数も多数となる。従って、新たに追加された処理を利用したワークフローをユーザが実行するためには、管理者が既存のワークフローを更新したり新たなワークフローを作成したりするまで待たなければならず、そのことがユーザの業務に支障を来たす可能性がある。このような問題は、スキャナ装置によって取り込んだ画像データに対するワークフローの実行に限らず、追加可能なプログラムや装置等を利用してワークフローを実行する利用形態において生じ得る。
【０００６】
本発明は、上記に鑑みてなされたものであって、処理の実行手順を定義するワークフロー定義を効率良く管理することができる情報処理装置、情報処理方法およびコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る情報処理装置は、ワークフローを実行するための１以上のプログラムを搭載し、前記ワークフローの実行要求を受け付ける情報処理装置であって、前記１以上のプログラムにより実行される少なくとも１以上の処理の実行手順を定義した、ワークフローの定義情報を記憶するワークフロー記憶部と、前記ワークフロー記憶部に記憶した前記ワークフローの定義情報から、実行するワークフローの選択を受け付ける選択部と、選択された前記ワークフローに対する編集操作に応じて、前記実行するワークフローを編集する編集部と、編集後の前記実行するワークフローの実行要求を受け付けたことに応じて、前記１以上のプログラムにより該ワークフローを実行するワークフロー制御部と、を備える。
【発明の効果】
【０００８】
本発明によれば、処理の実行手順を定義するワークフロー定義を効率良く管理することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る配信システム１０の構成を示す図である。
【図２】図２は、実施形態に係るスキャナ装置２０および配信サーバ３０の構成を示す図である。
【図３】図３は、ワークフロー定義の一例を示す図である。
【図４】図４は、ワークフロー定義のＸＭＬによる記述例を示す図である。
【図５】図５は、スキャナ装置２０および配信サーバ３０の処理フローを示す図である。
【図６】図６は、ワークフロー定義の編集処理の第１例の処理フローを示す図である。
【図７】図７は、ワークフロー定義の編集開始時における編集画面の一例を示す図である。
【図８】図８は、ワークフロー定義の編集中における編集画面の一例を示す図である。
【図９】図９は、ワークフロー定義を新規に作成する場合における編集画面の一例を示す図である。
【図１０】図１０は、ワークフロー定義の編集処理の第２例の処理フローを示す図である。
【図１１】図１１は、図１０の第２例の編集処理で用いられる編集済フラグの一例を示す図である。
【図１２】図１２は、図１１の編集済フラグの更新処理の処理フローを示す図である。
【図１３】図１３は、ワークフロー定義毎且つプラグインプログラム毎に割り当てられる編集済フラグの一例を示す図である。
【図１４】図１４は、図１３の編集済フラグの更新処理の処理フローを示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、実施の形態を詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１１】
図１は、実施形態に係る配信システム１０の構成を示す図である。配信システム１０は、少なくとも一つのスキャナ装置２０と、配信サーバ３０と、少なくとも一つのデータ蓄積装置４０と、管理者端末５０とを備える。
【００１２】
配信サーバ３０、それぞれのスキャナ装置２０および管理者端末５０は、ネットワークを介して互いに接続される。また、配信サーバ３０とそれぞれのデータ蓄積装置４０は、ネットワークを介して互いに接続される。
【００１３】
スキャナ装置２０は、画像取込装置の一例であって、用紙等をスキャンして画像データを生成する。スキャナ装置２０は、スキャナ機能とともに、ファクシミリ機能、コピー機能およびプリンタ機能のうちの少なくとも１つを有する複合機であってもよい。スキャナ装置２０は、生成した画像データをネットワークを介して配信サーバ３０へと送信する。
【００１４】
配信サーバ３０は、１台以上の情報処理装置から構成される。配信サーバ３０は、少なくとも一つのスキャナ装置２０のそれぞれから、画像データを取得する。
【００１５】
配信サーバ３０は、スキャナ装置２０から取得した画像データに対して、少なくとも一つの処理を予め定められた順序で実行する。配信サーバ３０は、一例として、スキャナ装置２０から取得した画像データに対して、フィルタ処理（画像補正、ファイル形式の変換、文字認識、バーコード読み取り、および、文書情報の抽出等）を実行する。そして、配信サーバ３０は、スキャナ装置２０から取得した画像データおよびファイル処理により生成された各種の文書情報を、予め定められたデータ蓄積装置４０へと送信して蓄積させる。
【００１６】
少なくとも一つのデータ蓄積装置４０のそれぞれは、画像データを蓄積する装置である。データ蓄積装置４０は、一例として、Ｗｉｎｄｏｗｓ（登録商標）の共有フォルダーを管理するファイルサーバ４０−１、ＦＴＰ（File  Transfer  Protocol）サーバ４０−２またはＷｅｂＤＡＶ（Web-based  Distributed  Authoring  and  Versioning）サーバ４０−３等である。また、データ蓄積装置４０は、一例として、SharePointサーバまたは電子メールの送信サーバ等であってもよい。
【００１７】
管理者端末５０は、配信システム１０の管理者により操作されるコンピュータである。管理者端末５０は、ネットワークを介して配信サーバ３０に対して各種の設定をする。
【００１８】
ここで、配信サーバ３０は、スキャナ装置２０により取り込まれた画像データに対する処理をコンピュータに実行させるためのプラグインプログラム（処理プログラム）を、予め記憶する。そして、配信サーバ３０は、プラグインプログラムを実行することにより、対応するフィルタ処理およびデータの送信処理を実行する。
【００１９】
例えば、配信サーバ３０は、画像補正を実行させるためのプラグインプログラム、ファイル形式の変換を実行させるためのプラグインプログラム、ファイルサーバ４０−１へデータを送信させるためのプラグインプログラム、および、ＦＴＰサーバ４０−２へデータを送信させるためのプラグインプログラム等を、予め記憶する。そして、配信サーバ３０は、それぞれのプラグインプログラムを実行することにより、画像補正、ファイル形式の変換、ファイルサーバ４０−１へのデータの送信、および、ＦＴＰサーバ４０−２へのデータの送信を実行する。
【００２０】
また、配信サーバ３０は、少なくとも１つのプラグインプログラムによって実行される１以上の処理の実行手順を示すワークフロー定義（ワークフローの定義情報）を、予め記憶する。配信サーバ３０は、一例として、複数個のワークフロー定義を記憶する。
【００２１】
配信サーバ３０は、スキャン処理に先立って、スキャナ装置２０にワークフロー定義の選択画面を提供して、何れかのワークフロー定義をユーザに選択させる。配信サーバ３０は、ユーザがワークフロー定義を選択した後、スキャナ装置２０がスキャン処理を実行すると、スキャナ装置２０により取り込まれた画像データをネットワークを介して取得する。そして、配信サーバ３０は、スキャナ装置２０から画像データを取得すると、ワークフロー定義に従ってプラグインプログラムを実行する。これにより、配信サーバ３０は、スキャナ装置２０により取り込まれた画像データに対して、予め定められた処理を予め定められた順序で実行することができる。
【００２２】
なお、配信サーバ３０は、スキャナ装置２０に一体的に組み込まれていてもよい。また、配信システム１０は、画像取込装置として、スキャナ装置２０に代えてまたは加えて、撮像装置またはファクシミリ装置等を備えてもよい。また、データ蓄積装置４０は、配信サーバ３０に直接接続された装置であってもよいし、配信サーバ３０と一体的に構成された装置であってもよい。
【００２３】
図２は、実施形態に係るスキャナ装置２０および配信サーバ３０の構成を示す図である。スキャナ装置２０は、操作パネル６１と、表示制御部６２と、情報保持部６３と、スキャナ部６４と、通信部６５とを有する。
【００２４】
操作パネル６１は、ユーザに対して画面を表示するとともに、操作ボタンおよびテキスト入力ボックスを介してユーザからの操作入力を受け付ける。操作パネル６１は、一例として、タッチパネルおよび各種操作ボタン等を含む。
【００２５】
表示制御部６２は、操作パネル６１を制御する。情報保持部６３は、操作パネル６１に表示する画像および操作パネル６１に対して入力された情報を記憶する。スキャナ部６４は、原稿台にセットされた用紙等をスキャンして画像データを生成する。
【００２６】
通信部６５は、ネットワークを介して配信サーバ３０と通信する。通信部６５は、一例として、操作パネル６１に表示する情報等を配信サーバ３０から取得するとともに、操作パネル６１に対して入力された情報を配信サーバ３０へと送信する。また、通信部６５は、一例として、スキャナ部６４により取り込んだ画像データを配信サーバ３０へと送信する。
【００２７】
配信サーバ３０は、通信部７１と、プログラム実行部７２と、ワークフロー記憶部７３と、選択部７４と、編集部７５と、設定部７６と、選択情報記憶部７７と、編集後ワークフロー記憶部７８と、設定情報記憶部７９と、ワークフロー制御部８０とを有する。
【００２８】
通信部７１は、ネットワークを介してスキャナ装置２０、データ蓄積装置４０および管理者端末５０と通信する。
【００２９】
プログラム実行部７２は、予め登録された複数のプラグインプログラムを、ワークフロー制御部８０の制御に従って実行する。
【００３０】
ワークフロー記憶部７３は、少なくとも一つのワークフロー定義を記憶する。それぞれのワークフロー定義は、ワークフローを定義する権限を有する管理者の管理者端末５０から管理者権限により配信サーバ３０にアクセスされ、設定（更新または追加）がされるものとするが、この限りではない。少なくとも、ユーザがスキャナ装置２０を利用してワークフローを実行するときは、既に記憶されているワークフロー定義の中から所望のワークフローを選択する。
【００３１】
選択部７４は、スキャナ装置２０による画像データの取り込みに先立って、スキャナ装置２０に対するユーザの操作に応じて、複数のワークフロー定義のうち何れか１つのワークフロー定義（実行するワークフロー）の選択を受け付ける。選択部７４は、一例として、通信部７１を介して、スキャナ装置２０の操作パネル６１にワークフロー定義の選択画面を表示させ、選択画面に対する操作に応じてワークフロー定義の選択を受け付ける。そして、選択部７４は、受け付けた選択内容を選択情報記憶部７７に記憶させる。
【００３２】
編集部７５は、スキャナ装置２０による画像データの取り込みに先立って、スキャナ装置２０に対するユーザの操作に応じて、選択されたワークフロー定義を編集する。編集部７５は、一例として、通信部７１を介して、スキャナ装置２０の操作パネル６１に選択されたワークフロー定義の編集画面を表示させ、編集画面に対するワークフロー定義の編集操作を受け付ける。編集部７５は、一例として、受け付けた操作内容に応じて、ワークフロー記憶部７３に記憶されたワークフロー定義を編集する。そして、編集部７５は、編集後のワークフロー定義を編集後ワークフロー記憶部７８に記憶させる。
【００３３】
設定部７６は、選択されたワークフロー定義または編集されたワークフロー定義に従って実行されるそれぞれのプラグインプログラムの処理に必要となる設定情報を受け付ける。設定部７６は、一例として、通信部７１を介して、スキャナ装置２０の操作パネル６１に設定情報の入力画面を表示させ、入力画面に対して入力された設定情報を受け付ける。そして、設定部７６は、受け付けた設定情報を設定情報記憶部７９に記憶させる。
【００３４】
選択情報記憶部７７は、選択部７４により選択された選択情報を記憶する。編集後ワークフロー記憶部７８は、編集部７５による編集後のワークフロー定義を記憶する。設定情報記憶部７９は、設定部７６により受け付けた設定情報を記憶する。
【００３５】
ワークフロー制御部８０は、スキャナ装置２０による画像データの取り込みがされて、通信部７１がスキャナ装置２０により取り込まれた画像データを受信すると、選択情報記憶部７７に記憶された選択情報を参照して、ユーザに選択されたワークフロー定義をワークフロー記憶部７３から読み出す。なお、ワークフロー制御部８０は、ワークフロー定義が編集部７５により編集されている場合には、編集後ワークフロー記憶部７８から、編集後のワークフロー定義を読み出す。
【００３６】
そして、ワークフロー制御部８０は、読み出したワークフロー定義または編集後のワークフロー定義に従って、少なくとも一つのプラグインプログラムをプログラム実行部７２に実行させる。また、この場合において、ワークフロー制御部８０は、それぞれのプラグインプログラムの実行の際に、設定情報記憶部７９から対応する設定情報を読み出して、プラグインプログラムに受け渡す。
【００３７】
図３は、ワークフロー定義の一例を示す図である。配信サーバ３０は、スキャナ装置２０がスキャン処理をした場合、例えば、図３に示されるようなワークフロー定義に従って、プラグインプログラムを実行させる。
【００３８】
配信サーバ３０は、スキャナ装置２０が取り込んだ画像データを受信すると、まず、例えば、第１の処理として、バーコード分割／認識をするプラグインプログラムを実行する。バーコード分割／認識処理は、画像データ内の所定の位置のバーコードを画像データから抽出して、バーコードの内容を取得する処理である。
【００３９】
続いて、例えば、第２の処理として、配信サーバ３０は、ＸＭＬ（Extensible  Markup  Language）スタイルシート変換をするプラグインプログラムを実行する。ＸＭＬスタイルシート変換は、画像データの書誌情報をＸＭＬ形式のデータに変換する処理である。
【００４０】
続いて、例えば、第３の処理として、配信サーバ３０は、フォルダー配信をするプラグインプログラムを実行する。フォルダー配信は、ネットワーク上のファイルサーバ４０−１の共有フォルダーに画像データを送信して蓄積させる処理である。また、例えば、第４の処理として、配信サーバ３０は、第３の処理（フォルダー配信）と並行して、ＦＴＰ配信をするプラグインプログラムを実行する。ＦＴＰ配信は、ネットワーク上のＦＴＰサーバ４０−２にデータをＦＴＰで送信して蓄積させる処理である。
【００４１】
図４は、ワークフロー定義のＸＭＬによる記述例を示す図である。配信サーバ３０は、コンピュータが配信プログラムを実行することにより、システム構成が実現される。配信プログラムは、一例として、オペレーティングシステム上で実現されるＪａｖａＶＭ（仮想マシン）上で動作する。
【００４２】
そして、この場合、ワークフロー定義は、一例として、ＸＭＬにより記述された文書により実現される。例えば、図３に示したワークフロー定義は、一例として、図４に示すようなコードで実現される。
【００４３】
図５は、スキャナ装置２０および配信サーバ３０の処理フローを示す図である。まず、ステップＳ１１において、配信サーバ３０は、ユーザが、用紙をスキャナ装置２０の原稿台にセットして、特定のアプリケーションソフトウェア（配信サーバ３０にアクセスしてワークフローを実行するためのアプリケーションソフトウェア）を選択するまで（例えば特定のアプリケーションソフトウェアのアイコンボタンを押すまで）処理を待機する。特定のアプリケーションソフトウェアが選択された場合（ステップＳ１１のＹｅｓ）、配信サーバ３０は、処理をステップＳ１２に進める。
【００４４】
続いて、ステップＳ１２において、配信サーバ３０は、ワークフロー定義の選択処理をする。具体的には、配信サーバ３０は、ワークフロー記憶部７３に記憶するワークフロー定義を選択させるための選択画面をスキャナ装置２０の操作パネル６１に表示させ、ユーザによるワークフロー定義の選択を受け付ける。ワークフロー定義の選択が完了すると、配信サーバ３０は、処理をステップＳ１３に進める。
【００４５】
続いて、ステップＳ１３において、配信サーバ３０は、スキャナ装置２０の操作パネル６１に編集画面を表示して、ユーザの操作に応じて選択したワークフロー定義の編集処理を行い、編集後ワークフロー記憶部７８に記憶する。配信サーバ３０は、選択したワークフロー定義の編集処理が完了すると、処理をステップＳ１４に進める。
【００４６】
なお、ステップＳ１３では、選択したワークフロー定義が編集されない場合もある。ステップＳ１３の詳細な処理の内容については、図６以降で説明する。
【００４７】
続いて、ステップＳ１４において、配信サーバ３０は、選択したワークフロー定義または選択し編集したワークフロー定義に基づくワークフローの実行に際して入力する文書情報の入力画面をスキャナ装置２０の操作パネル６１に表示し、ユーザによる入力操作に応じて取り込んだ画像データに付随する文書情報（例えば、作成したユーザ名、会社名等）を設定する。なお、ステップＳ１４で設定すべき項目は、管理者端末５０を用いて管理者により予め設定されているか、プラグインプログラムに予め定義されている。また、文書情報の少なくとも一部は、予め入力されているか、スキャナ装置２０あるいは配信サーバ３０によって動的に入力されていてもよい。
【００４８】
続いて、ステップＳ１５において、配信サーバ３０は、選択したワークフロー定義または選択し編集したワークフロー定義に基づくワークフローの実行に際して入力する配信パラメータの入力画面をスキャナ装置２０の操作パネル６１に表示し、ユーザによる入力操作に応じて取り込んだ画像データの送信先等に関する配信パラメータ（例えば、配信先のサーバ名またはメールアドレス等）を設定する。なお、ステップＳ１５で設定すべき項目は、管理者端末５０を用いて管理者により予め設定されているか、プラグインプログラムに予め定義されている。また、配信パラメータの少なくとも一部は、予め入力されているか、スキャナ装置２０あるいは配信サーバ３０によって動的に入力されていてもよい。
【００４９】
続いて、ステップＳ１６において、配信サーバ３０は、選択したワークフロー定義または選択し編集したワークフロー定義に基づくワークフローの実行に際して入力する読み取りパラメータの入力画面をスキャナ装置２０の操作パネル６１に表示し、ユーザによる入力操作に応じて画像データの読み取りパラメータ（文書名、解像度、ファイル形式、ＯＣＲまたは補正処理のパラメータ等）を設定する。なお、ステップＳ１６で設定すべき項目は、管理者端末５０を用いて管理者により予め設定されているか、プラグインプログラムに予め定義されている。また、読み取りパラメータの少なくとも一部は、予め入力されているか、スキャナ装置２０あるいは配信サーバ３０によって動的に入力されていてもよい。なお、文書情報、配信パラメータ、読み取りパラメータの設定入力に関しては、順序は問わず、例えば１つの入力画面で表示し、任意の順序でユーザが入力してもよい。
【００５０】
続いて、ステップＳ１７において、スキャナ装置２０は、操作パネル６１のスタートボタンが押されたか否かを判断する。スキャナ装置２０は、スタートボタンが押された場合（ステップＳ１７のＹｅｓ）、処理をステップＳ１８に進める。
【００５１】
続いて、ステップＳ１８において、スキャナ装置２０は、原稿台にセットされている用紙をスキャンして画像データを生成する。そして、スキャナ装置２０は、画像データとワークフローの実行要求とをネットワークを介して配信サーバ３０に送信する。
【００５２】
続いて、ステップＳ１９において、実行要求を受信した配信サーバ３０は、スキャナ装置２０により取り込まれた画像データに対して、選択されたワークフロー定義（ステップＳ１２において選択されたワークフロー定義）または編集されたワークフロー定義（ステップＳ１３において編集されたワークフロー定義）と各種の設定情報（ステップＳ１４〜ステップＳ１６において設定された情報）に従ってプラグインプログラムを順次に実行することで、要求されたワークフローを実行する。これにより、配信サーバ３０は、スキャナ装置２０により取り込まれた画像データに対して予め定められたフィルタ処理を実行して、予め定められたデータ蓄積装置４０に画像データ等を送信して蓄積させることができる。
【００５３】
図６は、ワークフロー定義の編集処理の第１例の処理フローを示す図である。配信サーバ３０の編集部７５は、図５のステップＳ１３において、図６に示す処理を実行する。
【００５４】
ステップＳ２１において、編集部７５は、選択されたワークフロー定義に含まれるプラグインプログラムを特定する。編集部７５は、一例として、ＸＭＬ文書により記述されたワークフロー定義を解析して、選択されたワークフロー定義に含まれるプラグインプログラムを特定する。
【００５５】
続いて、ステップＳ２２において、編集部７５は、配信サーバ３０が実行可能な全てのプラグインプログラムを特定する。編集部７５は、一例として、配信サーバ３０が記憶する全てのプラグインプログラムを特定する。
【００５６】
続いて、ステップＳ２３において、編集部７５は、実行可能なプラグインプログラムの中に、選択されたワークフロー定義に含まれないプラグインプログラムが存在するか否かを判断する。選択されたワークフロー定義に含まれないプラグインプログラムが存在しない場合（ステップＳ２３のＮｏ）、編集部７５は、選択されたワークフロー定義を編集せずに、本フローを抜けて処理を終了する。選択されたワークフロー定義に含まれないプラグインプログラムが存在する場合（ステップＳ２３のＹｅｓ）、編集部７５は、処理をステップＳ２４に進める。
【００５７】
ステップＳ２４において、編集部７５は、選択されたワークフロー定義に含まれないプラグインプログラムを、追加可能なプラグインプログラムとして特定する。続いて、ステップＳ２５において、編集部７５は、ワークフロー定義を編集するか編集しないかをユーザに問い合わせる画面を表示する。編集しないことをユーザが選択した場合（ステップＳ２５のＮｏ）、選択されたワークフロー定義を編集せずに、本フローを抜けて処理を終了する。編集することをユーザが選択した場合（ステップＳ２５のＹｅｓ）、編集部７５は、処理をステップＳ２６に進める。なお、ステップＳ２５の問い合わせ画面の表示を省略して処理をステップＳ２６に進めてもよい。
【００５８】
ステップＳ２６において、編集部７５は、スキャナ装置２０の操作パネル６１に、選択されたワークフロー定義の編集画面を表示させ、編集画面に対するワークフロー定義の編集操作を受け付ける。そして、編集部７５は、受け付けた操作内容に応じて、ワークフロー記憶部７３に記憶されたワークフロー定義を編集する。
【００５９】
例えば、編集部７５は、ＸＭＬ文書で記述されたワークフロー定義を操作内容に応じて編集する。そして、編集部７５は、編集が完了すると、本フローを抜けて処理を終了する。
【００６０】
図７は、ワークフロー定義の編集開始時における編集画面の一例を示す図である。編集部７５は、一例として、図７に示すような、編集画面をスキャナ装置２０の操作パネル６１に表示する。
【００６１】
編集画面には、選択されたワークフロー定義を示すフローチャート９０が表示されている。フローチャート９０は、スタートを示すスタートマーク９１と、実行されるプラグインプログラムを示すアイコン９２（９２−１〜９２−４）と、矢印９３（９３−１〜９３−４）とを含む。矢印９３は、スタートマーク９１およびそれぞれのアイコン９２の間を接続して、プラグインプログラムの実行順序を表す。
【００６２】
また、編集画面には、追加可能なプラグインプログラムを示すアイコン９４（９４−１〜９４−２）が、フローチャート９０の表示エリアとは別の表示エリアに表示されている。
【００６３】
図８は、ワークフロー定義の編集中における編集画面の一例を示す図である。編集部７５は、例えば、図８に示されるように、ユーザが、追加可能なプラグインプログラムを示すアイコン９４−２をフローチャート９０に追加する操作をすることに応じて、ワークフロー定義に対して新たなプラグインプログラムの実行を追加する。これにより、編集部７５は、新たなプラグインプログラムを組み込んだワークフロー定義を生成することができる。
【００６４】
なお、編集部７５は、ワークフロー定義に対して、既に組み込まれたプラグインプログラムをワークフロー定義から削除したり、既に組み込まれたプラグインプログラムの実行順序を変更したりすることは禁止してもよい。これにより、編集部７５は、管理者により作成されたワークフロー定義をユーザが大幅に変更することを禁止できる。つまり、ワークフロー定義は、管理者が各ユーザに利用させる適切なワークフローを定義したものであることが想定され得るため、そのように定義したワークフローに対して新たなプラグインプログラムによる処理を追加することは許可しても、定義したワークフローから処理を削除するような編集は許可したくない場合がある。このような場合に、編集部７５に処理内容に応じた（ユーザ操作に応じた）編集の制限機能を持たせることが有用となる。
【００６５】
なお、ワークフロー定義の編集をできるようにするか否かを決定するための判断として、実行可能なプラグインプログラムの中に選択されたワークフロー定義に含まれないプラグインプログラムが存在するか否かを判断する方法は一例である。例えば、実行可能なプラグインプログラムによって実行可能な処理の中に選択されたワークフロー定義に含まれていない処理が存在するか否かを判断する方法でもよい。例えば、プラグインプログラムの中には複数の処理を行うことの出来るものがあってもよく、複数の処理の中から１の処理を実行するワークフローが定義されている場合等、既にワークフロー定義に含まれているプラグインプログラムであっても、該プラグインプログラムによって実行される処理を編集できるようにしてもよい。このとき、既にワークフロー定義に含まれているプラグインプログラムで処理の編集（追加等）が出来るものについては、図７のフローチャート９０において他のプラグインプログラムと区別ができるように表示色を変えて表示してもよいし、別の表示領域に識別できるように表示してもよい。
【００６６】
図９は、ワークフロー定義を新規に作成する場合における編集画面の一例を示す図である。選択部７４は、ワークフロー定義をユーザに選択させる場合に、実行すべきプラグインプログラムを含まない空のワークフロー定義を選択してもよい。例えば、選択部７４は、選択画面に新規作成ボタンを表示して、新規作成ボタンが押されたことに応じて、空のワークフロー定義を選択する。
【００６７】
この場合、編集画面には、最初に、スタートマーク９１のみを含むフローチャート９０が表示される。また、編集画面には、配信サーバ３０が実行可能な全てのプラグインプログラムを示すアイコン９４（９４−１〜９４−６）が、フローチャート９０とは別のエリアに表示される。そして、編集部７５は、ユーザが、スタートマーク９１のみを含むフローチャート９０にアイコン９４を追加することに応じて、ワークフロー定義に対して新たなプラグインプログラムの実行を追加する。
【００６８】
これにより、編集部７５は、スキャナ装置２０の操作パネル６１上で、ワークフロー定義を新規に作成することができる。
【００６９】
図１０は、ワークフロー定義の編集処理の第２例の処理フローを示す図である。配信サーバ３０の編集部７５は、例えば、図５のステップＳ１３において、図１０に示す処理を実行してもよい。
【００７０】
まず、ステップＳ３１〜ステップＳ３３において、編集部７５は、図６に示したステップＳ２１〜ステップＳ２３と同様の処理を実行する。ステップＳ３３において、選択されたワークフロー定義に含まれないプラグインプログラムが存在する場合（ステップＳ３３のＹｅｓ）、編集部７５は、処理をステップＳ３４に進める。
【００７１】
ステップＳ３４において、編集部７５は、選択されたワークフロー定義に含まれないプラグインプログラムの中に、管理者端末５０が何れかのワークフロー定義を最後に編集した後に、追加または更新されたプラグインプログラムが存在するか否かを判断する。
【００７２】
編集部７５は、一例として、図１１に示すような、プラグインプログラム毎に割り当てられた編集済フラグがＯＦＦ（例えば０）であるか否かを、選択されたワークフロー定義に含まれないプラグインプログラムのそれぞれについて判断する。なお、編集済フラグは、そのプラグインプログラムが追加または更新された場合にはＯＦＦ（例えば０）とされ、管理者端末５０が何れかのワークフロー定義を編集した場合には、ＯＮ（例えば１）とされる。
【００７３】
選択されたワークフロー定義に含まれないプラグインプログラムの中に、追加または更新されたプラグインプログラムが存在しない場合、すなわち、編集済フラグがＯＦＦであるプラグインプログラムが存在しない場合には（ステップＳ３４のＮｏ）、編集部７５は、選択されたワークフロー定義を編集せずに、本フローを抜けて処理を終了する。
【００７４】
選択されたワークフロー定義に含まれないプラグインプログラムの中に、追加または更新されたプラグインプログラムが存在する場合、すなわち、編集済フラグがＯＦＦであるプラグインプログラムが存在する場合には（ステップＳ３４のＹｅｓ）、編集部７５は、処理をステップＳ３５に進める。
【００７５】
ステップＳ３５において、編集部７５は、選択されたワークフロー定義に含まれないプラグインプログラムであって、管理者端末５０が何れかのワークフロー定義を最後に編集した後に、追加または更新されたプラグインプログラムを、追加可能なプラグインプログラムとして特定する。
【００７６】
続いて、ステップＳ３６およびステップＳ３７において、編集部７５は、図６に示したステップＳ２５およびステップＳ２６と同様の処理を実行する。
【００７７】
これにより、編集部７５は、スキャナ装置２０の操作パネル６１上で、管理者端末５０が何れかのワークフロー定義を最後に編集した後に、追加または更新されたプラグインプログラムを、選択されたワークフロー定義に追加することができる。
【００７８】
図１２は、図１１の編集済フラグの更新処理の処理フローを示す図である。まず、ステップＳ４１において、管理者端末５０は、プログラム実行部７２で実行される何れかのプラグインプログラムを追加または更新する。なお、プラグインプログラムの追加または更新は管理者端末５０から行われなくてもよく、例えばプラグインプログラムを記憶したＣＤ−ＲＯＭを配信サーバ３０に読み込ませてインストールさせる等の方法がある。続いて、ステップＳ４２において、編集部７５は、管理者端末５０により追加または更新されたプラグインプログラムに割り当てられた編集済フラグを、ＯＦＦに登録する。
【００７９】
続いて、ステップＳ４３において、管理者端末５０は、ワークフロー記憶部７３に記憶されている複数のワークフロー定義のうち、何れかのワークフロー定義を編集または作成する。続いて、ステップＳ４４において、編集部７５は、全てのプラグインプログラムに割り当てられた編集済フラグをＯＮに登録する。
【００８０】
これにより、編集部７５は、プラグインプログラムが追加または更新された後、何れかのワークフロー定義が管理者により未だ編集されていない場合には、スキャナ装置２０のユーザに、追加または更新されたプラグインプログラムをワークフロー定義に追加させることができる。
【００８１】
図１３は、ワークフロー定義毎且つプラグインプログラム毎に割り当てられる編集済フラグの一例を示す図である。編集部７５は、図１３に示されるように、ワークフロー定義毎且つプラグインプログラム毎に、編集済フラグを管理してもよい。
【００８２】
この場合、図１０のステップＳ３４において、編集部７５は、選択されたワークフロー定義に含まれないプラグインプログラムの中に、管理者端末５０が選択されたワークフロー定義を最後に編集した後に、追加または更新されたプラグインプログラムが存在するか否かを判断する。すなわち、編集部７５は、選択されたワークフロー定義についての編集済フラグがＯＦＦであるか否かを、選択されたワークフロー定義に含まれないプラグインプログラムのそれぞれについて判断する。
【００８３】
これにより、編集部７５は、スキャナ装置２０の操作パネル６１上で、管理者端末５０が、その選択されたワークフロー定義を最後に編集した後に追加または更新されたプラグインプログラムを、選択されたワークフロー定義に追加することが可能となる。
【００８４】
図１４は、図１３の編集済フラグの更新処理の処理フローを示す図である。まず、ステップＳ５１において、管理者端末５０は、プログラム実行部７２で実行される何れかのプラグインプログラムを追加または更新する。続いて、ステップＳ５２において、編集部７５は、全てのワークフロー定義に対しての、管理者端末５０により追加または更新されたプラグインプログラムに割り当てられた編集済フラグを、ＯＦＦに登録する。
【００８５】
続いて、ステップＳ５３において、管理者端末５０は、ワークフロー記憶部７３に記憶されている複数のワークフロー定義のうち、何れかのワークフロー定義を編集または作成する。続いて、ステップＳ５４において、編集部７５は、編集または作成されたワークフロー定義についての、全てのプラグインプログラムに割り当てられた編集済フラグをＯＮに登録する。
【００８６】
これにより、編集部７５は、プラグインプログラムが追加または更新された後に、選択されたワークフロー定義が管理者により未だ編集されていない場合には、スキャナ装置２０のユーザが追加または更新されたプラグインプログラムをそのワークフロー定義に追加できるようにすることができる。
【００８７】
以上のような本実施形態に係る配信サーバ３０によれば、スキャナ装置２０により取り込まれた画像データに対する処理の実行手順を定義するワークフロー定義を、スキャナ装置２０の使用時にユーザに編集させることにより、管理者が効率良くワークフロー定義を管理することができる。
【００８８】
なお、図１０において、ステップＳ３１及びステップＳ３３の処理を省いてもよい。つまり、選択されたワークフロー定義に含まれるプラグインプログラムも含め、実行可能なプラグインプログラムに対してステップＳ３４以降の処理を行わせるようにしてもよい。このようにすれば、ワークフロー定義で定義されたあるプラグインプログラムが、その後更新（バージョンアップ）され、実行可能な処理が拡張された（例えば新たな処理を選択できるようになった）場合に、更新前のプラグインプログラムに基づいて定義されたワークフロー定義を更新後のプラグインプログラムに基づいて編集できるようになる。
【００８９】
なお、図１０のフローにおいても、判断として、実行可能なプラグインプログラムの中に選択されたワークフロー定義に含まれないプラグインプログラムが存在するか否かを判断する方法は一例である。
【００９０】
なお、プラグインプログラムの編集済フラグの登録（ＯＦＦからＯＮへの切り替え）については、管理者端末５０から配信サーバ３０にアクセスし、既に定義されているいずれかのワークフロー定義を編集したことをトリガーとする方法に限られない。例えば、新たなワークフロー定義を設定したことをトリガーとしてもよい。また、ワークフロー定義の編集において、定義されたワークフローに新たなプラグインプログラムによる処理を加えたことをトリガーとしてもよいし、新たなプラグインプログラムを加えなくてもワークフロー定義の編集を行ったことをトリガーとしてもよいし、ワークフロー定義を変更しなくても少なくとも管理者端末５０が配信サーバ３０にアクセスし、ワークフロー設定画面の表示を要求したことをトリガーとしてもよい。これは、管理者が管理者端末５０からワークフロー定義の設定を行うために配信サーバ３０にアクセスを行えば、その設定画面において新たなプラグインプログラム（編集済フラグがＯＦＦのプラグインプログラム）の存在を確認できるため、その時点で新たなプラグインプログラムをいずれかのワークフローで定義しなくても管理者としては新たなプラグインプログラムの存在を確認した上で、ワークフロー定義の検討を行なったと解釈し得るためである。よってどのような操作をトリガーとするかについても管理者が設定して、該設定に従い編集済フラグの登録を行えばよい。
【００９１】
なお、本発明は、上述したスキャナ装置２０と配信サーバ３０とのネットワーク連携によるワークフローに限らず適用できる。ワークフローを要求あるいは編集して要求する装置はスキャナ装置２０でなくとも、例えばＰＣ、プロジェクター、ホワイトボード、電子黒板装置、携帯端末、タブレット端末等であってもよく、配信サーバ３０にアクセスして、配信サーバ３０において実行されるワークフローを利用できる（ワークフローの実行を要求できる）装置（要求元の装置）であればよい。また、配信サーバ３０は配信処理を含むワークフローを実行する装置であるが、配信処理を含まなくてもよく、少なくともワークフローを実行し、またワークフローに組み込まれ得る処理を実行するプログラムを追加可能であり、該プログラムを用いた処理によるワークフローを定義させることのできる装置であればよい。よって、サーバ装置でなくともよく、ＰＣ等の情報処理装置であっても実現できる。
【００９２】
本実施形態の配信サーバ３０は、ＣＰＵなどの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００９３】
本実施形態の配信サーバ３０で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００９４】
また、本実施形態の配信サーバ３０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の配信サーバ３０で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００９５】
また、本実施形態の配信サーバ３０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００９６】
本実施の形態の配信サーバ３０で実行されるプログラムは、上述した各部（通信部７１、プログラム実行部７２、ワークフロー記憶部７３、選択部７４、編集部７５、設定部７６、選択情報記憶部７７、編集後ワークフロー記憶部７８、設定情報記憶部７９およびワークフロー制御部８０）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部（通信部７１、プログラム実行部７２、ワークフロー記憶部７３、選択部７４、編集部７５、設定部７６、選択情報記憶部７７、編集後ワークフロー記憶部７８、設定情報記憶部７９およびワークフロー制御部８０）が主記憶装置上に生成されるようになっている。また、上述した各部（通信部７１、プログラム実行部７２、ワークフロー記憶部７３、選択部７４、編集部７５、設定部７６、選択情報記憶部７７、編集後ワークフロー記憶部７８、設定情報記憶部７９およびワークフロー制御部８０）は、それぞれ一部または全部がハードウェアにより実現されてもよい。
【符号の説明】
【００９７】
１０  配信システム
２０  スキャナ装置
３０  配信サーバ
４０  データ蓄積装置
４０−１  ファイルサーバ
４０−２  ＦＴＰサーバ
４０−３  ＷｅｂＤＡＶサーバ
５０  管理者端末
６１  操作パネル
６２  表示制御部
６３  情報保持部
６４  スキャナ部
６５  通信部
７１  通信部
７２  プログラム実行部
７３  ワークフロー記憶部
７４  選択部
７５  編集部
７６  設定部
７７  選択情報記憶部
７８  編集後ワークフロー記憶部
７９  設定情報記憶部
８０  ワークフロー制御部
９０  フローチャート
９１  スタートマーク
９２  アイコン
９３  矢印
【先行技術文献】
【特許文献】
【００９８】
【特許文献１】特開２００９−１４６０９２号公報
【図１】
2014229094.tif 000003
【図２】
2014229094.tif 000004
【図３】
2014229094.tif 000005
【図４】
2014229094.tif 000006
【図５】
2014229094.tif 000007
【図６】
2014229094.tif 000008
【図７】
2014229094.tif 000009
【図８】
2014229094.tif 000010
【図９】
2014229094.tif 000011
【図１０】
2014229094.tif 000012
【図１１】
2014229094.tif 000013
【図１２】
2014229094.tif 000014
【図１３】
2014229094.tif 000015
【図１４】
2014229094.tif 000016