(57)【要約】【課題】ワークフローに基づいてワークフロー処理を実行するジョブ処理システムにおいて、ジョブ処理システム全体で効率良く複数のワークフロー処理を分散処理することができるようにする。【解決手段】複数のジョブ処理装置を含むジョブ処理システムであって、ジョブ処理装置は、ジョブ処理装置が受け付けた第１のジョブのジョブ情報と他のジョブ処理装置が受け付けた第２のジョブのジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、第１のジョブのジョブ情報を他のジョブ処理装置に通知する通知部と、ジョブ情報記憶部に処理が開始されていない前記第１のジョブのジョブ情報が記憶されている場合第１のジョブを実行し、ジョブ情報記憶部に処理が開始されていない第１のジョブのジョブ情報が記憶されていない場合第２のジョブのジョブ情報に基づいて第２のジョブを実行するジョブ実行部と、を有する。【選択図】図４
2018041400.tif 000002
【特許請求の範囲】
【請求項１】
１以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムであって、
前記ジョブ処理装置は、
前記ジョブを受け付けるジョブ受付部と、
当該ジョブ処理装置が受け付けた前記ジョブである第１のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第２のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、
前記第１のジョブが受け付けられたことに応じて、前記第１のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、
前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されている場合、当該第１のジョブを実行し、
前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第２のジョブのジョブ情報に基づいて、当該第２のジョブを実行するジョブ実行部と、
を有するジョブ処理システム。
【請求項２】
前記ジョブ実行部は、
前記第１のジョブの実行を開始したことに応じて、当該第１のジョブのジョブ情報を変更し、
前記通知部は、
前記第１のジョブのジョブ情報が変更された場合、当該ジョブ情報を前記他のジョブ処理装置に通知する請求項１に記載のジョブ処理システム。
【請求項３】
前記ジョブ実行部は、
前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第２のジョブのジョブ情報に基づいて、当該第２のジョブを受け付けた前記他のジョブ処理装置に対して、当該ジョブ処理装置によって当該第２のジョブを実行することを要求する要求情報を送信し、当該他のジョブ処理装置から当該第２のジョブの実行を許可する許可情報を受信した場合、当該他のジョブ処理装置から、当該第２のジョブにおける処理対象のデータを取得する請求項１又は２に記載のジョブ処理システム。
【請求項４】
前記ジョブ実行部は、
当該ジョブ処理装置において前記第２のジョブの実行が完了したとき、当該第２のジョブの実行が完了したことを示す完了通知を、当該第２のジョブの前記処理対象のデータを取得した前記他のジョブ処理装置に通知する請求項３に記載のジョブ処理システム。
【請求項５】
前記ジョブ情報管理部は、
前記他のジョブ処理装置から、前記ジョブ情報記憶部に記憶されている前記第１のジョブを前記他のジョブ処理装置によって実行することを要求する要求情報を受信したときに、前記第１のジョブが処理待ちの状態である場合、
当該要求情報を送信した前記他のジョブ処理装置に、前記第１のジョブの実行を許可する許可情報を送信し、前記ジョブ情報記憶部に記憶されている前記第１のジョブのジョブ情報に、前記第１のジョブの処理が開始されたことを示す情報を記憶する請求項１乃至４のいずれか一項に記載のジョブ処理システム。
【請求項６】
前記ジョブ処理装置は、
前記許可情報を送信した前記他のジョブ処理装置から、前記第１のジョブの実行が完了したことを示す完了情報の通知を受付した場合、
前記ジョブ情報記憶部に記憶した前記第１のジョブのジョブ情報を削除し、
前記第１のジョブの要求元に、前記第１のジョブが完了したことを通知する請求項５に記載のジョブ処理システム。
【請求項７】
前記ジョブ処理装置は、
前記ジョブ情報記憶部に記憶されている前記第２のジョブの処理コストを算出する処理コスト算出部と、
前記ジョブ情報記憶部に処理が開始されていない複数の前記第２のジョブが記憶されている場合、前記処理コスト算出部が算出した前記処理コストを用いて、前記ジョブ実行部で実行する一の前記第２のジョブを決定する実行ジョブ決定部と、
を有する請求項１乃至６のいずれか一項に記載のジョブ処理システム。
【請求項８】
前記ジョブ処理装置の前記処理コスト算出部は、
当該ジョブ処理装置と他のジョブ処理装置との間の通信速度の情報を用いて、前記第２のジョブの処理コストを算出する請求項７に記載のジョブ処理システム。
【請求項９】
前記ジョブ処理装置の前記処理コスト算出部は、
前記第２のジョブに応じた前記ワークフローに定義された前記１つ以上の処理コストの総コストを算出し、
当該ジョブ処理装置と他のジョブ処理装置との間の通信速度の情報と、前記第２のジョブのデータサイズとを用いて通信コストを算出し、
前記算出された前記総コストと、前記通信コストの積を用いて、前記第２のジョブの処理コストを算出する請求項７又は８に記載のジョブ処理システム。
【請求項１０】
前記実行ジョブ決定部は、
前記ジョブ情報記憶部に記憶されている処理を開始していない前記複数の前記第２のジョブの中から、前記処理コスト算出部が算出した前記第２のジョブの処理コストが低い順に前記ジョブ実行部で実行する前記一のジョブを決定する請求項７乃至９のいずれか一項に記載のジョブ処理システム。
【請求項１１】
１以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムの前記ジョブ処理装置であって、
前記ジョブを受け付けるジョブ受付部と、
当該ジョブ処理装置が受け付けた前記ジョブである第１のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第２のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、
前記第１のジョブが受け付けられたことに応じて、前記第１のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、
前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されている場合、当該第１のジョブを実行し、
前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第２のジョブのジョブ情報に基づいて、当該第２のジョブを実行するジョブ実行部と、
を有するジョブ処理装置。
【請求項１２】
１以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムの前記ジョブ処理装置に、
前記ジョブを受け付けるステップと、
当該ジョブ処理装置が受け付けた前記ジョブである第１のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第２のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するステップと、
前記第１のジョブが受け付けられたことに応じて、前記第１のジョブのジョブ情報を前記他のジョブ処理装置に通知するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されている場合、当該第１のジョブを実行するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第２のジョブのジョブ情報に基づいて、当該第２のジョブを実行するステップと、
を実行させるためのプログラム。
【請求項１３】
１以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムにおけるジョブ処理方法であって、
前記ジョブ処理装置が、
前記ジョブを受け付けるステップと、
当該ジョブ処理装置が受け付けた前記ジョブである第１のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第２のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するステップと、
前記第１のジョブが受け付けられたことに応じて、前記第１のジョブのジョブ情報を前記他のジョブ処理装置に通知するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されている場合、当該第１のジョブを実行するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第２のジョブのジョブ情報に基づいて、当該第２のジョブを実行するステップと、
を含むジョブ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ処理システム、ジョブ処理装置、ジョブ処理方法、及びプログラム
に関する。
【背景技術】
【０００２】
例えば、画像形成装置によって文書からスキャンされた画像データや、他の手段によって入力されたデータ等に関して、予め定義されたワークフローに基づいてワークフロー処理（以下、ジョブと呼ぶ）を実行可能なジョブ処理システムが知られている。
【０００３】
また、ジョブを複数のジョブ処理装置へ振り分ける負荷分散装置を有し、実行が要求された複数のジョブをジョブ単位で複数のジョブ処理装置に振り分けて処理するジョブ処理システムが知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されたジョブ処理システムでは、複数の処理を組合せたワークフロー処理は、ワークフローの定義によって、処理に要する時間が異なるため、負荷分散装置がジョブ単位でワークフロー処理をジョブ処理装置へ振り分けることでは、ジョブ処理システム全体の負荷を効率良く分散することは困難である。
【０００５】
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、ワークフローに基づいてワークフロー処理を実行するジョブ処理システムにおいて、ジョブ処理システム全体で効率良く複数のワークフロー処理を分散処理することができるようにする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一実施形態に係るジョブ処理システムは、１以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムであって、前記ジョブ処理装置は、前記ジョブを受け付けるジョブ受付部と、当該ジョブ処理装置が受け付けた前記ジョブである第１のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第２のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、前記第１のジョブが受け付けられたことに応じて、前記第１のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されている場合、当該第１のジョブを実行し、前記ジョブ情報記憶部に、処理が開始されていない前記第１のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第２のジョブのジョブ情報に基づいて、当該第２のジョブを実行するジョブ実行部と、を有する。
【発明の効果】
【０００７】
本発明の一実施形態によれば、ワークフローに基づいてワークフロー処理を実行するジョブ処理システムにおいて、ジョブ処理システム全体で効率良く複数のワークフロー処理を分散処理することができるようになる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係るジョブ処理システムのシステム構成の一例を示す図である。
【図２】一実施形態に係るコンピュータのハードウェア構成例を示す図である。
【図３】一実施形態に係る画像形成装置のハードウェア構成例を示す図である。
【図４】一実施形態に係るジョブ処理システムの機能構成図である。
【図５】一実施形態に係るジョブ処理装置が管理する情報の例を示す図（１）である。
【図６】一実施形態に係るジョブ処理装置が管理する情報の例を示す図（２）である。
【図７】第１の実施形態に係るジョブの実行処理の例を示すフローチャートである。
【図８】第１の実施形態に係るジョブデータの提供処理の例を示すフローチャートである。
【図９】第１の実施形態に係るジョブ処理システムの処理の例を示すシーケンス図（１）である。
【図１０】第１の実施形態に係るジョブ処理システムの処理の例を示すシーケンス図（２）である。
【図１１】第１の実施形態に係る各ジョブ処理装置のジョブキューのイメージを示す図である。
【図１２】第２の実施形態に係るジョブの実行処理の例を示すフローチャートである。
【図１３】第２の実施形態に係る処理コストの計算処理の例を示すフローチャートである。
【図１４】その他の実施形態に係るジョブ処理システムの機能構成図である。
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態について、添付の図面を参照して説明する。
【００１０】
＜システムの構成＞
図１は、一実施形態に係るジョブ処理システムのシステム構成の一例を示す図である。ジョブ処理システム１００は、例えば、インターネット等のネットワーク１０７に接続される複数のジョブ処理装置であるジョブ処理装置Ａ１０１−１、ジョブ処理装置Ｂ１０１−２、及びジョブ処理装置Ｃ１０１−３を含む。なお、以下の説明の中で、複数のジョブ処理装置のうち、任意のジョブ処理装置を示す場合、「ジョブ処理装置１０１」を用いる。また、図１に示すジョブ処理装置１０１の数は一例である。ジョブ処理装置１０１の数は、２つ以上の他の数であっても良い。
【００１１】
図１の例では、ジョブ処理装置Ａ１０１−１は、地域Ａ１０４に設けられており、地域Ａ１０４内のＬＡＮ（Local Area Network）１０３Ａを介して、複数の画像形成装置Ａ１０２−１、及び画像形成装置Ｂ１０２−２と接続されている。なお、地域Ａは、ジョブ処理装置Ａ１０１−１を含むグループの一例である。ジョブ処理装置Ａ１０１−１を含むグループは、例えば、拠点、ビル、フロア、部署等であっても良い。
【００１２】
また、ジョブ処理装置Ｂ１０１−２は、地域Ｂ１０５に設けられており、地域Ｂ１０５内のＬＡＮ１０３Ｂを介して、複数の画像形成装置Ｃ１０２−３、及び画像形成装置Ｄ１０２−４接続されている。なお、地域Ｂは、ジョブ処理装置Ｂ１０１−２を含むグループの一例である。
【００１３】
さらに、ジョブ処理装置Ｃ１０１−３は、地域Ｃ１０６に設けられており、地域Ｃ１０６内のＬＡＮ１０３Ｃを介して、複数の画像形成装置Ｅ１０２−５、及び画像形成装置Ｆ１０２−６接続されている。なお、地域Ｃは、ジョブ処理装置Ｃ１０１−３を含むグループの一例である。
【００１４】
図１の例では、地域ＣのＬＡＮ１０３には、例えば、ＰＣ（Personal Computer）、タブレット端末、又はスマートフォン等の情報端末１０８が接続されている。このように、各地域のＬＡＮには、画像形成装置１０２に加えて（又は代えて）情報端末１０８が接続されていても良い。
【００１５】
上記の構成において、ジョブ処理システム１００は、例えば、画像形成装置１０２によって入力された画像データに対して、利用者が作成（又は選択）したワークフローに基づいて処理を行う。
【００１６】
ワークフローとは、例えば、画像データに対する、入力処理、画像変換処理、出力処理等の各処理（プラグイン）を組合せて、所定の処理を定義したものである。なお、以下の説明の中で、ワークフローで指定された所定の処理の実行単位をジョブと呼ぶ。
【００１７】
例えば、各画像形成装置１０２は、画像形成装置１０２に入力された画像データ（ジョブのデータ）と、実行するワークフローの情報（ジョブの情報）とを、同じ地域内のジョブ処理装置１０１に送信する。
【００１８】
ジョブ処理システム１００は、複数の画像形成装置１０２から、各地域のジョブ処理装置１０１に送信された複数のジョブを、複数のジョブ処理装置１０１で分散して処理を実行する。例えば、ジョブ処理装置Ａ１０１−１は、ジョブＡを実行中に、画像形成装置Ａ１０２−１から他のジョブＢを受付すると、受付したジョブＢの情報を自装置のジョブキュー（待ち行列）に記憶し、ジョブＢのデータを記憶部に記憶する。
【００１９】
また、ジョブ処理装置Ａ１０１−１は、ジョブ処理装置Ａ１０１−１が受付したジョブＢの情報を、他のジョブ処理装置Ｂ１０１−２、及びジョブ処理装置Ｃ１０１−３に通知する。
【００２０】
通知を受けた他のジョブ処理装置Ｂ１０１−２、及びジョブ処理装置Ｃ１０１−３は、ジョブ処理装置Ａ１０１−１が受付したジョブＢの情報を、それぞれ、自装置のジョブキューに記憶する。
【００２１】
このように、各ジョブ処理装置１０１は、自装置で受付した処理待ちのジョブの情報を自装置のジョブキューに記憶して管理すると共に、自装置で受付した処理待ちのジョブの状態が変化すると、変化したジョブの情報を他のジョブ処理装置１０１に通知する。
【００２２】
これにより、ジョブ処理システム１００の各ジョブ処理装置１０１は、ジョブ処理システム１００全体で処理待ちとなっているジョブの情報を、ジョブキューに記憶して管理することができる。
【００２３】
また、各ジョブ処理装置１０１は、ジョブキューに記憶されているジョブのうち、自装置で受付し、自装置でジョブのデータを記憶しているジョブを優先的に実行する。また、各ジョブ処理装置１０１は、ジョブキューに、自装置で受付したジョブがない場合、ジョブキューに記憶された、他のジョブ処理装置で受付したジョブを取得し、実行する。
【００２４】
これにより、本実施形態によれば、複数のジョブ処理装置１０１がネットワークを介して接続されるジョブ処理システム１００において、ジョブ処理システム全体で効率良く複数のジョブを分散処理することができるようになる。
【００２５】
なお、ジョブ処理システム１００が実行するジョブは、画像形成装置１０２から受付した画像データに対する処理に限られず、例えば、情報端末１０８から受付した文書データに対する処理等であっても良い。
【００２６】
＜ハードウェア構成＞
（ジョブ処理装置、及び情報端末のハードウェア構成）
図１に示すジョブ処理装置１０１、及び情報端末１０８は、一般的なコンピュータの構成を有しているので、ここでは、一般的なコンピュータのハードウェア構成について説明する。
【００２７】
図２は、一実施形態に係るコンピュータのハードウェア構成例を示す図である。コンピュータ２００は、例えば、ＣＰＵ（Central Processing Unit）２０１、ＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３、ストレージ装置２０４、ネットワークＩ／Ｆ２０５、入力装置２０６、表示装置２０７、外部Ｉ／Ｆ２０８、及びバス２０９等を有する。
【００２８】
ＣＰＵ２０１は、ＲＯＭ２０３やストレージ装置２０４等に格納されたプログラムやデータをＲＡＭ２０２上に読み出し、処理を実行することで、コンピュータ２００の各機能を実現する演算装置である。ＲＡＭ２０２は、ＣＰＵ２０１のワークエリア等として用いられる揮発性のメモリである。ＲＯＭ２０３は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。
【００２９】
ストレージ装置２０４は、例えば、ＨＤＤ（Hard Disk Drive）や、ＳＳＤ（Solid State Drive）等の大容量の記憶装置であり、ＯＳ、アプリケーションプログラム、各種のデータ等を記憶する。ネットワークＩ／Ｆ２０５は、コンピュータ２００をネットワーク１０７等に接続するための通信インタフェースである。
【００３０】
入力装置２０６は、例えば、マウス等のポインティングデバイスや、キーボード等の入力デバイスであり、コンピュータ２００に各操作信号を入力するために用いられる。表示装置２０７はディスプレイ等の表示デバイスであり、コンピュータ２００による処理結果等を表示する。
【００３１】
外部Ｉ／Ｆ２０８は、外部装置とのインタフェースである。外部装置には、記録媒体２１０等が含まれる。
【００３２】
バス２０９は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
【００３３】
（画像形成装置のハードウェア構成）
図３は、一実施形態に係る画像形成装置１０２のハードウェア構成例を示す図である。
【００３４】
画像形成装置１０２は、コントローラ３１０、操作パネル３２０、通信Ｉ／Ｆ３３０、プロッタ３４０、スキャナ３５０、及びファクスコントロールユニット（以下、ＦＣＵと呼ぶ）３６０等を有する。
【００３５】
コントローラ３１０は、ＣＰＵ３１１、ＲＡＭ３１２、ＲＯＭ３１３、ＮＶＲＡＭ（Non-Volatile RAM）３１４、及びＨＤＤ３１５等を含む。
【００３６】
ＲＯＭ３１３は、各種プログラムやデータを格納している不揮発性の記憶装置である。ＲＡＭ３１２は、プログラムやデータを一時保持する揮発性の記憶装置である。ＮＶＲＡＭ３１４は、例えば設定情報等を格納する書き込み可能な不揮発性の記憶装置である。ＨＤＤ３１５は、各種プログラムやデータを格納している大容量の記憶装置である。
【００３７】
ＣＰＵ３１１は、ＲＯＭ３１３、ＮＶＲＡＭ３１４、ＨＤＤ３１５等からプログラムやデータ、設定情報等をＲＡＭ３１２上に読み出し、処理を実行することで、画像形成装置１０２の全体の制御や機能を実現する演算装置である。
【００３８】
操作パネル３２０は、ユーザからの入力を受付する入力部と、表示を行う表示部とを備えている。通信Ｉ／Ｆ３３０は、画像形成装置１０２をＬＡＮ１３０等のネットワークに接続するインタフェースである。これにより、画像形成装置１０２は、ジョブ処理装置１０１等と通信を行うことができる。
【００３９】
プロッタ３４０は、印刷データを印刷する印刷装置である。スキャナ３５０は、原稿等を読み取る読取装置である。ＦＣＵ３６０は、ファクスデータの送受信を行う。
【００４０】
＜機能構成＞
図４は、一実施形態に係るジョブ処理システムの機能構成図である。ジョブ処理システム１００は、ネットワーク１０７を介して互いに通信可能に接続されるジョブ処理装置Ａ１０１−１、ジョブ処理装置Ｂ１０１−２、及びジョブ処理装置Ｃ１０１−３を含む。
【００４１】
なお、図４において、ジョブ処理装置Ｂ１０１−２、及びジョブ処理装置Ｃ１０１−３は、ジョブ処理装置Ａ１０１−１と同様の機能構成を有しているものとする。また、図４に示すジョブ処理装置１０１の数は一例であり、ジョブ処理システム１００に含まれる複数のジョブ処理装置１０１の数は、２台以上の他の数であっても良い。
【００４２】
ジョブ処理装置１０１は、通信部４０１、ジョブ受付部４０２、ジョブデータ管理部４０３、ジョブ情報管理部４０４、更新情報通知部４０５、ジョブ実行部４０６、実行ジョブ決定部４０７、及び処理コスト算出部４０８等を有する。また、ジョブ処理装置１０１は、ジョブデータ記憶部４１１、ジョブ情報記憶部４１２、ワークフロー情報記憶部４１３、コスト情報記憶部４１４、及び通信速度情報記憶部４１５を有する。
【００４３】
通信部４０１は、ネットワーク１０７を介して、他のジョブ処理装置１０１と通信する手段であり、例えば、図２のネットワークＩ／Ｆ２０５、及び図２のＣＰＵ２０１で実行されるプログラム等によって実現される。
【００４４】
ジョブ受付部４０２は、画像形成装置１０２、又は情報端末１０８等の端末装置から、処理対象となるデータに、指定された１つ以上の処理を実行するジョブを受付する手段であり、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。ジョブ受付部４０２が受付するジョブには、例えば、画像形成装置１０２に入力された画像データ（ジョブのデータ）、及び実行するワークフローの情報（ジョブの情報）等が含まれる。
【００４５】
ジョブデータ管理部４０３は、ジョブ受付部４０２が受付したジョブのデータ（例えば、画像データ、文書データ等）を、ジョブデータ記憶部４１１に記憶して、管理する手段であり、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。また、ジョブデータ管理部４０３は、他のジョブ処理装置１０１からのジョブのデータの取得要求に応じて、ジョブデータ記憶部４１１に記憶したジョブのデータを提供する処理も行う。
【００４６】
ジョブ情報管理部４０４は、ジョブ処理装置１０１が受け付けたジョブである第１のジョブの実行に関するジョブ情報と、他のジョブ処理装置１０１から送信され、他のジョブ処理装置が受け付けたジョブである第２のジョブの実行に関するジョブ情報とを、ジョブ情報記憶部４１２に記憶して、管理する。ジョブ情報管理部４０４は、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００４７】
なお、以下の説明の中で、ジョブ処理装置１０１が、自装置でジョブのデータを受け付けて管理するジョブを「第１のジョブ」と呼び、他のジョブ処理装置１０１が、ジョブのデータを受け付けて管理するジョブを「第２のジョブ」と呼ぶ。
【００４８】
ジョブ情報管理部４０４が、ジョブ情報記憶部４１２に記憶して、管理するジョブキューの一例のイメージを図５（ａ）に示す。
【００４９】
図５（ａ）の例では、ジョブキュー５０１には、「ジョブＩＤ」、「ジョブの要求元」、「ジョブデータのサイズ」、「実行するワークフロー」、「ジョブを処理するジョブ処理装置」、「ジョブの状態」、「ジョブの開始日時」等の情報が含まれる。
【００５０】
「ジョブＩＤ」の情報は、ジョブを識別するための識別情報であり、例えば、ジョブを受付したジョブ処理装置１０１のジョブ情報管理部４０４がユニークな値を付与する。図５（ａ）の例では、ジョブＩＤの先頭の文字は、ジョブを受付したジョブ処理装置１０１に対応している。例えば、「Ａ」は、ジョブ処理装置Ａ１０１−１が受付したジョブであり、「Ｃ」は、ジョブ処理装置Ｃ１０１−３が受付したジョブである。
【００５１】
ジョブＩＤは、例えば、ジョブデータ管理部４０３が管理するジョブデータと、ジョブ情報管理部４０４が管理するジョブ情報とを対応付けるキーとして用いられる。この場合、ジョブ情報管理部４０４は、ジョブＩＤを用いて、ジョブデータ管理部４０３が管理するジョブデータの中から、ジョブ情報に対応するジョブデータを特定し、取得することができる。
【００５２】
或いは、第１のジョブを受け付けて管理するジョブ処理装置１０１のジョブ情報管理部４０４は、第１のジョブのジョブＩＤと、当該第１のジョブのジョブデータの保存先とを対応付けて管理しておくものであっても良い。
【００５３】
「ジョブの要求元」の情報は、ジョブの要求元の装置（例えば、画像形成装置１０２、情報端末１０８等）の名前や、識別情報等、ジョブを要求した装置を特定するための情報である。
【００５４】
「ジョブを管理するジョブ処理装置」の情報は、ジョブを受付し、ジョブのデータをジョブデータ記憶部４１１に記憶して、管理しているジョブ処理装置１０１を特定するための情報（名前、識別情報等）である。この情報により、ジョブ処理装置１０１は、各ジョブが、自装置でジョブのデータを管理する第１のジョブであるか、他のジョブ処理装置１０１がジョブのデータを管理する第２のジョブであるかを判断することができる。
【００５５】
「ジョブデータのサイズ」の情報は、ジョブのデータ（例えば、画像データ）の大きさを示す情報である。
【００５６】
「実行するワークフロー」の情報は、実行するワークフローを特定するための情報（例えば、ワークフローの名前、識別情報等）である。
【００５７】
「ジョブを処理するジョブ処理装置」の情報は、ジョブキュー５０１に記憶されているジョブを処理するジョブ処理装置１０１が決定されたときに、決定されたジョブ処理装置１０１を特定するための情報（名前、識別情報等）が記憶される。
【００５８】
「ジョブの状態」は、ジョブの状態を示す情報であり、例えば、まだジョブを処理するジョブ処理装置が決まっていない「処理待ち」の状態や、既にジョブを処理するジョブ処理装置１０１が決定した「処理中」の状態等の情報が記憶される。
【００５９】
「ジョブの開始日時」の情報は、例えば、「ジョブの状態」が、「処理待ち」から「処理中」に更新された日時等の情報である。
【００６０】
例えば、図５（ａ）に示すジョブキュー５０１において、ジョブＩＤ「Ａ３」のジョブを処理するジョブ処理装置１０１が、ジョブ処理装置Ｃ１０１−３に決定されると、ジョブキュー５０１は、例えば、図５（ｂ）に示すように更新される。
【００６１】
図５（ｂ）の例では、「ジョブを処理するジョブ処理装置」にジョブを処理するジョブ処理装置Ｃ１０１−３の情報が記憶されて、「ジョブの状態」が処理中となり、「ジョブの開始日時」が記録されている。
【００６２】
ジョブ情報管理部４０４は、ジョブ処理装置１０１がジョブのデータを管理する第１のジョブの情報、及び他のジョブ処理装置１０１から通知される第２のジョブの情報を、例えば、図５（ａ）、（ｂ）に示すようなジョブキュー５０１に記憶して、管理する。
【００６３】
なお、ジョブキュー５０１は、待ち行列となっており、新たに受付されたジョブは、例えば、ジョブキュー５０１の下側に順次に追加される。また、ジョブキュー５０１では、基本的に、先にジョブキュー５０１に記憶されたジョブ、すなわち、ジョブキュー５０１の上側に記憶されたジョブから順に実行される。ジョブの実行が完了したジョブは、ジョブキュー５０１から削除される。
【００６４】
また、ジョブデータ管理部４０３は、他のジョブ処理装置１０１から、ジョブキュー５０１に記憶した第２のジョブの情報が変更されたことを示す変更情報を受付すると、ジョブキュー５０１に記憶した第２のジョブの情報を更新する。
【００６５】
さらに、ジョブデータ管理部４０３は、ジョブ処理装置１０１が、ジョブのデータを管理する第１のジョブの実行を要求する実行要求を受付したとき、受付した第１のジョブの「ジョブの状態」が処理待ちである場合、実行を許可する許可情報を要求元に返信する。
【００６６】
さらにまた、ジョブデータ管理部４０３は、ジョブ処理装置１０１が、ジョブのデータを管理する第１のジョブの実行を要求する実行要求を受付したとき、受付した第１のジョブの「ジョブの状態」が処理中である場合、実行を拒否する拒否情報を要求元に返信する。
【００６７】
図４に戻り、ジョブ処理装置１０１の機能構成の説明を続ける。
【００６８】
更新情報通知部４０５は、ジョブ情報管理部４０４が管理する第１のジョブの情報が変更された場合、変更された第１のジョブの情報を、他のジョブ処理装置１０１に通知する。更新情報通知部４０５は、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００６９】
例えば、更新情報通知部４０５は、ジョブ情報管理部４０４が管理するジョブキュー５０１に第１のジョブの情報が追加された場合、追加された第１のジョブの情報を含む第１のジョブの更新情報を、他のジョブ処理装置１０１の各々に通知する。また、更新情報通知部４０５は、ジョブキュー５０１に記憶された第１のジョブの情報が変更された場合、変更された第１のジョブの情報を含む第１のジョブの更新情報を、他のジョブ処理装置１０１の各々に通知する。さらに、また、更新情報通知部４０５は、ジョブキュー５０１に記憶された第１のジョブの情報が削除された場合、第１のジョブの情報が削除されたことを示す第１のジョブの更新情報を、他のジョブ処理装置１０１の各々に通知する。
【００７０】
ジョブ実行部４０６は、処理対象となるデータに、ワークフローで指定された１つ以上の処理を含むジョブを実行する手段であり、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００７１】
ジョブ実行部４０６は、ジョブ情報記憶部４１２に記憶されたジョブキュー５０１に、処理が開始されていない処理待ち状態の第１のジョブのジョブ情報が記憶されている場合、処理待ち状態の第１のジョブを、順次に実行する。
【００７２】
また、ジョブ実行部４０６は、ジョブキュー５０１に、処理待ち状態の第１のジョブのジョブ情報が記憶されていない場合、ジョブキュー５０１に記憶されている、処理待ち状態の第２のジョブのジョブ情報に基づいて、第２のジョブのデータを取得し、実行する。
【００７３】
例えば、ジョブ実行部４０６は、ジョブキュー５０１に記憶されている第２のジョブの情報に基づいて、第２のジョブのデータを管理している他のジョブ処理装置１０１に、第２のジョブの実行を要求する実行要求を送信する。
【００７４】
また、ジョブ実行部４０６は、実行要求を送信した他のジョブ処理装置から、第２のジョブの実行を許可する許可情報を受信した場合、他のジョブ処理装置から、第２のジョブのデータを取得し、実行する。さらに、ジョブ実行部４０６は、第２のジョブの実行が完了すると、第２のジョブの実行が完了したことを示す完了通知を、第２のジョブのデータを取得した他のジョブ処理装置１０１に通知する。
【００７５】
なお、ジョブ実行部４０６は、例えば、図５（ａ）、（ｂ）に示すジョブキュー５０１の「実行するワークフロー」の情報と、ワークフロー情報記憶部４１３に記憶されたワークフロー情報とに基づいて、各ジョブの処理内容を特定することができる。ワークフロー情報記憶部４１３に記憶されたワークフロー情報の一例のイメージを図５（ｃ）に示す。
【００７６】
図５（ｃ）の例では、ワークフロー情報５０２には、「ワークフロー」の情報と、「ワークフローの内容」の情報とが含まれる。「ワークフロー」の情報は、ワークフローを特定するための情報（名前、識別情報等）である。「ワークフローの内容」の情報は、各ワークフローで実行される１つ以上の処理の実行順序が記憶されている。
【００７７】
例えば、ジョブ実行部４０６は、図５（ａ）に示すジョブキュー５０１において、ジョブＩＤ「Ａ３」のジョブを実行する場合、実行するワークフロー「３」の内容を、ワークフロー情報５０２から取得する。また、ジョブ実行部４０６は、取得したワークフロー「３」の内容に基づいて、ジョブのデータに、画像変換プラグイン、ＯＣＲ（Optical Character Recognition）プラグイン、及びメール送信プラグイン（処理の別の一例）を実行する。なお、以下の説明の中で、ワークフローを構成する各処理をプラグインと呼ぶ場合がある。
【００７８】
実行ジョブ決定部４０７は、ジョブキュー５０１に複数の第２のジョブの情報が記憶されている場合、複数の第２のジョブの中から、ジョブ実行部４０６が実行するジョブを決定する。実行ジョブ決定部４０７は、例えば、図２のＣＰＵ２０１で実行されるプログラムによって実現される。
【００７９】
一例として、実行ジョブ決定部４０７は、ジョブキュー５０１に記憶された複数の第２のジョブのうち、他のジョブよりも先にジョブキュー５０１に記憶された一のジョブを、ジョブ実行部４０６が実行するジョブを決定する。
【００８０】
別の一例として、実行ジョブ決定部４０７は、処理コスト算出部４０８が算出した、複数の第２のジョブの処理コストに基づいて、ジョブ実行部４０６が実行するジョブを決定するものであっても良い。なお、この場合の具体的な決定方法については、第２の実施形態で後述する。
【００８１】
処理コスト算出部４０８は、コスト情報記憶部４１４に記憶されたプラグインのコスト情報や、通信速度情報記憶部４１５に記憶された他のジョブ処理装置１０１との間の通信速度情報等に基づいて、第２のジョブの処理コストを算出する。なお、処理コストの具体的な算出方法については、第２の実施形態で後述する。
【００８２】
図６（ａ）は、コスト情報記憶部４１４に予め記憶されたプラグインのコスト情報のイメージを示している。図６（ａ）に示すように、プラグインのコスト情報６０１には、各プラグイン（処理）が、どのくらいの処理コストを要するのか、その重みを予め登録し、記憶した情報である。
【００８３】
例えば、画像変換プラグインは、画像変換の処理に、他の処理よりも処理時間を要するため、他のプラグインよりも処理コストが高い「１００」が設定されている。一方、メール送信プラグインは、メールの送信処理は、他の処理よりも短い時間で完了するため、他のプラグインよりも処理コストが低い「１０」が設定されている。
【００８４】
図６（ｂ）は、通信速度情報記憶部４１５に予め記憶されたジョブ処理装置１０１間の通信速度情報６０２のイメージを示している。図６（ｂ）に示すように、ジョブ処理装置１０１間の通信速度情報６０２には、各ジョブ処理装置１０１間の通信速度を、予め登録し、記憶した情報である。
【００８５】
なお、ジョブ処理装置１０１間の通信速度情報６０２は、例えば、通信部４０１で計測した実際の通信速度を利用するものであっても良い。
【００８６】
なお、プラグインのコスト情報６０１、及びジョブ処理装置１０１間の通信速度情報６０２の利用方法については、第２の実施形態で後述する。
【００８７】
なお、ジョブデータ記憶部４１１、ジョブ情報記憶部４１２、ワークフロー情報記憶部４１３、コスト情報記憶部４１４、及び通信速度情報記憶部４１５は、例えば、図２のストレージ装置２０４、ＲＡＭ２０２等によって実現される記憶手段である。
【００８８】
［第１の実施形態］
＜処理の流れ＞
続いて、第１の実施形態に係るジョブ処理方法の処理の流れについて説明する。
【００８９】
（ジョブの実行処理）
図７は、第１の実施形態に係るジョブの実行処理の例を示すフローチャートである。この処理は、各ジョブ処理装置１０１におけるジョブの実行処理の例を示している。
【００９０】
ステップＳ７０１において、ジョブ処理装置１０１のジョブ実行部４０６は、ジョブ情報記憶部４１２に記憶されたジョブキュー５０１に、処理待ちの第１のジョブ（第１のジョブの情報）があるか否かを判断する。
【００９１】
ジョブキュー５０１に処理待ちの第１のジョブがない場合、ジョブ実行部４０６は、処理をステップＳ７０８に移行させる。一方、ジョブキュー５０１に処理待ちの第１のジョブがある場合、ジョブ実行部４０６は、処理をステップＳ７０２に移行させる。
【００９２】
ここでは、ジョブキュー５０１に記憶されている第１のジョブが１つであるものとして以下の説明を行う。ジョブキュー５０１に複数の第１のジョブが記憶されている場合は、他の第１のジョブより先にジョブキュー５０１に記憶された１つの第１のジョブに対して、以下の処理を実行すれば良い。
【００９３】
ステップＳ７０２に移行すると、ジョブ情報管理部４０４は、ジョブキュー５０１において、処理待ちとなっている第１のジョブの「ジョブの状態」を、「処理待ち」から「処理中」に変更（更新）する。
【００９４】
ステップＳ７０３において、ジョブ処理装置１０１の更新情報通知部４０５は、ジョブキュー５０１に記憶された第１のジョブの情報が更新されたことを示す第１のジョブの更新情報を、他のジョブ処理装置１０１の各々に通知する。
【００９５】
このとき、他のジョブ処理装置１０１のジョブ情報管理部４０４は、通知されたジョブの更新情報を用いて、自装置のジョブキュー５０１の情報を更新する。
【００９６】
ステップＳ７０４において、ジョブ実行部４０６は、第１のジョブを実行する。例えば、ジョブ実行部４０６は、図５に示すようなジョブキュー５０１の「実行するワークフロー」の情報と、ワークフロー情報５０２の「ワークフローの内容」に従って、ジョブデータ記憶部４１１に記憶された第１のジョブのデータを処理する。
【００９７】
ステップＳ７０５において、ジョブ情報管理部４０４は、ジョブ実行部４０６により実行された第１のジョブの情報をジョブキュー５０１から削除し、ジョブデータ管理部４０３は、第１のジョブのデータをジョブデータ記憶部４１１から削除する。
【００９８】
ステップＳ７０６において、更新情報通知部４０５は、ジョブキュー５０１から第１のジョブが削除されたことを示す第１のジョブの更新情報を、他のジョブ処理装置１０１の各々に通知する。
【００９９】
ステップＳ７０７において、ジョブ受付部４０２（又はジョブ実行部４０６）は、第１のジョブの要求元（例えば、画像形成装置１０２）に、第１のジョブが完了したことを通知する。
【０１００】
一方、ステップＳ７０８に移行すると、ジョブ実行部４０６は、ジョブキュー５０１に処理待ちの第２のジョブ（第２のジョブの情報）があるか否かを判断する。
【０１０１】
ジョブキュー５０１に処理待ちの第２のジョブがない場合、ジョブ実行部４０６は処理を終了させる。一方、ジョブキュー５０１に処理待ちの第２のジョブがある場合、ジョブ実行部４０６は、処理をステップＳ７０９に移行させる。
【０１０２】
ステップＳ７０９に移行すると、ジョブ実行部４０６は、ジョブキュー５０１に記憶された第２のジョブのデータを管理している他のジョブ処理装置に、第２のジョブの実行を要求する実行要求（要求情報）を送信する。
【０１０３】
なお、ここでは、ジョブキュー５０１に記憶されている第２のジョブが１つであるものとして以下の説明を行う。第１の実施形態では、ジョブキュー５０１に複数の第２のジョブが記憶されている場合、例えば、他の第２のジョブより先にジョブキュー５０１に記憶された１つの第２のジョブに対して、以下の処理を実行する。
【０１０４】
ステップＳ７１０において、ジョブ実行部４０６は、第２のジョブのデータを管理する他のジョブ処理装置１０１から、例えば、所定の時間内に第２のジョブの実行を許可する許可情報を受信したかを判断する。
【０１０５】
所定の時間内に第２のジョブの実行を許可する許可情報を受信しない場合、例えば、第２のジョブ実行を拒否する拒否情報を受信した場合、或いは許可情報も拒否情報も受信できなかった場合、ジョブ実行部４０６は処理を終了させる。
【０１０６】
一方、所定の時間内に第２のジョブの実行を許可する許可情報を受信した場合、ジョブ実行部４０６は、処理をステップＳ７１１に移行させる。
【０１０７】
ステップＳ７１１において、ジョブ実行部４０６は、第２のジョブのデータを管理する他のジョブ処理装置１０１から通知される第２のジョブの更新情報が受信されるのを待つ。また、ジョブ情報管理部４０４は、第２のジョブの更新情報が受信された後、受信された第２のジョブの更新情報に従って、ジョブキュー５０１に記憶した第２のジョブの情報を更新する。
【０１０８】
ステップＳ７１２において、ジョブ実行部４０６は、第２のジョブのデータを管理している他のジョブ処理装置１０１から、第２のジョブのデータを取得する。
【０１０９】
ステップＳ７１３において、ジョブ実行部４０６は、第２のジョブを実行する。例えば、ジョブ実行部４０６は、図５に示すようなジョブキュー５０１の「実行するワークフロー」の情報と、ワークフロー情報５０２の「ワークフローの内容」に従って、ステップＳ７１２で取得した第２のジョブのデータを処理する。
【０１１０】
ステップＳ７１４において、ジョブ実行部４０６は、第２のジョブが完了したことを示す完了情報を、第２のジョブを管理している他のジョブ処理装置１０１に通知する。
【０１１１】
ステップＳ７１５において、ジョブ実行部４０６は、第２のジョブのデータを管理する他のジョブ処理装置１０１から通知される第２のジョブの更新情報が受信されるのを待つ。また、ジョブ情報管理部４０４は、第２のジョブの更新情報が受信された後、受信された第２のジョブの更新情報に従って、ジョブキュー５０１に記憶した第２のジョブの情報、及びステップＳ７１２で取得した第２のジョブのデータを削除する。
【０１１２】
上記の処理に示すように、ジョブ処理装置１０１のジョブ実行部４０６は、ジョブキュー５０１に、ジョブ処理装置１０１でジョブのデータを管理する第１のジョブの情報が記憶されている場合、第１のジョブを実行する。また、ジョブ実行部４０６は、ジョブキュー５０１に第１のジョブのデータが記憶されていない場合、ジョブキュー５０１に記憶されている第２のジョブの情報に基づいて、第２のジョブを実行する。
【０１１３】
また、ジョブ処理装置１０１の更新情報通知部４０５は、ジョブキュー５０１に記憶された第１のジョブの情報が更新（追加、変更、削除等）された場合、第１のジョブが更新されたことを示す更新情報を、他のジョブ処理装置に通知する。
【０１１４】
（ジョブデータの提供処理）
図８は、第１の実施形態に係るジョブデータの提供処理の例を示すフローチャートである。この処理は、ジョブ処理装置１０１が、ジョブのデータを管理している第１のジョブのデータを、他のジョブ処理装置１０１からの実行要求に応じて提供する処理の例を示している。
【０１１５】
ステップＳ８０１において、ジョブ処理装置１０１は、他のジョブ処理装置１０１から、ジョブ処理装置１０１がジョブのデータを管理する第１のジョブの実行を要求する実行要求を受信すると、ステップＳ８０２以降の処理を実行する。
【０１１６】
ステップＳ８０２において、ジョブ処理装置１０１のジョブ情報管理部４０４は、第１のジョブの実行を要求する実行要求を受付すると、ジョブキュー５０１に記憶された第１のジョブの「ジョブの状態」の情報が、処理待ちであるかを判断する。
【０１１７】
第１のジョブの「ジョブの状態」の情報が、処理待ちでない場合（例えば、処理中である場合）、ジョブ情報管理部４０４は、処理をステップＳ８１０に移行させる。ステップＳ８１０に移行すると、ジョブ情報管理部４０４は、第１のジョブの実行を拒否する拒否情報を、実行要求を送信した要求元の他のジョブ処理装置１０１に通知する。
【０１１８】
一方、第１のジョブの「ジョブの状態」の情報が、処理待ちである場合、ジョブ情報管理部４０４は、処理をステップＳ８０３に移行させる。
【０１１９】
ステップＳ８０３に移行すると、ジョブ情報管理部４０４は、第１のジョブの実行を許可する許可情報を、実行要求の要求元の他のジョブ処理装置１０１に通知する。
【０１２０】
ステップＳ８０４において、ジョブ情報管理部４０４は、ジョブキュー５０１に記憶されている第１のジョブの「ジョブの状態」の情報を、例えば、処理中に変更する。
【０１２１】
また、ジョブ情報管理部４０４は、ジョブキュー５０１に記憶されている第１のジョブの「ジョブを処理するジョブ処理装置」の情報に、要求元の他のジョブ処理装置１０１の情報を記憶し、「ジョブの開始日時」の情報を記憶する。
【０１２２】
ステップＳ８０５において、更新情報通知部４０５は、第１のジョブの情報が更新されたことを示す第１のジョブの更新情報を、他のジョブ処理装置１０１の各々に通知する。この更新情報には、更新された第１のジョブの情報が含まれる。
【０１２３】
ステップＳ８０６において、ジョブデータ管理部４０３は、第１のジョブのデータを、前述したジョブＩＤ、又はジョブＩＤに対応するジョブデータの保存先に基づいて取得し、要求元の他のジョブ処理装置１０１に送信する。
【０１２４】
ステップＳ８０７において、ジョブ情報管理部４０４は、要求元の他のジョブ処理装置１０１から送信される第１のジョブの完了通知が受信されるのを待つ。また、第１のジョブの完了通知を受信した後、ジョブ情報管理部４０４は、第１のジョブの情報をジョブキュー５０１から削除し、ジョブデータ管理部４０３は、ジョブデータ記憶部４１１に記憶された第１のジョブのデータを削除する。
【０１２５】
ステップＳ８０８において、更新情報通知部４０５は、第１のジョブの情報がジョブキュー５０１から削除されたことを示す更新情報を、他のジョブ処理装置１０１の各々に通知する。
【０１２６】
ステップＳ８０９において、ジョブ受付部４０２は、第１のジョブの要求元（例えば、画像形成装置１０２）に、第１の情報が完了したことを通知する。
【０１２７】
上記の処理に示すように、ジョブ処理装置１０１は、他のジョブ処理装置１０１から、第１のジョブの実行を要求する実行要求を受信したときに、要求された第１のジョブの状態が処理待ちの状態である場合、ジョブの実行を許可し、ジョブのデータを提供する。
【０１２８】
（ジョブ処理システムの処理）
続いて、ジョブ処理システム１００の処理の例について、シーケンス図を用いて説明する。
【０１２９】
図９、１０は、第１の実施形態に係るジョブ処理システムの例を示すシーケンス図である。また、図１１は、第１の実施形態に係る各ジョブ処理装置のジョブキューのイメージを示す図である。
【０１３０】
図９に示す処理の開始時点における各ジョブ処理装置１０１のジョブキューのイメージを図１１（ａ）に示す。
【０１３１】
図１１において、ジョブ処理装置Ａ１０１−１のジョブキュー１１０１、ジョブ処理装置Ｂ１０１−２のジョブキュー１１０２、ジョブ処理装置Ｃ１０１−３のジョブキュー１１０３は、図５のジョブキュー５０１から、説明に必要な情報を抜粋したものである。
【０１３２】
なお、図１１において、表中の「−」は、情報が格納されていないことを示すものとする。また、図１１の「管理する装置」は、図５のジョブキュー５０１の「ジョブを管理するジョブ処理装置」に対応しており、図１１の「処理する装置」は、図５のジョブキュー５０１の「ジョブを処理するジョブ処理装置」に対応しているものとする。
【０１３３】
図１１（ａ）に示すように、図９に示す処理の開始時点において、各ジョブ処理装置１０１のジョブキュー１１０１、１１０２、１１０３には、ジョブの情報が記憶されていないものとする。
【０１３４】
図９のステップＳ９０１において、例えば、画像形成装置Ａ１０２−１から、ジョブ処理装置Ａ１０１−１に対して、ジョブの実行要求が送信される。
【０１３５】
ステップＳ９０２において、ジョブ処理装置Ａ１０１−１は、画像形成装置Ａ１０２−１から受付けたジョブを、例えば、ジョブＩＤ「Ａ１」として管理する。このとき、ジョブ処理装置Ａ１０１−１は、他のジョブを実行していないので、受付したジョブＩＤ「Ａ１」のジョブを、ジョブキュー１１０１に記憶せずに、すぐに実行する。
【０１３６】
同様に、ステップＳ９０３において、例えば、画像形成装置Ｃ１０２−３から、ジョブ処理装置Ｂ１０１−２に対して、ジョブの実行要求が送信される。
【０１３７】
ステップＳ９０４において、ジョブ処理装置Ｂ１０１−２は、画像形成装置Ａ１０２−３から受付けたジョブを、例えば、ジョブＩＤ「Ｃ１」として管理する。このとき、ジョブ処理装置Ｂ１０１−２は、他のジョブを実行していないので、受付したジョブＩＤ「Ｃ１」のジョブを、ジョブキュー１１０２に記憶せずに、すぐに実行する。
【０１３８】
ステップＳ９０５において、例えば、画像形成装置Ｂ１０２−２から、ジョブ処理装置Ａ１０１−１に対して、ジョブの実行要求が送信される。
【０１３９】
ステップＳ９０６において、ジョブ処理装置Ａ１０１−１は、画像形成装置Ｂ１０２−２から受付けたジョブを、例えば、ジョブＩＤ「Ｂ１」として管理する。このとき、ジョブ処理装置Ａ１０１−１は、他のジョブ（ジョブＩＤ「Ａ１」）を実行しているので、受付したジョブＩＤ「Ｂ１」のジョブをすぐに実行することができない。
【０１４０】
この場合、ジョブ処理装置Ａ１０１−１のジョブ情報管理部４０４は、ジョブＩＤ「Ｂ１」のジョブの情報を、ジョブキュー１１０１に記憶し、ジョブデータ管理部４０３は、ジョブＩＤ「Ｂ１」のジョブのデータを、ジョブデータ記憶部４１１に記憶する。
【０１４１】
このとき、ジョブ処理装置Ａ１０１−１の更新情報通知部４０５は、ジョブ情報管理部４０４によって、ジョブキュー１１０１に第１のジョブが追加されたので、第１のジョブの更新情報を他のジョブ処理装置１０１の各々に通知する。
【０１４２】
ステップＳ９０７において、ジョブ処理装置Ａ１０１−１の更新情報通知部４０５は、ジョブ処理装置Ａ１０１−１のジョブキュー１１０１に、ジョブＩＤ「Ｂ１」のジョブが追加されたことを示すジョブの更新情報を、ジョブ処理装置Ｂ１０１−２に通知する。
【０１４３】
ステップＳ９０８において、ジョブ処理装置Ｂ１０１−２のジョブ情報管理部４０４は、ジョブ処理装置Ａ１０１−１から送信されたジョブの更新情報に基づいて、ジョブＩＤ「Ｂ１」のジョブの情報を、ジョブキュー１１０２に記憶する。
【０１４４】
ステップＳ９０９において、ジョブ処理装置Ａ１０１−１の更新情報通知部４０５は、ジョブ処理装置Ａ１０１−１のジョブキュー１１０１に、ジョブＩＤ「Ｂ１」のジョブが追加されたことを示すジョブの更新情報を、ジョブ処理装置Ｃ１０１−３に通知する。
【０１４５】
ステップＳ９１０において、ジョブ処理装置Ｃ１０１−３のジョブ情報管理部４０４は、ジョブ処理装置Ａ１０１−１から送信されたジョブの更新情報に基づいて、ジョブＩＤ「Ｂ１」のジョブの情報を、ジョブキュー１１０３に記憶する。
【０１４６】
ステップＳ９１０における各ジョブ処理装置１０１のジョブキューのイメージを図１１（ｂ）に示す。図１１（ｂ）に示すように、各ジョブ処理装置１０１のジョブキュー１１０１、１１０２、１１０３には、ジョブＩＤ「Ｂ１」のジョブの情報が、共通に記憶されている。なお、図１１（ｂ）において、「管理する装置」に記憶されている「Ａ」は、ジョブ処理装置Ａ１０１−１を示すものとする。
【０１４７】
ステップＳ９１１において、他のジョブを実行していないジョブ処理装置Ｃ１０１−３は、例えば、図７に示すジョブの実行処理を実行する。ここでは、ジョブ処理装置Ｃ１０１−３のジョブキュー１１０３には、処理待ちの第１のジョブの情報は記憶されておらず、処理待ちの第２のジョブの情報（ジョブＩＤ「Ｂ１」のジョブの情報）が記憶されている。したがって、ジョブ処理装置Ｃ１０１−３のジョブ実行部４０６は、ジョブＩＤ「Ｂ１」のジョブのデータを管理するジョブ処理装置Ａ１０１−１に、ジョブＩＤ「Ｂ１」のジョブの実行を要求する実行要求を送信する。
【０１４８】
ステップＳ９１２において、ジョブ処理装置Ａ１０１−１は、自装置でジョブのデータを管理するジョブＩＤ「Ｂ１」のジョブ（第１のジョブ）の実行要求を受付けると、例えば、図８に示すジョブデータの提供処理を実行する。
【０１４９】
ステップＳ９１２において、ジョブ処理装置Ａ１０１−１のジョブ情報管理部４０４は、実行要求を受付したジョブＩＤ「Ｂ１」のジョブの状態を確認する。ここでは、図１１（ｂ）に示すように、ジョブＩＤ「Ｂ１」のジョブの状態は「処理待ち」である。
【０１５０】
ステップＳ９１３において、ジョブ処理装置Ａ１０１−１のジョブ情報管理部４０４は、ジョブＩＤ「Ｂ１」のジョブの実行を許可する許可情報を、実行要求のジョブ処理装置Ｃ１０１−３に通知する。
【０１５１】
ステップＳ９１４において、ジョブ処理装置Ａ１０１−１のジョブ情報管理部４０４は、ジョブキュー１１０１に記憶されたジョブＩＤ「Ｂ１」のジョブの情報を更新する。例えば、ジョブ処理装置Ａ１０１−１のジョブ情報管理部４０４は、ジョブキュー１１０１に記憶されたジョブＩＤ「Ｂ１」の情報のうち、「処理する装置」の情報に「Ｃ」（ジョブ処理装置Ｃ１０１−３）を記憶し、「ジョブの状態」の情報を「処理中」に変更する。
【０１５２】
このとき、ジョブ処理装置Ａ１０１−１の更新情報通知部４０５は、ジョブ情報管理部４０４によって、ジョブキュー１１０１記憶された第１のジョブの情報が変更されたので、第１のジョブの更新情報を他のジョブ処理装置１０１の各々に通知する。
【０１５３】
ステップＳ９１５において、ジョブ処理装置Ａ１０１−１の更新情報通知部４０５は、ジョブキュー１１０１に記憶されたジョブＩＤ「Ｂ１」のジョブの情報が変更されたことを示すジョブの更新情報を、ジョブ処理装置Ｂ１０１−２に通知する。
【０１５４】
ステップＳ９１６において、ジョブ処理装置Ｂ１０１−２のジョブ情報管理部４０４は、ジョブ処理装置Ａ１０１−１から送信されたジョブの更新情報に基づいて、ジョブキュー１１０２に記憶されたジョブＩＤ「Ｂ１」のジョブの情報を更新する。
【０１５５】
ステップＳ９１７において、ジョブ処理装置Ａ１０１−１の更新情報通知部４０５は、ジョブキュー１１０１に記憶されたジョブＩＤ「Ｂ１」のジョブの情報が変更されたことを示すジョブの更新情報を、ジョブ処理装置Ｃ１０１−３に通知する。
【０１５６】
ステップＳ９１８において、ジョブ処理装置Ｃ１０１−３のジョブ情報管理部４０４は、ジョブ処理装置Ａ１０１−１から送信されたジョブの更新情報に基づいて、ジョブキュー１１０３に記憶されたジョブＩＤ「Ｂ１」のジョブの情報を更新する。
【０１５７】
ステップＳ９１８における各ジョブ処理装置１０１のジョブキューのイメージを図１１（ｃ）に示す。図１１（ｃ）に示すように、各ジョブ処理装置１０１のジョブキュー１１０１、１１０２、１１０３には、ジョブＩＤ「Ｂ１」のジョブの情報が、共通に記憶されている。なお、図１１（ｃ）において、「処理する装置」に記憶されている「Ｃ」は、ジョブ処理装置Ｃ１０１−３を示すものとする。
【０１５８】
ステップＳ９１９において、ジョブ処理装置Ａ１０１−１のジョブデータ管理部４０３は、例えば、ジョブ処理装置Ｃ１０１−１からの要求に応じて、ジョブＩＤ「Ｂ１」のジョブのデータを、例えば、ジョブＩＤに対応するジョブデータの保存先から取得する。また、ジョブ処理装置Ａ１０１−１のジョブデータ管理部４０３は、取得したジョブＩＤ「Ｂ１」のジョブのデータをジョブ処理装置Ｃ１０１−１に送信する。
【０１５９】
ステップＳ９２０において、ジョブ処理装置Ｃ１０１−３のジョブ実行部４０６は、ジョブ処理装置Ａ１０１−１から取得したジョブＩＤ「Ｂ１」のジョブを実行する。
【０１６０】
ステップＳ９２０のジョブの実行が完了すると、図１０のステップＳ９２１において、ジョブ処理装置Ｃ１０１−３のジョブ実行部４０６は、ジョブ処理装置Ａ１０１−１に、ジョブの実行が完了したことを示す完了通知を通知する。
【０１６１】
ステップＳ９２２において、ジョブ処理装置Ａ１０１−１のジョブ情報管理部４０４は、ジョブ処理装置Ｃ１０１−３からジョブＩＤ「Ｂ１」のジョブの完了通知を受付すると、ジョブキュー１１０１に記憶されたジョブＩＤ「Ｂ１」のジョブの情報を削除する。また、ジョブ処理装置Ａ１０１−１のジョブデータ管理部４０３は、ジョブデータ記憶部４１１に記憶したジョブＩＤ「Ｂ１」のジョブのデータを削除する。
【０１６２】
このとき、ジョブ処理装置Ａ１０１−１の更新情報通知部４０５は、ジョブ情報管理部４０４によって、ジョブキュー１１０１記憶された第１のジョブの情報が変更（削除）されたので、第１のジョブの更新情報を他のジョブ処理装置１０１の各々に通知する。
【０１６３】
ステップＳ９２３において、ジョブ処理装置Ａ１０１−１の更新情報通知部４０５は、ジョブキュー１１０１に記憶されていたジョブＩＤ「Ｂ１」のジョブの情報が削除されたことを示すジョブの更新情報を、ジョブ処理装置Ｂ１０１−２に通知する。
【０１６４】
ステップＳ９２４において、ジョブ処理装置Ｂ１０１−２のジョブ情報管理部４０４は、ジョブ処理装置Ａ１０１−１から送信されたジョブの更新情報に基づいて、ジョブキュー１１０２に記憶されたジョブＩＤ「Ｂ１」のジョブの情報を削除する。
【０１６５】
ステップＳ９２５において、ジョブ処理装置Ａ１０１−１の更新情報通知部４０５は、ジョブキュー１１０１に記憶されていたジョブＩＤ「Ｂ１」のジョブの情報が削除されたことを示すジョブの更新情報を、ジョブ処理装置Ｃ１０１−３に通知する。
【０１６６】
ステップＳ９２６において、ジョブ処理装置Ｃ１０１−３のジョブ情報管理部４０４は、ジョブ処理装置Ａ１０１−１から送信されたジョブの更新情報に基づいて、ジョブキュー１１０３に記憶されたジョブＩＤ「Ｂ１」のジョブの情報を削除する。また、ジョブ処理装置Ｃ１０１−３のジョブデータ管理部４０３は、ジョブＩＤ「Ｂ１」のジョブのデータを削除する。
【０１６７】
ステップＳ９２６における各ジョブ処理装置１０１のジョブキューのイメージを図１１（ｄ）に示す。図１１（ｄ）に示すように、各ジョブ処理装置１０１のジョブキュー１１０１、１１０２、１１０３から、ジョブＩＤ「Ｂ１」のジョブの情報が、共通に削除されている。
【０１６８】
ステップＳ９２７において、ジョブ処理装置Ａ１０１−１のジョブ受付部４０２は、ジョブＩＤ「Ｂ１」のジョブの要求元の画像形成装置Ｂ１０２−２に、ジョブが完了したことを示す完了通知を送信する。
【０１６９】
このように、本実施形態に係るジョブ処理システム１００では、各ジョブ処理装置１０１は、ジョブ処理システム１００で処理待ちとなっているジョブの情報を、ジョブキューに共通に記憶して、管理する。
【０１７０】
また、各ジョブ処理装置１０１は、ジョブキューに、自装置でジョブのデータを管理している第１のジョブの情報がある場合、第１のジョブを実行する。
【０１７１】
さらに、各ジョブ処理装置１０１は、ジョブキューに、第１のジョブの情報がない場合、ジョブキューに記憶された第２のジョブを取得し、実行する。
【０１７２】
上記の処理により、本実施形態によれば、複数のジョブ処理装置１０１がネットワークを介して接続されるジョブ処理システム１００において、ジョブ処理システム１００全体で効率良く複数のジョブを分散処理することができるようになる。
【０１７３】
［第２の実施形態］
第２の実施形態では、ジョブキューに処理待ちの第１のジョブがなく、ジョブキューに処理待ちの複数の第２のジョブがある場合に、ジョブ処理装置１０１が、第２のジョブの処理コストに基づいて、実行する１つのジョブを決定する処理の例について説明する。
【０１７４】
＜機能構成＞
第２の実施形態に係るジョブ処理システムの機能構成は、図４に示す一実施形態に係るジョブ処理システムの構成と同様なので、ここでは、第１の実施形態との相違点を中心に説明を行う。
【０１７５】
処理コスト算出部４０８は、ジョブキューに処理待ちの第１のジョブがなく、ジョブキューに処理待ちの複数の第２のジョブがある場合に、複数の第２のジョブの処理コストを算出する。処理コスト算出部４０８は、例えば、図６（ａ）に示すようなプラグインのコスト情報６０１と、例えば、図６（ｂ）に示すような通信速度情報６０２とを用いて、第２のジョブ毎の処理コストを算出する。
【０１７６】
例えば、処理コスト算出部４０８は、次の式を用いて、第２のジョブの処理コストを計算する。
【０１７７】
（ジョブの処理コスト）＝（実行するプラグインのコストの総和）×（通信コスト）
＝Σプラグインのコスト×（ジョブデータサイズ［MB］×８／通信速度［Mbps］）
なお、上記の式では、ジョブデータサイズに８を乗算することにより、ｂｙｔｅを、ｂｉｔに変換している。
【０１７８】
例えば、ジョブ処理装置Ｃ１０１−３のジョブキューに、図５（ａ）に示すように２つの第２のジョブが記憶されている場合、ジョブ処理装置Ｃ１０１−３の処理コスト算出部４０８は、２つの第２のジョブの処理コストを、以下のように計算する。
【０１７９】
（ジョブＩＤ「Ａ３」の処理コスト）
＝（１００＋８０＋１０）×（（４×１０＾６×８）／（５０×１０＾６））＝１２１．６
（ジョブＩＤ「Ｃ５」の処理コスト）
＝（１００＋１０）×（（５×１０＾６×８）／（２０×１０＾６））＝２２０
実行ジョブ決定部４０７は、ジョブキューに処理待ちの第１のジョブがなく、ジョブキューに処理待ちの複数の第２のジョブがある場合に、処理コスト算出部４０８が算出した第２のジョブ毎の処理コストを用いて、実行する１つの第２のジョブを決定する。
【０１８０】
例えば、実行ジョブ決定部４０７は、処理コスト算出部４０８が算出した第２のジョブ毎の処理コストの値が低い方から順に、実行する１つの第２のジョブを決定する。
【０１８１】
上記の例では、ジョブＩＤ「Ａ３」のコストが、ジョブＩＤ「Ｃ５」の処理コストより低いので、実行ジョブ決定部４０７は、ジョブＩＤ「Ａ３」のジョブを、実行する第２のジョブに決定する。
【０１８２】
＜処理の流れ＞
続いて、第２の実施形態に係るジョブ処理方法の処理の流れについて説明する。
【０１８３】
（ジョブの実行処理）
図１２は、第２の実施形態に係るジョブの実行処理の例を示すフローチャートである。なお、基本的な処理は、図７に示す第１の実施形態に係るジョブ実行処理と同様なので、ここでは、第１の実施形態との相違点を中心に説明を行う。
【０１８４】
ステップＳ７０１において、ジョブ処理装置１０１のジョブ実行部４０６は、ジョブ情報記憶部４１２に記憶されたジョブキュー５０１に、処理待ちの第１のジョブがあるか否かを判断する。
【０１８５】
ジョブキュー５０１に処理待ちの第１のジョブがない場合、ジョブ実行部４０６は、処理をステップＳ７０８に移行させる。
【０１８６】
一方、ジョブキュー５０１に処理待ちの第１のジョブがある場合、ジョブ実行部４０６は、ステップＳ１２０１において、図７のステップＳ７０２〜Ｓ７０７に示す第１のジョブの実行処理を実行する。
【０１８７】
ステップＳ７０８に移行すると、ジョブ実行部４０６は、ジョブキュー５０１に処理待ちの第２のジョブがあるか否かを判断する。
【０１８８】
ジョブキュー５０１に処理待ちの第２のジョブがない場合、ジョブ実行部４０６は処理を終了させる。一方、ジョブキュー５０１に処理待ちの第２のジョブがある場合、ジョブ実行部４０６は、処理をステップＳ１２０２に移行させる。
【０１８９】
ステップＳ１２０２に移行すると、処理コスト算出部４０８は、ジョブキューに記憶されている第２のジョブ毎の処理コストを算出する。
【０１９０】
ステップＳ１２０３において、実行ジョブ決定部４０７は、候補となる第２のジョブの中から、ジョブの処理コストが最も低い１つの第２のジョブを特定する。
【０１９１】
ステップＳ１２０４において、実行ジョブ決定部４０７は、特定した第２のジョブのデータを管理している他のジョブ処理装置１０１に、特定した第２のジョブの実行を要求する実行要求を送信する。
【０１９２】
ステップＳ１２０５において、実行ジョブ決定部４０７は、例えば、所定の時間内に要求した第２のジョブの実行を許可する許可情報を受信したかを判断する。
【０１９３】
所定の時間内に第２のジョブの実行を許可する許可情報を受信した場合、ジョブ実行部４０６は、ステップＳ１２０８において、例えば、図７のステップＳ７１１〜Ｓ７１５に示す第２のジョブの実行処理を実行する。
【０１９４】
一方、所定の時間内に第２のジョブの実行を許可する許可情報を受信しない場合、実行ジョブ決定部４０７は、処理をステップＳ１２０６に移行させる。
【０１９５】
ステップＳ１２０６において、実行ジョブ決定部４０７は、他に候補となる第２のジョブがあるかを判断する。
【０１９６】
他に候補となる第２のジョブがない場合、実行ジョブ決定部４０７は、処理を終了させる。一方、他に候補となる第２のジョブがある場合、実行ジョブ決定部４０７は、処理をステップＳ１２０７に移行させる。
【０１９７】
ステップＳ１２０７に移行すると、実行ジョブ決定部４０７は、実行が許可されなかった第２のジョブを、候補から除外して、ステップＳ１２０３以降の処理を再度実行する。
【０１９８】
（処理コストの算出処理）
図１３は、第２の実施形態係る処理コストの算出処理の例を示すフローチャートである。
【０１９９】
ステップＳ１３０１において、処理コスト算出部４０８は、例えば、図６（ａ）に示すようなプラグインのコスト情報６０１と、例えば、図５（ｃ）に示すようなワークフロー情報５０２とを用いて、ジョブに含まれるプラグインの総コストを算出する。
【０２００】
ステップＳ１３０２において、処理コスト算出部４０８は、ジョブのデータサイズと、例えば、図６に示すような通信速度情報６０２とを用いて、ジョブの通信速度を算出する。
【０２０１】
ステップＳ１３０３において、処理コスト算出部４０８は、ステップＳ１３０１で算出したプラグインの総コストと、ステップＳ１３０２で算出した通信コストとの積を、ジョブの処理コストとする。
【０２０２】
以上、本実施形態によれば、各ジョブ処理装置１０１は、他のジョブ処理装置１０１がジョブのデータを管理している第２のジョブを実行する際に、他のジョブ処理装置１０１との間の通信速度や、ジョブのデータサイズを考慮して実行するジョブを決定する。
【０２０３】
これにより、本実施形態によれば、複数のジョブ処理装置１０１がネットワークを介して接続されるジョブ処理システム１００において、ジョブ処理システム全体で、さらに効率良く複数のジョブを分散処理することができるようになる。
【０２０４】
＜その他の実施形態＞
図１に示すジョブ処理システム１００のシステム構成、及び図４に示すジョブ処理システム１００の機能構成は一例であり、本実施形態に係るジョブ処理システム１００は、様々なシステム構成が可能である。
【０２０５】
例えば、本実施形態に係るジョブ処理装置１０１は、特許文献１に示されるような負荷分散装置を利用したジョブ処理システムにも、好適に適用することができる。
【０２０６】
図１４は、その他の実施形態に係るジョブ処理システムの機能構成図である。図１４に示すジョブ処理システム１４００は、複数のジョブ処理装置１０１と、ネットワーク１０７を介して接続される負荷分散装置（情報処理装置）１４０１を有している。
【０２０７】
負荷分散装置１４０１は、例えば、特許文献１と同様に、ジョブを複数のジョブ処理装置１０１に振り分けるものとする。
【０２０８】
各ジョブ処理装置１０１は、負荷分散装置１４０１から受付けたジョブの情報を、図４の画像形成装置１０２から受付けたジョブと同様にジョブキューに記憶して、管理する。
【０２０９】
また、各ジョブ処理装置１０１は、自装置でジョブのデータを管理している第１のジョブの情報を、他のジョブ処理装置１０１に通知することにより、ジョブキューの情報を共有する。
【０２１０】
さらに、各ジョブ処理装置１０１は、ジョブキューに処理待ちの第1のジョブがある場合、第１のジョブを実行し、ジョブキューに処理待ちの第１のジョブがない場合、ジョブキューに記憶された第２のジョブの情報に基づいて、第２のジョブを取得し、実行する。
【０２１１】
このようなシステム構成においても、各ジョブ処理装置１０１は、自装置で受付けた第１のジョブがなくなると、他のジョブ処理装置１０１が受付けた第２のジョブを自律的に取得して、実行することができる。したがって、ジョブ処理システム１４００においても、ジョブ処理システム１４００全体で効率良く複数のジョブを分散処理することができる。
【０２１２】
また、図４に示すジョブ処理装置１０１に含まれる機能構成の少なくとも一部は、画像形成装置１０２に含まれていても良い。さらに、図４に示すジョブ処理装置１０１に含まれる各記憶部は、ネットワーク１０７を介して接続されるストレージサーバ等に含まれていても良い。
【符号の説明】
【０２１３】
１００      ジョブ処理システム
１０１      ジョブ処理装置
１０２      画像形成装置
１０７      ネットワーク
４０２      ジョブ受付部
４０４      ジョブ情報管理部
４０５      更新情報通知部
４０６      ジョブ実行部
４０７      実行ジョブ決定部
４０８      処理コスト算出部
４１１      ジョブデータ記憶部
４１２      ジョブ情報記憶部
１４０１    負荷分散装置（情報処理装置）
【先行技術文献】
【特許文献】
【０２１４】
【特許文献１】特開２０１３−１０５２３７号公報
【図１】
2018041400.tif 000003
【図２】
2018041400.tif 000004
【図３】
2018041400.tif 000005
【図４】
2018041400.tif 000006
【図５】
2018041400.tif 000007
【図６】
2018041400.tif 000008
【図７】
2018041400.tif 000009
【図８】
2018041400.tif 000010
【図９】
2018041400.tif 000011
【図１０】
2018041400.tif 000012
【図１１】
2018041400.tif 000013
【図１２】
2018041400.tif 000014
【図１３】
2018041400.tif 000015
【図１４】
2018041400.tif 000016