(57)【要約】【課題】仮想サーバを含む１つ以上の情報処理装置を用いて、複数の処理が定義されたワークフローを実行する情報処理システムにおいて、効率的に処理の負荷を分散することができるようにする。【解決手段】１つ以上の情報処理装置と管理装置とを含む情報処理システムであって、情報処理装置は、処理対象となる第１のデータと第１の処理情報とを受付する受付部と、第１のデータに対して第１の処理情報で示される処理手順を実行し、第１の処理手順が分岐するとき、分岐した処理手順のうち第１の処理手順を実行する実行部と、分岐した処理手順のうち第１の処理手順とは異なる第２の処理手順を実行する他の情報処理装置の情報を、管理装置から取得する取得部と、第２の処理手順の処理対象となる第２のデータと、第２のデータに対して実行する処理手順を示す第２の処理情報とを、他の情報処理装置に送信する送信部と、を有する。【選択図】図５
2019161420.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理が定義された処理手順に基づいて処理を実行する１つ以上の情報処理装置と、前記１つ以上の情報処理装置を管理する管理装置とを含む情報処理システムであって、
前記情報処理装置は、
処理対象となる第１のデータと、前記第１のデータに対して実行する処理手順を示す第１の処理情報とを受付する受付部と、
前記第１のデータに対して前記第１の処理情報で示される前記処理手順を実行し、前記処理手順が分岐するとき、分岐した処理手順のうち第１の処理手順を実行する実行部と、
前記処理手順が分岐するとき、分岐した処理手順のうち前記第１の処理手順とは異なる第２の処理手順を実行する他の情報処理装置の情報を、前記管理装置から取得する取得部と、
前記第２の処理手順の処理対象となる第２のデータと、前記第２のデータに対して実行する処理手順を示す第２の処理情報とを、前記他の情報処理装置に送信する送信部と、
を有する、情報処理システム。
【請求項２】
前記管理装置は、
前記１つ以上の情報処理装置の状態を管理し、前記第１の処理手順を実行する前記情報処理装置からの要求に応じて、前記第２の処理手順を実行する他の情報処理装置を決定する管理部と、
前記管理部が決定した前記他の情報処理装置の情報を、前記第１の処理手順を実行する前記情報処理装置に通知する通知部と、
を有する、請求項１に記載の情報処理システム。
【請求項３】
前記管理部は、前記１つ以上の情報処理装置のうち、処理を実行していない情報処理装置を、前記第２の処理手順を実行する前記他の情報処理装置を決定する、請求項２に記載の情報処理システム。
【請求項４】
前記管理部は、前記第１の処理手順を実行する前記情報処理装置からの要求を受け付けたときに、前記１つ以上の情報処理装置の中に処理を実行していない情報処理装置がない場合、起動していない一の情報処理装置を起動させる、請求項２又は３に記載の情報処理システム。
【請求項５】
前記情報処理システムの処理対象となるデータは、画像データ、音声データ、テキストデータ、及び動画データのうち、少なくとも１つを含む、請求項１乃至４のいずれか一項に記載の情報処理システム。
【請求項６】
前記情報処理装置は、前記第１の処理情報に示された前記処理手順が分岐しない場合、当該情報処理装置で前記処理手順を実行する、請求項１乃至５のいずれか一項に記載の情報処理システム。
【請求項７】
前記１つ以上の情報処理装置は、仮想サーバを含む、請求項１乃至６のいずれか一項に記載の情報処理システム。
【請求項８】
複数の処理が定義された処理手順に基づいて処理を実行する１つ以上の情報処理装置と、前記１つ以上の情報処理装置と通信可能に接続され、前記１つ以上の情報処理装置を管理する管理装置とを含む情報処理システムの前記情報処理装置であって、
処理対象となる第１のデータと、前記第１のデータに対して実行する処理手順を示す第１の処理情報とを受付する受付部と、
前記第１のデータに対して前記第１の処理情報で示される前記処理手順を実行し、前記処理手順が分岐するとき、分岐した処理手順のうち第１の処理手順を実行する実行部と、
前記処理手順が分岐するとき、分岐した処理手順のうち前記第１の処理手順とは異なる第２の処理手順を実行する他の情報処理装置の情報を、前記管理装置から取得する取得部と、
前記第２の処理手順の処理対象となる第２のデータと、前記第２のデータに対して実行する処理手順を示す第２の処理情報とを、前記他の情報処理装置に送信する送信部と、
を有する、情報処理装置。
【請求項９】
複数の処理が定義された処理手順に基づいて処理を実行する１つ以上の情報処理装置と、前記１つ以上の情報処理装置と通信可能に接続され、前記１つ以上の情報処理装置を管理する管理装置とを含む情報処理システムにおける情報処理方法であって、
前記情報処理装置が、
処理対象となる第１のデータと、前記第１のデータに対して実行する処理手順を示す第１の処理情報とを受付するステップと、
前記第１のデータに対して前記第１の処理情報で示される前記処理手順を実行し、前記処理手順が分岐するとき、分岐した処理手順のうち第１の処理手順を実行するステップと、
前記処理手順が分岐するとき、分岐した処理手順のうち前記第１の処理手順とは異なる第２の処理手順を実行する他の情報処理装置の情報を、前記管理装置から取得するステップと、
前記第２の処理手順の処理対象となる第２のデータと、前記第２のデータに対して実行する処理手順を示す第２の処理情報とを、前記他の情報処理装置に送信するステップと、
を実行する、情報処理方法。
【請求項１０】
請求項９に記載の情報処理方法を、情報処理装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置と、画像形成装置にネットワークを介して接続された情報処理装置とを含み、画像形成装置によって文書からスキャンされた画像データ等に対して、複数の処理が定義されたワークフローに基づいて処理を実行する情報処理システムが知られている。
【０００３】
また、クラウド上に構築された情報処理システムにおいて、データ形式に応じた複数のデータ変換手段を有し、データ形式の変換要求に応じて、異なるデータ変換手段を用いてデータ形式を変換する技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
物理的なサーバ装置で構成される従来の情報処理システムでは、処理を実行するサーバ装置の数が限られていた。また、処理の実行するサーバ装置間で画像データの転送を行うと、転送時間が発生するため、例えば、画像形成装置がスキャンした画像データを受付したサーバ装置自身が、画像データに対して処理を行っていた。
【０００５】
一方、処理を実行するサーバ装置を、クラウド上の仮想サーバで構築することにより、前述した従来の情報処理システムの問題を解消することができる。例えば、クラウド上の仮想サーバは、必要に応じて仮想サーバの台数を増減させることが可能であり、サーバ装置間の通信速度も高速である。
【０００６】
しかし、例えば、特許文献１に示されるような従来の技術は、このようなクラウド上に構築された仮想サーバを含む情報処理システムにおいて、効率的に処理の負荷を分散することまでは考慮されていない。
【０００７】
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、仮想サーバを含む１つ以上の情報処理装置を用いて、複数の処理が定義されたワークフローを実行する情報処理システムにおいて、効率的に処理の負荷を分散することができるようにする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一実施形態に係る情報処理システムは、複数の処理が定義された処理手順に基づいて処理を実行する１つ以上の情報処理装置と、前記１つ以上の情報処理装置を管理する管理装置とを含む情報処理システムであって、前記情報処理装置は、処理対象となる第１のデータと、前記第１のデータに対して実行する処理手順を示す第１の処理情報とを受付する受付部と、前記第１のデータに対して前記第１の処理情報で示される前記処理手順を実行し、該処理手順が分岐するとき、分岐した処理手順のうち第１の処理手順を実行する実行部と、前記処理手順が分岐するとき、分岐した処理手順のうち前記第１の処理手順とは異なる第２の処理手順を実行する他の情報処理装置の情報を、前記管理装置から取得する取得部と、前記第２の処理手順の処理対象となる第２のデータと、前記第２のデータに対して実行する処理手順を示す第２の処理情報とを、前記他の情報処理装置に送信する送信部と、を有する。
【発明の効果】
【０００９】
本発明の一実施形態によれば、仮想サーバを含む１つ以上の情報処理装置を用いて、複数の処理が定義されたワークフローを実行する情報処理システムにおいて、効率的に処理の負荷を分散することができるようになる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る情報処理システムのシステム構成の一例を示す図である。
【図２】一実施形態に係る情報処理システムのネットワーク構成の例を示す図である。
【図３】一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。
【図４】一実施形態に係るコンピュータのハードウェア構成の例を示す図である。
【図５】一実施形態に係る情報処理システムの機能構成の例を示す図である。
【図６】一実施形態に係るワークフロー情報の例について説明するための図である。
【図７】一実施形態に係る情報処理システムが管理する情報の例を示す図である。
【図８】一実施形態に係る画像処理サーバの処理の例を示すフローチャートである。
【図９】一実施形態に係る管理サーバの処理の例を示すフローチャートである。
【図１０】一実施形態に係る情報処理システムの処理の例を示すシーケンス図（１）である。
【図１１】一実施形態に係る情報処理システムの処理の例を示すシーケンス図（２）である。
【図１２】一実施形態に係る情報処理システムのシステム構成の別の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態について、添付の図面を参照して説明する。
【００１２】
＜システムの構成＞
図１は、一実施形態に係る情報処理システムのシステム構成の一例を示す図である。情報処理システム１００は、例えば、１つ以上の画像形成装置１０１ａ、１０１ｂ、１０１ｃ、・・・、ジョブ生成サーバ１０２、管理サーバ１０３、及び１つ以上の画像処理サーバ１０４ａ、１０４ｂ、・・・等を有する。
【００１３】
なお、以下の説明の中で、１つ以上の画像形成装置１０１ａ、１０１ｂ、１０１ｃ、・・・のうち、任意の画像形成装置を示す場合、「画像形成装置１０１」を用いる。また、１つ以上の画像処理サーバ１０４ａ、１０４ｂ、・・・のうち、任意の画像処理サーバを示す場合、「画像処理サーバ１０４」を用いる。
【００１４】
情報処理システム１００は、ネットワーク１０５を介して接続された画像処理サーバ１０４を用いて、画像形成装置１０１から入力された画像データに対して、複数の処理が定義されたワークフローに基づいて処理を実行するシステムである。
【００１５】
ここで、ワークフローとは、例えば、画像データ等の処理対象となるデータに対して、入力処理、変換処理、出力処理等を実行する複数のプラグインを組合せた一連の処理を定義した情報である。
【００１６】
画像形成装置１０１は、例えば、スキャン機能、コピー機能、プリンタ機能、ファクシミリ機能等を一つの筐体に搭載した複合機や、スキャン機能を有するスキャナ等の電子機器である。なお、画像形成装置１０１は、例えば、カメラ、スキャナ、文書作成プログラム等の画像データを生成する手段を備え、情報処理システム１００に対応するアプリケーションプログラム（以下、アプリと呼ぶ）を実行する情報端末や、電子機器等であっても良い。
【００１７】
ジョブ生成サーバ１０２は、例えば、ＰＣ（Personal Computer）、仮想サーバ等の情報処理装置である。なお、仮想サーバとは、物理サーバ上に実現される仮想マシンにおいて動作する仮想のサーバ装置（情報処理装置）である。
【００１８】
ジョブ生成サーバ１０２は、例えば、画像形成装置１０１から、画像データと、画像データに対する処理手順を示す処理情報（例えば、ワークフローを識別するワークフローＩＤ等）とを含むジョブの実行要求を受付する。また、ジョブ生成サーバ１０２は、ジョブの実行要求に含まれる画像データ、及び処理情報に、ジョブを識別する識別情報（以下、ジョブＩＤと呼ぶ）を付加して管理する。
【００１９】
管理サーバ（管理装置）１０３は、例えば、ＰＣ、仮想サーバ等の情報処理装置である。管理サーバ１０３は、ジョブ生成サーバ１０２が受け付けたジョブを、１つ以上の画像処理サーバ１０４ａ、１０４ｂ、・・・のうち、どの画像処理サーバ１０４に実行させるかを決定する。
【００２０】
例えば、管理サーバ１０３は、１つ以上の画像処理サーバ１０４ａ、１０４ｂ、・・・の状態を監視し、ジョブを実行していない待機中の画像処理サーバ１０４に、ジョブ生成サーバ１０２が受け付けたジョブを実行させる。また、管理サーバ１０３は、１つ以上の画像処理サーバ１０４ａ、１０４ｂ、・・・の中に、待機中の画像処理サーバ１０４がない場合、起動していない画像処理サーバ１０４を起動させる。
【００２１】
さらに、管理サーバ１０３は、画像処理サーバ１０４から、他の画像処理サーバの情報を要求する要求情報を受付すると、待機中の画像処理サーバ１０４の情報（例えば、ＩＰアドレス等）を、要求元の画像処理サーバ１０４に通知する。
【００２２】
また、管理サーバ１０３は、所定の時間以上、処理を実行していない画像処理サーバ１０４がある場合、その画像処理サーバ１０４を停止、又は終了させる。
【００２３】
画像処理サーバ（情報処理装置）１０４は、例えば、ＰＣ、仮想サーバ等の情報処理装置である。画像処理サーバ１０４は、処理対象となる画像データ、及び処理情報を含むジョブを受付し、処理情報で示される処理手順に従って、画像データに対して処理を実行する。
【００２４】
また、本実施形態に係る画像処理サーバ１０４は、処理手順が分岐したとき、分岐した処理のうち一方の処理（第１の処理）を実行すると共に、他方の処理（第２の処理）を他の画像処理サーバ１０４に実行させる。例えば、画像処理サーバ１０４は、処理手順が分岐したとき、管理サーバ１０３から、待機中の画像処理サーバ１０４の情報を取得する。また、画像処理サーバ１０４は、管理サーバ１０３から通知された待機中の画像処理サーバ１０４に、第２の処理の処理対象となるデータ、及びその処理情報を送信する。
【００２５】
なお、画像処理サーバ１０４は、他の画像処理サーバ１０４から、処理対象となるデータ、及び処理情報を受付すると、管理サーバ１０３から受け付けたジョブと同様にして、処理を実行する。
【００２６】
上記の構成により、画像処理サーバ１０４は、受付した処理が分岐している場合、分岐している処理のうち、一方の処理を実行すると共に、他方の処理を実行する他の画像処理サーバ１０４の情報を、管理サーバ１０３から取得する。また、画像処理サーバ１０４は、管理サーバ１０３から通知された他の画像処理サーバ１０４に、他方の処理の実行を依頼する。
【００２７】
また、管理サーバ１０３は、１つ以上の画像処理サーバ１０４ａ、１０４ｂ、・・・の状態を監視し、ジョブを実行していない待機中の画像処理サーバ１０４に、新たな処理（ジョブ、他方の処理等）を実行させる。さらに、管理サーバ１０３は、ジョブを実行していない待機中の画像処理サーバ１０４がない場合、新たな画像処理サーバ１０４を起動させて、新たな処理を実行させる。
【００２８】
以上、本実施形態によれば、仮想サーバを含む１つ以上の画像処理サーバ１０４を用いて、複数の処理が定義されたワークフローを実行する情報処理システム１００において、効率的に処理の負荷を分散することができるようになる。
【００２９】
（ネットワーク構成の例）
図２は、一実施形態に係る情報処理システムのネットワーク構成の例を示す図である。この図は、情報処理システム１００の好適なネットワーク構成の一例を示している。
【００３０】
図２の例では、１つ以上の画像形成装置１０１ａ、１０１ｂ、・・・は、企業内ネットワーク２１０内のネットワーク２１１に接続されている。また、１つ以上の画像形成装置１０１ａ、１０１ｂ、・・・は、ファイアウォール２１２、ネットワーク１０５、及びアクセス制御装置２２２等を介して、ジョブ生成サーバ１０２等と通信可能である。
【００３１】
一方、ジョブ生成サーバ１０２、管理サーバ１０３、１つ以上の画像処理サーバ１０４ａ、１０４ｂ、・・・は、サービス提供システム２２０内のネットワーク２２１に接続されている。また、例えば、ジョブ生成サーバ１０２は、アクセス制御装置２２２、ネットワーク１０５、及びファイアウォール２１２等を介して、画像形成装置１０１ａ、１０１ｂ、・・・等と通信可能である。
【００３２】
なお、図１に示す情報処理システム１００のシステム構成、及び図２に示す情報処理システム１００のネットワーク構成は一例であり、情報処理システム１００は、様々なシステム構成、及びネットワーク構成を適用することができる。
【００３３】
＜ハードウェア構成＞
（画像形成装置のハードウェア構成）
図３は、一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。画像形成装置１０１は、コントローラ３１０、操作パネル３２０、通信Ｉ／Ｆ３３０、プロッタ３４０、スキャナ３５０、及びファクスコントロールユニット（以下、ＦＣＵと呼ぶ）３６０等を有する。
【００３４】
コントローラ３１０は、一般的なコンピュータの構成を有しており、例えば、ＣＰＵ（Central Processing Unit）３１１、ＲＡＭ（Random Access Memory）３１２、ＲＯＭ（Read Only Memory）３１３、ＮＶＲＡＭ（Non-Volatile RAM）３１４、及びＨＤＤ（Hard Disk Drive）３１５等を含む。
【００３５】
ＲＯＭ３１３は、各種プログラムやデータを格納している不揮発性の記憶装置である。ＲＡＭ３１２は、プログラムやデータを一時保持する揮発性の記憶装置である。ＮＶＲＡＭ３１４は、例えば設定情報等を格納する書き込み可能な不揮発性の記憶装置である。ＨＤＤ３１５は、各種プログラムやデータを格納している大容量の記憶装置である。
【００３６】
ＣＰＵ３１１は、ＲＯＭ３１３、ＮＶＲＡＭ３１４、ＨＤＤ３１５等からプログラムやデータ、設定情報等をＲＡＭ３１２上に読み出し、処理を実行することで、画像形成装置１０１の全体の制御や機能を実現する演算装置である。
【００３７】
操作パネル３２０は、ユーザからの入力を受付する入力部と、表示を行う表示部とを備えている。通信Ｉ／Ｆ３３０は、画像形成装置１０１をＬＡＮ１３０等のネットワークに接続するインタフェースである。これにより、画像形成装置１０１は、ジョブ生成サーバ１０２等の他の装置と通信することができる。
【００３８】
プロッタ３４０は、印刷データを印刷する印刷装置である。スキャナ３５０は、原稿等を読み取る読取装置である。ＦＣＵ３６０は、ファクスデータの送受信を行う。
【００３９】
（コンピュータのハードウェア構成）
図１に示すジョブ生成サーバ１０２、管理サーバ１０３、及び画像処理サーバ１０４は、一般的なコンピュータの構成を有する物理サーバ、又は物理サーバ上に実現される仮想マシンにおいて動作する仮想サーバ等によって実現される。ここでは、コンピュータのハードウェア構成について説明する。
【００４０】
図４は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。コンピュータ４００は、例えば、ＣＰＵ４０１、ＲＡＭ４０２、ＲＯＭ４０３、ストレージ装置４０４、ネットワークＩ／Ｆ４０５、入力装置４０６、表示装置４０７、外部Ｉ／Ｆ４０８、及びバス４０９等を有する。
【００４１】
ＣＰＵ４０１は、ＲＯＭ４０３やストレージ装置４０４等に格納されたプログラムやデータをＲＡＭ４０２上に読み出し、処理を実行することで、コンピュータ４００の各機能を実現する演算装置である。ＲＡＭ４０２は、ＣＰＵ４０１のワークエリア等として用いられる揮発性のメモリである。ＲＯＭ４０３は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。
【００４２】
ストレージ装置４０４は、例えば、ＨＤＤや、ＳＳＤ（Solid State Drive）等の大容量の記憶装置であり、ＯＳ（Operating System）、アプリケーションプログラム、各種のデータ等を記憶する。ネットワークＩ／Ｆ４０５は、コンピュータ４００をネットワーク１０５等に接続するための通信インタフェースである。
【００４３】
入力装置４０６は、例えば、マウス等のポインティングデバイスや、キーボード等の入力デバイスであり、コンピュータ４００に各操作信号を入力するために用いられる。表示装置４０７はディスプレイ等の表示デバイスであり、コンピュータ４００による処理結果等を表示する。
【００４４】
外部Ｉ／Ｆ４０８は、外部装置とのインタフェースである。外部装置には、例えば、記憶媒体４１０等が含まれる。バス４０９は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
【００４５】
＜機能構成＞
図５は、一実施形態に係る情報処理システムの機能構成の例を示す図である。
【００４６】
（画像形成装置の機能構成）
画像形成装置１０１は、例えば、通信部５１１、表示制御部５１２、画像形成部５１３、及び操作受付部５１４等を有する。画像形成装置１０１は、例えば、図３のＣＰＵ３１１で所定のプログラムを実行することにより、上記の各機能構成を実現している。また、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
【００４７】
通信部５１１は、画像形成装置１０１をネットワーク１０５等に接続し、ジョブ生成サーバ１０２等の他の装置と通信を行う。例えば、通信部５１１は、画像データと、画像データに対して実行する処理手順を示す処理情報（例えば、ワークフローＩＤ等）とを含むジョブの実行要求を、ジョブ生成サーバ１０２に送信する。
【００４８】
表示制御部５１２は、例えば、図３の操作パネル３２０等に、様々な表示画面を表示させる。例えば、表示制御部５１２は、操作パネル３２０のワークフローの選択画面等を表示させる。
【００４９】
操作受付部５１４は、例えば、図３の操作パネル３２０等に対する利用者の入力操作を受付する。例えば、操作受付部５１４は、表示制御部５１２が、操作パネル３２０に表示したワークフローの選択画面に対する、ワークフローの選択操作等を受付する。
【００５０】
（ジョブ生成サーバの機能構成）
ジョブ生成サーバ１０２は、例えば、通信部５２１、処理情報管理部５２２、及び記憶部３２２等を有する。ジョブ生成サーバ１０２は、例えば、図４のＣＰＵ４０１で所定のプログラムを実行することにより、上記の各機能構成を実現している。また、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
【００５１】
通信部５２１は、ジョブ生成サーバ１０２をネットワーク２２１等に接続し、画像形成装置１０１や、管理サーバ１０３等の他の装置と通信を行う。例えば、通信部５２１は、画像形成装置１０１から、画像データと、画像データに対して実行する処理手順を示す処理情報とを含むジョブの実行要求を受信する。また、通信部５２１は、管理サーバ１０３に対して、ジョブＩＤ、処理対象となる画像データ、及び処理情報等を含むジョブの実行要求を送信する。
【００５２】
処理情報管理部５２２は、例えば、ジョブ情報５２４、ワークフロー情報５２５等の処理情報を、記憶部５２３に記憶して管理する。
【００５３】
記憶部５２３は、例えば、図４のＣＰＵ４０１で実行されるプログラム、及びＨＤＤ３１５、ＲＡＭ３１２等によって実現され、ジョブ情報５２４、ワークフロー情報５２５等の様々な情報を記憶する。
【００５４】
図６は、一実施形態に係るワークフロー情報の例について説明するための図である。図６（ａ）は、処理情報管理部５２２が管理するワークフロー情報５２５の一例のイメージを示している。図６（ａ）の例では、ワークフロー情報５２５には、「ワークフローＩＤ」と、「ワークフロー」が記憶されている。なお、ワークフローは、処理対象となるデータに対して実行する処理手順の一例である。
【００５５】
「ワークフローＩＤ」は、ワークフローを識別する識別情報である。「ワークフロー」は、「プラグインＩＤ」で定義された処理手順を示す情報である。
【００５６】
図６（ａ）の例では、連続してプラグインを呼び出す場合、例えば、「１，２」と記述することにより、例えば、プラグインＩＤ「１」の処理を実行した後に、プラグインＩＤ「２」の処理が実行される。
【００５７】
一方、処理を分岐させる場合、例えば、「｛１，２｝」と中括弧で囲んで記述することにより、例えば、プラグインＩＤ「１」の処理と、プラグインＩＤ「２」の処理とが、並行して実行される。
【００５８】
なお、プラグインＩＤに対応する処理内容は、例えば、図６（ｂ）に示すようなプラグイン情報等により、予め決定されているものとする。図６（ｂ）の例では、プラグインＩＤ「１」の処理は、「画像の鮮明化」であり、プラグインＩＤ「２」の処理は、「文字認識」であることが示されている。
【００５９】
図６（ａ）のワークフロー情報５２５のワークフローＩＤ「ＷＦ００１」のワークフローを図で表現すると、例えば、図６（ｃ）に示すように表すことができる。
【００６０】
図６（ｃ）の例では、ワークフローを開始すると、「画像の鮮明化」処理（ステップＳ６０１）を実行した後、「文字認識」処理（ステップＳ６２０）と「画像変換」処理（ステップＳ６３０）とに分岐して、並行して処理が実行される。
【００６１】
また、「文字認識」処理（ステップＳ６２０）を実行した後、「文書の翻訳」処理（ステップＳ６４０）と「画像圧縮」処理とに分岐して、並行して処理が実行される。
【００６２】
図７（ａ）は、処理情報管理部５２２が管理するジョブ情報５２４の一例のイメージを示している。図７（ａ）の例では、ジョブ情報５２４には、「ジョブＩＤ」、「ワークフローＩＤ」、及び「画像データ」等の情報が含まれる。
【００６３】
「画像データ」は、画像形成装置１０１から受付したジョブの処理要求に含まれる処理対象となる画像データである。「ワークフローＩＤ」は、画像形成装置１０１から受付したジョブの処理要求に含まれるワークフローＩＤであり、画像データに対する処理手順を示す処理情報の一例である。
【００６４】
「ジョブＩＤ」は、ジョブを識別する識別情報であり、例えば、画像形成装置１０１からジョブの処理要求を受付したとき等に、処理情報管理部５２２によって付加される。
【００６５】
（管理サーバの機能構成）
管理サーバ１０３は、例えば、通信部５３１、処理サーバ管理部５３２、処理サーバ通知部５３３、処理情報管理部５３４、及び記憶部５３５等を有する。管理サーバ１０３は、例えば、図４のＣＰＵ４０１等で所定のプログラムを実行することにより、上記の各機能構成を実現している。また、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
【００６６】
通信部５３１は、管理サーバ１０３をネットワーク２２１等に接続し、ジョブ生成サーバ１０２や、画像処理サーバ１０４等の他の装置と通信を行う。
【００６７】
処理サーバ管理部（管理部）５３２は、情報処理システム１００に含まれる１つ以上の画像処理サーバ１０４ａ、１０４ｂ、・・・の情報を、例えば、図８（ｂ）に示すような処理サーバ情報５３６に記憶して管理する。
【００６８】
図７（ｂ）は、処理サーバ情報５３６の一例のイメージを示している。図７（ｂ）の例では、処理サーバ情報５３６には、「サーバＩＤ」、「ＩＰアドレス」、「状態」、「最後にジョブを実行した日時」等の情報を含まれる。
【００６９】
「サーバＩＤ」は、画像処理サーバ１０４を識別する識別情報である。「ＩＰアドレス」は、画像処理サーバ１０４のＩＰアドレス（宛先情報の一例）である。
【００７０】
「状態」は、画像処理サーバ１０４の状態を表す情報である。処理サーバ管理部５３２は、１つ以上の画像処理サーバ１０４ａ、１０４ｂ、・・・の状態を監視し、画像処理サーバ１０４の状態を、「状態」に記憶する。例えば、「待機中」は、画像処理サーバ１０４がジョブを実行していない状態を示している。また、「実行中」は、画像処理サーバ１０４がジョブを実行している状態を示している。
【００７１】
処理サーバ管理部５３２は、例えば、処理サーバ情報５３６は、処理サーバ情報５３６の「状態」を参照して、状態が「待機中」の画像処理サーバ１０４に、新たなジョブや、分岐処理等を実行させる。また、処理サーバ管理部５３２は、状態が「待機中」の画像処理サーバ１０４がない場合、起動していない画像処理サーバ１０４を起動させて、新たなジョブや、分岐処理等を実行させる。
【００７２】
「最後にジョブを実行した日時」、画像処理サーバ１０４が最後にジョブを実行した日時を示す情報である。処理サーバ管理部５３２は、「最後にジョブを実行した日時」を参照して、所定の時間以上、処理を実行していない画像処理サーバ１０４がある場合、その画像処理サーバ１０４を停止、又は終了させる。
【００７３】
ここで、図５に戻り、管理サーバ１０３の機能構成の説明を続ける。
【００７４】
処理サーバ通知部（通知部）５３３は、画像処理サーバ１０４から、他の画像処理サーバ１０４の情報の取得要求を受付すると、処理サーバ管理部５３２が決定した他の画像処理サーバ１０４の情報（ＩＰアドレス等）を、要求元の画像処理サーバ１０４に通知する。
【００７５】
処理情報管理部５３４は、ジョブ生成サーバ１０２等から、処理対象となる画像データや、画像データに対して実行する処理手順を示す処理情報等を取得する。また、処理情報管理部５３４は、処理サーバ管理部５３２によって決定された、ジョブを実行する画像処理サーバ１０４に対して、処理対象となる画像データ、及び処理情報等を送信する。
【００７６】
記憶部５３５は、例えば、図４のＣＰＵ４０１で実行されるプログラム、及びＨＤＤ３１５、ＲＡＭ３１２等によって実現され、例えば、図７（ｂ）に示すような処理サーバ情報５３６や、ワークフロー情報５３７等の様々な情報を記憶する。なお、ワークフロー情報５３７は、例えば、図６（ａ）に示すようなワークフロー情報５２５や、プラグイン情報等を、予め取得して記憶しておくものであっても良いし、ジョブ生成サーバ１０２から、通知される情報を用いるものであっても良い。
【００７７】
（画像処理サーバの機能構成）
図５において、画像処理サーバ１０４ｂは、画像処理サーバ１０４ａと同様の機能構成を有しているものとする。画像処理サーバ１０４は、例えば、通信部５０１、処理情報受付部５０２、処理実行部５０３、情報取得部５０４、処理情報送信部５０５、及び記憶部５０６等を有する。画像処理サーバ１０４は、例えば、図４のＣＰＵ４０１や仮想サーバ等で所定のプログラムを実行することにより、上記の各機能構成を実現している。また、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
【００７８】
通信部５０１は、画像処理サーバ１０４をネットワーク２２１等に接続し、管理サーバ１０３や、他の画像処理サーバ１０４等と通信を行う。
【００７９】
処理情報受付部（受付部）５０２は、処理対象となる第１のデータと、第１のデータに対して実行する処理手順を示す第１の処理情報とを受付する。例えば、処理情報受付部５０２は、管理サーバ１０３から、処理対象となる画像データと、画像データに対して実行する処理手順（例えば、ワークフロー）を示す処理情報（例えば、ワークフローＩＤ）とを受付する。
【００８０】
また、処理情報受付部５０２は、他の画像処理サーバ１０４から、第２の処理の処理対象となる画像データと、画像データに対して実行する処理手順を示す処理情報とを受付する。
【００８１】
処理実行部（実行部）５０３は、処理情報受付部５０２が受付した第１のデータに対して、第１の処理情報で示される処理手順（ワークフロー）を実行する。また、処理実行部５０３は、処理手順が分岐するとき、分岐した処理手順のうち、一方の処理手順である第１の処理手順を実行する。
【００８２】
例えば、図６（ｃ）に示すワークフロー（処理手順の一例）において、ステップＳ６０１において、「画像の鮮明化」の処理を実行した後、ステップＳ６２０の処理とステップＳ６３０の処理に分岐する。このとき、処理実行部５０３は、分岐した処理のうち、第１の処理手順（例えば、ステップＳ６２０以降の処理）を実行し、第２の処理（例えば、ステップＳ６３０以降の処理）を実行しない。
【００８３】
なお、処理実行部５０３は、分岐した処理のうち、どちらの処理を実行するものであっても良いが、ここでは、一例として、図６（ｃ）において、ステップ番号が小さい方の処理を実行するものとして、以下の説明を行う。
【００８４】
情報取得部（取得部）５０４は、処理実行部５０３が実行する処理手順が分岐したとき、分岐した処理手順のうち、処理実行部５０３が実行する第１の処理とは異なる第２の処理を実行する他の画像処理サーバ１０４の情報を、管理サーバ１０３から取得する。
【００８５】
例えば、情報取得部５０４は、処理実行部５０３が実行する処理手順が分岐したとき、他の画像処理サーバ１０４の情報（ＩＰアドレス等）の取得を要求する要求情報を、管理サーバ１０３に送信する。また、情報取得部５０４は、管理サーバ１０３から通知される、他の画像処理サーバ１０４の情報を取得する。
【００８６】
処理情報送信部（送信部）５０５は、取得した情報が示す他の画像処理サーバ１０４に対して、分岐した処理手順のうち、第２の処理手順の処理対象となる第２のデータと、第２のデータに対して実行する処理手順を示す第２の処理情報とを送信する。
【００８７】
これにより、第２の処理手順の処理対象となる第２のデータと、第２の処理情報とを受信した他の画像処理サーバ１０４は、第２の処理手順を実行する。
【００８８】
例えば、図６（ｃ）に示すワークフローにおいて、処理実行部５０３は、ステップＳ６０１の処理を実行した後、分岐した処理のうち、第１の処理手順（例えば、ステップＳ６２０以降の処理）を実行し、第２の処理手順（例えば、ステップＳ６３０以降の処理）を実行しない。この第２の処理手順は、処理情報送信部５０５が、第２の処理手順の処理対象となる第２のデータと、第２の処理情報とを送信した、他の画像処理サーバ１０４によって実行される。
【００８９】
このように、本実施形態に係る画像処理サーバ１０４は、受付した処理手順が分岐すると、分岐した処理のうち、第１の処理を実行し、第２の処理の実行を、他の画像処理サーバ１０４に依頼することにより、処理の負荷を分散させる。
【００９０】
＜処理の流れ＞
続いて、本実施形態に係る情報処理方法の処理の流れについて説明する。
【００９１】
（画像処理サーバの処理）
図８は、一実施形態に係る画像処理サーバの処理の例を示すフローチャートである。この処理は、画像処理サーバ１０４が、処理対象となるデータと、処理情報とを受付したときに実行する処理の例を示している。
【００９２】
ステップＳ８０１において、画像処理サーバ１０４の処理情報受付部５０２は、処理対象となる第１のデータと、第１のデータに対して実行する処理手順を示す第１の処理情報とを受付する。例えば、処理情報受付部５０２は、管理サーバ１０３から、処理対象となる画像データと、画像データに対して実行するワークフローを示すワークフローＩＤとを受付する。
【００９３】
ステップＳ８０２において、画像処理サーバ１０４の処理実行部５０３は、受付したワークフローＩＤに対応するワークフローの実行を開始する。
【００９４】
ステップＳ８０３において、処理実行部５０３は、ワークフローが分岐するか否かを判断する。ワークフローが分岐しない場合、処理実行部５０３は、処理をステップＳ８０４に移行させる。一方、ワークフローが分岐する場合、処理実行部５０３は、処理をステップＳ８０５に移行させる。
【００９５】
ステップＳ８０４に移行すると、処理実行部５０３は、ワークフローに従って、次の処理を実行する。
【００９６】
ステップＳ８０５に移行すると、画像処理サーバ１０４の情報取得部５０４は、分岐した処理のうち、第２の処理手順を実行する他の画像処理サーバ１０４の宛先情報を、管理サーバ１０３から取得する。
【００９７】
ステップＳ８０６において、画像処理サーバ１０４の処理情報送信部５０５は、取得した宛先情報を用いて、第２の処理手順の処理対象となるデータ、及び処理情報を、他の画像処理サーバ１０４に送信する。
【００９８】
ステップＳ８０７において、処理実行部５０３は、分岐した処理のうち、第１の処理手順を実行する。なお、ステップＳ８０７の処理は、ステップＳ８０５の前に実行するものであっても良い。
【００９９】
ステップＳ８０８において、処理実行部５０３は、未実行の処理があるか否かを判断する。未実行の処理がある場合、処理実行部５０３は、処理をステップＳ８０３に戻して、再び同様の処理を実行する。一方、未実行の処理がない場合、処理実行部５０３は、ステップＳ８０９において、処理結果を管理サーバ１０３に通知する。
【０１００】
（管理サーバの処理）
図９は、一実施形態に係る管理サーバの処理の例を示すフローチャートである。この処理は、図８のステップＳ８０５の処理に対応する、管理サーバ１０３側の処理の一例を示している。
【０１０１】
ステップＳ９０１において、管理サーバ１０３は、画像処理サーバ１０４から、第２の処理手順を実行する他の画像処理サーバ１０４の宛先情報の取得を要求する要求情報を受信すると、ステップＳ９０２以降の処理を実行する。
【０１０２】
ステップＳ９０２において、管理サーバ１０３の処理サーバ管理部５３２は、起動している１つ以上の画像処理サーバ１０４のうち、ジョブを実行していない画像処理サーバ１０４を検索する。
【０１０３】
ステップＳ９０３において、処理サーバ管理部５３２は、ジョブを実行していない画像処理サーバ１０４があるか否かを判断する。ジョブを実行していない画像処理サーバ１０４がない場合、処理サーバ管理部５３２は、処理をステップＳ９０４に移行させる。一方、ジョブを実行していない画像処理サーバ１０４がある場合、処理サーバ管理部５３２は、処理をステップＳ９０５に移行させる。
【０１０４】
ステップＳ９０４に移行すると、処理サーバ管理部５３２は、起動していない画像処理サーバ１０４を起動させる。例えば、処理サーバ管理部５３２は、仮想サーバを起動して、画像処理サーバ１０４用のプログラムを実行させる。また、処理サーバ管理部５３２は、画像処理サーバ１０４を起動させた後、処理をステップＳ９０３に戻す。
【０１０５】
ステップＳ９０５に移行すると、処理サーバ管理部５３２は、ジョブを実行していない待機中の画像処理サーバ１０４の中から、第２の処理手順を実行する他の画像処理サーバ１０４を決定する。
【０１０６】
なお、待機中の画像処理サーバ１０４が複数ある場合、処理サーバ管理部５３２は、任意の方法により、第２の処理手順を実行する他の画像処理サーバ１０４を決定するものであって良い。例えば、処理サーバ管理部５３２は、待機中の画像処理サーバ１０４の中から、ランダムに１つの画像処理サーバ１０４を選択するものであっても良いし、最後にジョブを実行した日時が最も古い画像処理サーバ１０４を選択するものであっても良い。
【０１０７】
ステップＳ９０６において、管理サーバ１０３の処理サーバ通知部５３３は、ステップＳ９０５で決定された、第２の処理手順を実行する他の画像処理サーバ１０４の宛先情報を、要求元の画像処理サーバ１０４に通知する。
【０１０８】
（情報処理システムの処理１）
図１０は、一実施形態に係る情報処理システムの処理の例を示すシーケンス図（１）である。この処理は、図８、９に示した処理に対応する情報処理システム１００全体の処理の一例を示している。なお、図１０に示す処理の開始時点において、画像処理サーバ１０４ａ、１０４ｂは起動しており、画像処理サーバ１０４ｃは起動していないものとする。
【０１０９】
ステップＳ１００１において、画像形成装置１０１は、利用者によるワークフローの実行操作に応じて、処理対象となる画像データと、画像データに対して実行する処理手順を示す処理情報（例えば、ワークフローＩＤ）とを、ジョブ生成サーバ１０２に送信する。
【０１１０】
ステップＳ１００２において、ジョブ生成サーバ１０２は、受付した画像データ、及び処理情報にジョブＩＤを負荷してジョブを作成し、作成したジョブの実行を管理サーバ１０３に要求する。
【０１１１】
ステップＳ１００３において、管理サーバ１０３の処理サーバ管理部５３２は、１つ以上の画像処理サーバ１０４ａ、１０４ｂ、１０４ｃ、・・・のうち、待機中の画像処理サーバ１０４を検索する。ここでは、例えば、図７（ｂ）に示す処理サーバ情報（処理実行前）５３６のように、サーバＩＤ「Ｓ１」の画像処理サーバ１０４ａと、サーバＩＤ「Ｓ２」の画像処理サーバ１０４ｂとの状態が、「待機中」として検索される。
【０１１２】
ステップＳ１００４において、管理サーバ１０３の処理サーバ管理部５３２は、「待機中」として検索された画像処理サーバ１０４ａ、１０４ｂのうちの１つ（例えば、画像処理サーバ１０４ａ）を、ジョブを実行する画像処理サーバ１０４に決定する。また、管理サーバ１０３の処理情報管理部５３４は、処理サーバ管理部５３２によって決定された、ジョブを実行する画像処理サーバ１０４ａに対して、処理対象となる画像データ、及び処理情報等を送信する。
【０１１３】
ステップＳ１００５において、画像処理サーバ１０４ａの処理実行部５０３は、処理対象となる画像データに対して、処理情報で示される処理手順の実行を開始する。ここでは、一例として、図６（ｃ）に示すようなワークフローの実行を開始するものとする。
【０１１４】
ステップＳ１００６において、画像処理サーバ１０４ａの処理実行部５０３が、１回目の処理の分岐（以下、分岐１と呼ぶ）を検知するものとする。例えば、処理実行部５０３は、図６（ｃ）に示すワークフローにおいて、ステップＳ６１０の処理を実行した後に、ステップＳ６２０以降の処理（第１の処理手順）と、ステップＳ６３０以降の処理（第２の処理手順）との分岐を検知するものとする。このとき、処理実行部５０３は、前述したように、分岐した処理のうち第１の処理手順を実行し、第２の処理手順を実行しない。
【０１１５】
ステップＳ１００７において、画像処理サーバ１０４ａの情報取得部５０４は、管理サーバ１０３に対して、分岐１の第２の処理手順を実行する他の画像処理サーバ１０４のＩＰアドレス（ＩＰアドレス１）の取得を要求する。
【０１１６】
ステップＳ１００８において、管理サーバ１０３の処理サーバ管理部５３２は、他の画像処理サーバ１０４ｂ、１０４ｃ、・・・のうち、待機中の画像処理サーバ１０４を検索する。ここでは、画像処理サーバ１０４ｂの状態が、「待機中」として検索されるものとする。また、管理サーバ１０３の処理サーバ管理部５３２は、「待機中」として検索された画像処理サーバ１０４ｂを、第２の処理手順を実行する他の画像処理サーバ１０４に決定する。
【０１１７】
ステップＳ１００９において、管理サーバ１０３の処理サーバ通知部５３３は、第２の処理手順を実行する他の画像処理サーバ１０４に決定された、画像処理サーバ１０４ｂのＩＰアドレスを、要求元の画像処理サーバ１０４ａに通知する。
【０１１８】
ステップＳ１０１０において、画像処理サーバ１０４ａの処理情報送信部５０５は、管理サーバ１０３から通知されたＩＰアドレスに対応する画像処理サーバ１０４ｂに、分岐１の第２の処理手順の処理対象となる画像データ、及び処理情報を通知する。例えば、処理情報送信部５０５は、図６（ｃ）に示すワークフローにおいて、ステップＳ６３０以降の処理（第２の処理手順）を示す情報と、ステップＳ６１０の処理を実行した画像データとを、画像処理サーバ１０４ｂに通知する。
【０１１９】
ステップＳ１０１１において、画像処理サーバ１０４ｂの処理実行部は、分岐１の第２の処理手順の実行を開始する。これにより、図６（ｃ）に示すワークフローにおいて、ステップＳ６３０、Ｓ６３１の処理が、画像処理サーバ１０４ｂで実行される。
【０１２０】
ステップＳ１０１２において、画像処理サーバ１０４ａの処理実行部５０３が、２回目の処理の分岐（以下、分岐２と呼ぶ）を検知するものとする。例えば、処理実行部５０３は、図６（ｃ）に示すワークフローにおいて、ステップＳ６２０の処理を実行した後に、ステップＳ６４０以降の処理（第１の処理手順）と、ステップＳ６５０以降の処理（第２の処理手順）との分岐を検知するものとする。このとき、処理実行部５０３は、前述したように、分岐した処理のうち第１の処理手順を実行し、第２の処理手順を実行しない。
【０１２１】
ステップＳ１０１３において、画像処理サーバ１０４ａの情報取得部５０４は、管理サーバ１０３に対して、分岐２の第２の処理手順を実行する他の画像処理サーバ１０４のＩＰアドレス（ＩＰアドレス２）の取得を要求する。
【０１２２】
ステップＳ１０１４において、管理サーバ１０３の処理サーバ管理部５３２は、待機中の画像処理サーバ１０４を検索する。ここでは、例えば、図７（ｃ）に示す処理サーバ情報（処理実行後）５３６のように、サーバＩＤ「Ｓ１」の画像処理サーバ１０４ａと、サーバＩＤ「Ｓ２」の画像処理サーバ１０４ｂとの状態が、「実行中」として検索される。
【０１２３】
ステップＳ１０１５において、管理サーバ１０３の処理サーバ管理部５３２は、起動していない画像処理サーバ１０４ｃの起動を要求する。例えば、管理サーバ１０３は、サービス提供システム２２０のプラットフォーム等を利用して、仮想サーバである画像処理サーバ１０４ｃを起動させる。
【０１２４】
ステップＳ１０１６において、画像処理サーバ１０４ｃは、起動処理を行い、起動が完了すると、ステップＳ１０１７において、起動が完了したことを示す起動通知を管理サーバ１０３に送信する。これにより、例えば、図７（ｆ）に示す処理サーバ情報５３６に示されるように、新たに起動したサーバＩＤ「Ｓ３」の画像処理サーバ１０４ｃの状態が、「待機中」となる。
【０１２５】
ステップＳ１０１８において、管理サーバ１０３の処理サーバ通知部５３３は、起動した画像処理サーバ１０４ｃを、第２の処理手順を実行する他の画像処理サーバ１０４に決定し、画像処理サーバ１０４ｃのＩＰアドレスを画像処理サーバ１０４ａに通知する。
【０１２６】
ステップＳ１０１９において、画像処理サーバ１０４ａの処理情報送信部５０５は、管理サーバ１０３から通知されたＩＰアドレスに対応する画像処理サーバ１０４ｃに、分岐２の第２の処理手順の処理対象となる画像データ、及び処理情報を通知する。例えば、処理情報送信部５０５は、図６（ｃ）に示すワークフローにおいて、ステップＳ６５０以降の処理（第２の処理手順）を示す情報と、ステップＳ６２０の処理を実行した画像データとを、画像処理サーバ１０４ｃに通知する。
【０１２７】
ステップＳ１０２０において、画像処理サーバ１０４ｃの処理実行部は、分岐２の第２の処理手順の実行を開始する。これにより、図６（ｃ）に示すワークフローにおいて、ステップＳ６５０、Ｓ６５１の処理が、画像処理サーバ１０４ｃで実行される。
【０１２８】
ステップＳ１０２１、Ｓ１０２２において、画像処理サーバ１０４ａは、処理の実行を完了すると、処理結果を管理サーバ１０３に通知する。
【０１２９】
ステップＳ１０２３、Ｓ１０２４において、画像処理サーバ１０４ｂは、処理の実行を完了すると、処理結果を管理サーバ１０３に通知する。
【０１３０】
ステップＳ１０２５、Ｓ１０２６において、画像処理サーバ１０４ｃは、処理の実行を完了すると、処理結果を管理サーバ１０３に通知する。
【０１３１】
上記の処理により、例えば、図６（ｃ）に示すような分岐を含むワークフローは、３つの画像処理サーバ１０４ａ〜１０４ｃによって実行されるので、処理の負荷が分散される。
【０１３２】
（情報処理システムの処理２）
図１１は、一実施形態に係る情報処理システムの処理の例を示すシーケンス図（２）である。例えば、図１０のステップＳ１０１１において、画像処理サーバ１０４ｂは、図８に示す画像処理サーバの処理に従って、分岐１の第２の処理手順を実行する。同様に、図１０のステップＳ１０２０において、画像処理サーバ１０４ｃは、図８に示す画像処理サーバの処理に従って、分岐２の第２の処理手順を実行する。
【０１３３】
したがって、例えば、画像処理サーバ１０４ｂが実行する分岐１の第２の処理手順が分岐した場合、画像処理サーバ１０４ｂは、分岐した処理のうち、第１の処理手順を実行すると共に、第２の処理手順の事項を他の画像処理サーバ１０４に依頼する。
【０１３４】
ここでは、画像処理サーバ１０４ｂが実行する分岐１の第２の処理手順が、分岐する場合の処理の例について説明する。なお、図１１のステップＳ１００１〜Ｓ１０１１の処理は、図１０に示す処理と同様なので、ここでは図１０に示す処理との相違点を中心に説明を行う。
【０１３５】
ステップＳ１１０１において、画像処理サーバ１０４ｂの処理実行部５０３が、処理の分岐（分岐２）を検知するものとする。このとき、処理実行部５０３は、前述したように、分岐した処理のうち第１の処理手順を実行し、第２の処理手順を実行しない。
【０１３６】
ステップＳ１１０２において、画像処理サーバ１０４ｂの情報取得部５０４は、管理サーバ１０３に対して、分岐２の第２の処理手順を実行する他の画像処理サーバ１０４のＩＰアドレス（ＩＰアドレス２）の取得を要求する。
【０１３７】
ステップＳ１１０３において、管理サーバ１０３の処理サーバ管理部５３２は、待機中の画像処理サーバ１０４を検索する。ここでは、例えば、図７（ｃ）に示す処理サーバ情報（処理実行後）５３６のように、サーバＩＤ「Ｓ１」の画像処理サーバ１０４ａと、サーバＩＤ「Ｓ２」の画像処理サーバ１０４ｂとの状態が、「実行中」として検索される。
【０１３８】
ステップＳ１１０４において、管理サーバ１０３の処理サーバ管理部５３２は、起動していない画像処理サーバ１０４ｃの起動を要求する。
【０１３９】
ステップＳ１１０５において、画像処理サーバ１０４ｃは、起動処理を行い、起動が完了すると、ステップＳ１１０６において、起動が完了したことを示す起動通知を管理サーバ１０３に送信する。これにより、例えば、図７（ｆ）に示す処理サーバ情報５３６に示されるように、新たに起動したサーバＩＤ「Ｓ３」の画像処理サーバ１０４ｃの状態が、「待機中」となる。
【０１４０】
ステップＳ１１０７において、管理サーバ１０３の処理サーバ通知部５３３は、起動した画像処理サーバ１０４ｃを、第２の処理手順を実行する他の画像処理サーバ１０４に決定し、画像処理サーバ１０４ｃのＩＰアドレスを画像処理サーバ１０４ｂに通知する。
【０１４１】
ステップＳ１１０８において、画像処理サーバ１０４ａの処理情報送信部５０５は、管理サーバ１０３から通知されたＩＰアドレスに対応する画像処理サーバ１０４ｃに、分岐２の第２の処理手順の処理対象となる画像データ、及び処理情報を通知する。
【０１４２】
ステップＳ１１０９において、画像処理サーバ１０４ｃの処理実行部は、分岐２の第２の処理手順の実行を開始する。
【０１４３】
ステップＳ１１１０、Ｓ１１１１において、画像処理サーバ１０４ａは、処理の実行を完了すると、処理結果を管理サーバ１０３に通知する。
【０１４４】
ステップＳ１１１２、Ｓ１１１３において、画像処理サーバ１０４ｂは、処理の実行を完了すると、処理結果を管理サーバ１０３に通知する。
【０１４５】
ステップＳ１１１４、Ｓ１１１５において、画像処理サーバ１０４ｃは、処理の実行を完了すると、処理結果を管理サーバ１０３に通知する。
【０１４６】
以上、本実施形態によれば、仮想サーバを含む１つ以上の情報処理装置を用いて、複数の処理が定義されたワークフローを実行する情報処理システムにおいて、効率的に処理の負荷分散を行えるようになる。
【０１４７】
＜応用例＞
図１に示す情報処理システム１００のシステム構成は一例であり、本発明に係る情報処理システム１００は、様々なシステム構成を適用することができる。
【０１４８】
図１２は、一実施形態に係る情報処理システムのシステム構成の別の一例を示す図である。例えば、ジョブ生成サーバ１０２にジョブの実行を要求する装置は、画像形成装置１０１に限られず、情報端末１２０１や、電子機器１２０２等であっても良い。
【０１４９】
情報端末１２０１は、例えば、ＰＣ、タブレット端末、スマートフォン等の情報処理装置であり、例えば、所定のアプリケーションプログラム等で作成したテキストデータ、画像データ、動画データ、音声データ等に対して、所定のワークフローを実行するジョブの実行を、ジョブ生成サーバ１０２に要求することができる。
【０１５０】
電子機器１２０２は、例えば、電子ホワイトボード、テレビ会議装置、プロジェクタ、デジタルカメラ等の画像形成装置１０１以外の電子機器である。例えば、電子ホワイトボードは、表示している画像データや取得した音声等に対して、所定のワークフローを実行するジョブの実行を、ジョブ生成サーバ１０２に要求することができる。
【０１５１】
また、図１２の例では、情報処理システム１００は、１つ以上の画像処理サーバ１０４に代えて、１つ以上の情報処理サーバ１２０３を有している。
【０１５２】
情報処理サーバ１２０３は、例えば、図５に示す画像処理サーバ１０４ａと同様の構成を有しており、処理対象となるデータとして、例えば、画像データ、テキストデータ、音声データ、動画データ等の様々なデータを取り扱うことができる。
【０１５３】
このように、情報処理システム１００は、画像データに限られず、例えば、テキストデータ、音声データ、動画データ等の様々なデータを処理するシステムに適用することができる。
【符号の説明】
【０１５４】
１００      情報処理システム
１０３      管理サーバ（管理装置）
１０４      画像処理サーバ（情報処理装置の一例）
５０２      処理情報受付部（受付部）
５０３      処理実行部（実行部）
５０４      情報取得部（取得部）
５０５      処理情報送信部（送信部）
５３２      処理サーバ管理部（管理部）
５３３      処理サーバ通知部（通知部）
１２０３    情報処理サーバ（情報処理装置の一例）
【先行技術文献】
【特許文献】
【０１５５】
【特許文献１】特開２０１４−１２７１２７号公報
【図１】
2019161420.tif 000003
【図２】
2019161420.tif 000004
【図３】
2019161420.tif 000005
【図４】
2019161420.tif 000006
【図５】
2019161420.tif 000007
【図６】
2019161420.tif 000008
【図７】
2019161420.tif 000009
【図８】
2019161420.tif 000010
【図９】
2019161420.tif 000011
【図１０】
2019161420.tif 000012
【図１１】
2019161420.tif 000013
【図１２】
2019161420.tif 000014