"作業をスケジューリングするために,コンピュータに,データ処理用システムごとに,該システムが実行するバッチ作業,オペレータが正常時に実行する正常系作業,および,オペレータが異常時に実行する異常系作業を含む複数の作業について,各作業の実行条件ならびに前記複数の作業のうち当該作業の前または後に実行する作業,及び,前記正常系作業ごとに,複数のオペレータ端末のうち当該正常系作業に割り当てるオペレータ端末が対応付けられた,前記データ処理用システムごとの実行スケジュールを示す作業スケジュールが記憶された記憶部を参照して,前記データ処理用システムごとに,前記作業スケジュールをもとにスケジューリングされた正常系作業を選択して,当該作業に対応するオペレータ端末に当該作業を通知する第1の通知処理と,前記オペレータ端末から,該オペレータ端末に通知した作業の終了通知を収集する処理と,前記オペレータ端末から収集された前記作業の終了通知が異常終了であるか否かを判定する処理と,前記作業の終了通知が異常終了であると判定した場合に,前記記憶部を参照して,前記作業スケジュールをもとに,前記終了通知を収集した作業に後続する異常系作業を選択し,前記データ処理用システムごとに前記作業スケジュールにもとづいて現時刻で未実行の正常系作業ごとに,当該正常系作業の開始を遅延させた場合に当該正常系作業に後続する作業の実行を遅延させる可能性を示す開始遅延リスクの有無を評価し,該リスクがないと評価した正常系作業に対応するオペレータ端末を選択して,該選択したオペレータ端末に前記選択した異常系作業を通知する第2の通知処理とを,実行させるための作業スケジューリングプログラム。前記第2の通知処理による前記異常系作業の通知先のオペレータ端末から収集された前記異常系作業の終了通知が正常終了であるか否かを判定する処理と,前記異常系作業の終了通知が異常終了であると判定した場合に,前記記憶部を参照して,前記作業スケジュールをもとに,当該異常系作業に後続する正常系作業を選択し,該正常系作業の実行条件をもとに該正常系作業の実行可否を判定する処理と,前記正常系作業が実行可能と判定した場合に前記第1の通知処理を実行し,前記正常系作業が実行不可能と判定した場合に前記第2の通知処理を実行する処理とを,実行させることを特徴とする請求項1に記載の作業スケジューリングプログラム。前記開始遅延リスクの有無を評価する際に,前記現時刻で未実行の正常系作業のうち,該正常系作業に後続する作業がバッチ作業である場合,または,該正常系作業がバッチ作業の後続である場合のいずれかである正常系作業を前記開始遅延リスクがあると評価することを特徴とする請求項1または請求項2に記載の作業スケジューリングプログラム。前記記憶部には,前記正常系作業ごとに当該作業を開始可能な時刻,前記異常系作業ごとに当該作業の平均実行時間の情報が対応付けて記憶され,前記正常系作業のリスクを評価する際に,前記スケジューリングされた正常系作業であって,現時刻から該作業の開始可能な時刻までの時間が,前記異常系作業の平均実行時間より短い作業を前記リスクがあると評価することを特徴とする請求項1ないし請求項3のいずれか一項に記載の作業スケジューリングプログラム。作業をスケジューリングするために,コンピュータが,データ処理用システムごとに,該システムが実行するバッチ作業,オペレータが正常時に実行する正常系作業,および,オペレータが異常時に実行する異常系作業を含む複数の作業について,各作業の実行条件ならびに前記複数の作業のうち当該作業の前または後に実行する作業,および,前記正常系作業ごとに,複数のオペレータ端末のうち当該正常系作業に割り当てるオペレータ端末が対応付けられた,前記データ処理用システムごとの実行スケジュールを示す作業スケジュールが記憶された記憶部を参照して,前記データ処理用システムごとに,前記作業スケジュールをもとにスケジューリングされた正常系作業を選択して,当該作業に対応するオペレータ端末に当該作業を通知する第1の通知を行い,前記オペレータ端末から,該オペレータ端末に通知した作業の終了通知を収集し,前記オペレータ端末から収集された前記作業の終了通知が異常終了であるか否かを判定し,前記作業の終了通知が異常終了であると判定した場合に,前記記憶部を参照して,前記作業スケジュールをもとに,前記終了通知を収集した作業に後続する異常系作業を選択し,前記データ処理用システムごとに前記作業スケジュールにもとづいて現時刻で未実行の正常系作業ごとに,当該正常系作業の開始を遅延させた場合に当該正常系作業に後続する作業の実行を遅延させる可能性を示す開始遅延リスクの有無を評価し,該リスクがないと評価した正常系作業に対応するオペレータ端末を選択して,該選択したオペレータ端末に前記選択した異常系作業を通知する第2の通知を行うことを特徴とする作業スケジューリング方法。作業をスケジューリングする作業スケジューリングシステムであって,データ処理用システムごとに,該システムが実行するバッチ作業,オペレータが正常時に実行する正常系作業,および,オペレータが異常時に実行する異常系作業を含む複数の作業について,各作業の実行条件ならびに前記複数の作業のうち当該作業の前または後に実行する作業,および,前記正常系作業ごとに,複数のオペレータ端末のうち当該正常系作業に割り当てるオペレータ端末が対応付けられた,前記データ処理用システムごとの実行スケジュールを示す作業スケジュールが記憶された記憶部と,前記記憶部を参照して,前記データ処理用システムごとに,前記作業スケジュールをもとにスケジューリングされた正常系作業を選択して,当該作業に対応するオペレータ端末に当該作業を通知する第1の通知を行い,前記オペレータ端末から,該オペレータ端末に通知した作業の終了通知を収集し,前記オペレータ端末から収集された前記作業の終了通知が異常終了であるか否かを判定し,前記作業の終了通知が異常終了であると判定した場合に,前記作業スケジュールをもとに,前記終了通知を収集した作業に後続する異常系作業を選択し,前記データ処理用システムごとに前記作業スケジュールにもとづいて現時刻で未実行の正常系作業ごとに,当該正常系作業の開始を遅延させた場合に当該正常系作業に後続する作業の実行を遅延させる可能性を示す開始遅延リスクの有無を評価し,該リスクがないと評価した正常系作業に対応するオペレータ端末を選択して,該選択したオペレータ端末に前記選択した異常系作業を通知する第2の通知を行うシステムスケジューリング部とを,備えることを特徴とする作業スケジューリングシステム。前記コンピュータに,実行中のバッチ作業を構成する各ジョブから取得した少なくとも実行中またはリカバリ中または終了を示す状態と処理時間の残り時間とを含む進捗情報,および,予め備えられた前記バッチ作業の各ジョブの処理時間と異常発生確率とを示すバッチ構成情報にもとづいて計算された前記バッチ作業の正常終了確率と予測終了時間とを含む予測通知を取得する予測通知取得処理と,前記第2の通知処理において,前記未実行の正常系作業の前記開始遅延リスクの有無を評価する際に,実行中の該バッチ作業の前記正常終了確率が予め定められた閾値より小さい場合に,該バッチ作業に後続する正常系作業の前記開始遅延リスクの評価をリスクありと評価し,前記正常終了確率が予め定められた閾値以上,かつ,現時刻から該正常系作業の開始可能な時刻までの時間が前記異常系作業の平均実行時間より短い場合に前記評価をリスクありと評価し,前記正常終了確率が予め定められた閾値以上,かつ,現時刻から該正常系作業の開始可能な時刻までの時間が前記異常系作業の平均実行時間を超える場合に前記評価をリスクなしと評価する処理を,実行させることを特徴とする請求項1ないし請求項4のいずれか一項に記載の作業スケジューリングプログラム。前記コンピュータに,前記第2の通知処理において,前記未実行の正常系作業の前記開始遅延リスクの有無を評価する際に,前記正常終了確率が0であるバッチ作業について,実行中の該バッチ作業に後続する正常系作業を前記開始遅延リスクの評価の対象から除外し,該除外した正常系作業に割り当てられているオペレータ端末を解除する処理とを,実行させる実行させることを特徴とする請求項7に記載の作業スケジューリングプログラム。前記コンピュータに,前記予測通知に含まれる正常終了確率が0であるバッチ作業について,作業スケジュールに示された該バッチ作業に後続する正常系作業の開始時刻を,前記予測通知に含まれる予測終了時刻に変更する処理を,実行させることを特徴とする請求項7または請求項8に記載の作業スケジューリングプログラム。前記コンピュータが,実行中のバッチ作業を構成する各ジョブから取得した少なくとも実行中またはリカバリ中または終了を示す状態と処理時間の残り時間とを含む進捗情報,および,予め備えられた前記バッチ作業の各ジョブの処理時間と異常発生確率とを示すバッチ構成情報にもとづいて計算された前記バッチ作業の正常終了確率と予測終了時間とを含む予測通知を取得し,前記第2の通知をする処理において,前記未実行の正常系作業の前記開始遅延リスクの有無を評価する際に,実行中の該バッチ作業の前記正常終了確率が予め定められた閾値より小さい場合に,該バッチ作業に後続する正常系作業の前記開始遅延リスクの評価をリスクありと評価し,前記正常終了確率が予め定められた閾値以上,かつ,現時刻から該正常系作業の開始可能な時刻までの時間が前記異常系作業の平均実行時間より短い場合に前記評価をリスクありと評価し,前記正常終了確率が予め定められた閾値以上,かつ,現時刻から該正常系作業の開始可能な時刻までの時間が前記異常系作業の平均実行時間を超える場合に前記評価をリスクなしと評価することを特徴とする請求項5に記載の作業スケジューリング方法。前記システムスケジューリング部は,実行中のバッチ作業を構成する各ジョブから取得した少なくとも実行中またはリカバリ中または終了を示す状態と処理時間の残り時間とを含む進捗情報,および,予め備えられた前記バッチ作業の各ジョブの処理時間と異常発生確率とを示すバッチ構成情報にもとづいて計算された前記バッチ作業の正常終了確率と予測終了時間とを含む予測通知を取得し,前記第2の通知をする処理において,前記未実行の正常系作業の前記開始遅延リスクの有無を評価する際に,実行中の該バッチ作業の前記正常終了確率が予め定められた閾値より小さい場合に,該バッチ作業に後続する正常系作業の前記開始遅延リスクの評価をリスクありと評価し,前記正常終了確率が予め定められた閾値以上,かつ,現時刻から該正常系作業の開始可能な時刻までの時間が前記異常系作業の平均実行時間より短い場合に前記評価をリスクありと評価し,前記正常終了確率が予め定められた閾値以上,かつ,現時刻から該正常系作業の開始可能な時刻までの時間が前記異常系作業の平均実行時間を超える場合に前記評価をリスクなしと評価することを特徴とする請求項6に記載の作業スケジューリング方法。静的スケジューリング手法により決定される作業スケジュールでは,作業が正常に終了することを前提に,正常系作業をスケジューリングしている。そのため,作業が異常終了したり,終了が期限を越えたりするような場合には,異常系の作業に切り替える必要があり,異常状況の収束後に速やかに通常の作業スケジュールに戻す必要がある。しかし,スケジューリングされる正常系作業についても,作業を開始するための条件,例えばその作業の開始前に終了すべき他の作業バッチ作業やオペレータの作業の実際の実行時間等にばらつきがある。そのため,予め実行時間を見積もって作業の実行順序を設定するという静的スケジューリングでは,異常系作業のスケジューリングに対応することができず,異常系の作業の開始以降の作業についての動的スケジューリングが必要となる。しかし,既知の動的スケジューリング手法は,作業全体を再スケジューリングしなければならず,最適な作業スケジュールを得るためには計算時間が膨大なものになり,計算時間がかかり過ぎて現実的ではないという問題があった。また,動的スケジューリングの計算時間を制限して実際の作業進行に間に合わせようとすると,最適な作業スケジュールが得られない可能性があった。さらに,異常系作業の実行後に通常系作業の作業スケジュール静的スケジューリングによる作業スケジュールに戻したいと考えても,動的スケジューリング手法による作業スケジュールからどのように通常の作業スケジュールに戻すかを自動的に行うことができないという問題があった。本発明の目的は,バッチ作業やオペレータの作業を含む作業スケジュールにおいて,異常終了による異常系作業が必要となった場合に,異常系作業となった部分のスケジューリングを変更し,異常系作業の終了後に所定の作業スケジュールに自動的に戻ることができる作業スケジューリング技術を提供することである。本発明の一態様として開示される作業スケジューリングプログラムは,作業スケジュールを管理するために,コンピュータに,1データ処理用システムごとに,該システムが実行するバッチ作業,オペレータが正常時に実行する正常系作業,および,オペレータが異常時に実行する異常系作業を含む複数の作業について,各作業の実行条件ならびに前記複数の作業のうち当該作業の前または後に実行する作業,および,前記正常系作業ごとに,複数のオペレータ端末のうち当該正常系作業に割り当てるオペレータ端末が対応付けられた,前記データ処理用システムごとの実行スケジュールを示す作業スケジュールが記憶された記憶部を参照して,前記データ処理用システムごとに,前記作業スケジュールをもとにスケジューリングされた正常系作業を選択して,当該作業に対応するオペレータ端末に当該作業を通知する第1の通知処理と,2前記オペレータ端末から,該オペレータ端末に通知した作業の終了通知を収集する処理と,3前記オペレータ端末から収集された前記作業の終了通知が異常終了であるか否かを判定する処理と,4前記作業の終了通知が異常終了であると判定した場合に,前記記憶部を参照して,前記作業スケジュールをもとに,前記終了通知を収集した作業に後続する異常系作業を選択し,前記データ処理用システムごとに前記作業スケジュールにもとづいて現時刻で未実行の正常系作業ごとに,当該正常系作業の開始を遅延させた場合に当該正常系作業に後続する作業の実行を遅延させる可能性を示す開始遅延リスクの有無を評価し,該リスクがないと評価した正常系作業に対応するオペレータ端末を選択して,該選択したオペレータ端末に前記選択した異常系作業を通知する第2の通知処理とを,実行させるためのものである。上記した作業スケジューリングプログラムによれば,コンピュータは,静的スケジューリングにより設定した作業スケジュールを前提に,異常系作業を他の作業に影響を与えないオペレータで対処して,自動的に元の作業スケジュールに戻ることができる。よって,計算時間が少なく,現実的かつ効率的な作業スケジューリングを実現することができる。以下,本発明の一態様として開示する作業スケジューリングシステムについて説明する。本例において,開示する作業スケジューリングシステムは,本実施の形態において,データセンタに設置されるものとして説明する。本実施の形態として説明するデータセンタでは,設定されるデータ処理用システムが,相互に独立するシステムのバッチ作業を予め設定されたスケジュールに従って実行する。また,データセンタに配属される複数のオペレータが,バッチ作業に合わせて設定かつスケジューリングされた作業指示にもとづいて,バッチ作業完了の確認や連絡,作業データの設定等の作業を行う。まず,本発明者が考察したデータセンタの作業スケジューリングについての考察を説明する。データセンタで実行される作業は,作業が正常に終了し続けている場合に実行される作業正常系作業と,作業が正常に終了しなかった場合に実行される作業異常系作業の2系統に大まかに分離される。さらに,オペレータが実行する作業には以下のような特徴がある。1作業内容として,データ処理システムのジョブ実行の監視に関する作業が多い。そして,作業時間は短く変動があまりないが,作業の締め切り必ず終了させなければならない時刻までの時間が比較的長い。そのため,正常系作業に割り当てられているオペレータは,比較的低リスクで他の作業のために融通させることができる。2異常系作業は,予め想定されており,正常系作業の流れのどの段階に復帰すればよいかがほとんど定まっている。また,異常系作業の作業時間は正常系作業に比べれば長いが,あまり変動しないことから,異常系作業から正常系作業への復帰時刻の予想確度が高い。3作業スケジュールに組み込まれるバッチ作業は,開始条件開始時刻や締め切りが変更しにくいため,異常系作業への変更に伴って大きくスケジューリングを変更することが困難である。したがって,開示する作業スケジューリングシステムをデータセンタにおけるバッチ作業とオペレータの作業とのスケジューリングに適用することは好適な例であり,コストを削減してデータセンタ全体の生産性を向上させ,オペレータの負担を軽減して作業品質やリスク管理を向上させるという効果を奏する。第1の実施例図1は,開示する作業スケジューリングシステムの一実施例である,第1の実施例における構成例を示す図である。作業スケジューリングシステム1は,データセンタに備えられ,データ処理用システムごとに作業をスケジューリングし,スケジューリングした各作業を複数オペレータがそれぞれ操作するオペレータ端末44a,4b,4c,...に割り当てる。作業スケジューリングシステム1は,静的スケジューリング部11,システムスケジューリング部12,オペレータモニタ部13,バッチモニタ部14,スケジューリング調整部15を備える。静的スケジューリング部11は,データ処理用システムで実行される作業の内容,作業で使用される指示コマンド等が指定された作業指示書,データ処理用システムで実行されるバッチ作業の内容や実行の制約条件開始時刻,終了期限等を設定したバッチ設定情報と,バッチ作業や作業の平均実行時間を記録した作業統計情報とを取得して,既知の静的スケジューリング手法を用いて,データ処理用システムごとの作業スケジュールを生成する。図2は,静的スケジューリング部11が生成する情報例を示す図である。図2Aは,作業表の例を示す図である。静的スケジューリング部11は,データ処理用システムごとに,作業指示書と作業統計情報とをデータ変換して作業表を生成する。作業指示書には,オペレータに割り当てられる作業ごとに,作業を識別する作業ID,作業の開始時刻,作業終了の期限を示す締め切り時刻,処理するバッチ作業および作業の内容,作業で使用されるコマンド等が指定されている。作業統計情報には,データ処理用システムのバッチ作業やオペレータの作業の実行時間などの統計情報が記録されている。作業表は,作業ごとに,作業を識別する作業ID,作業が開始可能な時刻を示す開始時刻,作業の開始から終了までの平均的な作業時間を示す平均作業時間分,作業がそれまでに終了しなければならない時刻を示す締め切り,実行される作業の内容を示す作業内容のデータ項目を含む。図2Bは,バッチ表の例を示す図である。静的スケジューリング部11は,データ処理用システムごとに,バッチ設定情報と作業統計情報とをデータ変換してバッチ表を生成する。バッチ表は,バッチ作業ごとに,処理を識別する作業ID,処理の開始時刻を示す開始時刻,処理の開始から終了までの平均的な実行時間を示す平均実行時間分,処理がそれまでに終了しなければならない時刻を示す締め切り,実行される処理を示すバッチ内容のデータ項目を含む。図2Cは,作業依存表の例を示す図である。静的スケジューリング部11は,データ処理用システムごとに,作業指示書とバッチ設定情報とをデータ変換して作業依存表を生成する。作業依存表は,作業ごとに,作業ID,その作業に先行して実行される作業を示す先行作業ID,作業の系を示す正常系/異常系のデータ項目を含む。正常系/異常系には,その作業が,正常時に実行される作業であることを示す正常系,異常処理として実行される作業であることを示す異常系のいずれかが設定される。例えば,作業ID=8の作業は,正常系作業であって,作業ID=2または7の作業が先行して実行される関係にあることを示す。図2Dは,作業スケジュール表の例を示す図である。静的スケジューリング部11は,作業表,バッチ表,作業依存表をもとに,作業スケジュール表を生成する。作業スケジュール表は,作業ごとに,作業ID,先行作業ID,正常系/異常系,スケジュール時刻,平均作業時間,締め切り,作業内容,オペレータIDを含む。スケジュール時刻は,スケジューリングされた開始時刻を示す。オペレータIDは,その作業が割り当てられたオペレータ端末4を識別する情報である。システムスケジューリング部1212a,12b,...は,データ処理用システムに対応付けて備えられる。システムスケジューリング部1212a,12b,...は,対応するデータ処理用システムの作業スケジュールをもとに,スケジューリングした作業の実行命令を実行可能な時間に,指定したオペレータ端末4に通知して,作業の実行を制御する。システムスケジューリング部1212a,12b,...は,制御部120120a,120b,...,依存性グラフ部121121a,121b,...,スケジューリングモード部122122a,122b,...,リスク評価部123123a,123b,...,作業キュー124124a,124b,...を備える。依存性グラフ部121は,作業スケジュールから,各作業の依存性を示すグラフを生成する。図3は,依存性グラフの例を示す図である。図3に示す依存性グラフにおいて,数字がつけられた円形で表すノードは,バッチ作業を示し,数字がつけられた矩形で表すノードは,オペレータが実行する作業正常系作業または異常系作業を表している。各ノードをつなぐ矢印は,作業間の依存関係を示す。図3では,作業ID=7のバッチ作業が6:00に開始し,処理結果が正常であれば,作業ID=1の作業正常系作業を実行し,処理結果が異常であれば作業ID=2の作業異常系作業を実行して作業ID=1の作業正常系作業へ戻り,次の作業ID=8のバッチ作業が実行されることと,作業ID=9のバッチ作業が実行され,その処理後正常終了,異常終了のいずれでもに作業ID=3の作業正常系作業が実行されることが示されている。依存性グラフ部121は,さらに,生成した依存性グラフ上の作業から,その時点で依存するノードを持たないルートの作業にアクティブのマークを付け,マークを付けた作業の中でその時点で実行可能となったもののIDを作業キュー124に格納する。また,依存性グラフ部121は,オペレータモニタ部13やバッチモニタ部14からの作業終了の通知に同期して,生成した依存性グラフから実行が終了した作業のノードと不要となった矢印を削除し,作業スケジュールをもとに,新しい作業を依存性グラフに設定する。スケジューリングモード部122は,オペレータ端末4のイベントの監視結果として,実行命令により実行された作業の終了結果を示す通知が異常終了であった場合,または,作業の締め切りまでに処理が終了しなかった場合に,異常モードを設定する。リスク評価部123は,他のシステムスケジューリング部12からリスク評価依頼を受け取った場合に,その時点でスケジューリングされている未実行の正常系作業ごとに,開始遅延のリスクの有無を評価する。開始遅延のリスクは,その作業の実行開始を遅延させた場合に関連する他の作業の実行を遅延させる可能性をいい,遅延させる可能性が大きい場合をリスクがあると評価し,遅延させる可能性が小さい場合をリスクがないと評価する。リスク評価部123は,実行されていないアクティブな作業,または,現時刻で実行中の作業が正常終了した後に実行される作業のそれぞれについて,リスクの有無を評価する。リスク評価部123は,自システムが異常モードを設定している場合は,リスク評価対象となる作業のすべてについて,リスクがあると評価する。図4は,作業のリスク評価の例を示す図である。依存性グラフに示される作業のうち,スケジューリングされて現時刻から一定の時間内に実行可能となるアクティブな作業作業ID=1,3,9,15,現時刻で実行中の作業作業ID=1,9,15が正常終了した後に実行される作業作業ID=12,2,16がリスク評価の対象となる。例えば,作業ID=3の作業のように,その後続の正常系作業の連なりにバッチ作業作業ID=7が存在する場合は,バッチ作業の前処理作業であるため,リスクがあると評価される。また,作業ID=12の作業のように,その作業がバッチ作業の後続の正常系作業の連なりに存在する場合には,バッチ作業の後処理作業であるため,リスクがあると評価される。また,作業ID=2の作業のように,その作業の前後にバッチ作業が存在していない場合には,その作業はバッチ作業と無関係であるため,現時刻から開始時刻まで一定時間例えば,異常系作業の平均作業時間以上の時間があるときは,リスクがないと評価される。また,作業ID=16の作業のように,バッチ作業と無関係な作業であって,その開始時刻を遅らせることができ,かつ,遅らせた開始時刻まで一定時間以上の時間があるものは,リスクがないと評価される。制御部120は,システムスケジューリング部12が内部に備える処理部間の情報,要求等の受け渡しを制御する。また,制御部120は,作業キュー124に格納された作業IDを順に取り出し,その作業の実行命令をスケジューリング調整部15へ通知する。また,制御部120は,異常モードが設定された場合に,他のシステムスケジューリング部12から,各自の作業スケジュールの各作業に対するリスクの有無と,その作業に割り当てられているオペレータIDのリストを含むリスク評価通知を受け取り,リスクがないと評価された正常系作業に割り当てられているオペレータIDを選択する。オペレータ端末4は,例えば,以下の順で選択される。1.異常モードを設定しているシステムスケジューリング部12によるスケジューリングの作業で,正常復帰待機中のオペレータ端末4を選択する。2.正常異常モードを設定していないなシステムスケジューリング部12によるスケジューリングの作業で,リスク評価がリスクがない,かつ,現時刻から正常系作業のスケジューリングされた開始時刻までの時間が異常系作業の平均作業時間より長い作業で待機中のオペレータ端末4を選択する。3.正常異常モードを設定していないなシステムスケジューリング部12によるスケジューリングの作業で,リスク評価がリスクがない,かつ,現時刻から正常系作業の締め切りまでの時間からその作業の作業時間を差し引いた残り時間が異常系作業の平均作業時間より長い作業で待機中のオペレータ端末4を選択する。そして,制御部120は,選択したオペレータIDを割り当てた異常系作業異常終了した正常系作業に対応する作業の実行命令をスケジューリング調整部15へ送る。制御部120は,実行命令に係る異常系作業および後続の異常系作業の正常終了の作業終了通知を,対応する正常系作業の締め切り前に受け取った場合に,その時点で作業スケジューリングに復帰する。または,制御部120は,正常に終了した異常系作業に対応する正常系作業の終了の時点で作業スケジュールへ復帰するようにしてもよい。作業スケジュールの復帰と同期して,スケジューリングモード部122は,異常モードの設定を解除する。オペレータモニタ部1313a,13b,13c,...は,オペレータ端末44a,4b,4c,...に対応付けて備えられ,対応するオペレータ端末4で実行されるイベントの監視結果を収集する。オペレータ端末4から収集されるイベントは,例えば,オペレータ端末4での作業開始,作業終了正常終了または異常終了等である。バッチモニタ部14は,データ処理用システムのジョブ実行を管理するジョブ実行管理システム3から,各データ処理用システムのイベントの監視結果を収集する。ジョブ実行管理システム3から収集されるイベントは,例えば,データ処理用システムで実行されるバッチ作業に関するバッチ開始通知,バッチ終了通知正常または異常等である。スケジューリング調整部15は,各システムスケジューリング部1212a,12b,...から送られた作業の実行命令を調整し,オペレータモニタ部13,バッチモニタ部14が得たモニタ情報をシステムスケジューリング部12へ分配する。スケジューリング調整部15は,各システムスケジューリング部1212a,12b,...から送られた作業の実行命令を受け付けて,受け付けた実行命令を開始時刻にもとづいて調整し,指定されたオペレータ端末4へ通知する。スケジューリング調整部15は,調整部150,システムスケジューラインタフェース151,モニタインタフェース152,オペレータ割り当て部153を備える。システムスケジューラインタフェース151は,各システムスケジューリング部12とのインタフェース処理を行う。システムスケジューラインタフェース151は,システムスケジューリング部12からスケジューリングされた作業の実行命令,リスク評価依頼等を受け付け,モニタ情報,リスク評価依頼に対するリスク評価通知等を送る。モニタインタフェース152は,オペレータモニタ部13とバッチモニタ部14とのインタフェース処理を行い,オペレータモニタ部13から作業開始通知,作業終了通知正常終了または異常終了を,バッチモニタ部14からバッチ開始通知,バッチ終了通知正常終了または異常終了を受け付ける。オペレータ割り当て部153は,調整部150の調整にもとづいて指定されたオペレータ端末4へ作業作業内容を通知する。調整部150は,システムスケジューリング部12から受け付けた作業の実行命令を調整し,オペレータ割り当て部153へ作業通知を依頼する。以下に,作業スケジューリングシステム1の処理の流れを説明する。図5は,作業スケジューリングシステム1の全体の処理フローを示す図である。作業スケジューリングシステム1の静的スケジューリング部11は,データ処理用システムごとに,作業統計情報を読み込みステップS1,作業指示書を読み込みステップS2,バッチ設定情報を読み込みステップS3,全体の作業スケジュールを仮組みするステップS4。システムスケジューリング部12は,作業スケジュールをもとに依存性グラフを生成しステップS5,先頭のバッチ作業と作業にアクティブのマークを付けるステップS6。スケジューリング調整部15は,各システムスケジューリング部12から受け付けた実行命令の調整処理を行うステップS7。そして,処理していない作業が残っているか調べステップS8,作業が残っていればステップS8のY,ステップS7の処理を繰り返し,作業が残っていなければステップS8のN,処理を終了する。図6は,スケジューリング調整部15の処理ステップS7の調整処理の処理フローを示す図である。スケジューリング調整部15は,バッチモニタ部14からバッチ作業の状態バッチ開始/バッチ終了が通知されたらステップS10のY,そのバッチ作業が属するシステムの識別情報システムIDを取得するステップS11。バッチモニタ部14からバッチ作業の状態の通知ではなくステップS10のN,スケジューリング調整部15は,オペレータモニタ部13からオペレータの作業の状態作業開始/作業終了の通知であればステップS12のY,その作業が属するシステムIDを取得するステップS13。スケジューリング調整部15は,取得したシステムIDに対応するシステムスケジューリング部12が処理を実行しステップS14,処理を終了する。図7は,システムスケジューリング部12での処理フローを示す図である。システムスケジューリング部12では,図6に示す処理フローのステップS14の処理として,以下の処理を行う。制御部120は,入力がバッチ作業の終了通知であればステップS20のY,ステップS22の処理へ進み,バッチ作業の終了通知でなければステップS20のN,オペレータの作業の終了通知であるかを調べるステップS21。オペレータの作業の終了通知であればステップS21のY,ステップS22の処理へ進み,作業の終了通知でなければステップS21のN,ステップS210の処理へ進む。制御部120は,ステップS22の処理で,依存性グラフから該当するバッチ作業または作業を削除しステップS22,該当する終了通知が異常終了であればステップS23のY,依存性グラフでその作業の異常系の後続の作業にアクティブをマークするステップS24。終了通知が異常終了でなければステップS23のN,制御部120は,依存性グラフでその作業の正常系の後続の作業にアクティブをマークするステップS25。制御部120は,入力がオペレータの作業の終了通知でなければステップS21のN,入力がバッチ作業の開始通知であるかを調べるステップS210。バッチ作業の開始通知であればステップS210のY,ステップS211の処理へ進み,バッチ作業の開始通知でなければステップS210のN,ステップS220の処理へ進む。依存性フラグ部121は,依存性フラグの該当するバッチ作業に実行中をマークするステップS211。さらに,依存性フラグ部121は,オペレータの作業の開始通知であればステップS220のY,依存性フラグの該当する作業に実行中をマークするステップS212。さらに,スケジューリングモード部122は,開始通知が異常系作業であればステップS213のY,異常モードを設定してステップS214,ステップS26の処理へ進む。スケジューリングモード部122は,開始通知が異常系作業でなければステップS213のN,さらに,作業が締め切りを超過しているかを調べるステップS215。スケジューリングモード部122は,作業が締め切りを超過していればステップS215のY,ステップS214の処理を行い,作業が締め切りを超過していなければステップS215のN,異常モードを解除してステップS216,ステップS26の処理へ進む。リスク評価部123は,オペレータの作業の開始通知でなければステップS220のN,リスク評価の依頼であるかを調べステップS221,リスク評価の依頼であればステップS221のY,リスク評価を行いステップS222,ステップS26の処理へ進む。リスク評価の依頼でなければステップS221のN,そのままステップS26の処理へ進む。その後,制御部120は,依存性グラフから,実行可能となったアクティブの作業を作業キュー124にコピーしステップS26,オペレータ割り当て処理を行いステップS27,処理を終了する。図8は,システムスケジューリング部12でのオペレータ割り当て処理フローを示す図である。制御部120は,図7に示す処理フローのステップS27により,以下の処理を行う。制御部120は,作業キュー124に作業があればステップS30のY,予め指定されたオペレータ端末4が待機中であるか調べるステップS31。指定されたオペレータ端末4が待機中であればステップS31のY,制御部120は,静的スケジューリング部11の作業スケジュールで指定されているオペレータ端末4に作業を割り当てるステップS32。指定されたオペレータ端末4が待機中でなければステップS31のN,制御部120は,スケジューリングモードで異常モードが設定されていなければステップS33のN,スケジューリングモードに異常モードを設定するステップS34。スケジューリングモードで異常モードが設定されていればステップS33のY,制御部120は,作業スケジュールで割り当てられている予定で,現在待機中のオペレータ端末のリストを作成するステップS35。リスク評価部123は,作成したリストが空であればステップS36のY,他のシステムスケジューリング部12にリスク評価を依頼するステップS37。システムスケジューリング部12は,収集したリスク評価の結果から,リスクがないと評価された作業に割り当てられているオペレータ端末4で,かつ,リスクがあると評価された作業に割り当てられていないオペレータ端末4の中から1つを選択して作業に割り当てステップS38,処理を終了する。システムスケジューリング部12は,作成したリストが空でなければステップS36のN,リストされたオペレータ端末4で待機時間が一番長いものを作業に割り当てステップS39,処理を終了する。このように,作業が割り当てられているオペレータであっても,その作業についてのリスク評価を行い,リスクがないと評価されれば,異常モードの作業に割り当てることが可能となる。したがって,従来の静的スケジューリングのように,予め実行時間を見積もって作業全体の実行順序を設定したり,ラグランジェLagrange分解調整法のように,静的スケジュールを初期値に,周辺方向に,評価関数を変動に対して最適にする解を逐次探索して作業全体の動的なリスケジューリングを行うことなく,静的スケジューリングにより作成されたスケジュールは維持したまま,異常作業に伴うリスケジューリング範囲を局所に留め,この局所に閉じたスケジューリングを実現することが可能となる。図9は,リスク評価部123のリスク評価処理フローを示す図である。リスク評価部123は,リスク評価の依頼を受け付けて,以下の処理を行う。リスク評価部123は,自システムに異常モードが設定されているかを調べてステップS40,異常モードが設定されていればステップS40のY,作業キュー124内の実行可能な作業をすべてリスクがある作業としてリストに追加し,リスク評価として通知するステップS41。異常モードが設定されていなければステップS40のN,リスク評価部123は,リスク評価対象となる全作業に対し,遅延リスクの有無を判定して,リストを作成しステップS42,リスク評価として,作成したリストを通知するステップS43。図10は,リスク評価部123のリスク評価リストの生成処理フローを示す図である。リスク評価部123は,図9の処理フローのステップS42の処理として,以下の処理を行う。リスク評価部123は,依存性グラフ内で,アクティブであるが実行中でない作業,または実行中の作業の正常終了後に実行予定となる作業の中から,新しい作業を選択するステップS50。リスク評価部123は,選択する新しい作業がなくなるまでステップS51のY,この作業の後続の正常系作業の連なりにバッチ作業があるかを探すステップS52。そして,後続の正常系作業の連なりにバッチ作業がなければステップS53のN,リスク評価部123は,さらに,この作業の前に実行中のバッチ作業があるかを探すステップS54。前に実行中のバッチ作業がなければステップS55のN,リスク評価部123は,その作業の開始までに対応する異常系作業の実行時間があるかを調べるステップS56。その作業の開始までに異常系作業の実行時間がなければステップS56のN,リスク評価部123は,その作業の開始時刻を遅らせ,遅らせた開始時刻までに異常系作業の実行時間があるかを調べるステップS57。遅らせた開始時刻までに異常系作業の実行時間があればステップS57のY,この作業をリスクなしの作業としてリスク評価のリストに追加してステップS58,ステップS50の処理へ戻る。後続の正常系作業の連なりにバッチ作業があるかステップS53のY,または,前に実行中のバッチ作業があるかステップS55のY,または,遅らせた開始時刻までに異常系作業の実行時間がなければステップS57のN,この作業をリスクありの作業としてリスク評価のリストに追加するステップS59。第2の実施例次に,開示する作業スケジューリングシステムの別の一実施例である,第2の実施例について説明する。第2の実施例において,作業スケジューリングシステム1は,ジョブ実行管理システム3から,データ処理用システムで実行される各バッチ作業の進捗情報を取得し,第1の実施例に比べてより高精度の予測を実行してオペレータの作業の動的スケジューリングを構築できるようにする。第1の実施例では,作業スケジューリングシステム1は,ジョブ実行管理システム3からバッチ作業の開始/終了の通知を受けるだけであるため,ジョブ実行管理システム3側の構成改変が不要であるものの,データ処理用システムであるバッチ作業が実行されている間は,そのバッチ作業が正常終了するか異常終了するか分からない。そのため,スケジューリングされた後続の作業のリスク評価が高いままで固定されてしまい,実際にはほとんど生じない異常終了に備えて,後続の作業に対するオペレータの確保が行われる。その結果,融通可能として検出されるオペレータ数が少なく,最適化の余地が少ない場合がある。特に,バッチ作業中に通常のジョブが異常終了してリカバリ処理が実行されている場合には,バッチ作業が異常終了となり,さらに,リカバリ処理に要する時間が数十分~数時間になることがある。したがって,このバッチ作業の後続の正常系作業に割り当てられているオペレータを解放したり,オペレータがリカバリ処理の間待機し続けることを避けたりできるが,作業スケジューリングシステム1は,バッチ作業の終了通知を受けるまで,バッチ作業が通常の実行中であるのかリカバリ中であるのかを知ることができない。第2の実施例では,バッチ作業の実行を管理するジョブ実行管理システム3側で,各バッチ作業の進捗情報として,バッチ作業が正常終了する確率正常終了確率および予測する終了時刻予測終了時刻を算出し,作業スケジューリングシステム1に通知する。よって,作業スケジューリングシステム1は,ジョブ実行管理システム3から得た高精度の予測情報によりリスク評価の精度を向上させ,融通可能なオペレータをより多く抽出することができ,全体としてより最適な動的スケジュールを作成することができる。第2の実施例において,作業スケジューリングシステム1の構成例は,第1の実施例における構成例とほぼ同じであるが,ジョブ実行管理システム3が,各バッチ作業の正常終了確率および予測終了時刻を算出する処理部を備える点が異なる。また,ジョブ実行管理システム3の構成の相違に伴い,作業スケジューリングシステム1のバッチモニタ部14,制御部120,リスク評価部123の処理動作が,第1の実施例における処理と若干異なる。図11は,第2の実施例における,ジョブ管理システム3の構成例を示す図である。ジョブ管理システム3は,進捗管理部31を備える。進捗管理部31は,データ処理用システムにおいてバッチ作業を実行中のジョブ5から進捗データを取得する。進捗管理部31は,バッチ構成記憶部310,進捗データ受信部311,進捗データ記憶部312,時刻確率計算部313,タイマ314,および予測通知部315を備える。バッチ構成記憶部310は,バッチ作業を構成する各ジョブに関するバッチ構成データを記憶する。バッチ構成データは,各バッチ作業を構成する各ジョブの,異常発生確率,平均処理時間などを記録するデータである。進捗データ受信部311は,例えばAPIを用いて,ジョブ5からそのジョブの進捗状況を示す進捗データを受信し,進捗データを受信時刻に対応付けて進捗データ記憶部312に蓄積する。時刻確率計算部313は,タイマ314により通知される所定の契機をトリガとして,進捗データ記憶部312に記憶されている進捗データをもとに,予測終了時刻および正常終了確率を計算する。予測通知部315は,予測終了時刻および正常終了確率を示す予測通知をバッチモニタ部14へ通知する。図12は,バッチ構成データ構成例を示す図である。バッチ構成記憶部310が記憶するバッチ構成データは,バッチ作業のジョブごとに,異常発生確率および平均処理時間が記録される。異常発生確率は,そのジョブが異常終了する確率を示し,例えば,過去の実行回数と生じた異常回数にもとづいて算出された値,設計者によって設定された値などである。平均処理時間は,そのジョブの実行に要する時間を示し,例えば,過去の実行時の処理時間の平均値である。次に,進捗管理部31の処理を,より詳細に説明する。図13は,進捗データの受信例を示す図である。あるバッチ作業が,開始から終了までに順に実行するジョブ5として,本来のジョブである処理1,処理2,...,処理n,および,各ジョブのリカバリのためのリカバリ処理1,リカバリ処理2,...,リカバリ処理nで構成されているとする。この場合に,データ処理用システムは,バッチ作業を開始して処理1を実行し,処理1が正常終了した場合には次の処理2を実行し,処理1が異常終了した場合にはリカバリ処理1を実行してエラーコードを出力する。処理1から処理nまでの処理が実行された場合には,バッチ作業は正常終了となり,リカバリジョブが実行された場合には,そのリカバリジョブの終了後にバッチ作業が終了し,異常終了となる。バッチ作業で実行中のジョブ5は,進捗通知機能を備えて,APIを介して自ジョブの進捗データを進捗管理部31の進捗データ受信部311へ通知する。進捗データは,例えば,バッチ作業およびジョブ5の識別情報,自ジョブの状態実行中,リカバリ中,正常終了,異常終了など,処理に必要な残り時間,進捗の度合い等を含む。進捗データ受信部311は,受信した進捗データを受信時刻と対応付けて進捗データ記憶部312に記憶する。図14は,進捗データ記憶部312に記憶される進捗データの例を示す図である。進捗データは,バッチ作業を識別するバッチID,ジョブを識別する処理ID,受信日時を示すタイムスタンプ,ジョブの状態実行中,正常終了,異常終了,リカバリ中などを示す状態,進捗の度合いパーセントで示す進捗などのデータ項目を有する。ジョブの状態の実行中は本来のジョブの実行中を示し,リカバリ中はリカバリジョブの実行中を示す。図14に示す進捗データの第1行目のデータは,バッチID=1のバッチ作業において,処理ID=1のジョブが,実行中かつジョブの90が処理済みの状態であることを表している。また,第4番目のデータは,バッチID=2のバッチ作業において,処理ID=R-1のジョブが,実行中リカバリ中かつリカバリジョブの20が処理済みの状態であることを表している。時刻確率計算部313は,タイマ314の所定時間ごとのタイム通知をトリガに,バッチ構成記憶部310のバッチ構成データおよび進捗データ記憶部312の進捗データをもとに,予測終了時刻および正常終了確率を計算する。図15は,バッチ作業の各フェーズでの予測終了時刻および正常終了確率を説明するための図である。あるバッチ作業において,通常のジョブ5がデータ入力,前処理A,前処理B,...,前処理データ受け取り,後処理A,後処理B,...,データ出力の順で実行されるように構成され,また,各ジョブ5に対応するリカバリ処理1,...,リカバリ処理nが構成されているとする。通常のジョブ5の実行期間を,フェーズと呼び,1番目のジョブ5から,順に,フェーズ1,フェーズ2,フェーズ3,...,フェーズnとする。図15に示すTi1,...,k,...,nは,i番目のジョブの平均処理時間である。Pi1,...,k,...,nは,i番目のジョブの異常発生確率である。ジョブの平均処理時間と異常発生確率は,当該ジョブの実績値から計算され,予め,バッチ構成データとして記録されている。フェーズkにおいて,時刻確率計算部313は,例えば以下のようにして,フェーズkでの予測終了時刻および正常終了確率を求める。1フェーズkにおいて正常終了時,すなわち,ジョブ前処理データ受取りが実行中である場合に,正常終了確率は,そのフェーズ以降の1-異常終了確率の総乗により求める。予測終了時刻は,現時刻に未実行のジョブ処理時間の総和を加算して求める。正常終了確率=Πni=k1-Pi予測終了時刻=現時刻Σni=kTi2フェーズkにおいて異常終了時,すなわち,リカバリジョブ前処理データ受け取りが実行中である場合に,正常終了確率を0とする。予測終了時刻は,現時刻とフェーズkのジョブ5に対するリカバリジョブの処理時間であるリカバリ時間TRkとをもとに求める。終了時刻=現時刻リカバリ時間TRkここで,リカバリ時間TRkは,設定値,または,リカバリジョブが対応付けられている通常のジョブの処理時間を用いて求めた値であってもよい。図16は,リカバリジョブの処理時間TRiの計算例を示す図である。あるバッチ作業において,ジョブ5の各ジョブが,フェーズ1でバックアップ処理1,フェーズ2でデータ入力,フェーズ3でバックアップ処理2,フェーズ4で後処理2,フェーズ5で後処理2,...,フェーズn3で後処理n,フェーズn4でデータ出力で構成されているとする。また,リカバリジョブとして,フェーズ1でリカバリ処理1何もしないで終了,フェーズ2でリカバリ処理2バックアップ処理1を巻き戻す処理,フェーズ3でリカバリ処理2バックアップ処理2を巻き戻す処理...で構成されているとする。時刻確率計算部313は,進捗データ記憶部312を参照して,各ジョブの終了時に,その処理時間を記録しておき,フェーズkでの予測値を計算する場合に,以下のようにして求める。時刻確率計算部313は,進捗データ記憶部312を参照し,フェーズkのジョブ5の状態がリカバリ中であれば,異常処理時と判断し,記録していた通常ジョブの処理時間を用いて計算する。リカバリ時間TRk=バックアップ処理1の処理時間バックアップ処理2の処理時間×1調整係数α,もしくは,時刻確率計算部313は,最初にバックアップ処理を巻き戻す処理リカバリジョブが実行される際に,巻き戻し処理の処理量と処理時間とを記録しておき,リカバリ時間TRkを以下のようにして計算する。リカバリ時間TRk=Σi巻き戻すテーブルiの処理時間,ここで,テーブルiは,リカバリ対象のテーブル変数を表す。時刻確率計算部313は,リカバリ時間TRkの計算に用いるバックアップ処理の処理量と処理時間を,1回目のリカバリ処理の場合にのみ記録し,2回目以降のリカバリ処理の場合には,記録した値にデータ増加率を掛けた値を用いてリカバリ時間TRkを計算するようにしてもよい。または,時刻確率計算部313は,バックアップ処理の実行の度に処理量と処理時間を記録して,リカバリ時間TRkの計算に用いるようにしてもよい。なお,時刻確率計算部313は,正常終了確率=0とする。また,時刻確率計算部313は,フェーズkのジョブ5の状態が実行中であれば,正常処理時と判断して,正常終了確率=Πn4i=k1-Pi予測終了時刻=現時刻Σn4i=kTiとする。予測通知部315は,時刻確率計算部313で計算された正常終了確率と予測終了時刻を得て,これらを含む予測通知を生成し,作業スケジューリングシステム1のバッチモニタ部14に送信する。図17は,予測通知の例を示す図である。予測通知は,バッチ作業を識別するバッチID,算出された予測終了時刻を示す予測終了時刻が算出された正常終了確率を示す正常終了確率のデータ項目を有する。図17Aに示す予測通知は,バッチID=1のバッチ作業は,予測される終了時刻が,2011年10月10日の09:55:11であり,正常終了確率が98であることを表す。この通知によって,このバッチ作業が,ほぼ正常終了する見込みであることが分かる。また,図17Bに示す予測通知は,バッチID=2のバッチ作業は,予測される終了時刻が,2011年10月10日の11:06:39であり,正常終了確率0であることを表す。これにより,このバッチ作業が,実行中のリカバリジョブの終了後にバッチ作業が異常終了することが分かる。したがって,作業スケジューリングシステム1は,上記のバッチ作業について,より高い精度で予測された終了時刻の情報を得ることができる。また,作業スケジューリングシステム1は,実際のバッチ終了通知を取得する前に,作業バッチID=1のバッチ作業についてはバッチ終了通知正常が通知される可能性が高いこと,作業バッチID=2のバッチ作業についてはバッチ終了通知異常が通知されることを判断する情報を得ることができる。よって,作業スケジューリングシステム1は,高精度の進捗情報にもとづいて,オペレータの作業スケジュールを動的に再構築することができる。図18は,進捗管理部31の処理フロー例を示す図である。進捗管理部31は,データ受信を待機し,進捗データ受信部311が,ジョブ5から進捗データを受信するとステップS60のY,進捗データ受信部311は,受信した進捗データを進捗データ記憶部312に書き込みステップS61。ステップS60の処理へ戻る。進捗データの受信がなくステップS60のN,時刻確率計算部313がタイマ314からタイムを受信するとステップS62のY,予測終了時刻と正常終了確率を計算するステップS63。次に,予測通知部315は,計算された予測終了時刻と正常終了確率を含む予測通知を生成して,バッチモニタ部14へ送信してステップS64,ステップS60の処理へ戻る。図19は,第2の実施例における作業スケジューリングシステム1のシステムスケジューリング部12での処理フローを示す図である。図19に示す処理フローは,図7に示す処理フローに,2つの処理S230,S231が追加されているものである。したがって,上記2つの処理ステップ以外の処理については,説明を省略する。ステップS230の処理は,ステップS20の処理に先立って行われる。ステップS230の処理において,制御部120は,入力がバッチ作業の予測通知であればステップS230のY,ステップS231の処理へ進む。ステップ231の処理において,依存性グラフ部121は,受信された予測通知に関連する作業の依存性グラフを変更する。入力がバッチ作業の予測通知でなければステップS230のN,ステップS20の処理へ進む。図20は,スケジュール変更処理ステップS231のより詳細な処理フローを示す図である。依存性グラフ部121は,依存性グラフ内に,予測通知がされたバッチ作業の実行中の作業に関連付けて正常終了確率を記録するステップS70。予測通知の正常終了確率が0であればステップS71のY,依存性グラフ部121は,異常処理時と判断し,依存性グラフ内で,そのバッチ作業の後続の正常系作業を消去するステップS72。さらに,依存性グラフ部121は,依存性グラフ内で,そのバッチ作業の後続の異常系作業について,図2Dに示す作業スケジュール表の該当する作業の開始時刻であるスケジュール時刻を予測終了時刻に変更しステップS73,処理を終了する。一方,予測通知の正常終了確率が0でなければステップS71のN,依存性グラフ部121は,依存性グラフ内で,そのバッチ作業の後続の正常系作業について,図2Dに示す作業スケジュール表の該当するスケジュール時刻を予測終了時刻に変更しステップS74,処理を終了する。図21は,スケジュール変更処理による依存性グラフの変更例を示す図である。図21に示す依存性グラフにおいて,バッチ作業,オペレータ作業,依存関係は,図4と同様に表している。依存性グラフ内で,作業ID=9,20,25のバッチ作業が,現在アクティブかつ実行中であるとする。進捗管理部31から通知された予測通知により,作業ID=9のバッチ作業に対し正常終了確率60が,作業ID=20のバッチ作業に対し正常終了確率90が,作業ID=25のバッチ作業に対し正常終了確率0が,それぞれ記録されているとする。依存性グラフ部121は,正常終了確率0が記録された作業ID=25のバッチ作業に対し,後続の正常系のオペレータ作業作業ID=26を削除し,作業スケジュール表の作業ID=26のスケジュール時刻を,正常終了確率=0とともに通知されている予測終了時刻に変更する。作業ID=25のバッチ終了通知が受信されまでは,スケジューリングモード部122による作業モードは,正常モードであるが,作業ID=26の作業自体は消去され,リスク評価の対象から除外される。作業ID=26の作業に割り当てられていたオペレータ端末4は割り当てが解除される,他の作業への割り当てが可能となる。図22は,第2の実施例における作業スケジューリングシステム1のリスク評価部123の処理フローを示す図である。図22に示す処理フローは,図10に示す処理フローに,1つの処理S510が追加されているものである。したがって,上記の処理ステップ以外の処理については,説明を省略する。図22に示す処理フローで,ステップS55の処理において,依存性グラフ内で,選択されている作業の前に実行中のバッチ作業があると判断された場合にステップS55のY,リスク評価部123は,正常終了確率によるリスク評価を行うステップS510。リスク評価の結果,その作業がリスクありと評価された場合にステップS510のリスクあり,ステップS59の処理へ進み,リスクなしと評価された場合にステップS510のリスクなし,ステップS58の処理へ進む。図23は,リスク評価処理ステップS510のより詳細な処理フローを示す図である。リスク評価部123は,選択された作業が,バッチ作業の後続である正常系作業の連なりパス上の作業であればステップS80のY,そのバッチ作業の正常終了確率が閾値thより小さいかを調べるステップS81。正常終了確率が閾値thより小さければステップS81のY,リスク評価部123は,その作業の返り値をリスクありに設定するステップS82。正常終了確率が閾値thより小さくなければステップS81のN,ステップS85の処理へ進む。選択された作業が,バッチ作業の後続である正常系作業の連なりパス上の作業でなければステップS80のN,リスク評価部123は,そのバッチ作業の正常終了確率が0であるかを調べるステップS83。正常終了確率が0でなければステップS83のN,リスク評価部123は,その作業の返り値をリスクありに設定しステップS84,正常終了確率が0であればステップS83のY,ステップS85の処理へ進む。ステップS85の処理において,リスク評価部123は,作業の開始時刻までに所定の余裕があるかを調べ,作業の実行までに余裕時間があればステップS85のY,リスク評価部123は,その作業の返り値をリスクなしに設定しステップS86,作業の実行までに余裕がなければステップS85のN,その作業の返り値をリスクありに設定するステップS82。なお,余裕時間は,図10に示す処理フローのステップS57の処理と同様とする。図21に示す依存性グラフにおいて,作業ID=12の作業に先行するバッチ作業作業ID=9の正常終了確率が,閾値thより小さい60<th。この場合に,作業ID=12の作業は,バッチ作業作業ID=9が異常終了となる可能性がある程度高いとして,リスクありと評価される。また,作業ID=22の作業に先行するバッチ作業作業ID=20の正常終了確率が閾値th以上である90≧th。この場合に,作業ID=22の作業は,作業開始までに所定の余裕時間があれば,リスクなしと評価される。したがって,作業ID=22の作業は,評価リストに追加される。これにより,作業ID=22の作業のオペレータは融通可能となる。また,作業ID=26の作業の前のバッチ作業作業ID=25は,正常終了確率が0である。この場合に,作業ID=26の作業は消去されてリスク評価対象外となる。作業ID=26の作業のオペレータは,作業キャンセル時に解放されており,その時点から融通可能となる。なお,作業ID=27の作業については,評価リスク処理により,リスクなしと評価されるがオペレータは割り当てられていない状態である。バッチ作業作業ID=25のバッチ終了通知異常を受けて,オペレータ割り当て部153が,オペレータの割り当てを行う。以上説明した作業スケジューリングシステム1は,CPUおよびメモリ等を有するハードウェアと,ソフトウェアプログラムとを備えるコンピュータシステム,または専用ハードウェアによって実現される。図24は,作業スケジューリングシステム1のハードウェア構成例を示す図である。作業スケジューリングシステム1は,演算装置CPU101,一時記憶装置DRAM,フラッシュメモリ等102,永続性記憶装置HDD,フラッシュメモリ等103,およびネットワークNとのネットワークインタフェース104を有するコンピュータ100と,入力装置キーボード,マウス等120と出力装置ディスプレイ,プリンタ等130とによって実施することができる。また,作業スケジューリングシステム1は,コンピュータ100が実行可能なプログラムによって実施することができる。この場合に,作業スケジューリングシステム1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムをコンピュータ100が実行することによって,上記説明した作業スケジューリングシステム1の処理機能がコンピュータ100上で実現される。すなわち,作業スケジューリングシステム1の静的スケジューリング部11,システムスケジューリング部12,オペレータモニタ部13,バッチモニタ部14,スケジューリング調整部15等は,プログラムで構成することができ,これらのプログラムが一時記憶装置102にロードされて実行されることにより,各処理部の機能が実現される。また,作業スケジューリング1で使用される作業表,バッチ表,作業依存表,作業スケジュール,依存性グラフ,リスク評価等のデータは一時記憶装置DRAM,フラッシュメモリ等102や永続性記憶装置103に格納される。なお,コンピュータ100は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,このプログラムは,コンピュータ100で読み取り可能な記録媒体に記録しておくことができる。以上説明したように,開示する作業スケジューリングシステム1は,静的スケジューリング手法により正常系作業にもとづく作業スケジュールを決定し,異常系作業が発生した場合にのみ局所的にスケジュールを変更し,異常系作業が正常に終了したときは,正常系作業へ速やかに復帰することができる。そのため,少ない計算時間で動的にスケジューリングを変更することができ,さらに自動的に本来の作業スケジュールに戻ることができるため,効率的かつ実際的な運用に適用することができる。さらに,作業スケジューリングシステム1は,ジョブ実行管理システム3から通知された,バッチ作業を構成するジョブの予測終了時刻と正常終了確率を用いてリスク評価を行えるため,より精度が高い予測終了時刻により動的にスケジューリングを変更することができるため,より最適なスケジューリングを実現することができる。また,正常終了予測により,バッチ作業の異常終了を,バッチ終了通知前に予測することができるため,より最適なスケジューリングを実現することができる。"