(57)【要約】【課題】ユーザの希望に沿ったワークフロー処理を効率的に行う。【解決手段】被処理情報に所定の情報処理を施す複数の実行機器の情報処理状況を検出する。また、被処理情報に施す処理及び処理の順序を示すワークフロー定義に基づいて、各実行機器に実行させる処理を処理単位で割り当てた実行フロー定義を生成する。また、実行フロー定義で各実行機器にそれぞれ割り当てられている処理のうち、他の実行機器で実行させる処理である移行対象処理を実行するためのアプリケーションプログラムを、他の実行機器にインストール制御する。さらに、移行対象処理を実行する実行機器を、アプリがインストールされた他の実行機器に変更した実行フロー定義を生成する。そして、実行フロー定義で指定された実行機器に、実行フロー定義及び被処理情報を送信し、実行フロー定義の処理順に被処理情報の処理を制御する。【選択図】図４
2019016241.tif 000002
【特許請求の範囲】
【請求項１】
被処理情報に所定の情報処理を施す複数の実行機器の情報処理状況をそれぞれ検出する処理状況検出部と、
前記被処理情報に施す処理及び前記処理の順序を示すワークフロー定義に基づいて、前記各実行機器に対して実行させる処理を処理単位で割り当てた実行フロー定義を生成する実行フロー生成部と、
前記実行フロー定義で前記各実行機器にそれぞれ割り当てられている前記処理のうち、他の実行機器で実行させる処理である移行対象処理を実行するためのアプリケーションプログラムを、前記他の実行機器にインストール制御するインストール制御部と、
前記移行対象処理を実行する実行機器を、前記アプリケーションプログラムがインストール制御された前記他の実行機器に変更した前記実行フロー定義を生成するように、前記実行フロー生成部を変更制御する変更制御部と、
前記実行フロー生成部で生成された前記実行フロー定義を、前記実行フロー定義で指定された前記実行機器に前記被処理情報を送信し、前記実行フロー定義の処理順に前記被処理情報の処理を制御する処理制御部と
を有する情報処理装置。
【請求項２】
前記ワークフロー定義には、優先すべき事項を示す優先条件情報が付されており、
前記実行フロー生成部及び前記変更制御部は、前記優先条件情報で示される優先すべき事項を考慮して、前記実行フローの生成、又は、前記実行フローの変更制御を行うこと
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記実行フロー定義に基づく一連のワークフロー処理の終了後に、前記他の実行機器にインストールされた、前記移行対象処理を実行するためのアプリケーションプログラムをアンインストール処理するアンインストール処理部と
を有することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記インストール制御部は、前記実行フロー定義で前記各実行機器にそれぞれ割り当てられている前記処理のうち、他の実行機器で実行させる処理である移行対象処理、及び、前記移行対象処理を実行させる前記他の実行機器を、前記情報処理状況に基づいて検出し、検出した前記他の実行機器に対して、前記移行対象処理を実行するためのアプリケーションプログラムをインストール制御すること
を特徴とする請求項１から請求項３のうち、いずれか一項に記載の情報処理装置。
【請求項５】
前記インストール制御部は、指定されたネットワーク環境上の前記他の実行機器に対して、前記移行対象処理を実行するためのアプリケーションプログラムをインストール制御すること
を特徴とする請求項１から請求項４のうち、いずれか一項に記載の情報処理装置。
【請求項６】
被処理情報に施す処理及び前記処理の順序を示すワークフロー定義を生成するワークフロー定義生成装置と、
前記被処理情報に対して所定の処理を施す複数の実行機器と、
請求項１から請求項５のうち、いずれか一項に記載の情報処理装置と
を有する情報処理システム。
【請求項７】
コンピュータを、
被処理情報に所定の情報処理を施す複数の実行機器の情報処理状況をそれぞれ検出する処理状況検出部と、
前記被処理情報に施す処理及び前記処理の順序を示すワークフロー定義に基づいて、前記各実行機器に対して実行させる処理を処理単位で割り当てた実行フロー定義を生成する実行フロー生成部と、
前記実行フロー定義で前記各実行機器にそれぞれ割り当てられている前記処理のうち、他の実行機器で実行させる処理である移行対象処理を実行するためのアプリケーションプログラムを、前記他の実行機器にインストール制御するインストール制御部と、
前記移行対象処理を実行する実行機器を、前記アプリケーションプログラムがインストール制御された前記他の実行機器に変更した前記実行フロー定義を生成するように、前記実行フロー生成部を変更制御する変更制御部と、
前記実行フロー生成部で生成された前記実行フロー定義を、前記実行フロー定義で指定された前記実行機器に前記被処理情報を送信し、前記実行フロー定義の処理順に前記被処理情報の処理を制御する処理制御部として機能させること
を特徴とする情報処理プログラム。
【請求項８】
前記ワークフロー定義には、優先すべき事項を示す優先条件情報が付されており、
前記実行フロー生成部及び前記変更制御部は、前記優先条件情報で示される優先すべき事項を考慮して、前記実行フローの生成、又は、前記実行フローの変更制御を行うこと
を特徴とする請求項７に記載の情報処理プログラム。
【請求項９】
前記コンピュータを、
前記実行フロー定義に基づく一連のワークフロー処理の終了後に、アンインストール処理部が、前記他の実行機器にインストールされた、前記移行対象処理を実行するためのアプリケーションプログラムをアンインストール処理するアンインストール処理部として、さらに機能させること
を特徴とする請求項７又は請求項８に記載の情報処理プログラム。
【請求項１０】
前記インストール制御部は、前記実行フロー定義で前記各実行機器にそれぞれ割り当てられている前記処理のうち、他の実行機器で実行させる処理である移行対象処理、及び、前記移行対象処理を実行させる前記他の実行機器を、前記情報処理状況に基づいて検出し、検出した前記他の実行機器に対して、前記移行対象処理を実行するためのアプリケーションプログラムをインストール制御すること
を特徴とする請求項７から請求項９のうち、いずれか一項に記載の情報処理プログラム。
【請求項１１】
前記インストール制御部は、指定されたネットワーク環境上の前記他の実行機器に対して、前記移行対象処理を実行するためのアプリケーションプログラムをインストール制御すること
を特徴とする請求項７から請求項１０のうち、いずれか一項に記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム及び情報処理プログラムに関する。
【背景技術】
【０００２】
今日において、情報処理装置により所定の情報処理を施した情報を形成し、この形成した情報を、予め定められたルールに従って指定の配信先となる機器に配信する情報処理システムが知られている。情報処理装置で情報に施される情報処理は、ワークフローによって定義されている。ワークフローとして定義する情報処理は、所望の複数の情報処理を組み合わせて定義することが可能となっている。利用者は、用途に応じた情報処理を指定してワークフローを定義する。これにより、利用者の目的に沿った情報処理が施された情報を得ることができる。
【０００３】
特許文献１（特開２０１０−２６８０６４号公報）には、画像処理装置において、他の装置で提供される機能を用いてワークフローを実行する際に、他の装置で提供されている機能のうち、適切な機能を選択して用いることを可能とした画像処理システムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の画像処理システムは、 希望するワークフロー処理を提供している画像処理装置に、 画像処理を依頼するようになっている。このため、 例えば希望するワークフロー処理を提供している画像処理装置が高負荷となっている場合にはワークフローの処理を効率的に行うことができない。また、当該画像処理装置がユーザが望むネットワーク環境に無い場合には、ユーザの望むネットワーク環境でワークフロー処理を実行することができない。このように、特許文献１の画像処理システムでは、必ずしもユーザの希望に沿ったワークフロー処理を効率的に行うことができるとは限らない。
【０００５】
本発明は、上述の課題に鑑みてなされたものであり、ユーザの希望に沿ったワークフロー処理を効率的に行うことが可能な情報処理装置、情報処理システム及び情報処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、被処理情報に所定の情報処理を施す複数の実行機器の情報処理状況をそれぞれ検出する処理状況検出部と、被処理情報に施す処理及び処理の順序を示すワークフロー定義に基づいて、各実行機器に対して実行させる処理を処理単位で割り当てた実行フロー定義を生成する実行フロー生成部と、実行フロー定義で各実行機器にそれぞれ割り当てられている処理のうち、他の実行機器で実行させる処理である移行対象処理を実行するためのアプリケーションプログラムを、他の実行機器にインストール制御するインストール制御部と、移行対象処理を実行する実行機器を、アプリケーションプログラムがインストール制御された他の実行機器に変更した実行フロー定義を生成するように、実行フロー生成部を変更制御する変更制御部と、実行フロー生成部で生成された実行フロー定義を、実行フロー定義で指定された実行機器に被処理情報を送信し、実行フロー定義の処理順に被処理情報の処理を制御する処理制御部とを有する。
【発明の効果】
【０００７】
本発明によれば、ユーザの希望に沿ったワークフロー処理を効率的に行うことができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態の情報処理システムのシステム構成図である。
【図２】図２は、実施の形態の情報処理システムに設けられている各装置のハードウェア構成を示すブロック図である。
【図３】図３は、実施の形態の情報処理システムに設けられている各装置の機能ブロック図である。
【図４】図４は、実施の形態の情報処理システムのワークフロー処理動作の流れを示すフローチャートである。
【図５】図５は、実施の形態の情報処理システムにおいて、ワークフロー定義を生成する際に設定可能となっている優先条件を説明するための図である。
【図６】図６は、セキュリティ優先設定における詳細設定を説明するための図である。
【図７】図７は、実施の形態の情報処理システムで生成されるワークフロー定義の一例を示す図である。
【図８】図８は、ワークフロー定義のワークフロー処理を流れに沿ってブロック図的に示した図である。
【図９】図９は、制御サーバ装置の記憶部に記憶されている、ワークフロー処理の各処理に対してデフォルトとして割り当てられた実行サーバ装置を示す割り当て判別情報のデータベースを説明するための図である。
【図１０】図１０は、各実行サーバ装置から収集された、各実行サーバ装置の現在の処理状況を示す処理状況情報を説明するための図である。
【図１１】図１１は、主としてワークフロー処理を実行するメイン実行サーバ装置における、現在の処理状況を説明するための図である。
【図１２】図１２は、実施の形態の情報処理システムで生成されるワークフロー定義に基づいて、ワークフロー処理の各処理を実行する実行サーバ装置を割り当てた実行ワークフロー定義の一例を示す図である。
【図１３】図１３は、主としてワークフロー処理を実行するメイン実行サーバ装置で混雑が生じている処理を、他の実行サーバ装置で代行させるように生成した実行ワークフロー定義の一例を示す図である。
【発明を実施するための形態】
【０００９】
（概要）
実施の形態の情報処理システムは、一連のワークフロー処理を行う機器において、一部（又は全部）の処理に混雑等の支障が生じている場合、この支障が生じている処理を、他の機器で一時的に代行させる。これにより、一部の処理を他の機器で代行させる構成で、効率良く一連のワークフロー処理が実行可能となっている。また、実施の形態の情報処理システムは、一連のワークフロー処理を行う機器がクラウド環境にある場合において、ユーザがオンプレミス環境で一部の処理を行わせたい場合には、当該処理を、オンプレミス環境にある機器で一時的に代行させる。これにより、ユーザが希望するネットワーク環境でワークフロー処理を実行することができる。この場合において、一時的に代行させる機器には、当該処理を実行するためのアプリケーションプログラムを必要となった際にインストールし、代行する処理が終了して不要となったらアンインストールする。
【００１０】
これにより、処理を代行させた機器を開放し、当該機器に新たに代行処理を行わせることができる。このように、本実施形態の情報処理システムは、機器の処理状況及びユーザが希望するネットワーク環境（処理の実行場所）などに応じて、代替させる機器に一時的にアプリケーションをインストールして実行させることができる。よって、ユーザの希望に沿ったワークフロー処理を効率的に行うことができる。また、必要となった際に、代替させる機器に対して必要なアプリケーションをインストールするため、当該機器で様々な処理の代替を可能とすることができ、ワークフロー処理に利用する機器の数を少なく抑えることができる。このため、小規模なリソースで、情報処理システムを実現可能とすることができる。また、例えば、利用するリソース（機器）に応じて従量課金されるようなクラウドサービスであっても、利用するリソースを抑えることができ、低コストで情報処理システムを実現可能とすることができる。
【００１１】
（システム構成）
図１は、実施の形態の情報処理システムのシステム構成図である。この図１に示すように、実施の形態の情報処理システムは、スキャナ装置１、制御サーバ装置２、実行サーバ装置３、管理サーバ装置４４、アプリケーションプログラムサーバ装置（ＡＰサーバ装置）５及びクライアント端末６を有している。スキャナ装置１〜クライアント端末６は、ＬＡＮ（Local  Area  Network）又はインターネット等のＷＡＮ（Wide  Area  Network）等のネットワーク７を介して相互に接続されている。なお、ネットワーク７は、有線通信網でも良いし、無線通信網でもよい。
【００１２】
スキャナ装置１は、ワークフロー処理対象となるデータを形成する。具体的には、スキャナ装置１は、原稿をスキャンすることで生成した画像データを、一連のワークフロー処理に対する入力データとして制御サーバ装置２に送信する。
【００１３】
なお、この例では、ワークフロー処理を行うデータを生成又は取得する機器としてスキャナ装置１を用いることとしたが、ワークフロー処理を行うデータを生成又は取得する機器であれば、どのような電子機器を用いてもよい。例えば、スキャナ装置１の代わりに、コピー装置を用いてもよいし、記憶媒体からデータの読み出しを行う読み出し装置を用いてもよい。また、外部から有線又は無線で送信されたデータを受信する受信装置を用いてもよい。また、電子メールで受信したデータを用いてもよい。また、クラウド環境等における所定のファイルサーバ装置又はストレージ装置からデータを取得してもよい。
【００１４】
実行サーバ装置３は、スキャナ装置１で生成された画像データ（ジョブデータ：被処理情報の一例）に対して、制御サーバ装置２から受信したワークフロー定義に従ったワークフロー処理を施す。ワークフロー処理とは、例えばそれぞれが独立し又は単独で完結した機能を実現する一以上の処理単位（タスク）の任意な組み合わせで形成される処理の流れ（処理フロー）をいう。なお、「処理単位」として、一般的なワークフローの概念における「アクティビティ」を用いてもよい。
【００１５】
ワークフロー処理に含まれる各処理としては、画像データに施す画像補正処理、データにメタデータを付与する処理、データを配信先に配信する処理等、さまざまな処理が存在する。実行サーバ装置３は、実行機器の一例であり、ワークフロー処理に基づく処理をジョブデータに施し、これをクライアント端末６等の予め定められた所定の機器に送信する。なお、ワークフロー処理の全ての処理を、一つの実行サーバ装置３で行う必要はない。実施の形態の情報処理システムの場合、一連のワークフロー処理のうち、混雑等による支障が生じている部分的な処理（移行対象処理）を、一つ又は複数の他の実行サーバ装置３で一時的に分担処理することで、一連のワークフロー処理を効率良く実行可能となっている。
【００１６】
また、ワークフロー処理の各処理のアプリケーションプログラムは、実行サーバ装置３のＲＯＭ１２又はＨＤＤ１４等の記憶部に、予め記憶させてもよいし、所定のタイミングでネットワーク７を介して実行サーバ装置３にダウンロードしてインストールしてもよい。
【００１７】
制御サーバ装置２は、実行サーバ装置３で実行される処理状況を監視し、ワークフロー処理の最適化を図る。例えば、実行サーバ装置３において、ワークフロー処理の各処理のうち、混雑している処理が存在する場合、制御サーバ装置２は、他の実行サーバ装置３に対して、混雑している処理に対応するアプリケーションプログラムのインストール指示を行う。この指示が行われた他の実行サーバ装置３は、混雑している処理に対応するアプリケーションプログラムをＡＰサーバ装置５から取得してインストールする。これにより、混雑している処理を、他の実行サーバ装置３で代行可能とすることができ、一連のワークフロー処理を滞りなく（効率的に）実行可能とすることができる。
【００１８】
また、制御サーバ装置２は、他の実行サーバ装置３にインストールした、混雑している処理に対応するアプリケーションプログラムが不要となった際に、このアプリケーションプログラムのアンインストールを指示する。このアンインストール指示が行われた他の実行サーバ装置３は、上述の混雑時にインストールしたアプリケーションプログラムをアンインストールする。これにより、一時的に処理を依頼した他の実行サーバ装置３を、他の処理のアプリケーションプログラムのインストール又は他の情報処理のために開放（待機状態）とすることができ、情報処理システム内のリソースの有効活用を図ることができる。
【００１９】
ＡＰサーバ装置５は、実行サーバ装置３で実行する各種アプリケーションプログラムを記憶しているサーバ装置である。ＡＰサーバ装置５は、ネットワーク７上に一つ設けてもよいし、複数設けてもよい。各ＡＰサーバ装置５に記憶するアプリケーションプログラムは、同じ種類のアプリケーションプログラムでも良いし、それぞれ異なる種類のアプリケーションプログラムを記憶してもよい。ＡＰサーバ装置５は、制御サーバ装置２からインストールが指示された実行サーバ装置等にアプリケーションプログラムを送信する。
【００２０】
管理サーバ装置４は、例えばＨＤＤ１４等の記憶部に、ワークフロー処理を形成する各処理の定義データが記憶されたデータベースを有している。管理サーバ装置４は、データベースに記憶されている定義データに基づいて、利用者により指定された一連のワークフロー処理に対応するワークフロー定義を生成する。そして、生成したワークフロー定義を、ネットワーク７を介して制御サーバ装置２に送信する。なお、スキャナ装置１に定義データが記憶されたデータベースを設け、スキャナ装置１でワークフロー定義を生成して、制御サーバ装置２に送信してもよい。
【００２１】
また、図１では、制御サーバ装置２、実行サーバ装置３、管理サーバ装置４及びＡＰサーバ装置５を、それぞれ物理的に異なるサーバ装置として図示しているが、一つのサーバ装置で、制御サーバ装置２〜ＡＰサーバ装置５の各機能を実現してもよいし、複数のサーバ装置１で制御サーバ装置２〜ＡＰサーバ装置５の各機能を分担してもよい。また、図１に示す制御サーバ装置２〜ＡＰサーバ装置５は、オンプレミス環境上又はクラウド環境上のうち、どちらに設けてもよいし、オンプレミス環境上及びクラウド環境上に分散して設けてもよい。
【００２２】
クライアント端末６は、ウェブブラウザ等を介して管理サーバ装置４にアクセスし、ワークフロー定義を作成する。なお、管理サーバ装置４においては、クライアント端末６を介して各種設定変更が可能である他、管理サーバ装置４を直接操作して各種設定を変更可能となっている。
【００２３】
（ハードウェア構成）
図２は、スキャナ装置１〜クライアント端末６が備えている主となるハードウェア構成を示す図である。この図２に示すように、スキャナ装置１〜クライアント端末６は、ＣＰＵ（Central  Processing  Unit）１１、ＲＯＭ（Read  Only  Memory）１２、ＲＡＭ（Random  Access  Memory）１３、ＨＤＤ（Hard  Disk  Drive）１４、操作部１５及び通信部１６を有している。ＣＰＵ１１〜通信部１６は、それぞれバスライン１７を介して相互に接続されている。
【００２４】
スキャナ装置１の場合、ＣＰＵ１１〜通信部１６の他、原稿読み取り機構等を有している。クライアント端末６の場合、ＣＰＵ１１〜通信部１６の他、モニタ装置又は液晶表示部等の表示部を有している。
【００２５】
ＲＯＭ１２、ＲＡＭ１３又はＨＤＤ１４等の記憶部には、スキャナ装置用、制御サーバ装置用、実行サーバ装置用、管理サーバ装置用、ＡＰサーバ装置用又はクライアント端末用等の、各機器に対応する情報処理プログラムが記憶されている。スキャナ装置１〜クライアント端末６のＣＰＵ１１は、記憶部に記憶されている各装置用の情報処理プログラムを実行することで、それぞれ以下に説明する各機能を実現する。
【００２６】
（機能構成）
図３は、スキャナ装置１〜クライアント端末６のＣＰＵ１１が情報処理プログラムを実行することで実現される各機能の機能ブロック図である。
【００２７】
（実行サーバ装置の機能）
まず、実行サーバ装置３は、図３に示すようにリモート通信制御部２１、フロー処理実行部２２、フロー処理状況通知部２３、実行フロー定義保持制御部２４、及び、フロー処理機能管理部２５を有している。
【００２８】
フロー処理機能管理部２５は、フロー処理機能管理部２５は、フロー処理機能取得部２６、フロー処理機能適用部２７及びフロー処理機能削除部２８を有している。フロー処理機能管理部２５は、実行サーバ装置３に記憶される、例えばフロー処理機能Ａ及びフロー処理機能Ｂ等の各種フロー処理機能を管理する。
【００２９】
フロー処理実行部２２は、実行フロー定義保持制御部２４により記憶部に保持されたワークフロー定義に従い、上述のフロー処理機能Ａ又はフロー処理機能Ｂ等のアプリケーションプログラムに基づいて、一連のワークフロー処理のうち、制御サーバ装置２に割り当てられた処理を実行する。また、フロー処理実行部２２は、制御サーバ装置２から指定されることでインストールしたフロー処理機能（アプリケーションプログラム）で、ワークフロー処理の一部（又は全部）の処理を代行する。
【００３０】
実行フロー定義保持制御部２４は、管理サーバ装置４等で作成されたワークフロー定義を、ＨＤＤ１４等の記憶部に記憶制御する。フロー処理状況通知部２３は、定期的、不定期、又は、制御サーバ装置２からの通知依頼を受信した際に、実行サーバ装置３の現在の処理状況を制御サーバ装置２に通知する。
【００３１】
フロー処理機能管理部２５のフロー処理機能取得部２６は、主としてワークフロー処理を行う実行サーバ装置３に、混雑等の支障が生じている処理が存在する場合に、制御サーバ装置２からの指示により、支障が生じている処理に対応するアプリケーションプログラムを、ＡＰサーバ装置５からネットワーク７を介して取得する。フロー処理機能適用部２７は、フロー処理機能取得部２６により、ＡＰサーバ装置５から取得されたフロー処理機能に対応するアプリケーションプログラムを実行サーバ装置３にインストール処理する。これにより、主としてワークフロー処理を行う実行サーバ装置３に、混雑等の支障が生じている処理が存在する場合に、制御サーバ装置２からの指示により、支障が生じている処理を一時的に代行する実行サーバ装置３が形成される。フロー処理機能削除部２８は、主としてワークフロー処理を行う実行サーバ装置３における、上述の支障が解消した際に、処理を代行していた実行サーバ装置３にインストールされた、上述の支障が生じている処理に対応するアプリケーションプログラムをアンインストール処理する。
【００３２】
（制御サーバ装置の機能）
次に、制御サーバ装置２は、図３に示すようにフロー定義保持制御部３１、適用情報保持制御部３２、フロー実行制御部３３及びリモート通信部３４を有している。フロー実行制御部３３は、処理制御部の一例であり、フロー処理状況監視部３５、フロー処理機能適用指示部３６、フロー処理機能削除指示部３７、及び、実行フロー定義生成部３８を有している。
【００３３】
フロー定義保持制御部３１は、管理サーバ装置４等で作成されたワークフロー定義を、制御サーバ装置２のＨＤＤ１４等の記憶部に記憶制御する。適用情報保持制御部３２は、各実行サーバ装置３が実行可能な処理を示す可能処理情報を、制御サーバ装置２のＨＤＤ１４等の記憶部に記憶制御する。フロー実行制御部３３のフロー処理状況監視部３５は、処理状況検出部の一例であり、定期的又は不定期に、ネットワーク７上の各実行サーバ装置３に問い合わせを行い、各実行サーバ装置３の現在の処理状況（情報処理状況）を監視する。
【００３４】
フロー処理機能適用指示部３６は、インストール制御部の一例であり、各実行サーバ装置３に対して、フロー処理機能（アプリケーションプログラム）の取得（インストール）を指示する。これにより、主としてワークフロー処理を実行する実行サーバ装置３上で混雑等の支障が生じている処理を、一時的に代行する実行サーバ装置３（サブ実行サーバ装置３）を形成できる。フロー処理機能削除指示部３７は、アンインストール処理部の一例であり、主としてワークフロー処理を実行する実行サーバ装置３における混雑等の支障が解消した際に、一時的に処理を代行していたサブ実行サーバ装置３にインストールされたアプリケーションプログラムのアンインストール（削除）を指示する。実行フロー定義生成部３８は、実行フロー生成部及び変更制御部の一例であり、フロー定義保持制御部３１により記憶部に記憶制御されたワークフロー定義を用いて、このワークフロー処理の各処理を処理単位で実行する実行サーバ装置３を割り当てた（指定した）実行フロー定義を生成する。
【００３５】
リモート通信部３４は、実行フロー定義生成部３８により生成された実行フロー定義で処理が割り当てられている実行サーバ装置３に対して、実行フロー定義を送信する。また、リモート通信部３４は、各実行サーバ装置３との間で通信を行い、該各実行サーバ装置３の現在の処理状況を示す処理状況情報を取得する。
【００３６】
（ＡＰサーバ装置の機能）
ＡＰサーバ装置５は、フロー処理機能提供部４１及びリモート通信部４２を有している。フロー処理機能提供部４１は、ＡＰサーバ装置５のＨＤＤ１４等の記憶部に記憶されている各種アプリケーションプログラムであるフロー処理機能Ａ、フロー処理機能Ｂ等のうち、制御サーバ装置２により指定された処理に対応するフロー処理機能を、リモート通信部４２を介して実行サーバ装置３に送信する。
【００３７】
（管理サーバ装置の機能）
管理サーバ装置４は、リモート通信部４５及びフロー定義生成部４６を有している。また、管理サーバ装置４は、ワークフロー処理の各処理に対応する定義データを記憶したデータベースを、ＨＤＤ１４等の記憶部に有している。リモート通信部４５は、ネットワーク７を介して、スキャナ装置１、制御サーバ装置２、実行サーバ装置３、ＡＰサーバ装置５及びクライアント端末６との間で通信を行う。フロー定義生成部４６は、利用者により指定された一連のワークフロー処理に対応するワークフロー定義を生成する。
【００３８】
（クライアント端末の機能）
クライアント端末６は、入力受付部４７、リモート通信部４９及び表示部４８に対する表示制御を行う表示制御部５０を有する。利用者は、操作部を操作することで、所望のワークフロー処理を指定する。リモート通信部４９は、指定されたワークフロー処理を示すワークフロー情報を管理サーバ装置４に送信する。これにより、管理サーバ装置４において、利用者により指定されたワークフロー処理に対応するワークフロー定義が生成される。
【００３９】
（スキャナ装置の機能）
スキャナ装置１は、ＣＰＵ１１が、ＨＤＤ１４等の記憶部に記憶されている情報処理プログラムの一例であるスキャナアプリケーションプログラム（スキャナアプリ）５１を実行することでスキャナエンジン５３を制御し、原稿載置台に載置された原稿に記載されている文字及び図形等の読み取り制御を行う。
【００４０】
また、スキャナ装置１のＣＰＵ１１は、スキャナアプリを実行することで、リモート通信部５４、表示制御部５５、及び、入力制御部５６として機能する。表示制御部５５は、原稿のプレビュー画像及び読み取り設定等をオペレーションパネル５７の表示部５８に表示制御する。入力制御部５６は、オペレーションパネル５７の操作部５９を介して入力された、例えば設定値等の入力処理を行う。リモート通信部５４は、スキャナエンジン５３により読み取られた原稿のデータ（ジョブデータ）を制御サーバ装置２に送信する。制御サーバ装置２は、ワークフロー処理に基づいて、ジョブデータを実行サーバ装置３に送信する。これにより、実行サーバ装置３において、原稿のデータに対して所定のワークフロー処理が施される。
【００４１】
なお、図３に示したスキャナ装置１、制御サーバ装置２、実行サーバ装置３、管理サーバ装置４、ＡＰサーバ装置５及びクライアント端末６の各機能は、それぞれ各装置のＨＤＤ１４等の記憶部に記憶されている情報処理プログラムをＣＰＵ１１が実行することでソフトウェア的に実現される。しかし、これらの各機能のうち、一部又は全部を、ＩＣ（Integrated  Circuit）等のハードウェアで実現してもよい。
【００４２】
また、各機能を実現する情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）、ブルーレイディスク（登録商標）、半導体メモリ等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、情報処理プログラムは、インターネット等のネットワーク経由でインストールするかたちで提供してもよい。また、情報処理プログラムは、携帯端末内のＲＯＭ等に予め組み込んで提供してもよい。
【００４３】
（システム動作）
図４のフローチャートに、実施の形態の情報処理システムのシステム動作の流れを示す。なお、図４のフローチャートは、ワークフロー処理を主として実行する実行サーバ装置３（メイン実行サーバ装置３）が、例えば混雑している際等に、ワークフロー処理の一部（又は全部）を、他の実行サーバ装置３（サブ実行サーバ装置３）に代行させる例である。この他、例えばメイン実行サーバ装置３に対する現在のデータ処理状況の問い合わせの応答が得られない場合に、サブ実行サーバ装置３で所定の処理を代行させてもよい。さらには、ユーザ等により指定されたオンプレミス環境又はクラウド環境等の所望のネットワーク環境上（処理の実行場所）のサブ実行サーバ装置３で所定の処理を代行させてもよい。
【００４４】
図４のフローチャートにおいて、まず、利用者は、所望のワークフロー処理をクライアント端末６上で選択する（ステップＳ１）。一例ではあるが、クライアント端末６の表示制御部５０は、総合メニューからワークフロー処理の選択項目が選択されると、複数の処理が組み合わされて形成された、それぞれ処理内容の異なる複数のワークフロー処理の一覧を表示部４８に表示する。利用者は、ステップＳ１において、この一覧の中から所望のワークフロー処理を選択操作する。
【００４５】
または、クライアント端末６の表示制御部５０は、総合メニューからワークフロー処理の選択項目が選択されると、ワークフロー処理を形成する各処理の選択画面を表示する。利用者は、この選択画面の中から、第１番目に実行する処理から順に、所望の処理を選択操作する。
【００４６】
また、実施の形態の情報処理システムは、このようなワークフローの選択時又は設定時に、ワークフロー処理の実行に際して優先すべき事項を示す「優先条件情報」を設定可能となっている。具体的には、クライアント端末６の表示制御部５０は、利用者により所望のワークフローが選択されると、選択されたワークフローの優先条件の設定画面を表示部４８に表示する。
【００４７】
図５は、このようなワークフローの優先条件の設定画面の一例を示す図である。この図５の例は、最優先すべき条件として「セキュリティ」が利用者により選択され、２番目に優先すべき条件として「処理速度」が利用者により選択された例を示している。また、図５の例は、「コスト」の条件は、利用者により選択されていない例を示している。
【００４８】
また、各優先条件は、詳細設定が可能となっている。一例ではあるが、図６は、「セキュリティ」の優先条件に対する詳細設定画面である。クライアント端末６の表示制御部５０は、図５に示す「セキュリティ」の優先条件の詳細設定ボタン１００の操作を検出すると、図６に示す「セキュリティ」の優先条件に対する詳細設定画面を表示部４８に表示制御する。
【００４９】
一例ではあるが、表示制御部５０は、この図６の例の場合、「セキュリティ」の優先条件に対する詳細設定画面に対して、「ワークフローの実行場所」、「セキュリティレベル」、及び、「アプリケーションの署名の有無」の各選択項目を表示する。また、表示制御部５０は、「ワークフローの実行場所」の選択項目として、オンプレミスのみを実行場所に指定する際に選択する「オンプレミスのみ」の選択項目、及び、オンプレミスの他、クラウドも実行場所に指定する際に選択する「クラウドも許可」の選択項目を表示する。
【００５０】
また、表示制御部５０は、「セキュリティレベル」の選択項目として、高いセキュリティレベルを希望する場合に選択する「高」の選択項目、中程度のセキュリティレベルを希望する場合に選択する「中」の選択項目、及び、低いセキュリティレベルを希望する場合に選択する「低」の選択項目を表示する。また、表示制御部５０は、「アプリケーションの署名の有無」の選択項目として、署名のあるアプリケーションのみを使用することを許可する場合に選択する「署名有りのみ」の選択項目、及び、署名の無いアプリケーションの使用も許可する場合に選択する「署名無しも許可」の選択項目を表示する。
【００５１】
図５及び図６の例の場合、コスト面は考慮されることなく、安全かつ高速にワークフロー処理が実行される。このように、ワークフロー処理に対して優先条件を設定可能とすることで、より利用者の希望に沿ったワークフロー処理を実行可能とすることができる。
【００５２】
このように利用者により選択されたワークフロー処理及び優先条件を示すワークフロー情報は、クライアント端末６のリモート通信部４９を介して管理サーバ装置４に送信される。
【００５３】
次に、利用者は、このようなワークフロー処理を選択すると、入力データの形成操作を行う。一例ではあるが、利用者は、クライアント端末６を操作して、スキャナ装置１に所望の原稿のスキャンを指示する。クライアント端末６の入力受付部４７は、このスキャン指示情報を取得し、リモート通信部４９に転送する。リモート通信部４９は、ネットワーク７を介して、スキャナ装置１に原稿のスキャンを指示する。スキャナ装置１の制御部５２（図２のＣＰＵ１１に相当）は、原稿載置台に載置されている原稿をスキャン処理するように、スキャナエンジン５３を制御する（ステップＳ２）。スキャナ装置１のリモート通信部５４は、スキャナエンジン５３のスキャン処理により生成された画像データ（ジョブデータ）を、ネットワーク７を介して制御サーバ装置２に送信する（ステップＳ３、ステップＳ４）。なお、この例では、スキャナ装置１で生成されたジョブデータを制御サーバ装置２に送信したが、ジョブデータを管理サーバ装置４に送信し、管理サーバ装置４が、ジョブデータと共に、以下に説明するワークフロー定義を制御サーバ装置２に送信してもよい。
【００５４】
管理サーバ装置４のフロー定義生成部４６は、クライアント端末６から受信したワークフロー情報で示される各処理の定義情報を記憶部１４から取得し、利用者から指定されたワークフロー処理に対応するワークフロー定義を生成する。
【００５５】
図７は、このように選択された各処理で形成されるワークフロー定義の一例である。この図７の例は、利用者により、第１〜第６の各処理が一連のワークフロー処理として選択された例である。第１の処理としては画像補正処理が、第２の処理としては条件分岐処理が、第３の処理としてはフォーマット変換処理が、第４の処理としてはメール配信処理が、第５の処理としては高圧縮フォーマット変換処理が、第６の処理としてはフォルダ配信処理が選択されている。
【００５６】
また、この図７の例の場合、第２の処理である条件分岐処理に「データサイズ＜１０ＭＢ」の条件が付されており、データサイズが１０ＭＢ未満の場合に、第３の処理と第５の処理に分岐することが補足として設定されている。また、図７の例の場合、第２の処理でデータサイズが１０ＭＢ未満と判定された場合に第３の処理の移行することが補足として設定されている。また、図７の例の場合、第２の処理でデータサイズが１０ＭＢ以上と判定された場合に、第５の処理に移行することが補足として設定されている。
【００５７】
図８は、図７に例示したワークフロー処理をブロック図的に示す図である。図７のワークフロー処理が実行される場合、この図８に示すように、入力となる例えば画像データに対して、所定の画像補正処理が施され、条件分岐処理において、画像補正処理後の画像データのデータサイズの判定が行われる。データサイズが１０ＭＢ未満の場合、データサイズを変更することなく、所定のフォーマットの画像データに変換処理され、電子メールに添付されて、予め指定されているメールアドレス宛てに送信される。これに対して、データサイズが１０ＭＢ以上の場合、高能率圧縮符号化処理（高圧縮処理）によりデータサイズが縮小化されたうえで、所定のフォーマットの画像データに変換処理され、フォルダ配信される。
【００５８】
次に、管理サーバ装置４のリモート通信部４５は、フロー定義生成部４６で生成されたワークフロー定義を、制御サーバ装置２に送信する。制御サーバ装置２のフロー定義保持制御部３１は、管理サーバ装置４から受信したワークフロー定義、及び、スキャナ装置１から受信したジョブデータを、ＨＤＤ１４等の記憶部に記憶制御する。フロー実行制御部３３は、管理サーバ装置４から受信したワークフロー定義を解析し、ワークフロー定義の各処理を実行可能な実行サーバ装置３を検出する（ステップＳ５）。
【００５９】
具体的には、制御サーバ装置２のＨＤＤ１４等の記憶部には、ワークフロー処理の各処理を割り当てる実行サーバ装置３を判別するための割り当て判別情報のデータベースが記憶されている。この図９に示すように、データベースには、一連のワークフロー処理に含まれる各処理の処理名、各処理を実行可能な実行サーバ装置３のサーバ識別情報（サーバＩＤ）、及び、各処理において、１ページ分に相当する画像データの処理に要する平均時間（１ページあたりの平均処理時間）が、それぞれ関連付けされて記憶されている。サーバＩＤとしては、各処理を実行可能な実行サーバ装置３として、デフォルトとして設定されている実行サーバ装置３のサーバＩＤが記憶されている。
【００６０】
また、制御サーバ装置２のフロー処理機能適用指示部３６は、主としてワークフロー処理を実行するメイン実行サーバ装置３に、一部の処理に混雑等の支障が生じており、この支障が生じている処理を、一時的に他の実行サーバ装置３（サブサーバ装置３）に代行させる場合、この代行させるサブ実行サーバ装置３のサーバＩＤを、サブサーバＩＤとして上述のデータベースに書き込む。
【００６１】
図９の例は、高圧縮フォーマット変換処理及びフォルダ配信処理を実行する実行サーバ装置３は、デフォルトとして「００２」のサーバＩＤの実行サーバ装置３が設定されていたが、「００２」のサーバＩＤの実行サーバ装置３における高圧縮フォーマット変換処理の混雑等により、「００３」のサーバＩＤ（サブサーバＩＤ）の実行サーバ装置３が、高圧縮フォーマット変換処理及びフォルダ配信処理を代行する実行サーバ装置３として選定された例である。
【００６２】
すなわち、図９の例の場合、画像補正処理及び条件分岐処理に対しては、サーバＩＤが「００１」の実行サーバ装置３が割り当てられている。なお、サーバＩＤが「００１」の実行サーバ装置３における１ページに相当する画像データの画像補正処理に要する時間は２０ｍｓで、条件分岐処理に要する時間は１ｍｓとなっている。また、フォーマット変換処理、メール配信処理、高圧縮フォーマット変換処理、及び、フォルダ配信処理に対しては、サーバＩＤが「００２」の実行サーバ装置３が割り当てられている。なお、サーバＩＤが「００２」の実行サーバ装置３における１ページに相当するフォーマット変換処理に要する時間は５０ｍｓ、メール配信処理に要する時間は５ｍｓ、高圧縮フォーマット変換処理に要する時間は１００ｍｓ、フォルダ配信処理に要する時間は１０ｍｓとなっている。さらに、高圧縮フォーマット変換処理及びフォルダ配信処理に対しては、サーバＩＤが「００３」の実行サーバ装置３が、高圧縮フォーマット変換処理及びフォルダ配信処理を実行する予備の実行サーバ装置として割り当てられている。
【００６３】
このような割り当て判別情報のデータベースは、管理者等が予め作成して制御サーバ装置２のＨＤＤ１４に記憶しておいてもよい。または、制御サーバ装置２のフロー処理機能適用指示部３６が、所定のタイミングで各実行サーバ装置３から、それぞれ実行可能な処理及び処理時間を示す情報を取得し、図９に示したように処理毎に関連付けてデータベースとして記憶部に記憶してもよい。
【００６４】
なお、高圧縮フォーマット変換処理がデフォルトとして設定されている「００２」のサーバＩＤの実行サーバ装置３において、高圧縮フォーマット変換処理の混雑等の解消等により、処理を代行させる必要がなくなった場合、フロー処理機能削除指示部３７は、処理の代行を依頼しているサブ実行サーバ装置３に対して、代行している処理のアプリケーションプログラムのアンインストールを指示すると共に、図９に示すデータベースのサブサーバＩＤを削除する。
【００６５】
次に、上述のステップＳ５において、ワークフロー定義の各処理を実行可能な実行サーバ装置３が検出されると、制御サーバ装置２のフロー処理状況監視部３５は、検出された各実行サーバ装置３に対して、現在のデータ処理状況の通知要求を行う。通知要求を受信した各実行サーバ装置３のフロー処理状況通知部２２は、現在のデータ処理状況を示す処理状況情報を、リモート通信制御部２１を介して制御サーバ装置２に送信する（ステップＳ６）。
【００６６】
図１０は、各実行サーバ装置３から取得された処理状況情報の一例を示す図である。この図１０に示すように、実行サーバ装置３は、サーバＩＤ，現在のデータ処理状況（状態）、実行サーバ装置３が設けられている地域（ロケーション）、実行サーバ装置３が設けられているネットワーク環境（クラウド又はオンプレミス）、実行サーバ装置３の伝送速度等を、処理状況情報として制御サーバ装置２に送信する。
【００６７】
この図１０に示す処理状況情報は、００１のサーバＩＤの実行サーバ装置３は、日本国内のクラウドネットワーク上に設けられた５０ＭＢ／ｓの伝送速度のサーバ装置であり、処理を実行するサーバ装置として選択されているが、現在、混雑していない「使用中」の状況であることを示している。また、図１０に示す処理状況情報は、００２のサーバＩＤの実行サーバ装置３は、アメリカ合衆国内のクラウドネットワーク上に設けられた１０ＭＢ／ｓの伝送速度のサーバ装置であり、処理を実行するサーバ装置として選択されており、現在、「混雑」の状況であることを示している。また、この図１０に示す処理状況情報は、００３のサーバＩＤの実行サーバ装置３は、日本国内のオンプレミス環境のネットワーク上に設けられた１００ＭＢ／ｓの伝送速度のサーバ装置であり、処理を実行するサーバ装置として選択されていない「未使用」の状況であることを示している。
【００６８】
さらに、各実行サーバ装置３は、処理状況情報に含めて、処理毎の状況の内訳を示す内訳情報を制御サーバ装置２に送信するようになっている。図１１は、図１０に示す００２のサーバＩＤの実行サーバ装置３の内訳情報を示している。図１０を用いて説明したように、００２のサーバＩＤの実行サーバ装置３は、現在、「混雑」の状態となっている。図１１に示す内訳情報は、００２のサーバＩＤの実行サーバ装置３で実行している各処理における「混雑」の内訳を示している。
【００６９】
すなわち、００２のサーバＩＤの実行サーバ装置３において、フォーマット変換処理に対する実行待ちジョブ数は「５個」であり、混雑とは言えない「正常」な状態であり、メール配信処理に対する実行待ちジョブ数は「０個」であり、混雑していない「正常」な状態であり、フォルダ配信処理に対する実行待ちジョブ数は「５個」であり、混雑とは言えない「正常」な状態であることを示している。しかし、００２のサーバＩＤの実行サーバ装置３において、高圧縮フォーマット変換処理に対する実行待ちジョブ数は「１００個」であり、高圧縮フォーマット変換処理が、現在の「混雑」の原因であることを示している。
【００７０】
次に、図４のフローチャートのステップＳ７において、フロー処理状況監視部３５が、混雑している処理の有無を判別する。ステップＳ７で、混雑している処理が存在すると判別された場合（ステップＳ７：Ｙｅｓ）、処理はステップＳ１３に進み、混雑している処理が存在しないと判別された場合（ステップＳ７：Ｎｏ）、処理はステップＳ８に進む。
【００７１】
図１１に示した例は、現在、メイン実行サーバ装置３において、高圧縮フォーマット変換処理が混雑している例である。この場合、処理はステップＳ１３に進む。ステップＳ１３では、フロー処理機能適用指示部３６が、上述の割り当て判別情報、及び、処理状況情報に基づいて、メイン実行サーバ装置３に代わって、高圧縮フォーマット変換処理を代行させるサブ実行サーバ装置３を選定する。
【００７２】
すなわち、図１０の例では、サーバＩＤが「００２」の実行サーバ装置３に対して処理の混雑が生じており、この混雑の内訳は、図１１に示すように高圧縮フォーマット変換処理が原因である。高圧縮フォーマット変換処理を代行させるサブ実行サーバ装置３を検索した結果、図１０に示すように、サーバＩＤが「００３」の実行サーバ装置３が、現在、「未使用」の実行サーバ装置３として検索されたとする。この場合、フロー処理機能適用指示部３６は、「未使用」となっているサーバＩＤが「００３」の実行サーバ装置３を、高圧縮フォーマット変換処理を代行させるサブ実行サーバ装置３として選定する。そして、フロー処理機能適用指示部３６は、サブ実行サーバ装置３に対して、高圧縮フォーマット変換処理を行うためのフロー処理機能（アプリケーションプログラム）のインストール指示を行う（ステップＳ１４）。
【００７３】
インストール指示を受信したサブ実行サーバ装置３のフロー処理機能取得部２６は、指示された高圧縮フォーマット変換処理に対応するアプリケーションプログラムをＡＰサーバ装置５からダウンロードする。そして、サブ実行サーバ装置３のフロー処理機能適用部２７が、ダウンロードした高圧縮フォーマット変換処理のアプリケーションプログラムをサブ実行サーバ装置３にインストール処理する。これにより、メイン実行サーバ装置３に代わって、サーバＩＤが「００３」のサブ実行サーバ装置３による、高圧縮フォーマット変換処理の代行が可能となる。
【００７４】
ここで、実施の形態の情報処理システムの場合、図５を用いて説明したように、ワークフロー処理に対して「優先条件」の設定が可能となっている。フロー処理機能適用指示部３６は、混雑が生じている処理以外の処理であっても、ワークフロー処理に付されている優先条件を満たすために代行させることが好ましいと判断した場合には、適した実行サーバ装置３を選定して、代行させる処理のアプリケーションプログラムをインストールさせる。
【００７５】
具体的には、図７に示すワークフロー処理の場合、混雑が生じている高圧縮フォーマット変換処理の次の処理として、「フォルダ配信処理」が」指定されている。利用者により、図５に示す「処理速度優先」の優先条件がワークフロー処理に付されている場合、ネットワーク７を介したデータの送受信は、極力行わない方が、処理速度の向上に寄与できる。このため、フロー処理機能適用指示部３６は、混雑が生じている高圧縮フォーマット変換処理のアプリケーションプログラムを、サーバＩＤが「００３」の実行サーバ装置３にインストールする指示を行った場合には、このサーバＩＤが「００３」の実行サーバ装置３に対して、フォルダ配信処理のアプリケーションプログラムをインストールする指示も行う。これにより、サブ実行サーバ装置３で優先条件を満足させるように処理を代行させることができる。
【００７６】
次に、図４のフローチャートのステップＳ８において、制御サーバ装置２の実行フロー定義生成部３８は、フロー定義保持制御部３１により記憶部に記憶制御されたワークフロー定義に基づいて、このワークフロー処理の各処理を実行する実行サーバ装置３を処理単位で指定した「実行フロー定義」を生成する。
【００７７】
具体的には、ステップＳ７において、各実行サーバ装置３から取得した現在のデータ処理状況を示す処理状況情報に基づいて、処理の混雑が検出されなかった場合（ステップＳ７：Ｎｏ）、実行フロー定義生成部３８は、図９に示したように各処理に対してデフォルトで指定されている実行サーバ装置３を、利用者から指定された一連のワークフロー処理の各処理を実行する実行サーバ装置３として指定した実行フロー定義を生成する。
【００７８】
すなわち、例えば図９に示したように、画像補正処理及び条件分岐処理に対しては、それぞれ「００１」の実行サーバ装置３がデフォルトで指定されており、フォーマット変換処理、メール配信処理、高圧縮変換処理及びフォルダ配信処理に対しては、それぞれ「００２」の実行サーバ装置３がデフォルトで指定されているとする。実行フロー定義生成部３８は、処理状況情報に基づいて、処理の混雑が検出されなかった場合（ステップＳ７：Ｎｏ）、図１２に示すように、画像補正処理及び条件分岐処理に対しては、それぞれ「００１」の実行サーバ装置３を指定し、フォーマット変換処理、メール配信処理、高圧縮変換処理及びフォルダ配信処理に対しては、それぞれ「００２」の実行サーバ装置３を指定した実行フロー定義を生成する。
【００７９】
これに対して、混雑が生じている処理のアプリケーションプログラムを、混雑が生じている処理を代行させるサブ実行サーバ装置３にインストールさせた場合には（ステップＳ１３、ステップＳ１４）、実行フロー定義生成部３８は、混雑が生じている処理を実行する実行サーバ装置３として、このサブ実行サーバ装置３を指定した実行フロー定義を生成する。
【００８０】
すなわち、図１０及び図１１の例は、現在、「未使用」となっているサーバＩＤが「００３」の実行サーバ装置３を、混雑が生じている高圧縮フォーマット変換処理を代行するサブ実行サーバ装置３として選定した例である。この場合、実行フロー定義生成部３８は、図１３に示すように、画像補正処理及び条件分岐処理に対しては、それぞれ「００１」の実行サーバ装置３を指定し、フォーマット変換処理及びメール配信処理に対しては、それぞれ「００２」の実行サーバ装置３を指定し、高圧縮変換処理に対しては、上述のサブ実行サーバ装置３であるサーバＩＤが「００３」の実行サーバ装置３を指定した実行フロー定義を生成する。
【００８１】
なお、上述のようにワークフロー処理に対して「優先条件」が設定されている場合、実行フロー定義生成部３８は、この優先条件も満足するように、代行させる処理及び代行させる実行サーバ装置３を選定して、所定のフロー処理機能（アプリケーションプログラム）のインストール制御を行う。
【００８２】
制御サーバ装置２のフロー実行制御部３３は、このように生成された実行フロー定義を、この実行フロー定義の処理を実行する実行サーバ装置３に送信する。実行サーバ装置３の実行フロー定義保持制御部２４は、制御サーバ装置２から受信した実行フロー定義を、ＨＤＤ１４等の記憶部に記憶する。
【００８３】
次に、制御サーバ装置２のリモート通信部３４は、スキャナ装置１から受信したジョブデータ（一例として、スキャンにより生成された画像データ）を、ワークフロー処理を実行する実行サーバ装置３に送信すると共に、処理の実行を指示する（ステップＳ９）。また、制御サーバ装置２のフロー実行制御部３３は、ジョブデータを送信したワークフロー処理を実行する実行サーバ装置３に対して、処理後のジョブデータの転送先となる実行サーバ装置３のネットワークアドレス（他の実行サーバ装置３のＩＰアドレス）を送信する。さらに、制御サーバ装置２のフロー実行制御部３３は、ワークフロー処理の最後の処理を割り当てた実行サーバ装置３に対しては、最後の処理の処理名等の最後の処理を特定するための情報及び最後の処理であることを示す情報を含むエンドデータを通知する。
【００８４】
ステップＳ１０では、実行サーバ装置３のフロー処理実行部２２が、指示された処理をジョブデータに対して施す。ステップＳ１１では、制御サーバ装置２のフロー実行制御部３３が、上述の制御サーバ装置２からのエンドデータの通知の有無に基づいて、実行した処理が、ワークフロー処理の最後の処理であるか否かを判別する。制御サーバ装置２からのエンドデータが通知されている場合、実行サーバ装置３のフロー処理実行部２２は、実行した処理が、ワークフロー処理の最後の処理であると判別する（ステップＳ１１：Ｙｅｓ）。この場合、ステップＳ１５に処理が進む。
【００８５】
これに対して、制御サーバ装置２からのエンドデータが通知されていない場合、実行サーバ装置３のフロー処理実行部２２は、実行した処理が、ワークフロー処理の最後の処理ではない判別する（ステップＳ１１：Ｎｏ）。この場合、ステップＳ１２に処理が進む。ステップＳ１２では、実行サーバ装置３のフロー処理実行部２２が、制御サーバ装置２から受信している、処理後のジョブデータの転送先となる実行サーバ装置３のネットワークアドレスの有無に基づいて、次の処理が他の実行サーバ装置３で実行されるか否かを判別する。実行サーバ装置３のフロー処理実行部２２は、次の処理を自身で実行すると判別した場合（ステップＳ１２：Ｎｏ）、ステップＳ１０に処理を戻し、続けて指定されている処理を実行する。これに対して、次の処理は他の実行サーバ装置３で実行されると判別された場合（ステップＳ１２：Ｙｅｓ）、ステップＳ９に処理が戻り、実行サーバ装置３のリモート通信制御部２１が、処理後のジョブデータを、制御サーバ装置２から指定されている転送先となる実行サーバ装置３に送信する。
【００８６】
このようなステップＳ９〜ステップＳ１２の動作を、具体例を用いて説明する。図１３に示す例の場合、第１の処理である画像補正処理及び第２の処理である条件分岐処理は、上述の実行フロー定義により、サーバＩＤが「００１」の実行サーバ装置３に処理が割り当てられている。また、図１３の例の場合、第３の処理であるフォーマット変換処理及び第４の処理であるメール配信処理は、上述の実行フロー定義により、サーバＩＤが「００２」の実行サーバ装置３に処理が割り当てられている。また、図１３の例の場合、第５の処理である高圧縮フォーマット変換処理及び第６の処理であるフォルダ配信処理は、上述の実行フロー定義により、サーバＩＤが「００３」の実行サーバ装置３に処理が割り当てられている。
【００８７】
サーバＩＤが「００１」の実行サーバ装置３で実行される条件分岐処理の後の処理であるフォーマット変換処理は、サーバＩＤが「００２」の実行サーバ装置３で実行される。このため、制御サーバ装置２のフロー実行制御部３３は、サーバＩＤが「００１」の実行サーバ装置３に対して、条件分岐処理後のジョブデータを、サーバＩＤが「００２」の実行サーバ装置３に送信させる指示情報と共に、サーバＩＤが「００２」の実行サーバ装置３のネットワークアドレスを、サーバＩＤが「００１」の実行サーバ装置３に通知している。
【００８８】
同様に、サーバＩＤが「００２」の実行サーバ装置３で実行されるメール配信処理の後の処理である高圧縮フォーマット変換処理は、サーバＩＤが「００３」の実行サーバ装置３で実行される。このため、制御サーバ装置２のフロー実行制御部３３は、サーバＩＤが「００２」の実行サーバ装置３に対して、メール配信処理後のジョブデータを、サーバＩＤが「００３」の実行サーバ装置３に送信させる指示情報と共に、サーバＩＤが「００３」の実行サーバ装置３のネットワークアドレスを、サーバＩＤが「００２」の実行サーバ装置３に通知している。
【００８９】
さらに、サーバＩＤが「００３」の実行サーバ装置３で実行されるフォルダ配信処理は、一連のワークフロー処理の最後の処理である。このため、制御サーバ装置２のフロー実行制御部３３は、フォルダ配信処理が最後の処理であることを示す上述のエンドデータを、サーバＩＤが「００３」の実行サーバ装置３に通知している。
【００９０】
このような状態において、ステップＳ９及びステップＳ１０で、サーバＩＤが「００１」の実行サーバ装置３で画像補正処理が実行されると、ステップＳ１１（Ｎｏ）及びステップＳ１２（Ｎｏ）を介して、再度、ステップＳ１０において、サーバＩＤが「００１」の実行サーバ装置３で条件分岐処理が実行される。この条件分岐処理後のフォーマット変換処理は、サーバＩＤが「００２」の実行サーバ装置３で実行されるため（ステップＳ１１：Ｎｏ、ステップＳ１２：Ｙｅｓ）、サーバＩＤが「００１」の実行サーバ装置３は、条件分岐処理後のジョブデータを、サーバＩＤが「００２」の実行サーバ装置３に送信する（ステップＳ９）。
【００９１】
サーバＩＤが「００２」の実行サーバ装置３は、ステップＳ９〜ステップＳ１２において、自身に割り当てられているフォーマット変換処理及びメール配信処理を実行し、メール配信処理後のジョブデータを、サーバＩＤが「００３」の実行サーバ装置３に送信する。
【００９２】
サーバＩＤが「００３」の実行サーバ装置３は、ステップＳ９〜ステップＳ１２において、自身に割り当てられている高圧縮フォーマット変換処理及びフォルダ配信処理を実行する。この例における一連のワークフロー処理の最後の処理がフォルダ配信処理であることは、上述のエンドデータにより、制御サーバ装置２からサーバＩＤが「００３」の実行サーバ装置３に通知されている。このため、サーバＩＤが「００３」の実行サーバ装置３のリモート通信制御部２１は、ワークフロー処理の最後の処理であるフォルダ配信処理が完了すると、このフォルダ配信処理後のジョブデータを、例えばクライアント端末６等の、予め利用者により指定済みの機器に送信する。これにより、クライアント端末６において、一例のワークフロー処理後のジョブデータを取得できる。
【００９３】
次に、一連のワークフロー処理の最後の処理が終了すると、図４のフローチャートの処理は、ステップＳ１５を介してステップＳ１６に進む。ステップＳ１６では、制御サーバ装置２のフロー機能削除指示部３７が、例えば混雑が生じている処理を代行させたサブ実行サーバ装置３が存在するか否かを判別する。換言すると、フロー機能削除指示部３７は、ステップＳ１６において、例えば混雑が生じている処理のアプリケーションプログラムをインストールさせたサブ実行サーバ装置３が存在するか否かを判別する。所定のアプリケーションプログラムをインストールさせたサブ実行サーバ装置３が存在しない場合（ステップＳ１６：Ｎｏ）、図４のフローチャートの全処理が終了となる。
【００９４】
これに対して、サーバＩＤが「００３」の実行サーバ装置３のように、例えば混雑が生じている処理のアプリケーションプログラムをインストールさせたサブ実行サーバ装置３が存在する場合（ステップＳ１６：Ｙｅｓ）、処理がステップＳ１７に進む。
【００９５】
ステップＳ１７では、フロー処理状況監視部３５が、上述のサブ実行サーバ装置３で代行している処理に混雑等を生じている実行サーバ装置３に対して、現在の処理状況を示す処理状況情報の通知要求を行う。すなわち、上述の例の場合、サーバＩＤが「００２」の実行サーバ装置３の高圧縮フォーマット変換処理が混雑しているため、サーバＩＤが「００３」の実行サーバ装置３に高圧縮フォーマット変換処理を代行させた。このため、制御サーバ装置２のフロー処理状況監視部３５は、サーバＩＤが「００２」の実行サーバ装置３に対して、現在の処理状況を示す処理状況情報の通知要求を行う。サーバＩＤが「００２」の実行サーバ装置３のフロー処理状況通知部２３は、自機における現在の処理状況を示す処理状況情報を制御サーバ装置２に送信する。
【００９６】
制御サーバ装置２のフロー処理状況監視部３５は、サブ実行サーバ装置３から受信した処理状況情報に基づいて、サブ実行サーバ装置３にインストールさせたアプリケーションプログラムに対応する処理を、サブ実行サーバ装置３で代行させる必要がなくなったか否かを判別する（ステップＳ１７）。すなわち、上述の例においては、サーバＩＤが「００２」の実行サーバ装置３の高圧縮フォーマット変換処理の混雑が解消したか否かを、制御サーバ装置２のフロー処理状況監視部３５が、サーバＩＤが「００２」の実行サーバ装置３のから受信した処理状況情報に基づいて判別する。
【００９７】
フロー処理状況監視部３５により、サーバＩＤが「００２」の実行サーバ装置３の高圧縮フォーマット変換処理の混雑が解消しておらず、サブ実行サーバ装置３で代行処理を継続させる必要があると判別された場合（ステップＳ１７：Ｙｅｓ）、図４のフローチャートの全処理が終了となり、代行処理が継続される。
【００９８】
これに対して、フロー処理状況監視部３５により、サブ実行サーバ装置３にインストールさせたアプリケーションプログラムに対応する処理を、サブ実行サーバ装置３で代行させる必要はないと判別された場合（ステップＳ１７：Ｎｏ）、処理がステップＳ１８に進む。すなわち、上述の例で説明すると、サーバＩＤが「００２」の実行サーバ装置３における高圧縮フォーマット変換処理の混雑が解消したと、フロー処理状況監視部３５が、処理状況情報に基づいて判別した場合、処理がステップＳ１８に進む。
【００９９】
ステップＳ１８では、制御サーバ装置２のフロー処理機能削除指示部３７が、サブ実行サーバ装置３に対して、他の実行サーバ装置３の処理を代行するためにインストールしたアプリケーションプログラムの削除指示を行い、図４のフローチャートの全処理を終了する。すなわち、上述の例の場合、制御サーバ装置２のフロー処理機能削除指示部３７は、サーバＩＤが「００３」の実行サーバ装置３に対して、サーバＩＤが「００２」の実行サーバ装置３の高圧縮フォーマット変換処理を代行するためにインストールしたアプリケーションプログラムの削除指示を行う。サーバＩＤが「００３」の実行サーバ装置３のフロー処理機能削除部２８は、制御サーバ装置２からの削除指示を受信すると、ＨＤＤ１４等の記憶部に記憶されている高圧縮フォーマット変換処理のアプリケーションプログラムを削除する。これにより、不要になったワークフロー処理の処理機能をサブ実行サーバ装置３から削除して、サブ実行サーバ装置３を解放できる。
【０１００】
（実施の形態の効果）
以上の説明から明らかなように、実施の形態の情報処理システムは、一連のワークフロー処理を行う実行サーバ装置３において、例えば一部（又は全部）の処理に混雑等の支障が生じている場合等に、この支障が生じている処理をサブ実行サーバ装置３で一時的に代行させる。または、ユーザ等により、一部（又は全部）の処理を実行させるネットワーク環境（オンプレミス環境又はクラウド環境等）が指定されている場合に、指定されているネットワーク環境上のサブサーバ装置３で、一時的に処理を代行させる。これにより、一部の処理を他の機器で代行させる、言わば「処理単位の代行構成」で各処理を行う実行サーバ装置３を変更しながらワークフロー処理を実行できる。このため、ユーザの希望に沿ったワークフロー処理を効率的に行うことができる。
【０１０１】
また、代行させた処理のアプリケーションプログラムは、処理の完了後に、代行させたサブ実行サーバ装置３から削除する。これにより、処理を代行させたサブ実行サーバ装置３を開放することができるため、ネットワーク資源の有効活用を図ることができる。
【０１０２】
最後に、上述の実施の形態は、一例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施可能である。また、発明の要旨を逸脱しない範囲で、実施の形態に対する種々の省略、置き換え、変更を行うことも可能である。
【０１０３】
また、上述のＣＰＵ１１としては、ソフトウェアによって各機能を実行するようにプログラムされたプロセッサ、及び、各機能を実行するよう設計されたＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＩＣ（Integrated  Circuit）又は回路モジュールなどのハードウェアを含むものとする。
【０１０４】
また、上述の実施の形態は、情報処理技術分野における通常の知識を有した技術者であれば、ＡＳＩＣ（Application  Specific  Integrated  Circuits）及び、従来の回路モジュールを接続して構成した装置によって実施することが可能である。
【０１０５】
また、上述の実施の形態に記載された各機能は、それぞれ、一又は複数の処理回路（Circuit）によって実現することが可能である。なお、「処理回路」とは、ソフトウェアによって各機能を実行するようプログラムされたプロセッサ、各機能を実行するように設計されたＡＳＩＣ及び回路モジュール等のハードウェアを含むものとする。
【０１０６】
このような実施の形態，実施の形態の変形例は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１０７】
１  スキャナ装置
２  制御サーバ装置
３  実行サーバ装置
４  管理サーバ装置
５  アプリケーションプログラムサーバ装置（ＡＰサーバ装置）
６  クライアント端末
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＨＤＤ
１５  操作部
１６  通信部
１７  バスライン
２１  リモート通信制御部
２２  フロー処理実行部
２３  フロー処理状況通知部
２４  実行フロー定義保持制御部
２５  フロー処理機能管理部
２６  フロー処理機能取得部
２７  フロー処理機能適用部
２８  フロー処理機能削除部
３１  フロー定義保持制御部
３２  適用情報保持制御部
３３  フロー実行制御部
３４  リモート通信部
３５  フロー処理状況監視部
３６  フロー処理機能適用指示部
３７  フロー処理機能削除指示部
３８  実行フロー定義生成部
４１  フロー処理機能提供部
４２  リモート通信部
４５  リモート通信部
４６  フロー定義生成部
４７  入力受付部
４８  表示部
４９  リモート通信部
５０  表示制御部
５１  スキャナアプリケーションプログラム（スキャナアプリ）
５２  制御部
５３  スキャナエンジン
５４  リモート通信部
５５  表示制御部
５６  入力制御部
５７  オペレーションパネル
５８  表示部
５９  操作部
【先行技術文献】
【特許文献】
【０１０８】
【特許文献１】特開２０１０−２６８０６４号公報
【図１】
2019016241.tif 000003
【図２】
2019016241.tif 000004
【図３】
2019016241.tif 000005
【図４】
2019016241.tif 000006
【図５】
2019016241.tif 000007
【図６】
2019016241.tif 000008
【図７】
2019016241.tif 000009
【図８】
2019016241.tif 000010
【図９】
2019016241.tif 000011
【図１０】
2019016241.tif 000012
【図１１】
2019016241.tif 000013
【図１２】
2019016241.tif 000014
【図１３】
2019016241.tif 000015