(57)【特許請求の範囲】
【請求項１】
データベースを含む既存のコンピュータシステムにおける、ジョブの、次回の実行時間を見積もるシステムであって、
上記既存のコンピュータシステムから、当該ジョブの最終実行時における、上記データベースに対するデータ読み込み処理結果を含む、最終実行結果情報を取得する最終実行結果取得部と、
上記取得されたジョブの最終実行結果情報に基づいて、データベース質問言語を用いて生成される命令により、次回のジョブにおけるデータ読み込み処理件数である次回読み込み処理件数を上記既存のコンピュータシステムから取得する次回読み込み処理件数取得部と、
上記ジョブの最終実行結果情報に含まれる、ジョブの最終実行時におけるデータ読み込み処理時間とデータ読み込み処理件数との比により、データ１件あたりの読み込み処理時間である単位処理時間を求める単位処理時間計算部と、
上記取得された次回読み込み処理件数と上記求められた単位処理時間との積により、次回のジョブにおけるデータ読み込み処理時間想定値である次回読み込み時間を求める次回読み込み時間計算部と、
上記求められた次回読み込み時間と、ジョブの実行処理に含まれる、上記データ読み込み処理以外の処理に要する時間とを合算し、次回のジョブ実行時間見積もり値を求めるジョブ実行時間合算部と、
を備えることを特徴とするジョブ実行時間見積システム。
【請求項２】
請求項1において、
前記次回読み込み処理件数取得部は、上記最終実行結果情報に含まれる、前記データベースに対するデータ読み込み処理結果のうち、データ読み込み処理対象テーブル、データ読み込み処理対象テーブル列、およびデータ読み込み処理条件に基づいて、データベース質問言語を用いて生成される命令により、次回のジョブにおけるデータ読み込み処理件数である次回読み込み処理件数を前記既存のコンピュータシステムから取得する、ことを特徴とするジョブ実行時間見積システム。
【請求項３】
請求項1または２において、
前記ジョブ実行時間見積システムは、ネットワークを介して前記既存のコンピュータシステムに接続されているとともに、リモート処理部を有し、
前記次回読み込み処理件数取得部は、上記リモート処理部により、前記データベース質問言語を用いて生成される命令を前記データベースへと送信することにより、次回読み込み処理件数を遠隔的に取得する、
ことを特徴とするジョブ実行時間見積システム。
【請求項４】
請求項1〜３のいずれかにおいて、
前記既存のコンピュータシステムはメッセージ表示部を備え、
前記ジョブ実行時間見積システムは、前記ジョブ実行時間合算部で求められた次回のジョブ実行時間見積もり値が、あらかじめ決められたジョブの実行可能時間帯に収まらない場合に、上記メッセージ表示部に警告メッセージを表示する警告メッセージ出力処理部を備える、
ことを特徴とするジョブ実行時間見積システム。
【請求項５】
請求項1〜４のいずれかにおいて、
前記ジョブ実行時間合算部は、前記データ読み込み処理以外の処理に要する時間を、前記ジョブの最終実行結果情報に含まれる、最終実行時のジョブにおいて上記データ読み込み処理以外の処理に要した時間に、前記次回読み込み時間と前記ジョブの最終実行時におけるデータ読み込み処理時間との比として求められる増減率を乗ずることにより、次回のジョブにおけるデータ読み込み処理以外の処理に要する時間の想定値として求める、ことを特徴とするジョブ実行時間見積システム。
【請求項６】
データベースを含む既存のコンピュータシステムにおける、ジョブの、次回の実行時間を、コンピュータにて見積もる方法であって、
上記既存のコンピュータシステムから、当該ジョブの最終実行時における、上記データベースに対するデータ読み込み処理結果を含む、最終実行結果情報を取得し、
上記取得されたジョブの最終実行結果情報に基づいて、データベース質問言語を用いて生成される命令により、次回のジョブにおけるデータ読み込み処理件数である次回読み込み処理件数を上記既存のコンピュータシステムから取得し、
上記ジョブの最終実行結果情報に含まれる、ジョブの最終実行時におけるデータ読み込み処理時間とデータ読み込み処理件数との比により、データ1件あたりの読み込み処理時間である単位処理時間を求め、
上記取得された次回読み込み処理件数と上記求められた単位処理時間との積により、次回のジョブにおけるデータ読み込み処理時間想定値である次回読み込み時間を求め、
上記求められた次回読み込み時間と、ジョブの実行処理に含まれる、上記データ読み込み処理以外の処理に要する時間とを合算し、次回のジョブ実行時間見積もり値を求める、
ことを特徴とするジョブ実行時間見積方法。
【請求項７】
データベースを含む既存のコンピュータシステムにおける、ジョブの、次回の実行時間の見積もりを、コンピュータに実行させるためのプログラムであって、
上記既存のコンピュータシステムから、当該ジョブの最終実行時における、上記データベースに対するデータ読み込み処理結果を含む、最終実行結果情報を取得するステップと、
上記取得されたジョブの最終実行結果情報に基づいて、データベース質問言語を用いて生成される命令により、次回のジョブにおけるデータ読み込み処理件数である次回読み込み処理件数を上記既存のコンピュータシステムから取得するステップと、
上記ジョブの最終実行結果情報に含まれる、ジョブの最終実行時におけるデータ読み込み処理時間とデータ読み込み処理件数との比により、データ1件あたりの読み込み処理時間である単位処理時間を求めるステップと、
上記取得された次回読み込み処理件数と上記求められた単位処理時間との積により、次回のジョブにおけるデータ読み込み処理時間想定値である次回読み込み時間を求めるステップと、
上記求められた次回読み込み時間と、ジョブの実行処理に含まれる、上記データ読み込み処理以外の処理に要する時間とを合算し、次回のジョブ実行時間見積もり値を求めるステップと、
を含むことを特徴とするジョブ実行時間見積プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ実行時間見積システム、ジョブ実行時間見積方法、およびジョブ実行時間見積プログラムに関する。
【背景技術】
【０００２】
データベースを含む既存のコンピュータシステムにおいて、ジョブの実行可能時間帯が決められており、当該実行可能時間帯の延長ができないような場合には、ジョブの実行に先立ってジョブ実行時間すなわち、当該ジョブにおける各種処理の合計時間を見積もる必要がある。そのような技術として、例えば、特許文献1には、ジョブの動作予測方式であって、ユーザが投入した実行依頼ジョブを実行させた場合の動作結果を予測することのできるジョブの動作予測方式を提供するという目的の下、計算機システムの処理単位ごとに、前記処理単位の個別動作情報を蓄積する蓄積手段と、指定された処理単位の実行が完了したとき、前記処理単位の動作結果を前記個別動作情報として前記蓄積手段に記録出力する記録手段と、投入された実行依頼ジョブを構成する処理単位を求め、各々の前記処理単位に対応する前記個別動作情報を総合して、前記実行依頼ジョブの動作結果を予測する予測手段とを具備する構成としたことを特徴とするジョブの動作予測方式が開示されている。
【特許文献１】特開平７−２４４６５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、データベースを含むコンピュータシステムではシステムの運用を連続的に続けることにより、例えばデータベースに含まれるテーブルの数が変化したときなど、データベースに格納されるデータ件数が増減することがある。とりわけ、当該ジョブにおける処理対象となるデータ件数（以下、処理対象データ件数という）が増減した場合は、ジョブの実行処理のうち、特にデータの読み込み処理に要する時間が増減することにより、トータルのジョブ実行時間に大きな影響を与える。ところが上記特許文献1に開示された技術では、データベースに格納されるデータ件数の増減については想定していないため、ジョブ実行時間を正確に見積もることができなかった。
【０００４】
そこで、従来、仮にシステムの連続運用に伴うデータ件数の増減をも考慮してジョブ実行時間を見積もろうとするのならば、当該見積もり対象ジョブの最終実行結果から、まず当該ジョブにおいてアクセスしていたデータベースのテーブルを人手により特定し、次に、その各テーブルへの最終実行時の読み込み処理件数、および当該各テーブルへの読み込み処理時間を人手による計算で求め、これらを他の、すなわち読み込み処理以外の処理に要する時間と合算することによりトータルのジョブ実行時間を求めることになる。
【０００５】
このような基本的に人手による方法では、例えばジョブ実行時に多数のデータベースや多数のテーブルにアクセスしているような場合は、その全てについて、人手により特定し、さらにそれらの読み込み処理件数および読み込み処理時間を全て人手による計算で求めなければならなかったため、人手による作業の工数が多大となり、時間やコストが大きくかかってしまっていた。さらに、各種の計算を人手により行うため、正確性に欠け、実際のジョブ実行時に実行可能時間帯を超過してしまうなどの問題を生じていた。
【０００６】
そこで本発明は上記課題を鑑みてなされたものであり、ジョブ実行時間を、少ない工数で、かつ正確に見積もることを可能にするジョブ実行時間見積システムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明のジョブ実行時間見積システムは、データベースを含む既存のコンピュータシステムにおける、ジョブの、次回の実行時間を見積もるシステムであって、上記既存のコンピュータシステムから、当該ジョブの最終実行時における、上記データベースに対するデータ読み込み処理結果を含む、最終実行結果情報を取得する最終実行結果取得部と、上記取得されたジョブの最終実行結果情報に基づいて、データベース質問言語を用いて生成される命令により、次回のジョブにおけるデータ読み込み処理件数である次回読み込み処理件数を上記既存のコンピュータシステムから取得する次回読み込み処理件数取得部と、上記ジョブの最終実行結果情報に含まれる、ジョブの最終実行時におけるデータ読み込み処理時間とデータ読み込み処理件数との比により、データ1件あたりの読み込み処理時間である単位処理時間を求める単位処理時間計算部と、上記取得された次回読み込み処理件数と上記求められた単位処理時間との積により、次回のジョブにおけるデータ読み込み処理時間想定値である次回読み込み時間を求める次回読み込み時間計算部と、上記求められた次回読み込み時間と、ジョブの実行処理に含まれる、上記データ読み込み処理以外の処理に要する時間とを合算し、次回のジョブ実行時間見積もり値を求めるジョブ実行時間合算部とを備えることを特徴とする。
【０００８】
また、本発明のジョブ実行時間見積システムは、前記次回読み込み処理件数取得部は、上記最終実行結果情報に含まれる、前記データベースに対するデータ読み込み処理結果のうち、データ読み込み処理対象テーブル、データ読み込み処理対象テーブル列、およびデータ読み込み処理条件に基づいて、データベース質問言語を用いて生成される命令により、次回のジョブにおけるデータ読み込み処理件数である次回読み込み処理件数を前記既存のコンピュータシステムから取得するものとすれば好適である。
【０００９】
また、本発明のジョブ実行時間見積システムは、前記ジョブ実行時間見積システムは、ネットワークを介して前記既存のコンピュータシステムに接続されているとともに、リモート処理部を有し、前記次回読み込み処理件数取得部は、上記リモート処理部により、前記データベース質問言語を用いて生成される命令を前記データベースへと送信することにより、次回読み込み処理件数を遠隔的に取得するものとすれば好適である。
【００１０】
また、本発明のジョブ実行時間見積システムは、前記既存のコンピュータシステムはメッセージ表示部を備え、前記ジョブ実行時間見積システムは、前記ジョブ実行時間合算部で求められた次回のジョブ実行時間見積もり値が、あらかじめ決められたジョブの実行可能時間帯に収まらない場合に、上記メッセージ表示部に警告メッセージを表示する警告メッセージ出力処理部を備えるものとすれば好適である。
【００１１】
また、本発明のジョブ実行時間見積システムは、前記ジョブ実行時間合算部は、前記データ読み込み処理以外の処理に要する時間を、前記ジョブの最終実行結果情報に含まれる、最終実行時のジョブにおいて上記データ読み込み処理以外の処理に要した時間に、前記次回読み込み時間と前記ジョブの最終実行時におけるデータ読み込み処理時間との比として求められる増減率を乗ずることにより、次回のジョブにおけるデータ読み込み処理以外の処理に要する時間の想定値として求めるものとすれば好適である。
【００１２】
また、本発明のジョブ実行時間見積方法は、データベースを含む既存のコンピュータシステムにおける、ジョブの、次回の実行時間を、コンピュータにて見積もる方法であって、上記既存のコンピュータシステムから、当該ジョブの最終実行時における、上記データベースに対するデータ読み込み処理結果を含む、最終実行結果情報を取得し、上記取得されたジョブの最終実行結果情報に基づいて、データベース質問言語を用いて生成される命令により、次回のジョブにおけるデータ読み込み処理件数である次回読み込み処理件数を上記既存のコンピュータシステムから取得し、上記ジョブの最終実行結果情報に含まれる、ジョブの最終実行時におけるデータ読み込み処理時間とデータ読み込み処理件数との比により、データ1件あたりの読み込み処理時間である単位処理時間を求め、上記取得された次回読み込み処理件数と上記求められた単位処理時間との積により、次回のジョブにおけるデータ読み込み処理時間想定値である次回読み込み時間を求め、上記求められた次回読み込み時間と、ジョブの実行処理に含まれる、上記データ読み込み処理以外の処理に要する時間とを合算し、次回のジョブ実行時間見積もり値を求めることを特徴とする。
【００１３】
また、本発明のジョブ実行時間見積プログラムは、データベースを含む既存のコンピュータシステムにおける、ジョブの、次回の実行時間の見積もりを、コンピュータに実行させるためのプログラムであって、上記既存のコンピュータシステムから、当該ジョブの最終実行時における、上記データベースに対するデータ読み込み処理結果を含む、最終実行結果情報を取得するステップと、上記取得されたジョブの最終実行結果情報に基づいて、データベース質問言語を用いて生成される命令により、次回のジョブにおけるデータ読み込み処理件数である次回読み込み処理件数を上記既存のコンピュータシステムから取得するステップと、上記ジョブの最終実行結果情報に含まれる、ジョブの最終実行時におけるデータ読み込み処理時間とデータ読み込み処理件数との比により、データ1件あたりの読み込み処理時間である単位処理時間を求めるステップと、上記取得された次回読み込み処理件数と上記求められた単位処理時間との積により、次回のジョブにおけるデータ読み込み処理時間想定値である次回読み込み時間を求めるステップと、上記求められた次回読み込み時間と、ジョブの実行処理に含まれる、上記データ読み込み処理以外の処理に要する時間とを合算し、次回のジョブ実行時間見積もり値を求めるステップとを含むことを特徴とする。
【００１４】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１５】
本発明によれば、ジョブ実行時間を、少ない工数で、かつ正確に見積もることが可能となる。
【発明を実施するための最良の形態】
【００１６】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は本実施形態におけるジョブ実行時間見積システム（以下、適宜「システム」という）１０を含むブロック構成図である。本システム１０は、何らかのジョブを実行させるものである既存のコンピュータシステム１２とネットワーク１４を介して接続されており、当該既存のコンピュータシステム１２におけるジョブの、次回の実行時間を遠隔（リモート）的に見積もることが可能なシステム１０である。既存のコンピュータシステム１２は、ジョブの実行可能時間帯が決められており、当該実行可能時間帯の延長ができないこととする。
【００１７】
システム１０は、書き換え可能メモリなどのプログラムデータベースに格納されたプログラムをメモリに読み出し、演算装置たるＣＰＵにより実行する。また、システム１０は、コンピュータ装置が一般に備えている各種キーボードやボタン類、ディスプレイなどの入出力装置１６を備えている。また、既存のコンピュータシステム１２から取得したジョブの最終実行結果情報など、各種のデータを格納する第１のデータベース１８を備えている。また、システム１０は、既存のコンピュータシステム１２と、例えばインターネットやＬＡＮ、シリアル・インターフェース通信線などのネットワーク１４を介して接続されており、互いの間でデータ授受を実行する通信部などを有している。
【００１８】
また、システム１０は、最終実行結果取得部２０、次回読み込み処理件数取得部２２、単位処理時間計算部２４、次回読み込み時間計算部２６、ジョブ事項時間合算部２８、警告メッセージ出力処理部３０、リモート処理部３２などの各種機能部を備えている。
【００１９】
これら各種機能部と通信部との間ではＩ／Ｏ部がデータのバッファリングや各種仲介処理を実行している。各種機能部は、ハードウェアとして実現してもよいし、メモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの適宜な記憶装置に格納したプログラムとして実現することとしてもよい。後者の場合、ＣＰＵがプログラム実行に合わせ、記憶装置より該当するプログラムをメモリに読み出すことによって、これを実行することとなる。リモート処理部３２は、本実施形態にあっては、システム１０のオペレーションシステム３４に含まれているものとする。なお、システム１０が備えるメモリ、ＣＰＵ、通信部、Ｉ／Ｏ部などは図示省略している。
【００２０】
システム１０とネットワーク１４を介して接続された既存のコンピュータシステム１２は、第２のデータベース３６を含み、当該第２のデータベース３６に対する各種アクセス処理を含めた様々なジョブを実行させるものである。既存のコンピュータシステム１２は、システム１０と同様、書き換え可能メモリなどのプログラムデータベースに格納されたプログラムをメモリに読み出し、演算装置たるＣＰＵにより実行することとすればよい。既存のコンピュータシステム１２が多様なデータを扱う場合などは、第２のデータベース３６以外にも追加的にデータベースを設けてもかまわない。そのような場合は、ジョブにおける、全てのデータベース３６に対する処理を合算してジョブ実行時間を見積もることとすればよい。
【００２１】
また、既存のコンピュータシステム１２は、当該既存のコンピュータシステム１２のオペレータなどが各種の操作を行うコンソール３８を備えている。コンソール３８には、システム１０から送信される警告メッセージなどを表示するメッセージ表示部４０が設けられている。また、既存のコンピュータシステム１２は、ジョブの実行が終了した場合に、その実行結果ログを実行結果ログデータベース４２に格納する実行結果ログ出力部４４や、上記警告メッセージをシステム１０から受信しメッセージ表示部４０に表示処理するメッセージ表示処理部４６などの各種機能部を備えている。また、既存のコンピュータシステム１２は、システム１０と、例えばインターネットやＬＡＮ、シリアル・インターフェース通信線などのネットワーク１４を介して接続されており、互いの間でデータ授受を実行する通信部などを有している。
【００２２】
既存のコンピュータシステム１２の上記各機能部と通信部との間ではＩ／Ｏ部がデータのバッファリングや各種仲介処理を実行している。各種機能部は、ハードウェアとして実現してもよいし、メモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの適宜な記憶装置に格納したプログラムとして実現することとしてもよい。後者の場合、ＣＰＵがプログラム実行に合わせ、記憶装置より該当するプログラムをメモリに読み出すことによって、これを実行することとなる。本実施形態にあっては、実行結果ログ出力部４４およびメッセージ表示処理部４６は、既存のコンピュータシステム１２のオペレーションシステム４８に含まれているものとする。既存のコンピュータシステム１２が備えるメモリ、ＣＰＵ、コンソール３８以外の入出力インターフェース、通信部、Ｉ／Ｏ部などは図示省略している。
【００２３】
次に、システム１０の上記各機能部について説明する。これら各種機能部は、主に、次回のジョブ実行時間見積り値を求めるためのものであるが、本システム１０におけるその方法のひとつの特徴は、ジョブ実行時間に含まれる各種処理に要する時間のうち、特にデータの読み込み処理に要する時間に着目し、他の処理に要する時間については最後にデータ読み込み処理時間に合算するようにしている点である。
【００２４】
最終実行結果取得部２０は、既存のコンピュータシステム１２から、実行時間の見積もり対象であるジョブと同一のジョブの最終実行時における、第２のデータベース３６に対するデータ読み込み処理結果を含む最終実行結果情報を取得する。最終実行結果取得部２０は、より具体的には、既存のコンピュータシステム１２の実行結果ログデータベース４２に格納された実行結果ログのうち、最終実行時のログから、最終実行結果情報を抽出して、それを第１のデータベース１８に格納する。本実施形態においては、最終実行結果情報は、図２に示す（ａ）〜（ｃ）の３つのテーブル、すなわち、データ読み込み処理結果情報、データ更新・追加・削除処理結果情報、およびＣＰＵ処理結果情報として格納される。
【００２５】
システム１０の運用を連続的に続けることにより、データベースに格納されるデータ件数が増減することがある。とりわけ、見積もり対象となるジョブにおける処理対象となるデータ件数が増減した場合は、次回のジョブ実行時間に大きな影響を与える。そこで本実施形態では、第２のデータベース３６の最新の状態における、すなわち次回のジョブ実行時の状態におけるデータ読み込み処理件数を、次回読み込み処理件数取得部２２により取得する。
【００２６】
次回読み込み処理件数取得部２２は、上記取得されたジョブの最終実行結果情報に基づいて、ＳＱＬなどのデータベース質問言語を用いて生成される命令により、次回のジョブにおけるデータ読み込み処理件数である次回読み込み処理件数を既存のコンピュータシステム１２から取得する。次回読み込み処理件数取得部２２は、より具体的には、上記最終実行結果情報に含まれる、第２のデータベース３６に対するデータ読み込み処理結果のうち、データ読み込み処理対象テーブル、データ読み込み処理対象テーブル列、およびデータ読み込み処理条件に基づいて、データベース質問言語を用いて、次回読み込み処理件数を取得するための命令を生成する。
【００２７】
このように、従来は、ジョブにおいてアクセスしていたデータベースのテーブルを人手により特定していたところ、本実施形態では、最終実行結果情報から自動的に取得することができる。さらに従来は、各テーブルへの次回読み込み処理件数を全て人手により求め、それらを合算することにより次回読み込み処理件数を求めていたところ、本実施形態では、データベース質問言語を用いて生成される命令により、次回読み込み処理件数を自動的に取得することができるので、ジョブ実行時間の見積もりにかかる工数を大幅に低減することができるとともに、ジョブ実行時間の見積もりを正確に行うことが可能となる。
【００２８】
単位処理時間計算部２４は、上記ジョブの最終実行結果情報に含まれる、ジョブの最終実行時におけるデータ読み込み処理時間とデータ読み込み処理件数との比、すなわちデータ読み込み処理時間／データ読み込み処理件数により、データ1件あたりの読み込み処理時間である単位処理時間を求める。
【００２９】
次回読み込み時間計算部２６は、上記次回読み込み処理件数取得部２２にて取得された次回読み込み処理件数と上記単位処理時間計算部２４にて求められた単位処理時間との積により、次回のジョブにおけるデータ読み込み処理時間想定値である次回読み込み時間を求める。
【００３０】
ジョブ事項時間合算部２８は、上記次回読み込み時間計算部２６にて求められた次回読み込み時間と、ジョブの実行処理に含まれる、データ読み込み処理以外の処理に要する時間を合算し、次回のジョブ実行時間見積もり値を求める。
【００３１】
ジョブ事項時間合算部２８は、より具体的には、上記データ読み込み処理以外の処理に要する時間を、上記ジョブの最終実行結果情報に含まれる、最終実行時のジョブにおいて上記データ読み込み処理以外の処理に要した時間に、上記次回読み込み時間計算部２６にて求められた次回読み込み時間と、上記ジョブの最終実行結果情報に含まれる上記ジョブの最終実行時におけるデータ読み込み時間との比、すなわち次回読み込み時間／ジョブの最終実行時におけるデータ読み込み時間として求められる増減率を乗ずることにより、次回のジョブにおけるデータ読み込み処理以外の処理に要する時間の想定値として求める。ここで、本実施形態では、「データ読み込み処理以外の処理」とは、データ更新処理、データ追加処理、データ削除処理、およびＣＰＵの処理を想定しているが、これらの処理をさらに細かく分割して計算したり、これら以外の処理を含めたりしてもよい。
【００３２】
このように、本実施形態においては、データ読み込み処理時間想定値である次回読み込み時間のみならず、データ読み込み処理以外の各種処理に要する時間をも、次回のジョブ実行時の条件に換算した想定値として求めるため、非常に正確にジョブ実行時間の見積もりを行うことが可能となる。また、その想定値の計算は、データ読み込み処理時間の増減率をまず簡便に求め、ジョブの最終実行時における読み込み処理以外の上記各処理に要した時間に乗じ、それらを合算するだけという、非常に簡単な近似的手段により実行するので、非常に簡単に次回のジョブ実行時間見積もり値を求めることが可能となる。
【００３３】
リモート処理部３２は、上記次回読み込み処理件数取得部２２によりデータベース質問言語を用いて生成される命令を、第２のデータベース３６へと送信することにより、次回読み込み処理件数を既存のコンピュータシステム１２から遠隔的に取得する。
【００３４】
このように、本実施形態においては、リモート処理部３２により、次回読み込み処理件数を既存のコンピュータシステム１２から遠隔的に取得することができるため、より一層、ジョブ実行時間見積もり値を求めるための工数を低減することが可能となり、有利である。
【００３５】
警告メッセージ出力処理部３０は、上記ジョブ事項時間合算部２８で求められた次回のジョブ実行時間見積もり値が、あらかじめ決められたジョブの実行可能時間帯に収まらない場合に、既存のコンピュータシステム１２のオペレータなどに対する注意勧告である警告メッセージを上記メッセージ表示部４０に表示する。
【００３６】
このように、本実施形態においては、既存のコンピュータシステム１２のメッセージ表示部４０に警告メッセージを表示することにより、次回のジョブ実行がジョブの実行可能時間帯を超過してしまうことを確実に防止することが可能となる。
【００３７】
次に、システム１０と既存のコンピュータシステム１２をつなぐネットワーク１４としては、インターネット、ＬＡＮの他、ＡＴＭ回線や専用回線、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網、シリアル・インターフェース通信線など様々なネットワーク１４を採用することも出来る。また、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）など仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。なお、前記シリアル・インターフェースは、単一の信号線を用いて１ビットずつ順次データを送るシリアル伝送で、外部機器と接続するためのインターフェースを指し、通信方式としてはＲＳ−２３２Ｃ、ＲＳ−４２２、ＩｒＤＡ、ＵＳＢ、ＩＥＥＥ１３９４、ファイバ・チャネルなどが想定できる。
【００３８】
−−−各種データベース−−−
次に、本実施形態におけるシステム１０に含まれる第１のデータベース１８に格納される各テーブルについて説明する。まず、第１のデータベース１８には、最終実行結果取得部２０により取得された最終実行結果情報が格納される。図２に示す３つのテーブルは、いずれも最終実行結果情報に含まれるデータである。図２（ａ）は、データ読み込み処理結果情報テーブル、図２（ｂ）は、データ更新・追加・削除処理結果情報テーブル、図２（ｃ）は、ＣＰＵ処理結果情報テーブルの、各データ構造の一例を示す図である。
【００３９】
データ読み込み処理結果情報テーブルは、第１に、システム１０の最終実行結果取得部２０が、既存のコンピュータシステム１２の実行結果ログデータベース４２から取得し、第１のデータベース１８に格納したジョブの最終実行結果情報のうち、データ読み込み処理の結果情報についてのレコードの集合体を含む。それらは具体的には、図２（ａ）に示す属性項目のうち、ジョブ名、処理ＮＯ．、データ読み込み処理対象テーブル列、データ読み込み処理対象テーブル、処理条件、データ読み込み処理件数、データ読み込み処理時間である。
【００４０】
また、データ読み込み処理結果情報テーブルは、システム１０の次回読み込み処理件数取得部２２が既存のコンピュータシステム１２から取得し、第１のデータベース１８に格納する、「次回読み込み処理件数」と、システム１０の次回読み込み時間計算部２６が求める、「次回読み込み時間」をも含む。
【００４１】
データ読み込み処理結果情報テーブルの内容から分かるように、実行時間の見積もり対象となるジョブは複数であってもよい。図２（ａ）の例では、ＪＯＢ１からＪＯＢ３まで３つのジョブが含まれている。さらに、各ジョブに含まれるデータ読み込み処理は、複数種類含まれていてもよい。図２（ａ）の例では、ＪＯＢ１には、処理ＮＯ．１および処理ＮＯ．２の２種類のデータ読み込み処理が含まれている。このような場合、最終的にジョブ実行時間見積り値を求めるための合算処理において、これら全てに対応する次回読み込み時間を合算する。またこのような場合、上記増減率を求める際には、全てのジョブおよびデータ読み込み処理についての、次回読み込み時間の合計とデータ読み込み処理時間の合計との比により求める。
【００４２】
データ更新・追加・削除処理結果情報テーブルは、第１に、システム１０の最終実行結果取得部２０が、既存のコンピュータシステム１２の実行結果ログデータベース４２から取得し、第１のデータベース１８に格納したジョブの最終実行結果情報のうち、データ更新・追加・削除処理の結果情報についてのレコードの集合体である。それらは具体的には、図２（ｂ）に示す属性項目のうち、ジョブ名、処理ＮＯ．、処理内容、処理時間である。
【００４３】
また、データ読み込み処理結果情報テーブルは、次回のジョブにおけるデータ更新・追加・削除処理に要する時間の想定値である「次回想定時間」をも含む。また、データ読み込み処理の場合と同様に、実行時間の見積もり対象となるジョブおよびデータ読み込み処理は複数であってもよい。
【００４４】
ＣＰＵ処理結果情報テーブルは、第１に、システム１０の最終実行結果取得部２０が、既存のコンピュータシステム１２の実行結果ログデータベース４２から取得し、第１のデータベース１８に格納したジョブの最終実行結果情報のうち、ＣＰＵの処理の結果情報についてのレコードの集合体である。それらは具体的には、図２（ｃ）に示す属性項目のうち、ジョブ名、処理時間である。
【００４５】
また、ＣＰＵ処理結果情報テーブルは、次回のジョブにおけるＣＰＵ処理に要する時間の想定値である「次回想定時間」をも含む。また、データ読み込み処理の場合と同様に、実行時間の見積もり対象となるジョブおよびデータ読み込み処理は複数であってもよい。
【００４６】
本実施形態におけるシステム１０の第１のデータベース１８に格納される、他のテーブルについては、後述する「処理フロー例」において説明する。
【００４７】
−−−処理の実際−−−
以下、本実施形態におけるジョブ実行時間見積方法の実際手順について、図に基づき説明する。なお、以下で説明するジョブ実行時間見積方法に対応する各種動作は、システム１０がメモリに読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。また、既存のコンピュータシステム１２にて実行される処理については、既存のコンピュータシステム１２がメモリに読み出して実行するプログラムによって実現される。そして、これらのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００４８】
−−−処理フロー例１−−−
図３は、本実施形態のジョブ実行時間見積り方法の、実施手順例１を示すフロー図である。ここではまず、既存のコンピュータシステム１２から、ジョブの最終実行時における、第２のデータベース３６に対するデータ読み込み処理結果を含む最終実行結果情報を取得する処理について説明する。
【００４９】
既存のコンピュータシステム１２においてあるジョブが終了すると、実行結果ログ出力部４４は当該ジョブの実行結果ログを実行結果ログデータベース４２に格納する。その後、システム１０の最終実行結果取得部２０は処理を開始し、実行結果ログデータベース４２に格納されている実行結果ログのうち、最終実行時のログから、最終実行結果情報を抽出して取得する（Ｓ１００）。次に、取得した最終実行結果情報を第１のデータベース１８に格納し（Ｓ１０２）、処理を終了する。
【００５０】
本実施形態においては最終実行結果情報は、上述のように、図２に示す３つのテーブルの形で格納される。また、第１のデータベース１８に格納される最終実行結果情報は、常に最新の情報、すなわち当該ジョブの最終実行時の情報のみとすること、従って以前のジョブ実行時の結果情報が格納されている場合はその上に上書きされることが好ましい。
【００５１】
−−−処理フロー例２−−−
図４は、本実施形態のジョブ実行時間見積り方法の、実施手順例２を示すフロー図である。ここでは主に、処理フロー例１で取得された最終実行結果情報に基づいて、次回の同一ジョブの実行時間を見積もる処理について説明する。
【００５２】
本実施形態では、システム１０のユーザは、見積もり対象となるジョブに関する情報を、ジョブ情報入力画面を見ながら入出力装置１６を介し入力する。図５は、ジョブ情報入力画面の例である。実行順序入力部５０には、実行時間の見積もり対象となるジョブを、実行順に入力する。図示例では、見積もり対象となるジョブは、ＪＯＢ１、ＪＯＢ２、ＪＯＢ３の３つであり、この順に実行される。ここで、各ジョブに対応するプログラムの情報はあらかじめ何らかの形で得られていることとし、それらが実行プログラム名表示部５２に自動的に表示される。その他にユーザは、今回の見積もり対象を識別するためのパターン名や、ジョブの実行可能時間帯の開始時刻５４および終了時刻５６などを入力する。さらに、調整可能時刻選択部５８では、ジョブ実行時間見積もり値が実行可能時間帯を超過してしまう場合に、開始時刻あるいは終了時刻のいずれかが調整可能である場合には、それを選択する。
【００５３】
ジョブ情報入力画面において入力された情報は、第１のデータベース１８に、見積もり対象ジョブ情報として格納される。図６は、見積もり対象ジョブ情報のテーブル構造例を示す図である。見積もり対象ジョブ情報の属性項目は、図示例では、ジョブ名、ジョブの実行順序、各ジョブに該当する実行プログラム名、ジョブの実行可能時間帯の開始時刻および終了時刻を含む。
【００５４】
ジョブ実行時間の見積もり処理を開始すると、システム１０はまず、見積もり対象抽出処理を実行する（Ｓ２００）。具体的には、第１のデータベース１８に格納された上記見積もり対象ジョブ情報から、見積もり対象となるジョブ名を抽出する。次にシステム１０は、ステップＳ２００において抽出されたジョブ名から、見積もり対象検索処理を実行する（Ｓ２０２）。具体的には、最終実行結果情報、すなわち第１のデータベース１８に格納されたデータ読み込み処理結果情報、データ更新・追加・削除処理結果情報、およびＣＰＵ処理結果情報から該当するジョブに関する情報を検索処理する（具体的には？）。
【００５５】
次に、システム１０の次回読み込み処理件数取得部２２が、次回読み込み処理件数取得処理を実行する（Ｓ２０４）。次回読み込み処理件数取得処理の、より詳細なフローを図７に示している。既存のコンピュータシステム１２の第２のデータベース３６の最新の状態に対応する、次回のジョブ実行時におけるデータ読み込み処理件数を、第２のデータベース３６から取得する本処理は、データベース質問言語を用いて実行される。本実施形態では、より具体的にはＳＱＬのＳＥＬＥＣＴコマンドを用いて実行される。そこでまず、ＳＥＬＥＣＴコマンドを実行するために必要な情報を第１のデータベース１８に格納されたデータ読み込み処理結果情報から抽出する（Ｓ３００）。具体的には、データ読み込み処理対象テーブル、データ読み込み処理対象テーブル列、およびデータ読み込み処理条件の各項目を抽出する。
【００５６】
次に、次回読み込み処理件数を取得するための命令、すなわちＳＥＬＥＣＴコマンドを生成する（Ｓ３０２）。次に、システム１０の次回読み込み処理件数取得部２２は、ステップＳ３０２で生成されたＳＥＬＥＣＴコマンドを、リモート処理部３２により、既存のコンピュータシステム１２の第２のデータベース３６へと送信し、遠隔的に次回読み込み処理件数を取得する（Ｓ３０４）。取得された次回読み込み処理件数は、第１のデータベース１８に含まれるデータ読み込み処理結果情報の「次回読み込み処理件数」項目（図２（ａ）参照）に格納される（Ｓ３０６）。
【００５７】
次に、システム１０はジョブ実行時間の計算処理に移る（Ｓ２０６）。ジョブ実行時間計算処理の、より詳細なフローを図８に示している。まず、システム１０の単位処理時間計算部２４が、最終実行結果情報に含まれる、ジョブの最終実行時におけるデータ読み込み処理時間とデータ読み込み処理件数との比により、データ1件あたりの読み込み処理時間である単位処理時間を求める（Ｓ４００）。
【００５８】
次に、システム１０の次回読込時間計算部が、ステップＳ２０４において取得された次回読み込み処理件数と、ステップＳ４００において求められた単位処理時間との積により、次回のジョブにおけるデータ読み込み処理時間想定値である次回読み込み時間を求める（Ｓ４０２）。ここで求められた次回読み込み時間は、第１のデータベース１８に含まれるデータ読み込み処理結果情報の「次回読み込み時間」項目（図２（ａ）参照）に格納される。
【００５９】
次にシステム１０は、ジョブの実行処理に含まれる、データ読み込み以外の処理、すなわちデータ更新・追加・削除処理およびＣＰＵの処理に要する時間を求める（Ｓ４０４）。具体的には、ジョブの最終実行時にそれらの処理に要した時間に、ステップＳ４０２で求められた次回読み込み時間と、ステップＳ１００で最終実行結果情報として取得された、ジョブの最終実行時におけるデータ読み込み時間との比として求められる増減率を乗ずることにより、次回のジョブ実行時において各処理に要する時間の想定値を求める。ここで求められたデータ更新・追加・削除処理およびＣＰＵの処理に要する時間の想定値は、第１のデータベース１８に含まれるデータ更新・追加・削除処理結果情報およびＣＰＵ処理結果情報の「次回想定時間」項目（図２（ｂ）、（ｃ）参照）に格納される。
【００６０】
次に、システム１０のジョブ事項時間合算部２８は、ステップＳ４０２で求められた次回読み込み時間と、ステップＳ４０４で求められたデータ読み込み処理以外の処理に要する時間とを合算し、次回のジョブ実行時間見積もり値を求める（Ｓ４０６）。ここで求められたジョブごとの実行時間見積もり値は、第１のデータベース１８に、見積もり結果（ジョブ単位）情報として格納される。図９は、見積もり結果（ジョブ単位）情報のテーブル構造例を示す図である。見積もり結果（ジョブ単位）情報の属性項目は、図示例では、パターン名、見積もり対象ジョブ名、ジョブの実行順序、単体（各ジョブごと）の見積もり時間、およびジョブの実行順に累積した合計時間である。また、図示例ではＪＯＢ１〜ＪＯＢ３の実行時間見積もり値がそれぞれ１時間、４時間、４時間と求められている。
【００６１】
さらに、本実施形態のシステム１０では、警告メッセージ出力処理部３０により、ステップＳ４０６で求められた次回のジョブ実行時間見積もり値が、ジョブ情報入力画面で入力されたジョブの実行可能時間帯に収まらない場合に、既存のコンピュータシステム１２のメッセージ表示部４０に警告メッセージを表示する（Ｓ２０８）。図１０は、警告メッセージ画面の例である。図示例では、ＪＯＢ１〜ＪＯＢ３のジョブ実行時間見積もり値の合計時間が９時間であり、ジョブ情報入力画面で入力されたジョブの実行可能時間帯は２３時から６時であるので２時間超過してしまう。ところが、ジョブ情報入力画面で入力したように、ジョブの終了時刻は調整が可能となっているため、「終了時刻を調整してください」の文字が表示されている。また、警告メッセージには、図１０に示すような画面表示に合わせてブザーを鳴らすことなどとすればより好ましい。
【００６２】
本実施形態では、ジョブを一日単位で実行させる例についてのみ説明したが、これに限定されるものではなく、ジョブを週単位や、年間スケジュールの中に位置づけて実行させる場合などにおいても適用することが可能である。
【００６３】
本発明によれば、ジョブ実行時間を、少ない工数で、かつ正確に見積もることが可能となる。  
特に、システム１０の連続的な運用に伴いデータベースに格納されるデータ件数に増減を生じる場合であっても、データベースの最新の状態、すなわち最新のデータ件数に対応した、正確なジョブ実行時間を見積もることが可能となる。
【００６４】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００６５】
【図１】本実施形態におけるジョブ実行時間見積システムのブロック構成図である。
【図２】本実施形態における第１のデータベースの（ａ）データ読み込み処理結果情報テーブル、（ｂ）データ更新・追加・削除処理結果情報テーブル、（ｃ）ＣＰＵ処理結果情報テーブルのデータ構造例を示す図である。
【図３】本実施形態のジョブ実行時間見積方法の、実施手順例１を示すフロー図である。
【図４】本実施形態のジョブ実行時間見積方法の、実施手順例２を示すフロー図である。
【図５】本実施形態のジョブ実行時間見積方法におけるジョブ情報入力画面を示す図である。
【図６】本実施形態における第１のデータベースの、見積もり対象ジョブ情報のテーブル構造例を示す図である。
【図７】本実施形態のジョブ実行時間見積方法の、次回読み込み処理件数取得処理の詳細を示すフロー図である。
【図８】本実施形態のジョブ実行時間見積方法の、ジョブ実行時間計算処理の詳細を示すフロー図である。
【図９】本実施形態における第１のデータベースの、見積もり結果（ジョブ単位）情報のテーブル構造例を示す図である。
【図１０】本実施形態のジョブ実行時間見積方法における警告メッセージ画面を示す図である。
【符号の説明】
【００６６】
１０  ジョブ実行時間見積システム（システム）
１２  既存のコンピュータシステム
１４  ネットワーク
２０  最終実行結果取得部
２２  次回読み込み処理件数取得部
２４  単位処理時間計算部
２６  次回読み込み時間計算部
２８  ジョブ実行時間合算部
３０  警告メッセージ出力処理部
３２  リモート処理部
３６  第２のデータベース（データベース）
４０  メッセージ表示部
【図１】
0004786358.tif 000002
【図２】
0004786358.tif 000003
【図３】
0004786358.tif 000004
【図４】
0004786358.tif 000005
【図５】
0004786358.tif 000006
【図６】
0004786358.tif 000007
【図７】
0004786358.tif 000008
【図８】
0004786358.tif 000009
【図９】
0004786358.tif 000010
【図１０】
0004786358.tif 000011