JP7449779B2 - ジョブ管理方法、及びジョブ管理装置 - Google Patents

ジョブ管理方法、及びジョブ管理装置 Download PDF

Info

Publication number
JP7449779B2
JP7449779B2 JP2020096916A JP2020096916A JP7449779B2 JP 7449779 B2 JP7449779 B2 JP 7449779B2 JP 2020096916 A JP2020096916 A JP 2020096916A JP 2020096916 A JP2020096916 A JP 2020096916A JP 7449779 B2 JP7449779 B2 JP 7449779B2
Authority
JP
Japan
Prior art keywords
execution
job net
job
execution time
time
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.)
Active
Application number
JP2020096916A
Other languages
English (en)
Other versions
JP2021189949A (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 JP2020096916A priority Critical patent/JP7449779B2/ja
Priority to US17/198,730 priority patent/US11734063B2/en
Publication of JP2021189949A publication Critical patent/JP2021189949A/ja
Application granted granted Critical
Publication of JP7449779B2 publication Critical patent/JP7449779B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Description

本発明は、ジョブ管理方法、及びジョブ管理装置に関する。
IT(Information Technology)を用いた業務管理システムにおいて、いわゆるバッチジョブを用いた業務管理方法がある。ここでジョブとは、情報処理装置を用いた処理の単位(コマンド、スクリプト等)である。そして、このジョブは、ジョブネットと呼ばれるジョブ群によってしばしば管理される。
バッチジョブは、業務時間に処理されたデータを、業務終了後次の業務の開始前(例えば、業務終了後の夜間)に、予め設定したスケジュールに従って自動的に業務管理システムに反映させる。
したがって、バッチジョブを用いて業務管理を行う際は、業務開始前に必ずバッチジョブが完了していなければならず、業務開始前にバッチジョブが完了しない可能性がある場合には、なるべく早くその旨を検知し、必要な対策を講じる必要がある。
ここで、バッチジョブの管理方法として、例えば特許文献1には、起動時刻指定ジョブの起動予定時刻を保持する指定時刻情報保持部と、パス開始ジョブおよびパス終了ジョブの指定を受け付ける指定受付部と、ジョブの稼動時間の実績および指定時刻情報保持部によって保持される起動予定時刻に基づいて、パス開始ジョブとパス終了ジョブとの間のジョブの起動予定時刻および終了予定時刻を決定する時刻決定部と、起動時刻指定ジョブについて仮想的なジョブを設定する仮想ジョブ設定部と、仮想的なジョブを使用して、パス開始ジョブとパス終了ジョブとの間のクリティカルパスを特定するクリティカルパス特定部と、を備えるバッチジョブ分析装置が開示されている。
特開2013-164712号公報
特許文献1は、バッチジョブを構成する各ジョブの過去の実行ログをもとにジョブの実行時間の予測モデルを作成し、バッチジョブの終了予定時刻からさかのぼる形でジョブごとの終了時刻(閾値)を設定し、各ジョブが終了予想時刻から一定時間経過しても終了しない場合に遅延と判定するものである。
しかしながら、特許文献1では、ジョブの過去の実行時間データが少ない、又は、各実行時間データの値のばらつきが大きい場合には、ジョブネットの実行時間の予測が困難となる。その結果、ジョブネットの終了予定時刻を適切に推定できないという問題があった。
本発明はこのような背景に鑑みてなされたものであり、その目的は、ジョブネットの実行終了タイミングを安定した精度で予測することが可能なジョブ管理方法、及びジョブ管理装置を提供することにある。
上記課題を解決するための本発明の一つは、情報処理装置が、過去に実行された各ジョブネットの実行時間に関する情報に基づき、実行されるジョブネットの実行時間を予測する実行時間予測モデルを生成するジョブネット実行時間予測モデル生成処理と、前記生成した実行時間予測モデルによる各ジョブネットの実行時間の予測精度をそれぞれ算出する予測モデル精度判定処理と、現在実行中の又は以後実行される複数のジョブネットを含む集合であるジョブネット群のうち指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測するか否かを、前記算出した、各ジョブネットの実行時間の予測精度に基づき判定し、前記指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測すると判定した場合には、前記実行時間予測モデルに基づき予測した、前記指定されたジョブネットの実行終了時に関する情報を表示する遅延判定処理と、を実行する、ジョブ管理方法、とする。ジョブとジョブネットの関係は後述する。
また、上記課題を解決するための本発明の他の一つは、プロセッサ及びメモリを備え、過去に実行された各ジョブネットの実行時間に関する情報に基づき、実行されるジョブネットの実行時間を予測する実行時間予測モデルを生成するジョブネット実行時間予測モデル生成処理と、前記生成した実行時間予測モデルによる各ジョブネットの実行時間の予測精度をそれぞれ算出する予測モデル精度判定処理と、現在実行中の又は以後実行される複数のジョブネットを含む集合であるジョブネット群のうち指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測するか否かを、前記算出した、各ジョブネットの実行時間の予測精度に基づき判定し、前記指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測すると判定した場合には、前記実行時間予測モデルに基づき予測した、前記指定されたジョブネットの実行終了時に関する情報を表示する遅延判定処理と、を実行するジョブ管理装置、とする。
本発明によれば、ジョブネットの実行終了タイミングを安定した精度で予測することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1に係るジョブ管理システムの構成の一例を示す図である。 ジョブ管理システムにおいて行われるジョブ管理処理の概要を説明するフロー図である。 ジョブネット情報収集処理の一例を説明するフロー図である。 ジョブネット実行履歴管理テーブルの一例を示す図である。 ジョブネット実行情報管理テーブルの一例を示す図である。 ジョブネット実行時間収集処理の詳細を説明するフロー図である。 ジョブネット実行時間予測モデル生成処理の詳細を説明するフロー図である。 前提JN実行時間及び待ち時間の算出方法の例を説明する図である。 ジョブネット待ち時間予測モデルにより生成される、ジョブネット待ち時間学習テーブルの一例を示す図である。 ジョブネット実行時間学習テーブルの一例を示す図である。 ジョブネット実行時間予測方法テーブルの一例を示す図である。 クリティカルパス特定処理の詳細を説明するフロー図である。 ジョブネットリストテーブルの一例を示す図である。 ジョブネットリスト生成処理の詳細を説明するフロー図である。 ジョブネット実行時間予測処理の詳細を説明するフロー図である。 ジョブネット遅延判定処理の詳細を説明するフロー図である。 ジョブネット監視画面の一例を示す図である。 ジョブネット終了予定時刻入力画面の一例を示す図である。 ジョブネット情報表示画面の一例を示す図である。 実施例2に係るバッチジョブ管理システムの構成の一例を説明する図である。 ジョブネット実行エージェントテーブルの一例を示す図である。 ジョブネット実行エージェント情報テーブルの一例を示す図である。 実施例2に係るジョブネット実行時間収集処理の一例を説明する。 リソース使用状況テーブルの一例を示す図である。 実施例2に係るジョブネット実行時間学習テーブルの一例を示す図である。
[実施例1]
図1は、実施例1に係るジョブ管理システム1の構成の一例を示す図である。ジョブ管理システム1は、複数のジョブネット(JN)から構成される処理(以下、パス又はジョブネットリストという)であるバッチジョブを管理するジョブ管理装置100と、バッチジョブの実行を統括するジョブ実行マネージャー500と、バッチジョブにおけるジョブネットを実行する、1又は複数のジョブ実行エージェント600とを含んで構成されている。
バッチジョブは、予め定められたジョブ定義に基づき、指定された順序及びタイミングで、ジョブネットを実行するジョブ群である。
ジョブネットは、1又は複数のジョブの集合である。ジョブとは、所定の業務のために実行される処理の単位(例えば、プログラム、コマンド、スクリプトによって実現される所定のデータ処理)である。ジョブネットは、ジョブ定義に基づき実行される。ジョブ定義では、複数ジョブの実行順序、ジョブの実行結果による条件分岐、複数ジョブの待ち受けを定義することもできる。
バッチジョブは、例えば、所定の業務を行う情報処理システムが日中に処理した大量のデータを、その情報処理システムが稼働していない夜間に(例えば、情報処理システムの翌日の稼働開始時刻までに)更新して情報処理システムを更新又は反映させるための一連のプログラムの流れである。
なお、本実施形態では、バッチジョブにより実行されるパスは1又は複数存在し、同一のジョブネットが複数のパス内のプロセスで実行される場合がある(例えば、ジョブネットの流れが分岐している場合がある)。
ジョブ実行マネージャー500は、各ジョブ実行エージェント600に、ジョブネットを実行させる。
例えば、ジョブ実行マネージャー500は、ジョブ定義をデータベースで管理している。ジョブ実行マネージャー500は、ジョブ定義に定義された時刻になると、ジョブ定義に定義されている所定のプログラムを起動した後、ジョブ定義を各ジョブ実行エージェント600に送信し、各ジョブ実行エージェント600に各ジョブを実行させる。各ジョブ実行エージェント600は、各ジョブの実行を終了すると、各ジョブの実行結果の情報をジョブ実行マネージャー500に送信する。ジョブ実行マネージャー500は、ジョブ実行エージェント600から受信した各ジョブの実行結果の情報を所定のデータベースに反映する。ジョブ実行マネージャー500は、そのデータベースに基づき、以後のジョブを
実行し、又はその実行予定時刻を決定する。ジョブ実行マネージャー500は、このようにして複数のジョブを実行させることにより各ジョブネットを実行する。
ジョブ実行マネージャー500及び各ジョブ実行エージェント600の間は、専用線、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等の、
有線又は無線の管理用ネットワーク3によって通信可能に接続される。
また、ジョブ管理装置100と、ジョブ実行マネージャー500及び各ジョブ実行エージェント600との間は、LAN(Local Area Network)、WAN(Wide Area Network
)、インターネット、専用線等の有線又は無線のネットワーク5によって通信可能に接続される。
次に、ジョブ管理装置100は、CPU等のプロセッサ110と、プログラム及びデータ等が展開される、RAM(Random Access Memory)又はROM(Read Only Memory)等のメモリ111と、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等の記憶装置120と、他の情報処理装置と通信する、ネットワークインターフェイスカード等の通信装置112と、外部記憶媒体が接続されるメディア読取装置115と、キーボード若しくはタッチパネル等の入力装置113と、モニタ若しくはディスプレイ等の出力装置を含む表示装置114とを備え、これらはバス等で互いに接続されている。なお、外部記憶媒体は、例えば、通信媒体(すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号)、又は、メディア読取装置115に着脱可能な記憶媒体である。なお、ジョブ実行マネージャー500、及びジョブ実行エージェント600も同様のハードウェアを備える。
次に、ジョブ管理装置100は、入力受付プログラム102、表示制御プログラム103、ジョブネット実行時間収集プログラム104、予測モデル作成プログラム105、予測モデル精度判定プログラム106、実行時間表示プログラム107、終了予定時刻設定プログラム108、及び遅延判定プログラム109の各プログラムを記憶している。
入力受付プログラム102は、ユーザからの情報の入力を受け付ける。
表示制御プログラム103は、表示装置114に情報を表示する。
ジョブネット実行時間収集プログラム104は、過去に実行された各ジョブネットの実行時間に関する情報を収集する。
また、ジョブネット実行時間収集プログラム104は、過去に実行された各ジョブネットの実行時間に関する情報に基づき、各ジョブネットの実行時間の統計値を算出する。
具体的には、ジョブネット実行時間収集プログラム104は、過去に実行された各ジョブネットの実行時間に関する情報に基づき、各ジョブネットの実行時間の統計値として、各ジョブネットの実行時間の平均値及び最大値を算出する。
予測モデル作成プログラム105は、過去に実行された各ジョブネットの実行時間に関する情報に基づき、実行されるジョブネットの実行時間を予測する実行時間予測モデルを生成する。
また、予測モデル作成プログラム105は、過去に実行された各ジョブネットの実行時間に関する情報の一つとして、過去に実行された各ジョブネットの実行開始時刻と、当該各ジョブネットの前に実行が終了した他のジョブネットの実行終了時刻との差である待ち
時間を算出し、算出した待ち時間に基づき、実行時間予測モデルを生成する。
なお、予測モデル作成プログラム105は、過去に実行された各ジョブネットの実行時間に関する情報に基づき、各ジョブネットの実行順序を推定してもよい。
予測モデル精度判定プログラム106は、予測モデル作成プログラム105が生成した実行時間予測モデルによる各ジョブネットの実行時間の予測精度をそれぞれ算出する。
実行時間表示プログラム107は、予測モデル作成プログラム105等に基づく、各ジョブネットの実行時間の情報を表示装置114等に表示する。
終了予定時刻設定プログラム108は、ジョブネット実行の終了予定時刻(詳細は後述)の入力をユーザから受け付ける。
遅延判定プログラム109は、現在実行中の又は以後実行される複数のジョブネットを含む集合であるジョブ群(バッチジョブ)のうち指定されたジョブネットの実行終了時を実行時間予測モデルに基づき予測するか否かを、予測モデル精度判定プログラム106で算出した、各ジョブネットの実行時間の予測精度に基づき判定し、指定されたジョブネットの実行終了時を実行時間予測モデルに基づき予測すると判定した場合には、実行時間予測モデルに基づき予測した、指定されたジョブネットの実行終了時に関する情報を表示する。
具体的には、遅延判定プログラム109は、指定されたジョブネットの実行終了時を実行時間予測モデルに基づき予測するか否かを、指定されたジョブネットの実行時間の予測精度が所定値以上であるか否かにより判定し、実行時間の各予測精度が所定値以上である場合に、実行時間予測モデルに基づき予測した、指定されたジョブネットの実行終了時に関する情報を表示する。
また、遅延判定プログラム109は、指定されたジョブネットの実行終了時を実行時間予測モデルに基づき予測するか否かを、指定されたジョブネットの実行時間の予測精度が所定値以上であるか否かにより判定し、実行時間の予測精度が所定値以上でないと判定した場合には、ジョブネット実行時間収集プログラム104が算出した統計値に基づき算出した、指定されたジョブネットの実行終了時に関する情報を表示する。
さらに、遅延判定プログラム109は、指定されたジョブネットの実行時間の予測精度が所定値以上でないと判定した場合には、ジョブネット実行時間収集プログラム104が算出した統計値に基づき算出した、指定されたジョブネットの実行終了時に関する情報を表示する前に、所定期間待機する。
また、遅延判定プログラム109は、実行時間の予測精度が所定値以上でないと判定した場合には、さらに、指定されたジョブネットの実行時間が所定時間以上であるか否かを判定し、指定されたジョブネットの実行時間が所定時間以上である場合には、ジョブネット実行時間収集プログラム104が算出した最大値に基づき算出した、指定されたジョブネットの実行終了時に関する情報を表示し、指定されたジョブネットの実行時間が所定時間以上でない場合には、ジョブネット実行時間収集プログラム104が算出した平均値に基づき算出した、指定されたジョブネットの実行終了時に関する情報を表示する。
なお、遅延判定プログラム109は、指定されたジョブネットより前の実行順序のジョブネットを、予測モデル作成プログラム105が推定した実行順序に基づき特定してもよい。
また、ジョブ管理装置100は、ジョブネット実行履歴管理テーブル130、ジョブネット実行情報管理テーブル140、ジョブネット実行時間学習テーブル150、ジョブネット実行時間予測モデル(不図示)、ジョブネット実行時間予測方法テーブル160、及びジョブネットリストテーブル170の各情報を記憶している。これらの情報の詳細は後述する。
これまでに説明したジョブ管理装置100の各プログラムは、例えば、専用のハードウェア、メモリ111、又は記憶装置120に記憶される。そして、プロセッサ110がこれらの場所に記憶されている各プログラムを読み出して実行することにより、各プログラムの機能が実現される。なお、各プログラムは、外部記憶媒体にあらかじめ記録されていてもよいし、所定の通信ネットワークを介して、必要なときに導入されてもよい。
続いて、ジョブ管理システム1において行われる処理について説明する。
---処理---
図2は、ジョブ管理システム1において行われるジョブ管理処理の概要を説明するフロー図である。ジョブ管理処理は、例えば、ジョブ管理装置100が起動した後、所定のタイミング(例えば、所定の時刻、又は所定の時間間隔、又はユーザから指定されたタイミング)で実行される。
まず、ジョブ管理システム1は、各ジョブネットの実行時間を予測するための情報を収集又は生成するジョブネット情報収集処理S10を実行する(S10)。
そして、ジョブ管理システム1は、ジョブネット実行時間収集処理に基づき、各ジョブネットの終了時刻を予測するジョブネット実行時間予測処理S20を実行する(S20)。
ジョブ管理システム1は、ジョブネット実行時間予測処理に基づき、現在実行中のバッチジョブにおける各ジョブネットの実行の遅延状況を判定するジョブネット遅延判定処理S30を実行する(S30)。
以下、これらの処理について説明する。
--ジョブネット実行時間収集処理--
図3は、ジョブネット情報収集処理S10の一例を説明するフロー図である。ジョブネット情報収集処理S10は、例えば、ジョブ管理装置100の起動後の所定のタイミング(例えば、ユーザから所定の入力があった場合、所定の時刻、又は所定の時間間隔等)に繰り返し実行される。
まず、ジョブ管理装置100のジョブネット実行時間収集プログラム104は、ジョブ実行マネージャー500から、過去に実行されたジョブネット(同一のジョブネットが過去に複数回実行されていることもある)の実行時間に関する情報を収集するジョブネット実行時間収集処理S1を実行する(S1)。ジョブネット実行時間収集プログラム104は、ジョブネット実行時間収集処理S4の実行結果を、ジョブネット実行履歴管理テーブル130及びジョブネット実行情報管理テーブル140に記憶する。ジョブネット実行時間収集処理S1の詳細は後述する。
(ジョブネット実行履歴管理テーブル)
図4は、ジョブネット実行履歴管理テーブル130の一例を示す図である。ジョブネッ
ト実行履歴管理テーブル130は、各タイミングで実行されたジョブネットの名称(種類、ID等に対応)であるジョブネット名称131と、ジョブネット名称131に係るジョブネットの実行開始のタイミングである開始時刻132と、ジョブネット名称131に係るジョブネットの実行終了のタイミングである終了時刻133と、ジョブネット名称131に係るジョブネットの実行結果を表す情報であるジョブネット終了コード134とを含む各項目を有するレコードで構成されるデータベースである。
(ジョブネット実行情報管理テーブル)
次に、図5は、ジョブネット実行情報管理テーブル140の一例を示す図である。ジョブネット実行情報管理テーブル140は、ジョブネットを特定するIDであるジョブネットID141と、ジョブネットID141に係るジョブネットの名称であるジョブネット名称142と、ジョブネットID141に係るジョブネットの平均実行時間(同一のジョブネットが複数回実行される場合があるため)であるジョブネット平均実行時間143と、ジョブネットID141に係るジョブネットの実行時間のうちその最大値であるジョブネット最大実行時間144と、ジョブネットID141に係るジョブネットの実行時間のうちその最小値であるジョブネット最小実行時間146と、ジョブネットID141に係るジョブネットの実行時間の標準偏差145とを含む各項目を有するレコードで構成されるデータベースである。
次に、図3に示すように、予測モデル作成プログラム105は、S1で収集した各ジョブネットの過去の実行時間の情報に基づき、以後実行する各ジョブネットの実行時間を予測するためのジョブ実行時間予測モデルを生成するジョブネット実行時間予測モデル生成処理S2を実行する(S2)。ジョブネット実行時間予測モデル生成処理S2の詳細は後述する。
予測モデル作成プログラム105は、S2で生成したジョブネット実行時間予測モデルに基づき、バッチジョブの終了時刻に最も影響を与えるパス(以下、クリティカルパスという)を特定するクリティカルパス特定処理S3を実行する(S3)。クリティカルパス特定処理S3の詳細は後述する。
予測モデル作成プログラム105は、S1~S3で算出したジョブネットの情報を記憶する(S4)。以上でジョブネット情報収集処理S10は終了する。
次に、ジョブネット情報収集処理S10における各処理の詳細を説明する。
--ジョブネット実行時間収集処理--
図6は、ジョブネット実行時間収集処理S1の詳細を説明するフロー図である。まず、ジョブネット実行時間収集プログラム104は、ジョブネット実行履歴管理テーブル130に登録されている、各ジョブネットの過去の実行リストをそのジョブネットの名称に従って並び替える(S11)。
ジョブネット実行時間収集プログラム104は、S11で並び替えた各ジョブネットのうち任意のある名称のジョブネット(以下、選択JNという)を選択する(S12)。
具体的には、ジョブネット実行時間収集プログラム104は、ジョブネット実行履歴管理テーブル130の各レコードのうち、ジョブネット名称131に、任意のあるジョブネットの名称が設定されているレコードを全て取得する。
ジョブネット実行時間収集プログラム104は、選択JNの実行開始時刻及び実行終了時刻を取得する(S13)。
具体的には、ジョブネット実行時間収集プログラム104は、S12で取得した、ジョブネット実行履歴管理テーブル130の選択JNに係る各レコードの開始時刻132及び終了時刻133の値を取得する。
ジョブネット実行時間収集プログラム104は、選択JNの各実行時間を算出する(S14)。
具体的には、ジョブネット実行時間収集プログラム104は、S13で取得した終了時刻133の各値から、開始時刻132の各値を減算する。
ジョブネット実行時間収集プログラム104は、選択JNの各実行時間に関する統計情報を算出し、算出した統計情報を記憶する(S15)。
例えば、ジョブネット実行時間収集プログラム104は、選択JNの平均実行時間を算出する。具体的には、ジョブネット実行時間収集プログラム104は、ジョブネット実行情報管理テーブル140における選択JNの名称に係る新たなレコードを生成し、生成したレコードのジョブネット平均実行時間143に、S14で算出した各減算値の平均値を格納する。
また、例えば、ジョブネット実行時間収集プログラム104は、選択JNの実行時間の最大値および最小値を算出する。具体的には、ジョブネット実行時間収集プログラム104は、生成した前記レコードのジョブネット最大実行時間144にS14で算出した各実行時間のうち最大値を格納する。
また、例えば、ジョブネット実行時間収集プログラム104は、生成した前記レコードのジョブネット最小実行時間146に、S14で算出した各実行時間のうち最小値を格納する。
また、例えば、ジョブネット実行時間収集プログラム104は、選択JNの実行時間の標準偏差を算出する。具体的には、ジョブネット実行時間収集プログラム104は、生成した前記レコードの標準偏差145に、S14で算出した各実行時間の標準偏差を格納する。
次に、ジョブネット実行時間収集プログラム104は、ジョブネット実行履歴管理テーブル130で未だ選択されていない名称のジョブネットがある場合は、その選択されていない名称のジョブネットを新たな選択JNとして、S12以降の処理を繰り返す。ジョブネット実行時間収集プログラム104は、全ての名称のジョブネットを選択した場合には、ジョブネット実行時間収集処理S1を終了する。
--ジョブネット実行時間予測モデル生成処理--
次に、図7は、ジョブネット実行時間予測モデル生成処理S2の詳細を説明するフロー図である。
まず、予測モデル作成プログラム105は、ジョブネット実行時間予測モデルの生成に用いる、過去に実行されたジョブネットの情報である学習用データ(具体的には、説明変数及び目的変数)を取得する(S21)。
具体的には、予測モデル作成プログラム105は、ジョブネット実行情報管理テーブル140の各レコードのID141に対応するジョブネット実行履歴管理テーブル130の
終了時刻133の値から開始時刻132の値を減算したジョブネット実行時間を各ジョブネットの目的変数として取得する。
また、予測モデル作成プログラム105は、前記の目的変数に対する説明変数の一つとして、各ジョブネットが実行された曜日(以下、実行曜日という)を取得する。また、例えば、予測モデル作成プログラム105は、説明変数の一つとして、各ジョブネットが実行された営業日の情報(以下、実行営業日情報という。例えば、月の初めから数えて何日目の営業日かといった情報)を取得する。
また、予測モデル作成プログラム105は、説明変数の一つとして、各ジョブネットより前に常にその実行が終了している他のジョブネット(以下、前提JNという)の実行時間(以下、前提JN実行時間という)を、ジョブネット実行履歴管理テーブル130の開始時刻132及び終了時刻133を参照することにより取得する。この場合、(1)ジョブネット実行開始時刻に係る日付が予測モデルを生成する対象となるジョブネットと前提JNとの間で同一とする、あるいは、(2)予測モデルを生成する対象となるジョブネットの実行開始時刻に係る日付と、前提JNの実行終了時刻の係る日付が同一とする、という条件を加えることにより、1つの前提JNあたりの実行時間が1個となるようにする。
また、予測モデル作成プログラム105は、説明変数の一つとして、各ジョブネットの終了コードを、ジョブネット実行履歴管理テーブル130のジョブネット終了コード134を参照することにより取得する。
また、予測モデル作成プログラム105は、説明変数の一つとして、各ジョブネットの実行開始時刻前に終了した他のジョブネットの実行終了時刻と、当該各ジョブネットの実行開始時刻との時間差(待ち時間)を、ジョブネット実行履歴管理テーブル130の開始時刻132及び終了時刻133を参照することにより算出する。
(前提JN実行時間及び待ち時間)
ここで、図8は、前提JN実行時間及び待ち時間の算出方法の例を説明する図である。
例えば、予測モデル作成プログラム105は、実行開始時刻t3sのジョブネットJN3の前に実行が終了した、実行終了時刻t1eの他のジョブネットJN1を特定する。予測モデル作成プログラム105は、特定した他のジョブネットJN1の実行時間e1を、当該後続ジョブネットの前提JN実行時間とする。そして、予測モデル作成プログラム105は、特定した他のジョブネットJN1が唯一の他のジョブネットであるため、ジョブネットJN3の実行開始時間t3sと、他のジョブネットJN1の実行終了時間t1eとの時間差を、ジョブネットJN3の、当該他のジョブネットJN1に対する待ち時間w3とする。
また、予測モデル作成プログラム105は、その実行開始時刻t4sのジョブネットJN4の前に実行が終了した、実行終了時刻t3e、t2e、t1eの他の複数のジョブネットJN1、JN2、JN3を特定する。予測モデル作成プログラム105は、当該他の複数のジョブネットJN1、JN2、JN3の実行時間(e1、e2、e3)をそれぞれ、当該後続ジョブネットに対する前提JN実行時間とする。さらに、予測モデル作成プログラム105は、当該他の複数のジョブネットJN1、JN2、JN3のうち、ジョブネットJN4の直前にその実行が終了しているジョブネットJN3の実行終了時刻t3eと、ジョブネットJN4の実行開始時刻t4sとの時間差を、ジョブネットJN4に対する待ち時間w4とする。同じように、ジョブネットJN1の実行終了時刻t1eとジョブネットJN4の実行開始時刻t4sとの時間差w41、およびジョブネットJN2の実行終了時刻t2eとジョブネットJN4の実行開始時刻t4sとの時間差w42も、ジョブネ
ットJN4に対する待ち時間の1つとして扱ってもよい。
なお、各ジョブネットの待ち時間は、所定の予測モデルを用いて算出してもよい。すなわち、予測モデル作成プログラム105は、S21で取得した学習データに基づき、各ジョブネットの待ち時間を算出するジョブネット待ち時間予測モデルを生成することにより、各ジョブネットの待ち時間を算出するようにしてもよい。
(ジョブネット待ち時間学習テーブル)
図9は、ジョブネット待ち時間予測モデルにより生成される、ジョブネット待ち時間学習テーブル220の一例を示す図である。ジョブネット待ち時間学習テーブル220は、ジョブネット実行情報管理テーブル140のID141の数だけ存在し、後述するジョブネット実行時間学習テーブル150と同様の構成を有する。
すなわち、ジョブネット待ち時間学習テーブル220は、ジョブネット待ち時間学習テーブルにおける目的変数である当該ジョブネットの待ち時間251と、各待ち時間251を説明する説明変数252との組み合わせと、その組み合わせに対する説明変数の値254とを記憶した情報である。説明変数252は、例えば、後述する先実行JN実行時間255、各ジョブネットの待ち時間256、各ジョブネットの実行曜日257、各ジョブネットの実行営業日情報258、及び先実行JNの終了コード259の各変数を含む。
次に、図7のS22に示すように、予測モデル作成プログラム105は、S21で取得した学習データに基づき、ジョブネット実行時間予測モデルを生成する(S22)。予測モデル作成プログラム105は、生成したジョブネット実行時間予測モデルの結果を、記憶装置120に記憶する。
例えば、予測モデル作成プログラム105は、S21で取得した目的変数及び各説明変数の特徴量に対する機械学習(例えば、ランダムフォレスト等の決定木による学習、ディープラーニングによる学習等)を行うことにより、説明変数と目的変数との間の関係を学習し、また、説明変数及び目的変数に係る特徴量を算出する。予測モデル作成プログラム105は、所定値以上の特徴量を有する目的変数及び説明変数の組み合わせを、記憶装置120に記憶する。
(ジョブネット実行時間学習テーブル)
図10は、ジョブネット実行時間学習テーブル150の一例を示す図である。ジョブネット実行時間学習テーブル150は、ジョブネット実行時間予測モデルを生成するための目的変数である各ジョブネットの実行時間151と、各ジョブネットの実行時間151を説明する説明変数152との組み合わせと、当該ジョブネット実行時間に対する説明変数の値154とを記憶した情報である。
説明変数152は、例えば、先実行JN実行時間155、各ジョブネットの待ち時間156、各ジョブネットの実行曜日157、各ジョブネットの実行営業日情報158、及び先実行JNの終了コード159の各変数を含む。
次に、図7のS23に示すように、予測モデル精度判定プログラム106は、S22で生成したジョブネット実行時間予測モデルの予測精度、すなわちジョブネット実行時間学習テーブル150から作成されたジョブネット実行時間予測モデルに基づく予測精度を、各ジョブネットに対する関係で評価する。
例えば、予測モデル精度判定プログラム106は、ジョブネット実行時間予測モデルの生成に使用されておらず、かつ実行時間が実測されている、過去に実行された各ジョブネ
ット(以下、評価用ジョブネットという)の説明変数(例えば、実行曜日、実行営業日情報、先実行JN実行時間、終了コード、及び待ち時間)を、ジョブネット実行履歴管理テーブル130等により算出又は取得し、算出又は取得した各説明変数をジョブネット実行時間予測モデル(記憶装置120に記憶されている)に入力することにより、各ジョブネットの実行時間を予測する。予測モデル精度判定プログラム106は、この予測された実行時間と、実測されている実行時間との時間差を算出することにより、各ジョブネットに対する関係での、ジョブネット実行時間予測モデルの精度を算出する。
予測モデル精度判定プログラム106は、S23で算出した、評価用ジョブネットの実行時間の予測精度の情報を、ジョブネット実行時間予測方法テーブル160に登録する(S24)。
(ジョブネット実行時間予測方法テーブル)
図11は、ジョブネット実行時間予測方法テーブル160の一例を示す図である。ジョブネット実行時間予測方法テーブル160は、各ジョブネットの名称であるジョブネット名称161と、ジョブネット名称161に係るジョブネットの実行時間の長さの分類(以下、長さ分類という)を示すジョブネット実行時間分類162と、ジョブネット名称161に係るジョブネットの実行時間をジョブネット実行時間予測テーブルで予測した場合のその予測時間の精度の分類(以下、精度分類という)であるジョブネット予測精度分類163と、ジョブネット名称161に係るジョブネットの実行時間を予測する方法(以下、予測方法という)を特定する情報であるジョブネット実行時間予測方法164とを含む各項目を有するレコードで構成されるデータベースである。
長さ分類は、ジョブネットの実行時間の長さに応じた情報が設定される。例えば、ジョブネット実行時間分類162には、ジョブネットの平均実行時間が所定の閾値Tを超えている場合には「Long」、ジョブネットの平均実行時間が所定の閾値T以下である場合には「Short」が設定される。
なお、長さ分類は、ジョブネット実行時間予測モデルに基づき推定される実行時間が所定の閾値Tを超えているか否かによって、「Long」又は「Short」を設定するようにしてもよい。
精度分類は、予測精度を表す指標である。例えば、ジョブネット予測精度分類163には、予測値の幅が所定の閾値を超える場合、例えば2σ区間から外れている場合には「Low」が設定され、予測値(時間差)が所定の閾値以下である場合、例えば2σ区間以内にある場合には「High」が設定される。
予測方法は、ジョブネットの実行時間の予測の方法である。具体的には、ジョブネット実行時間分類162及びジョブネット予測精度分類163に基づき予測方法が設定される。
例えば、ジョブネット予測精度分類163が「High」の場合は、「Predict」が設定される。ジョブネット予測精度分類163が「Low」かつジョブネット実行時間分類162が「Long」の場合は、「Wait」が設定される。ジョブネット予測精度分類163が「Low」かつジョブネット実行時間分類162が「Short」の場合は、「Calculate」が設定される。
このうち「Predict」は、ジョブネットの実行時間を、ジョブネット実行時間予測モデルを用いて予測することを示す。
「Calculate」は、ジョブネットの実行時間を、そのジョブネットの統計情報(ジョブネットの実行時間の最大値又は平均値等)に基づき算出する(予測する)ことを示す。
「Wait」は、ジョブネットの実行時間を、所定の統計情報(ジョブネットの実行時間の最大値)に基づき算出する(予測する)が、実行時間に関するユーザへの情報の表示を所定期間保留することを示す。
--クリティカルパス特定処理--
次に、図12は、クリティカルパス特定処理S3の詳細を説明するフロー図である。まず、予測モデル作成プログラム105は、ジョブネット実行時間予測モデルの結果に基づき、バッチジョブにおけるジョブネット間の処理上(時間上)の依存関係を推定し、推定した依存関係から1又は複数のジョブネットリスト(パス)の情報を生成するジョブネットリスト生成処理を実行する(S700)。
なお、予測モデル作成プログラム105は、ジョブネットリストの情報を、ジョブネットリストテーブル170に登録する。ジョブネットリスト生成処理S700の詳細は後述する。
ここで、ジョブネットリストテーブル170について説明する。
(ジョブネットリストテーブル)
図13は、ジョブネットリストテーブル170の一例を示す図である。ジョブネットリストテーブル170は、ジョブネットリスト(パス)のIDであるジョブネットリストID171と、ジョブネットリストID171に係るジョブネットリストを構成する各ジョブネット及びその処理上の順序であるジョブネット構成172とを含む各項目を有するレコードで構成される。
なお、ジョブネット構成172には、これ以上前にジョブネットが存在しないことを示す値(-1)が設定される。このジョブネットリストテーブル170が示すように、複数のジョブネットリストにより枝分かれの構造が形成されている場合がある。
次に、図12のS701に示すように、予測モデル作成プログラム105は、ジョブネットリスト生成処理で生成したジョブネットリストのうち一つのリスト(ここでは、選択リストという)を選択する(S701)。具体的には、予測モデル作成プログラム105は、ジョブネットリストテーブル170のうち一つのレコードを選択する。
予測モデル作成プログラム105は、ジョブネットリストテーブル170及びジョブネット実行情報管理テーブル140に基づき、選択リストの実行時間の平均値を算出する(S702)。
具体的には、予測モデル作成プログラム105は、S701で選択したレコードのジョブネット構成172に記録されている各ジョブネットの平均実行時間を、ジョブネット実行情報管理テーブル140における対応レコードのジョブネット平均実行時間143から取得する。予測モデル作成プログラム105は、取得した各平均実行時間を合計する。
また、予測モデル作成プログラム105は、ジョブネットリストテーブル170及びジョブネット実行情報管理テーブル140に基づき、選択リストの実行時間の最大値を算出する(S703)。
具体的には、予測モデル作成プログラム105は、S701で選択したレコードのジョブネット構成172に記録されている各ジョブネットの最大実行時間を、ジョブネット実行情報管理テーブル140における対応レコードのジョブネット最大実行時間144から取得する。予測モデル作成プログラム105は、取得したジョブネット最大実行時間144の各値を合計する。
予測モデル作成プログラム105は、これまでに選択リストとして選択されていない他のジョブネットリストがある場合は、そのジョブネットリストを新たな選択リストとして、S701以降の処理を繰り返す(S704)。予測モデル作成プログラム105は、全てのジョブネットリストを選択リストとして選択した場合に、次述するS705の処理を実行する。
すなわちS705において、予測モデル作成プログラム105は、S701~S705で算出した各実行時間に基づき、クリティカルパスを特定する。
具体的には、予測モデル作成プログラム105は、各ジョブネットリストについて、S701~S704で算出した実行時間の平均値及び最大値の合計値をそれぞれ算出する。予測モデル作成プログラム105は、算出した合計値が最大のジョブネットリストを、クリティカルパスとして特定する。以上でクリティカルパス特定処理S3は終了する。
ここで、クリティカルパス特定処理S3におけるジョブネットリスト生成処理S700について説明する。
--ジョブネットリスト生成処理--
図14は、ジョブネットリスト生成処理S700の詳細を説明するフロー図である。まず、ジョブ管理装置100の予測モデル作成プログラム105は、ジョブネット実行時間予測モデルに基づき、各ジョブネットの処理上の前後関係を推定する(S601)。
具体的には、例えば、予測モデル作成プログラム105は、ジョブネット実行時間予測モデル生成処理で生成したジョブネット実行時間学習テーブル150における、各ジョブネットの目的変数である各ジョブネットの実行時間151と各ジョブネットの説明変数152との組み合わせに対する特徴量154をそれぞれ参照及び比較することにより、ジョブネット間の前後関係の組み合わせのうち最も特徴量が大きくなる前後関係の組み合わせを特定する。
予測モデル作成プログラム105は、各ジョブネットのうち一つ(ここでは、選択JNという)を選択する(S602)。
予測モデル作成プログラム105は、S601で特定した各ジョブネットの前後関係に基づき、選択JNの後に実行されるジョブネットのうち最後のジョブネット(末端のJN)を取得する(S603)。例えば、予測モデル作成プログラム105は、ジョブネットリストテーブル170に作成した新たなレコードのジョブネット構成172における最初の項目に、取得したジョブネットのIDを登録する。
予測モデル作成プログラム105は、S603で取得したジョブネットの直前に実行される他のジョブネットがあるか否かを判定する(S604)。直前に実行される他のジョブネットがある場合は(S604:YES)、予測モデル作成プログラム105は、S605の処理を実行し、直前に実行される他のジョブネットがない場合は(S604:NO)、予測モデル作成プログラム105は、S606の処理を実行する。
S605において予測モデル作成プログラム105は、当該他のジョブネットを取得し、そのジョブネットに対して、S604の処理を再び実行する。例えば、予測モデル作成プログラム105は、ジョブネットリストテーブル170の前記レコードのジョブネット構成172における次の項目に、当該他のジョブネットのIDを登録する。
S606において予測モデル作成プログラム105は、選択JNが、選択JNを含むジョブネットリストにおける最初のジョブネットである旨を記憶する。例えば、予測モデル作成プログラム105は、作成したジョブネットリストテーブル170のレコードのジョブネット構成172における最後の項目として、「-1」を設定する。
予測モデル作成プログラム105は、これまでに選択JNとして選択されていない他のジョブネットがある場合は、そのジョブネットを新たな選択JNとして、S602以降の処理を繰り返す(S606)。予測モデル作成プログラム105は、全てのジョブネットを選択JNとして選択した場合に、ジョブネットリスト生成処理を終了する。
--ジョブネット実行時間予測処理--
次に、図15は、ジョブネット実行時間予測処理S20の詳細を説明するフロー図である。ジョブネット実行時間予測処理S20は、ジョブネット情報収集処理S10の最低1回の実行後、バッチジョブを実行中の場合において、所定のタイミング(例えば、所定の時間間隔、所定の時刻、又はユーザから所定の入力があった場合等)に繰り返し実行される。
まず、予測モデル作成プログラム105は、ジョブネット情報収集処理S10のクリティカルパス特定処理S3で特定したクリティカルパスにおける、各ジョブネットの情報を取得する(S801)。
具体的には、予測モデル作成プログラム105は、ジョブネットリストテーブル170及びジョブネット実行情報管理テーブル140から、クリティカルパスに係るレコードを取得する。
予測モデル作成プログラム105は、現在実行中のバッチジョブにおいて、実行順序が最初のジョブネットからジョブネットを検索することで、実行が終了していないか又は実行時間を未だ予測していないジョブネットのうち、最初に検索されかつこれまでに選択されていないジョブネット(以下、予測対象ジョブネットという)を選択する(S802)。
予測モデル作成プログラム105は、後述するS805でジョブネット実行時間予測モデルに入力するための、予測対象ジョブネットに関する説明変数の項目を取得する(S803)。例えば、予測モデル作成プログラム105は、ジョブネット実行時間学習テーブル150から、説明変数152の項目を取得する。
予測モデル作成プログラム105は、予測対象ジョブネットに対する前提JNであってその実行が未だ完了していない、1又は複数のジョブネット(以下、未了前提JNという)があるか否かを判定する(S804)。
具体的には、例えば、予測モデル作成プログラム105は、S802で選択したジョブネットより前の実行順序のジョブネットを、ジョブネットリストテーブル170により特定し、特定したジョブネットの実行が現在実行中か否かを、所定のモニタリングプログラムにより確認する。
未了前提JNがある場合は(S804:YES)、予測モデル作成プログラム105は、次述するS805の処理を実行し、未了前提JNがない場合は(S804:NO)、予測モデル作成プログラム105は、後述するS807の処理を実行する。
S805において予測モデル作成プログラム105は、ジョブネット実行時間予測モデル生成処理S2で決定した各ジョブネットの予測方法に応じて、各未了前提JNの実行時間を予測する。その後、予測モデル作成プログラム105は、その次の実行順序の予測対象ジョブネットを選択してS802以降の処理を繰り返す。
具体的には、まず、予測モデル作成プログラム105は、ジョブネット実行時間予測方法テーブル160から、未了前提JNに係るレコードのジョブネット実行時間予測方法164を取得する。
そして、予測モデル作成プログラム105は、取得した内容が「Predict」の場合(予測精度が高い場合)は、ジョブネット実行時間予測モデル(ジョブネット実行時間学習テーブル150から作成されたジョブネット実行時間予測モデル)に、実行が終了した各前提JNの実行時間の実測値及び、各未了前提JNに関する、S303で取得した説明変数の値を入力することにより、各未了前提JNの実行時間を予測する。
また、予測モデル作成プログラム105は、取得した内容が「Calculate」の場合(予測精度が低く実行時間が短い場合)、過去に実行された各未了前提JNの統計情報に基づき、各未了前提JNの実行時間を算出する。例えば、予測モデル作成プログラム105は、ジョブネット実行情報管理テーブル140から、各未了前提JNに係るレコードのジョブネット平均実行時間143又はジョブネット最大実行時間144を取得することにより、各未了前提JNの実行時間を予測(算出)する。
なお、ジョブネット平均実行時間143又はジョブネット最大実行時間144のいずれを利用するかは、例えば、ジョブネット実行情報管理テーブル140の作成に際して利用したジョブネットの過去履歴のデータの多さ(サンプリング数の多さ)に応じて変えるようにする。例えば、予測モデル作成プログラム105は、サンプリング数が所定数より多い場合にはジョブネット平均実行時間143を使用し、サンプリング数が所定数未満の場合にはジョブネット最大実行時間144を利用する。
また、予測モデル作成プログラム105は、取得した内容が「Wait」の場合(予測精度が低く実行時間が長い場合)、過去に実行された各未了前提JNの統計情報のうち最大値に基づき、各未了前提JNの実行時間を予測(算出)する。例えば、予測モデル作成プログラム105は、ジョブネット実行情報管理テーブル140から、各未了前提JNに係るレコードのジョブネット最大実行時間144を取得することにより、各未了前提JNの実行時間を予測する。
S807において予測モデル作成プログラム105は、選択可能な予測対象ジョブネットを全て選択したかを確認する。予測対象ジョブネットを全て選択した場合は(S807:YES)、ジョブネット実行時間予測処理は終了し(S808)、選択していない予測対象ジョブネットがある場合は(S807:NO)、予測モデル作成プログラム105は、一つ前の予測対象ジョブネットを選択してS802以降の処理を繰り返す。
このように、ジョブネット実行時間予測処理S20は、現在実行中のバッチジョブにおける未了前提JNのそれぞれの実行時間を算出する(予測する)。
--ジョブネット遅延判定処理--
次に、図16は、ジョブネット遅延判定処理S30の詳細を説明するフロー図である。ジョブネット遅延判定処理S30は、ジョブネット実行時間予測処理S20で算出した実行時間を用いて、ユーザから指定されたジョブネットの実行終了時刻の進行状況(遅延状況)に関する情報を表示する。
なお、ジョブネット遅延判定処理S30は、ジョブネット実行時間予測処理S20の最低1回の実行後に、バッチジョブが実行中の場合であって、ユーザから所定の入力があった場合、実行中のいずれかのジョブネットの実行が終了した通知をジョブ実行マネージャー500から受信した場合、又は所定のタイミング(例えば、所定の時間間隔、所定の時刻等)に実行される。
まず、遅延判定プログラム109は、現在実行中のバッチジョブのクリティカルパスにおけるジョブネットのうち、実行の遅延状況を判定するジョブネット(以下、判定対象JNという)を特定する(S900)。
具体的には、例えば、遅延判定プログラム109は、後述するジョブネット監視画面1000によりユーザから判定対象JNの指定の入力を受け付けてもよいし、各ジョブネットから任意に選択してもよいし、所定のスケジュールに従って判定対象JNを選択してもよい。
遅延判定プログラム109は、現在時刻を取得する(S901)。そして、遅延判定プログラム109は、予めユーザにより設定された判定対象JNの実行終了時刻(以下、終了予定時刻という)が現在時刻より前であるか否かを判定する(S902)。
なお、終了予定時刻は、例えば、ユーザが業務状況等に応じて設定した時刻、又は、所定のスケジュールに基づき自動的に設定された時刻である。
終了予定時刻が現在時刻より前である場合は(S902:YES)、遅延判定プログラム109は、次述するS905の処理を実行し、終了予定時刻が現在時刻又はそれ以後である場合は(S902:NO)、遅延判定プログラム109は、後述するS903の処理を実行する。
S905において遅延判定プログラム109は、判定対象JNの処理が終了予定時刻より遅延している旨を示す情報を表示する。以上でジョブネット遅延判定処理S30は終了する。
他方、S903において遅延判定プログラム109は、判定対象JNの実行時間の予測精度が高いか否かを判定する。例えば、遅延判定プログラム109は、ジョブネット実行時間予測方法テーブル160における、判定対象JNに係るレコードのジョブネット予測精度分類163が「High」であるか否かを判定する。
判定対象JNの実行時間の予測精度が高い場合は(S903:YES)、遅延判定プログラム109は、後述するS906の処理を実行し、判定対象JNの実行時間の予測精度が高くない場合は(S903:NO)、遅延判定プログラム109は、後述するS904の処理を実行する。
S906において遅延判定プログラム109は、判定対象の実行終了時刻を、ジョブネット実行時間予測モデルに基づき算出する。そして、遅延判定プログラム109は、判定対象JNの処理の遅延状況を示す情報を後述するジョブネット監視画面1000に表示し、ジョブネット遅延判定処理S30は終了する。
具体的には、例えば、遅延判定プログラム109は、判定対象JNの各前提JNを実行順序順に取得する。遅延判定プログラム109は、取得した各前提JNについて、その前提JNが未了前提JNである場合にはその未了前提JNの実行時間の予測値(ジョブネット実行時間予測処理S20で算出したもの)を取得し、他方、その前提JNが未了前提JNでない場合にはその前提JNの実行時間の実測値を取得する。
遅延判定プログラム109は、取得した各前提JNの実行時間と、その他の説明変数(例えば、実行曜日、又は、ジョブネット実行情報管理テーブルの平均待ち時間146又はジョブネット待ち時間学習テーブル220をもとに作成された予測モデルにより取得される待ち時間等)とをそれぞれ説明変数として、これらをジョブネット実行時間予測モデルに入力することにより、判定対象JNの実行時間を予測することでその実行終了時刻を算出し、これを表示する。
さらに、遅延判定プログラム109は、算出した実行終了時刻が終了予定時刻より後の場合には、判定対象JNの処理が遅延している旨を示す情報を表示してもよい。
S904において遅延判定プログラム109は、判定対象JNの実行時間が長いか否かを判定する。例えば、遅延判定プログラム109は、ジョブネット実行時間予測方法テーブル160における、判定対象JNに係るレコードのジョブネット実行時間分類162が「Long」であるレコードがあるか否かを判定する。
実行時間が長い場合は(S904:YES)、遅延判定プログラム109は、後述するS908の処理を実行し、実行時間が長くない場合は(S904:NO)、遅延判定プログラム109は、後述するS907の処理を実行する。
S907において遅延判定プログラム109は、判定対象JNの実行終了時刻を、判定対象JN及び各前提JNの実行時間の平均値又は実測値に基づき予測する。そして、遅延判定プログラム109は、判定対象JNの処理の遅延状況を示す情報を後述するジョブネット監視画面1000に表示し、ジョブネット遅延判定処理S30は終了する。
具体的には、例えば、遅延判定プログラム109は、判定対象JNの各前提JNを実行順序順に取得する。遅延判定プログラム109は、取得した前提JNについて、その前提JNが未了前提JNである場合にはその未了前提JNの実行時間の予測値(ジョブネット実行時間予測処理S20で算出したもの)を取得し、他方、その前提JNが未了前提JNでない場合にはその前提JNの実行時間の実測値を取得する。
また、遅延判定プログラム109は、判定対象JNの実行時間を、ジョブネット実行情報管理テーブル140の対応レコードのジョブネット平均実行時間143から取得する。
遅延判定プログラム109は、取得した各前提JN及び判定対象JNの各実行時間を合計することによって、判定対象JNの実行終了時刻を算出し、表示する。
なお、遅延判定プログラム109は、各前提JNの間の待ち時間、及び、判定対象JNと各前提JNとの待ち時間を、ジョブネット実行履歴管理テーブル130の判定対象JNと各JNの対応レコード開始時刻および終了時刻から得られる待ち時間の平均値あるいは最大値、又はジョブネット待ち時間学習テーブル220をもとに作成した予測モデルを用いて取得して、これらをさらに加算するようにしてもよい。
なお、遅延判定プログラム109は、算出した判定対象JNの実行終了時刻の精度が低
いことを示す情報をジョブネット監視画面1000に表示してもよい。
S908において遅延判定プログラム109は、判定対象JNの実行終了時刻を、判定対象JN及び各前提JNの実行時間の最大値又は実測値に基づき予測する。そして、遅延判定プログラム109は、判定対象JNの処理の遅延状況を示す情報を後述するジョブネット監視画面1000に表示し、ジョブネット遅延判定処理S30は終了する。
具体的には、例えば、遅延判定プログラム109は、判定対象JNの各前提JNを実行順序順に取得する。遅延判定プログラム109は、取得した前提JNについて、その前提JNが未了前提JNである場合にはその未了前提JNの実行時間の予測値(ジョブネット実行時間予測処理S20で算出したもの)を取得し、他方、その前提JNが未了前提JNでない場合にはその前提JNの実行時間の実測値を取得する。
また、遅延判定プログラム109は、判定対象JNの実行時間を、ジョブネット実行情報管理テーブル140の対応レコードの最大ジョブネット最大実行時間144から取得する。
遅延判定プログラム109は、取得した各前提JN及び判定対象JNの各実行時間を合計することによって、判定対象JNの実行終了時刻を算出し、表示する。
なお、遅延判定プログラム109は、各前提JNの間の待ち時間、及び、判定対象JNと各前提JNとの待ち時間を、ジョブネット実行情報管理テーブルの対応レコードの平均待ち時間146又はジョブネット待ち時間予測テーブル220の対応特徴量から取得して、これらをさらに加算するようにしてもよい。
なお、遅延判定プログラム109は、算出した判定対象JNの実行終了時刻の精度が低いことを示す情報をジョブネット監視画面1000に表示してもよい。また、遅延判定プログラム109は、所定期間、待機する(判定対象JNの実行終了時刻の表示を保留する)ようにしてもよい。
このように、本実施形態のジョブネット遅延判定処理S30は、判定対象ジョブネット及び未了前提JNの、予測精度の高さ及び実行時間の長さに基づき、遅延判定に係る情報の表示を変えている。
ここで、ジョブネット監視画面1000について説明する。
(ジョブネット監視画面)
図17は、ジョブネット監視画面1000の一例を示す図である。ジョブネット監視画面1000には、クリティカルパスにおける各ジョブネットのアイコンと、それらの実行順序を示す図形1001(矢印等)とが表示される。具体的には、各ジョブネットのアイコンには、そのジョブネットが実行済みであることを示す実行済みアイコン1003と、そのジョブネットが現在実行中であることを示す実行中アイコン1005と、そのジョブネットが未実行(実行待ち)であることを示す未実行アイコン1007とがある。なお、クリティカルパスに属さないジョブネットのアイコン1009には、その旨がわかるように特殊な表示(例えば、薄い色による表示)がなされる。
ここで、ユーザが、判定対象JNとして未実行アイコン1007(1007(1)(2))を選択すると、その未実行アイコン1007に対応するジョブネットの遅延状況を示す情報が表示される。
具体的には、例えば、選択した未実行アイコン1007(1)のジョブネットの実行終了時刻の予測精度が高い場合には、その未実行アイコン1007(1)に対応するジョブネットの実行終了時刻として、ジョブネット実行時間予測モデル又は実測値により予測された実行終了時刻1011が表示される。
また、例えば、選択した未実行アイコン1007(2)のジョブネットの実行終了時刻の予測精度が低い場合は、その未実行アイコン1007(2)に対応するジョブネットの実行終了時刻として、統計情報(平均値又は最大値等)により予測された実行終了時刻1012が表示される。
なお、この場合、実行終了時刻1011の予測精度が低いことを示す情報1013が表示されてもよい。また、予測された実行終了時刻1012を表示しないようにしてもよい。さらにこの場合、実行終了時刻1011の表示を所定期間待機してもよい。例えば、その未実行アイコン1007(2)に対応するジョブネットの実行が開始されるまでは、その終了予定時刻が到来するまでは、又は、統計情報のうち最小値を用いて予測されたそのジョブネットの実行終了時刻が到来するまでは、実行終了時刻1012を表示しないようにしてもよい。
なお、ユーザが、判定対象JNとして実行中アイコン1005を選択した場合にも、未実行アイコン1007と同様に各情報の表示が行われる。
次に、ジョブネット終了予定時刻入力画面1100について説明する。
(ジョブネット終了予定時刻入力画面)
図18は、ジョブネット終了予定時刻入力画面1100の一例を示す図である。ジョブネット終了予定時刻入力画面1100には、クリティカルパスにおける各ジョブネット1111とこれらのジョブネット1111の実行順序を示す情報1113(矢印)とが表示されるジョブ表示欄1110と、クリティカルパスにおけるジョブネット1111のリストの表示欄1120と、クリティカルパスの最後のジョブネットの終了予定時刻の入力をユーザから受け付ける設定時刻入力欄1130とが表示される。
(ジョブネット情報表示画面)
図19は、ジョブネット情報表示画面1200の一例を示す図である。
ジョブネット情報表示画面1200は、例えば、ジョブ管理装置100がユーザから所定の入力を受け付けた際に表示される。ジョブネット情報表示画面1200は、ジョブネットごとに設けられる画面であり、ジョブネットの名称1210と、そのジョブネットの統計情報1220と、そのジョブネットとの関係でのジョブネット実行時間予測モデルの精度の情報1230とが表示される。
統計情報1220は、ジョブネット実行履歴管理テーブル130及びジョブネット実行情報管理テーブル140に基づく情報であり、具体的には、これまでに実行された当該ジョブネットの実行時間のうち最短実行時間1221と、これまでに実行された当該ジョブネットの平均実行時間1222と、これまでに実行された当該ジョブネットの実行時間のうち最大実行時間1223と、これまでに実行された当該ジョブネットの実行時間の標準偏差1224と、当該ジョブネットの実行時間の長さの分類1225(「Long」「Short」に対応)とを含む。
精度の情報1230は、ジョブネット実行時間予測方法テーブル160に基づく情報であり、具体的には、当該ジョブネットに関するジョブネット実行時間予測モデルの予測精
度1231(「High」「Low」に対応)と、当該ジョブネットの実行時間の予測方法1232(「Predict」「Low」「Wait」に対応)とを含む。
以上のように、本実施形態のジョブ管理装置100は、実行されるジョブ(又はジョブネット。以下同様。)の実行時間を予測する実行時間予測モデルによる各ジョブの実行時間の予測精度をそれぞれ算出し、現在実行中のバッチジョブのうち指定されたジョブの実行終了時を実行時間予測モデルに基づき予測するか否かを、各ジョブの実行時間の予測精度に基づき判定し、実行時間予測モデルに基づき予測する場合には、実行時間予測モデルに基づき予測した、指定されたジョブの実行終了時に関する情報を表示する。
すなわち、ジョブ管理装置100は、実行時間予測モデルの精度に応じて、各ジョブ(ネット)の実行終了時刻を実行時間予測モデルで予測するので、ジョブ(ネット)の実行終了タイミングを安定した精度で予測することができる。
これにより、例えば、ジョブネットの開始、終了、又は進捗状況を監視し、ジョブネットの実行終了が遅れそうな場合には、これをいち早く検知してユーザに必要な対策を促すことができる。これにより、例えば、ジョブを利用する業務システムの稼働開始時刻までに、必要なジョブの処理を完了することができる。
[実施例2]
実施例2に係るジョブ管理システム2は、ジョブネット実行時間予測モデルにおける説明変数が実施例1と異なる。すなわち、本実施例に係るジョブ管理システム2は、説明変数として、ジョブ実行エージェント600のリソースの情報が追加される。
図20は、実施例2に係るジョブ管理システム2の構成の一例を説明する図である。実施例1と同様の符号の構成は、実施例1と同様である。
すなわち、本実施例に係るジョブ管理装置100は、ジョブネット実行エージェント実行エージェントテーブル180、ジョブネット実行エージェント情報テーブル190、及びリソース使用状況テーブル200を記憶している。
そして、本実施例では、予測モデル作成プログラム105は、過去に実行された各ジョブを実行したジョブ実行エージェント600の、当該各ジョブを実行した際のリソースの使用状況の情報を取得し、取得したリソースの使用状況の情報(リソース使用状況テーブル200)と、過去に実行された各ジョブの実行時間に関する情報とに基づき、実行時間予測モデルを生成する。
ここで、ジョブネット実行エージェントテーブル180、及びジョブネット実行エージェント情報テーブル190について説明する。
(ジョブネット実行エージェントテーブル)
図21は、ジョブネット実行エージェントテーブル180の一例を示す図である。ジョブネット実行エージェントテーブル180は、各ジョブネットの名称(識別子)であるジョブネット名称181、及びジョブネット名称181に係るジョブネットを実行するジョブ実行エージェント600の識別子であるエージェント182の各項目を有する各レコードで構成される。
(ジョブネット実行エージェント情報テーブル)
図22は、ジョブネット実行エージェント情報テーブル190の一例を示す図である。ジョブネット実行エージェント情報テーブル190は、各ジョブ実行エージェント600
の名称(識別子)であるエージェント名称191、及びエージェント名称191に係るジョブ実行エージェント600のジョブ管理システム2上の位置(IPアドレス等)であるアドレス192、及びエージェント名称191に係るジョブ実行エージェント600へのアクセスに必要な認証情報193の各項目を有する各レコードで構成される。
--ジョブネット実行時間収集処理--
図23は、実施例2に係るジョブネット実行時間収集処理S40の一例を説明する。このジョブネット実行時間収集処理S40は、実施例1と同様のジョブネット実行時間収集処理S1と、後述するジョブネット実行時間予測モデル生成処理S6と、実施例1と同様のクリティカルパス特定処理S3と、実施例1と同様のデータの追加S4とを実行する他、ジョブネット実行時間予測モデル生成処理S6を実行する前に、ジョブ実行エージェント600に関するリソースの情報を収集するリソース情報収集処理S5を実行する。
すなわち、リソース情報収集処理S5においてジョブネット実行時間収集プログラム104は、実施例1の各処理に加え、ジョブ実行エージェント600に関するリソースの情報を、各ジョブ実行エージェント600から受信し、受信した情報を、リソース使用状況テーブル200に記憶する。
(リソース使用状況テーブル)
図24は、リソース使用状況テーブル200の一例を示す図である。リソース使用状況テーブル200は、ジョブ実行エージェント600に係る名称(識別子)であるエージェント名称201、エージェント名称201に係るジョブ実行エージェント600がジョブネットを実行した日時202、エージェント名称201に係るジョブ実行エージェント600におけるリソースの種類(例えば、CPU使用率、メモリ使用率、ディスク使用率、ネットワーク帯域使用率)の名称(識別子)であるリソース名203、及びリソース名203に係るリソースの、日時202に係る時点での値204の各項目を含むレコードで構成される。
次に、本実施例に係るジョブネット実行時間予測モデル生成処理S6について説明する。
ジョブネット実行時間予測モデル生成処理S6において、予測モデル作成プログラム105は、実施例1と同様にジョブネット実行時間予測モデルを生成することにより、実施例1と異なるジョブネット実行時間学習テーブル230を生成する。すなわち、本実施例では、予測モデル作成プログラム105は、ジョブネット実行時間予測モデルの説明変数として、実施例1で説明した説明変数に加えて、ジョブ実行エージェント600のリソース情報を使用する。
(ジョブネット実行時間学習テーブル)
図25は、実施例2に係るジョブネット実行時間学習テーブル230の一例を示す図である。ジョブネット実行時間学習テーブル230は、実施例1と同様に、ジョブネット実行時間予測モデルにおける目的変数である各ジョブネットの実行時間151と、各ジョブネットの実行時間151を説明する説明変数152との組み合わせと、その組み合わせに対する説明変数の値154とを記憶した情報である。ここで、本実施例では、説明変数152として、ジョブ実行エージェント600のリソース235(同図の例では、CPU使用率、メモリ使用率)が設定されている。
このジョブネット実行時間学習テーブル230を用いて、遅延判定プログラム109は、ジョブネット実行時間予測処理S20及びジョブネット遅延判定処理S30を実行する。
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。
例えば、各情報処理装置の一部又は全部の機能を、他の情報処理装置に設けてもよい。
また、本実施形態では、実行時間又は実行終了時刻等の算出対象をジョブネット単位としたが、ジョブ単位としてもよいし、ジョブネットを更に統合したさらに上位のジョブのグループとしてもよい。
また、ジョブネット実行時間予測モデルにおける説明変数は、本実施形態で説明したものに限られない。また、説明変数の対象となるジョブネットを一部のジョブネットに限定してもよい。
また、本実施形態では、ジョブネット実行時間予測モデルに基づく予測か、又は統計情報に基づき予測かについての判定基準を、ジョブネット実行時間予測モデルの予測精度の他、ジョブネットの実行時間に基づくものとしたが、他の判定基準を用いてもよい。例えば、全パスにおける各ジョブネットの実行時間の割合を使用してもよい。
また、終了予定時刻は、ジョブネットごとに設定してもよいし、パス全体の終了時刻としてもよい。
以上の本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態において、前記情報処理装置(ジョブ管理装置100)が、前記遅延判定処理において、前記指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測するか否かを、前記実行時間予測モデルによる、前記指定されたジョブネットの実行時間の予測精度が所定値以上であるか否かにより判定し、前記実行時間の予測精度が前記所定値以上である場合に、前記実行時間予測モデルに基づき予測した、前記指定されたジョブネットの実行終了時に関する情報を表示する、としてもよい。
このように、実行時間予測モデルによる、指定されたジョブネットの実行時間の予測精度が高い場合に、実行時間予測モデルに基づき予測した、指定されたジョブネットの実行終了時に関する情報を表示することにより、信頼性の高い、指定されたジョブネットの実行終了時刻の情報を確実にユーザに提供することができる。
また、本実施形態において、前記情報処理装置が、前記過去に実行された各ジョブネットの実行時間に関する情報に基づき、前記各ジョブネットの実行時間の統計値を算出するジョブネット実行時間収集処理を実行し、前記遅延判定処理において、前記指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測するか否かを、前記実行時間予測モデルによる、前記指定されたジョブネットの実行時間の予測精度が所定値以上であるか否かにより判定し、前記実行時間の予測精度が前記所定値以上でないと判定した場合には、前記算出した統計値に基づき算出した、前記指定されたジョブネットの実行終了時に関する情報を表示する、としてもよい。
このように、実行時間の予測精度が高くない場合には、各ジョブネットの実行時間の統計値に基づき算出した、指定されたジョブネットの実行終了時に関する情報を表示することで、その予測精度が高くない場合であっても、ユーザは、適切な予測方法による実行終了時刻の提示を受けることができる。
また、本実施形態において、前記情報処理装置が、前記遅延判定処理において、前記指定されたジョブネットの実行時間の予測精度が前記所定値以上でないと判定した場合には、前記算出した統計値に基づき算出した、前記指定されたジョブネットの実行終了時に関する情報を表示する前に、所定期間待機する、としてもよい。
このように、実行時間の予測精度が高くない場合に、統計値に基づき算出した実行終了時に関する情報を表示する前に、所定期間待機することで、ユーザが実行時間の予測に関して、不正確な情報に基づく拙速な判断をすることを防ぐことができる。
また、本実施形態において、前記情報処理装置が、前記ジョブネット実行時間収集処理において、前記過去に実行された各ジョブネットの実行時間に関する情報に基づき、前記各ジョブネットの実行時間の統計値として、前記各ジョブネットの実行時間の平均値及び最大値を算出し、前記遅延判定処理において、前記実行時間の予測精度が前記所定値以上でないと判定した場合には、さらに、前記指定されたジョブネットの実行時間が所定時間以上であるか否かを判定し、前記指定されたジョブネットの実行時間が前記所定時間以上である場合には、前記算出した最大値に基づき算出した、前記指定されたジョブネットの実行終了時に関する情報を表示し、前記指定されたジョブネットの実行時間が前記所定時間以上でない場合には、前記算出した平均値に基づき算出した、前記指定されたジョブネットの実行終了時に関する情報を表示する、としてもよい。
このように、指定されたジョブネットの実行時間の予測精度が高くない場合に、さらに、ジョブネットの実行時間が長い場合には、最大値に基づき算出した実行終了時に関する情報を表示し、他方、実行時間が長くない場合には、平均値に基づき算出した実行終了時に関する情報を表示することで、実行時間の長さに応じた、指定されたジョブネットの実行終了時に関する合理的な情報をユーザに提供することができる。
また、本実施形態において、前記情報処理装置が、前記ジョブネット実行時間予測モデル生成処理において、前記過去に実行された各ジョブネットの実行時間に関する情報に基づき、前記各ジョブネットの実行順序を推定し、前記遅延判定処理において、前記指定されたジョブネットより前の実行順序のジョブネットを、前記推定した実行順序に基づき特定する、としてもよい。
このように、各ジョブネットの過去の実行時間に基づき各ジョブネットの実行順序を推定しておき、指定されたジョブネットより前の実行順序のジョブネットを、その推定した実行順序に基づき特定することにより、ジョブネット間の実行順序の関係が複雑である場合であっても各ジョブネット間の実行順序を適切に推定し、指定されたジョブネットの実行終了時刻を適切に算出することができる。
また、本実施形態において、前記情報処理装置が、前記ジョブネット実行時間予測モデル生成処理において、前記過去に実行された各ジョブネットの実行時間に関する情報の一つとして、前記過去に実行された各ジョブネットの実行開始時刻と、当該各ジョブネットの前に実行が終了した他のジョブネットの実行終了時刻との差である待ち時間を算出し、算出した待ち時間に基づき、前記実行時間予測モデルを生成する、としてもよい。
このように、過去のジョブネットの実行開始時刻と、そのジョブネットの前に実行が終了しているジョブネットの実行終了時刻との時間差に基づき実行時間予測モデルを生成することにより、ジョブネット間の実行順序を適切に推定し、各ジョブネットの実行時間をより正確に推定できる予測モデルを生成することができる。
また、本実施形態において、前記情報処理装置が、前記ジョブネット実行時間予測モデ
ル生成処理において、前記過去に実行された各ジョブネットを実行した所定の情報処理装置の、当該各ジョブネットを実行した際のリソースの使用状況の情報を取得し、取得した前記リソースの使用状況の情報と、前記過去に実行された各ジョブネットの実行時間に関する情報とに基づき、前記実行時間予測モデルを生成する、としてもよい。
このように、各ジョブネットを実行したジョブ実行エージェント600の、各ジョブネットを実行した際のリソースの使用状況を用いて実行時間予測モデルを生成することにより、各ジョブ実行エージェント600の性能が異なり各ジョブネットの実行時間が各ジョブ実行エージェント600ごとに大きく異なる場合であっても、ジョブネットの実行時間をより正確に推定できる予測モデルを生成することができる。
1 ジョブ管理システム、100 ジョブ管理装置、500 ジョブ実行マネージャー、600 ジョブ実行エージェント

Claims (9)

  1. 情報処理装置が、
    過去に実行された各ジョブネットの実行時間に関する情報に基づき、実行されるジョブネットの実行時間を予測する実行時間予測モデルを生成するジョブネット実行時間予測モデル生成処理と、
    前記生成した実行時間予測モデルによる各ジョブネットの実行時間の予測精度をそれぞれ算出する予測モデル精度判定処理と、
    現在実行中の又は以後実行される複数のジョブネットを含む集合であるジョブネット群のうち指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測するか否かを、前記算出した、各ジョブネットの実行時間の予測精度に基づき判定し、前記指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測すると判定した場合には、前記実行時間予測モデルに基づき予測した、前記指定されたジョブネットの実行終了時に関する情報を表示する遅延判定処理と、
    を実行する、ジョブ管理方法。
  2. 前記情報処理装置が、
    前記遅延判定処理において、前記指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測するか否かを、前記実行時間予測モデルによる、前記指定されたジョブネットの実行時間の予測精度が所定値以上であるか否かにより判定し、前記実行時間の予測精度が前記所定値以上である場合に、前記実行時間予測モデルに基づき予測した、前記指定されたジョブネットの実行終了時に関する情報を表示する、
    請求項1に記載のジョブ管理方法。
  3. 前記情報処理装置が、
    前記過去に実行された各ジョブネットの実行時間に関する情報に基づき、前記各ジョブネットの実行時間の統計値を算出するジョブネット実行時間収集処理を実行し、
    前記遅延判定処理において、前記指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測するか否かを、前記実行時間予測モデルによる、前記指定されたジョブネットの実行時間の予測精度が所定値以上であるか否かにより判定し、前記実行時間の予測精度が前記所定値以上でないと判定した場合には、前記算出した統計値に基づき算出した、前記指定されたジョブネットの実行終了時に関する情報を表示する、
    請求項2に記載のジョブ管理方法。
  4. 前記情報処理装置が、
    前記遅延判定処理において、前記指定されたジョブネットの実行時間の予測精度が前記所定値以上でないと判定した場合には、前記算出した統計値に基づき算出した、前記指定されたジョブネットの実行終了時に関する情報を表示する前に、所定期間待機する、
    請求項3に記載のジョブ管理方法。
  5. 前記情報処理装置が、
    前記ジョブネット実行時間収集処理において、前記過去に実行された各ジョブネットの実行時間に関する情報に基づき、前記各ジョブネットの実行時間の統計値として、前記各ジョブネットの実行時間の平均値及び最大値を算出し、
    前記遅延判定処理において、前記実行時間の予測精度が前記所定値以上でないと判定した場合には、さらに、前記指定されたジョブネットの実行時間が所定時間以上であるか否かを判定し、前記指定されたジョブネットの実行時間が前記所定時間以上である場合には、前記算出した最大値に基づき算出した、前記指定されたジョブネットの実行終了時に関する情報を表示し、前記指定されたジョブネットの実行時間が前記所定時間以上でない場合には、前記算出した平均値に基づき算出した、前記指定されたジョブネットの実行終了
    時に関する情報を表示する、
    請求項3に記載のジョブ管理方法。
  6. 前記情報処理装置が、
    前記ジョブネット実行時間予測モデル生成処理において、前記過去に実行された各ジョブネットの実行時間に関する情報に基づき、前記各ジョブネットの実行順序を推定し、
    前記遅延判定処理において、前記指定されたジョブネットより前の実行順序のジョブネットを、前記推定した実行順序に基づき特定する、
    請求項2に記載のジョブ管理方法。
  7. 前記情報処理装置が、
    前記ジョブネット実行時間予測モデル生成処理において、前記過去に実行された各ジョブネットの実行時間に関する情報の一つとして、前記過去に実行された各ジョブネットの実行開始時刻と、当該各ジョブネットの前に実行が終了した他のジョブネットの実行終了時刻との差である待ち時間を算出し、算出した待ち時間に基づき、前記実行時間予測モデルを生成する、
    請求項1に記載のジョブ管理方法。
  8. 前記情報処理装置が、
    前記ジョブネット実行時間予測モデル生成処理において、前記過去に実行された各ジョブネットを実行した所定の情報処理装置の、当該各ジョブネットを実行した際のリソースの使用状況の情報を取得し、取得した前記リソースの使用状況の情報と、前記過去に実行された各ジョブネットの実行時間に関する情報とに基づき、前記実行時間予測モデルを生成する、
    請求項1に記載のジョブ管理方法。
  9. プロセッサ及びメモリを備え、
    過去に実行された各ジョブネットの実行時間に関する情報に基づき、実行されるジョブネットの実行時間を予測する実行時間予測モデルを生成するジョブネット実行時間予測モデル生成処理と、
    前記生成した実行時間予測モデルによる各ジョブネットの実行時間の予測精度をそれぞれ算出する予測モデル精度判定処理と、
    現在実行中の又は以後実行される複数のジョブネットを含む集合であるジョブネット群のうち指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測するか否かを、前記算出した、各ジョブネットの実行時間の予測精度に基づき判定し、前記指定されたジョブネットの実行終了時を前記実行時間予測モデルに基づき予測すると判定した場合には、前記実行時間予測モデルに基づき予測した、前記指定されたジョブネットの実行終了時に関する情報を表示する遅延判定処理と、
    を実行する、ジョブ管理装置。
JP2020096916A 2020-06-03 2020-06-03 ジョブ管理方法、及びジョブ管理装置 Active JP7449779B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020096916A JP7449779B2 (ja) 2020-06-03 2020-06-03 ジョブ管理方法、及びジョブ管理装置
US17/198,730 US11734063B2 (en) 2020-06-03 2021-03-11 Job management based on generated execution time prediction model and prediction accuracy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020096916A JP7449779B2 (ja) 2020-06-03 2020-06-03 ジョブ管理方法、及びジョブ管理装置

Publications (2)

Publication Number Publication Date
JP2021189949A JP2021189949A (ja) 2021-12-13
JP7449779B2 true JP7449779B2 (ja) 2024-03-14

Family

ID=78817503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020096916A Active JP7449779B2 (ja) 2020-06-03 2020-06-03 ジョブ管理方法、及びジョブ管理装置

Country Status (2)

Country Link
US (1) US11734063B2 (ja)
JP (1) JP7449779B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11630624B1 (en) * 2022-03-14 2023-04-18 Ricoh Company, Ltd. Concurrent event detection for distributed rasterization processing in a printing environment
WO2023210086A1 (ja) * 2022-04-27 2023-11-02 パナソニックIpマネジメント株式会社 提示方法、および提示システム

Citations (9)

* 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 バッチジョブ管理システム及びバッチジョブ管理プログラム
JP2011118794A (ja) 2009-12-07 2011-06-16 Fujitsu Ltd バッチジョブ処理時間推定プログラム、方法及び装置
JP2013164712A (ja) 2012-02-10 2013-08-22 Nomura Research Institute Ltd バッチジョブ分析装置、バッチジョブ分析方法、バッチ処理監視装置およびバッチ処理監視方法
JP2013205970A (ja) 2012-03-27 2013-10-07 Fujitsu Ltd 実行時間推定装置、プログラム、及び、実行時間推定方法
JP2015026197A (ja) 2013-07-25 2015-02-05 富士通株式会社 ジョブ遅延検知方法、情報処理装置、およびプログラム
WO2016079802A1 (ja) 2014-11-18 2016-05-26 株式会社日立製作所 バッチ処理システムおよびその制御方法
JP2018026050A (ja) 2016-08-12 2018-02-15 富士通株式会社 並列処理装置、ジョブ管理プログラムおよびジョブ管理方法
US20180267806A1 (en) 2017-03-16 2018-09-20 Flexera Software Llc Calculating wait time for batch scheduler jobs
US20200125962A1 (en) 2018-10-19 2020-04-23 CA Software Österreich GmbH Runtime prediction for a critical path of a workflow

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066019A1 (en) * 2010-07-07 2012-03-15 Dunmow Systems Corporation Construction control system
US9396088B2 (en) * 2013-03-08 2016-07-19 Sap Se Computer execution progress indicator
JP7162550B2 (ja) * 2019-02-15 2022-10-28 オムロン株式会社 モデル生成装置、予測装置、モデル生成方法、及びモデル生成プログラム

Patent Citations (9)

* 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 バッチジョブ管理システム及びバッチジョブ管理プログラム
JP2011118794A (ja) 2009-12-07 2011-06-16 Fujitsu Ltd バッチジョブ処理時間推定プログラム、方法及び装置
JP2013164712A (ja) 2012-02-10 2013-08-22 Nomura Research Institute Ltd バッチジョブ分析装置、バッチジョブ分析方法、バッチ処理監視装置およびバッチ処理監視方法
JP2013205970A (ja) 2012-03-27 2013-10-07 Fujitsu Ltd 実行時間推定装置、プログラム、及び、実行時間推定方法
JP2015026197A (ja) 2013-07-25 2015-02-05 富士通株式会社 ジョブ遅延検知方法、情報処理装置、およびプログラム
WO2016079802A1 (ja) 2014-11-18 2016-05-26 株式会社日立製作所 バッチ処理システムおよびその制御方法
JP2018026050A (ja) 2016-08-12 2018-02-15 富士通株式会社 並列処理装置、ジョブ管理プログラムおよびジョブ管理方法
US20180267806A1 (en) 2017-03-16 2018-09-20 Flexera Software Llc Calculating wait time for batch scheduler jobs
US20200125962A1 (en) 2018-10-19 2020-04-23 CA Software Österreich GmbH Runtime prediction for a critical path of a workflow

Also Published As

Publication number Publication date
US20210382751A1 (en) 2021-12-09
JP2021189949A (ja) 2021-12-13
US11734063B2 (en) 2023-08-22

Similar Documents

Publication Publication Date Title
US11175933B2 (en) Application documentation effectiveness monitoring and feedback
JP5463885B2 (ja) バッチジョブ処理時間推定プログラム、方法及び装置
KR102498046B1 (ko) 작업 스케쥴링 및 모니터링 기법
JP3537356B2 (ja) ジョブシステムにおける遅延要因解析方法
JP4550781B2 (ja) リアルタイム急上昇検索語検出方法およびリアルタイム急上昇検索語検出システム
US8396815B2 (en) Adaptive business process automation
US9715409B2 (en) Job delay detection method and information processing apparatus
JP7449779B2 (ja) ジョブ管理方法、及びジョブ管理装置
JP2004171249A (ja) データベースのバックアップ実行判断方法
US20160224908A1 (en) End-to-end project management
CN103049163A (zh) 用户界面智能显示控制方法和装置
JP4910804B2 (ja) 業務プロセス推定プログラム、業務プロセス推定方法および業務プロセス推定装置
US20070233532A1 (en) Business process analysis apparatus
FR3038405A1 (fr) Mecanisme d'ordonnancement de traitement par lot
Ullah A method for predicting open source software residual defects
Caesarita et al. Identifying bottlenecks and fraud of business process using alpha++ and heuristic miner algorithms (Case study: CV. Wicaksana Artha)
Khan et al. Modeling the autoscaling operations in cloud with time series data
US20220294710A1 (en) Automatic automation recommendation
JPWO2009136529A1 (ja) 業務プロセス管理装置、業務プロセス管理方法、及び業務プロセス管理プログラム
CN111124791A (zh) 一种系统测试方法及装置
JP2007316769A (ja) 計算機システムの開発方法、計算機システムの開発プログラム
CN115794545A (zh) 运维数据的自动化处理方法及其相关设备
JP2012043103A (ja) 管理用作業情報収集システム、管理用作業情報収集システム制御方法およびその制御用プログラム
Glasner et al. Adaps–A three-phase adaptive prediction system for the run-time of jobs based on user behaviour
WO2022240539A1 (en) Automated actions based on ranked work events

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240304

R150 Certificate of patent or registration of utility model

Ref document number: 7449779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150