JP4045991B2 - ポリシールールの生成方法およびそれを用いたジョブ運用管理方法 - Google Patents
ポリシールールの生成方法およびそれを用いたジョブ運用管理方法 Download PDFInfo
- Publication number
- JP4045991B2 JP4045991B2 JP2003086919A JP2003086919A JP4045991B2 JP 4045991 B2 JP4045991 B2 JP 4045991B2 JP 2003086919 A JP2003086919 A JP 2003086919A JP 2003086919 A JP2003086919 A JP 2003086919A JP 4045991 B2 JP4045991 B2 JP 4045991B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- policy rule
- action
- event
- list
- 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
Links
- 238000000034 method Methods 0.000 title claims description 68
- 238000007726 management method Methods 0.000 title description 25
- 230000009471 action Effects 0.000 claims description 120
- 230000010365 information processing Effects 0.000 claims description 80
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 14
- 238000012544 monitoring process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理システムに関し、特にネットワークを利用した複数の計算機を含む情報処理システムに関する。より具体的には,前記情報処理システムにおいて実行されるジョブの管理方法に関する。さらに具体的には、前記ジョブを実行している前記情報処理システムにおいて障害等のイベントが発生した時に、実行中のジョブを再実行するなどの運用管理を、ポリシールールを用いて自動実行する方法に関する。
【0002】
【従来の技術】
文献Saldago他、“System for managing resource deficient jobs in a multifunctional printing system”、米国特許6,504,621号に記載の情報処理システムには、ジョブの実行を管理するジョブマネージャにポリシールールを設定し、障害等のイベントが発生した場合の運用管理を自動実行する一方法が記載されている。
【0003】
当該文献によれば、情報処理システムにはジョブを管理する前記ジョブマネージャが設けられており、ジョブを実行させようとするユーザは、当該ジョブを前記ジョブマネージャに投入する時に、「当該ジョブの実行時に障害が発生した場合に取るアクション」をポリシールールとして指定する。アクションとしては、例えば「同じジョブを再実行する」「ユーザに連絡する」などが指定できる。前記ジョブマネージャは、情報処理システムにおいてハードウェア障害やソフトウェア障害が発生して、ジョブの実行が異常終了した場合には、前記ポリシールールを参照し、ユーザが指定したアクションを自動実行する。これにより、ジョブマネージャは、ジョブ実行中に障害等のイベントが発生した場合の運用管理を、自動実行することができる。
【0004】
【非特許文献】
Saldago他、“System for managing resource deficient jobs in a multifunctional printing syst”
【特許文献】
米国特許6,504,621号
【0005】
【発明が解決しようとする課題】
前記の従来の技術は、次の点で問題がある。
【0006】
すなわち、ジョブごとに指定されるポリシールールが、他のジョブや障害等の発生時刻とは無関係に指定されているため、情報処理システムおよび当該情報処理システムを利用する企業にとって、最適な自動運用管理ができない場合がある。簡単な例を用いて具体的に説明する。
【0007】
例として、ただ1台の計算機からなる情報処理システムを考える。当該情報処理システムには2つのジョブAおよびジョブBが投入されていて、ジョブAは当該計算機を占有して実行中であり、ジョブBは実行開始時刻をあらかじめ指定されており、その時刻になるまで実行を待っているとする。このとき、ジョブAのポリシーとして「ジョブ実行中に異常終了したら再実行する」と指定されているとすると、ジョブAは再実行され、それだけジョブAの終了時刻は遅れることになる。もしジョブAの終了時刻がジョブBの開始時刻よりも後になると、ジョブAが当該計算機を占有しているために、ジョブBは指定された開始時刻に開始できない。この場合、特にジョブBが、終了時刻を厳格に守らなくてはならないジョブだとすると、ジョブAとジョブBの実行を担う当該情報処理システムとしては大きな問題となる。
【0008】
逆に、後続のジョブBが重要であることに配慮して、先行して実行されるジョブAに「ジョブ実行中に異常終了したら、再実行しないで当該ジョブを破棄する」というポリシーが設定されているとする。もしジョブAの開始直後に障害が発生して、ジョブAが異常終了したとすると、ジョブAは実行されないことになる。ここで、もしジョブAを再起動すれば、ジョブBの開始時刻までにジョブAを終わることができたとすると、当該情報処理システムとしては、ジョブAを実行しなかったことによって、計算機の時間を無駄にしてしまったことになる。
【0009】
上記の例のように、従来の技術では、ポリシールールが他のジョブの状態(この例では、ジョブBの開始時間)や、障害等の発生時刻(この例では、ジョブAが異常終了した時刻)に無関係に指定されているため、情報処理システム全体として最適な自動運用管理ができない場合がある。上記の例ではジョブを実行する計算機がただ1つで、投入するジョブは2つであったが、ジョブを実行できる計算機が多数あり、投入されたジョブも多数あるような情報処理システムでも、同じ問題が発生する。
【0010】
そこで、本発明の第1の目的は、ジョブマネージャが情報処理システム全体として最適な自動運用管理をするための、前記ポリシールールの生成方法を提供することである。
【0011】
本発明の第2の目的は、ジョブマネージャが、障害等のイベントの発生時刻やイベントの種類も加味して、情報処理システム全体として常に損害額が最小となるような、きめ細かくかつ最適な自動運用管理を行うための、前記ポリシールールの生成方法を提供することである。
【0012】
【課題を解決するための手段】
本発明においては、ジョブごとのポリシールールは、各ジョブの投入者ではなく、情報処理システムのシステム管理者によって、下記の方法により設定される。
まず、実行するジョブごとに、要求終了時刻と、終了時刻がその時刻を過ぎた場合、またはそのジョブを実行できなかった場合の損害額を設定する。また、その情報処理システムにおいて発生し得る障害の種類のリストと、取り得るアクションのリストを用意する。
これにより、ある時刻に、その時刻に実行中のあるジョブにおいて、ある障害が発生した時に、あるアクションを取った場合の、各ジョブの終了時刻を見積ることができる。さらに、見積った各ジョブの終了時刻を用いて、その場合の損害額の合計を計算することができる。
【0013】
そこで、ある時刻(T)とその時刻に実行中のジョブ(J)と障害の種類(X)の組合せにおいて、取り得る各アクションに対して前記損害額の合計を計算し、当該損害額の合計が最も少ないアクション(A)を決定し、「時刻Tにおいて、障害Xが発生したら、アクションAを実行する」というポリシールールを、ジョブJのポリシールールとして一つ決定する。同様の手続きを、時刻Tとその時刻に実行中のジョブJと障害の種類Xのあらゆる組合せに対して実行することにより、すべてのジョブの、すべての時刻における、すべての種類の障害に対するポリシールールの組が得られる。前記情報処理システムのシステム管理者は、得られたポリシールールの組を前記ジョブマネージャに設定する。
【0014】
本発明の方法によれば、ジョブマネージャには、常に情報処理システム全体の損害額が最小になるようなポリシールールが設定される。従って、ジョブマネージャは、情報処理システム全体として最適な自動運用管理を行なうことができる。
【0015】
【発明の実施の形態】
以下、本発明の実施の一形態を、図面を参照しながら説明する。なお、簡単のため、本明細書中では「発明の実施の形態」を、単に「実施例」と呼ぶことにする。
(1)ポリシールール生成環境のハードウェア構成
本実施例においては、本発明によるポリシールールの生成は、情報処理システムのシステム管理者が、本発明のポリシールール生成方法を、ポリシールール生成計算機を用いたポリシールール生成環境において実行することにより行われる。図10を用いて、本実施例のポリシールール生成環境のハードウェア構成を説明する。ポリシールール生成環境150は、ポリシールール生成計算機151と、記憶装置153から構成される。ポリシールール生成計算機151は、実際には端末、パーソナルコンピュータ、メインフレームなどの計算機で、1つ以上のプロセッサを有し、ポリシールールを生成するための処理を実装したポリシー生成ツール152を実行する。なお、プロセッサについては図示していない。記憶装置153は磁気ディスク,メモリ,ファイルサーバ,ネットワーク情報サーバなどの記憶媒体であり、ジョブ実行スケジュール200、ジョブ実行条件リスト300、アクションリスト400、イベントリスト500、ポリシールールリスト600をデータとして格納することができる。記憶装置153は、ポリシールール生成計算機151と、リンク154によって接続されている。リンク154は、接続コードや、無線または有線のネットワークなどである。なお、図10では、ジョブ実行スケジュール200、ジョブ実行条件リスト300、アクションリスト400、イベントリスト500、ポリシールールリスト600はすべて同じ記憶装置153に格納されているが、実際には別々の記憶装置に格納されていても良い。また、ポリシールール生成計算機151は、記憶装置153と同じ筐体に格納されていても良い。
(2)ポリシールール生成環境のソフトウェア構成
図10を用いて、ポリシールール生成環境のソフトウェア構成を説明する。図10において、ルール生成ツール152は、ポリシールール生成計算機151のプロセッサによって実行されるプログラムであり、本発明のポリシールール生成方法を実行する。ルール生成ツール152は、ポリシールール生成計算機151上で実行されているオペレーティングシステム(図示していない)に入出力の要求を行うことにより、記憶装置153に格納されたジョブ実行スケジュール200、ジョブ実行条件リスト300、アクションリスト400、イベントリスト500を読み込み、またポリシールールリスト600を書き込むことができる。
【0016】
ジョブ実行スケジュール200(図2)、ジョブ実行条件リスト300(図3)、アクションリスト400(図4)、イベントリスト500(図5)、ポリシールールリスト(図6)は、記憶装置153に格納されたデータであり、それぞれ別の図に示す形式で情報を格納している。
【0017】
本実施例では、情報処理システムのシステム管理者は、情報処理システムのポリシールールを生成しようとする場合には、あらかじめジョブ実行スケジュール200、ジョブ実行条件リスト300、アクションリスト400、イベントリスト500を記憶装置153に格納し、ポリシールール生成計算機151においてポリシー生成ツール152を実行する。実行されたポリシー生成ツール152は、ジョブ実行スケジュール200、ジョブ実行条件リスト300、アクションリスト400、イベントリスト500を読み込み、本発明のポリシールール生成方法を実行して、生成されたポリシールールを記憶装置153のポリシールールリスト600に書き込む。情報処理システムのシステム管理者は、書き込まれたポリシールールリスト600を読み出し、情報処理システムに適用する。
【0018】
また、前記情報処理システムのシステム管理者は、例えばジョブ実行スケジュール200に記載されていない新しいジョブを実行する必要が生じた場合や、業務の都合でジョブ実行スケジュール200に記載された特定のジョブの実行開始時刻の変更が必要になった場合など、ジョブ実行スケジュール200、ジョブ実行条件リスト300、アクションリスト400、イベントリスト500の記載内容のいずれかに変更が生じた場合は、再度ポリシー生成ツール152を実行して、新しいポリシールールリスト600を生成し、情報処理システムに適用する。ポリシー生成ツール152の再実行は、前記情報処理システムのシステム管理者が手作業で行っても、あるいはポリシールール生成ツール152またはそれとは別のプログラムが、記憶装置153に格納されたジョブ実行スケジュール200、ジョブ実行条件リスト300、アクションリスト400、イベントリスト500の変更や、ジョブの新規受付などを検出して、自動的にポリシールール生成ツール152を呼び出す形で実行しても良い。
【0019】
なお、本実施例において、ルール生成ツール152は、プログラムとして取り扱ったが、これは本発明においては、これと同等の機能がプログラムとして実装されなければならないことを意味するものではない。
(3)ジョブ実行スケジュール
図2を用いて、本実施例におけるジョブ実行スケジュール200の形式と内容を説明する。図2で、ジョブ実行スケジュール200は表形式になっており、1つ以上の行201a,201b,201c,…から成る。すべての行は4つの列を含んでいる。ここで4つの列とは、ジョブ名202a,202b,202c,…,開始時刻203a,203b,203c,…,終了時刻204a,204b,204c,…,計算機名205a,205b,205c,…である。図示していないが、ジョブ実行スケジュール200の各行は、これ以外の列を含んでいても良い。
【0020】
ジョブ実行スケジュール200に格納された情報は、ポリシールールリスト600を生成するポリシールール生成環境と、ジョブを実行する情報処理システムにおいて利用される。ジョブ実行スケジュール200に格納された情報は、情報処理システムのシステム管理者が、各ジョブの情報処理システムでの実行の要求者からの要求を受けて作成しても良いし、当該システム管理者とは別の担当者が作成したものをシステム管理者に渡し、システム管理者が使用しても良い。また、ジョブ実行スケジュール200に格納される情報は、システム管理者や前記担当者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて、作業の一部または全部を自動化して作成しても良い。
【0021】
ジョブ実行スケジュール200は、情報処理システムにおいて実行する各ジョブにつき、実行開始時刻と、終了時刻と、当該ジョブを実行する情報処理システム内の計算機名が格納される。行201aの場合、ジョブの名前がジョブ名202aに、当該ジョブの開始時刻が開始時刻203aに、当該ジョブの終了時刻が終了時刻204aに、当該ジョブを実行する計算機の名前が計算機名205aに格納される。なお、終了時刻204aについては、特別な場合として、例えば途中でエラーが発生し、再起動しなかった場合など、もしそのジョブを実行できなかった場合は、値として−1(マイナス1)を格納する。行201b,201c,…についても同様である。
(4)ジョブ実行条件リスト
図3を用いて、本実施例におけるジョブ実行条件リスト300の形式と内容を説明する。図3で、ジョブ実行条件リスト300は表形式になっており、1つ以上の行301a,301b,301c,…から成る。すべての行は4つの列を含んでいる。ここで4つの列とは、ジョブ名302a,302b,302c,…,要求終了時刻303a,303b,303c,…,損害額評価関数名304a,304b,304c,…,パラメータ305a,305b,305c,…である。図示していないが、ジョブ実行条件リスト300の各行は、これ以外の列を含んでいても良い。
【0022】
ジョブ実行条件リスト300に格納された情報は、ポリシールールリスト600を生成するポリシールール生成環境において利用される。ジョブ実行条件リスト300に格納された情報は、情報処理システムのシステム管理者が、各ジョブの情報処理システムでの実行の要求者からの要求を受けて作成しても良いし、当該システム管理者とは別の担当者が作成したものをシステム管理者に渡し、システム管理者が使用しても良い。また、ジョブ実行条件リスト300に格納される情報は、システム管理者や前記担当者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて、作業の一部または全部を自動化して作成しても良い。
【0023】
ジョブ実行条件リスト300は、情報処理システムにおいて実行する各ジョブにつき、その実行条件を格納している。本実施例では、ジョブの実行条件は、ジョブの要求終了時刻と、その要求終了時刻が満たされなかった場合の、損害額の計算方法を指定することによって表される。ジョブ実行条件リスト300の1つの行は、1つのジョブに対応付けられ、そのジョブの実行条件を示す。前記1つの行の内容を、行301aを例として説明する。ジョブ名302aにはジョブの名前が格納され、行301aを特定のジョブに結びつける。要求終了時刻303aには、当該ジョブが終了しなければいけない時刻が格納される。損害評価関数304aには、当該ジョブが要求終了時刻303aに終了しなかった場合に、損害額を計算するための式が格納される。ジョブ名302aで指定されたジョブが要求終了時刻303aに格納された時刻に終了しなかった場合には、この式が、2つの引数と共に実行され、損害額が計算される。ここで、2つの引数とは、当該ジョブの終了時刻と要求終了時刻303aに記載された時刻との差(遅延時間)と、パラメータ305aに格納された値である。本実施例では遅延時間の単位を1時間とするが、その他の単位(分など)を単位としても良い。また、特別な場合として、もしそのジョブが実行できなかった場合は、遅延時間は−1(マイナス1)とする。なお、損害評価関数304aに格納される式は、呼び出すべき関数名だけが格納してあっても、何らかのプログラミング言語で記述されたサブルーチンを格納しても良い。
【0024】
図3の行301b,301c,…についても、行301aと同様である。図3では、行301bと行301cにジョブ実行条件の具体例を示している。行301bに記載された実行条件によれば、もしジョブAなる名称のジョブの終了時刻が、要求終了時刻の午前4時(303bに記載されている)を過ぎて午前5時となった場合、304bに記載された式が遅延時間の1時間とパラメータの50万を引数として呼び出され、損害額が150万と算定される。行301cに記載された実行条件によれば、もしジョブBなる名称のジョブの終了時刻が、要求終了時刻の午前6時(303cに記載されている)を過ぎて午前7時となった場合、304cに記載された式が呼び出され、50万が損害額となる。なお、損害評価関数304b,304cのどちらの場合も、前記の式を適用する前に、まず引数として渡された遅延時間が−1(マイナス1)かどうかを検査して、真であれば別の式を適用する処理が含まれていても良い。
(5)アクションリスト
図4を用いて、本実施例におけるアクションリスト400の形式と内容を説明する。図4で、アクションリスト400は表形式になっており、1つ以上の行401a,401b,401c,…から成る。すべての行は4つの列を含んでいる。ここで4つの列とは、通番411a,411b,411c,…,ユーザインタフェース部へのアクション412a,412b,412c,…,制御部へのアクション413a,413b,413c,…,再スケジューリング方法414a,414b,414c,…である。図示していないが、アクションリスト400の各行は、これ以外の列を含んでいても良い。
【0025】
アクションリスト400に格納された情報は、ポリシールールリスト600を生成するポリシールール生成環境と、ジョブを実行する情報処理システムにおいて利用される。アクションリスト400に格納された情報は、情報処理システムのシステム管理者が作成しても良いし、情報処理システムの設計時に、設計者が作成しても良い。また、アクションリスト400に格納される情報は、システム管理者や前記設計者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて、作業の一部または全部を自動化して作成しても良い。
【0026】
アクションリスト400は、情報処理システムにおいて障害などのイベントが発生したときに、取り得るアクションの候補がすべて列挙されている。アクションリスト400の1つの行は、1つのアクションに対応付けられ、そのアクションの内容を示す。アクションに記載された内容は、ポリシールールリスト(図6)において、イベントの種類と、時刻と共に指定され、情報処理システムにおいて、指定された時刻に、指定された種類のイベントが発生した場合に、実行される。前記1つの行の内容を、行401aを例として説明する。通番411aには、アクションリスト内で一意な通し番号が振られている。通し番号の振り方は、結果として行401a,401b,401c,…のそれぞれに一意な番号が振られれば、どのような方法でも良い。通番411aは、イベントリスト(図5)および、ポリシールールリスト(図6)において、特定のアクションを指定するために用いられる。ユーザインタフェース部へのアクション412aには、このアクションを実行するときに、ユーザインタフェース部(図9)において行う処理が指定される。ここでは、情報処理システムのシステム管理者に連絡するかどうか、連絡する場合どのような方法を使うか、などが指定される。ユーザインタフェース部へのアクション412aの具体的な格納形式としては、呼び出すべき関数名だけを格納してあっても、何らかのプログラミング言語で記述されたサブルーチンを格納しても良い。制御部へのアクション413aには、このアクションを実行するときに、制御部(図9)において行う処理が指定される。ここでは、実行中のジョブを再実行するかどうか、同じ計算機で再実行するかどうか、などが指定される。制御部へのアクション413aの具体的な格納形式としては、呼び出すべき関数名だけが格納してあっても、何らかのプログラミング言語で記述されたサブルーチンを格納しても良い。再スケジューリング方法414aには、このアクションを取った結果、ジョブ実行スケジュール200をどのように変更するかが記述される。ここでは、例えば、同じ計算機でこのジョブの後に実行される予定のすべてのジョブにつき、開始時間を遅らせる、などの処理が指定される。再スケジューリング方法414aの具体的な格納形式としては、呼び出すべき関数名だけが格納してあっても、何らかのプログラミング言語で記述されたサブルーチンを格納しても良い。
【0027】
図4の行401b,401c,…についても、行401aと同様である。図4では、行401b,行401cに、アクションの具体例を示している。行401bに記載されたアクションが実行された場合、ユーザインタフェース部へのアクション412bに記載された処理により、ユーザインタフェース部(図9)ではシステム管理者に通知するための処理は何も行わず、制御部へのアクション413bに記載の処理により、イベントが発生したジョブを同じ計算機で即時再実行する処理を制御部(図9)で実行し、再スケジューリング方法414bに記載の処理により、同じ計算機でイベントが発生したジョブの後に実行される予定のすべてのジョブにつき、開始時間を遅らせるようにジョブ実行スケジュール200を変更する。また、行401cに記載されたアクションが実行された場合、ユーザインタフェース部へのアクション412cに記載された処理により、ユーザインタフェース部においてシステム管理者に通知するための処理が実行され、制御部へのアクション413cに記載の処理により、イベントが発生したジョブを停止する処理を制御部で実行し、再スケジューリング方法414cに記載の処理により、ジョブ実行スケジュール200は変更しない。
(6)イベントリスト
図5を用いて、本実施例におけるイベントリスト500の形式と内容を説明する。図5で、イベントリスト500は表形式になっており、1つ以上の行501a,501b,501c,…から成る。すべての行は3つの列を含んでいる。ここで3つの列とは、通番511a,511b,511c,…,イベントの種類512a,512b,512c,…,取り得るアクションのリスト513a,513b,513c,…である。図示していないが、イベントリスト500の各行は、これ以外の列を含んでいても良い。
【0028】
イベントリスト500には、情報処理システムにおいて発生しうる、障害などのすべてのイベントが列挙されている。イベントリスト500の1つの行は、1つのイベントに対応付けられ、そのイベントの内容を示す。イベントに記載された内容は、ポリシールールリスト(図6)において、アクションと、時刻と共に指定される。
【0029】
前記1つの行の内容を、行501aを例として説明する。通番511aには、イベントリスト500内で一意な通し番号が振られている。通し番号の振り方は、結果として行501a,501b,501c,…のそれぞれに一意な番号が振られれば、どのような方法でも良い。通番511aは、ポリシールールリスト(図6)において、特定のアクションを指定するために用いられる。障害イベントの種類512aには、行501aに対応付けられたイベントの種類が格納される。イベントの種類は、計算機がダウンした場合や、ジョブを構成するプログラムが異常終了した場合などを含んでいる。取り得るアクションのリスト513aには、行501aに記載のイベントが発生したときに、取ることができるアクションのリストが、アクションリスト400の通番のリストとして格納される。
【0030】
図5の行501b,501c,…についても、行501aと同様である。図5では、行501b,行501cに、イベントの具体例を示している。行501bに記載されたイベントは、通番511bに記載されている通り、通し番号として1が割り当てられており、障害イベントの種類512bに記載の内容により、このイベントは計算機がダウンした場合を指すと指定されている。また、取り得るアクションのリスト513bに記載に内容により、このイベントが発生した場合は、取り得るアクションはアクションリスト400の行401cに記載のアクション(ジョブを再実行せず、システム管理者に連絡する)に限られると指定されている。また、行501cに記載されたイベントは、通番511cに記載されている通り、通し番号として2が割り当てられており、障害イベントの種類512cに記載の内容により、このイベントは実行中のジョブが異常終了した場合を指すと指定されている。また、取り得るアクションのリスト513cに記載に内容により、このイベントが発生した場合は、取り得るアクションはアクションリスト400の行401bに記載のアクション(同じ計算機で、当該ジョブを再実行し、当該ジョブの後で実行されるジョブは実行開始を遅らせる)か、行401cに記載のアクション(ジョブを再実行せず、システム管理者に連絡する)に限られると指定されている。
【0031】
イベントリスト500に格納された情報は、ポリシールールリストを生成するポリシールール生成環境と、ジョブを実行する情報処理システムにおいて利用される。イベントリスト500に格納された情報は、情報処理システムのシステム管理者が作成しても良いし、情報処理システムの設計時に、設計者が作成しても良い。また、イベントリスト500に格納される情報は、システム管理者や前記設計者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて、作業の一部または全部を自動化して作成しても良い。
(7)ポリシールールリスト
図6を用いて、本実施例におけるポリシールールリスト600の形式と内容を説明する。図6で、ポリシールールリスト600は表形式になっており、1つ以上の行601a,601b,601c,…から成る。すべての行は4つの列を含んでいる。ここで4つの列とは、ジョブ名611a,611b,611c,…,時刻612a,612b,612c,…,イベント613a,613b,613c,…,アクション614a,614b,614c,…である。図示していないが、ポリシールールリスト600の各行は、これ以外の列を含んでいても良い。ポリシールールリスト600は、図10を用いてすでに説明したように、ルール生成ツール152によって生成される。ポリシールールリスト600は、ジョブを実行する情報処理システムにおいて利用される。
【0032】
ポリシールールリスト600には、「あるジョブの実行中のある時刻に、あるイベントが発生した場合に、そのジョブについてどのアクションを取るか」の組(すなわちポリシールール)が列挙される。ポリシールールリスト600の1つの行は、1つのポリシールールに対応付けられる。
【0033】
前記1つの行の内容を、行601aを例として説明する。ジョブ名611aは、このポリシールールが対象とするジョブのジョブ名が格納される。時刻612aには、このポリシールールが有効となる時刻が格納される。時刻612aの格納形式としては、本実施例ではこのポリシールールが対象とするジョブの開始時刻から見た時間帯で格納される。ただし、時刻612aは、他の時刻の形式、例えば絶対時刻が格納されても良い。イベント613aは、このポリシールールが有効になるイベントを指定される。より具体的には、イベント613aには、イベントリスト(図5)の中の、特定のイベントの通番が格納される。アクション614aは、このポリシールールにおいて、実行されるアクションを指定する。
【0034】
図6の行601b,601c,…についても、行601aと同様である。図6では、行601b,行601cに、イベントの具体例を示している。行601bに記載されたイベントは、ジョブ名611b、時刻612b、イベント613b、アクション614bに記載の内容により、「ジョブAにおいて、開始後30分以内に、ジョブAを構成するプログラムが異常終了したら、ジョブAを同じ計算機で即時再実行し、同じ計算機で実行予定の後続のジョブは実行開始を遅らせる」というポリシールールを意味する。行601cに記載されたイベントは、ジョブ名611c、時刻612c、イベント613c、アクション614cに記載の内容により、「ジョブAにおいて、開始後30分以降60分以内に、ジョブAを構成するプログラムが異常終了したら、ジョブAの実行を停止し、システム管理者に連絡する」というポリシールールを意味する。
(8)ポリシールールの生成方法
図7および図8を用いて、本実施例におけるポリシールールの生成方法を説明する。本実施例では、図7および図8に示すポリシールールの生成方法は、情報処理システムの管理者が、図10のルール生成ツール152を実行することによって実行される。
【0035】
システム管理者から呼び出されたルール生成ツール152は、まず、2つの変数S,Tの値を初期化する(701)。Sの値は、非常に大きな金額とする。例えば、情報処理システムを運営している組織または情報処理システムが設置された国家の年間予算とか、資本金などを用いればよい。Tの値は、情報処理システムにおいて最初のジョブが実行開始される時刻とする。最初のジョブが実行される時刻は、ジョブ実行スケジュール200を走査することで容易に決定することができる。
【0036】
次に、ルール生成ツール152は、ジョブ実行スケジュール200を走査し、変数Tに記載の時刻に実行中のジョブ名のリストを作成して、変数Lに格納し(702)、さらにリストになっている変数Lの最初の要素を変数Jに格納する(703)。
【0037】
次に、ルール生成ツール152は、イベントリスト500(図5)を読み込み、イベントリスト500の最初の行の内容を、変数Xに格納する(704)。
【0038】
次に、ルール生成ツール152は、変数Xの内容(イベントリスト500の1つの行の内容が格納されている)から、取り得るアクションのリストを取り出し、変数Mに格納し(705)、さらにリストになっている変数Mの最初の要素を取り出す。当該要素は、アクションリスト400(図4)の通番の1つなので、ルール生成ツール152は、アクションリスト400を走査し、当該要素の通番を持つアクションリスト400の行を読み込んで、変数Aに格納する(706)。
【0039】
次に、ルール生成ツール152は、ジョブ実行スケジュール200を変数Cに読み込み、変数Aの内容(アクションリスト400の1つの行、すなわち1つのアクション)から、再スケジューリング方法を取り出し、取り出した再スケジューリング方法により、変数Cに格納されたジョブ実行スケジュールを変更する(707)。例えば再スケジューリング方法として、サブルーチン(何らかのプログラミング言語で記載されている)が格納されている場合は、変数Cの内容と、変数Jに格納されたジョブ名と、変数Tに格納された時刻とを引数として、そのプログラミング言語の処理系を呼び出して、そのサブルーチンを実行させる。変数Cの内容は、ステップ707の結果、ジョブ実行スケジュールの各行の、開始時刻、終了時刻、計算機名が、もとのジョブ実行スケジュール200の内容と変更される。特に、変数Aの内容が、ジョブ再実行をしない指定になっている場合、変数Jに格納されたジョブ名を持つ行については、終了時間が−1(マイナス1)になっている。
【0040】
次に、ルール生成ツール152は、変数Cに格納されたジョブ実行スケジュールに記載されたジョブのそれぞれが、要求終了時間を満たしているかどうか調べ、満たしていないジョブがある場合は、満たしていないことによる損害額を計算し、当該損害額の合計を計算する(708)。より具体的な損害額の計算方法は、後で図1を用いて説明する。
【0041】
次に、ルール生成ツール152は、計算された損害額が、変数Sに格納された値より小さいかどうか比較する(709)。もし小さければ、計算した損害額を変数Sに格納し(710)、変数T,変数J,変数X,変数Aの内容を、変数Rに格納する(711)。もし小さくなければ、ステップ710とステップ711は実行しない。なお、ステップ711において、もし計算された損害額が0(ゼロ)であれば、ステップ804(図8)にジャンプしても良い。
【0042】
次に、ルール生成ツール152は、変数Mに格納されたリストに、次の要素(アクションの通番)があるかどうかを調べ(801)、もしなければ、ステップ803にジャンプする。もしあればステップ706と同様に、アクションリスト400を走査し、当該要素の通番を持つアクションリスト400の行を読み込んで、変数Aに格納し(802)、ステップ707にジャンプする。
【0043】
次に、ルール生成ツール152は、変数Rに格納された内容から、ポリシールール(ポリシールールリスト600の1つの行)を作成し、ポリシールールリスト600に追加する(803)。具体的には、変数Rには、損害額が最小になるときの変数T,変数J,変数X,変数Aの内容が格納されているので,変数R内の変数Jに相当する部分に格納されたジョブ名をポリシールールのジョブ名に、変数R内の変数Tに相当する部分に格納された時刻と、ジョブ実行スケジュールに格納された当該ジョブの開始時刻の差をポリシールールの時刻に、変数R内の変数Xに相当する部分に格納されたイベントの通番をポリシールールのイベントに、変数R内の変数Aに相当する部分に格納されたアクションの通番をポリシールールのアクションとして、ポリシールールを作成する。
【0044】
次に、ルール生成ツール152は、イベントリスト500を読み込み、変数X(イベントリスト500の行の1つの内容が格納されている)に格納された通番を持つ行の次の行があるかどうか調べ(804)、もしなければ、ステップ806にジャンプする。もしあれば、変数Xに当該次の行の内容を格納し(805)、ステップ705にジャンプする。
【0045】
次に、ルール生成ツール152は、変数Lに格納されたジョブ名のリストに、変数Jに格納されたジョブ名に相当する要素の次の要素があるかどうか調べ(806)、もしなければ、ステップ808にジャンプする。もしあれば、変数Jに当該次の要素の内容(ジョブ名)を格納し(806)、ステップ704にジャンプする。
【0046】
次に、ルール生成ツール152は、変数Tに格納された時刻を1単位進める(808)。時刻を進める単位は、情報処理システムのシステム管理者が、ジョブ実行スケジュール200を作成する際に、各ジョブの開始時刻を決める際の単位(1分、30分、1時間など)を使えば良い。
【0047】
次に、ルール生成ツール152は、ジョブ実行スケジュール200を走査し、変数Tに格納された時刻に実行中のジョブがあるかどうか調べ(809)、もしあればステップ702にジャンプする。もしなければ、ルール生成ツール152を終了させる。
【0048】
図7および図8に記載の方法により、ルール生成ツール152は、ある時刻(T)とその時刻に実行中のジョブ(J)と障害の種類(X)の組合せにおいて、取り得るアクションのそれぞれに対して、損害額の合計を計算し、当該損害額の合計が最も少ないアクション(A)を決定し、「時刻Tにおいて、障害Xが発生したら、アクションAを実行する」というポリシールールを、ジョブJのポリシールールとして一つ決定することができる。さらにポリシールール生成ツール152は、同じ手続きを、時刻Tとその時刻に実行中のジョブJと障害の種類Xのあらゆる組合せに対して実行することにより、すべてのジョブの、すべての時刻における、すべての種類の障害に対するポリシールールを生成し、ポリシールールリスト600に格納することができる。
(9)損害額の計算方法
図1を用いて、ルール生成ツール152における損害額の計算方法を説明する。本実施例では、図1に示す流れ図は、ルール生成ツール152から呼び出せるサブルーチン(損害額計算ルーチンと呼ぶ)として実装される。損害額計算ルーチン中の各変数は、図7および図8の各変数とは独立に管理されている。損害額計算ルーチンは、ルール生成ツール707(図7)の中で、変数C(変更したジョブ実行スケジュール)を引数として呼び出される。
【0049】
まず、損害額計算ルーチンは、変数Sに0(ゼロ)を格納する(111)。次に、引数として渡されたジョブ実行スケジュールの先頭の行を、変数Aに格納する(112)。
【0050】
次に、損害額計算ルーチンは、ジョブ実行条件リスト300を走査し、変数Aに格納されたジョブ名と同じジョブ名を持つ、ジョブ実行条件リスト300の行を取得して、変数Bに格納する(113)。
【0051】
次に、損害額計算ルーチンは、変数Aに格納された終了時刻が、変数Bに格納された要求終了時刻よりも前で、かつ変数Aに格納された終了時刻が−1(マイナス1)でないかどうか調べ(114)、もし真であれば、ステップ117にジャンプする。もし偽であれば、次のステップ115を実行する。
【0052】
次に、損害額計算ルーチンは、変数Aに格納された終了時刻と、変数Bに格納された要求終了時刻の差をとって遅延時間を計算する。なお、特別な場合として、変数Aに格納された終了時刻が−1(マイナス1)であれば、遅延時間は−1(マイナス1)とする。次に、損害額計算ルーチンは、変数Bに格納された損害評価関数を、計算した遅延時間と、変数Bに格納されたパラメータとを引数として呼び出す(115)。例えば損害評価関数として、サブルーチン(何らかのプログラミング言語で記載されている)が格納されている場合は、そのプログラミング言語の処理系を呼び出して、そのサブルーチンを実行させる。
【0053】
次に、損害額計算ルーチンは、ステップ115で呼び出した損害評価関数の戻り値を、変数Sに加算する(116)。
次に、損害額計算ルーチンは、引数として渡されたジョブ実行スケジュールに、次の行があるかどうか調べ(117)、次の行があれば、その行の内容を変数Aに格納し(118)、ステップ113に戻る。次の行がなければ、変数Sの内容を、損害額計算ルーチンの戻り値として返し(119)、終了する。
【0054】
図1に示す損害額計算ルーチンを呼び出すことにより、ルール生成ツール152は、変数Cに格納されたジョブ実行スケジュールに記載されたジョブのそれぞれが、要求終了時間を満たしているかどうか調べ、満たしていないジョブがある場合は、満たしていないことによる損害額を計算し、当該損害額の合計を計算することができる。
(10)情報処理システムの構成
図9を用いて、本実施例においてジョブを実行する情報処理システム900の構成を説明する。ポリシールール生成環境150(図10)において、ルール生成ツール152を用いて作成されたポリシールール600は、情報処理システム900において、ジョブ実行中に障害等のイベントが発生した場合の運用管理を、自動実行するために用いられる。
【0055】
図9の情報処理システム900は、運用管理計算機901と、ジョブ実行計算機902a,902bと、ネットワーク903からなる。運用管理計算機901は、情報処理システム内で実行されるジョブの運用管理を行う。また、ジョブ実行計算機902a,902bは、ジョブ実行スケジュール(図2)に記載されたジョブの実行を分担して実行する。図示していないが、運用管理計算機901と、ジョブ実行計算機902a,902bは、それぞれ1つ以上のプロセッサを有し、プログラムを実行可能である。また、図9ではジョブ実行計算機902a,902bは2台の計算機であるが、本実施例では、ジョブ実行計算機は3台以上でも問題はない。また、運用管理計算機901と、ジョブ実行計算機902a,902bは、それぞれ情報処理システムのシステム管理者から、一意の計算機名を割り当てられている。なお、運用管理計算機901と、ジョブ実行計算機902a,902bは、そのどれか2つ以上が、同じ筐体に入っていても良い。
【0056】
運用管理計算機901と、ジョブ実行計算機902a,902bは、ネットワーク903に、リンク904を用いて接続されている。リンク904は、有線または無線の接続方式であり、サブネットワークを含んでいても良い。また、運用管理計算機901と、ジョブ実行計算機902a,902bは、それぞれ異なる方式でネットワーク903に接続されていても良い。
【0057】
運用管理計算機901では、ジョブマネージャ951がプログラムとして実行されている。ジョブマネージャ951は、情報処理システム900内で実行されるジョブの運用管理のための処理を実行する。図示していないが、ポリシールール生成環境150(図10)のジョブ実行スケジュール200、アクションリスト400、イベントリスト500、ポリシールール600は、ジョブマネージャ951に読み込まれ、ジョブの運用管理のために使用される。ジョブマネージャ951は、図示していないが、ジョブ実行スケジュール200、アクションリスト400、イベントリスト500、ポリシールール600を、情報処理システム900のシステム管理者の指示により読み込むための機能を有している。
【0058】
ジョブマネージャ951は、ユーザインタフェース部952と、ルールエンジン部953を含む。ユーザインタフェース部952は、情報処理システム150で障害等のイベントが発生した場合に、ポリシールールに応じてルールエンジン部953から呼び出され、情報処理システムの管理者に通知を行う。ルールエンジン部953は、ポリシールールリスト600を読み込み、エージェント954a,954bの状態監視部からイベント通知メッセージがネットワーク903を経由して配送されるのを待ち、イベント通知メッセージを受信したら、読み込んだポリシールールリスト600を検索して配送されたイベント通知メッセージに該当するポリシールールを取り出し、当該ポリシールールに記載されているアクションを実行する。
【0059】
ジョブ実行計算機902a,902bでは、それぞれエージェント954a,954bがプログラムとして実行されている。エージェント954a,954bは、それぞれ状態監視部955a,955b、および制御部956a,956bを含む。
【0060】
エージェント954a,954bは、ジョブマネージャ951とネットワーク903を経由して通信し、ジョブマネージャ951からの指示によりジョブ実行計算機902a,902bでジョブを実行したり、停止したり、再起動するなどの処理を実行する。また、エージェント954a,954bは、ジョブ実行計算機902a,902b内で、ジョブの実行中または実行の前後に障害等のイベントが発生した場合は、ジョブマネージャ951にイベント通知メッセージを送信する。図示していないが、イベント通知メッセージは、イベントが発生したジョブ実行計算機の計算機名(前述の通り、ジョブ実行計算機のそれぞれには一意な計算機名が割り当てられている)、イベントが発生した時刻、およびイベントの種類が含まれている。ここで、前記イベントの種類は、イベントリスト500に記載されたイベントの種類のうちのいずれかである。
【0061】
より具体的には、エージェント954aの状態監視部955aは、ジョブ実行計算機902a内で障害等のイベントが発生した場合は、ジョブマネージャ951にイベント通知メッセージを送信する。また、制御部956aは、ジョブマネージャ951からネットワーク経由で送信されてきた指示を受信し、その指示に応じて、指定されたジョブをジョブ実行計算機902aのプロセッサを用いて実行開始させたり、ジョブ実行計算機902aで実行中のジョブを停止したり、指定されたジョブをジョブ実行計算機902aで再実行したりといった、ジョブ運用管理のための処理を実行する。エージェント954bと、エージェント954bに含まれる状態監視部955b,制御部956bについても、機能はそれぞれエージェント954a,状態監視部955a,制御部956aと同様である。
【0062】
なお、本実施例ではジョブマネージャ951、エージェント954a,954bはプログラムであるとしたが、これらの一部または全部がプログラムなくてはいけないことを意味するわけではない。例えば、ジョブ実行計算機902aのダウンを検出して、イベント通知メッセージをジョブマネージャ951に送信するため、ジョブ実行計算機902aがダウンしていても、前記イベント通知メッセージが送信できるよう、エージェント954aの状態監視部955aの一部または全部が、ジョブ実行計算機902aに何らかの方式で接続(ネットワーク903経由でも良い)されたハードウェアとして実現されていても良い。
(11)情報処理システムにおけるポリシールールの利用
図9を用いて、情報処理システム900において、ジョブマネージャ951のルールエンジン部953で読み込まれるポリシールールリスト600が、どのように使われるかを示す。なお、前述の通り、ジョブマネージャ951は、ジョブ実行スケジュール200、アクションリスト400、イベントリスト500も読み込んでおり、そのためルールエンジン部953は、ジョブ実行スケジュール200、アクションリスト400、イベントリスト500の内容も参照できる。
【0063】
通常、情報処理システム900では、ジョブマネージャ951が、ジョブ実行スケジュール200を参照して、エージェント954aやエージェント954bと通信して、ジョブ実行スケジュールに記載された開始時刻に、指定された計算機名の計算機において、指定されたジョブの実行を指示し、複数のジョブが実行される。
【0064】
このような状況で、情報処理システム900内で、ジョブを構成するプログラムが異常終了するなどの障害を含むイベントが発生すると、まずそのジョブを実行していたジョブ実行計算機で実行されているエージェントの状態監視部がそれを検出し、前記の通り、イベントが発生したジョブ実行計算機の計算機名、イベントが発生した時刻、およびイベントの種類が含むイベント通知メッセージを作成し、ジョブマネージャ951に送信する。ジョブマネージャ951のルールエンジン部953は、当該イベント通知メッセージを受信し、当該イベント通知メッセージからイベントが発生したジョブ実行計算機の計算機名とイベントが発生した時刻を取得し、これを用いてジョブ実行スケジュールを検索することにより、イベントが発生したジョブのジョブ名を特定する。なお、当該ジョブ名は、エージェントから送信される時点で、イベント通知メッセージに含まれていても良い。この場合はジョブ実行スケジュールを検索する処理は不要である。
【0065】
次に、ルールエンジン部953は、イベント通知メッセージに格納されているイベントの種類を取得し、それを用いてイベントリストを検索し、該当するイベントの種類を持つ行を取得し、当該行に格納された通番を取得する。
【0066】
次に、ルールエンジン部953は、取得したジョブ名と、イベントの発生時刻と、通番を用いて、ポリシールールリストを検索し、該当するポリシールール(ポリシールールリスト600(図6)に記載されたポリシールールのいずれか)を取得し、そのポリシールールに格納されたアクションの通番を取得する。さらにルールエンジン部953は、取得したアクションの通番を用いて、アクションリストを検索し、アクションの通番と同じ通番を持つ行(すなわちアクション)を取得する。
【0067】
次に、ルールエンジン部953は、取得したアクションに記載された、ユーザインタフェース部へのアクションおよび制御部へのアクションを実行する。例えばユーザインタフェース部へのアクションおよび制御部へのアクションが、何らかのプログラミング言語によりサブルーチンとして記述されている場合は、そのプログラミング言語の処理系を呼び出し、ユーザインタフェース部へのアクションおよび制御部へのアクションに記載されている内容を実行させる。通常、ユーザインタフェース部へのアクションを実行した結果、ユーザインタフェース部952が呼び出され、端末へのエラーメッセージの表示や、アラームの始動など、イベントの発生を情報処理システムのシステム管理者に通知するための処理が、自動的に実行される。また、制御部へのアクションを実行した結果、制御部956aまたは制御部956bのどちらか、またはすべてに対してジョブマネージャから指示のメッセージがネットワーク903を経由して送信され、その結果としてジョブの再実行や、ジョブの別の計算機での再実行や、ジョブの停止などの運用管理処理が、自動的に実行される。
【0068】
【発明の効果】
本発明においては、ジョブごとに設定されるポリシールールは、各ジョブの投入者ではなく、情報処理システムのシステム管理者によって決定され、常に情報処理システム全体の損害額が最小になるようなポリシールールが設定される。従って、ジョブマネージャは、本発明によって生成されたポリシールールを用いて、情報処理システム全体として最適になるように、自動運用管理を行うことができる。
特に、本発明においては、ジョブごとに設定されるポリシールールは、各ジョブの投入者ではなく、情報処理システムのシステム管理者によって決定される。また、実行予定のジョブごとに、イベントが発生する可能性のある時刻とイベントの種類の可能なあらゆる組合せにつき、常に情報処理システム全体の損害額が最小になるようなアクションが決定され、ポリシールールとして設定される。従って、ジョブマネージャは、本発明によって生成されたポリシールールを用いて、障害等のイベントの発生時刻やイベントの種類を加味した、情報処理システム全体として常に損害額が最小となるような、きめ細かくかつ最適な自動運用管理を行うことができる。
【図面の簡単な説明】
【図1】本発明の実施例における、損害額の計算方法を示す流れ図である。
【図2】本発明の実施例における、ジョブ実行スケジュール200の構造と内容を示す図である。
【図3】本発明の実施例における、ジョブ実行条件300の構造と内容および具体例を示す図である。
【図4】本発明の実施例における、アクションリスト400の構造と内容および具体例を示す図である。
【図5】本発明の実施例における、イベントリスト500の構造と内容および具体例を示す図である。
【図6】本発明の実施例における、ポリシールールリスト600の構造と内容および具体例を示す図である。
【図7】本発明の実施例における、ポリシールール作成方法を示す流れ図である。流れ図は図8に続いている。
【図8】図7から続く、本発明の実施例における、ポリシールール作成方法を示す流れ図である。
【図9】本発明の実施例における、ジョブを実行する情報処理システムの構成を示す図である。
【図10】本発明の実施例における、ポリシールールリストを生成するポリシールール生成環境の構成を示す図である。
【符号の説明】
150 ポリシールール生成環境
152 ルール生成ツール
200 ジョブ実行スケジュール
300 ジョブ実行条件
400 アクションリスト
500 イベントリスト
600 ポリシールールリスト
900 情報処理システム
951 ジョブマネージャ
952 ユーザインタフェース部
953 ルールエンジン部
954a,954b エージェント
955a,955b 状態監視部
956a,956b 制御部。
Claims (9)
- 障害等のイベントが発生した場合のアクションを記載したポリシールールを用いて、情報処理システムにおいて、複数のジョブの実行時の運用管理を自動実行するためのポリシールールの生成方法であって、
記憶装置は、
前記複数のジョブの終了予定時刻を含む、ジョブ実行スケジュールを格納するステップと、
前記複数のジョブのそれぞれにつき、実行の制約条件と、該実行の制約条件を満たせない場合の損害額の評価方法を記載したジョブ実行条件を格納するステップと、
を実行し、
ポリシールール生成計算機の有するプロセッサによって実行されるルール生成ツールは、
前記ジョブ実行スケジュール及び前記前記ジョブ実行条件を参照し、特定の前記ジョブにおいて、特定の時刻に特定のイベントが発生した場合に、特定のアクションを取ったときの損害額を評価するステップと、
前記損害額を評価するステップを、特定のジョブ、特定の時刻及び特定のイベントにおいて、複数準備されたアクションの全てに対して実行し、評価した損害額が最小になる場合のアクションを決定してポリシールールを生成するステップと、
を行うことを特徴とするポリシールール生成方法。 - 前記ジョブ実行条件を格納するステップは、前記実行の制約条件として、ジョブの要求終了時刻を記載するステップを含むことを特徴とする請求項1に記載のポリシールール生成方法。
- 、
前記ジョブ実行条件を格納するステップは、前記制約条件を満たせない場合の損害額を評価する方法として関数を記載するステップを含み、
前記損害額を評価するステップは、前記関数を実行するステップを含むことを特徴とする請求項1に記載のポリシールール生成方法。 - 前記関数はジョブ終了の遅延時間を引数とする関数であり、前記関数を実行するステップではジョブ終了の遅延時間を計算することを特徴とする請求項3に記載のポリシールール生成方法。
- 請求項1に記載のポリシールール生成方法において、
前記ルール生成ツールは、
1つ以上の前記アクションのそれぞれを、前記ジョブ実行スケジュールを変更するサブルーチンとして記述するステップとを更に行い、
前記特定のアクションを取った時の損害額を評価するステップは、当該アクションを記述したサブルーチンを実行し、前記ジョブ実行スケジュールを変更するステップを含むことを特徴とするのポリシールール生成方法。 - 前記評価した損害額が最小になる場合のアクションを決定するステップを、1つ以上のジョブが実行されている予定の、すべての時刻において実行することを特徴とする請求項1記載のポリシールール生成方法。
- ジョブを実行するジョブ実行計算機と、前記ジョブを前記ジョブ実行計算機に割り当てる運用管理計算機とを有する情報処理システムが、複数のジョブの運用管理を自動実行する方法であって、
前記運用管理計算機が実行するジョブマネージャは、障害等のイベントが発生した場合 、請求項1ないし請求項6のいずれかに記載のポリシールール生成方法で生成したポリシールールに基づいて処理を行うことを特徴とするジョブ運用管理の自動実行方法。 - 障害等のイベントが発生した場合のアクションを記載したポリシールールを用いて、情報処理システムにおいて、複数のジョブの実行時の運用管理を自動実行するためのポリシールールの生成方法であって、
記憶装置は、
前記ジョブの開始時刻、前記ジョブの終了予定時刻及び前記ジョブを実行する計算記名を含む、ジョブ実行スケジュールを格納するステップと、
前記複数のジョブのそれぞれにつき、実行の制約条件と、該実行の制約条件を満たせない場合の損害額の評価方法を記載したジョブ実行条件を作成するステップと、
を実行し、
ポリシールール生成計算機の有するプロセッサによって実行されるルール生成ツールは、
前記ジョブ実行スケジュール及び前記ジョブ実行条件を参照し、特定の前記ジョブにおいて、特定のイベントが発生した場合に、特定のアクションを取ったときの、前記特定のジョブ及び前記特定のジョブが実行される計算機と同じ計算機で実行予定の後続のジョブとについての損害額を評価するステップと、
前記損害額を評価するステップを、特定のジョブと、特定のイベントにおいて、複数準備されたアクションの全てに対して実行し、評価した損害額が最小になる場合のアクションを決定してポリシールールリストを作成するステップと、
を実行することを特徴とするポリシールール生成方法。 - 請求項8において、
前記特定のイベントの障害の種類によって、取りうるアクションを記載したアクションリストを格納し、
前記特定のアクションは、前記アクションリストに応じて指定されることを特徴とするポリシールール生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003086919A JP4045991B2 (ja) | 2003-03-27 | 2003-03-27 | ポリシールールの生成方法およびそれを用いたジョブ運用管理方法 |
US10/809,435 US7454752B2 (en) | 2003-03-27 | 2004-03-26 | Method for generating policy rules and method for controlling jobs using the policy rules |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003086919A JP4045991B2 (ja) | 2003-03-27 | 2003-03-27 | ポリシールールの生成方法およびそれを用いたジョブ運用管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004295469A JP2004295469A (ja) | 2004-10-21 |
JP4045991B2 true JP4045991B2 (ja) | 2008-02-13 |
Family
ID=32985146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003086919A Expired - Fee Related JP4045991B2 (ja) | 2003-03-27 | 2003-03-27 | ポリシールールの生成方法およびそれを用いたジョブ運用管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7454752B2 (ja) |
JP (1) | JP4045991B2 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844969B2 (en) * | 2004-06-17 | 2010-11-30 | Platform Computing Corporation | Goal-oriented predictive scheduling in a grid environment |
US20060290948A1 (en) * | 2005-06-27 | 2006-12-28 | Sharp Laboratories Of America, Inc. | Undesirable output detection in imaging device |
US8719825B2 (en) * | 2005-08-17 | 2014-05-06 | Sap Ag | Prompting for execution or delay of scheduled job |
JP4478196B2 (ja) * | 2006-02-28 | 2010-06-09 | 富士通株式会社 | 監視装置、監視プログラム、および情報処理システム |
JP2007287007A (ja) * | 2006-04-19 | 2007-11-01 | Orion Denki Kk | 操作タスク予約機能を備えた情報処理装置及び操作タスク予約処理プログラム及び操作タスクの予約処理方法 |
US7529827B2 (en) | 2006-06-29 | 2009-05-05 | Stratavia Corporation | Standard operating procedure automation in database administration |
US7571225B2 (en) * | 2006-06-29 | 2009-08-04 | Stratavia Corporation | Standard operating procedure automation in database administration |
US20090089772A1 (en) * | 2007-09-28 | 2009-04-02 | International Business Machines Corporation | Arrangement for scheduling jobs with rules and events |
US8756569B2 (en) * | 2007-12-17 | 2014-06-17 | International Business Machines Corporation | Deterministic pseudo-random fault event recordation and injection tool |
US8271982B2 (en) * | 2008-05-08 | 2012-09-18 | International Business Machines Corporation | Rescheduling jobs for execution by a computing system |
JP5245722B2 (ja) * | 2008-10-29 | 2013-07-24 | 富士通株式会社 | スケジューラ、プロセッサシステム、プログラム生成装置およびプログラム生成用プログラム |
US9178842B2 (en) | 2008-11-05 | 2015-11-03 | Commvault Systems, Inc. | Systems and methods for monitoring messaging applications for compliance with a policy |
US8261275B2 (en) * | 2009-06-29 | 2012-09-04 | Oracle America, Inc. | Method and system for heuristics-based task scheduling |
US8261274B2 (en) * | 2009-06-29 | 2012-09-04 | Oracle America, Inc. | Method and system for managing a task |
JP5422342B2 (ja) * | 2009-11-10 | 2014-02-19 | 株式会社日立製作所 | インシデント管理方法および運用管理サーバ |
US9009708B2 (en) * | 2010-03-31 | 2015-04-14 | Sap Se | Method and system to effectuate recovery for dynamic workflows |
EP2420929A1 (en) * | 2010-08-18 | 2012-02-22 | Software AG | System and method for ad-hoc modification of a process during runtime |
WO2012120667A1 (ja) * | 2011-03-09 | 2012-09-13 | 株式会社日立製作所 | 計算機システム、データ複製スケジューリング方法及び計算機読み取り可能な非一時的記憶媒体 |
US20130290213A1 (en) * | 2012-04-30 | 2013-10-31 | Hotel DNA | System and method for managing events for a facility |
EP2987082A1 (en) * | 2013-04-19 | 2016-02-24 | Cubic Corporation | Reservation scheduler for real-time operating systems in wireless sensor networks |
US9678793B2 (en) * | 2015-02-26 | 2017-06-13 | International Business Machines Corporation | Resource-based job scheduling |
US9552229B2 (en) * | 2015-05-14 | 2017-01-24 | Atlassian Pty Ltd | Systems and methods for task scheduling |
US10120721B2 (en) * | 2015-08-28 | 2018-11-06 | Vmware, Inc. | Pluggable engine for application specific schedule control |
JP6489978B2 (ja) * | 2015-09-04 | 2019-03-27 | 株式会社日立ソリューションズ | 計算機システム及びデータ配布方法 |
EP3470980A1 (en) * | 2017-10-10 | 2019-04-17 | OpenSynergy GmbH | Control unit, method for operating a control unit, method for configuring a virtualization system of a control unit |
US11275527B1 (en) * | 2019-06-11 | 2022-03-15 | Western Digital Technologies, Inc. | Execution condition embedded in a command or a request to storage device |
US11941253B2 (en) * | 2021-04-22 | 2024-03-26 | EMC IP Holding Company, LLC | Storage system and method using persistent memory |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0588917A (ja) | 1991-09-26 | 1993-04-09 | Kobe Nippon Dekin Software Kk | ジヨブスケジユーリング方式 |
US5963911A (en) * | 1994-03-25 | 1999-10-05 | British Telecommunications Public Limited Company | Resource allocation |
JP3588485B2 (ja) * | 1994-08-26 | 2004-11-10 | 富士通株式会社 | プロセススケジューリング方式 |
US5655081A (en) * | 1995-03-08 | 1997-08-05 | Bmc Software, Inc. | System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture |
US6889243B1 (en) * | 1995-04-13 | 2005-05-03 | Hitachi, Ltd. | Job scheduling analysis method and system using historical job execution data |
JPH1078894A (ja) * | 1996-09-03 | 1998-03-24 | Hitachi Ltd | 計算機システムの障害回復支援方法 |
JPH11134235A (ja) * | 1997-10-31 | 1999-05-21 | Hitachi Ltd | 外部記憶装置故障時の回復支援方法 |
US6504621B1 (en) * | 1998-01-28 | 2003-01-07 | Xerox Corporation | System for managing resource deficient jobs in a multifunctional printing system |
US6205468B1 (en) * | 1998-03-10 | 2001-03-20 | Lucent Technologies, Inc. | System for multitasking management employing context controller having event vector selection by priority encoding of contex events |
JP3537356B2 (ja) * | 1998-12-09 | 2004-06-14 | 株式会社日立製作所 | ジョブシステムにおける遅延要因解析方法 |
US6779016B1 (en) * | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
JP3579826B2 (ja) * | 2000-08-09 | 2004-10-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理システム、データロギングシステム、システムパフォーマンスの測定方法、および、記録媒体 |
US7089557B2 (en) * | 2001-04-10 | 2006-08-08 | Rusty Shawn Lee | Data processing system and method for high-efficiency multitasking |
US7174379B2 (en) * | 2001-08-03 | 2007-02-06 | International Business Machines Corporation | Managing server resources for hosted applications |
JP2003114811A (ja) * | 2001-10-05 | 2003-04-18 | Nec Corp | 自動障害復旧方法及びシステム並びに装置とプログラム |
-
2003
- 2003-03-27 JP JP2003086919A patent/JP4045991B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-26 US US10/809,435 patent/US7454752B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20040194107A1 (en) | 2004-09-30 |
US7454752B2 (en) | 2008-11-18 |
JP2004295469A (ja) | 2004-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4045991B2 (ja) | ポリシールールの生成方法およびそれを用いたジョブ運用管理方法 | |
US7912804B1 (en) | Change management in a distributed system based on triggered policy rules | |
US10101991B2 (en) | Managing a software-patch submission queue | |
JP5598235B2 (ja) | 複合イベント処理装置および複合イベント処理方法 | |
US8589727B1 (en) | Methods and apparatus for providing continuous availability of applications | |
KR20130062991A (ko) | 가상 서버 제어 시스템 및 프로그램 | |
US11055153B2 (en) | Quantification of compute performance across multiple independently executed microservices with a state machine supported workflow graph | |
JP2015049550A (ja) | 制御プログラム、制御方法および制御装置 | |
JP2005527916A (ja) | 作業リスト予報のためのシステムおよび方法 | |
US10951509B1 (en) | Methods, systems, and computer readable media for providing intent-driven microapps for execution on communications network testing devices | |
Jayaram et al. | FfDL: A flexible multi-tenant deep learning platform | |
US20070185929A1 (en) | Method and apparatus for processing monitoring | |
Yin et al. | Availability modeling and analysis for data backup and restore operations | |
JP5475602B2 (ja) | 非同期処理サービス管理システム | |
US20100115251A1 (en) | Method, system, and computer program product for optimizing runtime branch selection in a flow process | |
US20230021858A1 (en) | Method and system for improved sentiment analysis | |
Mosser et al. | Undoing event-driven adaptation of business processes | |
JP4997144B2 (ja) | マルチタスク処理装置およびその方法 | |
US20230103795A1 (en) | Method and system for predicting batch processes | |
JP2009282581A (ja) | ビジネスプロセス実行装置およびビジネスプロセス実行方法 | |
US20240070679A1 (en) | Scheduling automated workflows to conserve computing resources | |
JP2012221473A (ja) | プロセス管理装置及びプロセス管理方法 | |
JP5155747B2 (ja) | システム障害発生時のビジネスインパクト分析モニタシステム | |
CN116166373A (zh) | 容器编辑方法、设备、存储介质和程序产品 | |
JP2005149332A (ja) | ワークフロー管理システム及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051011 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070928 |
|
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: 20071030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071112 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131130 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |