JP5325827B2 - ジョブスケジュールシステム、ジョブスケジュール管理方法及びプログラム。 - Google Patents

ジョブスケジュールシステム、ジョブスケジュール管理方法及びプログラム。 Download PDF

Info

Publication number
JP5325827B2
JP5325827B2 JP2010080107A JP2010080107A JP5325827B2 JP 5325827 B2 JP5325827 B2 JP 5325827B2 JP 2010080107 A JP2010080107 A JP 2010080107A JP 2010080107 A JP2010080107 A JP 2010080107A JP 5325827 B2 JP5325827 B2 JP 5325827B2
Authority
JP
Japan
Prior art keywords
job
computer
degree
risk
failure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010080107A
Other languages
English (en)
Other versions
JP2011215661A5 (ja
JP2011215661A (ja
Inventor
昌明 細内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010080107A priority Critical patent/JP5325827B2/ja
Priority to PCT/JP2010/005673 priority patent/WO2011121681A1/ja
Publication of JP2011215661A publication Critical patent/JP2011215661A/ja
Publication of JP2011215661A5 publication Critical patent/JP2011215661A5/ja
Application granted granted Critical
Publication of JP5325827B2 publication Critical patent/JP5325827B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ジョブスケジュールシステム、ジョブスケジュール管理方法及びプログラムに係り、特に、ジョブの障害影響度と実行サーバの障害リスク度を評価し、障害影響度の高いジョブを障害リスク度が低い状態に保った実行サーバで実行させるジョブスケジュールシステム、ジョブスケジュール管理方法及びプログラムに関する。
データを一括処理するバッチ処理の制御単位であるジョブを実行する計算機である実行サーバを選択する方法が、例えば文献1に開示されている。一般的には、各実行サーバの負荷を平均化するように負荷の少ない実行サーバを選択するが、特許文献1に開示された技術では、実行サーバのハードウェアの信頼性をユーザが評価したランクパラメータに基づいて実行サーバを選択する方法を開示している。
また、同時に実行できるジョブ数の最大値である多重度を、ジョブの負荷の大きさとジョブクラスの待ち行列キューのジョブ数とに応じて変更する方法が特許文献2に開示されている。
特開平11−85707号公報 特開2000−215069号公報
ジョブが異常終了した場合に業務へ与える影響の大きさ(影響を与える確率または影響を与えた場合の損失額)である障害影響度は、ジョブにより異なる。所定時間内に終了させないと次の業務を開始できなくなるジョブ、再実行するだけの余裕がないジョブ又はそのまま再実行できず確認や回復処理をしてから再実行が必要なジョブと、後続の業務に影響のないジョブ、数回再実行しても余裕があるジョブ又は自動再実行が可能なジョブとでは、ジョブが異常終了したとき業務に影響を与える確率や影響を与える場合の損害額の大きさが異なる。
一方、実行サーバの障害発生確率も異なる。ハードウェア障害だけでなく、オペレーティングシステム、ミドルウェア或いはユーザアプリケーションなどのソフトウェア障害も考慮する必要がある。ソフトウェアの導入直後や更新直後は、障害発生確率が高い傾向にあり、高負荷時のシステム障害報告例も多い。
ジョブを後続の業務に影響のないように所定時間内に終了させるためには、負荷を平均化して早く終わらせるだけでなく、特に業務に影響を与える度合いの高いジョブに対して、確実に実行させる必要がある。特許文献1の方法では、ユーザが評価した静的なハードウェア障害リスクしか考慮しておらず、動的に変動する障害リスク、ソフトウェア障害リスク及びジョブの障害影響度が考慮されていない。特許文献2のように性能優先で多重度を変更してしまうと、負荷上昇により、障害影響度の高いジョブも含めて障害発生確率が増加し、業務に影響をあたえる確率が増加してしまう。
本発明の目的は、異常終了した場合に業務へ与える影響の大きいジョブの正常終了確率を向上させ、障害が発生した場合の業務への影響を低減することである。
上述の課題を解決するために、本発明の一側面は、複数の計算機から構成される計算機システムにおいて、ジョブが異常終了したときに業務に与える影響の大きさである障害影響度を算出する手段と、計算機の障害発生確率の大きさを示すリスク度を算出する手段と、前記リスク度を有する前記計算機で実行を許容することができるジョブの前記障害影響度の最大値である許容最大障害影響度を求める手段と、前記ジョブの障害影響度が前記許容最大障害影響度以下の前記計算機を選択する手段と、前記ジョブの実行を選択した前記計算機にジョブの実行を依頼する手段と、前記計算機にて前記ジョブを実行する手段と、を有することを特徴とする。
更に本発明の他の側面は、複数の計算機から構成される計算機システムにおいて、ジョブが異常終了したときに業務に与える影響の大きさである障害影響度を算出する手段と、計算機で実行中または実行しようとする少なくとも1つのジョブの前記障害影響度の最大値である最大障害影響度を求める手段と、前記最大障害影響度に対応した多重度を算出する手段と、を有することを特徴とする。
本発明によれば、ジョブの障害影響度と実行サーバの障害リスク度をジョブを投入するごとに評価し、障害影響度の高いジョブを障害リスク度が低い状態に保った実行サーバで実行させるため、異常終了した場合に業務へ与える影響の大きいジョブの正常終了確率を向上させ、障害が発生した場合の業務への影響を低減することができる。
本発明を適用した一実施形態のハードウェア構成を示したブロック図である。 本発明を適用した一実施形態の処理を示したブロックダイアグラム図である。 本発明を適用した一実施形態のジョブ管理テーブル100の構造を示した図である。 本発明を適用した一実施形態のジョブ定義ファイル30の記述例を示した図である。 本発明を適用した一実施形態のサーバ管理テーブル200の構造を示した図である。 本発明を適用した一実施形態の実行サーバ定義ファイル40の記述例を示した図である。 本発明を適用した一実施形態の実行プログラム稼動実績管理テーブル700の構造を示した図である。 本発明を適用した一実施形態の障害影響度算出テーブル300の構造を示した図である。 本発明を適用した一実施形態のリスク度算出テーブル400の構造を示した図である。 本発明を適用した一実施形態の許容最大障害影響度算出テーブル500の構造を示した図である。 本発明を適用した一実施形態の多重度制限率算出テーブル600の構造を示した図である。 本発明を適用した一実施形態のジョブスケジュール処理部1000の処理フローチャート図である。 本発明を適用した一実施形態のジョブスケジュール処理部1000におけるテーブル生成処理の処理フローチャート図である。 本発明を適用した一実施形態のジョブスケジュール処理部1000における実行サーバ選択処理の処理フローチャート図である。 本発明を適用した一実施形態のジョブ実行制御処理部2000の処理フローチャート図である。
以下、各図を参照しながら本発明の実施形態について詳細に説明する。なお、以下の種々の構成は一例であり、特許請求の範囲を限定するものではなく又本実施形態で説明する特徴の全てが、本発明を解決する手段に必須であるとは限らない。
図1は、本発明を適用した計算機システム1のハードウェア構成を示した図である。計算機システム1には、ジョブスケジュール処理部1000のプログラムコードが動作する計算機であるスケジュールサーバ10と、スケジュールサーバ10から要求を受けてジョブを実行するジョブ実行制御処理部2000のプログラムコードが動作する計算機である少なくとも1つの複数の実行サーバ20とが含まれる。
スケジュールサーバ10には、ジョブスケジュール処理部1000のプログラムの命令コードを格納した主記憶装置11a、処理部1000のプログラム命令コードをロードして解釈実行するCPU(Central Processing Unit)12a、通信路2を介して1つないし複数のサーバ20と実行要求や実行結果を送受信する通信インタフェース13a及び入出力インタフェース14aが含まれる。
実行サーバ20には、ジョブ実行制御処理部2000のプログラムの命令コードを格納した主記憶装置11b、処理部2000のプログラムの命令コードをロードして解釈実行するCPU12b及び通信路2を介してスケジュールサーバ10と実行要求や実行結果を送受信する通信インタフェース13bが含まれる。
主記憶装置11aには、ジョブスケジュール処理部1000が割り当てて参照または更新する管理テーブルである、ジョブ管理テーブル100、サーバ管理テーブル200、障害影響度算出テーブル300、リスク度算出テーブル400、許容最大障害影響度算出テーブル500、多重度制限率算出テーブル600及び実行プログラム稼動実績管理テーブル700、が含まれる。
記憶装置15aは、インタフェース14aを介してスケジュールサーバ10からアクセス可能な記憶装置である。記憶装置15aには、ジョブの属性や実行内容が記述された少なくとも1つの定義ファイル30及びサーバ20の名称や属性が記述された実行サーバ定義ファイル40が格納される。
図2に、計算機システム1の処理概要を表したブロックダイアグラムを示す。計算機システム1では、ジョブが異常終了ないし実行サーバ20の障害により継続不可能な状態に陥ったときにジョブを終了目標時刻までに終了できなくなる確率や終了できなくなった場合に業務に影響を与える影響(損失)の大きさの評価ランクを、障害影響度として評価するようになっている。また、サーバ20が障害となりジョブ実行を継続できなくなるサーバ障害発生確率の評価ランクを、リスク度として、負荷などにより動的に変動するためジョブを実行するごとに評価する。障害影響度の高いジョブをリスク度の少ないサーバ20上で実行させることで確実に実行させ、計算機システム1全体の耐障害性を向上させるようになっている。
ジョブの障害影響度は、業務にジョブ定義ファイルから抽出したジョブの属性値を障害影響度算出テーブル300内の条件式に当てはめて算出する。
サーバ20のリスク度は、サーバ20から収集したサーバ情報が示す動的に変動する障害要因の大きさと、稼動実績管理テーブル700が示すサーバ20でのジョブプログラム稼動実績の有無を、リスク度算出テーブル400中の各条件にあてはめて算出する。
ジョブを実行するサーバ20を決定する実行サーバ決定処理では、サーバ20内で同時に実行できるジョブ数の最大値である多重度に余裕があり、ジョブの障害影響度がサーバ20の許容最大障害影響度より小さいサーバ20を、ジョブを実行するサーバ20とする。許容最大障害影響度は、サーバ20で実行を許容できるジョブの障害影響度の最大値であり、サーバ20のリスク度に対応した値を許容最大障害影響度算出テーブル500から求める。
障害となっても影響が比較少ないジョブのために高障害影響度ジョブを低障害リスクで実行できなくなることがないように、障害影響度の高いジョブは、ジョブのスケジュール時間に達していなくても、ジョブを実行するサーバ20を事前に決定する(実行サーバの予約)。
サーバ20の多重度は、サーバ定義ファイル40にて指定された最大多重度を上限として、サーバ20にて実行中のジョブの障害影響度の大きさに応じて制限する。制限する多重度の割合は、多重度制限率算出テーブル600によって求める。実行中のジョブの障害影響度の大きさに応じて多重度を制限することで、低負荷状態で実行させることで、高負荷状態で発生確率が上昇する、リソース不足によるジョブ異常終了や、タイミングにより発生する不良による異常終了などのソフトウェア障害発生頻度を削減し、障害となっては困るジョブを確実に実行させる。
図3に、ジョブ管理テーブル100の構造を示す。ジョブごとに設けられるテーブル100のエントリには、ジョブ名101と、実行プログラム名102と、ジョブ開始時刻103と、終了目標時刻104と、予想実行時間105と、分割可能属性106と、自動再実行可能属性107と、ジョブ重要度ランク111と、障害影響度108と、実行状態109と、実行サーバ名110とが含まれる。
ジョブ名101は、ジョブを計算機システム1内で一意に識別する名称である。実行プログラム名102は、サーバ20でジョブとして起動されるプログラムやコマンドの名称である。ジョブ開始時刻103は、サーバ20に実行依頼した時刻である。終了目標時刻104は、その時刻までにジョブを終了することが望まれるデッドライン時刻である。予想実行時間105は、ジョブの実行時間の見積り値である。
分割可能属性106は、同一ジョブから複数のジョブを生成して、その同一ジョブで処理するデータを分割した一部分のデータを、生成した各ジョブが処理可能とするジョブである場合は「有」に、それ以外では「無」にする。複数のジョブでデータを分割並列処理することで、ジョブの実行時間が短縮され、異常終了した場合の影響は分割不可能なジョブよりも低減することが可能である。
自動再実行可能属性107は、ジョブが実行中に異常終了した場合に、そのジョブを再実行しても問題ない場合は「有」にする。これに対し、そのジョブが状態検査や回復処理などのなんらかのユーザアクションを介在する必要がある場合は「無」にする。
ジョブ重要度ランク111は、ジョブが異常終了して業務に損失を与えた場合の損失額の大きさを評価した数値である。
実行状態109は、ジョブがまだ実行されておらずジョブを実行するサーバ20も決まっていない状態である場合に「未実行」、ジョブはまだ実行されていないが、ジョブを実行するサーバ20は決まっている状態である場合に「予約中」、ジョブをサーバ20に実行依頼して完了通知を受信していない状態である場合に「実行中」又サーバ20から完了通知を受信した状態である場合に「完了」のいずれかの値が登録される。実行サーバ名110は、ジョブを実行中またはジョブの実行先として選択したサーバ20の名称である。
図4に、ジョブ定義ファイル30の記述例を示す。ジョブ名、実行プログラム名、ジョブ開始時刻、終了目標時刻、予想実行時間、分割可能属性及び自動再実行可能属性、などの値を記述する。ジョブ管理テーブルの101〜107および111の要素には、ジョブ定義ファイル30に記述された値が登録される。
図5に、サーバ管理テーブル200の構造を示す。サーバ20ごとに設けられるテーブル200のエントリには、実行サーバ名201と、最大多重度202と、最終更新日時203と、通算稼働時間204と、リスク度205と、許容最大障害影響度206と、最大障害影響度207と、多重度208と、実行ジョブ数209、障害予兆210、ハード信頼度211とが含まれる。
実行サーバ名201は、サーバ20を計算機システム1内で一意に識別する名称である。最大多重度202は、サーバ20で同時実行可能なジョブ数の最大値である。最終更新日時203は、サーバ20を初めて起動した日時と、サーバ20のオペレーティングシステムなどのシステムソフトウェアを最後にモジュール更新または設定変更した日時とのうち現在時刻に近いほうの値である。最大障害影響度207は、サーバ20で実行中またはサーバ20で実行することが予約されたジョブの障害影響度の最大値である。多重度208は、サーバ20で同時実行可能なジョブ数の最大値の現在値である。実行ジョブ数209は、サーバ20で実行中のジョブ数である。
障害予兆210は、サーバ20にて、障害メッセージや統計情報などから、システムダウンまたはサーバ20を構成する部品の故障の可能性があると判断されたときに「有」、ないときに「無」の値が登録される。
ハード信頼度211は、サーバ20の部品などのハードウェアの信頼性の高さをユーザが評価した値である。サーバ20の物理障害確率が高いほど高い値を設定する。
図6に、実行サーバ定義ファイル40の記述例を示す。サーバ20の名称であるサーバ名、サーバ20の多重度の最大値である最大多重度及びサーバ20のハード信頼度などの値を記述する。サーバ管理テーブルの201、202、211には、実行サーバ定義ファイル40に記述された値が登録される。
図7に、実行プログラム稼動実績管理テーブル700の構造を示す。実行プログラム稼動実績管理テーブル700は、サーバ20のリスク度205(図5参照)の値を算出するための指標の1つとして用いられる。実行プログラム稼動実績管理テーブル700の各エントリには、各実行サーバの名称701と、そのサーバ20で実行済のジョブの実行プログラム名702(プログラム名102と同じ値)とのリストを保持する。リストは、サーバ20に問い合わせて取得する。ジョブで動作させるプログラムを一度実行したサーバ20は、そのプログラムを一度も実行していないサーバ20よりも、ジョブが異常終了する確率が低いため、サーバ20のリスク度を判定するための条件の1つとする。
図8に、障害影響度算出テーブル300の構造を示す。テーブル300は、ジョブの障害影響度108の値を算出するための指標として用いられる。テーブル300の各エントリには、ジョブの障害影響度を算出するための条件式である条件301と、条件式にテーブル100の要素101〜106の値をあてはめたときに条件301が成立した場合のジョブの障害影響度302とが含まれる。条件301が成立するすべての障害影響度302の値のうち、最も大きい値が、ジョブの障害影響度108(図3参照)となる。図8では、障害影響度が「3」である、「終了目標時刻−(ジョブ開始時刻+予想実行時間)≦2時間」が最も大きい値である例を示している。
図9に、リスク度算出テーブル400の構造を示す。テーブルリスク度算出テーブル400は、サーバ20のリスク度205の値を算出するための指標として用いられる。リスク度算出テーブル400の各エントリには、サーバ20のリスク度を算出するための条件式である条件401と、条件式にサーバ管理テーブル200の要素203、204、210、211の値をあてはめたときに条件401が成立した場合のサーバ20のリスク度402とが含まれる。条件401が成立するすべてのリスク度402の値のうち、最も大きい値が、サーバ20のリスク度205(図5参照)となる。図9では、リスク度が「3」である、「ハード信頼度=1」の条件が最も大きい値である例を示している。
図10に、許容最大障害影響度算出テーブル500の構造を示す。許容最大障害影響度算出テーブル500は、サーバ20の許容最大障害影響度206(図5参照)の値を算出するための指標として用いられる。許容最大障害影響度算出テーブル500のエントリには、サーバ20のリスク度501と、そのリスク度のときのサーバ20の許容最大障害影響度502とが含まれる。リスク度205の値と同じ値のリスク度501のエントリの影響度502の値が、そのサーバ20の許容最大障害影響度206の値となる。
図11に、多重度制限率算出テーブル600の構造を示す。多重度制限率算出テーブル600は、サーバ20の多重度208の値を算出するための指標として用いられる。だ重度制限率算出テーブル600のエントリには、ジョブの最大障害影響度601と、多重度制限率602とが含まれる。サーバ20の最大障害影響度207(図5参照)と同じ値の最大障害影響度601のエントリの多重度制限率602の値に最大多重度を乗算した値が、そのサーバ20の多重度208の値(図5参照)となる。
次に、以上の構成を有する計算機システム1の各処理部の動作について、フロー図を用いて説明する。
図12に、ジョブスケジュール処理部1000の処理の流れを示したフローチャートを示す。ジョブスケジュール処理部1000は、まず、テーブル生成処理1100を実行して、テーブル100〜600の領域を主記憶装置11aに割り当てて初期化する(テーブル生成処理1100の詳細については後述する。)。
ユーザからの指示などでジョブの実行要求があった場合(ステップ1001:Yes)、実行要求されたジョブのジョブ定義ファイル30を読み込み、ジョブ管理テーブル100にエントリを割り当てて、ファイルに記述された内容を、割り当てたエントリのジョブ名101、実行プログラム名102、ジョブ開始時刻103、終了目標時刻104、予想実行時間105、分割可能属性106、自動再実行可能属性107及びジョブ重要度ランク111、にそれぞれ代入する(ステップ1002)。ジョブ管理テーブル100の要素のうち、ファイル30に含まれない要素は、実行状態109=「未起動」、障害影響度108=「0」、実行サーバ名110=「空欄」で初期化する。また、ファイル30に値の記述がない場合、ジョブ開始時刻103には「現在時刻」を、終了目標時刻104は「値無し」を、予想実行時間105には「0」を、分割可能属性106並びに自動再実行可能属性107には「無」を、重要度ランク111には「1」を、それぞれ代入する。
次いで、ジョブスケジュール管理処理部1000は、実行要求されたジョブを実行するサーバ20の選択処理1200を実行する(ステップ1002)(実行サーバ選択処理1200の詳細は、後述する。)。選択が成功(すなわち実行サーバ名110が空欄でない)かつジョブの実行状態109が「予約中」でない(実行可能)であれば(ステップ1003:Yes)、選択したサーバ20のジョブ実行制御処理部2000に、ジョブ名101と実行プログラム名102とを送信して、ジョブの実行を依頼し(ステップ1004)、実行状態109を「実行中」に変更する(ステップ1005)。
次いで、ジョブスケジュール処理部1000は、ステップ1001の判断を行った後(ステップ1001:No)、選択したサーバ20のジョブ制御処理部2000からジョブ完了通知を受信したか否かを判断し(ステップ1006)、受信したと判断する場合(ステップ1006:Yes)、ジョブ実行制御処理部2000から処理が完了したジョブの名称を受信し、その名称とジョブ名101とが一致するジョブ管理テーブル100のエントリの実行状態109を「完了」にする(ステップ1007)。
なお、ジョブスケジュール処理部1000は、ステップ1006の判断で、ジョブ実行制御処理部2000からジョブ完了通知を受信していないと判断する場合(ステップ1006:No)、ジョブ管理テーブル100に、ジョブ開始時刻103が現在時刻以降かつ実行状態109が「未実行」のエントリが存在するか否かを判断する(ステップ1008)。ジョブ開始時刻103が現在時刻以降かつ実行状態109が「未実行」のエントリが存在すると判断する場合(ステップ1008:Yes)、そのエントリのジョブに対して、実行サーバ選択処理1200とステップ1003〜1005とを実行し、スケジュール時刻に達した未実行のジョブを実行する。
次いで、ジョブスケジュール処理部1000は、ステップ1008の判断において、ジョブ開始時刻103が現在時刻以降かつ実行状態109が「未実行」のエントリが存在しないと判断する場合(ステップ1008:No)、ジョブ管理テーブル100に、ジョブ開始時刻103が現在時刻以降かつ実行状態109が「予約中」のエントリが存在するか否かの判断をする(ステップ1009)。ジョブ開始時刻103が現在時刻以降かつ実行状態109が「予約中」のエントリが存在する場合(ステップ1009:Yes)、そのエントリのジョブに対して、ステップ1004〜1005を実行し、スケジュール時刻に達した予約中のジョブを実行する。逆に、存在しないと判断する場合、ステップ1001に戻る。
次に、上述したジョブスケジュール処理部1000におけるテーブル生成処理について詳細に説明する。図13に、テーブル生成処理の流れを表したフローチャートを示す。
ジョブスケジュール処理部1000は、まず、ジョブ管理テーブル100を生成する(ステップ1101)。次いで、ジョブスケジュール処理部1000は、サーバ管理テーブル200を生成し、実行サーバ定義40を読み込んで、テーブル200にエントリを割り当て、読み込んだサーバ名と、最大多重度と、ハード信頼度ランクの値とを、割り当てたエントリのサーバ名201と、最大多重度202と、ハード信頼度ランクに夫々代入する(ステップ1102)。 次いで、ジョブスケジュール処理部1000は、障害影響度算出テーブル300、リスク度算出テーブル400、許容最大障害影響度算出テーブル500及び多重度制限率算出テーブル600を生成する(ステップ1103)。なお、生成したこれらのテーブルの各エントリの値は、図8〜図11の値とせずに、ファイルなどで指定された条件や値を読み込み設定するようにしてもよい。 次に、上述したジョブスケジュール処理部1000における実行サーバ選択処理について詳細に説明する。図14に、実行サーバ選択処理の流れを表したフローチャートを示す。
ジョブスケジュール処理部1000は、まず、実行要求されたジョブの障害影響度を算出し、障害影響度108に代入する(ステップ1201)。具体的には、障害影響度算出テーブル300を参照し、テーブル300内の各条件301が示す式に、ジョブ管理テーブル100の項目103〜107の値を当てはめて、条件が成立するか否かをチェックする。条件が成立する場合、その条件に対応した障害影響度302のうち最も大きい値を障害影響度108とする。例えば、図3のJOB1では、図8に示す全ての条件301を満たすため、これら条件に対応する障害影響度302のうち、最も値の大きい「3」を障害影響度108として登録する。
より詳細には、図8の条件301の『デフォルト』は、全てのジョブが満たす条件である。
図8の条件301の『終了目標時刻−(ジョブ開始時刻+予想実行時間)≦30分』は、「01:30−(01:01+00:05)=00:24」で、「≦30分」を満たす。
図8の条件301の『終了目標時刻−(ジョブ開始時刻+予想実行時間)≦2時間』は、同様に「≦2時間」を満たす。
図8の条件301の『分割可能属性』及び『自動再実行可能属性』はいずれも「無」であり、条件を満たす。同様に、図8の条件301の『ジョブ重要度ランク1>』も条件を満たす。従って、図8に示すように、これら条件に対応する障害影響度302のうち、最も値の大きい「3」を、JOB1の障害影響度108として、ジョブ管理テーブル100に登録する。
次いで、ジョブスケジュール処理部1000は、ジョブ開始時刻103が現在時刻以前又は障害影響度108が最大値であるかを判断する(ステップ1202)。ジョブスケジュール処理部1000は、ジョブ開始時刻103が現在時刻以降又は障害影響度108が最大値で無い場合(ステップ1202:No)、即時にジョブを実行できず又予約のためにサーバ20を決定する必要もないため、ステップ1203以降のサーバ選択処理は行わずに終了する。
逆に、ジョブ開始時刻103が現在時刻以前又は障害影響度108が最大値である場合(ステップ1202:Yes)、ジョブスケジュール処理部1000は、サーバ情報を収集する(ステップ1203)。具体的には、ジョブスケジュール処理部1000は、サーバ管理テーブル200のサーバ名201が示す全てのサーバ20に対して、サーバ情報収集要求を送信する。ジョブスケジュール処理部1000は、サーバ20からの応答を待ち、応答からサーバ情報を抽出して、応答のあったサーバ20とサーバ名201とが等しいエントリの最終更新日時203、通算稼働時間204及び障害予兆210に夫々値を代入する。また、応答から、サーバ20で稼動実績のあるプログラムのリストを取り出して、テーブル700にエントリを割り当てて、サーバ20の名称701とプログラム名702とを記録する。
次いで、ジョブスケジュール処理部1000は、各サーバ20のリスク度を算出し、リスク度205に代入する(ステップ1204)。具体的には、図9に示すリスク度算出テーブル400を参照し、リスク度算出テーブル400内の各条件401が示す式に、サーバ管理テーブル200内の全サーバ20に対して、ステップ1203で収集したサーバ情報203〜204の値を当てはめて条件が成立するか否かをチェックする。条件が成立する場合、その条件に対応したリスク度402のうち最も大きい値をリスク度205とする。
例えば、サーバAでは、デフォルト(すべてのジョブ)のみが成立し、他の条件は成立しないため、デフォルトのリスク度である「1」をリスク度205に代入する。
次いで、ジョブスケジュール処理部1000は、各サーバ20の実行中のジョブ数を求める(ステップ1205)。すなわち、テーブル200中の全エントリに対して、実行サーバ名201と実行サーバ名110とが一致し、かつ実行状態109が「実行中」である数を求め、実行ジョブ数209に代入する。
次いで、ジョブスケジュール処理部1000は、各サーバ20の最大障害影響度を求める(ステップ1206)。すなわち、サーバ管理テーブル200中の全エントリに対して、実行サーバ名201と実行サーバ名110とが一致し、かつ実行状態109が「実行中」または「未実行」であるテーブル100のエントリの障害影響度108のうち、最も大きい値を求め、最大障害影響度207に代入する。
次いで、ジョブスケジュール処理部1000は、各サーバ20のリスク度205に対応した許容最大障害影響度を、許容最大障害影響度算出テーブル500を参照して算出する(ステップ1207)。すなわち、テーブル200中の全エントリに対して、リスク度205の値とリスク度500の値が一致するエントリをテーブル500から検索し、一致したエントリの許容最大障害影響度502の値を、テーブル200許容最大障害影響度206に代入する。
次いで、ジョブスケジュール処理部1000は、各サーバ20の最大障害影響度207に対応した多重度制限率を、図11に示す多重度制限率算出テーブル600を参照して算出し、最大多重度を乗算して多重度を求める(ステップ1208)。すなわち、サーバ管理テーブル200中の全エントリに対して、最大障害影響度207の値と最大障害影響度601の値が一致するエントリをテーブル600から検索し、一致したエントリの多重度制限率602の値に、最大多重度202の値を乗算した値を、多重度208に代入する。
次に、多重度に余裕があり、ジョブの障害影響度108が、サーバ20の許容最大障害影響度206を超えないサーバ20を、ジョブを実行するサーバ20として選択する。サーバ管理テーブル200から、「多重度208−実行ジョブ数209>=1」かつ「許容最大障害影響度206>=投入するジョブの障害影響度108」の条件をみたすエントリを1つ選択し、選択したエントリの実行サーバ名201が示すサーバ20を、ジョブを実行するサーバ20とする。
ジョブスケジュール処理部1000は、選択可能な実行サーバが存在するか否かを判断し(ステップ1210)、存在する場合は(ステップ1210:Yes)、選択したサーバ20の名称201を実行サーバ名110に代入する(ステップ1211)。逆に、存在しないと判断する場合(ステップ1210:No)、サーバの選択を失敗として処理を終了する。
次いで、ジョブスケジュール処理部1000は、ジョブ開始時刻が現在時刻以前かを判断する(ステップ1212)。ジョブ開始時刻が現在時刻以前であれば(ステップ1212:Yes)、実行状態109の値を「予約中」にする(ステップ1213)。逆に、ジョブ開始時刻が現在時刻より後である場合、サーバの選択を成功として処理を終了する。
最後に、サーバ20のジョブ実行制御処理部2000の処理を説明する。図15に、ジョブ実行制御処理部2000の処理の流れを表したフローチャートを示す。まず、ジョブ実行制御部2000は、スケジュールサーバ10からの要求を受信又は実行中のジョブプログラムの完了を待つ(ステップ2001)。
次いで、ジョブ実行処理部2000は、スケジュールサーバ10から受信した要求が、サーバ情報収集要求であるかを判断し(ステップ2002)、サーバ情報収集要求である場合は(ステップ2002:Yes)、サーバ情報である最終更新日時、予兆の有無及び実行プログラム稼動実績を収集してスケジュールサーバ10に送信する(ステップ2003)。最終更新日時は、例えば、サーバ20で更新作業をしたときにファイルに記録した日時を読み出して送信する。予兆の有無は、例えば、ハードウェアの障害メッセージを監視して記録する。実行プログラム稼動実績は、例えば、ステップ2005において記録したプログラム名を送信する。
逆に、ジョブ実行処理部2000は、ステップ2002の判断が、サーバ情報収集要求で無いと判断した場合(ステップ2002:No)、その要求がジョブ実行要求であるかを判断し(ステップ2004)、ジョブ実行要求である場合は(ステップ2004:Yes)、受信した名称のプログラムを起動し、プログラムの処理完了を待つ(ステップ2005)。
逆に、ジョブ実行処理部2000は、ステップ2004の判断が、ジョブ実行要求でないと判断する場合、ジョブのプログラムが完了したか否かを判断する(ステップ2006)。ジョブのプログラムが完了したと判断する場合(ステップ2006:Yes)、完了したプログラムのジョブ名を送信してスケジュールサーバ10に完了通知する(ステップ2007)。
以上のように、本発明を適用した計算機システム1によれば、異常終了した場合に業務へ与える影響の大きいジョブを正常に終了させる確率を向上させ、障害が発生した場合の業務への影響を低減することができる。
1 計算機システム
2 通信路
10 スケジュールサーバ計算機
11 主記憶装置
12 CPU
13 通信インタフェース
14 入出力インタフェース
15 記憶装置
20 スケジュールサーバ計算機
30 ジョブ定義ファイル
40 実行サーバ定義ファイル
100 ジョブ管理テーブル
200 サーバ管理テーブル
300 障害影響度算出テーブル
400 リスク度算出テーブル
500 許容最大障害影響度算出テーブル
600 多重度制限率算出テーブル
700 実行プログラム稼動実績管理テーブル
1000 ジョブスケジュール処理部
2000 ジョブ実行制御処理部

Claims (6)

  1. 複数の計算機から構成される計算機システムにおいて、
    ジョブが異常終了したときに業務に与える影響の大きさである障害影響度を算出する手段と、
    前記計算機の障害発生確率の大きさを示すリスク度を算出する際、前記計算機のソフトウェアを更新してからの通算稼動時間が、あらかじめ指定された時間より短い計算機のリスク度として、その他の計算機のリスク度より大きい値を算出する手段と、
    前記リスク度を有する前記計算機で実行を許容することができるジョブの前記障害影響度の最大値である許容最大障害影響度を求める手段と、
    前記ジョブの障害影響度が前記許容最大障害影響度以下の前記計算機を選択する手段と、
    前記ジョブの実行を選択した前記計算機にジョブの実行を依頼する手段と、
    前記計算機にて前記ジョブを実行する手段と、
    を有することを特徴とするジョブスケジュールシステム。
  2. 請求項1記載のジョブスケジュールシステムにおいて、
    前記計算機ごとに、前記ジョブの稼動実績の有無を示す稼動実績情報を記録する手段と、
    前記稼動実績情報を収集する手段と、を更に有し、
    前記リスク度を算出する手段は、前記稼動実績情報を参照して、前記ジョブの稼動実績が有る前記計算機のリスク度として、前記ジョブの稼動実績が無い前記計算機のリスク度より小さい値を算出することを特徴とするジョブスケジュールシステム。
  3. 複数の計算機から構成される計算機システムで実行されるジョブのスケジュールを管理するジョブスケジュール管理方法であって、
    前記複数の計算機と通信可能な管理計算機が、
    ジョブが異常終了したときに業務に与える影響の大きさである障害影響度を算出し、
    計算機の障害発生確率の大きさを示すリスク度を算出する際、前記計算機のソフトウェアを更新してからの通算稼動時間が、あらかじめ指定された時間より短い計算機のリスク度として、その他の計算機のリスク度より大きい値を算出し、
    前記リスク度を有する前記計算機で実行を許容することができるジョブの前記障害影響度の最大値である許容最大障害影響度を求め、
    前記ジョブの障害影響度が前記許容最大障害影響度以下の前記計算機を選択し、
    前記ジョブの実行を選択した前記計算機にジョブの実行を依頼する、
    ことを特徴とするジョブスケジュール管理方法。
  4. 請求項記載のジョブスケジュール管理方法において、
    前記管理計算機が、
    前記計算機ごとに、前記ジョブの稼動実績の有無を示す稼動実績情報を記録し、
    前記稼動実績情報を収集し、
    前記リスク度の算出の際、前記稼動実績情報を参照して、前記ジョブの稼動実績が有る前記計算機のリスク度として、前記ジョブの稼動実績が無い前記計算機のリスク度より小さい値を更に算出することを特徴とするジョブスケジュール管理方法。
  5. 複数の計算機から構成される計算機システムで実行されるジョブのスケジュールを管理するジョブスケジュール管理計算機に、
    ジョブが異常終了したときに業務に与える影響の大きさである障害影響度を算出する機能と
    計算機の障害発生確率の大きさを示すリスク度を算出する際、前記計算機のソフトウェアを更新してからの通算稼動時間が、あらかじめ指定された時間より短い計算機のリスク度として、その他の計算機のリスク度より大きい値を算出する機能と、
    前記リスク度を有する前記計算機で実行を許容することができるジョブの前記障害影響度の最大値である許容最大障害影響度を求める機能と、
    前記ジョブの障害影響度が前記許容最大障害影響度以下の前記計算機を選択する機能と、
    前記ジョブの実行を選択した前記計算機にジョブの実行を依頼する機能と、
    を実現させることを特徴とするプログラム。
  6. 請求項記載のプログラムにおいて、
    前記管理計算機に、
    前記計算機ごとに、前記ジョブの稼動実績の有無を示す稼動実績情報を記録する機能と、
    前記稼動実績情報を収集する機能と、
    前記リスク度の算出の際、前記稼動実績情報を参照して、前記ジョブの稼動実績が有る前記計算機のリスク度として、前記ジョブの稼動実績が無い前記計算機のリスク度より小さい値を更に算出する機能と、を更に実現させることを特徴とするプログラム。
JP2010080107A 2010-03-31 2010-03-31 ジョブスケジュールシステム、ジョブスケジュール管理方法及びプログラム。 Expired - Fee Related JP5325827B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010080107A JP5325827B2 (ja) 2010-03-31 2010-03-31 ジョブスケジュールシステム、ジョブスケジュール管理方法及びプログラム。
PCT/JP2010/005673 WO2011121681A1 (ja) 2010-03-31 2010-09-17 ジョブスケジュールシステム、ジョブスケジュール管理方法及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010080107A JP5325827B2 (ja) 2010-03-31 2010-03-31 ジョブスケジュールシステム、ジョブスケジュール管理方法及びプログラム。

Publications (3)

Publication Number Publication Date
JP2011215661A JP2011215661A (ja) 2011-10-27
JP2011215661A5 JP2011215661A5 (ja) 2012-05-17
JP5325827B2 true JP5325827B2 (ja) 2013-10-23

Family

ID=44711478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010080107A Expired - Fee Related JP5325827B2 (ja) 2010-03-31 2010-03-31 ジョブスケジュールシステム、ジョブスケジュール管理方法及びプログラム。

Country Status (2)

Country Link
JP (1) JP5325827B2 (ja)
WO (1) WO2011121681A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6885193B2 (ja) 2017-05-12 2021-06-09 富士通株式会社 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
JPWO2021201006A1 (ja) * 2020-03-31 2021-10-07

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2812045B2 (ja) * 1992-03-16 1998-10-15 株式会社日立製作所 高信頼型分散処理システム
JPH09114790A (ja) * 1995-10-17 1997-05-02 Sumitomo Metal Ind Ltd 生産管理方法及び生産管理システム
JPH1185707A (ja) * 1997-09-04 1999-03-30 Hitachi Ltd 並列計算機におけるジョブ投入計算機の選択方法及び装置
JP2000047956A (ja) * 1998-07-27 2000-02-18 Canon Inc データ通信システム、データダウンロード方法及び記憶媒体
JP2001175484A (ja) * 1999-12-17 2001-06-29 Nec Corp ジョブスケジュール方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
JP2002251292A (ja) * 2001-02-22 2002-09-06 Nec Software Chubu Ltd クライアントサーバシステムにおけるジョブ管理方式及びクライアントサーバシステムにおけるジョブ管理方法
JP3538620B2 (ja) * 2001-02-23 2004-06-14 独立行政法人産業技術総合研究所 結晶配向性の高いタリウム系超伝導銀系シース線材の製造方法及びその方法により得られたタリウム系超伝導銀系シース線材
JP2004258964A (ja) * 2003-02-26 2004-09-16 Hitachi Ltd 計算機システムの自動運転方法及び計算機システム
JP4293011B2 (ja) * 2004-02-20 2009-07-08 株式会社日立製作所 障害時のサーバ決定方法
JP4117299B2 (ja) * 2005-02-28 2008-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバの多重度の上限値を制御するための方法、管理サーバ、サーバ、およびプログラム

Also Published As

Publication number Publication date
WO2011121681A1 (ja) 2011-10-06
JP2011215661A (ja) 2011-10-27

Similar Documents

Publication Publication Date Title
JP4859558B2 (ja) コンピュータシステムの制御方法及びコンピュータシステム
JP4374378B2 (ja) 運用実績評価装置、運用実績評価方法、およびプログラム
US8713578B2 (en) Managing job execution
JP5422342B2 (ja) インシデント管理方法および運用管理サーバ
WO2012056596A1 (ja) 計算機システム及び処理制御方法
WO2012025977A1 (ja) スケジュール管理方法及びスケジュール管理サーバ
US20080184241A1 (en) Techniques for automated balancing of tasks across multiple computers
US20080016508A1 (en) Distributed processing management apparatus, distributed processing management method and distributed processing management program
US20040194061A1 (en) Method for allocating programs
US8145449B2 (en) Computer product, apparatus, and method for system management
US8538793B2 (en) System and method for managing real-time batch workflows
JP2007207219A (ja) 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
JP5942509B2 (ja) バッチ処理システム
CN109558260B (zh) Kubernetes故障排除系统、方法、设备及介质
JP5323554B2 (ja) ジョブ処理方法、ジョブ処理プログラムを格納したコンピュータ読み取り可能な記録媒体、および、ジョブ処理システム
US8677375B2 (en) Selecting executing requests to preempt
US20170236085A1 (en) Information processing apparatus and method for managing connections
JP5325827B2 (ja) ジョブスケジュールシステム、ジョブスケジュール管理方法及びプログラム。
JP5155699B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2008059599A (ja) 仮想化されたリソースの割当て方法及びその実施システム
JP2006344061A (ja) シナリオ適用支援方法、管理サーバおよび管理プログラム
CN113010278B (zh) 一种用于财险核心系统的批处理方法及系统
CN111400100B (zh) 一种分布式软件备份的管理方法及其系统
JP2012256307A (ja) 作業スケジューリングプログラム,方法,およびシステム
CN111381969B (zh) 一种分布式软件的管理方法及其系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130604

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130722

R151 Written notification of patent or utility model registration

Ref document number: 5325827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees