(57)【要約】      （修正有）【課題】  ジョブ実行状況に則した的確なプログラム入替を可能とすると共に、プログラム入替作業に伴うオペレータの負担を軽減する。【解決手段】  ジョブスケジュール格納部２４と、ジョブプログラムの実行時間の履歴を格納したジョブ結果履歴格納部２６と、ジョブプログラムの入替要否の情報を格納したプログラム入替ルール格納部２７と、ジョブプログラムが入替対象ジョブプログラムであるか否か判定する入替要否判定部２８と、入替ジョブプログラムの実行時間の実行平均時間等を算定する時間算定部３０と、入替対象ジョブプログラムの実行終了時刻と起動スケジュールにおける当該入替対象ジョブプログラムの次起動時刻との間の時間幅を算定する時間幅算定部２９と、時間幅に実行平均時間または最大時間がおさまるか判定しおさまる場合には入替対象ジョブプログラムの実行終了後、入替ジョブプログラムを起動する入替実行部３１とからシステム１００を構成する。【選択図】    図６
2005208767.tif 000002
【特許請求の範囲】
【請求項１】
ジョブプログラムの起動管理を行うシステムであって、
ジョブプログラムの起動スケジュールを格納したジョブスケジュール格納部と、
前記起動スケジュールに含まれるジョブプログラムの実行時間の履歴を格納したジョブ結果履歴格納部と、
ジョブプログラムの入替要否の情報を格納したプログラム入替ルール格納部と、
前記起動スケジュールに含まれるジョブプログラムが入替対象ジョブプログラムであるか否か、前記プログラム入替ルール格納部における該当ジョブプログラムの入替要否の情報を参照して判定する入替要否判定部と、
前記入替対象ジョブプログラムの入替を行う入替ジョブプログラムについて、その実行時間の履歴を前記ジョブ結果履歴格納部より抽出し、実行平均時間または実行最大時間の少なくともいずれかを算定する時間算定部と、
前記起動スケジュールに応じて起動した入替対象ジョブプログラムの実行終了時刻と、前記起動スケジュールにおける当該入替対象ジョブプログラムの次起動時刻との間の時間幅を算定する時間幅算定部と、
前記時間幅に前記実行平均時間または最大時間がおさまるか判定し、おさまる場合には前記入替対象ジョブプログラムの実行終了後、前記入替ジョブプログラムを起動する入替実行部と、
を備えることを特徴とするジョブ管理システム。
【請求項２】
請求項１において、
前記時間幅に前記実行平均時間または最大時間がおさまらない場合、前記入替対象ジョブプログラムの実行終了後における前記入替ジョブプログラムの起動を中止した旨を出力インターフェイスに出力する、入替中止通知部を備えることを特徴とするジョブ管理システム。
【請求項３】
ジョブプログラムの起動管理を情報処理装置により行う方法であって、
前記情報処理装置が、
ジョブプログラムの起動スケジュールを格納したジョブスケジュール格納部と、
前記起動スケジュールに含まれるジョブプログラムの実行時間の履歴を格納したジョブ結果履歴格納部と、
ジョブプログラムの入替要否の情報を格納したプログラム入替ルール格納部とを備えて、
前記起動スケジュールに含まれるジョブプログラムが入替対象ジョブプログラムであるか否か、前記プログラム入替ルール格納部における該当ジョブプログラムの入替要否の情報を参照して判定し、
前記入替対象ジョブプログラムの入替を行う入替ジョブプログラムについて、その実行時間の履歴を前記ジョブ結果履歴格納部より抽出し、実行平均時間または実行最大時間の少なくともいずれかを算定し、
前記起動スケジュールに応じて起動した入替対象ジョブプログラムの実行終了時刻と、前記起動スケジュールにおける当該入替対象ジョブプログラムの次起動時刻との間の時間幅を算定し、
前記時間幅に前記実行平均時間または最大時間がおさまるか判定し、おさまる場合には前記入替対象ジョブプログラムの実行終了後、前記入替ジョブプログラムを起動することを特徴とするジョブ管理方法。
【請求項４】
ジョブプログラムの起動管理を、ジョブプログラムの起動スケジュールを格納したジョブスケジュール格納部と、前記起動スケジュールに含まれるジョブプログラムの実行時間の履歴を格納したジョブ結果履歴格納部と、ジョブプログラムの入替要否の情報を格納したプログラム入替ルール格納部とを備えた情報処理装置に実行させるプログラムであって、
前記起動スケジュールに含まれるジョブプログラムが入替対象ジョブプログラムであるか否か、前記プログラム入替ルール格納部における該当ジョブプログラムの入替要否の情報を参照して判定するステップと、
前記入替対象ジョブプログラムの入替を行う入替ジョブプログラムについて、その実行時間の履歴を前記ジョブ結果履歴格納部より抽出し、実行平均時間または実行最大時間の少なくともいずれかを算定するステップと、
前記起動スケジュールに応じて起動した入替対象ジョブプログラムの実行終了時刻と、前記起動スケジュールにおける当該入替対象ジョブプログラムの次起動時刻との間の時間幅を算定するステップと、
前記時間幅に前記実行平均時間または最大時間がおさまるか判定し、おさまる場合には前記入替対象ジョブプログラムの実行終了後、前記入替ジョブプログラムを起動するステップと、
を含むことを特徴とするジョブ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ管理システム、ジョブ管理方法、およびジョブ管理プログラムに関し、特にジョブプログラムの実行履歴を元にしたプログラム入替の技術に関する。
【背景技術】
【０００２】
２４時間稼動を前提とした大規模システムでは多数のジョブプログラムを絶えず実行する状況が多い。特にＥＲＰシステムでは多種多様な業務処理を実行するため、毎分数百〜数千のジョブを起動する場合もある。このような大規模な業務システムにおいては、機能追加や仕様変更等により業務処理プログラムの入替が多く発生しやすい。
【０００３】
こうしたプログラムの入替は、プログラムが稼働していない夜間・休日に実施する場合が多く、プログラムの開発者ではなくシステム運用をおこなうオペレータが処理を実施することが一般的である。
【０００４】
従来におけるプログラムの入替手法では、プログラムの入替が可能と思われる運用時間帯を、図１に示すような入替作業票といった書式で予め固定的に定義し、この入替作業票に従ってオペレータが入替作業を実施していた。オペレータが作業を行う際には、前記の入替作業票においてプログラム名を元に作業可能な時間帯を参照し、作業着手可能な時刻を待つことになる。そして、作業着手時にプログラムを利用するジョブが稼動していないことを確認し、所定の入替手順書等に従い入替作業を実施する。
【０００５】
一方で、プログラムの入替処理自体を情報処理装置に行わせる手法について、例えば、複数の実行系計算機で稼働するソフトウェアシステムの保守を行うソフトウェア保守方法において、異なる複数のソフトウェアシステムを構成するプログラムのプログラム世代番号と前記プログラムを生成するソースファイルのソースファイル世代番号とを対応付けるソフトウェア世代管理データベースを作成し、前記異なる複数のソフトウェアシステムのシステム世代番号と前記ソフトウェアシステムを構成するプログラムのプログラム世代番号とを対応付けるシステム定義ファイルを作成し、前記ソフトウェア世代管理データベース及びシステム定義データベースによって対応付けられたシステム世代番号、プログラム世代番号及びソースファイル世代番号により、異なる複数のシステム世代番号のソフトウェアシステムを構成するプログラムを管理することを特徴とするソフトウェア保守方法（特許文献１参照）などが提案されている。
【特許文献１】特開平１０−０９１４０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来手法のごとく入替作業票に基づきオペレータが入替作業を行う場合は勿論、プログラムの入替を自動化する場合であっても、プログラムの入替作業自体の実行可否は、オペレータが最終的に指示する必要があった。
【０００７】
こうしたプログラムの入替は、プログラムを起動するジョブが実行していない時間帯におこなう必要がある。常にジョブ実行間隔が入替作業時間にかからない状況（図２参照）であればよいが、先行ジョブの実行が遅延し入替可能時間帯にかかる場合（図３参照）や、入替作業が標準作業時間より延びて入替可能時間帯にかかる場合（図４参照）が生じるなど、プログラムの入替にかかる作業時間は一定とは限らず、プログラム入替の実行可否の判断はオペレータの負担となっていた。また、オペレータのスキル等によっては前記実行可否の判断自体が困難であったり、判断結果の精度が良好でないという惧れもあった。
【０００８】
一方で、上記の入替作業を問題なく実施すべく、例えば入替作業票に予め設定する入替可能時間帯および標準入替作業時間を、システムの実情に適合した値にするとしても、状況によって数千〜数万以上存在するプログラム単位に各パラメタを個別に設定すること自体が難しく、コストや手間の面からしても実現は困難であった。
【０００９】
そこで本発明の目的は、ジョブ実行状況に則した的確なプログラム入替を可能とすると共に、プログラム入替作業に伴うオペレータの負担を軽減する、ジョブ管理システム、ジョブ管理方法、およびジョブ管理プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決する本発明のジョブ管理システムは、ジョブプログラムの起動スケジュールを格納したジョブスケジュール格納部と、前記起動スケジュールに含まれるジョブプログラムの実行時間の履歴を格納したジョブ結果履歴格納部と、ジョブプログラムの入替要否の情報を格納したプログラム入替ルール格納部と、前記起動スケジュールに含まれるジョブプログラムが入替対象ジョブプログラムであるか否か、前記プログラム入替ルール格納部における該当ジョブプログラムの入替要否の情報を参照して判定する入替要否判定部と、前記入替対象ジョブプログラムの入替を行う入替ジョブプログラムについて、その実行時間の履歴を前記ジョブ結果履歴格納部より抽出し、実行平均時間または実行最大時間の少なくともいずれかを算定する時間算定部と、前記起動スケジュールに応じて起動した入替対象ジョブプログラムの実行終了時刻と、前記起動スケジュールにおける当該入替対象ジョブプログラムの次起動時刻との間の時間幅を算定する時間幅算定部と、前記時間幅に前記実行平均時間または最大時間がおさまるか判定し、おさまる場合には前記入替対象ジョブプログラムの実行終了後、前記入替ジョブプログラムを起動する入替実行部と、を備えることを特徴とする。
【００１１】
また、本発明のジョブ管理方法は、情報処理装置がジョブプログラムの起動スケジュールを格納したジョブスケジュール格納部と、前記起動スケジュールに含まれるジョブプログラムの実行時間の履歴を格納したジョブ結果履歴格納部と、ジョブプログラムの入替要否の情報を格納したプログラム入替ルール格納部とを備えて、前記起動スケジュールに含まれるジョブプログラムが入替対象ジョブプログラムであるか否か、前記プログラム入替ルール格納部における該当ジョブプログラムの入替要否の情報を参照して判定し、前記入替対象ジョブプログラムの入替を行う入替ジョブプログラムについて、その実行時間の履歴を前記ジョブ結果履歴格納部より抽出し、実行平均時間または実行最大時間の少なくともいずれかを算定し、前記起動スケジュールに応じて起動した入替対象ジョブプログラムの実行終了時刻と、前記起動スケジュールにおける当該入替対象ジョブプログラムの次起動時刻との間の時間幅を算定し、前記時間幅に前記実行平均時間または最大時間がおさまるか判定し、おさまる場合には前記入替対象ジョブプログラムの実行終了後、前記入替ジョブプログラムを起動することを特徴とする。
【００１２】
また、本発明のジョブ管理プログラムは、ジョブプログラムの起動管理を、ジョブプログラムの起動スケジュールを格納したジョブスケジュール格納部と、前記起動スケジュールに含まれるジョブプログラムの実行時間の履歴を格納したジョブ結果履歴格納部と、ジョブプログラムの入替要否の情報を格納したプログラム入替ルール格納部とを備えた情報処理装置に実行させるプログラムであって、前記起動スケジュールに含まれるジョブプログラムが入替対象ジョブプログラムであるか否か、前記プログラム入替ルール格納部における該当ジョブプログラムの入替要否の情報を参照して判定するステップと、前記入替対象ジョブプログラムの入替を行う入替ジョブプログラムについて、その実行時間の履歴を前記ジョブ結果履歴格納部より抽出し、実行平均時間または実行最大時間の少なくともいずれかを算定するステップと、前記起動スケジュールに応じて起動した入替対象ジョブプログラムの実行終了時刻と、前記起動スケジュールにおける当該入替対象ジョブプログラムの次起動時刻との間の時間幅を算定するステップと、前記時間幅に前記実行平均時間または最大時間がおさまるか判定し、おさまる場合には前記入替対象ジョブプログラムの実行終了後、前記入替ジョブプログラムを起動するステップと、を含むことを特徴とする。このプログラムは、前記各処理の動作を行うためのコードから構成されている。
【００１３】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１４】
本発明によれば、ジョブ実行状況に則した的確なプログラム入替を可能とすると共に、プログラム入替作業に伴うオペレータの負担を軽減できる。
【発明を実施するための最良の形態】
【００１５】
以下に本発明の実施形態について図面を用いて詳細に説明する。図５は本実施形態におけるジョブ管理システム１００を含むシステム環境の図である。本実施形態では、ジョブプログラムを開発する環境２００と、開発したジョブプログラムをこの開発環境２００から移行して実行する本番環境１００（ジョブ管理システム）とがシステム構築されている状況を想定するが、勿論、このような状況だけでなく、ジョブプログラムの入替を行う状況であれば本発明は適用可能であり、適用範囲を本実施形態だけに限定しない。また、ジョブ管理システム１００として開発環境２００を含むものとしてもよい。
【００１６】
図１に示す通り、リポジトリ移行サーバ１６を境に上側がジョブプログラムの開発をおこなう開発環境２００、一方、下側が業務プログラムを実行する本番環境１００である。このようなシステム環境におけるジョブプログラムの開発と移行および入替のあらましについて簡単に述べておく。なお、前記リポジトリ移行サーバ１６と、後述する移行リポジトリデータベース１５とは本番環境１００に含むものとする。
【００１７】
前記開発環境２００において開発したジョブプログラムは開発リポジトリＤＢサーバ１１内の開発リポジトリデータベース１２に保存される。また、開発したジョブプログラムは開発ジョブ実行サーバ１３にて起動し、開発アプリケーションサーバ１４で動作テストを行うこととなる。動作テスト済みのジョブプログラムについては、移行リポジトリデータベース１５に登録される。
【００１８】
本番環境１００において入替が必要なジョブプログラムがある場合、リポジトリ移行サーバ１６が、前記移行リポジトリデータベース１５における該当ジョブプログラムを本番リポジトリベータベース１７へ移行する。本番環境１００に移行したジョブプログラムは、本番ジョブ実行サーバ１８においてジョブスケジュールを参照して起動タイミングを認識される。そしてこの起動タイミングに従い本番アプリケーションサーバ１９が当該ジョブプログラムの実行を行う。
【００１９】
本番アプリケーションサーバ１９において実行されたジョブプログラムの実行状況（および結果）は、ジョブ監視サーバ２０にて監視するものとする。オペレータは監視ＰＣ２１にてジョブ監視サーバ２０にアクセスし、実行状況や異常発生時の確認を実施できる。また、ジョブプログラムのスケジュール情報や実行結果の履歴はジョブ管理データベース２２にて一元管理するものとする。
【００２０】
次に、上述した本番環境１００について、本実施形態のジョブ管理システムとして備える機能構成部を説明する。図６は本実施形態におけるジョブ管理システム１００の機能構成図である。ジョブ指示機能部２３（図５における本番ジョブ実行サーバ１８、本番アプリケーションサーバ１９に該当）は、ジョブプログラムの起動スケジュールを格納したジョブスケジュールデータベース２４（ジョブスケジュール格納部）を参照し、ジョブＩＤ毎に設定されている実行時刻に該当ジョブプログラムの起動をおこなうものである。
【００２１】
前記ジョブスケジュールデータベース２４は、例えば、ジョブＩＤをキーとして、ジョブプログラムの実行時刻、使用するリソースを指定する処理機能（図中ではジョブ処理機能３４として示す）のＩＤ、実行するジョブプログラム名といった情報が関連づけされたレコードから構成される。
【００２２】
また、前記ジョブ指示機能部２３は、ジョブプログラムの実行状況をジョブ監視機能部２５に通知するものとする。ここで通知されるジョブ実行状況は、例えば、ジョブＩＤ、実行したプログラム名、実行開始時刻、実行終了時刻といった情報から構成される。ジョブ実行状況のデータを受け付けたジョブ監視機能２５はこれを、起動スケジュールに含まれるジョブプログラムの実行時間の履歴を格納したジョブ結果履歴データベース２６（ジョブ結果履歴格納部）に格納していく。従って、前記ジョブ指示機能部２３においてジョブプログラムが実行されるたびにジョブ結果履歴データベース２６は拡充されることなる。つまり、あるジョブプログラムについて、それの実行にかかる時間情報のサンプル数が豊富となり、当該時間の情報を使って算定する平均の実行時間や最大の実行時間の確度が高まる。
【００２３】
ジョブ監視機能部２５（図５におけるジョブ管理サーバ２０に該当）は、上述した通り、ジョブ指示機能部２３から受けたジョブ実行状況をジョブ実行結果として前記ジョブ結果履歴データベース２６に格納する。このジョブ結果履歴データベース２６は、例えば、ジョブＩＤをキーとして、プログラム名、実行開始の時刻、実行終了の時刻、および実行時間といった情報が関連づけされたレコードから構成されている。
【００２４】
また、ジョブ監視機能部２５は、ジョブプログラムの入替要否の情報を格納したプログラム入替ルールデータベース２７（プログラム入替ルール格納部）に基づき、プログラムの入替要否判定を行う入替要否判定部２８を備えている。この入替要否判定部２８は、前記ジョブスケジュールデータベース２４に含まれるジョブプログラムが入替対象ジョブプログラムであるか否か、前記プログラム入替ルールデータベース２７における該当ジョブプログラムの入替要否の情報を参照して判定するものである。
【００２５】
このプログラム入替ルールデータベース２７は、例えば、プログラム名をキーとして、入替ジョブのＩＤ、入替実行にかかる平均時間、入替実行にかかる最大時間、および入替の要否情報といった情報が関連づけされたレコードから構成されている。
【００２６】
更に、ジョブ監視機能部２５は、ジョブ結果履歴データベース２６に基づき、ジョブプログラムの入替可否を判断するため、時間幅算定部２９を備える。この時間幅算定部２９は、ジョブスケジュールに応じて起動した入替対象ジョブプログラムの実行終了時刻をジョブ結果履歴データベース２６から取得し、また、ジョブスケジュールデータベース２４より当該入替対象ジョブプログラムの次起動時刻を取得して、前記実行終了時刻と次起動時刻との間の時間幅を算定するものである。
【００２７】
また、前記ジョブ監視機能部２７は、前記プログラム入替ルールデータベース２７が含む各ジョブプログラムについて、その実行時間の履歴を前記ジョブ結果履歴データベース２６より抽出し、実行に要した平均時間または最大時間の少なくともいずれかを算定する時間算定部３０を備える。
【００２８】
更に、前記ジョブ監視機能部２７は、前記時間幅に前記平均時間または最大時間がおさまるか判定し、おさまる場合、つまり入替可能な場合には前記入替対象ジョブプログラムの実行終了後、前記入替ジョブプログラムを起動する入替実行部３１を備えている。なお、本実施形態では、ジョブプログラムの入替可能な場合、ジョブ監視機能部２５からジョブ指示機能部２３を経てプログラム入替機能部３２（図５におけるリポジトリ移行サーバ１６に該当）へプログラム入替ジョブの起動指示を行うこととしている。
【００２９】
また、前記ジョブ監視機能部２７は、ジョブプログラムの入替不可（例：時間幅に前記平均時間がおさまらない場合）または入替時にリスクが発生する場合（例：前記平均時間が時間幅におさまるが、前記最大時間が時間幅におさまらない場合など）に、前記入替対象ジョブプログラムの実行終了後における前記入替ジョブプログラムの起動を中止した旨を、出力インターフェイスに出力する入替中止通知部３３を備える。先の図５の例でいえば、前記オペレータ監視ＰＣ２１への入替中止の通報を実施することとなる。
【００３０】
なお、これまで示した構成各部は、それぞれを有するジョブ管理システム１００においてハードウェアとして実現してもよいし、ＨＤＤやメモリなどの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、前記システム１００の演算装置がプログラム実行に合わせて記憶装置より該当プログラムをメモリに読み出して、これを実行することとなる。
【００３１】
なお、本実施形態におけるシステム１００は、ジョブ指示機能部２３、ジョブ監視機能部２７、およびプログラム入替機能部３２とが、例えば別個に構成されて各々ネットワークで結ぶ例を想定したが、これに限定されることなく、例えばこれら各機能部２３、２７、３２が一体となった例も想定できる。
【００３２】
更に、前記ネットワークに関しては、ＬＡＮやインターネットの他、専用回線やＷＡＮ（Wide Area Network）、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網など様々なネットワークを採用することも出来る。また、ＶＰＮなど仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。或いは、同じ情報処理装置内に各機能部が配置されている場合など、当該情報処理装置内のバス配線などをネットワークと想定することもできる。
【００３３】
次に、本実施形態のジョブ管理方法の実際手順について図を参照しつつ説明する。なお、以下で説明するジョブ管理方法に対応する各種動作は、前記システム１００におけるメモリやＨＤＤ等の記憶手段が前記各機能構成部の機能を実現すべく備えるプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されており、前記機能構成各部の機能を実装したものとなる。
【００３４】
図７は本実施形態におけるメイン処理のフローチャートである。本フローにおいては、システム１００の前記ジョブ監視機能部２５が、ジョブプログラム（以下、ジョブと称する）を起動した前記ジョブ指示機能部２３より、ジョブの実行状況を受信する処理（ｓ１０００）からフローを開始する。この実行状況の情報を受信する前の各データベースの状況例は図１０に示すとおりで、ジョブスケジュールデータベース２４には、実行すべきジョブが列挙されているが、まだジョブ指示機能部２３より実行状況の情報を受け取っていないため、ジョブ結果履歴データベース２６は空である。また、プログラム入替ルールデータベース２７には、「ＰＲＯＧ１」なるジョブプログラムについて実行の平均時間および最大時間と共にプログラム入替要の旨の情報が格納されている。
【００３５】
ここで受信した実行状況の情報は、前記ジョブ結果履歴データベース２６に格納することになる。この際、前記実行状況の情報が、ジョブの開始時刻の情報は含むが終了時刻の情報は含んでいない場合、ジョブの開始を意味する情報であると判定し（ｓ１００１：Ｙ）、このジョブの開始時刻をジョブ結果履歴データベース２６における該当ジョブＩＤと絡めて記録する（ｓ１００２）。ここで記録される情報としては、ジョブＩＤ、開始時刻、プログラム名といった情報になる。このように実行状況の情報を受信して格納した際の各データベースの状況例は図１１に示すとおりで、図１０の状況と異なり、ジョブ結果履歴データベース２６にはジョブ指示機能部２３で「ＰＲＯＧ１」を起動したジョブ「ＺＡ００００１」に関するレコードが格納されている。
【００３６】
他方、前記実行状況の情報が、ジョブの終了時刻の情報を含む場合、ジョブの終了を意味する情報であると判定する（ｓ１００１：Ｎ）。図８は本実施形態におけるジョブ終了処理のフローチャートである。前記のごとくジョブの終了を判定した場合、ジョブの実行状況の情報からジョブ終了時刻を取得し、ジョブ結果履歴データベース２６における該当ジョブＩＤのレコードに反映させる（ｓ１１００）。
【００３７】
また、前記ジョブ終了時刻をジョブ結果履歴データベース２６に反映させるに伴い、ジョブ終了時刻と開始時刻との差から実行時間を算定し、この実行時間の情報もジョブ結果履歴データベース２６に加えるものとする。ここでの各データベースの状況例は図１２に示すとおりで、図１１の状況と異なり、ジョブ結果履歴データベース２６のジョブ「ＺＡ００００１」に関するレコードにおいて、終了時刻と実行時間とが格納されている。
【００３８】
続いて、実行終了したジョブについて、前記プログラム入替ルールデータベース２７を参照し、その入替要否の情報を抽出する。これにより、前記ジョブがプログラム入替ジョブであるか判定する（ｓ１１０１）。プログラム入替ジョブであった場合（ｓ１１０１：Ｙ）、プログラム入替ルールデータベース２７における該当レコードにおいて、前記で算定したジョブ結果履歴データベース２６の実行時間を、平均実行時間および最大実行時間に反映させる（ｓ１１０２）。
【００３９】
具体的には、ジョブ結果履歴データベース２６に蓄積された同一ジョブに関する実行時間から平均実行時間を算定し、これをもって前記プログラム入替ルールデータベース２７の該当レコードの平均時間として更新処理する。例として、ジョブ結果履歴データベース２６においてはジョブＩＤ毎に３０世代分の実行時間の情報を保存する。この場合、平均実行時間は過去同一ジョブＩＤの実行時間の合計を３０で除したものとなる。
【００４０】
また最大実行時間については、プログラム入替ルールデータベース２７の最大実行時間に保存した既存値より、今回のジョブ実行に伴って算定した現在値が大きい場合のみ採用する。
【００４１】
こうした処理を経てジョブ終了処理を行った後、入替要否の判定に従って次にプログラム入替処理をおこなうこととなる（ｓ１００４）。図９は本実施形態におけるプログラム入替処理のフローチャートである。既に上記したように、入替が必要なプログラムか否かはプログラム入替ルールデータベース２７における該当プログラムに関する入替要フラグの判定を行うことにより判断しておく（ｓ１２００）。入替不要であれば（ｓ１２００：Ｎ）、処理は終了する。他方、入替要であれば（ｓ１２００：Ｙ）、入替対象プログラムの次回のプログラム実行時刻をジョブスケジュールデータベース２４から検索する（ｓ１２０１）。
【００４２】
次に、入替可能であるか否かを判定する。まず、前記入替対象プログラムに関して次回ジョブ開始時刻の予定があるかないかを判定する（ｓ１２０２）。予定がなかった場合（ｓ１２０２：Ｙ）、当該入替対象プログラムの入替を行ったとしても、このプログラムの実行にかかってしまうリスクが無い訳であり、入替可能と判断する（フロー中のルート、Ｌ５０）。そして、ジョブ指示機能部２３を通じてプログラム入替機能部３２に対するプログラムの入替ジョブ実行を指示し（ｓ１２０７）、処理は終了する。これによりプログラム入替機能部３２により入替処理が実行される一方、この入替ジョブに関する実行状況の情報をジョブ指示機能部２３より受信する。受信した実行状況の情報はジョブ結果履歴データベース２６に格納され、入替に要した時間に関する履歴を形成することとなる。
【００４３】
また、前記ステップｓ１２０２において、前記入替対象プログラムに関して次回ジョブ開始時刻の予定があった場合（ｓ１２０２：Ｎ）、当該入替対象プログラムの入替を行うと、このプログラムの実行にかかってしまう状況も想定できることとなる。
【００４４】
そこでまず、（次回ジョブ開始時刻−現在時刻）、つまり前記時間幅がプログラム入替ルールデータベース２７の該当プログラムに関する平均時間より短いか否か判定する（ｓ１２０３）。ここで前記時間幅が前記平均時間より短いと判定した場合（ｓ１２０３：Ｙ）、過去のプログラム入替履歴から次回ジョブ実行の開始時刻までに入替完了が間に合わないリスクが大きいと判断する。そして、プログラム入替は行わずオペレータ監視ＰＣ２１への通知のみ実行し（ｓ１２０４）、処理を終了する（フロー中のルート、Ｌ５１）。なお、実際の処理では前記平均時間に余裕時間（例：固定値５分）を加算し、より厳しい条件下での判断を行うべく配慮する。
【００４５】
また一方、前記ステップｓ１２０３において、前記時間幅がプログラム入替ルールデータベース２７の該当プログラムに関する平均時間より短くないと判定した場合（ｓ１２０３：Ｎ）、前記時間幅がプログラム入替ルールデータベース２７の該当プログラムに関する最大時間より短いか否かを判定する（ｓ１２０５）。ここで、前記時間幅がプログラム入替ルールデータベース２７の該当プログラムに関する最大時間より短いと判定すれば（ｓ１２０５：Ｙ）、過去のプログラム入替履歴から次回ジョブ実行の開始時刻までに入替完了が間に合わないリスクは小さいと判断し、プログラム入替は実施するがオペレータ監視ＰＣ２１への通知（ｓ１２０６）も実行する（フロー中のルート、Ｌ５２）。
【００４６】
プログラム入替に際しては、ジョブ指示機能部２３を通じてプログラム入替機能部３２に対するプログラムの入替ジョブ実行を指示し（ｓ１２０７）、これをもって処理は終了する。これによりプログラム入替機能部３２により入替処理が実行される一方、この入替ジョブに関する実行状況の情報をジョブ指示機能部２３より受信する。受信した実行状況の情報はジョブ結果履歴データベース２６に格納され、入替に要した時間に関する履歴を形成することとなる。
【００４７】
また他方、前記ステップｓ１２０５において、前記時間幅がプログラム入替ルールデータベース２７の該当プログラムに関する最大時間より短くないと判定すれば（ｓ１２０５：Ｎ）、過去のプログラム入替履歴から次回ジョブ実行の開始時刻までにプログラム入替完了が間に合わないリスクはほぼないと判断し（フロー中のルート、Ｌ５３）、プログラム入替を実施する。
【００４８】
プログラム入替に際しては、ジョブ指示機能部２３を通じてプログラム入替機能部３２に対するプログラムの入替ジョブ実行を指示し（ｓ１２０７）、これをもって処理は終了する。これによりプログラム入替機能部３２により入替処理が実行される一方、この入替ジョブに関する実行状況の情報をジョブ指示機能部２３より受信する。受信した実行状況の情報はジョブ結果履歴データベース２６に格納され、入替に要した時間に関する履歴を形成することとなる。
【００４９】
上記したように入替が実行される際の各データベースの状況例は図１３に示すとおりで、図１２の状況と異なり、ジョブスケジュールデータベース２４において、ジョブ「ＺＡ００００１」と「ＺＡ００００３」とのスケジュールの間に、入替ジョブたる「ＺＡ００００２」が格納されている。また、入替が実行された後の各データベースの状況例は図１４に示すとおりで、図１３の状況と異なり、プログラム入替ルールデータベース２７の該当プログラムのレコードにおいて、入替要否のフラグが入替要否無しのフラグへと更新されている。また、この時点で図８のｓ１１０２のプログラム入替ルールの修正を行い、今回入替にかかった時間を平均実行時間、最大実行時間に反映させる。
【００５０】
本発明によれば、以上のように過去のジョブ実行履歴を蓄積し、入替作業時間の平均時間や最大時間を抽出することで、プログラム入替時のリスクを判定し、リスクに応じたプログラムの自動入替を実現できる。これにより、従来はオペレータの手作業によった入替作業の省力化を図ることが出来、運用コストの低減や運用の効率化が可能になる。  
したがって、ジョブ実行状況に則した的確なプログラム入替を可能とすると共に、プログラム入替作業に伴うオペレータの負担を軽減できる。
【００５１】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００５２】
【図１】従来における入替作業票の例を示す図である。
【図２】ジョブ実行間隔が入替作業時間にかからない場合のタイムチャートである。
【図３】先行ジョブの実行が遅延し入替可能時間帯にかかった場合のタイムチャートである。
【図４】作業時間が延びて入替可能時間帯にかかった場合のタイムチャートである。
【図５】本実施形態におけるジョブ管理システムを含むシステム環境の図である。
【図６】本実施形態におけるジョブ管理システムの機能構成図である。
【図７】本実施形態におけるメイン処理のフローチャートである。
【図８】本実施形態におけるジョブ終了処理のフローチャートである。
【図９】本実施形態におけるプログラム入替処理のフローチャートである。
【図１０】本実施形態におけるプログラム入替処理推移に伴うデータベース内容１を示す図である。
【図１１】本実施形態におけるプログラム入替処理推移に伴うデータベース内容２を示す図である。
【図１２】本実施形態におけるプログラム入替処理推移に伴うデータベース内容３を示す図である。
【図１３】本実施形態におけるプログラム入替処理推移に伴うデータベース内容４を示す図である。
【図１４】本実施形態におけるプログラム入替処理推移に伴うデータベース内容５を示す図である。
【符号の説明】
【００５３】
１１  開発リポジトリデータベースサーバ
１２  開発リポジトリデータベース
１３  開発ジョブ実行サーバ
１４  開発アプリケーションサーバ
１５  移行リポジトリデータベース
１６  リポジトリ移行サーバ
１７  本番リポジトリベータベース
１８  本番ジョブ実行サーバ
１９  本番アプリケーションサーバ
２０  ジョブ監視サーバ
２１  オペレータ監視ＰＣ
２２  ジョブ管理データベース
２３  ジョブ指示機能部
２４  ジョブスケジュールデータベース、ジョブスケジュール格納部
２５  ジョブ監視機能部
２６  ジョブ結果履歴データベース、ジョブ結果履歴格納部
２７  ジョブ入替ルールデータベース、ジョブ入替ルール格納部
２８  入替要否判定部
２９  時間幅算定部
３０  時間算定部
３１  入替実行部
３２  プログラム入替機能部
３３  入替中止通知部
１００  ジョブ管理システム、本番環境
２００  開発環境
【図１】
2005208767.tif 000003
【図２】
2005208767.tif 000004
【図３】
2005208767.tif 000005
【図４】
2005208767.tif 000006
【図５】
2005208767.tif 000007
【図６】
2005208767.tif 000008
【図７】
2005208767.tif 000009
【図８】
2005208767.tif 000010
【図９】
2005208767.tif 000011
【図１０】
2005208767.tif 000012
【図１１】
2005208767.tif 000013
【図１２】
2005208767.tif 000014
【図１３】
2005208767.tif 000015
【図１４】
2005208767.tif 000016