(57)【要約】【課題】処理の要求先の違いによって実行可能な処理が異なる可能性を低下させること。【解決手段】それぞれがネットワークを介して異なる機器からの要求を受信し、受信した要求に応じた処理を実行する複数の処理実行部のうちの第１の処理実行部は、各処理実行部が実行可能な処理を示す情報を記憶した記憶部を参照して、当該第１の処理実行部が受信した第１の要求に応じた処理を実行可能な第２の処理実行部を特定し、前記第１の要求に応じた処理の実行を、前記第２の処理実行部に要求する要求部を有し、前記第２の処理実行部は、前記第１の処理実行部から要求された処理を実行する実行部を有する。【選択図】図４
2018092531.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがネットワークを介して異なる機器からの要求を受信し、受信した要求に応じた処理を実行する複数の処理実行部を含む情報処理システムであって、
前記複数の処理実行部のうちの第１の処理実行部は、
各処理実行部が実行可能な処理を示す情報を記憶した記憶部を参照して、当該第１の処理実行部が受信した第１の要求に応じた処理を実行可能な第２の処理実行部を特定し、前記第１の要求に応じた処理の実行を、前記第２の処理実行部に要求する要求部を有し、
前記第２の処理実行部は、
前記第１の処理実行部から要求された処理を実行する実行部を有する、
ことを特徴とする情報処理システム。
【請求項２】
前記第２の処理実行部は、
当該第２の処理実行部が実行可能な処理のうち、他の処理実行部からの要求に応じて実行することが許可された処理を示す情報を前記記憶部に記憶する記憶処理部を有する、
ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記要求部は、前記記憶部を参照して、前記第１の要求に応じた複数の処理のうちの一部の処理を実行可能な第２の処理実行部を特定し、前記一部の処理の実行を、前記第２の処理実行部に要求する、
ことを特徴とする請求項１又は２記載の情報処理システム。
【請求項４】
それぞれがネットワークを介して異なる機器からの要求を受信し、受信した要求に応じた処理を実行する複数の処理実行部を含む情報処理装置であって、
前記複数の処理実行部のうちの第１の処理実行部は、
各処理実行部が実行可能な処理を示す情報を記憶した記憶部を参照して、当該第１の処理実行部が受信した第１の要求に応じた処理を実行可能な第２の処理実行部を特定し、前記第１の要求に応じた処理の実行を、前記第２の処理実行部に要求する要求部を有し、
前記第２の処理実行部は、
前記第１の処理実行部から要求された処理を実行する実行部を有する、
ことを特徴とする情報処理装置。
【請求項５】
それぞれがネットワークを介して異なる機器からの要求を受信し、受信した要求に応じた処理を実行する複数の処理実行部を含む情報処理システムにおける情報処理方法であって、
前記複数の処理実行部のうちの第１の処理実行部が、
各処理実行部が実行可能な処理を示す情報を記憶した記憶部を参照して、当該第１の処理実行部が受信した第１の要求に応じた処理を実行可能な第２の処理実行部を特定し、前記第１の要求に応じた処理の実行を、前記第２の処理実行部に要求し、
前記第２の処理実行部が、
前記第１の処理実行部から要求された処理を実行する、
ことを特徴とする情報処理方法。
【請求項６】
それぞれがネットワークを介して異なる機器からの要求を受信し、受信した要求に応じた処理を実行する複数の処理実行部としてコンピュータを機能させるプログラムであって、
前記複数の処理実行部のうちの第１の処理実行部は、
各処理実行部が実行可能な処理を示す情報を記憶した記憶部を参照して、当該第１の処理実行部が受信した第１の要求に応じた処理を実行可能な第２の処理実行部を特定し、前記第１の要求に応じた処理の実行を、前記第２の処理実行部に要求する要求部を有し、
前記第２の処理実行部は、
前記第１の処理実行部から要求された処理を実行する実行部を有する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
機器において入力されたデータ（例えば、画像形成装置においてスキャンされた画像データ）に対して、予め設定されたワークフローを実行可能なクラウドサービスが知られている。
【０００３】
ワークフローは、複数の処理の中から、必要な処理を組み合わせることで構成される。各処理は、基本的に、一つのプログラムモジュール（以下、単に「処理モジュール」という。）。によって実現される。したがって、新たな処理モジュールをシステムに追加することで、ワークフローに含めることができる処理の選択肢を増やすことができる。
【０００４】
他方において、クラウドサービスでは、ワークフローを提供するためのサービスについて、負荷分散等を目的として、複数の環境（以下、「サービス環境」という。）が構築される場合が有る。サービス環境は、例えば、仮想マシンの集合によって分離される単位であり、各サービス環境において同じサービスを提供するためには、各サービス環境のソフトウェア構成が一致している必要が有る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、クラウドサービスの管理上の都合等により、サービス環境間において、ソフトウェア構成に違いが生じる場合が有る。
【０００６】
図１は、サービス環境間におけるソフトウェア構成の違いに基づく問題点を説明するための図である。図１には、サービス環境Ｘにおいて、処理モジュールｘ、処理モジュールｙ及び処理モジュールｚがインストールされており、サービス環境Ｙにおいて、処理モジュールｘ及び処理モジュールｙがインストールされている例が示されている。
【０００７】
このような状況が発生すると、サービス環境Ｘに処理を要求するクライアントは、処理モジュールｚを含むワークフローを利用することが可能であるが、サービス環境Ｙに処理を要求するクライアントは、処理モジュールｚを含むワークフローを利用することができなくなってしまう。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、処理の要求先の違いによって実行可能な処理が異なる可能性を低下させることを目的とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、それぞれがネットワークを介して異なる機器からの要求を受信し、受信した要求に応じた処理を実行する複数の処理実行部のうちの第１の処理実行部は、各処理実行部が実行可能な処理を示す情報を記憶した記憶部を参照して、当該第１の処理実行部が受信した第１の要求に応じた処理を実行可能な第２の処理実行部を特定し、前記第１の要求に応じた処理の実行を、前記第２の処理実行部に要求する要求部を有し、前記第２の処理実行部は、前記第１の処理実行部から要求された処理を実行する実行部を有する。
【発明の効果】
【００１０】
処理の要求先の違いによって実行可能な処理が異なる可能性を低下させることができる。
【図面の簡単な説明】
【００１１】
【図１】サービス環境間におけるソフトウェア構成の違いに基づく問題点を説明するための図である。
【図２】本発明の実施の形態における情報処理システムの構成例を示す図である。
【図３】本発明の実施の形態におけるクラウドシステム１１０を構成するコンピュータのハードウェア構成例を示す図である。
【図４】本発明の実施の形態におけるサービス環境１２０の機能構成例を示す図である。
【図５】本発明の実施の形態におけるクラウドストレージ１３０の機能構成例を示す図である。
【図６】本発明の実施の形態における画像形成装置２０の機能構成例を示す図である。
【図７】サービス環境１２０に対する処理モジュールのインストール処理の処理手順の一例を説明するためのフローチャートである。
【図８】処理公開情報記憶部１３２の構成例を示す図である。
【図９】ワークフローの実行時に画像形成装置２０が実行する処理手順の一例を説明するためのフローチャートである。
【図１０】フロー一覧情報の構成例を示す図である。
【図１１】フロー選択画面の表示例を示す図である。
【図１２】ワークフローの実行要求を受けたサービス環境１２０が実行する処理手順の一例を説明するためのフローチャートである。
【図１３】代行先のサービス環境１２０が実行する処理手順の一例を説明するためのフローチャートである。
【図１４】フロー作成画面の表示例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて本発明の実施の形態を説明する。図２は、本発明の実施の形態における情報処理システムの構成例を示す図である。
【００１３】
図２において、情報処理システム１は、クラウドシステム１１０、ユーザ環境Ｅａ及びユーザ環境Ｅｂ等を含む。サービス環境１２０ａ及びサービス環境１２０ｂは、例えば、インターネット等のネットワークＮ１を介してクラウドシステム１１０に接続される。
【００１４】
ユーザ環境Ｅａ及びユーザ環境Ｅｂ（以下、両者を区別しない場合、単に「ユーザ環境Ｅ」という。）は、クラウドシステム１１０によって提供されるクラウドサービスのユーザが所在するシステム環境である。ユーザ環境Ｅａは、画像形成装置２０ａを含む。画像形成装置２０ａは、ユーザ環境Ｅａにおいて施設されたＬＡＮ（Local Area Network）等のローカルネットワークＮａに接続される。ユーザ環境Ｅｂは、画像形成装置２０ｂを含む。画像形成装置２０ｂは、ユーザ環境Ｅａにおいて施設されたＬＡＮ等のローカルネットワークＮｂに接続される。なお、ユーザ環境Ｅａとユーザ環境Ｅｂとは、例えば、異なる企業におけるシステム環境であってもよい。
【００１５】
画像形成装置２０ａ及び画像形成装置２０ｂ（以下、両者を区別しない場合、単に「画像形成装置２０」という。）は、例えば、スキャナ又は複合機等の画像形成装置である。本実施の形態において、各画像形成装置２０は、画像データの入力元として機能する。なお、各画像形成装置２０は、それぞれが接続されたローカルネットワークを介して、ネットワークＮ１に接続可能である。
【００１６】
クラウドシステム１１０は、各ユーザ環境Ｅに対してクラウドサービスを提供する１以上のコンピュータである。図２において、クラウドシステム１１０は、サービス環境１２０ａ及びサービス環境１２０ｂ（以下、両者を区別しない場合、単に「サービス環境１２０」という。）と、クラウドストレージ１３０とを含む。
【００１７】
各サービス環境１２０は、例えば、クラウドシステム１１０において起動されている複数の仮想マシンの集合である。各サービス環境１２０が利用する（各サービス環境１２０を構成する）仮想マシンは相互に異なる。すなわち、各サービス環境１２０は、クラウドシステム１１０の論理的な構成において分割される単位である。但し、各サービス環境１２０は、クラウドシステム１１０の物理的な構成において分割される単位であってもよい。すなわち、各サービス環境１２０が利用する（各サービス環境１２０を構成する）物理的なコンピュータが相互に異なっていてもよい。
【００１８】
各サービス環境１２０は、画像形成装置２０において入力（スキャン）された画像データに対して、予め定義されたワークフローを実行する。ワークフローとは、それぞれ機能が異なる複数の処理単位の順序付けられた集合である。なお、本実施の形態において、ユーザ環境Ｅａの画像形成装置２０ａは、サービス環境１２０ａにアクセス可能であるとする。ユーザ環境Ｅｂの画像形成装置２０ｂは、サービス環境１２０ｂにアクセス可能であるとする。また、図２に示されているサービス環境１２０は２つであるが、３つ以上のサービス環境１２０がクラウドシステム１１０に含まれてもよい。
【００１９】
クラウドストレージ１３０は、オンラインストレージサービスを提供するコンピュータである。本実施の形態において、クラウドストレージ１３０は、各サービス環境１２０によって利用される情報等を記憶する。すなわち、クラウドストレージ１３０は、各サービス環境１２０からアクセス可能である。
【００２０】
図３は、本発明の実施の形態におけるクラウドシステム１１０を構成するコンピュータのハードウェア構成例を示す図である。図３のコンピュータは、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００２１】
コンピュータでの処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２２】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってコンピュータに係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２３】
なお、各サービス環境１２０は、図３に示されるようなハードウェア構成を有する複数のコンピュータによって構成されてもよい。
【００２４】
図４は、本発明の実施の形態におけるサービス環境１２０の機能構成例を示す図である。図４に示されるように、サービス環境１２０は、ユーザ管理部１２１、要求受信部１２２、フロー制御部１２３、１以上の処理部１２４、分散処理要求部１２５、分散処理代行部１２６及びインストール部１２７等を含む。これら各部は、サービス環境１２０にインストールされた１以上のプログラムが、クラウドシステム１１０のＣＰＵ１０４のうち、当該サービス環境１２０に割り当てられたＣＰＵに実行させる処理により実現される。
【００２５】
ユーザ管理部１２１は、サービス環境１２０へログインするユーザの認証等を行う。
【００２６】
要求受信部１２２は、画像形成装置２０から送信される、ワークフローの実行要求を受信する。当該実行要求には、実行対象のワークフローの識別情報（以下、「フローＩＤ」という。）が指定される。フロー制御部１２３は、実行対象として指定されたワークフローの実行を制御する。
【００２７】
処理部１２４は、ワークフローを構成する１つの処理単位を実行する。図４では、処理部１２４の一例として、ＯＣＲ部、ＰＤＦ生成部、画像編集部、メール送信部等が例示されている。ＯＣＲ部は、画像データに対してＯＣＲ（Optical Character Recognition）処理を実行して、テキストデータを出力する処理部１２４である。ＰＤＦ生成部は、画像データに基づいてＰＤＦデータを生成する処理部１２４である。画像編集部は、画像データの編集を実行する処理部１２４である。メール送信部は、指定されたデータを指定されたメールアドレスへ送信する処理部１２４である。
【００２８】
なお、１つの処理部１２４は、１つの処理モジュールによって実現される。処理モジュールとは、ＣＰＵを処理部１２４として機能させるプログラムである。したがって、サービス環境１２０にインストールされている処理モジュールの構成によって、当該サービス環境１２０において実行可能な処理単位が異なる。本実施の形態では、各サービス環境１２０にインストールされている処理モジュールの同一性が保証されていない状態を想定する。
【００２９】
分散処理要求部１２５は、実行対象のワークフローを構成する処理単位のうち、当該サービス環境１２０では実行できない処理単位について、他のサービス環境１２０に対して実行を要求する。当該サービス環境１２０では実行できない処理単位とは、当該サービス環境１２０にインストールされていない処理モジュールに対応する処理単位をいう。
【００３０】
分散処理代行部１２６は、他のサービス環境１２０の分散処理要求部１２５から実行が要求された処理単位を実行（代行）する。
【００３１】
インストール部１２７は、サービス環境１２０に対してプログラムのインストールを行う。例えば、処理モジュールがインストール対象のプログラムとされる。
【００３２】
なお、図４に示した機能構成について、サービス環境１２０ａの各部に言及する場合には、当該各部の符号の末尾に「ａ」が付加される。サービス環境１２０ｂの各部に言及する場合には、当該各部の符号の末尾に「ｂ」が付加される。
【００３３】
図５は、本発明の実施の形態におけるクラウドストレージ１３０の機能構成例を示す図である。図５において、クラウドストレージ１３０は、フロー一覧記憶部１３１及び処理公開情報記憶部１３２等を有する。これら各記憶部は、例えば、クラウドストレージ１３０の補助記憶装置等を用いて実現可能である。
【００３４】
フロー一覧記憶部１３１には、ワークフローごとの定義情報（以下、「フロー定義情報」という。）の一覧（以下、「フロー一覧情報」という。）が記憶されている。フロー定義情報は、ワークフローを構成する処理単位間の前後関係（接続関係）等の定義を含む情報である。
【００３５】
処理公開情報記憶部１３２には、各サービス環境１２０において実行可能な処理単位のうち、他のサービス環境１２０に対して公開している処理単位を示す情報が記憶あれている。他のサービス環境１２０に対して公開している処理単位とは、他のサービス環境１２０からの要求に応じて代行が許可される処理単位をいう。
【００３６】
図６は、本発明の実施の形態における画像形成装置２０の機能構成例を示す図である。図６において、画像形成装置２０は、ＵＩ部２１、機器制御部２２、及び要求送信部２３等を有する。これら各部は、画像形成装置２０にインストールされた１以上のプログラムが画像形成装置２０のＣＰＵに実行させる処理により実現される。
【００３７】
ＵＩ部２１は、画像形成装置２０の操作パネルに対して各種の画面を表示する。ＵＩ部２１は、また、表示した画面を介してユーザからの操作指示を受け付ける。例えば、ＵＩ部２１は、実行対象とするワークフローの選択をユーザから受け付ける。
【００３８】
機器制御部２２は、実行対象として選択されたワークフローに従って、画像形成装置２０を制御する。
【００３９】
要求送信部２３は、ワークフローの実行要求をサービス環境１２０に対して送信する。
【００４０】
以下、情報処理システム１において実行される処理手順について説明する。図７は、サービス環境１２０に対する処理モジュールのインストール処理の処理手順の一例を説明するためのフローチャートである。図７では、サービス環境１２０ａについて説明するが、サービス環境１２０ｂにおいても同様の処理手順が実行される。
【００４１】
サービス環境１２０ａのインストール部１２７ａは、例えば、クラウドシステム１１０の管理者から、或る処理モジュールのインストール指示を受け付けると（Ｓ１０１）、当該処理モジュールをサービス環境１２０ａにインストールする（Ｓ１０２）。
【００４２】
続いて、インストール部１２７ａは、当該処理モジュールの公開の可否を判定する（Ｓ１０３）。すなわち、当該処理モジュールに係る処理単位の代行の可否が判定される。当該処理モジュールの公開の可否は、例えば、インストール指示において、管理者から指定されてもよい。
【００４３】
当該処理モジュールを公開可能でない場合（Ｓ１０３でＮｏ）、インストール処理は終了する。当該処理モジュールを公開可能な場合（すなわち、当該処理モジュールの公開が許可される場合）（Ｓ１０３でＹｅｓ）、インストール部１２７は、当該処理モジュールに係る処理単位に関する処理公開情報を、クラウドストレージ１３０の処理公開情報記憶部１３２に登録（記憶）する（Ｓ１０４）。
【００４４】
図８は、処理公開情報記憶部１３２の構成例を示す図である。図８に示されるように、処理公開情報記憶部１３２には、公開された処理単位ごとに、処理単位ＩＤ、処理単位名及び公開元等を記憶する。
【００４５】
処理単位ＩＤは、処理単位ごとの識別情報である。処理単位名は、処理単位の名前である。公開元は、処理単位の公開元のサービス環境１２０の識別情報（以下、「サービス環境ＩＤ」という。）である。
【００４６】
したがって、ステップＳ１０４では、インストールされた処理モジュールに係る処理単位ＩＤ及び処理単位名と、サービス環境１２０ａのサービス環境ＩＤとを含むレコードが、処理公開情報記憶部１３２に追加される。
【００４７】
図９は、ワークフローの実行時に画像形成装置２０が実行する処理手順の一例を説明するためのフローチャートである。図９では、画像形成装置２０ａについて説明するが、画像形成装置２０ｂも同様の処理手順を実行可能である。図９の説明において、図６の各部の符号の末尾には、画像形成装置２０ａの構成要素であることを示す「ａ」が付加される。
【００４８】
例えば、ユーザによる所定の操作に応じ、ＵＩ部２１ａは、フロー選択画面をサービス環境１２０ａから取得（ダウンロード）する（Ｓ２０１）。フロー選択画面とは、ワークフローの一覧の中から実行対象とするワークフローを選択させるための画面である。
【００４９】
例えば、ＵＩ部２１ａが、フロー選択画面の取得要求をサービス環境１２０ａに送信すると、フロー制御部１２３ａが、クラウドストレージ１３０のフロー一覧記憶部１３１からフロー一覧情報を取得する。
【００５０】
図１０は、フロー一覧情報の構成例を示す図である。図１０においてフロー一覧情報Ｔ１は、定義されているワークフローごとに、フローＩＤ、フロー名、フロー及び説明等のフロー定義情報を含む。
【００５１】
フロー名は、ワークフローの名前である。フローは、ワークフローを構成する処理単位の実行順（前後関係）を示す情報であり、処理単位の実行順に処理単位ＩＤを含む。説明は、ワークフローの処理内容等を示す文字列である。
【００５２】
各フロー定義情報は、更に、処理単位設定情報を含む。図１０では、フローＩＤが「１」であるワークフローに関する処理単位設定情報Ｔ２が示されている。
【００５３】
処理単位設定情報Ｔ２は、ワークフローを構成する処理単位ごとに、処理単位ＩＤ、処理単位名、及び設定情報等を含む。設定情報は、処理単位に対する各設定項目に対する設定値を含む情報である。すなわち、各処理単位に対する設定情報は、ワークフローごとに設定可能である。
【００５４】
フロー制御部１２３ａは、このようなフロー一覧情報に基づいて、フロー選択画面を生成すし、生成したフロー選択画面を、ＵＩ部２１ａに返信する。
【００５５】
なお、各フロー定義情報は、当該フロー定義情報の作成元のユーザ環境Ｅごとの識別情報（以下、「ユーザ環境ＩＤ」という。）に関連付けられて、フロー一覧記憶部１３１に記憶されていてもよい。この場合、ＵＩ部２１ａからのフロー選択画面の取得要求には、ユーザ環境Ｅａのユーザ環境ＩＤが含まれてもよい。フロー制御部１２３ａは、当該ユーザ環境ＩＤに関連付けられているフロー定義情報の一覧であるフロー一覧情報をフロー一覧記憶部１３１から取得し、当該フロー一覧情報に基づいてフロー選択画面を生成してもよい。
【００５６】
ステップＳ２０１に続いて、画像形成装置２０ａのＵＩ部２１ａは、フロー制御部１２３ａから返信されたフロー選択画面を画像形成装置２０ａの操作パネルに表示する（Ｓ２０２）。
【００５７】
図１１は、フロー選択画面の表示例を示す図である。図１１に示されるように、フロー選択画面５１０には、ワークフローごとにアイコンが表示される。図１１では、各アイコンにフロー名が描画される例が示されている。なお、フロー選択画面５１０の画面データには、各アイコンに対応するワークフローのフロー定義情報も含まれている。例えば、ＨＴＭＬ（HyperText Markup Language）によって、当該画面データが記述されてもよい。
【００５８】
また、図１１では、いずれかのアイコンが選択されると、当該アイコンに対応するワークフローの説明が表示される例が示されている。
【００５９】
いずれかのアイコンが選択された状態で、実行ボタン５１１が押下されると（Ｓ２０３）、機器制御部２２ａは、選択されたアイコンに対応するワークフロー（以下、「対象フロー」という。）のフロー定義情報に従って、画像形成装置２０ａを制御する（Ｓ２０４）。フロー名が「業務１」であるワークフローが対象フローであれば、図１０によれば、最初に実行される処理単位は、「スキャン」である。そこで、機器制御部２２ａは、スキャンジョブを画像形成装置２０ａに実行させる。この際、スキャンジョブに対する設定情報は、対象フローのフロー定義情報に含まれている処理単位設定情報Ｔ２における、「スキャン」に対する設定情報に従う。
【００６０】
続いて、要求送信部２３ａは、ワークフローの実行要求をサービス環境１２０ａへ送信する（Ｓ２０５）。当該実行要求には、対象フローのフローＩＤと、スキャンジョブにおいて原稿から読み取られた画像データとが含まれる。
【００６１】
続いて、当該実行要求に応じてサービス環境１２０ａが実行する処理手順について説明する。図１２は、ワークフローの実行要求を受けたサービス環境１２０が実行する処理手順の一例を説明するためのフローチャートである。なお、サービス環境１２０ｂも、画像形成装置２０ｂからの要求に応じ、図１２の処理手順を実行可能である。
【００６２】
要求受信部１２２ａがワークフローの実行要求を受信すると（Ｓ３０１）、フロー制御部１２３ａは、当該実行要求に含まれているフローＩＤに対応するフロー定義情報に基づいて、対象フローについて未実行の処理単位の有無を判定する（Ｓ３０２）。なお、対象フローのフロー定義情報は、フロー一覧記憶部１３１から取得可能である。未実行の処理単位が有る場合（Ｓ３０２でＹｅｓ）、フロー制御部１２３ａは、未実行の処理単位のうち、実行順において先頭の処理単位をサービス環境１２０ａにおいて実行可能であるか否かを判定する（Ｓ３０３）。当該処理単位の実行の可否は、当該処理単位に対応する処理モジュールが、サービス環境１２０ａにインストールされているか否かに基づいて判定可能である。
【００６３】
当該処理単位を実行可能な場合（Ｓ３０３でＹｅｓ）、フロー制御部１２３ａは、当該処理単位に対応する処理部１２４ａに当該処理単位を実行させる（Ｓ３０４）。当該処理単位が、ステップＳ３０１の後に最初に実行される処理単位であれば、例えば、ワークフローの実行要求に含まれている画像データが処理対象とされて、当該処理単位が実行される。
【００６４】
一方、当該処理単位を実行可能でない場合（Ｓ３０３でＮｏ）、分散処理要求部１２５ａは、処理公開情報記憶部１３２（図８）を参照して、当該処理単位を代行可能なサービス環境１２０を特定する（Ｓ３０５）。具体的には、分散処理要求部１２５ａは、当該処理単位の処理単位ＩＤを含むレコードを処理公開情報記憶部１３２から検索し、当該レコードの公開元に係るサービス環境１２０を特定する。なお、該当するレコードが複数有る場合、すなわち、代行可能なサービス環境１２０が複数有る場合、所定の規則に基づいて、いずれか一つのサービス環境１２０が選択されればよい。
【００６５】
続いて、分散処理要求部１２５ａは、当該処理単位の代行要求を、特定されたサービス環境１２０へ送信する（Ｓ３０６）。当該代行要求には、当該処理単位の処理単位ＩＤや、ステップＳ３０１において受信された画像データや、それまでに実行された各処理単位から出力されたデータ等が含まれてもよい。これらのデータのいずれかが、当該処理単位の入力データとなる可能性が有るからである。
【００６６】
続いて、分散処理要求部１２５ａが、代行先のサービス環境１２０から、当該処理単位の実行結果を受信すると（Ｓ３０７）、ステップＳ３０２以降が繰り返される。
【００６７】
なお、ステップＳ３０２において、未実行の処理単位が無い場合（Ｓ３０２でＮｏ）、対象フローは終了する。
【００６８】
続いて、代行先とされたサービス環境１２０が実行する処理手順について説明する。図１３は、代行先のサービス環境１２０が実行する処理手順の一例を説明するためのフローチャートである。図１３では、サービス環境１２０ｂが代行先であるとする。但し、サービス環境１２０ａも図１３の処理手順を実行可能である。
【００６９】
サービス環境１２０ｂの分散処理代行部１２６ｂは、代行要求を受信すると（Ｓ４０１）、当該代行要求に含まれている処理単位ＩＤに係る処理部１２４ｂに、代行対象の処理単位を実行させる（Ｓ４０２）。この際、代行要求に含まれているデータ群のいずれかが、当該処理部１２４ｂによって処理対象とされてもよい。続いて、分散処理代行部１２６ｂは、当該処理単位の実行結果（すなわち、当該処理部１２４ｂから出力されたデータ）を、代行要求の送信元のサービス環境１２０へ返信する（Ｓ４０３）。
【００７０】
上述したように、本実施の形態によれば、例えば、各サービス環境１２０は、当該サービス環境１２０にインストールされていない処理モジュールに係る処理単位を含むワークフローの実行が要求された場合であっても、当該処理モジュールがインストールされている他のサービス環境１２０に対して当該処理単位を実行させることができる。したがって、処理の要求先（サービス環境１２０）の違いによって実行可能な処理（ワークフロー）が異なる可能性を低下させることができる。
【００７１】
また、処理公開情報記憶部１３２には、各サービス環境１２０において公開が許可された処理単位が登録される。したがって、例えば、テスト用のサービス環境１２０においてインストールされた、開発途中の処理モジュールに係る処理単位が無条件に公開されてしまうことによる不都合等を回避することができる。
【００７２】
なお、フロー定義情報は、例えば、図１４に示されるようなフロー作成画面を介して作成されてもよい。
【００７３】
図１４は、フロー作成画面の表示例を示す図である。図１４において、フロー作成画面５２０は、処理単位一覧領域５２１、フロー名入力領域５２２、説明入力領域５２３、保存ボタン５２４、フロー編集領域５２５及び処理単位設定領域５２６等を含む。なお、フロー作成画面５２０は、画像形成装置２０の操作パネルに表示されてもよいし、ユーザ環境Ｅに設置されているＰＣ（Personal Computer）等において表示されてもよい。ここでは、画像形成装置２０ａのＵＩ部２１ａによって、当該画像形成装置２０ａの操作パネルに表示される場合について説明する。
【００７４】
処理単位一覧領域５２１には、ユーザ環境Ｅａにおいて利用可能な処理単位の一覧が表示される。例えば、ユーザ環境Ｅａにおいて利用可能な処理単位は、サービス環境１２０ａにインストールされている処理モジュールに係る処理単位と、処理公開情報記憶部１３２に記憶されている、公開元が他のサービス環境１２０（本実施の形態ではサービス環境１２０ｂ）である処理公開情報に係る処理単位とである。
【００７５】
フロー名入力領域５２２は、フロー名の入力を受け付けるための領域である。説明入力領域５２３は、説明の入力を受け付けるための領域である。
【００７６】
フロー編集領域５２５は、フロー（すなわち、処理単位の接続関係）の編集を受け付けるための領域である。例えば、処理単位一覧領域５２１におけるいずれかの処理単位がフロー編集領域５２５にドラッグ＆ドロップされると、当該処理単位は、フロー編集領域５２５において既に形成されている処理単位間の接続関係の末尾に接続されてもよい。その後に、処理単位間の接続関係が変更可能とされてもよい。
【００７７】
処理単位設定領域５２６は、フロー編集領域５２５において選択されている処理単位の設定情報の入力を受け付けるための領域である。例えば、処理単位設定領域５２６に含まれているいずれかの処理単位が選択されると、当該処理単位の設定情報を構成する各項目の設定値の入力領域が、処理単位設定領域５２６に表示される。
【００７８】
各領域において必要事項が入力された後、保存ボタン５２４が押下されると、画像形成装置２０のＵＩ部２１ａは、フロー作成画面５２０に入力されたフロー定義情報と、ユーザ環境Ｅａのユーザ環境ＩＤとを含む登録要求を、サービス環境１２０ａに送信する。サービス環境１２０ａのフロー制御部１２３ａは、当該登録要求の受信に応じ、当該登録要求に含まれているユーザ環境ＩＤに関連付けて、当該登録要求に含まれているフロー定義情報をフロー一覧記憶部１３１に記憶する。
【００７９】
なお、本実施の形態では、画像形成装置２０からの要求に応じてワークフローが実行される例について説明したが、サービス環境１２０に対するワークフローの要求元は、画像形成装置２０以外の機器であってもよい。例えば、プロジェクタ、テレビ会議システム、電子黒板、スマート端末等が、画像形成装置２０の代わりに利用されてもよい。
【００８０】
なお、本実施の形態において、サービス環境１２０は、処理実行部、第１の処理実行部、第２の処理実行部の一例である。分散処理要求部１２５は、要求部の一例である。分散処理代行部１２６は、実行部の一例である。処理公開情報記憶部１３２は、記憶部の一例である。インストール部１２７は、記憶処理部の一例である。
【００８１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８２】
１            情報処理システム
１０          コンピュータ
２０ａ、２０ｂ  画像形成装置
２１          ＵＩ部
２２          機器制御部
２３          要求送信部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１１０        クラウドシステム
１２０ａ、１２０ｂ  サービス環境
１３０        クラウドストレージ
１２１        ユーザ管理部
１２２        要求受信部
１２３        フロー制御部
１２４        処理部
１２５        分散処理要求部
１２６        分散処理代行部
１２７        インストール部
１３１        フロー一覧記憶部
１３２        処理公開情報記憶部
Ｂ            バス
Ｅａ、Ｅｂ    ユーザ環境
【先行技術文献】
【特許文献】
【００８３】
【特許文献１】特表２０１３−５０６９０８号公報
【図１】
2018092531.tif 000003
【図２】
2018092531.tif 000004
【図３】
2018092531.tif 000005
【図４】
2018092531.tif 000006
【図５】
2018092531.tif 000007
【図６】
2018092531.tif 000008
【図７】
2018092531.tif 000009
【図８】
2018092531.tif 000010
【図９】
2018092531.tif 000011
【図１０】
2018092531.tif 000012
【図１１】
2018092531.tif 000013
【図１２】
2018092531.tif 000014
【図１３】
2018092531.tif 000015
【図１４】
2018092531.tif 000016