(57)【要約】【課題】ジョブ実行装置が、ある一のシステムとは異なる別のシステムに属するジョブ管理装置からもジョブを割り当てられることもあり得るという状況下では、ジョブ管理装置は、実際に自システム内のジョブ実行装置にどれだけ負荷がかかっているかを正確には把握できない。【解決手段】ジョブ管理装置１００内の稼動状態情報受信部１１２は、ジョブ実行装置１５０の稼動状態を示す稼動状態情報を複数のジョブ実行装置１５０のそれぞれから受信する。選択部１１４は、当該ジョブ管理装置１００とは異なる別のジョブ管理装置１００からすでにジョブを割り当てられているジョブ実行装置を含む複数のジョブ実行装置の中から、稼動状態情報を用いてジョブの割当先となるジョブ実行装置を選択する。ジョブ実行指示送信部は、選択されたジョブ実行装置に対し、ジョブの実行指示を送信する。【選択図】図２
2008097378.tif 000002
【特許請求の範囲】
【請求項１】
各ジョブを複数のジョブ実行装置のいずれかに割り当てることにより、複数のジョブを前記複数のジョブ実行装置のいずれかに分散して実行させるジョブ管理装置であって、
前記ジョブ実行装置の稼動状態を示す稼動状態情報を前記複数のジョブ実行装置のそれぞれから受信する受信部と、
当該ジョブ管理装置とは異なる別のジョブ管理装置からすでにジョブを割り当てられているジョブ実行装置を含む前記複数のジョブ実行装置の中から、前記稼動状態情報を用いてジョブの割当先となるジョブ実行装置を選択する選択部と、
前記選択されたジョブ実行装置に対し、ジョブの実行指示を送信する送信部と、
を備えることを特徴とするジョブ管理装置。
【請求項２】
各ジョブ実行装置とその装置の稼動状態を示す稼動状態情報を数値化した稼動状態値とをそれぞれ対応付けた稼動状態管理テーブルを保持する稼動状態管理テーブル保持部と、
前記受信された稼動状態情報を参照し、前記稼動状態情報を送信したジョブ実行装置に対応した稼動状態値を更新する更新部と、
をさらに備え、
前記選択部は、前記稼動状態管理テーブルに保持された稼動状態値を参照して、ジョブの割当先となるジョブ実行装置を選択することを特徴とする請求項１に記載のジョブ管理装置。
【請求項３】
前記受信部は、前記稼動状態情報としてジョブの開始又は終了を示すジョブ開始終了情報を受信するものであり、
前記稼動状態値は、ジョブ実行装置で稼動しているジョブの総数であって、
前記更新部は、前記受信されたジョブ開始終了情報を参照し、前記ジョブ開始終了情報を送信したジョブ管理装置に対応したジョブの総数を更新することを特徴とする請求項２に記載のジョブ管理装置。
【請求項４】
各ジョブとそのジョブの属性に応じて定められたジョブ属性値とをそれぞれ、あらかじめ対応づけたジョブ管理テーブルを保持するジョブ管理テーブル保持部をさらに備え、
前記更新部は、
ジョブの開始を示すジョブ開始情報が受信されたとき、前記ジョブ管理テーブルから前記開始されたジョブに対応したジョブ属性値を検索する検索部と、
前記検索されたジョブ属性値に応じて、当該更新部による更新の際に前記ジョブの総数に加算するべきジョブ加算数を算出する算出部と、
を備え、
前記更新部は、前記算出されたジョブ加算数を前記開始されたジョブに対応したジョブの総数に加算することにより、前記ジョブの総数を更新することを特徴とする請求項３に記載のジョブ管理装置。
【請求項５】
前記ジョブの属性は、ジョブの重要度であることを特徴とする請求項４に記載のジョブ管理装置。
【請求項６】
前記ジョブの属性は、過去に実行して得たジョブの実行時間であることを特徴とする請求項４に記載のジョブ管理装置。
【請求項７】
複数のジョブ管理装置のそれぞれから割り当てられたジョブを実行するジョブ実行装置であって、
当該ジョブ実行装置の稼動状態を示す稼動状態情報を前記複数のジョブ管理装置のそれぞれに送信する送信部と、
前記ジョブ管理装置により送信されたジョブの実行指示を受信する受信部と、
前記受信部により受信されたジョブの実行指示を参照して、ジョブを実行するジョブ実行部と、
を備えることを特徴とするジョブ実行装置。
【請求項８】
各ジョブを複数のジョブ実行装置のいずれかに割り当てることにより、複数のジョブを前記複数のジョブ実行装置のいずれかに分散して実行させるジョブ管理装置と、前記ジョブ管理装置から割り当てられたジョブを実行するジョブ実行装置とを含むジョブ管理システムであって、
前記ジョブ管理装置は、
前記ジョブ実行装置の稼動状態を示す稼動状態情報を前記複数のジョブ実行装置のそれぞれから受信する第１受信部と、
当該ジョブ管理装置とは異なる別のジョブ管理装置からすでにジョブを割り当てられているジョブ実行装置を含む前記複数のジョブ実行装置の中から、前記稼動状態情報を参照してジョブの割当先となるジョブ実行装置を選択する選択部と、
前記選択されたジョブ実行装置に対し、ジョブの実行指示を送信する第１送信部と、
を備え、
前記ジョブ実行装置は、
当該ジョブ実行装置の稼動状態情報を前記複数のジョブ実行装置のそれぞれに送信する第２送信部と、
前記第１送信部により送信されたジョブの実行指示を受信する第２受信部と、
前記第２受信部により受信されたジョブの実行指示を参照して、ジョブを実行するジョブ実行部と、
を備えることを特徴とするジョブ管理システム。
【請求項９】
各ジョブを複数のジョブ実行装置のいずれかに割り当てることにより、複数のジョブを前記複数のジョブ実行装置のいずれかに分散して実行させるジョブ管理プログラムであって、
前記ジョブ実行装置の稼動状態を示す稼動状態情報を前記複数のジョブ実行装置のそれぞれから受信する機能と、
当該ジョブ管理装置とは異なる別のジョブ管理装置からすでにジョブを割り当てられているジョブ実行装置を含む前記複数のジョブ実行装置の中から、前記稼動状態情報を用いてジョブの割当先となるジョブ実行装置を選択する機能と、
前記選択されたジョブ実行装置に対し、ジョブの実行指示を送信する機能と、
をコンピュータに発揮させることを特徴とするジョブ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブの実行を管理する技術に関し、特に、コンピュータなどの装置において実行されるジョブをネットワークを介して管理するジョブ管理技術に関する。
【背景技術】
【０００２】
従来では、業務施設内に設置されたジョブ管理装置が、各ジョブ実行装置の負荷状態に関する情報を参照することにより、複数のジョブ実行装置の中から最適なジョブの割当先を選択する技術が開示されている。例えば、特許文献１には、業務施設内において、ジョブ実行装置側にあたるサーバの所在と同サーバの処理能力及び負荷状態とを、ジョブ管理装置側にあたるクライアント側で保持し、そのクライアントが、その処理能力・負荷状態の情報をもとに、ジョブの割当先となるサーバ計算機を選択する技術が開示されている。
【特許文献１】特開平０８−０４４６７７号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、近年では、セキュリティ面や公的機関によるシステム監査を考慮して、業務コンピュータシステムごとに、各ジョブ管理装置が独立してジョブの割当先を管理するようになってきている。この場合、確かに、ジョブ管理装置は、自身が属するシステム（以下、「自システム」という）内のジョブ実行装置に関しては、どのジョブ実行装置にどのジョブを自身が割り当てているかを把握できる。しかしながら、ジョブ実行装置が、ある一のシステムとは異なる別のシステムに属するジョブ管理装置からもジョブを割り当てられることもあり得るという状況下では、ジョブ管理装置は、実際に自システム内のジョブ実行装置に、どれだけ負荷がかかっているかを正確には把握できない。
【０００４】
本発明はこうした状況に鑑みてなされたものであり、その目的は、ジョブ実行装置が、ある一のシステムとは異なる別のシステムに属するジョブ管理装置からもジョブを割り当てられることもあり得る状況下において、ジョブ管理装置が適切なジョブ実行装置を選択する技術を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様のジョブ管理装置は、各ジョブを複数のジョブ実行装置のいずれかに割り当てることにより、複数のジョブを前記複数のジョブ実行装置のいずれかに分散して実行させる。このジョブ管理装置は、ジョブ実行装置の稼動状態を示す稼動状態情報を複数のジョブ実行装置のそれぞれから受信する受信部と、当該ジョブ管理装置とは異なる別のジョブ管理装置からすでにジョブを割り当てられているジョブ実行装置を含む複数のジョブ実行装置の中から、稼動状態情報を用いてジョブの割当先となるジョブ実行装置を選択する選択部と、選択されたジョブ実行装置に対し、ジョブの実行指示を送信する送信部と、を備える。
【０００６】
ジョブ実行装置の稼動状態情報とは、そのジョブ実行装置の稼動状態を直接的に、又は間接的に表す情報である。例えば、その稼動状態を直接的に表したものとして、ジョブ実行装置で稼動しているジョブの総数などが挙げられる。この態様によれば、ジョブ管理装置は、ジョブ実行装置の稼動状態を示す稼動状態情報を複数のジョブ実行装置のそれぞれから受信することにより、各ジョブ実行装置の正確な稼動状態を把握できる。その結果、選択部は、複数のジョブ実行装置の中から適切なジョブ実行装置、例えば、稼動中のジョブ総数が真に最小のジョブ実行装置をジョブの割当先として選択できる。
【０００７】
本発明の別の態様は、ジョブ実行装置である。この装置は、複数のジョブ管理装置のそれぞれから割り当てられたジョブを実行するジョブ実行装置であって、当該ジョブ実行装置の稼動状態を示す稼動状態情報を複数のジョブ管理装置のそれぞれに送信する送信部と、ジョブ管理装置により送信されたジョブの実行指示を受信する受信部と、受信部により受信されたジョブの実行指示を参照して、ジョブを実行するジョブ実行部と、を備える。この態様によれば、ジョブ実行装置は、自身の稼動状態を示す稼動状態情報を複数のジョブ管理装置のそれぞれに送信することにより、各ジョブ管理装置は、ジョブ実行装置の正確な稼動状態を把握できる。
【０００８】
本発明のさらに別の態様は、ジョブ管理システムである。このジョブ管理システムは、各ジョブを複数のジョブ実行装置のいずれかに割り当てることにより、複数のジョブを前記複数のジョブ実行装置のいずれかに分散して実行させるジョブ管理装置と、そのジョブ管理装置から割り当てられたジョブを実行するジョブ実行装置とを含む。このジョブ管理システム内のジョブ管理装置は、ジョブ実行装置の稼動状態を示す稼動状態情報を複数のジョブ実行装置のそれぞれから受信する第１受信部と、当該ジョブ管理装置とは異なる別のジョブ管理装置からすでにジョブを割り当てられているジョブ実行装置を含む複数のジョブ実行装置の中から、稼動状態情報を参照してジョブの割当先となるジョブ実行装置を選択する選択部と、選択されたジョブ実行装置に対し、ジョブの実行指示を送信する第１送信部と、を備える。ジョブ実行装置は、当該ジョブ実行装置の稼動状態情報を複数のジョブ実行装置のそれぞれに送信する第２送信部と、第１送信部により送信されたジョブの実行指示を受信する第２受信部と、第２受信部により受信されたジョブの実行指示を参照して、ジョブを実行するジョブ実行部と、を備える。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明を方法、装置、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、適切なジョブ実行装置をジョブの割当先として選択できる。
【発明を実施するための最良の形態】
【００１１】
実施の形態１
図１は、実施の形態１に係るジョブ管理システムの構成を示す。実施の形態１に係るジョブ管理システム１０は、企業や公共施設などの業務施設に導入され、業務施設内の組織業務を実行管理する。このジョブ管理システム１０は、複数のジョブ管理装置１００および複数のジョブ実行装置１５０を含む。例えば、ジョブ実行装置１５０は業務サーバ、ジョブ管理装置１００はその業務サーバの運用を管理する運用管理サーバとして実装される。その複数のジョブ管理装置１００および複数のジョブ実行装置１５０はイントラネット（Intranet）１２により互いに接続される。
【００１２】
ジョブ管理装置１００は、内部に予め保存された実行スケジュールにしたがって複数のジョブのそれぞれの実行を複数のジョブ実行装置にイントラネット１２を介して指示する。具体的には、ジョブ管理装置１００は、各ジョブを複数のジョブ実行装置のいずれかに割り当てることにより、複数のジョブを前記複数のジョブ実行装置のいずれかに分散して実行させる。例えば、実施の形態１では、ジョブ管理装置１００は、この割り当て処理により、組織業務を複数のジョブ実行装置１５０に分散して実行させる。なお、ジョブの種類によっては、ジョブの割当先となるジョブ実行装置１５０があらかじめ決まっている場合がある。この場合、ジョブ管理装置１００は、その特定されたジョブ実行装置１５０に対して、ジョブを割り当てる。
【００１３】
一方、ジョブ実行装置１５０は、そのジョブ管理装置１００から割り当てられたジョブを実行する。なお、ジョブ管理装置１００およびジョブ実行装置１５０の各構成要素の詳細については後述する。
【００１４】
ここで、図１に示す例では、装置名「ｎｏｄｅ０１」〜「ｎｏｄｅ０５」の複数のジョブ実行装置１５０は、組織ごとにグループ化されている。例えば、第１ジョブ実行装置１５０ａ〜第３ジョブ実行装置１５０ｃは、開発部Ａの第１業務コンピュータシステム１４内に所属し、一方、第３ジョブ実行装置１５０ｃ〜第５ジョブ実行装置１５０ｅは、別の開発部Ｂの第２業務コンピュータシステム１６内に所属している。さらに、図１に示す例では、複数のジョブ管理装置１００のそれぞれは、業務コンピュータシステムごとに設置される。すなわち、第１ジョブ管理装置１００ａは第１業務コンピュータシステム１４内に設置され、一方、第２ジョブ管理装置１００ｂは第２業務コンピュータシステム１６内に設置される。
【００１５】
複数のジョブ管理装置１００、例えば、第１ジョブ管理装置１００ａおよび第２ジョブ管理装置１００ｂは、それぞれ独立して、自身が属する業務コンピュータシステム内、すなわち自システム内の複数のジョブ実行装置１５０のいずれかにジョブを割り当てる。すなわち、第１ジョブ管理装置１００ａは、第１ジョブ実行装置１５０ａ〜第３ジョブ実行装置１５０ｃのいずれかに、一方、第２ジョブ管理装置１００ｂは、第３ジョブ実行装置１５０ｃ〜第５ジョブ実行装置１５０ｅのいずれかにジョブを割り当てることが可能である。しかしながら、ジョブ管理装置１００は、自システム内のジョブ実行装置以外のジョブ実行装置にジョブを割り当てることはできない。これは、セキュリティ面や公的機関によるシステム監査を考慮して、業務コンピュータシステムごとに独立して組織業務を運用することが好ましいためである。
【００１６】
ジョブの割り当ての際、詳細は後述するが、複数のジョブ管理装置１００、例えば、第１ジョブ管理装置１００ａおよび第２ジョブ管理装置１００ｂは、それぞれ、自システム内の各ジョブ実行装置１５０の稼動状態を示す後述の稼動状態情報を用いて、最適な稼動状態のジョブ実行装置１５０を選択する。具体的には、ジョブ管理装置１００は、稼動中のジョブの総数が最小のジョブ実行装置１５０を選択してもよい。
【００１７】
ここで、双方の業務コンピュータシステム間で共有される第３ジョブ実行装置１５０ｃは、自システム以外の他システムのジョブ管理装置からもジョブを割り当てられることもあり得る。このような状況下において、ジョブ管理装置１００は、実際に自システム内のジョブ実行装置１５０の稼動状態を正確に把握できないことがある。これは、ジョブ管理装置１００が所与の稼動状態情報を保持してさえいればこの問題を解決できるとは限らない。そこで、実施の形態１では、第１ジョブ管理装置１００ａや第２ジョブ管理装置１００ｂは、自システム内の各ジョブ実行装置１５０の稼動状態情報をイントラネット１２を介して取得する機能をさらに有する。すなわち、自システム内の各ジョブ実行装置１５０の自己申告により、ジョブ管理装置１００は、ジョブ実行装置１５０の真の稼動状態を把握できる。
【００１８】
図２は、実施の形態１に係るジョブ管理装置とジョブ実行装置の構成を示す。ジョブ管理装置１００は、ジョブ実行制御部１１０と、更新部１２０と、ジョブ管理テーブル保持部１０２と、装置名管理テーブル保持部１０４と、稼動状態管理テーブル保持部１０６とを備える。ジョブ実行制御部１１０は、稼動状態情報受信部１１２と、選択部１１４と、ジョブ実行指示送信部１１６とを備える。一方、ジョブ実行装置１５０は、稼動状態情報送信部１５２と、ジョブ実行指示受信部１５４と、ジョブ実行部１５６とを備える。
【００１９】
これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのＣＰＵ（Central Processing Unit）、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。まず、ジョブ管理装置１００の各構成要素について、図２を用いて詳述する。
【００２０】
ジョブ管理テーブル保持部１０２は、組織業務の基本構成単位として定義されるジョブの実行内容を定義したジョブ定義情報をジョブごとに含むジョブ管理テーブルを保持する。なお、このジョブ管理テーブルや以下に示す各種テーブルについての詳細は後述する。このジョブ定義情報を含むジョブ管理テーブルは、予めシステム管理者により作成され格納される。このジョブ定義情報は、詳細は後述するが、ジョブの親子関係、ジョブの割当先名称や実行スケジュールなどを含む。ジョブの親子関係については、図３に関連して後述する。
【００２１】
ジョブの割当先名称は、そのジョブを割り当てる可能性があるジョブ実行装置又はジョブ実行装置群の名称である。すなわち、そのジョブの割当先が一つであれば、ジョブの割当先名称は、その一のジョブ実行装置１５０の名称になる。一方、複数のジョブ実行装置のいずれかにジョブを割り当てるのであれば、ジョブの割当先名称は、その複数のジョブ実行装置１５０を構成するジョブ実行装置群の名称になる。ジョブ管理装置１００は、ジョブ管理テーブル内のジョブ定義情報を参照して、自システム内の複数のジョブ実行装置１５０のいずれかにジョブを割り当てる。
【００２２】
装置名管理テーブル保持部１０４は、ジョブ管理テーブル内の割当先名称にジョブ実行装置群が設定されている場合、すなわち、複数のジョブ実行装置のいずれかにジョブを割り当てる場合に参照される。この装置名管理テーブル保持部１０４は、ジョブ管理テーブル内に保持されたジョブ実行装置群の名称とその群を構成する各ジョブ実行装置１５０の名称とを対応付けた装置名管理テーブルを保持する。これにより、ジョブ管理装置１００は、ジョブ管理テーブル内に保持されたジョブ実行装置群の名称を参照して、そのジョブ実行装置群に含まれる各ジョブ実行装置１５０の名称を装置名管理テーブルから取得できる。
【００２３】
稼動状態管理テーブル保持部１０６は、各ジョブ実行装置とその装置の稼動状態を示す稼動状態情報を数値化した稼動状態値とをそれぞれ対応付けた稼動状態管理テーブルを保持する。ここで、ジョブ実行装置の稼動状態情報とは、そのジョブ実行装置の稼動状態を直接的に、又は間接的に表す情報である。例えば、その稼動状態を直接的に表したものとして、ジョブ実行装置１５０で稼動しているジョブの総数などが挙げられる。また、稼動状態情報の数値化とは、稼動状態情報を定量的な指標に置換することである。稼動状態情報がもともと定量的な指標を指すのであれば、稼動状態情報と稼動状態値の内容は同一になる。例えば、稼動状態情報が稼動中のジョブの総数を指すのであれば、それを数値化した稼動状態値も稼動中のジョブの総数になる。
【００２４】
一方、ジョブ実行装置の稼動状態を間接的に表したものとして、ジョブの実行開始を示すジョブ開始情報、あるいジョブの実行終了を示すジョブ終了情報などが挙げられる。実施の形態１では、ジョブ開始情報の内容は「ジョブ実行開始」というメッセージ、ジョブ終了情報の内容は「ジョブ実行終了」というメッセージを示す。さらに、稼動状態情報には装置の稼動状態に関連する情報、例えば、その稼動状態を実現した時刻やジョブ実行装置の名称なども含まれる。なお、稼動状態管理テーブル保持部１０６に保持された稼動状態管理テーブル内の稼動中のジョブの総数は、後述の更新部によりその値が更新される。
【００２５】
選択部１１４は、自身のジョブ管理装置とは異なる別のジョブ管理装置からすでにジョブを割り当てられているジョブ実行装置を含む複数のジョブ実行装置の中から、稼動状態情報、例えば稼動中のジョブの総数を用いて、ジョブの割当先となるジョブ実行装置を選択する。具体的には、選択部１１４は、稼動状態管理テーブル保持部１０６に保持された稼動状態管理テーブルを参照することにより、複数のジョブ実行装置のそれぞれの稼動中のジョブの総数を比較し、そのジョブの総数が最小であるジョブ実行装置をジョブの割当先として選択する。すなわち、選択部１１４は、複数のジョブ実行装置１５０の負荷を平準化するよう、ジョブ実行装置を選択する。
【００２６】
ここで、図１を例にとって説明する。図１に示す構成では、「ジョブ管理装置とは異なる別のジョブ管理装置からすでにジョブを割り当てられている」可能性のあるジョブ実行装置は、第３ジョブ実行装置１５０ｃになる。例えば、第１ジョブ管理装置１００ａは、その第３ジョブ実行装置１５０ｃを含む、第１ジョブ実行装置１５０ａ〜第３ジョブ実行装置１５０ｃのそれぞれのジョブの総数を比較して、ジョブの総数が最小であるジョブ実行装置を選択する。
【００２７】
ジョブ実行指示送信部１１６は、選択部１１４により選択されたジョブ実行装置１５０に対し、イントラネット１２を介してジョブの実行指示を送信する。ジョブの実行のためのプログラムデータはあらかじめジョブ実行装置１５０が保持してもよい。あるいは、ジョブ実行指示に際してジョブ管理装置１００からジョブ実行装置１５０にプログラムデータがダウンロードされてもよい。いずれにしても、ジョブ実行指示送信部１１６により送信されたジョブの実行指示をジョブ実行装置１５０が受信したとき、ジョブ実行装置１５０は、実行指示のあったジョブを実行する。
【００２８】
稼動状態情報受信部１１２は、ジョブ実行装置１５０の稼動状態を示す稼動状態情報を複数のジョブ実行装置のそれぞれからイントラネット１２を介して受信する。実施の形態１では、稼動状態情報受信部１１２は、稼動状態情報として、上述のジョブ開始情報又はジョブ終了情報を受信する。
【００２９】
更新部１２０は、稼動状態情報受信部１１２により受信された稼動状態情報を参照し、稼動状態情報を送信したジョブ実行装置に対応した稼動状態値、例えば稼動中のジョブの総数を更新する。具体的には、まず、更新部１２０は、稼動状態情報に含まれる送信先のジョブ実行装置の名称やメッセージの内容を読み出す。次に、更新部１２０は、その送信先のジョブ実行装置の名称を参照し、稼動状態管理テーブルにおいてジョブの総数を更新すべきジョブ実行装置１５０を特定する。最後に、更新部１２０は、そのメッセージの内容を解析し、メッセージが「ジョブ実行開始」であると判断した場合、その特定されたジョブ実行装置１５０に対応したジョブの総数を一つ増加させる。一方、更新部１２０は、そのメッセージの内容を解析し、メッセージが「ジョブ実行終了」であると判断した場合、稼動状態管理テーブル内の、その特定したジョブ実行装置１５０に対応したジョブの総数を一つ減少させる。
【００３０】
次に、ジョブ実行装置１５０の各構成要素について、同図を用いて詳述する。ジョブ実行装置１５０は、稼動状態情報送信部１５２と、ジョブ実行指示受信部１５４と、ジョブ実行部１５６とを備える。
【００３１】
ジョブ実行装置１５０のジョブ実行指示受信部１５４は、ジョブ管理システム１０内の各ジョブ管理装置１００、例えば、第１ジョブ管理装置１００ａや第２ジョブ管理装置１００ｂのジョブ実行指示送信部１１６により送信されたジョブの実行指示をイントラネット１２を介して受信する。ジョブ実行部１５６は、ジョブ管理装置１００のジョブ実行指示送信部１１６により受信されたジョブの実行指示を参照して、ジョブを実行する。
【００３２】
稼動状態情報送信部１５２は、ジョブ実行部１５６によるジョブの実行開始に際し、ジョブ開始情報を複数のジョブ管理装置１００のそれぞれに、イントラネット１２を介して送信する。ここで、稼動状態情報送信部１５２は、ジョブ管理システム１０内のすべてのジョブ管理装置１００に対し、ジョブ開始情報を送信する。すなわち、そのジョブを割り当てたジョブ管理装置１００だけでなく、そのジョブを割り当てていない他のジョブ管理装置１００にもジョブ開始情報を送信する。これにより、ジョブの開始についての情報を、すべてのジョブ管理装置１００間で共有できる。なお、そのジョブ開始情報には、上述のごとく、「ジョブ実行開始」というメッセージやジョブの実行時刻などが含まれる。
【００３３】
また、稼動状態情報送信部１５２は、ジョブの実行終了に際し、ジョブ終了情報を複数のジョブ管理装置１００のそれぞれに送信する。この場合も、送信先は、ジョブ管理システム１０内のすべてのジョブ管理装置１００である。そのジョブ終了情報には、「ジョブ実行終了」というメッセージやジョブの実行時刻が含まれる。
【００３４】
図３は、実施の形態１に係るジョブ管理テーブル保持部に保持されたジョブ管理テーブルの一例を示す。図３に示すごとく、実施の形態１では、５つのジョブが実行対象としてジョブ管理テーブル２００に登録されているが、もちろん、それ以上の数のジョブが登録されていても本発明の主旨および範囲を逸脱しない。
【００３５】
ジョブ管理テーブル２００には、ジョブ名欄２０２、割当先名称欄２０４、起動コマンド名欄２０６、親ジョブ名欄２０８、及び動作状態情報欄２１０が設けられている。ジョブ名欄２０２には、ジョブを一意に識別するためのジョブ名が格納される。割当先名称欄２０４には、一のジョブ実行装置１５０の名称、又は二以上のジョブ実行装置１５０で構成されるジョブ実行装置群の名称が格納される。そのジョブ実行装置群に含まれる複数のジョブ実行装置の装置名は、後述の装置名管理テーブルに別に格納されている。
【００３６】
起動コマンド名欄２０６には、ジョブを起動させるコマンドの名称が格納される。親ジョブ名欄２０８には、親にあたるジョブの名称が格納される。実施の形態１に係るジョブは、親にあたるジョブが実行終了したことを条件として子にあたるジョブが実行されるように、互いに親子関係が定められている。動作状態情報欄２１０には、ジョブの動作状態に関する動作状態情報が格納される。動作状態情報の内容として、例えば、「実行終了」、「稼動中」、及び「起動待ち」などが挙げられる。
【００３７】
第１ジョブ定義情報２１２についていえば、ジョブ名「ｊｏｂ１」のジョブは、ジョブ実行装置群「ｎｏｄｅｇｒｐ０１」を構成する複数のジョブ実行装置のいずれかに割当可能であることを示す。さらに、そのジョブを起動するためのコマンドの名称は「ｂａｔ１」であって、そのジョブの動作状態は「実行終了」であることを示す。また、第２ジョブ定義情報２１４についていえば、ジョブ名「ｊｏｂ２」のジョブは、親にあたるジョブ名「ｊｏｂ１」のジョブの実行終了を条件として実行される。さらに、そのジョブを起動するためのコマンドの名称は「ｂａｔ２」であって、そのジョブの動作状態は「稼動中」であることを示す。なお、ジョブ名「ｊｏｂ３」のジョブの割当先は、「ｎｏｄｅ０３」のジョブ実行装置であるとあらかじめ定められている。
【００３８】
図４は、実施の形態１に係る装置名管理テーブル保持部に保持された装置名管理テーブルの一例を示す。装置名管理テーブル２２０には、割当先名称欄２０４及びジョブ実行装置名欄２２４が設けられている。割当先名称欄２０４には、ジョブ実行装置群を識別するためのジョブ実行装置群の名称が格納される。ジョブ実行装置名欄２２４には、そのジョブ実行装置群を構成する各ジョブ実行装置の名称が格納される。
【００３９】
データ２２６についていえば、割当先となるジョブ実行装置群「ｎｏｄｅｇｒｐ０１」を構成する複数のジョブ実行装置１５０の名称はそれぞれ、「ｎｏｄｅ０１」、「ｎｏｄｅ０２」及び「ｎｏｄｅ０３」であることを示す。
【００４０】
図５は、実施の形態１に係る稼動状態管理テーブル保持部に保持された稼動状態管理テーブルの一例を示す。稼動状態管理テーブル２３０には、ジョブ実行装置名欄２３２、及び稼動中ジョブ数欄２３４が設けられている。ジョブ実行装置名欄２３２にはジョブ実行装置の名称が格納される。稼動中ジョブ数欄２３４にはジョブ実行装置で稼動しているジョブの総数が格納される。データ２４２についていえば、装置名「ｎｏｄｅ０１」のジョブ実行装置で稼動しているジョブの総数が「１０」であることを示す。
【００４１】
図６は、実施の形態１に係るジョブの割当処理の手順を示すフローチャートである。以下、前述の図を用いて、第１ジョブ管理装置１００ａによるジョブの割当処理について説明する。最初に、第１ジョブ管理装置１００ａは、ジョブ管理テーブル２００を参照して、実行対象のジョブとして「ｊｏｂ１」を特定し、そのジョブの第１ジョブ定義情報２１２を取得する（Ｓ１０）。第１ジョブ管理装置１００ａは、その第１ジョブ定義情報２１２を参照して、割当先名称として「ｎｏｄｅｇｒｐ０１」を取得する。第１ジョブ管理装置１００ａは、その割当先名称「ｎｏｄｅｇｒｐ０１」に含まれる各ジョブ実行装置１５０の名称「ｎｏｄｅ１」〜「ｎｏｄｅ３」を装置名管理テーブル２２０から取得する。
【００４２】
第１ジョブ管理装置１００ａの選択部１１４は、稼動状態管理テーブル２３０を参照することにより、複数のジョブ実行装置「ｎｏｄｅ１」〜「ｎｏｄｅ３」のそれぞれのジョブの総数を比較する（Ｓ１２）。選択部１１４は、それぞれのジョブ実行装置の稼動中のジョブの総数を比較した結果、ジョブの総数が最小であるジョブ実行装置、図５に示す例では、第３ジョブ実行装置１５０ｃをジョブの割当先として選択する（Ｓ１４）。ジョブ実行指示送信部１１６は、選択部１１４により選択された第３ジョブ実行装置１５０ｃに対し、イントラネット１２を介してジョブの実行指示を送信する（Ｓ１６）。
【００４３】
第３ジョブ実行装置１５０ｃのジョブ実行指示受信部１５４は、第１ジョブ管理装置１００ａのジョブ実行指示送信部１１６により送信されたジョブの実行指示をイントラネット１２を介して受信する（Ｓ１８）。第３ジョブ実行装置１５０ｃのジョブ実行部１５６は、そのジョブ実行指示受信部１５４により受信されたジョブの実行指示を参照して、ジョブを実行する（Ｓ２０）。具体的には、ジョブ実行部１５６は、ジョブの起動コマンドである「ｂａｔ１」を実行することにより、ジョブの実行を開始する。
【００４４】
第３ジョブ実行装置１５０ｃの稼動状態情報送信部１５２は、ジョブ実行部１５６によるジョブの実行開始に際し、複数のジョブ管理装置１００のそれぞれ、例えば、ジョブ管理システム１０内の各ジョブ管理装置１００、に対しイントラネット１２を介してジョブ開始情報を送信する。すなわち、図１に示す例では、第１ジョブ実行装置１５０ａだけでなく、第２ジョブ実行装置１５０ｂにもジョブ開始情報を送信する（Ｓ２２）。
【００４５】
第１ジョブ管理装置１００ａの稼動状態情報受信部１１２は、第３ジョブ実行装置１５０ｃの稼動状態情報送信部１５２により送信されたジョブ開始情報をイントラネット１２を介して受信する。更新部１２０は、ジョブ開始情報に含まれる送信先のジョブ実行装置の名称、例えば「ｎｏｄｅ３」やメッセージの内容の名称を読み出す。次に、更新部１２０は、その読み出した「ｎｏｄｅ３」を参照し、稼動状態管理テーブル２３０においてジョブの総数を更新すべきジョブ実行装置として、第３ジョブ実行装置１５０ｃを特定する。最後に、更新部１２０は、そのメッセージの内容を解析し、メッセージが「ジョブ実行開始」であると判断した場合、その特定した第３ジョブ実行装置１５０ｃに対応したジョブの総数を一つ増加させる（Ｓ２４）。なお、ジョブ管理システム１０内の他のジョブ管理装置１００も、この受信処理および更新処理を行う。
【００４６】
第３ジョブ実行装置１５０ｃの稼動状態情報送信部１５２は、ジョブの実行終了に際し、複数のジョブ管理装置１００のそれぞれ、例えば、ジョブ管理システム１０内の各ジョブ管理装置１００に対し、イントラネット１２を介してジョブ終了情報を送信する。すなわち、図１に示す例では、第１ジョブ実行装置１５０ａだけでなく、第２ジョブ実行装置１５０ｂにもジョブ終了情報を送信する（Ｓ２６）。
【００４７】
第１ジョブ管理装置１００ａの稼動状態情報受信部１１２は、第３ジョブ実行装置１５０ｃの稼動状態情報送信部１５２により送信されたジョブ終了情報をイントラネット１２を介して受信する。更新部１２０は、ジョブ終了情報に含まれる送信先のジョブ実行装置の名称、例えば「ｎｏｄｅ３」やメッセージの内容の名称を読み出す。次に、更新部１２０は、その読み出した「ｎｏｄｅ３」を参照し、稼動状態管理テーブル２３０においてジョブの総数を更新すべきジョブ実行装置として、第３ジョブ実行装置１５０ｃを特定する。最後に、更新部１２０は、そのメッセージの内容を解析し、メッセージが「ジョブ実行終了」であると判断した場合、その特定した第３ジョブ実行装置１５０ｃに対応したジョブの総数を一つ減少させる（Ｓ２８）。なお、ジョブ管理システム１０内の他のジョブ管理装置１００も、この受信処理および更新処理を行う。以上の処理が、ジョブ管理テーブルに格納された全てのジョブの割り当てが終了するまで繰り返される。
【００４８】
ところで、従来では、ジョブ管理装置１００は、自システム内のジョブ実行装置１５０に関しては、どのジョブ実行装置１５０にどのジョブを自身が割り当てているかを把握することができる。しかしながら、問題は、ジョブ実行装置１５０が、ある一のシステムとは異なる別のシステムに属するジョブ管理装置からもジョブを割り当てられることもあり得るという状況下では、ジョブ管理装置１００は、実際に自システム内のジョブ実行装置１５０に、どれだけ負荷がかかっているかを正確には把握できない。実施の形態１によれば、ジョブ管理装置１００は、各ジョブ実行装置１５０から自己申告により各ジョブ実行装置１５０の負荷に関する情報、例えば、稼動中のジョブ総数を得ている。これにより、ジョブ管理装置１００は、自システムからは負荷をかけていないが、他システムから負荷をかけられているジョブ実行装置１５０でも、「真の負荷のかかり具合」を把握することができ、こういうジョブ実行装置１５０には、なるべくジョブをディスパッチしないようにすることにより、システム全体としてジョブが局在化することを防ぐことができる。その結果、グループ化したジョブ実行装置１５０間で均等にジョブを実行することが可能になり、システムリソースの効率的な利用が可能になる。
【００４９】
実施の形態２
実施の形態１では、ジョブの割当先として、稼動中のジョブの総数が最小であるジョブ実行装置を選択したが、実施の形態２では、ＣＰＵ使用率、メモリ使用率、又は稼動中のプロセスの総数が最小であるジョブ実行装置をジョブの割当先として選択する。ここで、実施の形態２に係るジョブ管理装置１００およびジョブ実行装置１５０は、実施の形態１と同様の構成であるが、それら装置が有する以下の構成要素は、さらに以下の機能を有する。
【００５０】
ジョブ実行装置１５０の稼動状態情報送信部１５２は、所定時間毎、例えば６０秒ごとに、イントラネット１２を介して自身の稼動状態情報を、複数のジョブ管理装置１００のそれぞれ、例えば、ジョブ管理システム１０内の各ジョブ管理装置１００に送信する。ジョブ管理システム１０内のすべてのジョブ管理装置１００に稼動状態情報を送信することにより、自身の稼動状態に関する情報を、すべてのジョブ管理装置１００間で共有できる。また、他の例として、所定時間毎の送信に限らず、各ジョブ実行装置１５０においてジョブが開始、終了したタイミングなど、所定のタイミングに応じて自身の稼動状態情報を送信してもよい。
【００５１】
ところで、実施の形態１では、稼動状態情報送信部１５２により送信される稼動状態情報は、ジョブ開始情報やジョブ終了情報であったが、実施の形態２では、所定時間毎に送信される稼動状態情報は、ジョブ実行装置１５０の稼動状態を定量化した指標である。例えば、その指標は、ジョブ実行装置１５０を構成する各資源の使用率、又はジョブ実行装置で稼動しているプロセスの総数であってよい。ここで、資源の例として、ＣＰＵやメモリなどが挙げられる。また、稼動状態情報送信部１５２は、必要であれば、稼動状態情報の種類を識別するための識別コードを含めて送信してもよい。その結果、受信側の稼動状態情報受信部１１２は、その識別コードを参照することで、その指標がＣＰＵ使用率、メモリ使用率またはプロセスの総数のいずれを表すかを特定できる。
【００５２】
ジョブ管理システム１０内の各ジョブ管理装置１００の稼動状態情報受信部１１２は、稼動状態情報送信部１５２により所定時間毎に送信されたジョブ実行装置１５０の稼動状態情報をイントラネット１２を介して受信する。
【００５３】
更新部１２０は、稼動状態情報受信部１１２により受信された稼動状態値を参照し、稼動状態管理テーブル２３０に格納された、その稼動状態情報を送信したジョブ実行装置１５０に対応した稼動状態値を更新する。例えば、稼動状態情報受信部１１２により、ジョブ実行装置「ｎｏｄｅ１」から、ＣＰＵ使用率として「３０％」という稼動状態値が受信されたとき、更新部１２０は、稼動状態管理テーブル２３０に格納された、「ｎｏｄｅ０１」のＣＰＵ使用率を「３０％」に更新する。
【００５４】
選択部１１４は、各資源の使用率、又はプロセスの総数が最小であるジョブ実行装置をジョブの割当先として選択する。例えば、選択部１１４は、稼動状態管理テーブル２３０に格納された、各ジョブ実行装置のＣＰＵ使用率を比較し、その値が最小であるジョブ実行装置を選択する。メモリ使用率またはプロセスの総数の場合についても、ＣＰＵ使用率の場合と同様の比較選択処理が行われる。
【００５５】
図７は、実施の形態２に係る稼動状態管理テーブルの一例を示す。この稼動状態管理テーブル２３０には、実施の形態１に係る稼動状態管理テーブルと比較して、新たにＣＰＵ使用率欄２３６、メモリ使用率欄２３８及び稼動中プロセス数欄２４０が設けられる。なお、図５において同一の符号を付した構成については適宜説明を省略する。
【００５６】
ＣＰＵ使用率欄２３６にはジョブ実行装置１５０のＣＰＵ使用率が、メモリ使用率欄２３８にはジョブ実行装置１５０のメモリ使用率が、稼動中プロセス数欄２４０にはジョブ実行装置１５０で稼動しているプロセスの総数が格納される。
【００５７】
データ２４４についていえば、装置名「ｎｏｄｅ０１」のジョブ実行装置で稼動しているジョブの総数は「１０」であり、また、そのジョブ実行装置のＣＰＵ使用率、メモリ使用率及び稼動中のプロセス数は、それぞれ、「５０％」、「８０％」及び「１５０」であることを示す。例えば、図３に示す「ｊｏｂ１」を割り当てる場合、選択部１１４は、図４に示す「ｎｏｄｅｇｒｐ０１」を構成するジョブ実行装置「ｎｏｄｅ０１」〜「ｎｏｄｅ０３」の中から、最小のＣＰＵ使用率「１０％」であるジョブ実行装置「ｎｏｄｅ０１」を選択する。
【００５８】
実施の形態２によれば、実施の形態１と同様に、ジョブ管理装置１００は、各ジョブ実行装置１５０から自己申告により各ジョブ実行装置１５０の負荷に関する情報、例えばＣＰＵ使用率、メモリ使用率、又は稼動中のプロセスの総数を得ている。これにより、実施の形態１と同様に、ジョブ管理装置１００は、自システムからは負荷をかけていないが、他システムから負荷をかけられているジョブ実行装置１５０でも、「真の負荷のかかり具合」を把握することができ、こういうジョブ実行装置１５０には、なるべくジョブをディスパッチしないようにすることにより、システム全体としてジョブが局在化することを防ぐことができる。その結果、実施の形態１と同様に、グループ化したジョブ実行装置１５０間で均等にジョブを実行することが可能になり、システムリソースの効率的な利用が可能になる。また、割当先の判断基準として稼動中のジョブの総数だけでなく、ＣＰＵ使用率、メモリ使用率又は稼動中のプロセス数を採用できることにより、割当先の判断基準の選択余地が広がる。
【００５９】
実施の形態３
実施の形態１では、ジョブ開始情報が受信されたとき、更新部１２０はジョブの総数を一つ増加させたが、実施の形態３では、更新部１２０はジョブの属性に応じてその増加数に重み付けを施す。
【００６０】
図８は、実施の形態３に係るジョブ管理装置およびジョブ実行装置を示す。実施の形態３に係るジョブ管理装置１００は、実施の形態１に係るジョブ管理装置１００に対し、ジョブ実行制御部１１０の内部に、新たに受付部１１７と表示部１１８が設けられる。もちろん、この構成も、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。
【００６１】
ジョブ実行制御部１１０は、受付部１１７と表示部１１８とを備える。受付部１１７は、キーボードやマウスなどの外部入力機器を介して、ジョブの属性に応じて定められたジョブ属性値やジョブ名の入力をユーザから受け付ける。ここで、ジョブの属性とは、そのジョブに備わっている固有の性質や特徴であり、例えば、ジョブの重要度やジョブを過去に実行して得た実行時間を指す。表示部１１８は、ユーザからの入力を受け付けるための入力ボックスをジョブ管理装置１００の画面上に表示する。画面入力項目は、例えば、ジョブ名とそのジョブの属性値のセットである。
【００６２】
例えば、ユーザは、ジョブ管理テーブル２００内に登録された複数のジョブを参照し、その複数のジョブの中で重要度が相対的に高いジョブには、相対的に大きな値になるよう、属性値を入力する。入力の際、ユーザは、ジョブ管理テーブル２００内の親ジョブ名欄２０８に格納される親ジョブ名を参照し、親ジョブとして稼動する回数が多いジョブほど重要度の高いジョブと判断してもよい。すなわち、この場合、親ジョブ名欄２０８内に多く出現するジョブほど重要度の高いジョブになる。
【００６３】
また、他の例として、ユーザは、ジョブ管理テーブル２００内に登録された複数のジョブを参照し、過去に実行して得た実行時間が相対的に長い、すなわち負荷のかけ具合が大きいジョブには、相対的に大きな値になるよう属性値を入力してもよい。この場合、ジョブ管理装置１００のジョブ実行履歴保持部（図示せず）は、あらかじめ、過去に実行されたジョブの名称と、そのジョブを過去に実行して得た実行時間との対応関係を実行履歴として、ジョブ実行履歴テーブル内に格納する。なお、このジョブの実行時間はジョブの実行終了の際に稼動状態情報としてジョブ実行装置１５０から取得される。次に、ユーザは、ジョブ管理テーブル２００内に登録された複数のジョブを対象に、ジョブ実行履歴テーブル内に保持された過去のジョブと同じ名称のジョブには、その過去のジョブに対応した実行時間を関連付ける。ユーザは、その複数のジョブの中で、自身が関連付けた実行時間が相対的に長いジョブには、相対的に大きくなるよう属性値を入力する。いずれの例にしても、受付部１１７によりユーザから受け付けたジョブ名およびジョブ属性値は、ジョブ管理テーブル保持部１０２に保持される。
【００６４】
ジョブ管理テーブル保持部１０２は、各ジョブとそのジョブの属性に応じて定められたジョブ属性値とをそれぞれ、あらかじめ対応づけたジョブ管理テーブルを保持する。ジョブ管理テーブルに保持されるジョブ属性値は、受付部１１７によりユーザから入力されたものである。なお、実施の形態３に係るジョブ管理テーブルの詳細については後述する。
【００６５】
更新部１２０は、検索部１２２と算出部１２４とを備える。検索部１２２は、ジョブの開始を示すジョブ開始情報が受信されたとき、そのジョブ開始情報に含まれるジョブ名を参照して、ジョブ管理テーブル２００から実行が開始されたジョブに対応したジョブ属性値を検索する。
【００６６】
算出部１２４は、検索されたジョブ属性値に応じて、当該更新部１２０による更新の際にジョブの総数に加算するべきジョブ加算数を算出する。ここで、実施の形態３に係る算出部１２４は、ジョブ属性値が大きいほど、大きなジョブ加算数を算出する。算出の際に、算出部１２４は、ジョブ属性値が大きくなるほどジョブ加算数が大きくなる比例関数を用いてもよい。例えば、算出部１２４は、ジョブの属性値が「２」であれば、ジョブ加算数として「４」を算出し、一方、ジョブの属性値が「４」であれば、ジョブ加算数として「８」を算出する。他の例として、ジョブ属性値が大きくなるほどジョブ加算数が指数的に大きくなる指数関数を用いてもよい。いずれにしても、更新部１２０は、算出されたジョブ加算数を、稼動状態管理テーブル２３０内に保持された、実行が開始されたジョブに対応したジョブの総数に加算することにより、ジョブの総数を更新する。これにより、重要度が高い、又は過去に実行して得た実行時間が相対的に長いジョブを実行している可能性が高いジョブ実行装置には、新たなジョブが割り当てられにくくなる。
【００６７】
図９は、実施の形態３に係るジョブ管理テーブルの一例を示す。このジョブ管理テーブル２００には、実施の形態１に係るジョブ管理テーブル２００と比較して、新たに属性値欄２１６が設けられる。なお、図３と同一の構成については同一の符号を付し、適宜説明を略す。
【００６８】
属性値欄２１６には受付部１１７によりユーザから受け付けたジョブ属性値が格納される。図９では、ジョブの重要度の大きさ、またはジョブの過去の実行時間の長さについて、「ｊｏｂ５」＜「ｊｏｂ２」、「ｊｏｂ３」、「ｊｏｂ４」＜「ｊｏｂ１」の関係を有するものとする。この場合、本図に示すごとく、ジョブの重要度が大きいほど、またはジョブの過去の実行時間が長いほど大きな値になるよう、属性値が格納されている。
【００６９】
実施の形態３によれば、ジョブ管理装置１００は、重要度が高いジョブが割り当てられている可能性が高い、あるいは処理に時間がかかるようなジョブが割り当てられている可能性が高いジョブ実行装置１５０には、なるべくジョブをディスパッチしないようにすることができる。これにより、そのジョブ実行装置１５０における過負荷を原因とする障害の発生を抑制でき、重要度が高い、又は処理に時間がかかるようなジョブを安全に実行できる。
【００７０】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７１】
このほかにも、請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【００７２】
図１に示す例では、双方の業務コンピュータシステム間で共有されるジョブ実行装置は一つであるが、その数は二以上であってもよく、また、ジョブ管理システム１０内のすべてのジョブ実行装置１５０が双方の業務コンピュータシステム間で共有されてもよい。ジョブ管理システム１０内のすべてのジョブ実行装置１５０が双方の業務コンピュータシステム間で共有される場合、そのすべてのジョブ実行装置１５０は、複数のジョブ管理装置のそれぞれからジョブが割り当てられる可能性がある。
【００７３】
図１に示す例では、業務コンピュータシステムごとに一つのジョブ管理装置１００が設置されたが、変形例として、複数のジョブ管理装置１００が設置されてもよい。また、図１に示す業務コンピュータシステムの数は二つであるが、その数は三以上であってもよい。
【００７４】
実施の形態１では、ジョブ実行装置１５０が、稼動状態を間接的に表した「ジョブの開始情報」および「ジョブの終了情報」をジョブ管理装置１００に送信したが、変形例として、ジョブ実行装置１５０は、稼動状態を直接的に表した稼働中のジョブの総数をジョブ管理装置１００に送信してもよい。この場合、各ジョブ実行装置１５０は、ジョブ管理装置１００のかわりに、その稼動中のジョブ総数を内部で管理し、ジョブの開始またはジョブの終了のタイミングで、各ジョブ管理装置１００に送信してもよい。
【００７５】
実施の形態３では、ユーザがジョブ属性値を決めてジョブ管理装置１００に入力したが、変形例として、ジョブ管理装置１００が内部でそのジョブ属性値を自動的に生成してもよい。この場合、上述の重要度判断処理や関連付け処理は、ジョブ管理装置１００が行う。
【図面の簡単な説明】
【００７６】
【図１】実施の形態１に係るジョブ管理システムの構成を示す図である。
【図２】実施の形態１に係るジョブ管理装置とジョブ実行装置の構成を示す図である。
【図３】実施の形態１に係るジョブ管理テーブル保持部に保持されたジョブ管理テーブルの一例を示す図である。
【図４】実施の形態１に係る装置名管理テーブル保持部に保持された装置名管理テーブルの一例を示す図である。
【図５】実施の形態１に係る稼動状態管理テーブル保持部に保持された稼動状態管理テーブルの一例を示す図である。
【図６】実施の形態１に係るジョブの割当処理の手順を示すフローチャートである。
【図７】実施の形態２に係る稼動状態管理テーブルの一例を示す図である。
【図８】実施の形態３に係るジョブ管理装置およびジョブ実行装置を示す図である。
【図９】実施の形態３に係るジョブ管理テーブルの一例を示す図である。
【符号の説明】
【００７７】
１０  ジョブ管理システム、  １００  ジョブ管理装置、  １０２  ジョブ管理テーブル保持部、  １０６  稼動状態管理テーブル保持部、  １１２  稼動状態情報受信部、  １１４  選択部、  １１６  ジョブ実行指示送信部、  １２０  更新部、  １２２  検索部、  １２４  算出部、  １５０  ジョブ実行装置、  １５２  稼動状態情報送信部、  １５４  ジョブ実行指示受信部、  １５６  ジョブ実行部、  ２００  ジョブ管理テーブル、  ２３０  稼動状態管理テーブル。
【図１】
2008097378.tif 000003
【図２】
2008097378.tif 000004
【図３】
2008097378.tif 000005
【図４】
2008097378.tif 000006
【図５】
2008097378.tif 000007
【図６】
2008097378.tif 000008
【図７】
2008097378.tif 000009
【図８】
2008097378.tif 000010
【図９】
2008097378.tif 000011