(57)【要約】【課題】上流システムから受信したファイルを用いて、下流システムにおいて、ジョブの実行を支援するためのジョブ管理システム、ジョブ管理方法及びジョブ管理プログラムを提供する。【解決手段】第２サーバ２０の制御部２１が、第１サーバ１０から、基準日を含む処理対象ファイルを取得し、ジョブ定義記憶部２３を用いて、処理対象ファイルに用いるジョブを特定して、ジョブキュー２６に登録し、ジョブ実行環境のリソース状況を確認し、ジョブ定義記憶部２３を用いて、ジョブキュー２６に登録されたジョブの中で、リソース状況に応じて実行可能で、ジョブの実行条件を満たす実行可能ジョブを特定し、複数の実行可能ジョブを特定した場合、基準日により特定された処理対象ファイルを用いるジョブを優先して実行する。【選択図】図１
2020144741.tif 000002
【特許請求の範囲】
【請求項１】
ジョブ実行環境で実行される各ジョブに用いるファイルを含む実行条件を記録したジョブ定義記憶部と、
上流システムから取得した処理対象ファイルを用いて、下流システムのジョブ実行環境におけるジョブ実行を管理する制御部とを備えたジョブ管理システムであって、
前記制御部が、
前記上流システムから、基準日を含む処理対象ファイルを取得し、
前記ジョブ定義記憶部を用いて、前記処理対象ファイルに用いるジョブを特定して、ジョブキューに登録し、
前記ジョブ実行環境のリソース状況を確認し、
前記ジョブ定義記憶部を用いて、前記ジョブキューに登録されたジョブの中で、前記リソース状況に応じて実行可能で、ジョブの実行条件を満たす実行可能ジョブを特定し、
複数の実行可能ジョブを特定した場合、前記基準日により特定された処理対象ファイルを用いるジョブを優先して実行することを特徴とするジョブ管理システム。
【請求項２】
ジョブの先行後続関係を記録したジョブネット定義記憶部を更に備え、
前記制御部が、
前記ジョブネット定義記憶部を用いて、前記ジョブキューに登録されたジョブについて、先行後続関係を特定し、
前記先行後続関係において、先行ジョブを、後続ジョブよりも優先して実行することを特徴とする請求項１に記載のジョブ管理システム。
【請求項３】
前記制御部が、
前記処理対象ファイルを用いたジョブの終了時刻を予測し、
前記予測した終了時刻が予め定められた終了時限内のジョブを優先することを特徴とする請求項１又は２に記載のジョブ管理システム。
【請求項４】
前記制御部が、処理対象ファイルの容量に基づいて、前記処理対象ファイルに用いるジョブの終了時刻を予測することを特徴とする請求項３に記載のジョブ管理システム。
【請求項５】
各ジョブについて、ジョブ実行に用いるリソース情報及び所要時間を含む実績情報を記憶する実績情報記憶部を更に備え、
前記制御部が、
前記実績情報記憶部に記録された実績情報を教師データとして用いて、前記ジョブの所要時間を予測するための予測モデルを作成する学習処理と、
前記実行可能ジョブについて、利用可能なリソースを特定し、前記予測モデルを用いて、所要時間を予測する予測処理とを実行し、
前記所要時間に基づいて、前記実行可能ジョブの終了時刻を予測することを特徴とする請求項３又は４に記載のジョブ管理システム。
【請求項６】
前記制御部が、
前記学習処理の処理対象ジョブについて、前記実績情報記憶部に記録された前記教師データが基準数よりも少ない場合、前記処理対象ジョブに類似するジョブの中で、前記実績情報記憶部に記録された前記教師データが前記基準数以上の類似ジョブを特定し、
前記処理対象ジョブの予測処理において、前記類似ジョブの予測モデルを用いることを特徴とする請求項５に記載のジョブ管理システム。
【請求項７】
ジョブ実行環境で実行される各ジョブに用いるファイルに関する情報を記録したジョブ定義記憶部と、
上流システムから取得した処理対象ファイルを用いて、下流システムのジョブ実行環境におけるジョブ実行を管理する制御部とを備えたジョブ管理システムであって、
前記制御部が、
市場状況情報、商品種別、処理対象ファイルのファイル情報を用いて、処理対象ファイルについてのジョブ実行を行なう多重実行プランを用いた場合の処理負荷及び処理時間を教師データとして用い、前記処理対象ファイルを用いるジョブの前記市場状況情報、商品種別、ファイル情報から処理負荷及び処理時間を予測するための予測モデルを生成する学習処理と、
新たな処理対象ファイルを取得した場合、市場状況情報、商品種別、ファイル情報を取得し、前記市場状況情報、商品種別、ファイル情報、多重実行プランを、前記予測モデルに適用し、前記多重実行プランを用いた場合の処理負荷及び処理時間を予測し、
前記処理時間に基づいて、前記処理負荷が小さくなるように前記多重実行プランを変更することを特徴とするジョブ管理システム。
【請求項８】
ジョブ実行環境で実行される各ジョブに用いるファイルを含む実行条件を記録したジョブ定義記憶部と、
上流システムから取得した処理対象ファイルを用いて、下流システムのジョブ実行環境におけるジョブ実行を管理する制御部とを備えたジョブ管理システムを用いて、ジョブ実行を管理する方法であって、
前記制御部が、
前記上流システムから、基準日を含む処理対象ファイルを取得し、
前記ジョブ定義記憶部を用いて、前記処理対象ファイルに用いるジョブを特定して、ジョブキューに登録し、
前記ジョブ実行環境のリソース状況を確認し、
前記ジョブ定義記憶部を用いて、前記ジョブキューに登録されたジョブの中で、前記リソース状況に応じて実行可能で、ジョブの実行条件を満たす実行可能ジョブを特定し、
複数の実行可能ジョブを特定した場合、前記基準日により特定された処理対象ファイルを用いるジョブを優先して実行することを特徴とするジョブ管理方法。
【請求項９】
ジョブ実行環境で実行される各ジョブに用いるファイルに関する情報を記録したジョブ定義記憶部と、
上流システムから取得した処理対象ファイルを用いて、下流システムのジョブ実行環境におけるジョブ実行を管理する制御部とを備えたジョブ管理システムを用いて、ジョブ実行を管理する方法であって、
前記制御部が、
市場状況情報、商品種別、処理対象ファイルのファイル情報を用いて、処理対象ファイルについてのジョブ実行を行なう多重実行プランを用いた場合の処理負荷及び処理時間を教師データとして用い、前記処理対象ファイルを用いるジョブの前記市場状況情報、商品種別、ファイル情報から処理負荷及び処理時間を予測するための予測モデルを生成する学習処理と、
新たな処理対象ファイルを取得した場合、市場状況情報、商品種別、ファイル情報を取得し、前記市場状況情報、商品種別、ファイル情報、多重実行プランを、前記予測モデルに適用し、前記多重実行プランを用いた場合の処理負荷及び処理時間を予測し、
前記処理時間に基づいて、前記処理負荷が小さくなるように前記多重実行プランを変更することを特徴とするジョブ管理方法。
【請求項１０】
ジョブ実行環境で実行される各ジョブに用いるファイルを含む実行条件を記録したジョブ定義記憶部と、
上流システムから取得した処理対象ファイルを用いて、下流システムのジョブ実行環境におけるジョブ実行を管理する制御部とを備えたジョブ管理システムを用いて、ジョブ実行を管理するためのプログラムであって、
前記制御部を、
前記上流システムから、基準日を含む処理対象ファイルを取得し、
前記ジョブ定義記憶部を用いて、前記処理対象ファイルに用いるジョブを特定して、ジョブキューに登録し、
前記ジョブ実行環境のリソース状況を確認し、
前記ジョブ定義記憶部を用いて、前記ジョブキューに登録されたジョブの中で、前記リソース状況に応じて実行可能で、ジョブの実行条件を満たす実行可能ジョブを特定し、
複数の実行可能ジョブを特定した場合、前記基準日により特定された処理対象ファイルを用いるジョブを優先して実行する手段として機能させることを特徴とするジョブ管理プログラム。
【請求項１１】
ジョブ実行環境で実行される各ジョブに用いるファイルに関する情報を記録したジョブ定義記憶部と、
上流システムから取得した処理対象ファイルを用いて、下流システムのジョブ実行環境におけるジョブ実行を管理する制御部とを備えたジョブ管理システムを用いて、ジョブ実行を管理するためのプログラムであって、
前記制御部を、
市場状況情報、商品種別、処理対象ファイルのファイル情報を用いて、処理対象ファイルについてのジョブ実行を行なう多重実行プランを用いた場合の処理負荷及び処理時間を教師データとして用い、前記処理対象ファイルを用いるジョブの前記市場状況情報、商品種別、ファイル情報から処理負荷及び処理時間を予測するための予測モデルを生成する学習処理と、
新たな処理対象ファイルを取得した場合、市場状況情報、商品種別、ファイル情報を取得し、前記市場状況情報、商品種別、ファイル情報、多重実行プランを、前記予測モデルに適用し、前記多重実行プランを用いた場合の処理負荷及び処理時間を予測し、
前記処理時間に基づいて、前記処理負荷が小さくなるように前記多重実行プランを変更する手段として機能させることを特徴とするジョブ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上流システムからファイルを受信した下流システムにおいてジョブの実行を支援するためのジョブ管理システム、ジョブ管理方法及びジョブ管理プログラムに関する。
【背景技術】
【０００２】
企業における業務管理のために複数のジョブを実行させる場合がある。この場合、各ジョブの先行後続関係を考慮する必要がある。この先行後続関係を考慮するために、ジョブの優先度を用いる場合がある（例えば、特許文献１を参照。）。この文献に記載された配信処理サーバは、顧客毎の明細発生パターン及び過去実績から明細予測数を算出する。そして、この明細予測数に基づいてジョブ起動時刻を算出して、スケジューリングを行なう。編集ジョブを実行する時間が重複する場合には、顧客企業の優先度に応じて重複するジョブ実行時間を分割する。そして、この分割に応じて、以降の編集ジョブのジョブ起動時刻を再計算する。このスケジュールに基づいて各顧客企業の編集ジョブを実行する。更に、編集ジョブの待機中に、現在の明細数が明細予測数以上になった場合、この明細数から新ジョブ起動時刻を算出し、ジョブ実行予定を変更する。
【０００３】
また、企業システムを、複数のシステムを連携させて構築する場合がある。例えば、銀行においては、対顧客用の勘定系システムや市場系システム（上流システム）に対して、取引状況や企業状況を管理するための情報系システム（下流システム）を設けることがある。この場合には、下流システムは、上流システムから取引に関するファイル（上流ファイル）を取得し、即時に、このファイルを加工するための各種情報処理のためのジョブネットを実行する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２１７４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、優先度の低いジョブに用いるファイルが、優先度が高いジョブに用いるファイルよりも先に下流システムに到着した場合、優先度が低いジョブが先に実行され、適切なジョブ管理を行なうことができなかった。ここで、優先度が高いジョブを多重実行させた場合には、システム負荷が大きくなるという課題がある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、ジョブ管理システムは、ジョブ実行環境で実行される各ジョブに用いるファイルを含む実行条件を記録したジョブ定義記憶部と、上流システムから取得した処理対象ファイルを用いて、下流システムのジョブ実行環境におけるジョブ実行を管理する制御部とを備える。そして、前記制御部が、前記上流システムから、基準日を含む処理対象ファイルを取得し、前記ジョブ定義記憶部を用いて、前記処理対象ファイルに用いるジョブを特定して、ジョブキューに登録し、前記ジョブ実行環境のリソース状況を確認し、前記ジョブ定義記憶部を用いて、前記ジョブキューに登録されたジョブの中で、前記リソース状況に応じて実行可能で、ジョブの実行条件を満たす実行可能ジョブを特定し、複数の実行可能ジョブを特定した場合、前記基準日により特定された処理対象ファイルを用いるジョブを優先して実行する。
上記課題を解決するために、ジョブ管理システムは、ジョブ実行環境で実行される各ジョブに用いるファイルに関する情報を記録したジョブ定義記憶部と、上流システムから取得した処理対象ファイルを用いて、下流システムのジョブ実行環境におけるジョブ実行を管理する制御部を備える。そして、前記制御部が、市場状況情報、商品種別、処理対象ファイルのファイル情報を用いて、処理対象ファイルについてのジョブ実行を行なう多重実行プランを用いた場合の処理負荷及び処理時間を教師データとして用い、前記処理対象ファイルを用いるジョブの前記市場状況情報、商品種別、ファイル情報から処理負荷及び処理時間を予測するための予測モデルを生成する学習処理と、新たな処理対象ファイルを取得した場合、市場状況情報、商品種別、ファイル情報を取得し、前記市場状況情報、商品種別、ファイル情報、多重実行プランを、前記予測モデルに適用し、前記多重実行プランを用いた場合の処理負荷及び処理時間を予測し、前記処理時間に基づいて、前記処理負荷が小さくなるように前記多重実行プランを変更する。
【発明の効果】
【０００７】
本発明によれば、ジョブの優先度を考慮して、システム負荷を分散しながら、ジョブを実行することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態のシステム概略図。
【図２】第１の実施形態のハードウェア構成例の説明図。
【図３】第１の実施形態の処理手順の説明図。
【図４】他の実施形態の処理手順の説明図。
【図５】他の実施形態の処理手順の説明図。
【図６】他の実施形態の処理手順の説明図。
【図７】第２の実施形態の処理手順の説明図。
【図８】第２の実施形態の処理手順の説明図。
【図９】他の実施形態の処理手順の説明図。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
以下、図１〜図３を用いて、ジョブ管理システムの第１の実施形態を説明する。
図１に示すように、本実施形態では、ネットワークを介して接続された第１サーバ１０及び第２サーバ２０を用いる。
【００１０】
（ハードウェア構成例）
図２は、第１サーバ１０、第２サーバ２０等として機能する情報処理装置Ｈ１０のハードウェア構成例である。
【００１１】
情報処理装置Ｈ１０は、通信装置Ｈ１１、入力装置Ｈ１２、表示装置Ｈ１３、記憶部Ｈ１４、プロセッサＨ１５を有する。なお、このハードウェア構成は一例であり、他のハードウェアを有していてもよい。
【００１２】
通信装置Ｈ１１は、他の装置との間で通信経路を確立して、データの送受信を実行するインタフェースであり、例えばネットワークインタフェースカードや無線インタフェース等である。
【００１３】
入力装置Ｈ１２は、利用者等からの入力を受け付ける装置であり、例えばマウスやキーボード等である。表示装置Ｈ１３は、各種情報を表示するディスプレイやタッチパネル等である。
【００１４】
記憶部Ｈ１４は、第１サーバ１０、第２サーバ２０の各種機能を実行するためのデータや各種プログラムを格納する記憶装置（例えば、後述するジョブネット定義記憶部２２〜ジョブキュー２６）である。記憶部Ｈ１４の一例としては、ＲＯＭ、ＲＡＭ、ハードディスク等がある。
【００１５】
プロセッサＨ１５は、記憶部Ｈ１４に記憶されるプログラムやデータを用いて、第１サーバ１０、第２サーバ２０における各処理（例えば、後述する制御部２１における処理）を制御する。プロセッサＨ１５の一例としては、例えばＣＰＵやＭＰＵ等がある。このプロセッサＨ１５は、ＲＯＭ等に記憶されるプログラムをＲＡＭに展開して、各種処理に対応する各種プロセスを実行する。例えば、プロセッサＨ１５は、第１サーバ１０、第２サーバ２０のアプリケーションプログラムが起動された場合、後述する各処理を実行するプロセスを動作させる。
【００１６】
プロセッサＨ１５は、自身が実行するすべての処理についてソフトウェア処理を行うものに限られない。例えば、プロセッサＨ１５は、自身が実行する処理の少なくとも一部についてハードウェア処理を行なう専用のハードウェア回路（例えば、特定用途向け集積回路：ＡＳＩＣ）を備えてもよい。すなわち、プロセッサＨ１５は、（１）コンピュータプログラム（ソフトウェア）に従って動作する１つ以上のプロセッサ、（２）各種処理のうち少なくとも一部の処理を実行する１つ以上の専用のハードウェア回路、或いは（３）それらの組み合わせ、を含む回路（circuitry）として構成し得る。プロセッサは、ＣＰＵ並びに、ＲＡＭ及びＲＯＭ等のメモリを含み、メモリは、処理をＣＰＵに実行させるように構成されたプログラムコード又は指令を格納している。メモリすなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。
【００１７】
（各情報処理装置の機能）
第１サーバ１０は、上流システムであり、例えば、顧客の口座を管理する勘定系や、取引市場において顧客取引を管理する市場系等の対顧系システムを想定する。本実施形態では、勘定系や市場系の処理に基づいて生成された処理対象ファイル（上流ファイル）を第２サーバ２０に提供する。
【００１８】
第２サーバ２０は、第１サーバ１０の下流システムであり、第１サーバ１０から取得した上流ファイルに基づいて、会計処理や報告書の作成処理等の情報処理（業務処理）を行なう情報系（内部系）のコンピュータシステムである。
【００１９】
この第２サーバ２０は、制御部２１、ジョブネット定義記憶部２２、ジョブ定義記憶部２３、スケジュール記憶部２４、実績情報記憶部２５、ジョブキュー２６を備えている。
制御部２１は、後述する処理（取得段階、ジョブ管理段階、ジョブ実行段階等の各処理）を行なう。そのためのジョブ管理プログラムを実行することにより、制御部２１は、取得部２１１、ジョブ管理部２１２、ジョブ実行部２１３として機能する。
【００２０】
取得部２１１は、ジョブに用いる上流ファイルを第１サーバ１０から取得する処理を実行する。
ジョブ管理部２１２は、登録された各種ジョブ、ジョブネットの実行を管理する処理を実行する。
【００２１】
ジョブ実行部２１３は、ジョブ実行環境（リソース）において、ジョブ管理部２１２によって制御された各ジョブを実行する。このジョブ実行環境においては、ＣＰＵ数、メモリ量等が割り当てられる。
ジョブネット定義記憶部２２には、ジョブネットを構成するジョブについてのジョブネット定義データが記録される。このジョブネット定義記憶部２２には、各ジョブネットを構成する先行ジョブ、後続ジョブを特定するためのデータが記録される。
【００２２】
ジョブ定義記憶部２３には、各ジョブの実行を管理するためのジョブ定義データが記録される。このジョブ定義データには、ジョブ識別子、実行ファイル名、パラメータ、入力ファイル識別子等に関するデータが記録される。ジョブ識別子は、各ジョブを特定するための識別子である。実行ファイル名は、このジョブとして実行されるスクリプトファイルを特定するための識別子である。パラメータは、実行結果の出力先を特定するための識別子である。入力ファイル識別子は、このジョブにおいて入力される上流ファイルを特定するための識別子である。
【００２３】
スケジュール記憶部２４には、ジョブを実行するスケジュールルールデータが記録される。スケジュールルールにより、ジョブネットの生成タイミングが決定される。このスケジュールルールデータには、ジョブ識別子、開始日、開始時刻、処理サイクルに関するデータが記録される。
【００２４】
ジョブ識別子データ領域には、ジョブ（ルートジョブネット、ネストジョブネットを含む）を特定するための識別子に関するデータが記録される。
開始日データ領域には、ジョブ実行のスケジュールを開始する年月日に関するデータが記録される。
【００２５】
開始時刻データ領域には、ジョブを実行する時刻に関するデータが記録される。
処理サイクルデータ領域には、ジョブの実行について、サイクル実行の要否、周期、単位に関するデータが記録される。
【００２６】
実績情報記憶部２５には、ジョブの実行結果に関する実績管理レコードが記録される。この実績管理レコードには、ジョブ識別子、状況、開始日時、終了日時に関するデータが記録される。
【００２７】
ジョブ識別子データ領域には、ジョブを特定するための識別子に関するデータが記録される。
状況データ領域には、このジョブの実行状況を特定するための識別子に関するデータが記録される。
開始日時、終了日時の各データ領域には、このジョブの開始及び終了の年月日及び時刻に関するデータが記録される。
【００２８】
ジョブキュー２６には、取得部２１１が第１サーバ１０から取得した上流ファイルを用いて実行されるジョブのジョブ識別子、上流ファイルの受信日時が仮記憶される。
【００２９】
（ジョブ実行管理処理）
次に、図３を用いて、ジョブ実行管理処理を説明する。
まず、第２サーバ２０の制御部２１は、データ取得処理を実行する（ステップＳ１−１）。具体的には、制御部２１の取得部２１１は、第１サーバ１０から上流ファイルを取得する。この上流ファイルには、第２サーバ２０におけるジョブで用いるデータ（例えば、取引の明細）、このデータを用いる基準日（取引が行なわれた年月日）に関する情報等が含まれる。
【００３０】
次に、第２サーバ２０の制御部２１は、ジョブキュー登録処理を実行する（ステップＳ１−２）。具体的には、制御部２１のジョブ管理部２１２は、ジョブ定義記憶部２３を用いて、取得した上流ファイルの識別子が入力ファイル識別子として記録されているファイル使用ジョブを検索する。ファイル使用ジョブを特定した場合、ジョブ管理部２１２は、特定したジョブのジョブ識別子をジョブキュー２６に記録する。この場合、ジョブ管理部２１２は、ジョブ識別子に関連付けて、上流ファイルの受信日時に関するデータを記録する。
【００３１】
次に、第２サーバ２０の制御部２１は、空きリソース確認処理を実行する（ステップＳ１−３）。具体的には、制御部２１のジョブ管理部２１２は、ジョブ実行部２１３における実行状況を取得する。そして、ジョブ管理部２１２は、取得した実行状況に基づいて、空きリソースを特定する。
【００３２】
次に、第２サーバ２０の制御部２１は、実行可能ジョブ検索処理を実行する（ステップＳ１−４）。具体的には、制御部２１のジョブ管理部２１２は、ジョブキュー２６に登録されたファイル使用ジョブの実行条件を、ジョブ定義記憶部２３を用いて取得する。そして、ジョブ管理部２１２は、ジョブネット定義記憶部２２を用いて、ファイル使用ジョブの先行ジョブの実行状態を確認する。ジョブ管理部２１２は、ファイル使用ジョブにスケジュール記憶部２４について、先行ジョブがないこと、先行ジョブを終了していること、スケジュール記憶部２４に記録された開始日、開始時刻を満足していること等の現在状況を特定する。そして、ジョブ管理部２１２は、現在状況が実行条件を満たしている実行可能ジョブを特定する。
【００３３】
次に、第２サーバ２０の制御部２１は、優先順位の特定処理を実行する（ステップＳ１−５）。具体的には、制御部２１のジョブ管理部２１２は、特定した実行可能ジョブにおいて、上流ファイルに記録された基準日、上流ファイルの受信日時、上流ファイルを用いるジョブの先行後続関係に基づいて、優先順位を特定する。本実施形態では、実行可能ジョブに対して、基準日、受信日時、ジョブ先行後続関係に基づいて、それぞれスコアを付与する。ここでは、基準日に応じたジョブ、受信日時が早いジョブ、ジョブネットにおける順番において先行位置にあるジョブに対して、高いスコアを付与する。ここでは、上流ファイルの基準日が早い順番に高いスコアを付与する場合を想定する。そして、ジョブ管理部２１２は、付与された各スコアの合計値に基づいて、優先順位を決定する。
【００３４】
次に、第２サーバ２０の制御部２１は、ジョブ実行処理を実行する（ステップＳ１−６）。具体的には、制御部２１のジョブ管理部２１２は、優先順位の高い順番に、ジョブ実行部２１３に対して、ジョブの実行を指示する。この場合、ジョブ管理部２１２は、ジョブ識別子、状況、開始日時を含めた実績管理レコードを生成し、実績情報記憶部２５に記録する。そして、ジョブ管理部２１２は、ジョブ実行部２１３におけるジョブの終了を検知した場合には、終了日時を実績管理レコードに記録する。
【００３５】
以上、本実施形態によれば、以下のような効果を得ることができる。
（１−１）本実施形態によれば、第２サーバ２０の制御部２１は、データ取得処理（ステップＳ１−１）、ジョブキュー登録処理（ステップＳ１−２）、実行可能ジョブ検索処理（ステップＳ１−４）を実行する。これにより、ジョブの状況を総合的に評価することができる。
【００３６】
（１−２）本実施形態によれば、第２サーバ２０の制御部２１は、優先順位の特定処理（ステップＳ１−５）、ジョブ実行処理（ステップＳ１−６）を実行する。これにより、各ジョブの状況を評価した優先順位に基づいて、ジョブ実行の順番を決定することができる。
【００３７】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記第１の実施形態では、第２サーバ２０の制御部２１は、空きリソース確認処理（ステップＳ１−３）〜優先順位の特定処理（ステップＳ１−５）を実行する。ここで、空きリソース確認処理（ステップＳ１−３）後に、ジョブを実行した場合の負荷を予測する必要リソース予測処理を実行して、実行可能ジョブを検索するようにしてもよい。この場合、実績情報記憶部２５の実績管理レコードには、ジョブ実行に用いた利用リソース量、及び上流ファイルのサイズを記録する。
【００３８】
図４を用いて、必要リソース予測処理を説明する。
まず、第２サーバ２０の制御部２１は、ジョブの実行実績の取得処理を実行する（ステップＳ２−１）。具体的には、制御部２１のジョブ管理部２１２は、実績情報記憶部２５から、実行可能ジョブの実行所要時間（開始日時と終了日時との差分）、利用リソース量、及びジョブ実行に用いた上流ファイルのサイズを取得する。
【００３９】
次に、第２サーバ２０の制御部２１は、実行負荷の予測処理を実行する（ステップＳ２−２）。具体的には、制御部２１のジョブ管理部２１２は、過去の実行所要時間と利用リソース量とを乗算することにより、実行負荷を算出する。そして、ジョブ管理部２１２は、算出した実行負荷をファイルサイズで除算することにより、単位ファイルサイズにおける実行負荷を算出する。そして、ジョブ管理部２１２は、今回のジョブ実行に用いるファイルのファイルサイズに単位実行負荷を乗算することにより、今回の実行負荷を算出する。
【００４０】
次に、第２サーバ２０の制御部２１は、所要時間の予測処理を実行する（ステップＳ２−３）。具体的には、制御部２１のジョブ管理部２１２は、算出した今回の実行負荷を空きリソース量で除算することにより、今回のジョブ実行の予測所要時間を算出する。
【００４１】
次に、第２サーバ２０の制御部２１は、ステップＳ１−４と同様に、実行可能ジョブ検索処理を実行する（ステップＳ２−４）。
次に、第２サーバ２０の制御部２１は、優先順位の特定処理を実行する（ステップＳ２−５）。この場合、制御部２１のジョブ管理部２１２は、上流ファイルに記録された基準日、上流ファイルの受信日時、上流ファイルを用いるジョブの先行後続関係の他に、予測所要時間を用いて優先順位を決定する。この場合、予測所要時間が長い程、高いスコアを付与する。そして、ジョブ管理部２１２は、付与された各スコアの合計値に基づいて、優先順位を決定する。
【００４２】
・上記第１の実施形態では、第２サーバ２０の制御部２１は、優先順位の特定処理（ステップＳ１−５）、ジョブ実行処理（ステップＳ１−６）を実行する。ここで、当日のジョブ実行に対して終了時限を設けてもよい。ジョブ終了が当日の終了時限を超える場合には、ジョブ実行を翌日に持ち越す。
【００４３】
図５を用いて、ジョブ実行管理処理を説明する。
まず、第２サーバ２０の制御部２１は、ステップＳ１−５と同様に、優先順位の特定処理を実行する（ステップＳ３−１）。
【００４４】
次に、第２サーバ２０の制御部２１は、ジョブ終了時刻の予測処理を実行する（ステップＳ３−２）。具体的には、制御部２１のジョブ管理部２１２は、実績情報記憶部２５を用いて、過去のジョブ実行における所要時間（開始日時と終了日時との差分）を算出する。この場合、ジョブに用いるファイルサイズに応じて、所要時間を調整するようにしてもよい。この場合には、例えば、制御部２１に、ファイルサイズからジョブの所要時間を算出するための所要時間算出手段を設けておく。そして、ジョブ管理部２１２は、この所要時間算出手段に今回のジョブに用いるファイルサイズを代入して、所要時間を算出する。次に、ジョブ管理部２１２は、算出した所要時間を現在時刻に加算することにより、ジョブ終了時刻を予測する。
【００４５】
次に、第２サーバ２０の制御部２１は、終了時限前に終了かどうかについての判定処理を実行する（ステップＳ３−３）。具体的には、制御部２１のジョブ管理部２１２は、予測したジョブ終了時刻と終了時限とを比較する。
【００４６】
終了時限前に終了と判定した場合（ステップＳ３−３において「ＹＥＳ」の場合）、第２サーバ２０の制御部２１は、ジョブ実行処理を実行する（ステップＳ３−４）。
一方、終了時限前に終了しないと判定した場合（ステップＳ３−３において「ＮＯ」の場合）、第２サーバ２０の制御部２１は、持ち越し登録処理を実行する（ステップＳ３−５）。具体的には、制御部２１のジョブ管理部２１２は、ジョブキュー２６に記憶された当該ジョブに対して、持ち越しフラグを記録する。
そして、持ち越しフラグが記録されたジョブについては、翌日のジョブ実行管理処理において、ジョブ管理部２１２は、優先順位の特定処理で、最初に実行するジョブとして特定する。そして、次順位のジョブを特定するため、ステップＳ１−４に戻る。なお、次順位のジョブが存在しない場合には、ジョブ実行管理処理を終了する。
これにより、当日の終了時限を考慮して、当日実行又は翌日実行を制御することができる。
【００４７】
・上記第１の実施形態では、第２サーバ２０の制御部２１は、実行可能ジョブ検索処理（ステップＳ１−４）、優先順位の特定処理（ステップＳ１−５）、ジョブ実行処理（ステップＳ１−６）を実行する。ここで、予めジョブの実行順番を定めた「静的スケジュール」を準備しておき、状況に応じて「静的スケジュール」を変更するようにしてもよい。
【００４８】
図６を用いて、ジョブ実行管理処理を説明する。
まず、第２サーバ２０の制御部２１は、静的スケジューリング処理を実行する（ステップＳ４−１）。具体的には、制御部２１のジョブ管理部２１２は、実績情報記憶部２５を用いて、各ジョブの実行開始時刻の統計値を算出した静的スケジュールを生成する。統計値としては、平均値、中央値、最も早い時刻や最も遅い時刻等を用いることができる。
【００４９】
次に、第２サーバ２０の制御部２１は、ステップＳ１−１〜１−３と同様に、データ取得処理（ステップＳ４−２）、ジョブキュー登録処理（ステップＳ４−３）、空きリソース確認処理（ステップＳ４−４）を実行する。
【００５０】
次に、第２サーバ２０の制御部２１は、実行可能ジョブの予測処理を実行する（ステップＳ４−５）。具体的には、制御部２１のジョブ管理部２１２は、ジョブキュー２６に登録されているジョブにおいて、ジョブ定義記憶部２３に記録された実行条件を満たす実行可能ジョブを特定する。更に、ジョブ管理部２１２は、静的スケジュールに基づいて、ジョブ実行中にキューに登録される可能性があるジョブを特定する。
【００５１】
次に、第２サーバ２０の制御部２１は、多重実行プラン候補の作成処理を実行する（ステップＳ４−６）。具体的には、制御部２１のジョブ管理部２１２は、実績情報記憶部２５に記録された各ジョブの実行開始時刻を用いて、同時期に複数のジョブを実行させる多重実行プランを作成する。本実施形態では、組み合わせ最適化問題により、同時期に複数のジョブを実行させる多重実行プランを作成する。この組み合わせ最適化問題においては、変数として「各ジョブの開始時刻」、「割当リソース」、目的関数として、「リソース最大値を低くする」、制約条件として「ジョブ終了が終了時限内」を用いる。
【００５２】
次に、第２サーバ２０の制御部２１は、ジョブ実行処理を実行する（ステップＳ４−７）。具体的には、制御部２１のジョブ管理部２１２は、作成した多重実行プランを用いて、ジョブ実行部２１３に対して、ジョブの実行を指示する。
これにより、組み合わせ最適化問題を用いて特定した多重実行プランにより、リソース負荷を低減したジョブ実行を実現することができる。
【００５３】
また、複数の多重実行プラン候補を作成して、リソース負荷が小さい多重実行プラン候補を用いて、ジョブを実行させてもよい。この場合には、ジョブ管理部２１２は、未実行のジョブの静的スケジュールにおける開始時刻に基づいて、複数の多重実行プラン候補を作成し、メモリに仮記憶する。次に、ジョブ管理部２１２は、多重実行プラン候補毎に、各ジョブの所要時間を予測する。そして、ジョブ管理部２１２は、ジョブの終了時限に間に合うとともに、最もリソース負荷が小さい多重実行プラン候補を特定する。
【００５４】
・上記第１の実施形態では、第２サーバ２０の制御部２１は、優先順位の特定処理を実行する（ステップＳ１−５）。ここでは、上流ファイルの基準日が早い順番に高いスコアを付与する。これに代えて、上流ファイルの基準日を用いて、ジョブ実行の要否を判定してもよい。例えば、所定の基準日の上流ファイルのみをジョブ実行の対象とする。
また、第２サーバ２０の制御部２１に基準日の優先順位を保持させておき、優先順位が高い基準日の上流ファイルについてのジョブを実行するようにしてもよい。そして、優先順位が高い基準日の上流ファイルについての全ジョブの終了後に、優先順位が低い上流ファイルについてのジョブを実行する。この場合、終了時限までの残り時間によって、優先順位が低い上流ファイルを用いるジョブ実行の要否を判定してもよい。
【００５５】
（第２の実施形態）
次に、図７〜図８を用いて、ジョブ管理システムの第２の実施形態を説明する。なお、第２の実施形態は、第１の実施形態のジョブ管理において、機械学習を用いる構成であるため、同様の部分については詳細な説明を省略する。
ここでは、教師データを用いた機械学習により、ジョブの処理結果を予測する。この場合には、制御部２１に学習部、予測部を設ける。この学習部は、教師データを用いて、ジョブの実行状況を予測する予測モデルを生成する。予測部は、予測モデルを用いて、各ジョブのリソース使用量や所要時間を予測する。機械学習においては、マーケット環境情報、商品バリエーション情報、ファイル情報、多重実行プラン情報、処理結果を用いる。このため、第２サーバ２０を、マーケット環境情報、商品バリエーション情報、多重実行プラン情報を記憶する記憶部に接続する。
【００５６】
マーケット環境情報としては、マーケットデータ、マーケット予測、イベント情報、需要関連情報を用いることができる。
マーケットデータとしては、現在のマーケットにおける指標（例えば、株価のインデックス情報、市場金利等）を用いることができる。
マーケット予測としては、将来のマーケットにおける指標（例えば、短観情報等）を用いることができる。
イベント情報としては、取引に影響を与えるイベント（例えば、５・１０日等）を用いることができる。
需要関連情報としては、需要に影響を与えるイベント（例えば、消費者物価指数等）を用いることができる。
【００５７】
商品バリエーション情報としては、貸出金（海外）、貸出金（国内）、ローン、流動性預金、定期性預金、インターバンク取引等がある。
多重実行プラン情報には、各ジョブのジョブ識別子、実行タイミング、多重度に関する情報が含まれる。
【００５８】
更に、本実施形態の実績情報記憶部２５には、ファイル情報、処理結果に関する情報を含める。
ファイル情報としては、ファイルサイズやファイル受領時期がある。
処理結果としては、ＣＰＵ数、メモリ量、ディスクＩ／Ｏ数、ネットワーク使用量、処理時間が含まれる。
【００５９】
本実施形態では、ジョブ管理部２１２には、基準時間に関するデータを保持させておく。この基準時間は、全ジョブの終了時刻が早く、過剰な余裕があることを判定するための時間である。
【００６０】
図７を用いて、学習時処理を説明する。
まず、第２サーバ２０の制御部２１は、教師データを用いた学習処理を実行する（ステップＳ５−１）。具体的には、制御部２１の学習部は、教師データとして、マーケット環境情報、商品バリエーション情報、ファイル情報、多重実行プラン情報、処理結果を取得する。そして、マーケット環境情報、商品バリエーション情報、ファイル情報、多重実行プラン情報から処理結果を予測するための予測モデルを作成する。
【００６１】
次に、図８を用いて、予測時処理を説明する。
ここでは、第２サーバ２０の制御部２１は、予測処理を実行する（ステップＳ６−１）。具体的には、制御部２１の予測部は、ジョブ実行時に、マーケット環境情報、商品バリエーション情報、ファイル情報、多重実行プラン情報を取得する。そして、予測部は、予測モデルを用いて、処理結果（ＣＰＵ数、メモリ量、ディスクＩ／Ｏ数、ネットワーク使用量、処理時間）を予測する。
【００６２】
次に、第２サーバ２０の制御部２１は、終了時限に間に合うかどうかについての判定処理を実行する（ステップＳ６−２）。具体的には、制御部２１のジョブ管理部２１２は、算出した処理時間と、ジョブ終了時限とを比較する。
【００６３】
終了時限に間に合わないと判定した場合（ステップＳ６−２において「ＮＯ」の場合）、第２サーバ２０の制御部２１は、終了時限に応じた多重実行プランの見直し処理を実行する（ステップＳ６−３）。具体的には、制御部２１のジョブ管理部２１２は、多重実行プランにおいて、ジョブの開始時刻を変更した多重実行プランを作成する。そして、予測部は、作成した多重実行プランを用いて、予測処理（ステップＳ６−１）を再実行する。なお、多重実行プランの見直しにおいて、組合せ最適化問題を適用してもよい。
【００６４】
終了時限に間に合うと判定した場合（ステップＳ６−２において「ＹＥＳ」の場合）、第２サーバ２０の制御部２１は、過剰余裕かどうかについての判定処理を実行する（ステップＳ６−４）。具体的には、制御部２１のジョブ管理部２１２は、予測した所要時間を加算した全ジョブの終了時刻と、当日の終了時限とを比較する。そして、全ジョブの終了時刻が、当日の終了時限よりも基準時間以上前の場合には、過剰余裕があると判定する。
【００６５】
過剰余裕でないと判定した場合（ステップＳ６−４において「ＮＯ」の場合）、第２サーバ２０の制御部２１は、予測時処理を終了する。
一方、過剰余裕があると判定した場合（ステップＳ６−４において「ＹＥＳ」の場合）、第２サーバ２０の制御部２１は、過剰余裕に応じた多重実行プランの見直し処理を実行する（ステップＳ６−５）。具体的には、制御部２１のジョブ管理部２１２は、全ジョブの終了時刻が、当日の終了時限の所定時間前に終了する多重実行プランを算出する。なお、この場合にも、多重実行プランの見直しにおいて、組合せ最適化問題を適用してもよい。
【００６６】
次に、第２サーバ２０の制御部２１は、リソース見直し提案処理を実行する（ステップＳ６−６）。具体的には、制御部２１のジョブ管理部２１２は、多重実行プランにおいて用いられるリソースを、リソース見直し提案として、ジョブ管理者の担当者端末に出力する。
なお、この学習処理は、予測結果と実績とのずれが大きい場合に、予測モデルを見直すために再実行される。
【００６７】
以上、本実施形態によれば、以下のような効果を得ることができる。
（２−１）本実施形態によれば、第２サーバ２０の制御部２１は、教師データを用いた学習処理（ステップＳ５−１）、予測処理（ステップＳ６−１）を実行する。これにより、ジョブ実行に用いる上流ファイルに関連する状況やジョブの実行環境を考慮して、ジョブの所要時間を予測することができる。
【００６８】
（２−２）本実施形態によれば、終了時限に間に合わないと判定した場合（ステップＳ６−２において「ＮＯ」の場合）、第２サーバ２０の制御部２１は、多重実行プランの見直し処理を実行する（ステップＳ６−３）。これにより、終了時限を優先した多重実行プランを用いてジョブを実行することができる。
【００６９】
（２−３）本実施形態によれば、過剰余裕があると判定した場合（ステップＳ６−４において「ＹＥＳ」の場合）、第２サーバ２０の制御部２１は、多重実行プランの見直し処理を実行する（ステップＳ６−５）。これにより、余裕がある場合には、利用するリソース資源の低減を図ることができる。
【００７０】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記第２の実施形態では、第２サーバ２０の制御部２１は、教師データを用いた学習処理を実行する（ステップＳ５−１）。ここで、教師データが少ない場合には、類似したジョブを用いて予測モデルを作成するようにしてもよい。
【００７１】
図９を用いて、類似したジョブを用いて予測モデルを作成する学習時処理を説明する。
まず、第２サーバ２０の制御部２１は、ジョブ毎にジョブの特徴の算出処理を繰り返す（ステップＳ７−１）。具体的には、制御部２１のジョブ管理部２１２は、予測するジョブの特徴量を算出する。この特徴量は、例えば、商品バリエーション情報を用いて算出する。この特徴量は、ジョブにおける計算ロジック（例えば、使用する関数の種類や数等）の複雑さを用いて算出するようにしてもよい。
【００７２】
次に、第２サーバ２０の制御部２１は、ジョブ毎に以下の処理を繰り返す。
ここでは、第２サーバ２０の制御部２１は、教師データは十分かどうかについての判定処理を実行する（ステップＳ７−２）。具体的には、制御部２１のジョブ管理部２１２は、実績情報記憶部２５に記録された評価対象ジョブの実績情報を取得する。そして、ジョブ管理部２１２は、実績数が基準数より少ない場合には、教師データは不十分と判定する。
【００７３】
実績数が基準数以上であり、教師データは十分と判定した場合（ステップＳ７−２において「ＹＥＳ」の場合）、第２サーバ２０の制御部２１は、教師データを用いて学習処理を実行する（ステップＳ７−３）。
【００７４】
一方、教師データは不十分と判定した場合（ステップＳ７−２において「ＮＯ」の場合）、第２サーバ２０の制御部２１は、類似ジョブの特定処理を実行する（ステップＳ７−４）。具体的には、制御部２１のジョブ管理部２１２は、ステップＳ７−１において算出したジョブの特徴に基づいて、類似ジョブを特定する。
【００７５】
次に、第２サーバ２０の制御部２１は、類似ジョブの教師データは十分かどうかについての判定処理を実行する（ステップＳ７−５）。具体的には、制御部２１のジョブ管理部２１２は、実績情報記憶部２５に記録された類似ジョブの実績情報を取得する。そして、ジョブ管理部２１２は、実績数が基準数より少ない場合には、教師データは不十分と判定する。類似ジョブの教師データは十分と判定した場合（ステップＳ７−５において「ＹＥＳ」の場合）、第２サーバ２０の制御部２１は、教師データを用いて学習処理を実行する（ステップＳ７−３）。ここでは、類似ジョブの実績情報を教師データとして用いる。
【００７６】
一方、ここで、類似ジョブの教師データは十分でないと判定した場合（ステップＳ７−５において「ＮＯ」の場合）、第２サーバ２０の制御部２１は、類似ジョブのモデルの利用処理を実行する（ステップＳ７−６）。具体的には、制御部２１のジョブ管理部２１２は、類似ジョブの予測モデルを、評価対象ジョブの予測モデルとして用いる。
【００７７】
・上記第２の実施形態では、機械学習においては、マーケット環境情報、商品バリエーション、ファイル情報、多重実行プラン情報、処理結果を用いる。教師データは、これらに限定されるものではなく、これらの一部や、他の情報を組み合わせてもよい。
【符号の説明】
【００７８】
１０…第１サーバ、２０…第２サーバ、２１…制御部、２１１…取得部、２１２…ジョブ管理部、２１３…ジョブ実行部、２２…ジョブネット定義記憶部、２３…ジョブ定義記憶部、２４…スケジュール記憶部、２５…実績情報記憶部、２６…ジョブキュー。
【図１】
2020144741.tif 000003
【図２】
2020144741.tif 000004
【図３】
2020144741.tif 000005
【図４】
2020144741.tif 000006
【図５】
2020144741.tif 000007
【図６】
2020144741.tif 000008
【図７】
2020144741.tif 000009
【図８】
2020144741.tif 000010
【図９】
2020144741.tif 000011