以下に、本発明の実施の形態について、添付の図面を参照して説明する。
<システムの構成>
図1は、一実施形態に係る情報処理システムの構成例を示す図である。情報処理システム100は、例えば、インターネットやLAN(Local Area Network)等のネットワーク106に接続される1つ以上のワークフローサーバ101、及び1つ以上の画像形成装置102を含む。また、図1の例では、情報処理システム100には、ネットワーク106に接続された情報端末103、ストレージサーバ104、及びメールサーバ105等が含まれている。
ワークフローサーバ(情報処理装置)101は、例えば、PC(Personal Computer)等の情報処理装置、又は複数の情報処理装置を含むシステムである。ワークフローサーバ101は、予め定義されたワークフローに基づいて、画像形成装置102、又は他のワークフローサーバ101から取得した処理対象となるデータに対して所定の処理を実行する。
画像形成装置(画像処理装置)102は、例えば、スキャン機能、コピー機能、プリンタ機能、ファクシミリ機能等を一つの筐体に搭載した複合機や、スキャン機能を有するスキャナ等の電子機器である。なお、画像形成装置102は画像処理装置の一例である。画像処理装置は、例えば、カメラ、スキャナ、文書作成プログラム等の画像データを生成する手段を備え、情報処理システム100に対応するアプリケーションプログラム(以下、アプリと呼ぶ)を実行する情報端末103等であっても良い。ここでは、画像処理装置が画像形成装置102であるものとして以下の説明を行う。
情報端末103は、例えば、PC、タブレット端末等の情報処理装置である。情報端末103は、例えば、ウェブブラウザや、情報処理システム100に対応するアプリ等を利用して、ワークフローサーバ101の管理ツールに接続し、ワークフローの作成や、システムの設定等を行う。
或いは、情報端末103は、情報処理システム100において、ワークフローの作成や、システムの設定等を行うための管理ツールを実行するものであっても良い。さらに、情報端末103は前述したように画像処理装置の1つとして機能するものであっても良いし、情報端末103は情報処理システム100に含まれていなくても良い。
ストレージサーバ104は、例えば、PC等の情報処理装置、又は複数の情報処理装置を含むシステムである。ストレージサーバ104は、情報処理システム100で実行されるフォルダ配信処理の配信先となる外部装置の一例である。
メールサーバ105は、例えば、PC等の情報処理装置、又は複数の情報処理装置を含むシステムである。メールサーバ105は、情報処理システム100で実行されるメール配信処理を実行する外部装置の一例である。
上記の構成において、情報処理システム100は、例えば、画像形成装置102で文書を読取した画像データ等に対して、複数の処理が定義されたワークフローに基づいて所定の処理を実行する。
ワークフローとは、例えば、画像データ等の処理対象となるデータに対する、入力処理、画像変換処理、フォルダ配信処理、メール配信処理等の複数の処理(プラグイン)を組合せて、所定の処理を定義したものである。なお、以下の説明の中で、ワークフローで定義された所定の処理の実行単位をジョブと呼ぶ場合がある。
例えば、情報処理システム100は、ワークフローを用いて、画像形成装置102で読取した画像データを所定の形式に変換し、変換したファイルをストレージサーバ104に配信すると共に、メールサーバ105に送信する処理等をまとめて実行することができる。
なお、本実施形態に係る情報処理システム100では、ワークフローには、ワークフローサーバ101及び画像形成装置102で実行可能な処理(第1の処理)と、ワークフローサーバ101で実行可能な処理(第2の処理)とが含まれる。
また、本実施形態に係るワークフローは、ワークフローサーバ101及び画像形成装置102で実行可能な処理(以下、共通の処理と呼ぶ)を実行した後にワークフローサーバ101で実行可能な処理(以下、サーバ専用の処理と呼ぶ)を実行するように作成される。
作成されたワークフローの情報は、各ワークフローサーバ101、及び各画像形成装置102に通知され、ワークフローサーバ101、及び画像形成装置102は、通知されたワークフローの情報に基づいて、各処理を実行する。
また、本実施形態に係る画像形成装置102は、ワークフローに従って、取得した画像データに共通の処理を実行する際に、共通の処理を自装置で実行するか、他の装置(例えば、ワークフローサーバ101)で実行するかを決定することができる。
画像形成装置102は、例えば、自装置の負荷(例えば、リソース、処理の残数等)に余裕がない場合等に、共通の処理を自装置で実行せずに、他の装置で実行すると決定する。この場合、画像形成装置102は、処理対象となるデータ(第1のデータ)を、共通の処理を実行可能なワークフローサーバ101に送信する。
一方、画像形成装置102は、例えば、自装置の負荷に余裕がある場合等に、共通の処理を自装置で実行すると決定する。この場合、画像形成装置102は、自装置で共通の処理を実行し、共通の処理を実行したデータ(第2のデータ)を、サーバ専用の処理を実行可能なワークフローサーバ101に送信する。
ワークフローサーバ101は、画像形成装置102から送信される第1のデータ、又は第2のデータを取得し、取得したデータに対して、ワークフローに従って所定の処理を実行する。
このように、本実施形態に係る画像形成装置(画像処理装置)102は、画像形成装置102の処理(共通の処理)を、必要に応じてワークフローサーバ(情報処理装置)101に実行させることができる。
好ましくは、本実施形態に係る画像形成装置102は、自装置で実行しないと決定した画像形成装置102の処理(共通の処理)を、ワークフローサーバ101だけではなく、他の画像形成装置102に実行させることもできる。
このように、本実施形態によれば、画像形成装置102とワークフローサーバ101とを含み、ワークフローに基づいて処理を実行する情報処理システム100において、必要に応じて画像形成装置102の処理を他の装置に実行させることができるようになる。
なお、情報処理システム100で実行される処理は、画像形成装置102から受付した画像データ等に対する処理に限られず、例えば、情報端末(画像処理装置の別の一例)103から受付した文書データ等に対する処理であっても良い。
<ハードウェア構成>
(ワークフローサーバ、及び情報端末のハードウェア構成)
図1に示すワークフローサーバ101、及び情報端末103は、一般的なコンピュータの構成を有している。ここでは、一般的なコンピュータのハードウェア構成について説明する。
図2は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。コンピュータ200は、例えば、CPU(Central Processing Unit)201、RAM(Random Access Memory)202、ROM(Read Only Memory)203、ストレージ装置204、ネットワークI/F205、入力装置206、表示装置207、外部I/F208、及びバス209等を有する。
CPU201は、ROM203やストレージ装置204等に格納されたプログラムやデータをRAM202上に読み出し、処理を実行することで、コンピュータ200の各機能を実現する演算装置である。RAM202は、CPU201のワークエリア等として用いられる揮発性のメモリである。ROM203は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。
ストレージ装置204は、例えば、HDD(Hard Disk Drive)や、SSD(Solid State Drive)等の大容量の記憶装置であり、OS、アプリケーションプログラム、各種のデータ等を記憶する。ネットワークI/F205は、コンピュータ200をネットワーク107等に接続するための通信インタフェースである。
入力装置206は、例えば、マウス等のポインティングデバイスや、キーボード等の入力デバイスであり、コンピュータ200に各操作信号を入力するために用いられる。表示装置207はディスプレイ等の表示デバイスであり、コンピュータ200による処理結果等を表示する。
外部I/F208は、外部装置とのインタフェースである。外部装置には、例えば、記録媒体210等が含まれる。
バス209は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
(画像形成装置のハードウェア構成)
図3は、一実施形態に係る画像形成装置102のハードウェア構成の例を示す図である。
画像形成装置102は、コントローラ310、操作パネル320、通信I/F330、プロッタ340、スキャナ350、及びファクスコントロールユニット(以下、FCUと呼ぶ)360等を有する。
コントローラ310は、CPU311、RAM312、ROM313、NVRAM(Non-Volatile RAM)314、及びHDD315等を含む。
ROM313は、各種プログラムやデータを格納している不揮発性の記憶装置である。RAM312は、プログラムやデータを一時保持する揮発性の記憶装置である。NVRAM314は、例えば設定情報等を格納する書き込み可能な不揮発性の記憶装置である。HDD315は、各種プログラムやデータを格納している大容量の記憶装置である。
CPU311は、ROM313、NVRAM314、HDD315等からプログラムやデータ、設定情報等をRAM312上に読み出し、処理を実行することで、画像形成装置102の全体の制御や機能を実現する演算装置である。
操作パネル320は、ユーザからの入力を受付する入力部と、表示を行う表示部とを備えている。通信I/F330は、画像形成装置102をLAN130等のネットワークに接続するインタフェースである。これにより、画像形成装置102は、ワークフローサーバ101や、他の画像形成装置102等と通信を行うことができる。
プロッタ340は、印刷データを印刷する印刷装置である。スキャナ350は、原稿等を読み取る読取装置である。FCU360は、ファクスデータの送受信を行う。
[第1の実施形態]
<機能構成>
図4は、第1の実施形態に係る情報処理システムの機能構成図である。情報処理システム100は、ネットワーク106を介して互いに通信可能に接続されるワークフローサーバ101、画像形成装置102、情報端末103、ストレージサーバ104、及びメールサーバ105を含む。
(画像形成装置の機能構成)
画像形成装置(画像処理装置)102は、処理部411、プラットフォーム部412、通信制御部413、表示制御部414、操作受付部415、画像形成部416、画像取得部417、及び記憶部418を有する。
処理部411は、例えば、図3のCPU311で実行されるプログラムによって実現され、ワークフローに基づいて、処理対象となるデータに所定の処理を実行する。また、処理部411は、所定の処理の実行をワークフローサーバ101等に要求することもできる。処理部411は、例えば、データ取得部431、第1の決定部432、処理実行部433、第2の決定部434、データ送信部435、及びワークフロー情報管理部(以下、WF情報管理部と呼ぶ)436を含む。
データ取得部(第1のデータ取得部)431は、画像形成装置102、及びワークフローサーバ101で実行可能な共通の処理(第1の処理)の対象となるデータ(第1のデータ)を取得する。
例えば、データ取得部431、プラットフォーム部412が提供するインタフェースを用いて、スキャナ350で読取した画像データを取得する。或いは、データ取得部431は、他の画像形成装置102から処理の実行を要求されたデータを取得する。
第1の決定部432は、記憶部418に記憶したワークフロー情報441に基づいて、画像形成装置102で実行する共通の処理を決定する。
ワークフロー情報441には、1つ以上の共通の処理と、1つ以上のサーバ専用の処理とを含む複数の処理が、共通の処理を実行した後にサーバ専用の処理を実行が実行されるように、ワークフローが定義されている。
例えば、第1の決定部432は、ワークフロー情報441に含まれる複数の処理のうち、共通の処理を、画像形成装置102で実行すると決定する。
好ましくは、第1の決定部432は、画像形成装置102の負荷に余裕がある場合、ワークフロー情報441に含まれる複数の処理のうち、共通の処理を画像形成装置102で実行すると決定する。一方、第1の決定部は、画像形成装置102の負荷に余裕がない場合、ワークフロー情報441に含まれる共通の処理を、他の装置(例えば、ワークフローサーバ101)で実行すると決定する。
処理実行部(第1の処理実行部)433は、第1の決定部432により、画像形成装置102で実行すると決定された共通の処理を、データ取得部431が取得した処理対象となるデータ(第1のデータ)に対して実行する。
第2の決定部434は、共通の処理が実行されていないデータ(第1のデータ)、又は処理実行部433によって共通の処理が実行されたデータ(第2のデータ)を送信する送信先の装置を決定する。
図4の例では、ワークフローサーバ101は1台なので、ワークフローサーバ101を送信先の装置に決定する。
データ送信部435は、第2の決定部434によって決定された送信先の装置に、共通の処理が実行されていないデータ(第1のデータ)、又は処理実行部433によって共通の処理が実行されたデータ(第2のデータ)を送信する。
図4の例では、データ送信部435は、共通の処理が実行されていないデータ、又は共通の処理が実行されたデータを、共通の処理及びサーバ専用の処理を実行可能なワークフローサーバ101に送信する。
WF情報管理部436は、例えば、管理ツール425から通知されるワークフロー情報を、記憶部418に記憶して管理する。なお、ワークフロー情報については後述する。
プラットフォーム部412は、例えば、図3のCPU311で実行されるプログラムによって実現され、処理部411に、例えば、スキャン、コピー、印刷等の画像形成装置102の機能を利用するためのインタフェースを提供する。
通信制御部413は、例えば、図3の通信I/F330、及び図3のCPU311で実行されるプログラム等によって実現され、ネットワーク106を介して、ワークフローサーバ101等の他の装置との通信処理を行う。
表示制御部414は、例えば、図3のCPU311で実行されるプログラムによって実現され、図3の操作パネル320等に表示画面を表示させる。
操作受付部415は、例えば、図3のCPU311で実行されるプログラムによって実現され、図3の操作パネル320等に対する利用者の操作を受付する。
画像形成部416は、例えば、図3のプロッタ304、及び図3のCPU311で実行されるプログラム等によって実現され、印刷、コピー等の画像形成処理を実行する。
画像取得部417は、例えば、図3のスキャナ350、及び図3のCPU311で実行されるプログラム等によって実現され、画像の読取(スキャン)等の画像取得処理を実行する。
記憶部418は、例えば、図3のRAM312、HDD315、及び図3のCPU311で実行されるプログラム等によって実現され、ワークフロー情報441等の各種の情報を記憶する。
(ワークフローサーバの機能構成)
ワークフローサーバ(情報処理装置)101は、処理部421、通信制御部422、表示制御部423、操作受付部424、管理ツール425、及び記憶部426等を有する。
処理部421は、例えば、図2のCPU201で実行されるプログラムによって実現され、ワークフローに基づいて、処理対象となるデータに所定の処理を実行する。処理部421は、例えば、データ取得部451、第3の決定部452、処理実行部453、データ送信部454、及びWF情報管理部455等を有する。
データ取得部(第2のデータ取得部)451は、共通の処理(第1の処理)の対象となるデータ(第1のデータ)や、サーバ専用の処理(第2の処理)の対象となるデータ(第2のデータ)を取得する。例えば、データ取得部451は、画像形成装置102から処理を要求されたデータ(第1のデータ、又は第2のデータ)を取得する。
第3の決定部452は、記憶部426に記憶したワークフロー情報461に基づいて、データ取得部451が取得したデータに対して、処理を実行するワークフローサーバ101を決定する。図4の例では、ワークフローサーバ101は1つなので、第3の決定部452は、自装置で処理を実行すると決定する。
処理実行部(第2の処理実行部)453は、第3の決定部452により、ワークフローサーバ101で実行すると決定された処理を、データ取得部451が取得したデータ(第1のデータ、又は第2のデータ)に対して実行する。
データ送信部454は、例えば、第3の決定部452によって、他のワークフローサーバ101で処理を実行すると決定された場合、決定されたワークフローサーバ101に、データ取得部451が取得したデータ(第1のデータ、又は第2のデータ)を送信する。
WF情報管理部455は、例えば、管理ツール425から通知されるワークフロー情報を、記憶部426に記憶して管理する。
通信制御部422は、例えば、図2のネットワークI/F205、及び図2のCPU201で実行されるプログラム等によって実現され、ネットワーク106を介して、画像形成装置102等の他の装置との通信処理を行う。
表示制御部423は、例えば、図2のCPU201で実行されるプログラムによって実現され、図2の表示装置207等に表示画面を表示させる。
操作受付部415は、例えば、図3のCPU201で実行されるプログラムによって実現され、図3の入力装置206等に対する操作を受付する。
管理ツール425は、例えば、図3のCPU201で実行されるプログラム(アプリ)によって実現され、ワークフローの作成を行う。管理ツール425は、例えば、WF作成部471、及びWF情報通知部472を含む。
WF作成部(作成部)471は、例えば、表示制御部423を用いて、複数の共通の処理(第1の処理)と、複数のサーバ専用の処理(第2の処理)とを表示画面に選択可能に表示させる。また、WF作成部471は、表示画面から選択された1つ以上の共通の処理と、1つ以上のサーバ専用の処理を含み、かつ1つ以上の共通の処理を実行した後に、1つ以上のサーバ専用の処理が実行されるようにワークフローを作成する。
WF情報通知部(通知部)472は、WF作成部471によって作成されたワークフローの情報であるワークフロー情報を、情報処理システム100に含まれるワークフローサーバ101、及び画像形成装置102に通知する。
なお、管理ツール425は、ウェブサーバ機能を有し、情報端末103、又は画像形成装置102のウェブブラウザの表示画面等に、複数の共通の処理と、複数のサーバ専用の処理とを選択可能に表示させるものであっても良い。また、管理ツール425は、情報端末103や、画像形成装置102等で実行されるものであっても良い。
記憶部426は、例えば、図2のRAM202、ストレージ装置204、及び図2のCPU201で実行されるプログラム等によって実現され、ワークフロー情報461等の各種の情報を記憶する。
<処理の流れ>
続いて、本実施形態に係る情報処理方法の処理の流れについて説明する。
(ワークフローの作成処理)
図5は、第1の実施形態に係るワークフローの作成処理の例を示すフローチャートである。この処理は、管理ツール425が、ワークフローを作成する処理の例を示している。
ステップS501において、管理ツール425のWF作成部471は、管理ツール425の設定がサーバモードであるか、機器モードであるかを判断する。
管理ツール425は、例えば、図6に示すような管理ツール425の設定画面600を表示画面に表示させて、ジョブ実行場所601のプルダウンメニュー602等により、「サーバ」モードと、「機器」モードとを選択することができるようになっている。
「サーバ」モードが選択されると、管理ツール425は、全ての処理(プラグイン)が、ワークフローサーバ101で実行されるように、ワークフローを作成する。
一方、「機器」モードが選択されると、管理ツール425は、画像形成装置102、及びワークフローサーバ101で実行可能な共通の処理と、ワークフローサーバ101で実行可能なサーバ専用の処理とを含むように、ワークフローを作成する。
ステップS501において、管理ツール425の設定がサーバモードでない場合、すなわち、機器モードである場合、WF作成部471は、処理をステップS502に移行させる。一方、管理ツール425の設定がサーバモードである場合、WF作成部471は、処理をステップS508に移行させる。
ステップS502に移行すると、WF作成部471は、ワークフローの作成画面に、共通の処理(第1の処理)と、サーバ専用の処理(第2の処理)とを選択可能に表示させる。このとき、表示されるワークフローの作成画面の例を図7に示す。
図7は、第1の実施形態に係るワークフローの作成画面のイメージを示す図(1)である。図7に示すワークフローの作成画面700には、共通の処理リスト710、サーバ専用の処理リスト720、及びワークフローの表示部730、メッセージ欄740等が含まれる。
共通の処理リスト710には、例えば、「PDF変換」処理の選択ボタン711、「フォルダ配信」処理の選択ボタン712等、複数の共通の処理を選択することができるように表示されている。
サーバ専用の処理リスト720には、例えば、「メール配信」処理の選択ボタン721、「ドキュメント配信」処理の選択ボタン722等、複数のサーバ専用の処理を選択することができるように表示されている。
ワークフローの表示部730には、共通の処理リスト710、及びサーバ専用の処理リスト720で選択された処理が順番に、矢印731で接続されて表示される。例えば、図7において、「PDF変換」処理の選択ボタン711と、「フォルダ配信」処理の選択ボタン712と、「メール配信」処理の選択ボタン721と、を順番に選択すると、図7に示すようなワークフローが、ワークフローの表示部730に表示される。
メッセージ欄740には、例えば、共通の処理の前に、サーバ専用の処理を実行することができないことを示すメッセージ等が表示される。これにより、管理ツール425は、共通の処理を実行した後に、サーバ専用の処理を実行するワークフローの作成を、作成者に促すことができる。
図5に戻り、フローチャートの説明を続ける。
ステップS503において、WF作成部471は、図7に示すようなワークフローの作成画面700において、選択操作を受付する。例えば、利用者は、図7に示すようなワークフローの作成画面700において、実行する処理を選択した後、「OK」ボタン750(又は「適用」ボタン)を選択することにより、選択操作を行うことができる。
ステップS504において、WF作成部471は、受付した処理における共通の処理と、サーバ専用の処理との実行順序を確認する。
ステップS505において、WF作成部471は、受付した処理が、共通の処理を実行した後に、サーバ専用の処理を実行されるように設定されているか、すなわち、実行順序が正しいかを判断する。
実行順序が正しくない場合、WF作成部471は、例えば、処理をステップS502に戻し、ワークフローの作成処理を再度実行する。一方、実行順序が正しい場合、WF作成部471は、処理をステップS506に移行させる。
ステップS506に移行すると、WF作成部471は、選択された処理を含むワークフローを作成する。例えば、WF作成部471は、図9に示すようなワークフロー情報を作成する。
図9は、第1の実施形態に係るワークフロー情報のイメージを示す図である。図9には、図7に示すワークフローの作成画面700によって作成されるワークフロー情報900の一例が示されている。
図9において、ワークフロー情報900には、「PDF変換」処理に関する情報910、「フォルダ配信」処理に関する情報920、及び「メール配信」処理に関する情報930が含まれている。
「PDF変換」処理に関する情報910に含まれる「executedAt="embedded"」の情報911は、「PDF変換」処理が、画像形成装置102、及びワークフローサーバ101で実行可能な共通の処理(第1の処理)であることを示している。「フォルダ配信」処理に関する情報920にも、同様に「executedAt="embedded"」の情報が含まれている。
一方、「メール配信」処理に関する情報930に含まれる「executedAt="server"」の情報931は、「メール配信」処理が、ワークフローサーバ101で実行可能なサーバ専用の処理(第2の処理)であることを示している。
このようなワークフロー情報900により、例えば、ワークフローが、「PDF配信」、「フォルダ配信」、「メール配信」の順に実行されること、及び各処理の種別(共通の処理であるか、サーバ専用の処理であるか)が特定される。
ここで、図5に戻り、フローチャートの説明をさらに続ける。
ステップS507において、WF情報通知部472は、WF作成部471によって作成されたワークフローの情報(例えば、図9のワークフロー情報900)を、情報処理システム100に含まれる画像形成装置102、及びワークフローサーバ101に通知する。
一方、ステップS501からステップS508に移行すると、WF作成部471は、ワークフローの作成画面に、複数の処理を選択可能に表示させる。このとき、表示されるワークフローの作成画面の例を図8に示す。
図8は、第1の実施形態に係るワークフローの作成画面のイメージを示す図(2)である。図8に示すワークフローの作成画面800には、複数の処理を選択可能に表示する処理リスト(サーバ)810が含まれる。
処理リスト(サーバ)810には、図7に示すワークフローの作成画面700において、共通の処理リスト710に含まれていた「PDF変換」処理の選択ボタン711、及び「フォルダ配信」処理の選択ボタン712が含まれている。また、処理リスト(サーバ)810には、図7に示すワークフローの作成画面700において、サーバ専用の処理リスト720に含まれていた「メール配信」処理の選択ボタン721、及び「ドキュメント配信」処理の選択ボタン722が含まれている。
図8に示すワークフローの作成画面800で選択された各処理は、全てワークフローサーバ101で実行される。
ステップS509において、WF作成部471は、図8に示すようなワークフローの作成画面800において、ステップS503の処理と同様にして、選択操作を受付する。
ステップS510において、WF作成部471は、ステップS506の処理と同様にして、ワークフローを作成する。
上記の処理により、管理ツール425は、設定が機器モードである場合、1つ以上の共通の処理と、1つ以上のサーバ専用の処理とを含み、共通の処理を実行した後に、サーバ専用の処理が実行されるワークフローを作成することができる。
なお、管理ツール425は、共通の処理のみを含むワークフロー、又はサーバ専用の処理のみを含むワークフローを作成することも可能である。ここでは、管理ツール425が作成するワークフローが、1つ以上の共通の処理と、1つ以上のサーバ専用の処理とを含むものとして以下の説明を行う。
(情報処理システムの処理)
図10は、第1の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。この処理は、例えば、図9に示すようなワークフロー情報900に基づいて、画像形成装置102でスキャン(読取)した画像データに、所定の処理を実行する場合の処理の例を示している。
ステップS1001において、管理ツール425のWF情報通知部472は、ワークフローサーバ101の処理部421に、例えば、図9に示すようなワークフロー情報900を通知する。
ステップS1002において、処理部421のWF情報管理部455は、管理ツール425から通知されたワークフロー情報900を記憶部426のワークフロー情報461に記憶する。
ステップS1003において、管理ツール425のWF情報通知部472は、画像形成装置102に、ワークフロー情報900を通知する。
ステップS1004において、画像形成装置102のWF情報管理部436は、管理ツール425から通知されたワークフロー情報900を記憶部418のワークフロー情報441に記憶する。
ステップS1005において、画像形成装置102の処理部411に含まれるデータ取得部431は、利用者によるスキャン操作(画像の読取操作)を受け付けるものとする。
ステップS1006において、スキャン操作を受付したデータ取得部431は、プラットフォーム部412にスキャンを要求する。
ステップS1007において、プラットフォーム部412は、画像取得部417により、スキャン(画像の読取り)を実行する。
ステップS1008において、プラットフォーム部412は、スキャンされた画像データを処理部411に送信する。これにより、処理部411のデータ取得部431は、共通の処理(第1の処理)の対象となるデータ(第1のデータ)を取得することができる。
ステップS1009において、処理部411の第1の決定部432は、管理ツール425から通知されたワークフロー情報900に基づいて、共通の処理のうち、最初の処理(処理1)を実行する装置を決定する。
なお、ここでは、画像形成装置102の負荷に十分に余裕があり、第1の決定部432は、画像形成装置102、及びワークフローサーバ101で実行可能な共通の処理を、画像形成装置102で実行すると決定するものとする。
例えば、図9のワークフロー情報900において、最初の処理である「PDF変換」処理に関する情報910には、画像形成装置102、及びワークフローサーバ101で実行可能な共通の処理であることを示す「executedAt="embedded"」の情報911が含まれている。したがって、第1の決定部432は、「PDF変換」処理を、共通の処理のうち、最初の処理(処理1)と判断し、処理1を画像形成装置102で実行すると決定する。
ステップS1010において、処理部411の処理実行部433は、第1の決定部432で実行すると決定された「PDF変換」処理を、データ取得部431が取得したデータ(第1のデータ)に対して実行する。
ステップS1011において、処理部411の第1の決定部432は、管理ツール425から通知されたワークフロー情報900に基づいて、共通の処理のうち、2番目の処理(処理2)を実行する装置を決定する。
例えば、図9のワークフロー情報900において、2番目の処理である「フォルダ配信」処理に関する情報920には、共通の処理であることを示す「executedAt="embedded"」の情報が含まれている。したがって、第1の決定部432は、「フォルダ配信」処理を、共通の処理のうち、2番目の処理(処理2)と判断し、処理2を画像形成装置102で実行すると決定する。
ステップS1012において、処理部411の処理実行部433は、第1の決定部432で実行すると決定された「フォルダ配信」処理を実行する。
例えば、ステップS1013において、処理実行部433は、ステップS1010でPDF変換されたデータ(ファイル)を、ストレージサーバ104に送信する。
ステップS1014において、ストレージサーバ104に送信されたファイルは、例えば、ストレージサーバ104によって保存処理が行われる。
画像形成装置102の処理部411は、ステップS1009〜S1012に示すような処理を、全ての共通の処理が実行されるまで繰り返す。
ステップS1015において、処理部411の第2の決定部434は、全ての共通の処理が実行されると、サーバ専用の処理を実行する装置を決定する。
なお、ここでは、サーバ専用の処理を実行可能な装置は、ワークフローサーバ101のみなので、第2の決定部434は、サーバ専用の処理をワークフローサーバ101で実行すると決定する。
ステップS1016において、データ送信部435は、ステップS1009〜S1013で共通の処理が実行されたデータ(第2のデータ)を含むワークフローデータ(以下、WFデータと呼ぶ)を、ワークフローサーバ101に送信する。このWFデータには、例えば、ステップS1008でデータ取得部431が取得した画像データ(第1のデータ)、共通の処理が実行されたデータ(第2のデータ)、及びワークフローの処理状況を示す情報等が含まれる。
ステップS1017において、処理部411は、例えば、ステップS1006〜S1016の処理を実行したことを示すログ情報(ジョブログ)を、記憶部418等に記憶する。
ステップS1018において、ワークフローサーバ101の処理部421において、データ取得部451は、画像形成装置102から送信されたWFデータを取得し、第3の決定部452は、WFデータを実行する装置を決定する。
なお、ここでは、サーバ専用の処理を実行可能な装置は、ワークフローサーバ101のみなので、第3の決定部452は、サーバ専用の処理をワークフローサーバ101で実行すると決定する。
ステップS1019において、処理部421の処理実行部453は、管理ツール425から通知されたワークフロー情報900と、WFデータに含まれるワークフローの処理情報を示す情報に基づいて、サーバ専用の処理を実行する。
例えば、WFデータに含まれるワークフローの処理情報を示す情報には、共通の処理を実行済であることを示す情報が含まれる。また、図9に示すワークフロー情報900には、サーバ専用の処理である「メール配信」処理に関する情報930が含まれている。したがって、処理部421の処理実行部453は、WFデータに含まれる共通の処理が実行されたデータ(第2のデータ)に対して、「メール配信」処理を実行する。
例えば、ステップS1020において、処理部421の処理実行部453は、WFデータに含まれる共通の処理が実行されたデータ(ファイル)をメールサーバ105に送信する。
ステップS1021において、ワークフローサーバ101の処理部421は、例えば、ステップS1018〜S1020の処理を実行したことを示すログ情報(ジョブログ)を、記憶部426等に記憶する。
ステップS1022において、メールサーバ105に送信されたファイルは、メールサーバ105によってメール配信処理が実行される。
例えば、上記の処理により、情報処理システム100は、画像形成装置102、及びワークフローサーバ101で実行可能な共通の処理と、ワークフローサーバ101で実行可能なサーバ専用の処理とを含むワークフローを実行することができる。
なお、実施形態に係る画像形成装置102は、例えば、自装置の負荷に余裕がないとき、画像形成装置102の処理(共通の処理)をワークフローサーバ101や、他の画像形成装置102に実行させる負荷分散処理を行うことができる。
[第2の実施形態]
第2の実施形態では、情報処理システム100における負荷分散処理の例について説明する。
図11は、第2の実施形態に係る情報処理システムの機能構成図である。図11において、情報処理システム100は、複数のワークフローサーバ101−1、101−2、・・・、及び複数の画像形成装置102−1、102−2、・・・を含む。なお、以下の説明の中で、複数のワークフローサーバ101−1、101−2、・・・のうち、任意のワークフローサーバを示す場合「ワークフローサーバ101」を用いる。また、各ワークフローサーバ101は、例えば、ワークフローサーバ101−1と同じ構成を有しているものとする。同様に、複数の画像形成装置102−1、102−2、・・・のうち、任意の画像形成装置を示す場合「画像形成装置102」を用いる。また、各画像形成装置102は、例えば、画像形成装置102−1と同様の構成を有しているものとする。
<機能構成>
(画像形成装置の機能構成)
図11に示す第2の実施形態に係る画像形成装置102は、図4に示す第1の実施形態に係る画像形成装置102の機能構成に加えて、装置情報管理部1111、及び負荷情報管理部1112を有している。
装置情報管理部1111は、例えば、ワークフローサーバ101−1等から通知される装置情報1113を、記憶部418に記憶して管理する。
図12(a)は、画像形成装置102の記憶部418に記憶される装置情報1113、及びワークフローサーバ101の記憶部426に記憶される装置情報1124の例を示している。図12(a)の例では、装置情報には、「装置ID」、「種別」、「IPアドレス」、「転送優先度」等の情報が含まれる。
「装置ID」は、ワークフローサーバ101、及び画像形成装置102等の各装置を識別するための識別情報である。
「種別」は、各装置の種別を示す情報である。「Server」はワークフローサーバ101を示しており、「Embedded」は画像形成装置102等の画像処理装置を示している。
「IPアドレス」は、各装置と通信するときに使用する宛先情報の一例である。
「転送優先度」は、各装置が他の装置にジョブを転送する際の優先度を示す情報であり、その値が小さい程、優先度が高いことを示している。例えば、図12(a)に示すように、種別「Server」より、種別「Embedded」の優先度を高く設定することにより、ワークフローサーバ101の負荷を軽減し、情報処理システム100におけるワークフローサーバ101の数を減らすことができる。
装置情報管理部1111は、例えば、このような装置情報1113により、情報処理システム100に含まれるワークフローサーバ101、及び画像形成装置102に関する情報を管理している。
負荷情報管理部1112は、例えば、装置情報1113の「IPアドレス」を用いて、各ワークフローサーバ101、及び各画像形成装置102から、各装置の負荷に関する情報である負荷情報1114を取得し、記憶部418に記憶して管理する。
また、負荷情報管理部1112は、自装置(画像形成装置102)の負荷情報を取得し、他の装置からの要求に応じて、自装置の負荷情報を提供する。
図12(b)は、画像形成装置102の記憶部418に記憶される負荷情報1114、及びワークフローサーバ101の記憶部426に記憶される負荷情報1125の例を示している。図12(b)の例では、負荷情報には、「装置ID」、「種別」、「ワークフロージョブの残数」、「メモリ使用率」、「CPU使用率」、「応答時間」等の情報が含まれる。
「装置ID」は、各装置を識別するための識別情報である。「種別」は、各装置の種別を示す情報である。
「ワークフロージョブの残数」は、各装置が受付済のジョブのうち、未処理のジョブの数を示す情報である。
「メモリ使用率」は、各装置におけるメモリリソースの使用率を示す情報である。「CPU使用率」は、各装置におけるCPUリソースの使用率を示す情報である。
「応答時間」は、例えば、各装置から負荷情報を取得するために要した時間等、各装置との通信に要する時間を示す情報である。
第2の実施形態では、第1の決定部432は、画像形成装置102の負荷が、予め定められた第1の所定の範囲内である場合、ワークフロー情報441に含まれる共通の処理(第1の処理)を、自装置(画像形成装置102)で実行すると決定する。
また、第1の決定部432は、画像形成装置102の負荷が、予め定められた第1の所定の範囲を超えた場合、他の画像形成装置102、及び各ワークフローサーバ101の負荷情報に基づいて、共通の処理を実行する装置を決定する。なお、第1の決定部432による、共通の処理を実行する装置の決定処理の例については、フローチャートを用いて後述する。
また、第2の実施形態では、第2の決定部434は、各ワークフローサーバ101の負荷情報に基づいて、サーバ専用の処理を実行する装置を決定する。なお、サーバ専用の処理を実行する装置の決定処理の例については、フローチャートを用いて後述する。
なお、上記以外の機能構成は、基本的に図4に示す第1の実施形態に係る画像形成装置102の機能構成と同様なので、ここでは説明を省略する。
(ワークフローサーバの機能構成)
図11に示す第2の実施形態に係るワークフローサーバ101は、図4に示す第1の実施形態に係るワークフローサーバ101の機能構成に加えて、装置情報管理部1121、負荷情報管理部1122、装置情報設定部1123を有している。
装置情報管理部1121は、画像形成装置102の装置情報管理部1111と同様に、例えば、図12に示すような装置情報1124を記憶部426に記憶して管理する。
負荷情報管理部1122は、負荷情報管理部1112と同様に、情報処理システム100に含まれるワークフローサーバ101、及び画像形成装置102から各装置の負荷に関する情報である負荷情報1125を取得し、記憶部428に記憶して管理する。
また、負荷情報管理部1122は、自装置(ワークフローサーバ101)の負荷情報を取得し、他の装置からの要求に応じて、自装置の負荷情報を提供する。
装置情報設定部1123は、例えば、図12(a)に示すような装置情報1113、1124を登録するための登録画面を表示部に表示させて、管理者等による各装置の情報の登録を受付する。また、装置情報設定部1123は、登録された装置情報1113、1124を、情報処理システム100に含まれるワークフローサーバ101、及び画像形成装置102に通知する。
第2の実施形態では、第3の決定部452は、例えば、ワークフローサーバ101の負荷が、予め定められた第3の所定の範囲内である場合、データ取得部451が取得したデータを自装置で処理を実行すると決定する。
一方、第3の決定部452は、例えば、ワークフローサーバ101の負荷が、予め定められた第3の所定の範囲を超えた場合、各ワークフローサーバ101の負荷情報に基づいて、サーバ専用の処理を実行する装置を決定する。なお、サーバ専用の処理を実行する装置の決定処理の例については、フローチャートを用いて後述する。
なお、上記以外の機能構成は、基本的に図4に示す第1の実施形態に係るワークフローサーバ101の機能構成と同様なので、ここでは説明を省略する。
<処理の流れ>
(情報処理システムの処理1)
図13は、第2の実施形態に係る情報処理システムの処理の例を示すシーケンス図(1)である。
ステップS1301〜S1303において、ワークフローサーバ101−1の管理ツール425は、情報処理システム100に含まれる各ワークフローサーバ101、及び各画像形成装置102に、ワークフロー情報900、及び装置情報を通知する。
ステップS1304〜S1306において、ワークフロー情報900、及び装置情報を通知された、各ワークフローサーバ101、及び各画像形成装置102は、通知された情報を記憶部に記憶する。
ステップS1307において、ワークフローサーバ101−1は、ステップS1301〜S1303で通知したワークフロー情報900、及び装置情報を、自装置の記憶部426にも記憶する。
ステップS1308において、画像形成装置102−1の処理部411に含まれるデータ取得部431は、利用者によるスキャン操作(画像の読取操作)を受け付けるものとする。
ステップS1309において、スキャン操作を受付したデータ取得部431は、プラットフォーム部412にスキャンを要求する。
ステップS1310において、プラットフォーム部412は、画像取得部417を用いてスキャン(画像の読取り)を実行する。
ステップS1311において、プラットフォーム部412は、スキャンされた画像データを処理部411に送信する。
ステップS1312において、画像形成装置102−1の負荷情報管理部1112は、自装置(画像形成装置102−1)の負荷情報(例えば、ワークフロージョブの残数、メモリ使用率、CPU使用率等)を取得する。
続いて、負荷情報管理部1112は、ステップS1300において、情報処理システム100に含まれる他の装置(画像形成装置102、及びワークフローサーバ101)の負荷情報を取得する負荷情報の取得処理を実行する。
一例として、負荷情報管理部1112は、ステップS1313〜S1319の処理を実行する。
別の一例として、負荷情報管理部1112は、ステップS1301〜S1311の処理と並行して(又は非同期で)、ステップS1313〜S1319の処理を実行しておき、記憶部418に記憶した負荷情報1114から、他の装置の負荷情報を取得する。
ここでは、ステップS1313〜S1319に示す、負荷情報の取得処理の一例について説明する。
ステップS1313、S1315、S1317において、画像形成装置102−1の負荷情報管理部1112は、情報処理システム100に含まれる各装置に負荷情報の取得を要求する。
ステップS1314、S1316、S1318において、負荷情報管理部1112は、情報処理システム100に含まれる各装置から、負荷情報を取得する。
ステップS1319において、負荷情報管理部1112は、各装置から取得した負荷情報を、記憶部418の負荷情報1114に記憶する。
ステップS1320において、画像形成装置102−1の第1の決定部432は、共通の処理(第1の処理)を実行する装置を決定する。
(共通の処理を実行する装置の決定処理)
図14は、第2の実施形態に係る共通の処理を実行する装置の決定処理の例を示す図である。この処理は、図13のステップS1319の処理に対応している。
ステップS1401において、画像形成装置102の第1の決定部432は、自装置の負荷が第1の所定の範囲内であるかを判断する。第1の所定の範囲は、自装置の負荷に余裕があるか、余裕がないかを判断するためのしきい値であり、例えば、次のような値が予め定められているものとする。
(第1の所定の範囲)
(1)ワークフロージョブの残数が「1」以下
(2)CPU使用率が50%以下
(3)メモリ利用率が80%以下
第1の決定部432は、画像形成装置102の負荷が、例えば、上記の(1)〜(3)の条件を全て満たすとき、自装置の負荷が第1の所定の範囲内であると判断する。
自装置の負荷が第1の所定の範囲内であると判断された場合、第1の決定部432は、ステップS1408において、自装置を共通の処理を実行する装置に決定する。
一方、負荷が第1の所定の範囲内でないと判断された場合、第1の決定部432は、処理をステップS1402に移行させる。
ステップS1402に移行すると、画像形成装置102の第1の決定部432は、他の装置(画像形成装置102、及びワークフローサーバ101)のうち、負荷が第2の所定の範囲内である装置を抽出する。第2の所定の範囲は、他の装置の負荷に余裕があるか、余裕がないかを判断するためのしきい値であり、例えば、前述した第1の所定の範囲と同じ値が用いられる。なお、第2の所定の範囲は、第1の所定の範囲と異なる範囲(値)であっても良い。
例えば、第1の決定部432は、他の装置(画像形成装置102、及びワークフローサーバ101)のうち、負荷が、上記の(1)〜(3)の条件を全て満たす装置を抽出する。
ステップS1403において、画像形成装置102の第1の決定部432は、ステップS1402において、抽出された他の装置があるかを判断する。
抽出された他の装置がない場合、第1の決定部432は、処理をステップS1408に移行させる。一方、抽出された他の装置がある場合、第1の決定部432は、処理をステップS1404に移行させる。
ステップS1404に移行すると、画像形成装置102の第1の決定部432は、抽出された他の装置の中から、例えば、図12(a)に示すような装置情報1113の「転送優先度」が最も高い他の装置を抽出する。
ステップS1405において、画像形成装置102の第1の決定部432は、ステップS1404で抽出された他の装置が複数あるかを判断する。
抽出された他の装置が複数ない場合、すなわち、抽出された他の装置が1つである場合、第1の決定部432は、処理をステップS1407に移行させる。一方、抽出された他の装置が複数ある場合、第1の決定部432は、処理をステップS1406に移行させる。
ステップS1406に移行すると、画像形成装置102の第1の決定部432は、ステップS1404で抽出された他の装置のうち、例えば、図12(b)に示すような負荷情報1114の「応答時間」が最も短い他の装置を抽出する。
ステップS1407に移行すると、画像形成装置102の第1の決定部432は、ステップS1404〜S1406で抽出された他の装置を、共通の処理を実行する装置に決定する。
このように、画像形成装置102の第1の決定部432は、自装置の負荷が第1の所定の範囲内である場合、自装置を共通の処理を実行する装置に決定する。また、第1の決定部432は、自装置の負荷が第1の所定の範囲を超える場合、負荷が第2の所定の範囲内である他の装置を、共通の処理を実行する装置の候補とする。
なお、図14のステップS1406において、「応答時間」が最も短い他の装置を抽出する処理は一例である。例えば、第1の決定部432は、「ワークフロージョブの残数」が最も少ない他の装置を選択するものであっても良いし、「メモリ使用率」が最も低い他の装置を選択するもの等であっても良い。
(情報処理システムの処理2)
図15は、第2の実施形態に係る情報処理システムの処理の例を示すシーケンス図(2)である。この処理は、例えば、図14に示す処理により、画像形成装置102−2が、共通の処理(第1の処理)を実行する装置に決定された場合の処理の例を示している。
ステップS1501において、画像形成装置102−1の処理部411に含まれるデータ送信部435は、図13のステップS1311で、データ取得部431が取得したデータ(第1のデータ)を含むWFデータを、画像形成装置102−2に送信する。このWFデータには、例えば、データ取得部431が取得したデータ(第1のデータ)、及びワークフローの実行状況(例えば、共通の処理が実行されていないこと)を示す情報等が含まれる。
画像形成装置102−2に送信されたWFデータは、画像形成装置102−2の処理部411に含まれるデータ取得部431によって取得される。
ステップS1502において、画像形成装置102−2の処理部411に含まれる負荷情報管理部1112は、情報処理システム100に含まれる各画像形成装置102、及び各ワークフローサーバ101の負荷情報を取得する。
ステップS1503において、画像形成装置102−2の第1の決定部432は、ワークフローサーバ101−1の管理ツール425から通知されたワークフロー情報900に基づいて、共通の処理のうち、最初の処理(処理1)を実行する装置を決定する。
なお、ここでは、第1の実施形態と同様に、共通の処理のうち、処理1が「PDF変換」処理、処理2が「フォルダ配信」処理、サーバ専用の処理が「メール配信」処理であるものとする。
画像形成装置102−2の第1の決定部432は、例えば、図14に示す共通の処理を実行する装置の決定処理により、処理1(「PDF変換」処理)を実行する装置を決定する。
ここでは、画像形成装置102−2は、図13のステップS1319で、負荷が第2の所定の範囲内であると判断されているため、第1の決定部432は、共通の処理を画像形成装置102−2で実行すると決定するものとする。
ステップS1504において、画像形成装置102−2の処理実行部433は、第1の決定部432で実行すると決定された処理1(「PDF変換」処理)を、データ取得部431が取得したデータ(第1のデータ)に対して実行する。
ステップS1505において、画像形成装置102−2の第1の決定部432は、例えば、図14に示す共通の処理を実行する装置の決定処理により、処理2(「フォルダ配信」処理)を実行する装置を決定する。
ここでは、画像形成装置102−2の第1の決定部432は、ステップS1503と同様に、共通の処理を画像形成装置102−2で実行すると決定するものとする。
ステップS1506において、画像形成装置102−2の処理実行部433は、第1の決定部432で実行すると決定された「フォルダ配信」処理を実行する。
例えば、ステップS1507において、処理実行部433は、ステップS1504でPDF変換されたデータ(ファイル)を、ストレージサーバ104に送信する。
ステップS1508において、ストレージサーバ104に送信されたファイルは、例えば、ストレージサーバ104によって保存処理が行われる。
ステップS1509において、画像形成装置102−2の第2の決定部434は、全ての共通の処理を実行した後で、サーバ専用の処理を実行する装置(ワークフローサーバ101)を決定する。なお、サーバ専用の処理を実行する装置の決定処理の例については後述する。
ステップS1510において、画像形成装置102−2のデータ送信部435は、共通の処理が実行されたデータ(第2のデータ)を含むWFデータを、ステップS1509で決定されたワークフローサーバ101に送信する。
ステップS1017で、WFデータを受信したワークフローサーバ101において、例えば、図10のステップS1018〜S1022に示すようなメール配信処理が実行される。
ステップS1512において、画像形成装置102−2の処理部411は、ステップS1504〜S1510の処理を実行したことを示すログ情報(ジョブログ)を含む完了通知を、画像形成装置102−1に送信する。
ステップS1513において、画像形成装置102−1の処理部411は、画像形成装置102−2から受信した完了通知に含まれるジョブログを、記憶部428に記憶する。
(サーバ専用の処理を実行する装置の決定処理)
図16は、第2の実施形態に係るサーバ専用の処理を実行する装置の決定処理の例を示す図である。この処理は、例えば、図15のステップS1509の処理に対応している。
ステップS1601において、例えば、画像形成装置102の第2の決定部434は、情報処理システム100に含まれる各ワークフローサーバ101の負荷情報を取得する。
ステップS1602において、画像形成装置102の第2の決定部434は、各ワークフローサーバ101のうち、負荷が第3の所定の範囲内である装置を抽出する。第3の所定の範囲は、各ワークフローサーバ101の負荷に余裕があるか、余裕がないかを判断するためのしきい値であり、例えば、次のような値が予め定められているものとする。
(第3の所定の範囲)
(A)ワークフロージョブの残数が「1」以下
(B)CPU使用率が50%以下
(C)メモリ利用率が80%以下
画像形成装置102の第2の決定部434は、ワークフローサーバ101の負荷が、例えば、上記の(A)〜(C)の条件を全て満たすとき、ワークフローサーバ101の負荷が第3の所定の範囲内であると判断する。
なお、第3の所定の範囲は、前述した第1の所定の範囲や、第2の所定の範囲と同じ値であっても良いし、異なる値であっても良い。
ステップS1603において、画像形成装置102の第2の決定部434は、ステップS1602で抽出されたワークフローサーバがあるかを判断する。
抽出されたワークフローサーバ101がある場合、第2の決定部434は、処理をステップS1604に移行させる。一方、抽出されたワークフローサーバ101がない場合、第2の決定部434は、処理をステップS1605に移行させる。
ステップS1604に移行すると、画像形成装置102の第2の決定部434は、ステップS1602で抽出されたワークフローサーバ101の中から、例えば、図12(a)に示すような装置情報1113の「転送優先度」が最も高い他の装置を抽出する。
一方、ステップS1605に移行すると、画像形成装置102の第2の決定部434は、情報処理システム100に含まれる全てのワークフローサーバ101の中から、装置情報1113の「転送優先度」が最も高い他の装置を抽出する。
ステップS1606において、画像形成装置102の第2の決定部434は、ステップS1604、又はステップS1605において抽出されたワークフローサーバ101が複数あるかを判断する。
抽出されたワークフローサーバ101が複数ある場合、第2の決定部434は、処理をステップS1607に移行させる。一方、抽出されたワークフローサーバ101が複数ない場合、例えば、抽出されたワークフローサーバ101が1つである場合、第2の決定部434は、処理をステップS1608に移行させる。
ステップS1607に移行すると、画像形成装置102の第2の決定部434は、ステップS1604又はステップS1605で抽出されたワークフローサーバ101の中から、負荷情報1114の「応答時間」が最も短いワークフローサーバ101を抽出する。
ステップS1608に移行すると、画像形成装置102の第2の決定部434は、ステップS1601〜S1607で抽出されたワークフローサーバ101を、専用の処理を実行する装置に決定する。
このように、画像形成装置102の第2の決定部434は、各ワークフローサーバ101の負荷情報に基づいて、ワークフローサーバ101で実行可能な専用の処理(第2の処置)を実行するワークフローサーバ101を決定する。
また、画像形成装置102の第2の決定部434は、負荷が第3の所定の範囲内であるワークフローサーバ101を、優先的に、専用の処理を実行するワークフローサーバ101の候補とする。
なお、図16のステップS1607において、「応答時間」が最も短いワークフローサーバ101を抽出する処理は一例である。例えば、第2の決定部434は、「ワークフロージョブの残数」が最も少ないワークフローサーバ101を選択するものであっても良いし、「メモリ使用率」が最も低いワークフローサーバ101を選択するもの等であっても良い。
(情報処理システムの処理3)
図17は、第2の実施形態に係る情報処理システムの処理の例を示すシーケンス図(3)である。この処理は、例えば、図14に示す処理により、ワークフローサーバ101−2が、共通の処理(第1の処理)を実行する装置に決定された場合の処理の例を示している。
ステップS1701において、画像形成装置102−1の処理部411に含まれるデータ送信部435は、図13のステップS1311で、データ取得部431が取得したデータ(第1のデータ)を含むWFデータを、ワークフローサーバ101−1に送信する。このWFデータには、例えば、データ取得部431が取得したデータ(第1のデータ)、及びワークフローの実行状況(例えば、共通の処理が実行されていないこと)を示す情報等が含まれる。
ワークフローサーバ101−1に送信されたWFデータは、ワークフローサーバ101−1の処理部421に含まれるデータ取得部451によって取得される。
ステップS1702において、ワークフローサーバ101−1の負荷情報管理部1122は、情報処理システム100に含まれる各画像形成装置102、及び各ワークフローサーバ101負荷情報を取得する。
ステップS1703において、ワークフローサーバ101−1の第3の決定部452は、ワークフロー情報900に基づいて、共通の処理のうち、最初の処理(処理1)を実行する装置を決定する。
なお、ここでは、第1の実施形態と同様に、共通の処理のうち、処理1が「PDF変換」処理、処理2が「フォルダ配信」処理、サーバ専用の処理が「メール配信」処理であるものとする。
ワークフローサーバ101−1の第3の決定部452は、例えば、図14に示す共通の処理を実行する装置の決定処理により、処理1(「PDF変換」処理)を実行する装置を決定する。
ここでは、ワークフローサーバ101−1は、図13のステップS1319で、負荷が第2の所定の範囲内であると判断されているため、第3の決定部452は、共通の処理を自装置(ワークフローサーバ101−1)で実行すると決定するものとする。
ステップS1704において、ワークフローサーバ101−1の処理実行部453は、第3の決定部452で実行すると決定された処理1(「PDF変換」処理)を、データ取得部451が取得したデータ(第1のデータ)に対して実行する。
ステップS1705において、ワークフローサーバ101−1の第3の決定部452は、例えば、図14に示す共通の処理を実行する装置の決定処理により、処理2(「フォルダ配信」処理)を実行する装置を決定する。
ここでは、ワークフローサーバ101−1の第3の決定部452は、ステップS1503と同様に、処理2を自装置(ワークフローサーバ101−1)で実行すると決定するものとする。
ステップS1706において、ワークフローサーバ101−1の処理実行部453は、第3の決定部452で実行すると決定された「フォルダ配信」処理を実行する。
例えば、ステップS1707において、処理実行部453は、ステップS1704でPDF変換されたデータ(ファイル)を、ストレージサーバ104に送信する。
ステップS1708において、ストレージサーバ104に送信されたファイルは、例えば、ストレージサーバ104によって保存処理が行われる。
ステップS1709において、ワークフローサーバ101−1の第3の決定部452は、サーバ専用の処理を実行する装置(ワークフローサーバ101)を決定する。
例えば、ワークフローサーバ101−1の第3の決定部452は、自装置(ワークフローサーバ101−1)の負荷に余裕がある場合、自装置でサーバ専用の処理を実行すると決定する。
一方、ワークフローサーバ101−1の第3の決定部452は、自装置(ワークフローサーバ101−1)の負荷に余裕がない場合、例えば、図16に示すようなサーバ専用の処理を実行する装置の決定処理により、サーバ専用の処理を実行する装置を決定する。
例えば、ワークフローサーバ101−1の第3の決定部452により、自装置でサーバ専用の処理を実行すると決定された場合、ステップS1710〜S1712の処理が実行される。
例えば、ステップS1710において、ワークフローサーバ101−1の処理部421は、ステップS1704〜S1707の処理を実行したことを示すログ情報(ジョブログ)を含む完了通知を、画像形成装置102−1に送信する。
ステップS1711において、画像形成装置102−1の処理部411は、ワークフローサーバ101−1から受信した完了通知に含まれるジョブログを、記憶部418に記憶する。
ステップS1712において、ワークフローサーバ101の処理実行部453は、例えば、図10のステップS1018〜S1022に示すようなメール配信処理を実行する。
一方、例えば、ワークフローサーバ101−1の第3の決定部452により、他のワークフローサーバ101−2でサーバ専用の処理を実行すると決定された場合、ステップS1721〜S1724の処理が実行される。
例えば、ステップS1721において、ワークフローサーバ101−1のデータ送信部454は、共通の処理が実行されたデータ(第2のデータ)を含むWFデータを、ワークフローサーバ101−2に送信する。
ステップS1722において、ワークフローサーバ101−1の処理部421は、ステップS1704〜S1721の処理を実行したことを示すログ情報(ジョブログ)を含む完了通知を、画像形成装置102−1に送信する。
ステップS1723において、画像形成装置102−1の処理部411は、ワークフローサーバ101−1から受信した完了通知に含まれるジョブログを、記憶部418に記憶する。
ステップS1724において、WFデータを受信したワークフローサーバ101−2は、例えば、図10のステップS1018〜S1022に示すようなメール配信処理を実行する。
このように、本実施形態によれば、画像形成装置102は、自装置の負荷に余裕がないとき、共通の処理を他の画像形成装置102、又はワークフローサーバ101に実行させることができる。
また、本実施形態によれば、ワークフローサーバ101は、自装置の負荷に余裕がないとき、受付したサーバ専用の処理を、他のワークフローサーバ101に実行させることができる。
以上、本発明の各実施形態によれば、画像処理装置と情報処理装置とを含み、ワークフローに基づいて処理を実行する情報処理システムにおいて、必要に応じて画像処理装置の処理を他の装置に実行させることができるようになる。