JP2011118794A - バッチジョブ処理時間推定プログラム、方法及び装置 - Google Patents

バッチジョブ処理時間推定プログラム、方法及び装置 Download PDF

Info

Publication number
JP2011118794A
JP2011118794A JP2009277239A JP2009277239A JP2011118794A JP 2011118794 A JP2011118794 A JP 2011118794A JP 2009277239 A JP2009277239 A JP 2009277239A JP 2009277239 A JP2009277239 A JP 2009277239A JP 2011118794 A JP2011118794 A JP 2011118794A
Authority
JP
Japan
Prior art keywords
batch
job
data
time
batch job
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.)
Granted
Application number
JP2009277239A
Other languages
English (en)
Other versions
JP5463885B2 (ja
Inventor
Shinji Kikuchi
慎司 菊池
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009277239A priority Critical patent/JP5463885B2/ja
Priority to US12/959,648 priority patent/US8490108B2/en
Publication of JP2011118794A publication Critical patent/JP2011118794A/ja
Application granted granted Critical
Publication of JP5463885B2 publication Critical patent/JP5463885B2/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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】より正確にバッチジョブの終了時刻予測を行う。
【解決手段】ログデータ格納部からログデータを読み出し、当該ログデータに含まれる開始時刻及び終了時刻からバッチジョブ間の順序関係を表す順序関係データを生成する。また、ログデータに含まれる開始時刻及び終了時刻から、バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各バッチジョブについて、相関関係に関するデータを含むジョブ処理時間データを生成する。複数のバッチジョブを実行している監視対象システムから複数のバッチジョブの実行状況データを受け取り、当該実行状況データと順序関係データとジョブ処理時間データとから複数のバッチジョブの終了時刻を予測する。
【選択図】図16

Description

本技術は、バッチジョブの処理時間を推定する技術に関する。
大規模システムにおいては多数のバッチジョブが実行される。バッチジョブとは、例えば1日の売上計算処理といった、所定期間毎にまとめて行うジョブである。典型的には、プログラムやスクリプトによりある程度まとまった量のデータが処理される。バッチジョブ同士には様々な形態での順序関係があり、相互に連動することが多い。例えば、発注確定処理が終了してから、売上計算処理を開始するといった場合がある。また、バッチジョブAがファイルCを出力すると、待機していたバッチジョブBが当該ファイルCの処理を開始するといった場合もある。
しかしながら、バッチジョブの順序関係は、簡単に確認できない場合がある。例えば、バッチジョブAのためのプログラムから出力されるメッセージに応じてバッチジョブBを開始している場合には、プログラムを解析しなければその順序関係を特定できない。これは事実上不可能である。また、近年企業合併が多く行われているが、その際複数のシステムの統合も行われる。そのような場合に、開発者や運用管理担当者がばらばらであると、知りたいバッチ順序関係定義情報にアクセスできない場合も出てくる。
ところで、バッチジョブの実行は、「時間通り」であるが重要である。すなわち、バッチジョブは、通常の業務処理には影響を与えないように夜間に実行されることが多いが、例えば、朝9時の業務開始に間に合うためには、バッチジョブは朝5時までに終了しなければならないというような要件がある。従って、所定の時刻までにバッチ処理が完了しない場合には、早くその事実を知りたいという要望がある。これは、翌日に延ばすことができるバッチジョブを延期する等の対処方法を検討する必要があるためである。すなわち、予め定められたデッドラインを超過してからでは遅すぎで、調整ができない場合が生ずる。
このため、ジョブの自動監視を通じてその後の重要ジョブの遅延を予測することで、システム全体についての監視運用の厳格化及び効率化をリアルタイムで実現するための技術が存在している。具体的には、履歴情報から、同一のジョブの開始/終了時刻情報を抽出し、監視スケジュールにおけるジョブの開始/終了時刻と現在の時刻との誤差に基づき、予め定められた警告情報を送付するものである。しかしながら、ジョブの順序関係を適切に抽出するような処理等を実施していないため、実行状況に応じた精度の高いジョブ終了時刻の予測を行うことができない。バッチジョブAがファイルCを出力すると、待機していたバッチジョブBが当該ファイルCの処理を開始するといった依存関係を持った並列処理などを取り扱うことができない。
また、人間が実行した業務処理の履歴情報から、業務の一般的な処理順序パターンを抽出する技術も存在している。しかしながら、人間の業務処理の順序が分かったからといって、バッチジョブについての処理順序パターンを解析できるわけではない。上で述べたようなバッチジョブ特有のケース、すなわちバッチジョブAがファイルCを出力すると、待機していたバッチジョブBが当該ファイルCの処理を開始するといった場合には対処できない。
さらに、複数のジョブが実行できる情報処理システムにおいて、計算機の負荷が変動していても、各ジョブの実行終了時間の予測精度の向上を図るための技術が存在している。具体的には、並列に実行される複数のジョブのそれぞれの実行中にそれぞれのジョブの処理量に関する情報を収集し、収集された情報(先に終了しなければならない優先ジョブリストを含む)に基づき、それぞれのジョブの予想実行終了時刻を計算し、それぞれのジョブに対して計算された予想実行終了時刻とそれぞれのジョブの希望実行終了時刻を計算するものである。しかし、この技術では、リソースの利用状況から単体ジョブの進捗率を計算し、そこから単体ジョブの終了時刻を予測するものである。これでは、ジョブ間の単純な関係しか把握できないので、終了時刻をより正確に予測することができない。
特開2004−5205号公報 特開2007−328712号公報 特開平5−265775号公報
以上述べたように、上で述べたような従来技術では、実際の監視対象システムにおいて実行されているバッチジョブ間に存在する多様な関係を把握していないので、正確な終了時刻予測ができていない。
従って、本技術の目的は、より正確にバッチジョブの終了時刻予測を行うための技術を提供することである。
本バッチジョブ処理時間推定方法は、複数のバッチジョブについて開始時刻及び終了時刻を含むログデータを格納するログデータ格納部からログデータを読み出し、当該ログデータに含まれる開始時刻及び終了時刻からバッチジョブ間の順序関係を表す順序関係データを生成し、順序関係データ格納部に格納する順序関係データ生成ステップと、ログデータ格納部からログデータを読み出し、当該ログデータに含まれる開始時刻及び終了時刻から、バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各バッチジョブについて、相関関係に関するデータを含むジョブ処理時間データを生成し、ジョブ処理時間データ格納部に格納するジョブ処理時間データ生成ステップと、複数のバッチジョブを実行している監視対象システムから複数のバッチジョブの実行状況データを受け取り、当該実行状況データと順序関係データ格納部に格納されているデータとジョブ処理時間データ格納部に格納されているデータとから複数のバッチジョブの終了時刻を予測する予測ステップとを含む。
より正確なバッチジョブの終了時刻予測が可能となる。
図1は、システム概要図である。 図2は、ログデータ格納部に格納されるデータの一例を示す図である。 図3は、前処理の処理フローを示す図である。 図4は、ジョブリストの一例を示す図である。 図5は、直接連続起動関係を表す図である。 図6は、待ち合わせ関係を表す図である。 図7は、順序関係推定処理の処理フローを示す図である。 図8は、順序関係データ格納部に格納されているデータの一例を示す図である。 図9は、順序関係データを模式的に示す図である。 図10は、処理時間相関推定処理の処理フローを示す図である。 図11は、処理時間の算出方法について説明するための図である。 図12は、処理時間の相関を模式的に示す図である。 図13は、ジョブ処理時間データ格納部に格納されるデータの一例を示す図である。 図14は、相関関係に関するデータを示す図である。 図15は、ジョブネットモデルの一例を示す図である。 図16は、バッチジョブ実行時の処理の処理フローを示す図である。 図17は、監視データ格納部に格納されるデータの一例を示す図である。 図18は、コンピュータの機能ブロック図である。 図19は、バッチジョブ処理時間推定装置の機能ブロック図である。
本技術の実施の形態に係るシステム概要図を図1に示す。バッチジョブを実行する監視対象システム200は、バッチジョブ230の実行状況を計測する実行状況計測部210と、実行状況計測部210によりバッチジョブ230の実行状況を表すデータとして出力されるログデータを格納するログデータ格納部220とを有する。
監視対象システム200は、ネットワークでバッチジョブ処理時間推定装置100に接続されている。バッチジョブ処理時間推定装置100は、(A)監視対象システム200の実行状況計測部210からログデータを取得するログ取得部110と、(B)ログ取得部110により取得されたログデータを格納するログデータ格納部111と、(C)ログデータ格納部111に格納されているデータを用いて処理を実施するジョブネットモデル生成部120と、(D)ジョブネットモデル生成部120の処理結果を格納する順序関係データ格納部131と、(E)ジョブネットモデル生成部120の処理結果を格納するジョブ処理時間データ格納部132と、(F)順序関係データ格納部131に格納されているデータを用いて監視対象システム200の実行状況計測部210から現在実行中のバッチジョブ230の実行状況データを取得するジョブ実行状況監視部135と、(G)順序関係データ格納部131及びジョブ処理時間データ格納部132に格納されているデータとジョブ実行状況監視部135からの出力とを用いて処理を実施する終了時刻予測部136と、(H)終了時刻予測部136が用いるデータを格納する監視データ格納部137と、(I)デッドライン定義データ格納部133と、(J)通報先データ格納部134と、(K)デッドライン定義データ格納部133及び通報先データ格納部134に格納されているデータと終了時刻予測部136の出力とを用いて処理を行うデッドライン超過予測部138とを有する。
ジョブネットモデル生成部120は、ログデータ格納部111に格納されているデータを用いて処理を実施して処理結果である順序関係データを順序関係データ格納部131に格納する順序関係抽出部121と、ログデータ格納部111と順序関係データ格納部131とに格納されているデータを用いて処理を実施して処理結果であるジョブ処理時間データをジョブ処理時間データ格納部132に格納するジョブ処理時間推定部122を含む。
バッチジョブ処理時間推定装置100は、例えばパーソナルコンピュータや携帯電話機である運用担当者端末300とネットワークにより接続されている。
次に、図2乃至図17を用いてバッチジョブ処理時間推定装置100により実施される前処理の処理内容について説明する。なお、ログ取得部110が、既に実行状況計測部210から過去所定期間内のログデータを取得して、ログデータ格納部111に格納しているものとする。ログデータ格納部111には、例えば図2に示すようなデータを格納している。図2の例では、実行されたバッチジョブ毎に、ジョブ名と、開始時刻と、終了時刻とが登録される。図2の例では、5日分のログデータのみ示しているが、より多くの日数分のデータを取得するようにしても良い。
次に、ジョブネットモデル生成部120の順序関係抽出部121は、ログデータ格納部111に格納されているログデータを読み込み(図3:ステップS1)、全ジョブ名を抽出してジョブリストを生成し、例えば順序関係データ格納部131に格納する(ステップS3)。例えば、1度でも出現したバッチジョブのジョブ名をリスト化して、ノード番号を割り当てる。すなわち図4に示すように、ノード番号とジョブ名とが対応付けて格納される。
そして、順序関係抽出部121は、順序関係推定処理を実施する(ステップS5)。順序関係推定処理については図5乃至図9を用いて説明する。
順序関係推定処理においては、図5に示すような直接連続起動(next)関係(直接連続起動パターンとも呼ぶ)と図6に示すような待ち合わせ関係(activate)関係(待ち合わせパターンとも呼ぶ)とを抽出する。図5に示すように、先行バッチジョブであるバッチジョブAの終了直後に後続バッチジョブであるバッチジョブBが起動することが多い場合には、バッチジョブAとバッチジョブBの間にはnext関係があると判定する。より具体的には、バッチジョブAの終了時刻から基準値以内(例えば1秒以内)にバッチジョブBの開始時刻が記録されている場合には、バッチジョブAからバッチジョブBへnext関係という順序関係が存在すると推定される。
また、図6に示すように、先行バッチジョブであるバッチジョブAの終了時刻より前にバッチジョブBが開始実行され、バッチジョブBの終了時刻より前にバッチジョブAが終了することが多い場合には、バッチジョブBはバッチジョブAの発するメッセージやファイル生成を待機していると推定して、バッチジョブAとバッチジョブBの間にはactivate関係があると判定する。なお、バッチジョブBの起動時刻が定時であるということを要件にしても良い。
以上のような関係を図7乃至図9に示す処理によってログデータから抽出する。順序関係抽出部121は、ジョブリストから未処理のバッチジョブa及びbを選択する(ステップS11)。そして、順序関係抽出部121は、読み込んだログデータから、バッチジョブa及びbのログデータを抽出し、バッチジョブa及びbの開始時刻及び終了時刻を取り出す(ステップS13)。なお、バッチジョブaのログの数又はバッチジョブbのログの数をログの組み合わせ数としてもよいし、全ログ数を2で除した数をログの組み合わせ数としてもよい。
そして、順序関係抽出部121は、ログの各組み合わせについて、バッチジョブaの終了時刻とバッチジョブbの開始時刻との差が例えば1秒以内で直接連続起動パターンに合致するか否かをバッチジョブaのログとバッチジョブbのログとの組み合わせにて判断する。同様に、ログの各組み合わせについて、バッチジョブbの終了時刻とバッチジョブaの開始時刻との差が例えば1秒以内で直接連続起動パターンに合致するか否かを判断する。そして、順序関係抽出部121は、バッチジョブaからバッチジョブbへの順番と、バッチジョブbからバッチジョブaへの順番とを分けて、合致する回数を計数する(ステップS15)。例えば図2の例で、バッチジョブJ1.shからバッチジョブJ2.shへの遷移については、ログの組み合わせ数5に対して直接連続起動パターンに合致する回数が「4回」である。また、バッチジョブJ2.shからバッチジョブJ3.shへの遷移については、ログの組み合わせ数5に対して直接連続起動パターンに合致する回数が「5回」である。
その後、順序関係抽出部121は、直接連続起動パターンに合致するログの組み合わせが閾値以上の確率で発生しているか判断する(ステップS17)。例えば80%を閾値とすると、上で述べたように、バッチジョブJ1.shからバッチジョブJ2.shへの遷移と、バッチジョブJ2.shからバッチジョブJ3.shへの遷移は、高確率での直接連続起動パターンに該当すると判断される。
直接連続起動パターンに合致するログの組み合わせが閾値以上の確率で発生すると判断されると、順序関係抽出部121は、バッチジョブa及びbの関係にnext関係を設定する(ステップS19)。順番も関係するので、バッチジョブaからバッチジョブbへの遷移とバッチジョブbからバッチジョブaへの遷移とは区別する。上で述べた例では、バッチジョブJ1.shからバッチジョブJ2.shへの遷移に対してnext関係を設定する。また、バッチジョブJ2.shからバッチジョブJ3.shへの遷移に対してもnext関係を設定する。このように設定される関係は順序関係データとして、順序関係データ格納部131に格納される。そして処理はステップS27に移行する。
順序関係データ格納部131に格納されるデータの一例を図8に示す。図8の例では、リンクIDと、先行するバッチジョブである先行ジョブのノード番号と、後続のバッチジョブである後続ジョブのノード番号と、関係のタイプとを登録するようになっている。ステップS19では、リンクL1及びL2のように、検出したnext関係についてリンクIDを割り当てるとともに、先行するバッチジョブに割り当てられているノード番号と、後続のバッチジョブに割り当てられているノード番号とが登録される。なお、ステップS19では図8の3行目のデータは登録されない。
一方、直接連続起動パターンに合致するログの組み合わせが閾値未満の確率で発生するか又は全く発生しない場合には、順序関係抽出部121は、ログの各組み合わせについて、バッチジョブaの終了時刻よりバッチジョブbの開始時刻が前であり且つバッチジョブaの終了時刻よりバッチジョブbの終了時刻が後であるという待ち合わせパターンに合致するか判断する。同様に、ログの各組み合わせについて、バッチジョブbの終了時刻よりバッチジョブaの開始時刻が前であり且つバッチジョブbの終了時刻よりバッチジョブaの終了時刻が後であるという待ち合わせパターンに合致するか判断する。なお、後続のバッチジョブについては、定時起動という要件を課しても良い。順序関係抽出部121は、バッチジョブaからバッチジョブbへの順番と、バッチジョブbからバッチジョブaへの順番とを分けて、合致する回数を計数する(ステップS21)。例えば図2の例で、バッチジョブJ2.shからバッチジョブJ4.shへの遷移については、ログの組み合わせ数5に対して待ち合わせパターンに合致する回数が「5回」である。
その後、順序関係抽出部121は、待ち合わせパターンに合致するログが閾値以上の確率で発生するか判断する(ステップS23)。例えば80%を閾値とすると、上で述べたバッチジョブJ2.shからバッチジョブJ4.shへの遷移については、高確率での待ち合わせパターンに該当すると判断される。
待ち合わせパターンに合致するログの組み合わせが閾値以上の確率で発生すると判断される場合には、順序関係抽出部121は、バッチジョブa及びbの間にactivate関係を設定する(ステップS25)。順番も関係するので、バッチジョブaからバッチジョブbへの遷移とバッチジョブbからバッチジョブaへの遷移については区別する。上で述べた例では、バッチジョブJ2.shからバッチジョブJ4.shへの遷移に対してactivate関係を設定する。このように設定される関係は順序関係データとして、順序関係データ格納部131に格納される。図8の3行目に示すように、新たに検出した順序関係にリンクIDを割り当てると共に、先行するバッチジョブに割り当てられているノード番号と、後続のバッチジョブに割り当てられているノード番号とを対応付けて格納する。
一方、待ち合わせパターンに合致するログの組み合わせが閾値未満の確率で発生するか又は全く発生しない場合、若しくはステップS19又はS25の後に、順序関係抽出部121は、ジョブリストにおいて全てのバッチジョブのペアについて処理したか判断する(ステップS27)。未処理のペアが存在する場合にはステップS11に戻る。一方、全てのペアについて処理した場合には、元の処理に戻る。
このような処理を実施することによって、例えば図8に示すような、バッチジョブ間の順序関係が得られる。これを有向グラフとして表すと図9に示すようになる。このように本実施の形態ではリンクの種類が2種類であるが、他のパターンで関係付けられるバッチジョブが存在する場合には、リンクの種類を増やすようにしても良い。なお、場合によっては有向グラフにおいてループが生成されるようにリンクが設定される場合がある。しかしながら、有向グラフにおいてループが存在することは終了時刻予測においては好ましくない。従って、例えばループが発生した場合には、発生確率の最も低いリンクを切断するといった処理を付加的に実施する場合もある。
なお、以下でも述べるように、activate関係を特定することによって、処理時間の相関関係がより正確に把握できるようになる。
図3の処理の説明に戻って、次に、ジョブ処理時間推定部122は、ログデータ格納部111と順序関係データ格納部131とに格納されているデータを用いて、処理時間相関推定処理を実施する(ステップS7)。この処理時間相関推定処理については図10乃至図15を用いて説明する。
ジョブ処理時間推定部122は、順序関係データ格納部131に格納されている順序関係データに従って到達可能な未処理のバッチジョブa及びbを選択する(ステップS31)。図9の例では、バッチジョブJ3.shとバッチジョブJ4.shについてはリンクの方向を逆にさかのぼる必要があるので、到達可能なバッチジョブの組み合わせではないので、このような組み合わせについては選択されない。このような有向グラフにおいて到達不可能なバッチジョブの組み合わせについては、バッチジョブ間に相関はないと判断されるためである。
次に、ジョブ処理時間推定部122は、ログデータ格納部111に格納されているログデータを用いて、バッチジョブa及びbの処理時間を算出して、ジョブ処理時間データ格納部132に格納する(ステップS33)。この際、順序関係データ格納部131に格納されている順序関係データから、バッチジョブaとバッチジョブbのいずれかに、activate関係が設定されており且つ後続ノードとして指定されているか確認する。例えばバッチジョブbがバッチジョブJ4.shであれば、図8の例ではactivate関係が設定されており且つ後続ノードとなっている。本実施の形態では、このような場合、ログデータ格納部111からactivate関係のリンクで接続されている先行ノードについての直前ログを読み出し、当該直前ログの終了時刻を開始時刻として特定し、当該開始時刻から後続ノードについての対応ログの終了時刻までの時間を処理時間として特定する。
図11に示したように、先行バッチジョブJ2.shを後続の着目バッチジョブJ4.shは待機しているので、先行バッチジョブJ2.shの処理時間と着目バッチジョブJ4.shの処理時間とが重複する部分は待機時間であって実質的に処理は行われていない。先行バッチジョブJ2.shが終了してから後が実質的な処理時間となる。従って、上で述べたようにして処理時間を算出することによって実質的な処理時間を算出するものである。
なお、next関係のリンクに接続されているノードについてのバッチジョブについては、該当ログの開始時刻から終了時刻までの時間を処理時間として特定する。
さらに、本ステップにおいては、各バッチジョブの処理時間については平均値を算出して、ジョブ処理時間データ格納部132に格納する。なお、平均値ではなく、最小値、最大値、最頻値、90%タイル値といったような統計値を採用することも可能である。
そして、ジョブ処理時間推定部122は、バッチジョブaの処理時間とバッチジョブbの処理時間の相関係数を算出する(ステップS35)。相関係数については、以下の式で算出される。なお、xをバッチジョブaの処理時間とし、yをバッチジョブbの処理時間とし、xバーをxの平均値とし、yバーをyの平均値とする。nはバッチジョブa又はbの個数である。
Figure 2011118794
各バッチジョブの処理時間は、業務データ量(例えば、1日の売上伝票数)に比例する場合があるので、同一の業務データに依存する異なるバッチジョブの処理時間の間に相関関係がある可能性がある。そこで、上で述べたように、相関係数によって相関関係の有無を判断するものである。
そして、ジョブ処理時間推定部122は、算出された相関係数が所定の閾値以上であるか判断する(ステップS37)。相関係数が所定の閾値未満である場合には、バッチジョブ間に処理時間の相関はあまりないということで、ステップS41に移行する。
一方、算出された相関係数が所定の閾値以上である場合には、ジョブ処理時間推定部122は、バッチジョブaの処理時間とバッチジョブbの処理時間について周知の直線回帰計算を実施することにより比例係数を算出し、当該比例係数を含む相関関係データをジョブ処理時間データ格納部132に格納する(ステップS39)。本ステップの後にステップS41に移行する。
例えば、バッチジョブJ1.shの処理時間を横軸で表し、バッチジョブJ3.shの処理時間を縦軸で表すものとすると、図12のようなグラフが得られる。点は、各日におけるバッチジョブJ1.shの処理時間とバッチジョブJ3.shの処理時間とでプロットされている。そして周知の直線回帰計算を実施すると、図12に示すような直線aが得られる。aの傾きは「2.0」と算出される。すなわち、バッチジョブJ1.shの処理時間をXとすると、バッチジョブJ3.shの処理時間Yは、Y=2.0Xという関係を有する。なお、図12に示すように、バッチジョブJ1.shの処理時間とバッチジョブJ3.shの処理時間の相関係数は0.93で、閾値0.9を上回っているものとする。なお、データ量ではない他の量について相関関係が見出される場合には、直線近似ではない他の近似を用いる場合もある。
そうすると、ステップS39では、図13に示すような相関関係データが、ジョブ処理時間データ格納部132に格納される。図13の例では、ジョブ名に対してジョブ処理時間データが登録されるようになっており、ジョブ処理時間データには、処理時間の平均値と相関関係データである相関変数とが含まれる。相関関係データについては、図13に示す例では、基準となるバッチジョブJ1.shの処理時間に対して相関変数Xを設定し、関係するバッチジョブJ3.shの処理時間に対して相関変数2Xを設定する。このようにすれば、図12で示されたような関係を表すデータを保持することができるようになる。
図10の説明に戻って、ステップS41では、順序関係データに従って到達可能な全てのバッチジョブのペアについて処理したか判断する(ステップS41)。未処理のバッチジョブのペアが存在する場合にはステップS31に戻る。一方、全てのジョブペアについて処理した場合には、元の処理に戻る。
本ステップを実施することによって、単に有向グラフとして順序関係が把握されるだけではなく、バッチジョブの処理時間の間の相関関係をも算出するので、より正確なモデル化が可能となる。
例えば、最終的に図14のようなジョブ処理時間データが得られたものとする。図14の例では、分かりやすくするためノードIDを併記しているが、図13と実質的に同じデータ構造を有する。なお、バッチジョブJ2.shとバッチジョブJ4.shについては、他のバッチジョブの処理時間との間に相関関係を見出されなかったバッチジョブである。図14では、便宜的に相関変数に「Y」及び「Z」を入れているが、上で述べた処理ではこれらはNULLということになる。
ジョブネットモデル生成部120が生成したジョブネットモデルを可視化すると、例えば図15に示すようなものになる。図15は、図9で示した有向グラフの各ノードに、該当するジョブ処理時間データを追記したものである。これによって、バッチジョブ間の関係が明確化されたことになる。
以上の前処理を実施した後に、図16及び図17を用いて説明するバッチジョブ実行時の処理を実施する。
まず、ジョブ実行状況監視部135は、監視対象システム200の実行状況計測部210から、各ジョブの実行状況データを取得する(ステップS51)。例えば、実行を開始したバッチジョブについて実行開始時刻を含み、実行が完了したバッチジョブについては実行終了時刻を含むようなデータを取得する。ステップS51は例えば10分おきなど所定の周期で実施する。但し、必ずしも周期的である必要はない。また、ジョブ実行状況監視部135は、取得した実行状況データを終了時刻予測部136に出力する。
終了時刻予測部136は、実行状況データを用いて各実行ジョブの実行時間を算出して、監視データ格納部137に格納する(ステップS53)。本ステップでは、実行中のバッチジョブについての開始時刻とシステム時計から得られる現在時刻との差を、実行完了したバッチジョブについては開始時刻と終了時刻との差を算出する。なお、上でも述べたように、activate関係で関連付けられた後続バッチジョブについては処理時間は、先行バッチジョブの終了時刻から現在時刻又は後続バッチジョブの終了時刻までである。従って、本ステップだけでは処理時間を特定できていない。
そこで、終了時刻予測部136は、activate関係の後続バッチジョブ(後続ノードとも呼ぶ)について待機時間を算出し、監視データ格納部137に格納する(ステップS55)。図14の例では、バッチジョブJ4.shについてはactivate関係の後続ノードであるから、このバッチジョブJ4.shについては、activate関係の先行バッチジョブ(先行ノードとも呼ぶ)の終了時刻が記録されていない場合には、開始時刻から現在時刻までが待機時間であり、先行ノードの終了時刻が記録されている場合には、開始時刻から先行ノードの終了時刻までが待機時間となる。
例えば図17のようなジョブ実行状況であることを想定する。図17に示すように、バッチジョブJ1.shの実行を0:00に開始し、バッチジョブJ2.shの実行を0:40に開始し、バッチジョブJ3.shの実行を1:50に開始し、バッチジョブJ4.shの実行を1:00に開始する。これに対して、バッチジョブJ4.shの先行バッチジョブであるバッチジョブJ2.shは、1:50に終了するので、1:50まではバッチジョブJ4.shの実行時間は全て待機時間となる。これは、図17における待機時間の列に示されている。なお、activate関係の後続バッチジョブ以外のバッチジョブの待機時間は「0」であるものとする。
次に、終了時刻予測部136は、各バッチジョブの実質処理時間(個別処理時間とも呼ぶ)を予測する演算を実施し、監視データ格納部137に格納する(ステップS57)。実質処理時間は、max{(実行時間−待機時間),平均値}で算出する。なお、平均値については、他のバッチジョブについて相関関係が認められていないものについては単純に、ジョブ処理時間データ格納部132に登録されている平均値を用いる。一方、他のバッチジョブについて相関関係が認められているものについては、当該他のバッチジョブについて算出されている実質処理時間に、比例係数を乗じた値を「平均値」として採用する。
例えば、図14に示したように、バッチジョブJ1.shの処理時間の2倍がバッチジョブJ3.shの処理時間となることが規定されている場合、0:00から0:30までは、バッチジョブJ1.shの実質処理時間が30分なので、バッチジョブJ3.shの平均値は60分となる。なおこの間バッチジョブJ3.shの実行時間は0分であるから、平均値がそのまま実質処理時間となる。一方、0:40以降は、バッチジョブJ1.shの実質処理時間が40分となるので、バッチジョブJ3.shの平均値は80分となる。なお図17の例では、バッチジョブJ3.shは80分を超えることはないので、バッチジョブJ3.shの実質処理時間は平均値と同じ80分となる。
さらに、バッチジョブJ4.shについては(実行時間−待機時間)を算出するので、0:00から1:50までは実行時間と待機時間が同じであるから、「0」となってしまい、平均値が必ず上回るので、実質処理時間は平均値に等しくなる。一方、2:00では、(実行時間−待機時間)=10となる。これと平均値=70とを比較すると、平均値の方が大きいので、2:00では平均値が実質処理時間になる。但し、この後時間が経過して(実行時間−待機時間)が70分を超えれば、(実行時間−待機時間)が実質処理時間となる。
図16の処理の説明に戻って、終了時刻予測部136は、ジョブネットモデルの開始ノードから末端ノードまでの各経路について実質処理時間の総和を算出し、算出された実質処理時間の総和のうち最大の値を特定して当該値にて終了時刻を予測する(ステップS59)。図15に示したように、有向グラフは分岐しているので末端ノードが2つある。従って、第1の経路は、J1.sh−J2.sh−J3.shであり、第2の経路は、J1.sh−J2.sh−J4.shである。第1の経路について、実質処理時間の総和を算出し、第2の経路について、実質処理時間の総和を算出する。
図17の例では、0:30まではバッチジョブJ3.shの実質処理時間の方がJ4.shの実質処理時間より短いので、第2の経路の実質処理時間の総和が採用される。一方、0:40以降はその逆になって、第1の経路の実質処理時間の総和が採用されるようになる。
終了時刻は、ジョブネットモデルの開始ノードの開始時刻から実質処理時間の総和経過後の時刻である。図17の例では、0:30までは2:40が終了時刻の予測値であり、0:40から1:40までは3:00が終了時刻の予測値であり、それ以降は3:10が終了時刻の予測値である。
終了時刻予測部136は、予測した終了時刻をデッドライン超過予測部138に通知する。
デッドライン超過予測部138は、終了時刻予測部136から予測終了時刻を受け取ると、デッドライン定義データ格納部133からデッドラインの時刻を読み出して、予測終了時刻がデッドラインの時刻を超えているか判断する(ステップS61)。例えば3:00がデッドライン定義データ格納部133に格納されている場合には、0:30まではデッドラインを超過していないと判断され、それ以降はデッドラインを超過していると判断される。すなわち、0:40において既にデッドライン超過が予測されている。
予測終了時刻がデッドラインを超過していると判断する場合には、デッドライン超過予測部138は、通報先データ格納部134に登録されている通報先メールアドレスを読み出して、当該通報先メールアドレス宛にアラーム・メールを送信する(ステップS63)。メールではない方法で警告を発しても良い。
これによって運用担当者は、運用担当者端末300を操作して、アラーム・メールを受信し、バッチジョブの終了遅延を認識することができるようになる。そうすれば、翌日に繰り越すことができるバッチジョブの実行を停止したり、その他の手段を講じることができるようになる。
予測終了時刻がデッドラインを超過しない場合には、デッドライン超過予測部138は、何もしない。
そして、ジョブ実行状況監視部135は、順序関係データ格納部131に格納されているリストに登録された全てのバッチジョブについて終了時刻が通知されて全バッチジョブが終了したか判断し(ステップS65)、全バッチジョブが終了していなければステップS51に戻る。一方、全バッチジョブが終了していれば処理を終了する。
このような処理を実施すれば、個別のバッチジョブにデッドラインを設定するなどの煩わしい設定を行わなくとも、早期にそして的確にデッドライン超過を予測することができるようになる。
以上本技術の実施の形態を説明したが本技術はこれに限定されるものではない。例えば、図1に示されている機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。さらに、データ保持構成についても、実際のデータ保持構成とは異なる場合もある。
さらに、処理フローについても処理結果が変わらなければ処理順番を入れ替えたり、並列実施することも可能である。
また、運用担当者端末300は、例えば終了時刻予測部136から、デッドラインを超えているか否かを問わず終了時刻の通知を受けるようにしても良い。また、他のデータ格納部から必要なデータを運用担当者端末300が抽出するようにしてもよい。さらに、図15のような図を表示させるようにしても良い。場合によっては、運用担当者が、順序関係データ格納部131及びジョブ処理時間データ格納部132に格納されているデータを変更するような処理を実施する場合もある。
なお、上で述べたバッチジョブ処理時間推定装置100は、コンピュータ装置であって、図18に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本バッチジョブ処理時間推定方法は、複数のバッチジョブについて開始時刻及び終了時刻を含むログデータを格納するログデータ格納部からログデータを読み出し、当該ログデータに含まれる開始時刻及び終了時刻からバッチジョブ間の順序関係を表す順序関係データを生成し、順序関係データ格納部に格納する順序関係データ生成ステップと、ログデータ格納部からログデータを読み出し、当該ログデータに含まれる開始時刻及び終了時刻から、バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各バッチジョブについて、相関関係に関するデータを含むジョブ処理時間データを生成し、ジョブ処理時間データ格納部に格納するジョブ処理時間データ生成ステップと、複数のバッチジョブを実行している監視対象システムから複数のバッチジョブの実行状況データを受け取り、当該実行状況データと順序関係データ格納部に格納されているデータとジョブ処理時間データ格納部に格納されているデータとから複数のバッチジョブの終了時刻を予測する予測ステップとを含む。
このように順序関係データと相関関係に関するデータを含むジョブ処理時間データとを生成するので、精度良く終了時刻を予測することができるようになる。
上で述べたジョブ処理時間データ生成ステップが、順序関係データ格納部に格納されている順序関係データに従って、複数のバッチジョブのうち第1のバッチジョブと当該第1のバッチジョブから遷移可能な第2のバッチジョブとの組み合わせを特定するステップと、特定された組み合わせのうち当該組み合わせに含まれるバッチジョブの処理時間の相関係数が所定値以上の組み合わせについて回帰計算を実施して、相関関係に関するデータを生成し、ジョブ処理時間データ格納部に格納するステップとをさらに含むようにしても良い。
このように第1のバッチジョブから遷移可能な第2のバッチジョブとの組み合わせについて相関係数を算出するようにしているので、あり得ない組み合わせを排除することができ、処理負荷を減らすことができる。さらに、相関係数が所定値以上の組み合わせについて回帰計算を行うことで、相関が高い組み合わせについてのみ回帰計算を実施するので、この点においても処理負荷を減らすことができる。さらに、例えば回帰計算によって得られる近似式の比例係数などの、相関関係に関するデータを生成できるので、より精度良く終了時刻を予測することができるようになる。
また、上で述べた順序関係データ生成ステップが、複数のバッチジョブのうち先行する第1のバッチジョブの終了時刻と後続の第2のバッチジョブの開始時刻とから、第1のバッチジョブが完了することに応じて第2のバッチジョブが実行されるという第1の順序関係についての条件を満たしているか判断し、満たしている場合には第1のバッチジョブと第2のバッチジョブとを第1の順序関係で関連付けるためのデータを、順序関係データ格納部に格納するステップと、複数のバッチジョブのうち先行する第3のバッチジョブの開始時刻及び終了時刻と後続の第4のバッチジョブの開始時刻及び終了時刻とから、第3のバッチジョブの実行途中で第4のバッチジョブを開始し且つ第4のバッチジョブの実行途中で第3のバッチジョブが終了するという第2の順序関係についての条件を満たしているか判断し、満たしている場合には第3のバッチジョブと第4のバッチジョブとを第2の順序関係で関連付けるためのデータを、順序関係データ格納部に格納するステップとを含むようにしてもよい。バッチジョブの特性に応じた2種類の順序関係を特定することによって精度良く終了時刻を予測できるようになる。なお、第4のバッチジョブについてはさらに定時起動していることを要件にしても良い。
さらに、上で述べた順序関係データが、複数のバッチジョブのうち先行する第1のバッチジョブが完了することに応じて後続の第2のバッチジョブが実行されるという第1の順序関係の識別子と第1及び第2のバッチジョブの識別情報とを含むデータと、複数のバッチジョブのうち先行する第3のバッチジョブの実行途中で後続の第4のバッチジョブを開始し且つ第4のバッチジョブの実行途中で第3のバッチジョブが終了するという第2の順序関係の識別子と第3及び第4のバッチジョブの識別情報とを含むデータとを含むようにしてもよい。この場合、上で述べた予測ステップが、実行状況データから、各バッチジョブの実行時間を算出するステップと、第4のバッチジョブについて、実行状況データから第4のバッチジョブの開始時刻から第3のバッチジョブの終了時刻までの待機時間を算出し、さらに上記実行時間と待機時間との差を実行時間として算出するステップと、順序関係データ格納部に格納されている順序関係データによって特定される、先頭のバッチジョブから末端のバッチジョブまでの各経路について、当該経路に含まれるバッチジョブ毎に実行時間と処理時間データ格納部に格納されている処理時間データから特定される推定処理時間とのうち長い方の時間である個別処理時間を特定し、特定された個別処理時間を累積して予測処理時間を算出する予測処理時間算出ステップと、各経路について算出された予測処理時間のうち最長の予測処理時間を特定するステップとを含むようにしてもよい。
このようにすれば、最悪ケースを想定して終了時刻を精度良く予測することができるようになる。
また、上で述べたジョブ処理時間データが、先行する第5のバッチジョブの処理時間と後続の第6のバッチジョブの処理時間との相関関係に関するデータを含むようにしてもよい。この場合、上で述べた予測処理時間特定ステップが、経路における第5のバッチジョブについての個別処理時間と第5及び第6のバッチジョブについての上記相関関係に関するデータとから、第6のバッチジョブの推定処理時間を算出するステップを含むようにしても良い。このようにして、バッチジョブの実行状況及び相関関係に関するデータを反映して終了時刻を予測することができる。
本バッチジョブ処理時間推定装置(図19)は、複数のバッチジョブについて開始時刻及び終了時刻を含むログデータを格納するログデータ格納部(501)からログデータを読み出し、当該ログデータに含まれる開始時刻及び終了時刻からバッチジョブ間の順序関係を表す順序関係データを生成し、順序関係データ格納部(503)に格納する順序関係抽出部(502)と、ログデータ格納部からログデータを読み出し、当該ログデータに含まれる開始時刻及び終了時刻から、バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各バッチジョブについて、上記相関関係に関するデータを含むジョブ処理時間データを生成し、ジョブ処理時間データ格納部(505)に格納するジョブ処理時間推定部(504)と、複数のバッチジョブを実行している監視対象システムから複数のバッチジョブの実行状況データを受け取り、当該実行状況データと順序関係データ格納部に格納されているデータとジョブ処理時間データ格納部に格納されているデータとから複数のバッチジョブの終了時刻を予測する予測部(506)とを有する。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数のバッチジョブについて開始時刻及び終了時刻を含むログデータを格納するログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から前記バッチジョブ間の順序関係を表す順序関係データを生成し、順序関係データ格納部に格納する順序関係データ生成ステップと、
前記ログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から、前記バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各前記バッチジョブについて、前記相関関係に関するデータを含むジョブ処理時間データを生成し、ジョブ処理時間データ格納部に格納するジョブ処理時間データ生成ステップと、
前記複数のバッチジョブを実行している監視対象システムから前記複数のバッチジョブの実行状況データを受け取り、当該実行状況データと前記順序関係データ格納部に格納されているデータと前記ジョブ処理時間データ格納部に格納されているデータとから前記複数のバッチジョブの終了時刻を予測する予測ステップと、
を、コンピュータに実行させるためのバッチジョブ処理時間推定プログラム。
(付記2)
前記ジョブ処理時間データ生成ステップが、
前記順序関係データ格納部に格納されている前記順序関係データに従って、前記複数のバッチジョブのうち第1のバッチジョブと当該第1のバッチジョブから遷移可能な第2のバッチジョブとの組み合わせを特定するステップと、
特定された前記組み合わせのうち当該組み合わせに含まれる前記バッチジョブの処理時間の相関係数が所定値以上の組み合わせについて回帰計算を実施して、前記相関関係に関するデータを生成し、前記ジョブ処理時間データ格納部に格納するステップと、
をさらに前記コンピュータに実行させるための、付記1記載のバッチジョブ処理時間推定プログラム。
(付記3)
前記順序関係データ生成ステップが、
前記複数のバッチジョブのうち先行する第1のバッチジョブの終了時刻と後続の第2のバッチジョブの開始時刻とから、前記第1のバッチジョブが完了することに応じて前記第2のバッチジョブが実行されるという第1の順序関係についての条件を満たしているか判断し、満たしている場合には前記第1のバッチジョブと前記第2のバッチジョブとを前記第1の順序関係で関連付けるためのデータを、前記順序関係データ格納部に格納するステップと、
前記複数のバッチジョブのうち先行する第3のバッチジョブの開始時刻及び終了時刻と後続の第4のバッチジョブの開始時刻及び終了時刻とから、前記第3のバッチジョブの実行途中で前記第4のバッチジョブを開始し且つ前記第4のバッチジョブの実行途中で前記第3のバッチジョブが終了するという第2の順序関係についての条件を満たしているか判断し、満たしている場合には前記第3のバッチジョブと前記第4のバッチジョブとを前記第2の順序関係で関連付けるためのデータを、前記順序関係データ格納部に格納するステップと、
を含む付記1又は2記載のバッチジョブ処理時間推定プログラム。
(付記4)
前記順序関係データが、
前記複数のバッチジョブのうち先行する第1のバッチジョブが完了することに応じて後続の第2のバッチジョブが実行されるという第1の順序関係の識別子と前記第1及び第2のバッチジョブの識別情報とを含むデータと、
前記複数のバッチジョブのうち先行する第3のバッチジョブの実行途中で後続の第4のバッチジョブを開始し且つ前記第4のバッチジョブの実行途中で前記第3のバッチジョブが終了するという第2の順序関係の識別子と前記第3及び第4のバッチジョブの識別情報とを含むデータと、
を含み、
前記予測ステップが、
前記実行状況データから、各前記バッチジョブの実行時間を算出するステップと、
前記第4のバッチジョブについて、前記実行状況データから前記第4のバッチジョブの開始時刻から前記第3のバッチジョブの終了時刻までの待機時間を算出し、さらに前記実行時間と前記待機時間との差を前記実行時間として算出するステップと、
前記順序関係データ格納部に格納されている前記順序関係データによって特定される、先頭のバッチジョブから末端のバッチジョブまでの各経路について、当該経路に含まれる前記バッチジョブ毎に前記実行時間と前記処理時間データ格納部に格納されている前記処理時間データから特定される推定処理時間とのうち長い方の時間である個別処理時間を特定し、特定された前記個別処理時間を累積して予測処理時間を算出する予測処理時間算出ステップと、
各前記経路について算出された前記予測処理時間のうち最長の予測処理時間を特定するステップと、
を含む付記1記載のバッチジョブ処理時間推定プログラム。
(付記5)
前記ジョブ処理時間データが、先行する第5のバッチジョブの処理時間と後続の第6のバッチジョブの処理時間との相関関係に関するデータを含み、
前記予測処理時間特定ステップが、
前記経路における前記第5のバッチジョブについての前記個別処理時間と前記第5及び第6のバッチジョブについての前記相関関係に関するデータとから、前記第6のバッチジョブの推定処理時間を算出するステップ
を含む付記4記載のバッチジョブ処理時間推定プログラム。
(付記6)
複数のバッチジョブについて開始時刻及び終了時刻を含むログデータを格納するログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から前記バッチジョブ間の順序関係を表す順序関係データを生成し、順序関係データ格納部に格納する順序関係データ生成ステップと、
前記ログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から、前記バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各前記バッチジョブについて、前記相関関係に関するデータを含むジョブ処理時間データを生成し、ジョブ処理時間データ格納部に格納するジョブ処理時間データ生成ステップと、
前記複数のバッチジョブを実行している監視対象システムから前記複数のバッチジョブの実行状況データを受け取り、当該実行状況データと前記順序関係データ格納部に格納されているデータと前記ジョブ処理時間データ格納部に格納されているデータとから前記複数のバッチジョブの終了時刻を予測する予測ステップと、
を含み、コンピュータに実行されるバッチジョブ処理時間推定方法。
(付記7)
複数のバッチジョブについて開始時刻及び終了時刻を含むログデータを格納するログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から前記バッチジョブ間の順序関係を表す順序関係データを生成し、順序関係データ格納部に格納する順序関係抽出部と、
前記ログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から、前記バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各前記バッチジョブについて、前記相関関係に関するデータを含むジョブ処理時間データを生成し、ジョブ処理時間データ格納部に格納するジョブ処理時間推定部と、
前記複数のバッチジョブを実行している監視対象システムから前記複数のバッチジョブの実行状況データを受け取り、当該実行状況データと前記順序関係データ格納部に格納されているデータと前記ジョブ処理時間データ格納部に格納されているデータとから前記複数のバッチジョブの終了時刻を予測する予測部と、
を有するバッチジョブ処理時間推定装置。
100 バッチジョブ処理時間推定装置
110 ログ取得部 111 ログデータ格納部
120 ジョブネットモデル生成部 121 順序関係抽出部
122 ジョブ処理時間推定部
131 順序関係データ格納部 132 ジョブ処理時間データ格納部
133 デッドライン定義データ格納部
134 通報先データ格納部 135 ジョブ実行状況監視部
136 終了時刻予測部 137 監視データ格納部
138 デッドライン超過予測部

Claims (6)

  1. 複数のバッチジョブについて開始時刻及び終了時刻を含むログデータを格納するログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から前記バッチジョブ間の順序関係を表す順序関係データを生成し、順序関係データ格納部に格納する順序関係データ生成ステップと、
    前記ログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から、前記バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各前記バッチジョブについて、前記相関関係に関するデータを含むジョブ処理時間データを生成し、ジョブ処理時間データ格納部に格納するジョブ処理時間データ生成ステップと、
    前記複数のバッチジョブを実行している監視対象システムから前記複数のバッチジョブの実行状況データを受け取り、当該実行状況データと前記順序関係データ格納部に格納されているデータと前記ジョブ処理時間データ格納部に格納されているデータとから前記複数のバッチジョブの終了時刻を予測する予測ステップと、
    を、コンピュータに実行させるためのバッチジョブ処理時間推定プログラム。
  2. 前記ジョブ処理時間データ生成ステップが、
    前記順序関係データ格納部に格納されている前記順序関係データに従って、前記複数のバッチジョブのうち第1のバッチジョブと当該第1のバッチジョブから遷移可能な第2のバッチジョブとの組み合わせを特定するステップと、
    特定された前記組み合わせのうち当該組み合わせに含まれる前記バッチジョブの処理時間の相関係数が所定値以上の組み合わせについて回帰計算を実施して、前記相関関係に関するデータを生成し、前記ジョブ処理時間データ格納部に格納するステップと、
    をさらに前記コンピュータに実行させるための、請求項1記載のバッチジョブ処理時間推定プログラム。
  3. 前記順序関係データ生成ステップが、
    前記複数のバッチジョブのうち先行する第1のバッチジョブの終了時刻と後続の第2のバッチジョブの開始時刻とから、前記第1のバッチジョブが完了することに応じて前記第2のバッチジョブが実行されるという第1の順序関係についての条件を満たしているか判断し、満たしている場合には前記第1のバッチジョブと前記第2のバッチジョブとを前記第1の順序関係で関連付けるためのデータを、前記順序関係データ格納部に格納するステップと、
    前記複数のバッチジョブのうち先行する第3のバッチジョブの開始時刻及び終了時刻と後続の第4のバッチジョブの開始時刻及び終了時刻とから、前記第3のバッチジョブの実行途中で前記第4のバッチジョブを開始し且つ前記第4のバッチジョブの実行途中で前記第3のバッチジョブが終了するという第2の順序関係についての条件を満たしているか判断し、満たしている場合には前記第3のバッチジョブと前記第4のバッチジョブとを前記第2の順序関係で関連付けるためのデータを、前記順序関係データ格納部に格納するステップと、
    を含む請求項1又は2記載のバッチジョブ処理時間推定プログラム。
  4. 前記順序関係データが、
    前記複数のバッチジョブのうち先行する第1のバッチジョブが完了することに応じて後続の第2のバッチジョブが実行されるという第1の順序関係の識別子と前記第1及び第2のバッチジョブの識別情報とを含むデータと、
    前記複数のバッチジョブのうち先行する第3のバッチジョブの実行途中で後続の第4のバッチジョブを開始し且つ前記第4のバッチジョブの実行途中で前記第3のバッチジョブが終了するという第2の順序関係の識別子と前記第3及び第4のバッチジョブの識別情報とを含むデータと、
    を含み、
    前記予測ステップが、
    前記実行状況データから、各前記バッチジョブの実行時間を算出するステップと、
    前記第4のバッチジョブについて、前記実行状況データから前記第4のバッチジョブの開始時刻から前記第3のバッチジョブの終了時刻までの待機時間を算出し、さらに前記実行時間と前記待機時間との差を前記実行時間として算出するステップと、
    前記順序関係データ格納部に格納されている前記順序関係データによって特定される、先頭のバッチジョブから末端のバッチジョブまでの各経路について、当該経路に含まれる前記バッチジョブ毎に前記実行時間と前記処理時間データ格納部に格納されている前記処理時間データから特定される推定処理時間とのうち長い方の時間である個別処理時間を特定し、特定された前記個別処理時間を累積して予測処理時間を算出する予測処理時間算出ステップと、
    各前記経路について算出された前記予測処理時間のうち最長の予測処理時間を特定するステップと、
    を含む請求項1記載のバッチジョブ処理時間推定プログラム。
  5. 複数のバッチジョブについて開始時刻及び終了時刻を含むログデータを格納するログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から前記バッチジョブ間の順序関係を表す順序関係データを生成し、順序関係データ格納部に格納する順序関係データ生成ステップと、
    前記ログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から、前記バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各前記バッチジョブについて、前記相関関係に関するデータを含むジョブ処理時間データを生成し、ジョブ処理時間データ格納部に格納するジョブ処理時間データ生成ステップと、
    前記複数のバッチジョブを実行している監視対象システムから前記複数のバッチジョブの実行状況データを受け取り、当該実行状況データと前記順序関係データ格納部に格納されているデータと前記ジョブ処理時間データ格納部に格納されているデータとから前記複数のバッチジョブの終了時刻を予測する予測ステップと、
    を含み、コンピュータに実行されるバッチジョブ処理時間推定方法。
  6. 複数のバッチジョブについて開始時刻及び終了時刻を含むログデータを格納するログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から前記バッチジョブ間の順序関係を表す順序関係データを生成し、順序関係データ格納部に格納する順序関係抽出部と、
    前記ログデータ格納部から前記ログデータを読み出し、当該ログデータに含まれる前記開始時刻及び終了時刻から、前記バッチジョブ間に処理時間についての相関関係が存在するか確認の上、各前記バッチジョブについて、前記相関関係に関するデータを含むジョブ処理時間データを生成し、ジョブ処理時間データ格納部に格納するジョブ処理時間推定部と、
    前記複数のバッチジョブを実行している監視対象システムから前記複数のバッチジョブの実行状況データを受け取り、当該実行状況データと前記順序関係データ格納部に格納されているデータと前記ジョブ処理時間データ格納部に格納されているデータとから前記複数のバッチジョブの終了時刻を予測する予測部と、
    を有するバッチジョブ処理時間推定装置。
JP2009277239A 2009-12-07 2009-12-07 バッチジョブ処理時間推定プログラム、方法及び装置 Expired - Fee Related JP5463885B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009277239A JP5463885B2 (ja) 2009-12-07 2009-12-07 バッチジョブ処理時間推定プログラム、方法及び装置
US12/959,648 US8490108B2 (en) 2009-12-07 2010-12-03 Method of estimating a processing time of each of a plurality of jobs and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009277239A JP5463885B2 (ja) 2009-12-07 2009-12-07 バッチジョブ処理時間推定プログラム、方法及び装置

Publications (2)

Publication Number Publication Date
JP2011118794A true JP2011118794A (ja) 2011-06-16
JP5463885B2 JP5463885B2 (ja) 2014-04-09

Family

ID=44083300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009277239A Expired - Fee Related JP5463885B2 (ja) 2009-12-07 2009-12-07 バッチジョブ処理時間推定プログラム、方法及び装置

Country Status (2)

Country Link
US (1) US8490108B2 (ja)
JP (1) JP5463885B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014167714A (ja) * 2013-02-28 2014-09-11 Daiwa Institute Of Research Business Innovation Ltd 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP2015022475A (ja) * 2013-07-18 2015-02-02 富士通株式会社 情報取得プログラム、情報取得方法および情報取得装置
JP2015026197A (ja) * 2013-07-25 2015-02-05 富士通株式会社 ジョブ遅延検知方法、情報処理装置、およびプログラム
JP2016189101A (ja) * 2015-03-30 2016-11-04 鉄道情報システム株式会社 バッチ処理システム、バッチ処理方法、バッチ処理プログラムおよびバッチ処理プログラムが記憶されたコンピュータで読み取り可能な記憶媒体
JP2016196174A (ja) * 2015-04-06 2016-11-24 コニカミノルタ株式会社 画像形成装置、制御方法および制御プログラム
KR102223345B1 (ko) * 2019-12-30 2021-03-04 부산대학교 산학협력단 완료 시간 예측을 위한 데이터 변환 장치 및 방법
JP2022100037A (ja) * 2020-12-23 2022-07-05 三菱電機株式会社 処理監視装置、業務処理システムおよび処理監視プログラム
JP7449779B2 (ja) 2020-06-03 2024-03-14 株式会社日立製作所 ジョブ管理方法、及びジョブ管理装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849929B2 (en) * 2011-04-27 2014-09-30 Microsoft Corporation Applying actions to item sets within a constraint
DE102011080769A1 (de) * 2011-08-10 2013-02-14 Mall + Herlan Gmbh Effektive Produktionslinie für Aerosoldosen
US8793696B2 (en) * 2011-10-13 2014-07-29 Google, Inc. Dynamic scheduling for frames representing views of a geographic information environment
US9268669B2 (en) 2012-01-17 2016-02-23 Microsoft Technology Licensing, Llc Application quality testing time predictions
US9373074B2 (en) * 2012-10-09 2016-06-21 Qualcomm Incorporated Method and apparatus for time management and scheduling for sychronous processing on a cluster of processing nodes
JP6209862B2 (ja) * 2013-05-24 2017-10-11 富士通株式会社 プログラム、ジョブ監視支援方法、情報処理装置およびシステム
US9959142B2 (en) * 2014-06-17 2018-05-01 Mediatek Inc. Dynamic task scheduling method for dispatching sub-tasks to computing devices of heterogeneous computing system and related computer readable medium
US9361154B2 (en) 2014-09-30 2016-06-07 International Business Machines Corporation Tunable computerized job scheduling
JP2016186704A (ja) * 2015-03-27 2016-10-27 富士通株式会社 情報処理装置、情報処理システム及びプログラム
US10810046B2 (en) * 2017-08-14 2020-10-20 Tata Consultancy Services Limited Automated system for optimizing batch processing time
CN109002377A (zh) * 2018-07-26 2018-12-14 郑州云海信息技术有限公司 一种处理器检测方法、处理器检测装置以及计算机设备
CN110514982B (zh) * 2019-08-22 2022-03-22 上海兆芯集成电路有限公司 性能分析系统与方法
CN111813624B (zh) * 2020-06-29 2022-08-12 中国平安人寿保险股份有限公司 基于时长分析的机器人执行时长的预估方法及其相关设备
CN114201286B (zh) * 2022-02-16 2022-04-26 成都明途科技有限公司 一种任务的处理方法、装置、电子设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295731A (ja) * 2003-03-28 2004-10-21 Japan Research Institute Ltd バッチジョブ管理システム及びバッチジョブ管理プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265775A (ja) 1992-03-19 1993-10-15 Hitachi Ltd ジョブ実行予測制御方法およびジョブ実行状況表示方法
US6112221A (en) * 1998-07-09 2000-08-29 Lucent Technologies, Inc. System and method for scheduling web servers with a quality-of-service guarantee for each user
JP3360037B2 (ja) 1999-02-04 2002-12-24 エヌイーシーシステムテクノロジー株式会社 業務終了予定時刻推定システム
US7058946B2 (en) * 1999-06-21 2006-06-06 Lucent Technologies Inc. Adaptive scheduling of data delivery in a central server
JP2001109638A (ja) * 1999-10-06 2001-04-20 Nec Corp 推定伸長率に基づくトランザクション負荷分散方法及び方式並びにコンピュータ可読記録媒体
JP3614800B2 (ja) 2001-07-30 2005-01-26 エヌ・ティ・ティ・コムウェア株式会社 多重化環境下における情報システムの業務起動判別装置、ならびに業務処理時間の予測方法
JP2004005205A (ja) 2002-05-31 2004-01-08 Ufit Co Ltd ジョブ進捗監視システム
US7194385B2 (en) * 2002-11-12 2007-03-20 Arm Limited Performance level setting of a data processing system
JP2004302751A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
JP2005071171A (ja) 2003-08-26 2005-03-17 Hitachi Ltd バッチジョブ実行制御方法
JP4927448B2 (ja) 2006-06-09 2012-05-09 株式会社日立製作所 時系列パターン生成システム及び時系列パターン生成方法
US20080010642A1 (en) * 2006-06-30 2008-01-10 Maclellan Scot Method, system and computer program for scheduling execution of work units with monitoring of progress thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295731A (ja) * 2003-03-28 2004-10-21 Japan Research Institute Ltd バッチジョブ管理システム及びバッチジョブ管理プログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014167714A (ja) * 2013-02-28 2014-09-11 Daiwa Institute Of Research Business Innovation Ltd 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP2015022475A (ja) * 2013-07-18 2015-02-02 富士通株式会社 情報取得プログラム、情報取得方法および情報取得装置
JP2015026197A (ja) * 2013-07-25 2015-02-05 富士通株式会社 ジョブ遅延検知方法、情報処理装置、およびプログラム
US9715409B2 (en) 2013-07-25 2017-07-25 Fujitsu Limited Job delay detection method and information processing apparatus
JP2016189101A (ja) * 2015-03-30 2016-11-04 鉄道情報システム株式会社 バッチ処理システム、バッチ処理方法、バッチ処理プログラムおよびバッチ処理プログラムが記憶されたコンピュータで読み取り可能な記憶媒体
JP2016196174A (ja) * 2015-04-06 2016-11-24 コニカミノルタ株式会社 画像形成装置、制御方法および制御プログラム
KR102223345B1 (ko) * 2019-12-30 2021-03-04 부산대학교 산학협력단 완료 시간 예측을 위한 데이터 변환 장치 및 방법
JP7449779B2 (ja) 2020-06-03 2024-03-14 株式会社日立製作所 ジョブ管理方法、及びジョブ管理装置
JP2022100037A (ja) * 2020-12-23 2022-07-05 三菱電機株式会社 処理監視装置、業務処理システムおよび処理監視プログラム
JP7511464B2 (ja) 2020-12-23 2024-07-05 三菱電機株式会社 処理監視装置、業務処理システムおよび処理監視プログラム

Also Published As

Publication number Publication date
US8490108B2 (en) 2013-07-16
US20110138397A1 (en) 2011-06-09
JP5463885B2 (ja) 2014-04-09

Similar Documents

Publication Publication Date Title
JP5463885B2 (ja) バッチジョブ処理時間推定プログラム、方法及び装置
CN102446217B (zh) 复合事件处理设备和复合事件处理方法
US8713579B2 (en) Managing job execution
EP2685380A1 (en) Operations management unit, operations management method, and program
US8566803B2 (en) Benchmark profiling for distributed systems
US8789054B2 (en) Scheduling policy for efficient parallelization of software analysis in a distributed computing environment
US20090077235A1 (en) Mechanism for profiling and estimating the runtime needed to execute a job
JP5471400B2 (ja) ジョブ分析プログラム及び方法、並びにジョブ分析装置
JP2004171249A (ja) データベースのバックアップ実行判断方法
JP6369170B2 (ja) 実行時間推定装置及び方法
US8832839B2 (en) Assessing system performance impact of security attacks
WO2019196427A1 (zh) 基于支撑故障事件约束机组组合的备用优化方法和装置
CN103593232B (zh) 一种数据仓库的任务调度方法及装置
Khan et al. Modeling the autoscaling operations in cloud with time series data
Ma et al. An on-line framework for improving reliability of real-time systems on “big-little” type MPSoCs
Rood et al. Resource availability prediction for improved grid scheduling
JP2011175504A (ja) イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラム
Anand et al. Modeling software fault removal and vulnerability detection and related patch release policy
US11734063B2 (en) Job management based on generated execution time prediction model and prediction accuracy
Anandkumar et al. Tracking in a spaghetti bowl: monitoring transactions using footprints
Gribaudo et al. Simulation of fluid stochastic Petri nets
JP2015079445A (ja) プロジェクト管理装置、プロジェクト管理方法、およびプロジェクト管理プログラム
JP2010020573A (ja) 設備のライフサイクルマネジメントシステムおよびその方法
JP2008532150A (ja) システムのリアルタイム分析のための方法
JP2017227961A (ja) コントローラおよび制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131028

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: 20131224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140106

R150 Certificate of patent or registration of utility model

Ref document number: 5463885

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees