(57)【要約】【課題】複数のソフトウェア部品を組み合わせて構築される処理フローに関する認証情報の入力操作を簡便化することのできる情報処理装置、情報処理方法、及びプログラムの提供を目的とする。【解決手段】画像読み取り手段によって読み取られた画像データに対する処理フローが定義されたフロー定義情報を記憶するフロー定義記憶手段と、前記フロー定義情報に基づいて、それぞれが前記処理フローにおける一部の処理を実行する複数の処理実行手段を特定し、前記複数の処理実行手段の中で認証を必要とする各処理実行手段に対応する認証情報の項目を示す認証情報項目情報を前記認証を必要とする各処理実行手段より取得し、取得された前記認証情報項目情報を統合して一つの認証画面を表示させる認証画面定義情報を生成する認証画面生成手段とを有する。【選択図】図３
2010191610.tif 000002
【特許請求の範囲】
【請求項１】
画像読み取り手段によって読み取られた画像データに対する処理フローが定義されたフロー定義情報を記憶するフロー定義記憶手段と、
前記フロー定義情報に基づいて、それぞれが前記処理フローにおける一部の処理を実行する複数の処理実行手段を特定し、前記複数の処理実行手段の中で認証を必要とする各処理実行手段に対応する認証情報の項目を示す認証情報項目情報を前記認証を必要とする各処理実行手段より取得し、取得された前記認証情報項目情報を統合して一つの認証画面を表示させる認証画面定義情報を生成する認証画面生成手段とを有する情報処理装置。
【請求項２】
前記認証画面生成手段は、前記項目に対する入力値に基づいて認証処理を実行する認証手段の識別子を前記認証を必要とする各処理実行手段より取得し、取得された前記識別子を前記認証画面定義情報に含める請求項１記載の情報処理装置。
【請求項３】
前記認証画面定義情報に基づいて表示装置に表示される認証画面を介して入力された入力値に基づく認証処理を前記認証画面定義情報に前記識別子が含まれている前記認証手段に実行させる認証制御手段を有する請求項２記載の情報処理装置。
【請求項４】
前記フロー定義情報に基づいて、前記処理実行手段を利用して前記処理フローの実行を制御するフロー制御手段を有し、
前記フロー制御手段は、少なくとも対応する前記項目に基づく認証に失敗した前記処理実行手段は利用しない請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
コンピュータが実行する情報処理方法であって、
画像読み取り手段によって読み取られた画像データに対する処理フローが定義されたフロー定義情報を記憶するフロー定義記憶手段を用いて、それぞれが前記処理フローにおける一部の処理を実行する複数の処理実行手段を特定し、前記複数の処理実行手段の中で認証を必要とする各処理実行手段に対応する認証情報の項目を示す認証情報項目情報を前記認証を必要とする各処理実行手段より取得する取得手順と、
取得された前記認証情報項目情報を統合して一つの認証画面を表示させる認証画面定義情報を生成する認証画面生成手順とを有する情報処理方法。
【請求項６】
前記取得手順は、前記項目に対する入力値に基づいて認証処理を実行する認証手段の識別子を前記認証を必要とする各処理実行手段より取得し、
前記認証画面生成手順は、取得された前記識別子を前記認証画面定義情報に含める請求項５記載の情報処理方法。
【請求項７】
前記認証画面定義情報に基づいて表示装置に表示される認証画面を介して入力された入力値に基づく認証処理を前記認証画面定義情報に前記識別子が含まれている前記認証手段に実行させる認証制御手順を有する請求項６記載の情報処理方法。
【請求項８】
前記フロー定義情報に基づいて、前記処理実行手段を利用して前記処理フローの実行を制御するフロー制御手順を有し、
前記フロー制御手順は、少なくとも対応する前記項目に基づく認証に失敗した前記処理実行手段は利用しない請求項５乃至７いずれか一項記載の情報処理方法。
【請求項９】
コンピュータに、
画像読み取り手段によって読み取られた画像データに対する処理フローが定義されたフロー定義情報を記憶するフロー定義記憶手段を用いて、それぞれが前記処理フローにおける一部の処理を実行する複数の処理実行手段を特定し、前記複数の処理実行手段の中で認証を必要とする各処理実行手段に対応する認証情報の項目を示す認証情報項目情報を前記認証を必要とする各処理実行手段より取得する取得手順と、
取得された前記認証情報項目情報を統合して一つの認証画面を表示させる認証画面定義情報を生成する認証画面生成手順とを実行させるためのプログラム。
【請求項１０】
前記取得手順は、前記項目に対する入力値に基づいて認証処理を実行する認証手段の識別子を前記認証を必要とする各処理実行手段より取得し、
前記認証画面生成手順は、取得された前記識別子を前記認証画面定義情報に含める請求項９記載のプログラム。
【請求項１１】
前記認証画面定義情報に基づいて表示装置に表示される認証画面を介して入力された入力値に基づく認証処理を前記認証画面定義情報に前記識別子が含まれている前記認証手段に実行させる認証制御手順を有する請求項１０記載のプログラム。
【請求項１２】
前記フロー定義情報に基づいて、前記処理実行手段を利用して前記処理フローの実行を制御するフロー制御手順を有し、
前記フロー制御手順は、少なくとも対応する前記項目に基づく認証に失敗した前記処理実行手段は利用しない請求項９乃至１１いずれか一項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関し、特に複数のソフトウェア部品を組み合わせて構築される処理フローを実行する情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年の画像形成装置では、ソフトウェアプログラムに関するインタフェースが公開され、サードベンダ等、画像形成装置のメーカー以外によって開発されたソフトウェアプログラムによって機能強化が可能とされている。斯かる機能強化により、ユーザの業務システムと画像形成装置との連携等が可能となり、画像形成装置とユーザの業務との密接度を高めることができる。
【０００３】
画像形成装置と業務システムとの連携例として、ネットワーク配信システムが挙げられる。ネットワーク配信システムは、画像形成装置においてスキャンされた画像データを所定のコンピュータに自動的に配信するというものである。例えば、特許文献１には、一つ以上の処理部を任意に組み合わせて配信処理の一連の流れを構築可能なネットワーク配信システムが記載されている。特許文献１に記載された技術によれば、ユーザの業務フローに即して処理部の組み合わせを変化させることにより、ユーザの業務フローに適した配信フローを簡便に構築することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１における処理部に関しても、当該処理部を実装するためのインタフェースを公開し、処理部をプラグインとして構成可能とすることが考えられる。各プラグインを必要に応じて実装することにより、ユーザの業務フローとの密接度をより高めることが可能となる。
【０００５】
処理部がプラグイン化されることにより、プラグインごとにユーザに利用制限をかけることも可能となる。例えば、或るプラグインについては、所定のユーザに限って利用を許可するといった具合である。この場合、プラグインの実行時に認証処理が必要とされる
また、プラグイン自体に利用制限がかけられていなくても、プラグインが実行する処理において認証が必要される場合もある。例えば、配信処理を実行するプラグインにおいて、配信処理に利用する通信プロトコル上の認証が必要とされる場合等である。この場合にも、プラグインの実行時に認証処理が必要とされる。
【０００６】
プラグインの自由度（ひいては、ネットワーク配信システムの拡張性）を高めることを考慮すれば、各プラグインが必要とする認証情報は、それぞれのプラグインで決定可能であることが望ましい。
【０００７】
しかしながら、配信フローのステップが進むごとに当該ステップを実行するプラグインに対応した認証画面が表示され、認証情報の入力が要求とされるのは、ユーザにとって非常に煩雑であるという問題がある。極端な例では、配信フローの最後のステップが完了するまで、認証情報の入力のためにユーザはその場（配信フローの実行指示を入力した場所）を離れることができない可能性もある。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、複数のソフトウェア部品を組み合わせて構築される処理フローに関する認証情報の入力操作を簡便化することのできる情報処理装置、情報処理方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、本発明は、画像読み取り手段によって読み取られた画像データに対する処理フローが定義されたフロー定義情報を記憶するフロー定義記憶手段と、前記フロー定義情報に基づいて、それぞれが前記処理フローにおける一部の処理を実行する複数の処理実行手段を特定し、前記複数の処理実行手段の中で認証を必要とする各処理実行手段に対応する認証情報の項目を示す認証情報項目情報を前記認証を必要とする各処理実行手段より取得し、取得された前記認証情報項目情報を統合して一つの認証画面を表示させる認証画面定義情報を生成する認証画面生成手段とを有する。
【００１０】
このような情報処理装置では、複数のソフトウェア部品を組み合わせて構築される処理フローに関する認証情報の入力操作を簡便化することができる。
【発明の効果】
【００１１】
複数のソフトウェア部品を組み合わせて構築される処理フローに関する認証情報の入力操作を簡便化することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態におけるネットワーク配信システムの構成例を示す図である。
【図２】本発明の実施の形態における配信サーバのハードウェア構成例を示す図である。
【図３】本発明の実施の形態における配信サーバの機能構成例を示す図である。
【図４】本発明の実施の形態における複合機のハードウェア構成例を示す図である。
【図５】フロー定義生成時の配信サーバによる処理手順を説明するためのシーケンス図である。
【図６】フロー定義生成画面の表示例を示す図である。
【図７】フロー定義データの例を示す図である。
【図８】本実施の形態において画像変換プラグインに対応するプラグイン認証画面データの例を示す図である。
【図９】本実施の形態においてフォルダ配信プラグインに対応するプラグイン認証画面データの例を示す図である。
【図１０】本実施の形態における認証画面の表示例を示す図である。
【図１１】本実施の形態の認証画面定義データの例を示す図である。
【図１２】本実施の形態の認証画面定義データの例を示す図である。
【図１３】処理フロー実行時の処理手順を説明するためのシーケンス図である。
【図１４】フロー選択画面の表示例を示す図である。
【図１５】認証情報の構成例を示す図である。
【図１６】認証処理の処理手順を説明するためのシーケンス図である。
【図１７】認証制御部による統合的な認証結果の判定処理の処理手順を説明するためのフローチャートである。
【図１８】統合的な認証結果の具体例を示す図である。
【図１９】処理フローの実行処理の処理手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるネットワーク配信システムの構成例を示す図である。同図において、ネットワーク配信システム１は、配信サーバ１０、複合機２０、ファイルサーバ３０、Ｗｅｂサーバ４０、及びＳＭＴＰ（Simple Mail Transfer Protocol）サーバ５０等を有する。配信サーバ１０と、ファイルサーバ３０、Ｗｅｂサーバ４０、及びＳＭＴＰサーバ５０とはＬＡＮ（Local Area Network）又はインターネット等のネットワーク６１（有線又は無線の別は問わない。）を介して接続されている。また、配信サーバ１０と複合機２０とは、ＬＡＮ又はインターネット等のネットワーク６２（有線又は無線の別は問わない。）を介して接続されている。
【００１４】
複合機２０は、スキャン機能、コピー機能、プリンタ機能、ファクシミリ機能などを一つの筐体に搭載した画像形成装置である。複合機２０は、スキャナ機能により紙媒体等をスキャン処理して画像データを生成し、生成された画像データを配信サーバ１０に送信する。なお、本実施の形態では、画像データを入力する画像形成装置として、複合機を適用した例を示しているが、画像データを入力可能な画像形成装置であれば、スキャナ装置、ファクシミリ装置、コピー装置等いずれの装置を適用してもよい。
【００１５】
配信サーバ１０は、複合機２０でスキャンされた画像データを受信して、後述するフロー定義データに従って種種の処理や配信処理を実行するＰＣ（Personal Computer）又はワークステーション等のコンピュータである。
【００１６】
ファイルサーバ３０は、ネットワーク６１上で共有するファイルを蓄積して管理するコンピュータである。Ｗｅｂサーバ４０は、いわゆるＷｅｂサーバである。ＳＭＴＰサーバ５０は、メール送信プロトコルであるＳＭＴＰに準拠した電子メールの送信処理を実行するサーバである。ファイルサーバ３０、Ｗｅｂサーバ４０、及びＳＭＴＰ１０３の各サーバは、配信サーバ１０による配信処理における配信先として位置付けられる。
【００１７】
次に、配信サーバ１０の詳細について説明する。図２は、本発明の実施の形態における配信サーバのハードウェア構成例を示す図である。図２の配信サーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５と、表示装置１０６と、入力装置１０７とを有する。
【００１８】
配信サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１９】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って配信サーバ１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【００２０】
図３は、本発明の実施の形態における配信サーバの機能構成例を示す図である。同図において、配信サーバ１０は、フィルタプラグイン１１、出力プラグイン１２、認証プラグイン１３、フロー実行制御部１４、認証制御部１５、フロー定義生成部１６、認証画面生成部１７、フロー選択画面生成部１８、フロー定義データ１８０、及び認証画面定義データ１９０等を有する。
【００２１】
フロー定義データ１８０は、複合機２０によってスキャン入力され、複合機２０から受信される画像データを配信するために実行される処理の流れ（処理フロー）が定義されたデータである。
【００２２】
フィルタプラグイン１１及び出力プラグイン１２は、処理フローを構成する一部又は全部の処理（ステップ）を実行するソフトウェアコンポーネントである。フィルタプラグイン１１は、画像データに対する変換処理等、配信に至るまでの中間的な処理を実行する。出力プラグイン１２は、配信（出力）処理を実行する。なお、本実施の形態では、フィルタプラグイン１１又は出力プラグイン１２を処理順に組み合わせることによって処理フローが定義される。
【００２３】
図３では、フィルタプラグイン１１として画像変換プラグイン１１１が例示されている。画像変換プラグイン１１１は、所定の形式（例えば、ＴＩＦＦ形式）の画像データを他の所定の形式（例えば、ＰＤＦ形式）のデータへ変換する。
【００２４】
また、出力プラグイン１２１として、Ｗｅｂ配信プラグイン１２１、フォルダ配信プラグイン１２２、メール配信プラグイン１２３、及びＦＴＰ配信プラグイン１２４が例示されている。Ｗｅｂ配信プラグイン１２１は、自らに入力されたデータをＷｅｂＤＡＶ（Web-based Distributed Authoring and Versioning）によってＷｅｂサーバ４０に配信する。フォルダ配信プラグイン１２２は、自らに入力されたデータをファイルサーバ３０のファイルシステムにおける所定のフォルダに配信する。メール配信プラグイン１２３は、自らに入力されたデータをＳＭＴＰサーバ５０を介して所定のメールアドレス宛に配信する。ＦＴＰ配信プラグイン１２４は、自らに入力されたデータをＦＴＰ（File Transfer Protocol）によってファイルサーバ３０等に配信する。
【００２５】
フロー実行制御部１４は、フロー定義データ１８０の定義内容にしたがって処理フローの実行を制御する。より詳しくは、フロー実行制御部１４は、フロー定義データ１８０に定義された順番でフィルタプラグイン１１又は出力プラグイン１２に処理を実行させる。
【００２６】
フロー定義生成部１６は、ユーザの指示入力にしたがってフロー定義データ１６を生成又は編集する。
【００２７】
フロー選択画面生成部１８は、実行対象とする処理フローを選択させるための画面（フロー選択画面）の定義データ（フロー選択画面データ）を生成する。
【００２８】
認証画面定義データ１９０は、処理フローの実行前に行われるユーザ認証に利用される認証画面の構成情報が定義されたデータである。
【００２９】
認証プラグイン１３は、認証画面に入力された認証情報に基づいて認証処理を実行するソフトウェアコンポーネントである。同図では、認証プラグイン１３として、認証プラグインＡ１３１及び認証プラグインＢ１３２が例示されている。
【００３０】
各認証プラグイン１３が、認証情報を構成するいずれのパラメータ（以下、「認証情報項目」という。）を利用してどのような認証処理を実行するかについては、各認証プラグイン１３の実装に依存する。
【００３１】
なお、各認証プラグイン１３は、いずれかのフィルタプラグイン１１又は出力プラグイン１２に関連付き、各認証プラグイン１３による認証結果は、関連付けられたフィルタプラグイン１１又は出力プラグイン１２の利用の許否の判定材料や処理フローの実行の可否の判定材料等として利用される。本実施の形態において、認証プラグインＡ１３１は、画像変換プラグイン１１１に関連付いていることとし、認証プラグインＢ１３２は、フォルダ配信プラグイン１２２に関連付いていることとする。フィルタプラグイン１１又は出力プラグイン１２と認証プラグイン１３との関連は、フィルタプラグイン１１又は出力プラグイン１２において管理される。すなわち、フィルタプラグイン１１又は出力プラグイン１２は、自らの利用の許否を判定させるための認証プラグイン１３の識別情報を有して（例えば、内蔵して）いる。又は、ファイル等の編集可能なデータ内においてフィルタプラグイン１１又は出力プラグイン１２と認証プラグイン１３との関連が定義されていてもよい。なお、認証を必要としないフィルタプラグイン１１又は出力プラグイン１２は、認証プラグイン１２への関連を有さない。認証の要否は、各フィルタプラグイン１１又は出力プラグイン１２の実装に依存する。
【００３２】
ところで、本実施の形態では、任意に追加（インストール）又は削除（アンインストール）可能なソフトウェアコンポーネントを「プラグイン」という。したがって、フィルタプラグイン１１、出力プラグイン１２、及び認証プラグイン１３は、必要に応じて配信サーバ１０に追加又は削除される。各プラグインが利用するＡＰＩ（Application Program Interface）は公開されており、サードベンダによっても各プラグインを開発することが可能である。ここでいうＡＰＩとは、例えば、フィルタプラグイン１１及び出力プラグイン１２であれば、フロー実行制御部１４とのインタフェースをいう。また、認証プラグイン１３であれば、認証制御部１５とのインタフェースをいう。
【００３３】
認証制御部１５は、認証処理全体を制御する。より詳しくは、認証制御部１５は、実行対象とされている処理フローにおいて利用されるフィルタプラグイン１１又は出力プラグイン１２に関連付けられている各認証プラグイン１３に認証処理を実行させ、各認証プラグイン１３による応答（認証の成否）を統合して、全体としての認証の成否を判定する。
【００３４】
認証画面生成部１７は、フロー定義データ１８０に定義されている処理フローにおいて利用対象とされているフィルタプラグイン１１又は出力プラグイン１２より、各フィルタプラグイン１１又は出力プラグイン１２の利用の許否を判定するための必要な認証情報項目を取得し、取得された情報に基づいて認証画面定義データ１９０を生成する。
【００３５】
次に、複合機の詳細について説明する。図４は、本発明の実施の形態における複合機のハードウェア構成例を示す図である。
【００３６】
図４において、複合機２０は、コントローラ２１、スキャナ２２、プリンタ２３、モデム２４、操作パネル２５、ネットワークインタフェース２６、及びＳＤカードスロット２７等のハードウェアを有する。
【００３７】
コントローラ２１は、ＣＰＵ２１１、ＲＡＭ２１２、ＲＯＭ２１３、及びＨＤＤ２１４等を有する。ＲＯＭ２１３には、各種のプログラム（例えば、配信サーバ１０と連携して配信ジョブを実行する配信アプリケーション等）やプログラムによって利用されるデータ等が記録されている。ＲＡＭ２１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ２１１は、ＲＡＭ２１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ２１４には、プログラムやプログラムが利用する各種のデータ等が記録される。
【００３８】
スキャナ２２は、原稿より画像データを読み取るためのハードウェアである。プリンタは１３、画像データを印刷用紙に印刷するためのハードウェアである。モデム２４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル２５は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース２６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット２７は、ＳＤカード８０に記録されたプログラムを読み取るために利用される。すなわち、複合機２０では、ＲＯＭ２１３に記録されたプログラムだけでなく、ＳＤカード８０に記録されたプログラムもＲＡＭ２１２にロードされ、実行されうる。
【００３９】
以下、ネットワーク配信システム１の処理手順について説明する。図５は、フロー定義生成時の配信サーバによる処理手順を説明するためのシーケンス図である。
【００４０】
配信サーバ１０に対するユーザ（例えば、システム管理者）による指示入力に応じ、フロー定義生成部１６は、フロー定義生成画面を表示装置１０６に表示させる（Ｓ１０１）。
【００４１】
図６は、フロー定義生成画面の表示例を示す図である。同図において、フロー定義生成画面５００は、フィルタプラグイン一覧表示領域５１０、出力プラグイン一覧表示領域５２０、及び編集領域５３０等を有する。
【００４２】
フィルタプラグイン一覧表示領域５１０には、配信サーバ１０にインストールされているフィルタプラグイン１１ごとにボタンが表示される。出力プラグイン一覧表示領域５２０には、配信サーバ１０にインストールされている出力プラグイン１２ごとにボタンが表示される。
【００４３】
編集領域５３０は、処理フローの定義を生成するための領域である。すなわち、ユーザは、フィルタプラグイン一覧表示領域５１０又は出力プラグイン一覧表示領域５２０におけるボタンをドラッグアンドドロップにより編集領域５３０の所望の位置に配置することにより、処理フローを定義することができる。同図では、スキャンされた画像データに対して二つのパスが並列的に実行される処理フローが定義された例が示されている。一つ目のパスは、スキャンされた画像データを画像変換プラグイン１１１によって変換し、変換結果をフォルダ配信プラグイン１２３が配信するといったものである。二つ目のパスは、スキャンされた画像データをメール配信プラグイン１２３がメール配信するといったものである。本実施の形態において「パス」とは、処理フローにおける末端の出力プラグイン１２から上流（前段）に遡ることにより辿ることのできる処理経路をいう。一つの処理フローは少なくとも一つのパスを有する。
【００４４】
なお、編集領域５３０において処理フローの起点に示されている○印はスキャン処理を示す。また、各プラグインに対応するボタン間の矢印は、当該矢印によって接続されたプラグイン間の処理の順序関係を示す。
【００４５】
ところで、編集領域５３０に配置されたボタンに対してクリック操作が行われると、フロー定義生成部１６は、ボタンに対応したプラグインに対する設定画面を表示させる。ユーザは、当該設定画面を介して、プラグインの実行条件に関するパラメータの値を設定することができる。設定画面を介して設定された値は、各プラグインに関連付けられてメモリ装置１０３に記録される。
【００４６】
ユーザが、編集領域５３０における編集を完了し、非図示の保存ボタンをクリックすると、フロー定義生成部１６は、編集領域５３０の内容に基づいて、フロー定義データ１８０を生成し、補助記憶装置１０２に保存する（Ｓ１０２）。
【００４７】
図７は、フロー定義データの例を示す図である。同図では、ＸＭＬ（eXtensible Markup Language）によってフロー定義データ１８０が記述された例が示されている。但し、フロー定義データ１８０は、他の記述形式によって記述されてもよい。なお、同図のフロー定義データ１８０は、図６の編集領域５３０の内容に対応する。
【００４８】
フロー定義データ１８０は、＜Ｄｉｓｔｒｉｂｕｔｉｏｎ＞タグで囲まれたＤｉｓｔｒｉｂｕｔｉｏｎ要素をルート要素として含む。Ｄｉｓｔｒｉｂｕｔｉｏｎ要素は、処理フローと一対一に対応する要素であり、ＩＤ要素及びＰｌｕｇｉｎ要素等を子要素として含む。
【００４９】
ＩＤ要素は、各処理フローを識別するためのフローＩＤを値として有する。同図のＩＤ要素１８１では、「ＴＥＳＴフロー」がフローＩＤとされている。フローＩＤは、例えば、フロー定義生成画面５００の表示前に、フローＩＤ入力ダイアログが表示され、当該フローＩＤ入力ダイアログを介してユーザによって入力される。
【００５０】
Ｐｌｕｇｉｎ要素は、処理フローにおいて利用されるプラグインに関する情報を値として有する。なお、Ｄｉｓｔｒｉｂｕｔｉｏｎ要素の子要素であるＰｌｕｇｉｎ要素は、プラグインの接続関係において先端に位置するプラグインに対応する。図６では、画像変換プラグイン１１１とメール配信プラグイン１２３とがプラグインの接続関係において先端に配置されている。したがって、図７では、画像プラグイン１１１に対応するＰｌｕｇｉｎ要素１８２と、メール配信プラグイン１２３に対応するＰｌｕｇｉｎ要素１８３とがＤｉｓｔｒｉｂｕｔｉｏｎ要素の子要素として定義されている。
【００５１】
各Ｐｌｕｇｉｎ要素は、ＰｌｕｇｉｎＩＤ要素、ＰｌｕｇｉｎＴｙｐｅ要素、及びＰａｒａｍｅｔｅｒｓ要素等を子要素として含む。
【００５２】
ＰｌｕｇｉｎＩＤ要素の値は、プラグインのＩＤ（プラグインＩＤ）である。すなわち、Ｐｌｕｇｉｎ要素１８２の子要素であるＰｌｕｇｉｎＩＤ要素の値「ＩｍａｇｅＣｏｎｖｅｒｔｅｒ」は、画像処理プラグイン１１１のプラグインＩＤを示す。また、Ｐｌｕｇｉｎ要素１８３の子要素であるＰｌｕｇｉｎＩＤ要素の値「ＴｏＥｍａｉｌ」は、メール配信プラグイン１２３のプラグインＩＤを示す。
【００５３】
ＰｌｕｇｉｎＴｙｐｅ要素の値は、プラグインの種別（フィルタプラグイン１１又は出力プラグイン１２の別）を示す。「Ｆｉｌｔｅｒ」は、フィルタプラグイン１１を示し、「Ｏｕｔｐｕｔ」は、出力プラグイン１２を示す。
【００５４】
Ｐａｒａｍｅｔｅｒｓ要素の値は、プラグインの実行条件を構成するパラメータに対する設定値を示す。
【００５５】
なお、後段に他のプラグインが接続されたプラグインに対応するＰｌｕｇｉｎ要素は、更にＮｅｘｔ要素を含む。Ｎｅｘｔ要素は、後段のプラグインに対応するＰｌｕｇｉｎ要素を子要素として含む。図６では、画像変換プラグイン１１１の後段にフォルダ配信プラグイン１２２が接続されている。したがって、Ｐｌｕｇｉｎ要素１８２は、Ｎｅｘｔ要素を含み、当該Ｎｅｘｔ要素はフォルダ配信プラグイン１２２に対応するＰｌｕｇｉｎ要素１８４を子要素として含む。 
また、出力プラグイン１２のＰｌｕｇｉｎ要素（値が「Ｏｕｔｐｕｔ」であるＰｌｕｇｉｎＴｙｐｅ要素を子要素として有するＰｌｕｇｉｎ要素）は、ｒｅｑｕｉｒｅｄ要素を有する。ｒｅｑｕｉｒｅｄ要素の値は、処理フローにおいて当該出力プラグイン１２の実行が必須であるか（ｔｒｕｅ）否か（ｆａｌｓｅ）を示す。図７では、フォルダ配信プラグイン１２２（Ｐｌｕｇｉｎ要素１８４）は必須でないとされ、メール配信プラグイン１２３（Ｐｌｕｇｉｎ要素１８３）は必須であるとされている。必須である出力プラグイン１２が実行できない場合（例えば、当該出力プラグイン１２に関する認証に失敗した場合）、処理フロー全体が実行されない。一方、必須でない出力プラグイン１２が実行できない場合、当該出力プラグイン１２を除いて実行可能な部分について処理フローが実行される。なお、本実施の形態では、出力プラグイン１２に対してのみ必須であるか否かという概念を適用しているが、フィルタプラグイン１１に対して同様の概念を適用してもよい。
【００５６】
フロー定義データ１８０の生成が完了すると、フロー定義生成部１６は、生成されたフロー定義データ１８０に対応するフローＩＤを指定して認証画面の生成を認証画面生成部１７に要求する（Ｓ１０３）。続いて、認証画面生成部１７は、指定されたフローＩＤに対応するフロー定義データ１８０を参照し、当該フロー定義データ１８０に定義されている処理フローにおいて利用される各プラグインより、当該プラグインに対応する認証画面情報を示すデータ（プラグイン認証画面データ）を取得する。
【００５７】
本実施の形態では、まず、Ｐｌｕｇｉｎ要素１８２に基づいて、画像変換プラグイン１１１に対してプラグイン認証画面データの取得が要求される（Ｓ１０４）。画像変換プラグイン１１１は、当該要求に応じ、自らに関連付いている認証プラグイン１３である認証プラグインＡ１３１に対し、プラグイン認証画面データの取得を要求する（Ｓ１０５）。認証プラグインＡ１３１は、自らが実行する認証処理において必要とされる認証情報項目を入力させるための画面情報を含むプラグイン認証画面データを画像変換プラグイン１１１に返信する（Ｓ１０６）。なお、プラグイン認証画面データは、各認証プラグイン１３に関連付けられて補助記憶装置１０２に予め保存されていてもよいし、取得が要求された際に各認証プラグイン１３によって生成されてもよい。画像変換プラグイン１１１は、認証プラグインＡ１３１より返信されたプラグイン認証画面データを画像変換プラグイン１１１に対応するプラグイン認証画面データとして認証画面生成部１７に返信する（Ｓ１０７）。また、画像変換プラグイン１１１は、当該認証画面データに対応する認証プラグインＡ１３１のＩＤ（認証プラグインＩＤ）も認証画面データ生成部１７に返信する。
【００５８】
図８は、本実施の形態において画像変換プラグインに対応するプラグイン認証画面データの例を示す図である。同図では、ＸＭＬによってプラグイン認証画面データが記述された例が示されている。但し、プラグイン認証画面データは、他の記述形式によって記述されてもよい。
【００５９】
プラグイン認証画面データには、対応するプラグインの認証に利用される認証情報項目ごとに、認証画面に表示させる表示情報等が定義されている。図８のプラグイン認証画面データ６１０は、認証プラグインＡ１３１による認証処理において利用されるＯｐｔｉｏｎ１とＯｐｔｉｏｎ２との二つの認証情報項目に関する表示情報等を含む。なお、ＯｐｔｉｏｎＮという名前は、便宜的なものである。
【００６０】
記述６１１は、Ｏｐｔｉｏｎ１に関する定義であり、記述６１２はＯｐｔｉｏｎ２に関する定義である。記述６１１及び記述６１２は、それぞれＬａｂｅｌ要素とＥｄｉｔＢｏｘ要素とを含む。
【００６１】
Ｌａｂｅｌ要素は、認証情報項目のラベルに関する定義である。Ｌａｂｅｌ要素は、ｉｄ属性及びｌａｂｅｌ属性等を含む。ｉｄ属性の値は、ラベルに対するＩＤである。ｌａｂｅｌ属性の値は、ラベルに表示させる文字列である。
【００６２】
ＥｄｉｔＢｏｘ要素は、認証情報項目の値を入力させるための表示部品（エディットボックス）に関する定義である。ＥｄｉｔＢｏｘ要素は、ｉｄ属性、及びｒｅｑｕｉｒｅｄ属性を含む。ｉｄ属性の値は、エディットボックスに対するＩＤである。ｒｅｑｕｉｒｅｄ属性の値は、エディットボックスへの入力が必須であるか（ｔｒｕｅ）否か（ｆａｌｓｅ）を示す。
【００６３】
ＥｄｉｔＢｏｘ要素は、更に、ｐａｒａｍｅｔｅｒＩＤ要素及びｖａｌｕｅ要素等を子要素として含む。ｐａｒａｍｅｔｅｒＩＤ要素の値は、エディットボックスに対応する認証情報項目を識別するためのＩＤ（認証情報項目ＩＤ）を示す。ｖａｌｕｅ要素は、エディットボックスに対する入力値の初期値である。初期値を有さないエディットボックスに対してはｖａｌｕｅ要素は定義されていない。
【００６４】
続いて、認証画面生成部１７は、Ｐｌｕｇｉｎ要素１８４に基づいて、フォルダ配信プラグイン１２２に対してプラグイン認証画面データの取得を要求する（Ｓ１０８）。フォルダ配信プラグイン１２２は、当該要求に応じ、自らに関連付いている認証プラグイン１３である認証プラグインＢ１３２に対し、プラグイン認証画面データの取得を要求する（Ｓ１０９）。認証プラグインＢ１３２は、自らが実行する認証処理において必要とされる認証情報項目を入力させるための画面情報を含むプラグイン認証画面データをフォルダ配信プラグイン１２２に返信する（Ｓ１１０）。フォルダ配信プラグイン１２２は、認証プラグインＢ１３２より返信されたプラグイン認証画面データをフォルダ配信プラグイン１２２に対応するプラグイン認証画面データとして認証画面生成部１７に返信する（Ｓ１１１）。また、フォルダ配信プラグイン１２２は、当該認証画面データに対応する認証プラグインＢ１３２の認証プラグインＩＤも認証画面データ生成部１７に返信する。
【００６５】
図９は、本実施の形態においてフォルダ配信プラグインに対応するプラグイン認証画面データの例を示す図である。
【００６６】
同図のプラグイン認証画面データ６２０は、認証プラグインＢ１３２による認証処理において利用されるＯｐｔｉｏｎ３とＯｐｔｉｏｎ４との二つの認証情報項目に関する表示情報等を含む。記述６２１は、Ｏｐｔｉｏｎ３に関する定義であり、記述６２２はＯｐｔｉｏｎ４に関する定義である。
【００６７】
記述６２１は、Ｌａｂｅｌ要素とＣｏｍｂｏＢｏｘ要素とを含む。Ｌａｂｅｌ要素については図８において説明した通りである。ＣｏｍｂｏＢｏｘ要素は、認証情報項目の値を選択させるための表示部品（コンボボックス）に関する定義である。
【００６８】
ＣｏｍｂｏＢｏｘ要素は、ｉｄ属性、ｒｅｑｕｉｒｅｄ属性、及びｖｉｅｗａｂｌｅＩｔｅｍＮｕｍ属性等を有する。ｉｄ属性の値は、コンボボックスに対するＩＤである。ｒｅｑｕｉｒｅｄ属性の値は、コンボボックスにおける選択が必須であるか（ｔｒｕｅ）否か（ｆａｌｓｅ）を示す。ＣｏｍｂｏＢｏｘ要素は、ｐａｒａｍｅｔｅｒＩＤ要素及びＤａｔａ要素等を子要素として含む。ｐａｒａｍｅｔｅｒＩＤ要素の値は、コンボボックスに対応する認証情報項目の認証情報項目ＩＤを示す。Ｄａｔａ要素は、コンボボックスにおける選択肢（選択項目）に関する定義であり、選択項目ごとにｉｔｅｍ要素を子要素として含む。各ｉｔｅｍ要素においては、選択項目の値がｖａｌｕｅ要素の値として定義されている。
【００６９】
なお、ラベル、エディットボックス、及びコンボボックス以外の表示部品を利用する場合、当該表示部品に対応した要素をプラグイン認証画面データに定義すればよい。
【００７０】
続いて、認証画面生成部１７は、Ｐｌｕｇｉｎ要素１８３に基づいて、メール配信プラグイン１２３に対してプラグイン認証画面データの取得を要求する（Ｓ１１２）。本実施の形態においてメール配信プラグイン１２３に関連付いている認証プラグイン１３は無い。したがって、メール配信プラグイン１２３は、プラグイン認証画面データは無いことを示す応答を行う（Ｓ１１３）。
【００７１】
続いて、認証画面生成部１７は、各プラグインより取得された認証画面データ及び認証プラグインＩＤ等を統合し、認証画面定義データ１９０を生成する（Ｓ１１４）。本実施の形態では、図１０に示される認証画面を表示させるための認証画面定義データ１９０が生成される。
【００７２】
図１０は、本実施の形態における認証画面の表示例を示す図である。同図において、認証画面７００は、ラベル７０１〜７０６、エディットボックス７１１〜７１４及び７１６、コンボボックス７１５、キャンセルボタン７２１、ログインボタン７２２、並びにラベル７２３等を有する。
【００７３】
ラベル７０１及びエディットボックス７１１は、認証情報項目の一つであるユーザ名に対応する表示部品である。ラベル７０２及びエディットボックス７１２は、認証情報項目の一つであるパスワードに対応する表示部品である。ラベル７０３及びエディットボックス７１３は、認証情報項目の一つであるＯｐｔｉｏｎ１に対応する表示部品である。ラベル７０４及びエディットボックス７１４は、認証情報項目の一つであるＯｐｔｉｏｎ２
に対応する表示部品である。ラベル７０５及びコンボボックス７１５は、認証情報項目の一つであるＯｐｔｉｏｎ３に対応する表示部品である。ラベル７０６及びエディットボックス７１６は、認証情報項目の一つであるＯｐｔｉｏｎ４に対応する表示部品である。
【００７４】
認証画面７００を表示させるための認証画面定義データ１９０、すなわち、ステップＳ１１４において生成される認証画面定義データ１９０は、例えば、図１１及び図１２に示されるように定義される。
【００７５】
図１１及び図１２は、本実施の形態の認証画面定義データの例を示す図である。図１１と図１２とで一つの認証画面定義データ１９０の内容を示す。すなわち、図１１の続きが図１２である。
【００７６】
認証画面定義データ１９０は、ルート要素として＜ｗｉｎｄｏｗ＞タグに囲まれたｗｉｎｄｏｗ要素と、＜ａｕｔｈｅｎｔｉｃａｔｉｏｎ＞タグに囲まれたａｕｔｈｅｎｔｉｃａｔｉｏｎ要素１９５０（図１２参照）とを有する。
【００７７】
ｗｉｎｄｏｗ要素は、主として認証画面７００の表示内容に関する定義である。具体的には、ｗｉｎｄｏｗ要素は、表示部品ごとにｐａｒｔ要素を子要素として含む。一つのｐａｒｔ要素は、一つの表示部品に関する定義である。同図において、各ｐａｒｔ要素の参照番号の下二桁は、図１０において対応する表示部品の参照番号の下二桁と一致する。
【００７８】
各ｐａｒｔ要素は、共通属性として、ｔｙｐｅ属性、ｉｄ属性、ｘ属性、ｙ属性、ｗｉｄｔｈ属性、及びｈｅｉｇｈｔ属性を有する。ｔｙｐｅ属性の値は、表示部品の種別（Ｌａｂｅｌ（ラベル）、ＥｄｉｔＢｏｘ（エディットボックス）、ＣｏｍｂｏＢｏｘ（コンボボックス）、又はＢｕｔｔｏｎ（ボタン）の別）を示す。ｉｄ属性の値は、表示部品のＩＤを示す、ｘ属性の値、ｙ属性の値は、表示部品の左上頂点の認証画面７００上におけるｘ座標値、ｙ座標値を示す。ｗｉｄｔｈ属性の値、ｈｅｉｇｈｔ属性の値は、表示部品の幅、高さ示す。
【００７９】
ラベルに対応するｐａｒｔ要素（すなわち、ｔｙｐｅ属性の値が「Ｌａｂｅｌ」であるｐａｒｔ要素１９０１〜１９０６及び１９２３）は、共通属性に加えｌａｂｅｌ属性を有する。ｌａｂｅｌ属性の値は、ラベルに表示させる文字列を示す。
【００８０】
また、エディットボックス又はコンボボックス等、認証情報項目の値が入力される表示部品に対応するｐａｒｔ要素（すなわち、ｔｙｐｅ属性の値が「ＥｄｉｔＢｏｘ」又は「ＣｏｍｂｏＢｏｘ」であるｐａｒｔ要素１９１１〜１９１６）は、ｒｅｑｕｉｒｅｄ属性を有し、ｐａｒａｍｅｔｅｒＩＤ要素を子要素として含む。ｒｅｑｕｉｒｅｄ属性の値は、値の入力が必須であるか（ｔｒｕｅ）否か（ｆａｌｓｅ）を示す。ｐａｒａｍｅｔｅｒＩＤ要素の値は、表示部品対応する認証情報項目ＩＤを示す。
【００８１】
また、コンボボックスに対応するｐａｒｔ要素は、ｉｔｅｍ要素を含む。ｉｔｅｍ要素の内容は、プラグイン認証画面データにおけるｉｔｅｍ要素の内容と同じである。
【００８２】
また、ボタンに対応するｐａｒｔ要素（すなわち、ｔｙｐｅ属性の値が「Ｂｕｔｔｏｎ」であるｐａｒｔ要素１９２１及び１９２２）は、ａｃｔｉｏｎ要素を子要素として含む。ａｃｔｉｏｎ要素は、表示部品が操作されたとき（ボタンがクリックされたとき）に実行すべき処理に関する定義である。
【００８３】
一方、ａｕｔｈｅｎｔｉｃａｔｉｏｎ要素１９５０は、認証画面定義データ１９０対して入力された認証情報に基づいて認証処理を実行する認証プラグイン１３に関する定義である。具体的には、ａｕｔｈｅｎｔｉｃａｔｉｏｎ要素１９５０は、当該認証プラグイン１３ごとにｐｕｌｕｇｉｎ要素を含む。各ｐｌｕｇｉｎ要素は、ｉｄ属性及びｒｅｑｕｉｒｅｄ属性を有する。ｉｄ属性の値は、認証プラグインＩＤを示す。「ａｕｔｈＡ」は、認証プラグインＡ１３１の認証プラグインＩＤである。「ａｕｔｈＢ」は、認証プラグインＢ１３２の認証プラグインＩＤである。ｒｅｑｕｉｒｅｄ属性の値は、ｉｄ属性の認証プラグインＩＤで識別される認証プラグイン１３が関連付くプラグインは必須のプラグインであるか否かを示す。なお、ｉｄ属性の値には、各プラグイン（画像変換プラグイン１１１、フォルダ配信プラグイン１２２等）からの認証画面生成部１７への応答（Ｓ１０７、Ｓ１１１等）において返却される認証プラグインＩＤが記録される。また、ｒｅｑｕｉｒｅｄ属性の値には、当該応答元のプラグイン（画像変換プラグイン１１１、フォルダ配信プラグイン１２２等）のフロー定義データ１８０におけるＰｌｕｇｉｎ要素の子要素であるｒｅｑｕｉｒｅｄ要素の値が記録される。
【００８４】
ところで、図１１及び図１２の認証画面定義データ１９０において、ｐａｒｔ要素１９０３〜１９０６及びｐａｒｔ要素１９１３〜１９１６、並びにａｕｔｈｅｎｔｉｃａｔｉｏｎ要素１９５０（以下、「拡張定義部分」という。）は、認証画面生成部１７が、画像変換プラグイン１１１及びフォルダ配信プラグイン１２２より収集した情報（プラグイン認証画面データ等）に基づいて生成される。すなわち、拡張定義部分は、処理フローに応じて定義内容が変化する部分である。
【００８５】
一方、拡張定義部分以外の部分は、認証画面生成部１７が生成する全ての認証画面データに対して共通的に含まれる部分（以下、「基本定義部分」という。）である。ここで、基本定義部分には、ユーザ名及びパスワードに対応するｐａｒｔ要素を含む。すなわち、本実施の形態において、ユーザ名及びパスワードは、いずれの処理フローに対しても入力される認証情報項目である。基本定義部分は、認証画面定義データ１９０の雛形として予めファイルに保存されていてもよいし、認証画面生成部１７内にハードコーディングされていてもよい。
【００８６】
なお、認証画面定義データ１９０は、処理フロー（フロー定義データ１８０）と関連付けられて補助記憶装置１０２に保存される。本実施の形態において、当該関連付けは認証画面定義データ１９０のファイル名にフローＩＤが付与されることにより行われる。但し、他の方法によって関連付けが行われてもよい。例えば、認証画面定義データ１９０にフロー定義データ１８０を識別可能な情報（フローＩＤ又はフロー定義データ１８０のファイル名等）が記述されていてもよい。
【００８７】
以上によって、フロー定義データ１８０及び認証画面定義データ１９０は生成された。これにより、処理フローの実行が可能となる。そこで、続いて、処理フロー実行時の処理手順について説明する。
【００８８】
図１３は、処理フロー実行時の処理手順を説明するためのシーケンス図である。
【００８９】
ステップＳ２０１では、複合機２０の操作パネル２５を介してユーザによって入力される所定の指示入力に応じ、複合機２０において配信アプリケーション（以下、「配信アプリ」という。）が起動される。配信アプリは、起動されると、フロー選択画面データの送信要求を配信サーバ１０に送信する（Ｓ２０２）。なお、ネットワーク６２において配信サーバ１０を識別するための識別情報（例えば、ＩＰアドレス）は、複合機２０のＨＤＤ２１４に記録されている。配信アプリは、当該識別情報に基づいて、フロー選択画面データの送信要求の送信先を識別する。
【００９０】
配信サーバ１０のフロー選択画面生成部１８は、フロー選択画面データの送信要求を受信すると、フロー選択画面データを生成し、配信アプリに返信する（Ｓ２０３）。なお、フロー選択画面生成部１８は、配信サーバ１０の補助記憶装置１０２に生成されている各フロー定義データ１８０よりフローＩＤを取得し、当該フローＩＤの一覧が選択肢として表示されるようにフロー選択画面データを生成する。なお、フロー選択画面データは、予め生成されていてもよい。例えば、認証画面定義データ１９０の生成の前又は後において生成されてもよい。
【００９１】
続いて、配信アプリは、フロー選択画面データを受信すると、当該フロー選択画面データに基づいてフロー選択画面を操作パネル２５に表示させる（Ｓ２０４）。
【００９２】
図１４は、フロー選択画面の表示例を示す図である。同図において、フロー選択画面８１０には、実行可能な（すなわち、フロー定義データ１８０が定義されている）処理フローごとに、フローＩＤをラベルとするボタンが表示されている。
【００９３】
続いて、フロー選択画面８１０上のボタンがユーザによって押下されると、配信アプリは、押下されたボタンに割り当てられているフローＩＤを、実行対象の処理フローのフローＩＤとして認識する（Ｓ２０５）。なお、ここでは、ボタン８１１が押下されたこととする。したがって、実行対象のフローＩＤ（以下、「カレントフローＩＤ」という。）は「ＴＥＳＴフロー」である。続いて、配信アプリは、カレントフローＩＤを配信サーバ１０に送信する（Ｓ２０６）。
【００９４】
配信サーバ１０においてカレントフローＩＤが受信されると、認証制御部１５は、カレントフローＩＤに対応する認証画面定義データ１９０を補助記憶装置１０２より検索する（Ｓ２０７）。なお、認証制御部１５は、カレントフローＩＤを実行対象の処理フローのフローＩＤとしてメモリ装置１０３に記録しておく。認証画面定義データ１９０の検索に成功すると、認証制御部１５は、検索された認証画面定義データ１９０を配信アプリに送信する（Ｓ２０８）。
【００９５】
配信アプリは、認証画面定義データ１９０を受信すると、当該認証画面定義データ１９０に基づいて認証画面７００（図１０参照）を操作パネル２５に表示させる（Ｓ２０９）。続いて、認証画面７００を介してユーザによって認証情報項目の値の入力が行われる（Ｓ２１０）。ここで、認証画面７００には、デフォルトの認証情報項目（ユーザ名及びパスワード）に加え、実行対象とされている処理フローにおいて利用されるプラグインに対する認証情報項目（本実施の形態では、Ｏｐｔｉｏｎ１〜４）の値も入力可能とされている。したがって、ユーザは、一つの認証画面７００において、実行対象の処理フローに対して入力が必要とされる全ての認証情報項目に対する値を入力することができる。
【００９６】
認証画面７００を介して認証情報項目の値が入力され、ログインボタン７２２が押下されると、配信アプリは、認証情報を配信サーバ１０に送信する（Ｓ２１１）。
【００９７】
図１５は、認証情報の構成例を示す図である。同図に示されるように、認証情報は、認証情報項目ごとに認証情報項目ＩＤ及び入力値を含む。配信アプリは、認証画面定義データ１９０に含まれているｐａｒａｍｅｔｅｒＩＤ要素に基づいて各認証情報項目の認証情報項目ＩＤを識別する。入力値は、認証画面７００を介して入力された値がそのまま認証情報に含まれる。
【００９８】
続いて、配信サーバ１０において認証情報が受信されると、認証制御部１５は、当該認証情報に基づく認証処理の実行を制御する（Ｓ２１２）。認証処理が終了すると、認証制御部１５は、認証結果を配信アプリに返信する（Ｓ２１３）。配信アプリは、受信された認証結果が認証の失敗を示すものである場合、認証失敗を示すエラー情報を操作パネル２５に表示させ、処理を中止する。一方、受信された認証結果が認証の成功を示すものである場合、認証アプリは、スキャナ２２に原稿の読み取りを実行させる（Ｓ２１４）。なお、原稿は、配信アプリの起動前にスキャナ２２にセットされてもよいし、認証の成功を受けてセットされてもよい。
【００９９】
続いて、配信アプリは、スキャナ２２によって原稿より読み取られた画像データ（スキャン画像データ）を配信サーバ１０に送信する（Ｓ２１５）。配信サーバ１０においてスキャン画像データが受信されると、フロー実行制御部１４は、メモリ装置１０３に記録されているカレントフローＩＤに対応するフロー定義データ１８０を補助記憶装置１０２より取得し、当該フロー定義データ１８０に定義されている処理フローの実行を制御する（Ｓ２１６）。処理フローが実行されることにより、スキャン画像データの配信処理が実行される。
【０１００】
続いて、図１３のステップＳ２１２の詳細について説明する。図１６は、認証処理の処理手順を説明するためのシーケンス図である。
【０１０１】
ステップＳ３０１において、認証制御部１５は、受信された認証情報について必須の認証情報項目に対する値が入力されているか（入力値が空でないか）否かを判定する。当該判定は、認証情報における各認証情報項目ＩＤに対応するｒｅｑｕｉｒｅｄ属性の値を認証画面定義データ１９０より取得することにより行われる。値が入力されていない必須の認証情報項目が有る場合、認証制御部１５は、認証失敗を示す認証結果を配信アプリに返信する。この場合、配信アプリは、再度認証画面７００を操作パネル２５に表示させ、当該必須の認証情報項目に対する値を入力させるようにしてもよい。
【０１０２】
全ての必須の認証情報項目に値が入力されている場合、認証制御部１５は、実行対象とされている処理フローにおいて利用されるプラグインに関連付いている各認証プラグイン１３を認証画面定義データ１９０のａｕｔｈｅｎｔｉｃａｔｉｏｎ要素１９５０に基づいて判定し、当該各認証プラグイン１３に認証処理を実行させる。
【０１０３】
本実施の形態では、認証制御部１５は、ａｕｔｈｅｎｔｉｃａｔｉｏｎ要素１９５０内のｐｕｌｕｇｉｎ要素１９５１のｉｄ属性に基づいて、認証プラグインＡ１３１に対し認証情報に基づく認証処理の実行を要求する（Ｓ３０２）。認証プラグインＡ１３１は、認証情報に基づいて認証処理を実行し、認証結果（認証の成否）を認証制御部１９に返却する（Ｓ３０３）。認証制御部１９は、認証プラグインＡ１３１による認証結果を、認証プラグインＡ１３１の認証プラグインＩＤと関連付けてメモリ装置１０３に記録しておく。なお、認証処理の内容や、どのような場合に認証を成功とするか又は失敗するかについては各認証プラグイン１３の実装に依存する。また、各認証プラグイン１３には、認証情報の全部が入力されてもよいし、それぞれの認証プラグイン１３が必要とする認証情報項目に係る部分のみが入力されてもよい。
【０１０４】
続いて、認証制御部１５は、ａｕｔｈｅｎｔｉｃａｔｉｏｎ要素１９５０内のｐｕｌｕｇｉｎ要素１９５２のｉｄ属性に基づいて、認証プラグインＢ１３２に対し認証情報に基づく認証処理の実行を要求する（Ｓ３０４）。認証プラグインＢ１３２は、認証情報に基づいて認証処理を実行し、認証結果（認証の成否）を認証制御部１９に返却する（Ｓ３０５）。認証制御部１９は、認証プラグインＢ１３２による認証結果を、認証プラグインＢ１３２の認証プラグインＩＤと関連付けてメモリ装置１０３に記録しておく。
【０１０５】
続いて、認証制御部１５は、メモリ装置１０３に記録されている、各認証プラグイン１３による認証結果に基づいて統合的又は総合的な認証結果（認証処理全体としての結果）を判定する（Ｓ３０６）。当該統合的な認証結果が図１３のステップＳ２１３において配信アプリに返信される。
【０１０６】
続いて、図１６のステップＳ３０６の詳細について説明する。図１７は、認証制御部による統合的な認証結果の判定処理の処理手順を説明するためのフローチャートである。
【０１０７】
ステップＳ３６１において、認証制御部１５は、処理フローにおいて実行が必須とされている出力プラグイン１２の有無を認証画面定義データ１９０のａｕｔｈｅｎｔｉｃａｔｉｏｎ要素内の各ｐｌｕｇｉｎ要素のｒｅｑｕｒｉｅｄ属性の値に基づいて判定する。必須の出力プラグイン１２が有る場合（Ｓ３６１でＹｅｓ）、認証制御部１５は、当該出力プラグイン１２に対する認証の成否を、メモリ装置１０３に認証プラグインＩＤごとに関連付けて記録されている認証結果に基づいて判定する（Ｓ３６２）。当該必須の出力プラグイン１２に対する認証が成功している場合（Ｓ３６２でＹｅｓ）、認証制御部１５は、処理フローにおいて、当該必須の出力プラグイン１２の前段に接続されている全てのプラグインに対する認証は成功しているか否かをメモリ装置１０３に記録されている認証結果に基づいて判定する（Ｓ３６３）。なお、当該必須の出力プラグイン１２の前段のプラグインは、フロー定義データ１８０に基づいて判定される。当該必須の出力プラグイン１２の前段に接続されている全てのプラグインに対する認証が成功している場合（当該必須の出力プラグイン１２に前段のプラグインが無い場合も含む）（Ｓ３６３でＹｅｓ）、認証制御部１５は、統合的な認証結果は成功であると判定する（Ｓ３６４）。
【０１０８】
一方、必須の出力プラグイン１２に対する認証が失敗している場合（Ｓ３６２でＮｏ）、認証制御部１５は、統合的な認証結果は失敗であると判定する（Ｓ３６５）。
【０１０９】
また、必須の出力プラグイン１２が無い場合（Ｓ３６１でＮｏ）、認証制御部１５は、処理フローの中で、実行可能なパスか少なくとも一つ有るか否かを判定する（Ｓ３６６）。ここで、実行可能なパスとは、認証に成功したプラグイン又は認証が不要なプラグインのみが属しているパス（すなわち、認証が必要とされている全てのプラグインに対する認証が成功しているパス）をいう。実行可能なパスが有る場合（Ｓ３６６でＹｅｓ）、認証制御部１５は、統合的な認証結果は成功であると判定する（Ｓ３６７）。実行可能なパスが無い場合（Ｓ３６６でＮｏ）、証制御部１５は、統合的な認証結果は失敗であると判定する（Ｓ３６８）。
【０１１０】
図１７の判定結果の具体例を説明する。図１８は、統合的な認証結果の具体例を示す図である。
【０１１１】
同図に示される各テーブルは、それぞれが統合的な認証結果の具体例を示す。各テーブルの１列目（Ａ、Ｂ、Ｃ）は、処理フローにおいて利用されるプラグインに対する識別子である。Ａ、Ｂ、Ｃは、それぞれ、画像変換プラグイン１１１、フィルタ配信プラグイン１２２、及びメール配信プラグイン１２３を示すこととし、処理フローの構成は、図６に示される通りであるとする。また、図１７に限ってメール配信プラグイン１２３にも認証プラグイン１３が関連付いていることとする。なお、識別子が囲まれているプラグインは必須の出力プラグイン１２であることを示す。
【０１１２】
各テーブルの２列目は（ＯＫ又はＮＧ）は、プラグインごとの認証の成否を示す。３列目は統合的な認証結果を示す。
【０１１３】
同図では、ケース（１）〜（１０）が示されている。ケース（１）では、全ての認証結果がＮＧ（失敗）であるため（ステップＳ３６６でＮｏ）、統合的な認証結果はＮＧと判定されている。ケース（２）及び（５）では、必須であるＢに対する認証結果がＮＧであるため（ステップＳ３６２でＮｏ）、統合的な認証結果はＮＧと判定されている。ケース（３）及び（８）では、必須であるＢの前段のＡに対する認証結果がＮＧであるため（ステップＳ３６３でＮｏ）、統合的な認証結果はＮＧと判定されている。ケース（４）では、必須であるＢ及びその前段であるＡに対する認証結果がＯＫ（成功）であるため（ステップＳ３６３でＹｅｓ）、統合的な認証結果はＯＫと判定されている。
【０１１４】
ケース（６）では、必須であるＣに対する認証結果がＯＫであり（ステップＳ３６２でＹｅｓ）、Ｃに対する前段のプラグインは無いため（ステップＳ３６３でＹｅｓ）、統合的な認証結果はＯＫと判定されている。ケース（７）では、Ｃによって構成されるパスが実行可能であるため（Ｓ３６６でＹｅｓ）、統合的な認証結果はＯＫと判定されている。ケース（９）では、必須であるＣに対する認証結果がＮＧであるため（ステップＳ３６２でＮｏ）、統合的な認証結果はＮＧと判定されている。ケース（１０）では、全てのプラグインに対する認証結果がＯＫであり、全てのパスを実行可能であるため（ステップＳ３６６でＹｅｓ）、統合的な認証結果はＯＫと判定されている。
【０１１５】
続いて、図１３のステップＳ２１６の詳細について説明する。図１９は、処理フローの実行処理の処理手順を説明するためのシーケンス図である。
【０１１６】
ステップＳ４０１において、フロー実行制御部１４は、受信されたスキャン画像データを補助記憶装置１０２に保存する。続いて、フロー実行制御部１４は、メモリ装置１０３に記録されているカレントフローＩＤに対応するフロー定義データ１８０を補助記憶装置１０２より取得する（Ｓ４０２）。ここでは、図７に示されるフロー定義データ１８０が取得される。
【０１１７】
続いて、フロー実行制御部１４は、フロー定義データ１８０のＰｌｕｇｉｎ要素１８２に基づいて、画像変換プラグイン１１１に対し、認証の要否（認証プラグイン１３関連付いているか否か）を問い合わせる（Ｓ４０３）。本実施の形態において、画像変換プラグイン１１１には認証プラグインＡ１３１が関連付いている。したがって、画像変換プラグイン１１１は、認証は必要であること、及び認証プラグインＡ１３１の認証プラグインＩＤをフロー実行制御部１４に応答する（Ｓ４０４）。
【０１１８】
認証は必要であるとの応答に応じ、フロー実行制御部１４は、応答された認証プラグインＩＤを指定して認証制御部１５に認証の実行を要求する（Ｓ４０５）。認証制御部１５は、メモリ装置１０３に保持してある認証情報（すなわち、ステップＳ２１１において受信された図１５に示される認証情報）を指定して、当該認証プラグインＩＤによって識別される認証プラグインＡ１３１に認証の実行を要求する（Ｓ４０６）。認証プラグインＡ１３１は、認証情報を利用して認証処理を実行し、認証結果を認証制御部１５に返却する（Ｓ４０７）。認証制御部１５は、当該認証結果をフロー実行制御部１４に返却する（Ｓ４０８）。
【０１１９】
認証に成功した場合、フロー実行制御部１４は、画像変換プラグイン１１１に対し、スキャン画像データの識別情報（例えば、ファイル名）を指定して処理の実行を要求する（Ｓ４０９）。画像変換プラグイン１１１は、指定された識別情報に基づいてスキャン画像データに対して画像変換を実行し、生成されたデータを補助記憶装置１０２に保存する。画像変換プラグイン１１１は、生成されたデータの識別情報（例えば、ファイル名）をフロー実行制御部１４に返却する（Ｓ４１０）。
【０１２０】
続いて、フロー実行制御部１４は、フロー定義データ１８０のＰｌｕｇｉｎ要素１８４に基づいて、フォルダ配信プラグイン１２２に対し、認証の要否を問い合わせる（Ｓ４１１）。本実施の形態において、フォルダ配信プラグイン１２２には認証プラグインＢ１３２が関連付いている。したがって、フォルダ配信プラグイン１２２は、認証は必要であること、及び認証プラグインＢ１３２の認証プラグインＩＤをフロー実行制御部１４に応答する（Ｓ４１２）。
【０１２１】
認証は必要であるとの応答に応じ、フロー実行制御部１４は、応答された認証プラグインＩＤを指定して認証制御部１５に認証の実行を要求する（Ｓ４１３）。認証制御部１５は、メモリ装置１０３に保持してある認証情報を指定して、当該認証プラグインＩＤによって識別される認証プラグインＢ１３２に認証の実行を要求する（Ｓ４１４）。認証プラグインＢ１３２は、認証情報を利用して認証処理を実行し、認証結果を認証制御部１５に返却する（Ｓ４１５）。認証制御部１５は、当該認証結果をフロー実行制御部１４に返却する（Ｓ４１６）。
【０１２２】
認証に成功した場合、フロー実行制御部１４は、フォルダ配信プラグイン１２２に対し、画像変換プラグイン１１１より返却された識別情報（例えば、ファイル名）を指定して処理の実行を要求する（Ｓ４１７）。フォルダ配信プラグイン１２２は、指定された識別情報に係るデータに関して配信処理を実行し、配信処理の結果（成否）をフロー実行制御部１４に返却する（Ｓ４１８）。
【０１２３】
続いて、フロー実行制御部１４は、フロー定義データ１８０のＰｌｕｇｉｎ要素１８３に基づいて、メール配信プラグイン１２３に対し、認証の要否を問い合わせる（Ｓ４１９）。本実施の形態において、メール配信プラグイン１２３には認証プラグイン１３は関連付いていない。したがって、メール配信プラグイン１２３は、認証は不要であることをフロー実行制御部１４に応答する（Ｓ４２０）。
【０１２４】
認証は不要であるとの応答に応じ、フロー実行制御部１４は、メール配信プラグイン１２３に対し、スキャン画像データの識別情報（例えば、ファイル名）を指定して処理の実行を要求する（Ｓ４２１）。ここで、メール配信プラグイン１２３にスキャン画像データが処理対象として指定されるのは、メール配信プラグイン１２３は、画像変換プラグイン１１１と並んで、処理フローにおいて先端に位置するプラグインだからである。
【０１２５】
続いて、メール配信プラグイン１２３は、スキャン画像データに関してメール配信を実行し、配信処理の結果をフロー実行制御部１４に返却する（Ｓ４２２）。
【０１２６】
ところで、認証が必要であるプラグイン（画像変換プラグイン１１１、フォルダ配信プラグイン１２２）について認証に失敗した場合、フロー実行制御部１４は、当該プラグインの実行及び処理フロー上において当該プラグインが属するパスに属する他のプラグインの実行を中止する。具体的には、画像変換プラグイン１１１の認証に失敗した場合は、画像変換プラグイン１１１だけでなく、後段のフォルダ配信プラグイン１２２についても実行されない。
【０１２７】
但し、処理フロー上で別のパスに属するプラグインについては実行対象から除外されない。したがって、画像変換プラグイン１１１の認証に失敗した場合、ステップＳ４０７〜Ｓ４１６までは実行されないが、ステップＳ４１７以降は実行されうる。
【０１２８】
このように、認証に失敗したパスについてのみ実行対象から除外し、処理フロー全体を中止しないことにより、ユーザが利用可能な範囲内で処理フローを実行させることができる。したがって、処理フローの実行に柔軟性を持たせることができる。
【０１２９】
なお、図１９では、順次認証を確認しつつプラグインの実行を行う例について説明したが、最初に認証の必要なプラグインに関する認証を行い、利用可能なプラグインを判定し、実行可能なパスを判定した後に、実行可能なパスに属するプラグインに対して実行を指示するようにしてもよい。
【０１３０】
また、利用可能なプラグインの判定には、ステップＳ２１２における認証結果を利用するようにしてもよい。その場合、図１９において認証処理は行う必要はない。
【０１３１】
また、図１９では、メール配信プラグイン１２３の処理が、フォルダ配信プラグイン１２２の後に実行されるように説明したが、処理フローにおける並列的なパスは、並列的に実行されてもよい。すなわち、メール配信プラグイン１２３に関する処理は、画像変換プラグイン１１１に関する処理と並列的に実行されてもよい。
【０１３２】
上述したように、本実施の形態の配信サーバ１０によれば、プラグインごとに別々に必要とされる認証情報を一つの画面で入力させる統合的な認証画面の認証画面定義データ１９０を生成することができる。したがって、当該認証画面を介した一度の入力操作によって、処理フローにおいて必要とされる全ての認証情報を入力させることができる。その結果、プラグインごとに認証処理を可能としたことによる、ユーザによる認証情報の入力負担の増加を抑制することができる。
【０１３３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１３４】
１            ネットワーク配信システム
１０          配信サーバ
１１          フィルタプラグイン
１２          出力プラグイン
１３          認証プラグイン
１４          フロー実行制御部
１５          認証制御部
１６          フロー定義生成部
１７          認証画面生成部
１８          フロー選択画面生成部
２０          複合機
２１          コントローラ
２２          スキャナ
２３          プリンタ
２４          モデム
２５          操作パネル
２６          ネットワークインタフェース
２７          ＳＤカードスロット
３０          ファイルサーバ
４０          Ｗｅｂサーバ
５０          ＳＭＴＰサーバ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
１１１        画像変換プラグイン
１２１        Ｗｅｂ配信プラグイン
１２２        フォルダ配信プラグイン
１２３        メール配信プラグイン
１２４        ＦＴＰ配信プラグイン
１８０        フロー定義データ
１９０        認証画面定義データ
２１１        ＣＰＵ
２１２        ＲＡＭ
２１３        ＲＯＭ
２１４        ＨＤＤ
Ｂ            バス
【先行技術文献】
【特許文献】
【０１３５】
【特許文献１】特開２００８−９７５８６号公報
【図１】
2010191610.tif 000003
【図２】
2010191610.tif 000004
【図３】
2010191610.tif 000005
【図４】
2010191610.tif 000006
【図５】
2010191610.tif 000007
【図６】
2010191610.tif 000008
【図７】
2010191610.tif 000009
【図８】
2010191610.tif 000010
【図９】
2010191610.tif 000011
【図１０】
2010191610.tif 000012
【図１１】
2010191610.tif 000013
【図１２】
2010191610.tif 000014
【図１３】
2010191610.tif 000015
【図１４】
2010191610.tif 000016
【図１５】
2010191610.tif 000017
【図１６】
2010191610.tif 000018
【図１７】
2010191610.tif 000019
【図１８】
2010191610.tif 000020
【図１９】
2010191610.tif 000021