(57)【要約】【課題】先行するバッチジョブの実行中に追従する後続のバッチジョブが起動準備を行うことによって、「追従バッチジョブの起動準備時間」を見かけ上存在しない程度にまで削減すること。【解決手段】ジョブネット実行制御装置１０１はバッチジョブ実行装置１０３に対して起動指示を行うのと同時にバッチジョブ起動予告装置１０２に対してバッチジョブ定義１０７と起動指示を与えるバッチジョブの情報を与える。バッチジョブ起動予告装置１０２はジョブネット定義１０７に定義されるバッチジョブの起動条件に基づいて、次に起動されるバッチジョブジョブ実行装置１０３に対してジョブの起動準備指示を与える。【選択図】    図１
2011096110.tif 000002
【特許請求の範囲】
【請求項１】
ジョブネット制御装置としてコンピュータを機能させるためのジョブネット制御プログラムであって、
ジョブネットを構成する複数のバッチジョブが定義されたジョブネット定義とバッチジョブの実行完了結果の情報とに基づいて、先行するバッチジョブの起動指示、および後続するバッチジョブの起動予告指示を行うジョブネット実行制御機能と、
前記起動予告指示に従い、前記ジョブネット定義と前記バッチジョブの実行完了結果の情報とをもとに、前記後続するバッチジョブを実行するバッチジョブ実行先を特定し、当該バッチジョブ実行先に対して起動準備の指示を行うバッチジョブ起動予告機能と、
前記バッチジョブの起動指示を受けてバッチジョブの処理を実行し、前記起動準備の指示を受けてバッチジョブの処理に必要なリソースの確保を含む起動準備の処理を実行する複数のバッチジョブ実行機能と
をコンピュータに実現させるためのジョブネット制御プログラム。
【請求項２】
ジョブネットを構成する複数のバッチジョブが定義されたジョブネット定義とバッチジョブの実行完了結果の情報とに基づいて、先行するバッチジョブの起動指示、および後続するバッチジョブの起動予告指示を行うジョブネット実行制御手段と、
前記ジョブネット実行制御手段から受けた前記起動予告指示に従い、前記ジョブネット定義と前記バッチジョブの実行完了結果の情報とをもとに、前記後続するバッチジョブを実行するバッチジョブ実行先を特定し、当該バッチジョブ実行先に対して起動準備の指示を行うバッチジョブ起動予告手段と、
前記ジョブネット実行制御手段から前記バッチジョブの起動指示を受けてバッチジョブの処理を実行し、前記バッチジョブ起動予告手段から前記起動準備の指示を受けてバッチジョブの処理に必要なリソースの確保を含む起動準備の処理を実行する複数のバッチジョブ実行手段と
を具備したことを特徴とするジョブネット制御装置。
【請求項３】
ジョブネット制御装置としてコンピュータを機能させるためのジョブネット制御プログラムであって、
ジョブネットを構成する複数のバッチジョブが定義されたジョブネット定義とバッチジョブの実行完了結果の情報とに基づいて、先行するバッチジョブの起動指示を行うジョブネット実行制御機能と、
前記バッチジョブの起動指示を監視し、起動指示を検知する都度、前記ジョブネット定義と前記バッチジョブの実行完了結果の情報とをもとに、後続するバッチジョブを実行するバッチジョブ実行先を特定し、当該バッチジョブ実行先に対して起動準備の指示を行うバッチジョブ起動予告機能と、
前記バッチジョブの起動指示を受けてバッチジョブの処理を実行し、前記起動準備の指示を受けてバッチジョブの処理に必要なリソースの確保を含む起動準備の処理を実行する複数のバッチジョブ実行機能と
をコンピュータに実現させるためのジョブネット制御プログラム。
【請求項４】
ジョブネットを構成する複数のバッチジョブが定義されたジョブネット定義とバッチジョブの実行完了結果の情報とに基づいて、先行するバッチジョブの起動指示を行うジョブネット実行制御手段と、
前記バッチジョブの起動指示を監視し、起動指示を検知する都度、前記ジョブネット定義と前記バッチジョブの実行完了結果の情報とをもとに、後続するバッチジョブを実行するバッチジョブ実行先を特定し、当該バッチジョブ実行先に対して起動準備の指示を行うバッチジョブ起動予告手段と、
前記ジョブネット実行制御手段から前記バッチジョブの起動指示を受けてバッチジョブの処理を実行し、前記バッチジョブ起動予告手段から前記起動準備の指示を受けてバッチジョブの処理に必要なリソースの確保を含む起動準備の処理を実行する複数のバッチジョブ実行手段と
を具備したことを特徴とするジョブネット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッチ処理システムに適用されるジョブネット制御プログラムおよびジョブネット制御装置に関する。
【背景技術】
【０００２】
バッチ処理システムにおいて、バッチジョブ同士の関係性の定義に基づいた連鎖的な処理を実現するものとして、実行順序を関連付けたジョブの集まりである、ジョブネットと呼ばれる概念が存在する。ジョブネットは、バッチジョブ同士の関係をワークフローまたはグラフの形式で表現するものであり、バッチジョブの終了を条件に次のバッチジョブを発火（起動）させる。
【０００３】
ジョブネットの実行は、ジョブネット実行制御機能によって管理され、ジョブネット内の各バッチジョブの実行は、それぞれのバッチジョブに対応するバッチジョブ実行機能によって実現される。
【０００４】
バッチジョブは、大量のリソースを扱うため、起動準備そのものに長時間を要することがある。バッチ処理は、限定された時間内に行う必要がある場合も多いため、このような遅延が発生することは好ましくない。
【０００５】
このように、従来のジョブネットでは、先行するバッチジョブの終了を条件として、次の追従するバッチジョブ（追従バッチジョブ）に「起動指示」を与えるため、追従バッチジョブの開始までの間に「追従バッチジョブの起動準備時間」が存在する。また、追従バッチジョブは、起動準備の段階でリソースを要求するため、先行ジョブネットに対する追従ジョブネットが多数存在する場合などにはリソース確保に想定外の多大な時間を要する場合がある。この場合、規定時間内のバッチ処理について所要の要求を満たすことができなくなるという問題が生ずる。
【０００６】
ジョブネットを実現するための公知技術として、並列実行する複数のジョブネットに対して効果的な資源ブローカリングを行うことを目的とした資源ブローカリング装置技術が存在した（特許文献１参照）。
【０００７】
しかしながら、この種のジョブネットにおいても、先行するバッチジョブの終了を条件として、次の追従バッチジョブに「起動指示」を与えることから、効率的な資源ブローカリングを行っていても追従バッチジョブの開始までの間に「追従バッチジョブの起動準備時間」が存在する。また、追従バッチジョブは起動準備の段階でリソースを要求するため、先行ジョブネットに対する追従ジョブネットが多数存在した場合などには、リソース確保に想定外の時間を要する場合がある。
【０００８】
また、バッチジョブの起動準備時間を解決するための公知技術として、バッチジョブが開始時刻を指定して投入された場合に、それまでの間にバッチジョブの起動準備を完了させるジョブ実行制御技術が存在した（特許文献２参照）。
【０００９】
しかしながらこの技術は、開始時刻を指定してバッチジョブが投入される場合に限られ、ジョブネットから発火されるバッチジョブにおいては、発火するタイミングが明確に定められていないため、ジョブネットから起動されるバッチジョブの起動準備には適さない。
【００１０】
また、上記各公知技術を含む従来のバッチ処理システムにおいては、バッチジョブを実行するために必要なリソースを集中的に管理するための制御装置が必要となることがある。バッチジョブを実現するために装置を一括管理できるようにしたシステム構成において、すべてのリソースを集中的に管理するための制御装置を置くことは、効率的な手法であることが多い。しかし、複数の異なるアーキテクチャを持った装置の集合体として実現されるバッチ処理システムにおいては、個々の装置が利用するリソースに対して共通の手段を用いて管理を行うことができない。ここで、バッチ処理システムを構成する個々の装置ごとに、実現方法の異なるリソース管理の機能を持たせることは、コスト面やシステムの複雑化を回避する観点などから現実的ではない。このため、複数の異なるアーキテクチャを持った装置の集合体として実現されるバッチ処理システムにおいては、個々の装置を集中的に管理するための制御装置を必要としない構成が求められる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−２２６１８１号公報
【特許文献２】特開平  ９−１４６７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、従来のジョブネットにおいては、先行するバッチジョブの終了を条件として、次の追従バッチジョブに起動指示を与えることから、追従バッチジョブの開始までの間に、追従バッチジョブの起動準備時間が介在し、先行ジョブネットに対する追従ジョブネットが多数存在した場合にリソース確保に想定外の時間を要する場合があるという問題があった。
【００１３】
本発明は上記実情に鑑みなされたもので、バッチジョブを実行するために必要なリソースを一括して管理することなく、ジョブネットから起動されるバッチジョブの効率的な実行支援機能を実現したジョブネット制御プログラムおよびジョブネット制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、ジョブネット制御装置としてコンピュータを機能させるためのジョブネット制御プログラムであって、ジョブネットを構成する複数のバッチジョブが定義されたジョブネット定義とバッチジョブの実行完了結果の情報とに基づいて、先行するバッチジョブの起動指示、および後続するバッチジョブの起動予告指示を行うジョブネット実行制御機能と、前記起動予告指示に従い、前記ジョブネット定義と前記バッチジョブの実行完了結果の情報とをもとに、前記後続するバッチジョブを実行するバッチジョブ実行先を特定し、当該バッチジョブ実行先に対して起動準備の指示を行うバッチジョブ起動予告機能と、前記バッチジョブの起動指示を受けてバッチジョブの処理を実行し、前記起動準備の指示を受けてバッチジョブの処理に必要なリソースの確保を含む起動準備の処理を実行する複数のバッチジョブ実行機能とをコンピュータに実現させるためのジョブネット制御プログラムを特徴とする。
【００１５】
また本発明は、ジョブネットを構成する複数のバッチジョブが定義されたジョブネット定義とバッチジョブの実行完了結果の情報とに基づいて、先行するバッチジョブの起動指示、および後続するバッチジョブの起動予告指示を行うジョブネット実行制御手段と、前記ジョブネット実行制御手段から受けた前記起動予告指示に従い、前記ジョブネット定義と前記バッチジョブの実行完了結果の情報とをもとに、前記後続するバッチジョブを実行するバッチジョブ実行先を特定し、当該バッチジョブ実行先に対して起動準備の指示を行うバッチジョブ起動予告手段と、前記ジョブネット実行制御手段から前記バッチジョブの起動指示を受けてバッチジョブの処理を実行し、前記バッチジョブ起動予告手段から前記起動準備の指示を受けてバッチジョブの処理に必要なリソースの確保を含む起動準備の処理を実行する複数のバッチジョブ実行手段とを具備したジョブネット制御装置を特徴とする。
【発明の効果】
【００１６】
本発明によれば、バッチジョブを実行するために必要なリソースを一括して管理することなく、ジョブネットから起動されるバッチジョブの効率的な実行支援機能を実現したジョブネット制御装置を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係るジョブネット制御装置の要部の構成を示すブロック図。
【図２】上記実施形態に係るジョブネット制御装置のシステム構成を示すブロック図。
【図３】上記実施形態におけるジョブネット実行制御装置の処理手順を示すフローチャート。
【図４】上記実施形態におけるバッチジョブ起動予告装置の処理手順を示すフローチャート。
【図５】上記実施形態におけるバッチジョブ実行装置の処理手順を示すフローチャート。
【図６】上記実施形態に係るジョブネット制御装置の各構成要素により実現されるジョブネット制御機能の動作概念を示す図。
【発明を実施するための形態】
【００１８】
以下図面を参照して本発明の実施形態を説明する。
【００１９】
本発明の実施形態に係るジョブネット制御装置の要部の構成を図１に示し、システム全体の構成を図２に示している。
【００２０】
本発明の実施形態に係るジョブネット制御装置は、図１に示すように、ジョブネット実行制御装置１０１と、バッチジョブ起動予告装置１０２と、バッチジョブ実行装置１０３とを具備して構成される。
【００２１】
ジョブネット実行制御装置１０１は、ジョブネットを構成する複数のバッチジョブが定義されたジョブネット定義１０７とバッチジョブの実行完了結果の情報（バッチジョブの実行完了情報）１０９とに基づいて、先行するバッチジョブの起動指示２０１、および後続するバッチジョブ（先行するバッチジョブに追従する追従バッチジョブ）の起動予告指示（起動準備実行先指示）２０２を行う機能を備えたジョブネット実行制御機能を実現している。この起動予告指示２０２は、起動されるバッチジョブを指し示す情報（起動されるバッチジョブの情報）である。
【００２２】
バッチジョブ起動予告装置１０２は、ジョブネット実行制御装置１０１から受け取った起動予告指示２０２に従い、ジョブネット定義１０７とバッチジョブの実行完了情報１０９とをもとに、後続するバッチジョブを実行するバッチジョブ実行先を特定し、当該バッチジョブ実行先に対して起動準備の指示（起動準備指示）２０３を行う機能を備えたバッチジョブ起動予告機能を実現している。
【００２３】
バッチジョブ実行装置１０３は、ジョブネット実行制御装置１０１からバッチジョブの起動指示２０１を受けてバッチジョブの処理を実行し、バッチジョブ起動予告装置１０２から起動準備指示２０３を受けてバッチジョブの処理に必要なリソースの確保を含む起動準備の処理を実行するバッチジョブ実行機能を実現している。
【００２４】
このように、本発明の実施形態に係るジョブネット制御装置は、バッチジョブ同士の関連性を定義するジョブネットを実行制御可能なジョブネット実行制御装置１０１によるジョブネット内のバッチジョブの起動に応じて、ジョブネット内のそれぞれのバッチジョブに対応するバッチジョブ実行装置１０３に起動準備を通知するバッチジョブ起動予告装置１０２を備え、先行するバッチジョブの実行中に後続する追従バッチジョブの起動準備を行うことで「追従バッチジョブの起動準備時間」を見かけ上存在しない程度にまで削減した機能を実現している。このようにジョブネットから起動されるバッチジョブに対して、起動される前の段階で起動準備を完了させることによってバッチジョブの実行遅延を防ぎバッチ処理システム全体の稼働率を向上することができる。さらに、バッチジョブが起動準備の段階で適切なリソースを確保することによって、バッチジョブを実行するために必要なリソースを一括して管理することなく、ジョブネットの継続に必要なリソースを、余裕をもって確保しておくことができる。
【００２５】
上記したジョブネット制御装置を実現するシステム全体の構成を図２に示している。また、図２に示すジョブネット制御装置の各構成要素により実現されるジョブネット制御機能の動作概念を図６に示している。
【００２６】
図２において、ジョブネット実行制御装置１０１は、ジョブネット定義管理装置１０４と接続されており、ジョブネット定義管理装置１０４からジョブネット定義１０７を読み込む機能を有している。このジョブネット実行制御装置１０１が参照するジョブネット定義１０７については後述する。
【００２７】
また、ジョブネット実行制御装置１０１は、バッチジョブ起動予告装置１０２と接続され、さらにジョブネット実行制御装置１０１およびバッチジョブ起動予告装置１０２は、バッチジョブの実行完了情報および実行結果を管理するバッチジョブ実行結果管理装置１０８と接続されている。
【００２８】
ジョブネット定義１０７には、ジョブネットを構成する複数のバッチジョブが定義されている。すなわち、ジョブネット定義１０７には、ジョブネット実行制御装置１０１が起動する複数のバッチジョブが定義されている。また、ジョブネット定義１０７には、ジョブネット定義１０７に定義される個々のバッチジョブを実現するバッチジョブ実行装置１０３の情報が定義されている。さらに、ジョブネット定義１０７には、個々のバッチジョブ実行装置１０３に対して起動指示を与える条件が、ジョブネット定義１０７に定義されるバッチジョブの実行完了、および実行結果を用いて定義されている。
【００２９】
このジョブネット定義１０７に定義される個々のバッチジョブに対して、バッチジョブを実現するための単体ないし複数のバッチジョブ実行装置１０３が存在する。このジョブネットを構成するバッチジョブとバッチジョブ実行装置１０３により実現されるバッチジョブ実行機能との対応例を図６に示している。ここでは、バッチジョブとバッチジョブ実行機能とがそれぞれ１：１の関係（Ａ〜Ｅ）にあり、各バッチジョブが並行して起動される場合を例示している。
【００３０】
ジョブネット定義１０７に定義されるバッチジョブを実現するバッチジョブ実行装置１０３が、すべてジョブネット実行制御装置１０１と接続されることで、バッチジョブ実行装置１０３の集合体であるバッチジョブ実行装置群１０６が構成されている。
【００３１】
ジョブネット実行制御装置１０１は、バッチジョブ実行装置群１０６に含まれるバッチジョブ実行装置１０３に対して、起動指示２０１を行うことができる。また、バッチジョブ起動予告装置１０２は、バッチジョブ実行装置群１０６に含まれるバッチジョブ実行装置１０３に対して、起動準備指示２０３を行うことができる。
【００３２】
個々のバッチジョブ実行装置１０３は、ジョブネット実行制御装置１０１から起動指示２０１を受けてバッチジョブの処理を実行し、処理の実行が完了すると、ジョブネット実行制御装置１０１に処理の完了を通知する。また、個々のバッチジョブ実行装置１０３は、バッチジョブ起動予告装置１０２から起動準備指示２０３を受けて起動準備処理を行う。
【００３３】
バッチジョブ実行装置１０３は、それぞれバッチジョブの処理に必要なリソース１０５と接続されている。バッチジョブ実行装置１０３はバッチジョブ起動予告装置１０２から起動準備指示２０３を受け取ると、バッチジョブの実行に必要なリソース１０５の確保や、バッチジョブの前処理などを含む、起動準備処理を行う。リソース１０５やバッチジョブの前処理は、バッチジョブが行う処理ごとに異なるものである。一般的なリソース１０５の例としては、実行に必要なメモリ空間や、ファイルの書き出しに必要なディスクスペースなどが想定される。また、一般的な前処理の例としては、処理のロールバックのためのデータベースのバックアップや、処理対象となるデータの加工などが想定される。
【００３４】
上記実施形態に係るジョブネット制御装置の構成要素についてさらに説明する。
【００３５】
まずジョブネット実行制御装置１０１の処理機能について説明する。  
ジョブネット実行制御装置１０１は、ジョブネットを構成するバッチジョブ実行装置群１０６に含まれるバッチジョブ実行装置１０３に対して起動指示を与えることができる。
【００３６】
ジョブネット実行制御装置１０１は、ジョブネット定義管理装置１０４から読み込んだジョブネット定義１０７に基づいて、起動指示を与えるバッチジョブ実行装置１０３を計算する。
【００３７】
起動指示を与えるバッチジョブ実行装置１０３の計算は、ジョブネット定義１０７に定義されるバッチジョブの起動条件に対して、バッチジョブ実行結果管理装置１０８から取得したバッチジョブの実行完了情報１０９を適用することで行われる。
【００３８】
起動指示２０１を与えられたバッチジョブ実行装置１０３は、バッチジョブの処理を開始し、完了した時点で実行完了情報をジョブネット実行制御装置１０１に通知する。
【００３９】
ジョブネット実行制御装置１０１は、バッチジョブの実行完了情報１０９を受け取ると、バッチジョブ実行結果管理装置１０８を利用してその情報を記録すると同時に、実行完了情報を受け取ったことで新たに実行可能となったバッチジョブがあるか否かを再計算する。
【００４０】
また、ジョブネット実行制御装置１０１は、バッチジョブ実行装置１０３に起動指示を与えると同時に、ジョブネット起動予告装置１０２に対し、起動予告指示２０２となる、起動されるバッチジョブの情報と、ジョブネット定義１０７を与える。
【００４１】
ジョブネット実行制御装置１０１は、ジョブネット定義１０７に定義される全てのジョブが実行完了した場合、または現在実行中のバッチジョブが存在しなくかつ起動指示を行うべきバッチジョブが存在しない場合にはジョブネットが完了したものとみなす。
【００４２】
このジョブネット実行制御装置１０１の処理手順については図３に示すフローチャートを参照して後述する。
【００４３】
次にジョブネット起動予告装置１０２の処理機能について説明する。  
ジョブネット起動予告装置１０２は、ジョブネット実行制御装置１０１がバッチジョブ実行装置１０３に起動指示を与えるときに、ジョブネット実行制御装置１０１から起動予告指示２０２となる起動されるバッチジョブの情報とジョブネット定義１０７を与えられる。
【００４４】
ジョブネット起動予告装置１０２は、与えられたバッチジョブが実行完了した次に起動指示を与えられるバッチジョブ実行装置１０３を、ジョブネット実行制御装置１０１と同様の手法を用いて計算する。具体的には、この計算はジョブネット定義１０７に定義されるバッチジョブの起動条件に対して、バッチジョブ実行結果管理装置１０８から取得したバッチジョブの実行完了情報１０９を適用することで行われるが、このとき、起動されるバッチジョブは完了したものとして条件判定を行う。ジョブネット起動予告装置１０２は、計算されたすべてのバッチジョブ実行装置１０３に対して、起動準備指示２０３を行う。このバッチジョブ起動予告装置１０２の処理手順については図４に示すフローチャートを参照して後述する。
【００４５】
次にバッチジョブ実行装置１０３の処理機能について説明する。  
バッチジョブ実行装置１０３は、バッチジョブの起動指示２０１と起動準備指示２０３の２種類の指示を受け取る可能性がある。バッチジョブ実行装置１０３は、ジョブネット実行制御装置１０１からバッチジョブの起動指示２０１を受け取ることによりバッチジョブの処理を実行し、バッチジョブ起動予告装置１０２から起動準備指示２０３を受け取ることによりバッチジョブの処理に必要なリソースの確保を含む起動準備の処理を実行する。起動準備処理が完了した時点で、起動指示が与えられていない場合は、バッチジョブの処理を実行せず、起動準備が完了した状態として完了する。起動指示が与えられていた場合に、続いてバッチジョブの処理を実行する。起動指示が与えられた場合、起動準備の完了を確認して、バッチジョブの処理を実行する。起動準備が完了していない場合は起動準備処理を行った後に、バッチジョブの処理を実行する。バッチジョブの処理が完了したとき、ジョブネット実行制御装置１０１に対してバッチジョブの実行完了を通知する。
【００４６】
次にバッチジョブ実行結果管理装置１０８について説明する。
【００４７】
バッチジョブ実行結果管理装置１０８は、ジョブネット実行制御装置１０１が受け取ったバッチジョブの実行完了情報を保持する機能をもつ。また、バッチジョブ実行結果管理装置１０８は、ジョブネット実行制御装置１０１およびジョブネット起動予告装置１０２から利用されて現在までに実行完了情報を受け取ったバッチジョブの情報を返す機能をもつ。
【００４８】
ここで、上記したジョブネット実行制御装置１０１、バッチジョブ起動予告装置１０２およびバッチジョブ実行装置１０３の処理手順について図３乃至図５に示すフローチャートを参照して説明する。
【００４９】
まずジョブネット実行制御装置１０１の処理手順について図３に示すフローチャートを参照して説明する。  
ジョブネット実行制御装置１０１は、ジョブネット定義管理装置１０４から読み込んだジョブネット定義１０７に定義されるバッチジョブの起動条件に基づいて、起動指示を与えるバッチジョブ実行装置１０３を計算し（ステップＳ１１）、起動条件を満たすバッチジョブが存在するか否かを判断する（ステップＳ１２）。
【００５０】
ここで、起動条件を満たすバッチジョブが存在する場合（ステップＳ１２  ＹＥＳ）は、当該バッチジョブを実行するバッチジョブ実行装置１０３に対して起動指示を行う（ステップＳ１３）。この起動指示は、起動条件を満たすバッチジョブを実行するすべてのバッチジョブ実行装置１０３に対して行う（ステップＳ１３ａ〜Ｓ１３ｄ）。
【００５１】
この起動指示を行った後は、バッチジョブの完了通知が返されるまで待機し（ステップＳ１４）、完了通知を受け取ると、再び起動条件を満たすバッチジョブが存在するか否かの判定を行う（ステップＳ１４〜Ｓ１１）。
【００５２】
また、起動条件を満たすバッチジョブが存在するか否かの判断（ステップＳ１２）において、起動条件を満たすバッチジョブが存在しない場合（ステップＳ１２  ＮＯ）は、現在実行中のバッチジョブが存在するか否かを確認する（ステップＳ１５）。
【００５３】
ここで、起動指示を与えたが実行完了情報および実行結果を返さないバッチジョブ実行装置１０３に対して当該バッチジョブ実行装置１０３が実行中であるとみなす。実行中のバッチジョブが存在する場合（ステップＳ１５  ＹＥＳ）は、バッチジョブの完了通知が返されるまで待機し（ステップＳ１４）、完了通知を受け取った後に、再び起動条件を満たすバッチジョブが存在するか否かの判定を行う（ステップＳ１４〜Ｓ１１）。
【００５４】
実行中のバッチジョブが存在しない場合（ステップＳ１５  ＮＯ）はジョブネットが完了したものとみなす。
【００５５】
次にバッチジョブ起動予告装置１０２の処理手順について図４に示すフローチャートを参照して説明する。  
バッチジョブ起動予告装置１０２は、ジョブネット実行制御装置１０１がバッチジョブ実行装置１０３に起動指示２０１を与えるときに、ジョブネット実行制御装置１０１から起動予告指示２０２となる起動されるバッチジョブの情報とジョブネット定義１０７を与えられると、与えられたバッチジョブが実行完了したものと仮定して（ステップＳ２１）、ジョブネット実行制御装置１０１から与えられたジョブネット定義１０７に定義されるバッチジョブの起動条件に基づいて、次にバッチジョブを実行するバッチジョブ実行装置１０３を計算し（ステップＳ２２）、起動条件を満たすバッチジョブが存在するか否かを判断する（ステップＳ２３）。
【００５６】
ここで、起動条件を満たすバッチジョブが存在する場合（ステップＳ２３  ＹＥＳ）は、当該バッチジョブを実行するバッチジョブ実行装置１０３に対して起動準備指示２０３を行う（ステップＳ２４）。この起動準備指示２０３は、実行中のバッチジョブを除き、起動条件を満たすバッチジョブを実行するすべてのバッチジョブ実行装置１０３に対して行う（ステップＳ２４ａ〜Ｓ２４ｄ）。
【００５７】
起動条件を満たすバッチジョブが存在しない場合（ステップＳ２３  ＮＯ）は、バッチジョブの起動予告処理を完了する。
【００５８】
次にバッチジョブ実行装置１０３の処理手順について図５に示すフローチャートを参照して説明する。  
バッチジョブ実行装置１０３は、与えられた指示が、ジョブネット実行制御装置１０１から与えられたバッチジョブの起動指示２０１であるか、バッチジョブ起動予告装置１０２から与えられた起動準備指示２０３であるかを判断し（ステップＳ３１）、与えられた指示が、起動指示２０１であった場合、起動準備が完了しているか否かを判断する（ステップＳ３２）。起動準備が完了している場合（ステップＳ３２  ＹＥＳ）は、バッチジョブの処理を実行する（ステップＳ３５）。また、起動準備が完了していない場合（ステップＳ３２  ＮＯ）は、起動準備処理を実行した後に、バッチジョブの処理を実行する（ステップＳ３３〜Ｓ３５）。
【００５９】
また、与えられた指示が起動予告指示２０２であった場合は、起動準備処理を実行する（ステップＳ３３）。起動準備処理が完了した時点で、起動指示２０１が与えられていない場合（ステップＳ３４  ＮＯ）は、バッチジョブの処理を実行せず、起動準備が完了した状態として完了する。起動指示２０１が与えられていた場合（ステップＳ３４  ＹＥＳ）は、続いてバッチジョブの処理を実行する（ステップＳ３５）。
【００６０】
バッチジョブの処理が完了すると、バッチジョブ実行装置１０３はジョブネット実行制御装置１０１に対してバッチジョブの実行完了情報を通知する。
【００６１】
上記した実施形態に係るジョブネット制御装置の全体の動作について説明する。
【００６２】
ジョブネット実行制御装置１０１は、バッチジョブ実行装置１０３に対してバッチジョブの起動指示２０１を行うのと同時に、バッチジョブ起動予告装置１０２に対して、起動予告指示２０２としてバッチジョブ定義とバッチジョブの情報を与える。
【００６３】
バッチジョブ起動予告装置１０２は、ジョブネット定義１０７に定義されるバッチジョブの起動条件に基づいて、次に起動されるバッチジョブを実現するジョブ実行制御装置１０３に対してバッチジョブの起動準備指示２０３を与える。
【００６４】
バッチジョブ実行装置１０３は、上記起動指示２０１を受け取るとバッチジョブの処理を実行する。バッチ処理の実行が完了すると、バッチジョブ実行装置１０３はジョブネット実行制御装置１０１に対して実行完了情報および実行結果を通知する。
【００６５】
実行完了情報および実行結果を受け取ったジョブネット実行制御装置１０１は、ジョブネット定義管理装置１０４から読み込んだジョブネット定義１０７に基づいて、次の起動指示を与えるバッチジョブ実行装置１０３を決定する。
【００６６】
このように、バッチジョブ実行装置１０３の実行完了情報および実行結果の通知に基づいて、追従するバッチジョブ実行装置１０３に対して起動指示を行ってゆくことで、ジョブネット定義１０７に定義されるバッチジョブの連鎖処理機能を実現する。
【００６７】
また、バッチジョブの起動準備指示２０３を受け取ったバッチジョブ実行装置１０３は、バッチジョブの実行に必要なリソース１０５の確保や、バッチジョブの前処理などを起動準備処理として行う。
【００６８】
このように、バッチジョブ実行装置１０３がバッチジョブの起動指示２０１を受け取る前に、バッチジョブの起動準備を行っておくことで、バッチジョブ実行の遅延を防ぎ、バッチ処理システム全体の稼働率を向上することができる。
【００６９】
上述のように先行バッチジョブの実行中に追従バッチジョブが起動準備を行うことによって「追従バッチジョブの起動準備時間」を見かけ上存在しない程度にまで削減することができる。これは起動準備の処理に大幅な時間を要するバッチジョブシステムにおいて大きなメリットとなる。また、バッチジョブが起動準備の段階で適切なリソースを確保することによって、ジョブネットの継続に必要なリソースを、余裕を持って確保しておくことができる。
【００７０】
図６は上記実施形態に係るジョブネット制御機能の動作概念を示したもので、ここでは、図１および図２に示すジョブネット実行制御装置１０１、バッチジョブ起動予告装置１０２およびバッチジョブ実行装置１０３により実現される各機能についてそれぞれ上記各構成要素に付した符号と同一の符号を付している。またバッチジョブ（ジョブＡ，Ｂ，…）とバッチジョブ実行機能（Ａ，Ｂ，…）とがそれぞれ１：１の関係にあり、各バッチジョブが並行して起動される場合を例示している。
【００７１】
ジョブネット実行制御装置１０１と、ジョブネットを構成するバッチジョブの処理を実行するバッチジョブ実行装置１０３との間に、先行バッチジョブの実行開始を条件として、次に発火（起動）する後続の追従バッチジョブに対して起動予告を行う、バッチジョブ起動予告機能１０２を介在する。
【００７２】
ジョブネット実行制御機能１０１は、ジョブネット内のバッチジョブ（Ａ，Ｂ，…）が起動される毎に、バッチジョブ起動予告機能１０２により実現されるバッチジョブ起動予告機能を利用して追従バッチジョブのバッチジョブ実行機能１０３に起動予告を通知する。これにより、起動予告を受け取ったバッチジョブ実行機能１０３は「起動指示」を受け取る前に「起動準備」を行うことができる。
【００７３】
このように、先行バッチジョブの実行中に追従バッチジョブの起動準備を行うことによって、「追従バッチジョブの起動準備時間」を見かけ上存在しない程度にまで削減することができる。またバッチジョブが起動準備の段階で適切なリソースを確保することによって、ジョブネットの継続に必要なリソースを、余裕を持って確保しておくことができる。
【００７４】
上記した実施形態では、バッチジョブ起動予告装置１０２がジョブネット実行制御機能１０１から起動予告指示２０２を受けて、後続するバッチジョブに対し起動準備指示２０３を行う起動予告制御であったが、他の実施形態として、ジョブネット実行制御機能１０１からバッチジョブ実行装置１０３に対して送出されるバッチジョブの起動指示２０１を、バッチジョブ起動予告装置１０２が監視し、当該起動指示２０１を起動予告通知と解釈して、起動されるバッチジョブの次に起動される追従バッチジョブを実行するバッチジョブ実行装置１０３に対して起動準備指示２０３を行う起動予告制御機能を実現可能である。
【００７５】
この起動予告制御において、バッチジョブ起動予告装置１０２は、ジョブネット実行制御装置１０１からバッチジョブ実行装置１０３に対して送出するバッチジョブの起動指示２０１を常時監視する。この監視でバッチジョブの起動指示２０１を検知すると、その都度、当該起動指示２０１を、後続するバッチジョブに対する起動予告指示２０２と解釈して（みなして）、起動されるバッチジョブの次に起動されるバッチジョブの処理を実行するバッチジョブ実行装置１０３を、ジョブネット実行制御装置１０１と同様の手法を用いて計算し、計算されたすべてのバッチジョブ実行装置１０３に対して、起動準備指示２０３を行う。
【００７６】
従って、この他の実施形態におけるジョブネット実行制御装置１０１は、バッチジョブ起動予告装置１０２に対して起動予告指示２０２を行う必要が無く、既存の装置構成のままである。
【００７７】
このような他の実施形態による起動予告制御においても、起動予告を受け取ったバッチジョブ実行機能１０３は、先行バッチジョブの実行中に追従バッチジョブの起動準備を行うことができ、追従バッチジョブの起動準備時間を見かけ上存在しない程度にまで削減することができる。
【００７８】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に記載した機能および手法は、コンピュータに実行させることのできるプログラムとして記憶媒体に格納して頒布することもできる。また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行してもよい。さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体であってもよい。
【符号の説明】
【００７９】
１０１…ジョブネット実行制御装置（ジョブネット実行制御機能）、１０２…バッチジョブ起動予告装置（バッチジョブ起動予告機能）、１０３…バッチジョブ実行装置（バッチジョブ実行機能）、１０４…ジョブネット定義管理装置、１０５…リソース、１０６…バッチジョブ実行装置群、１０７…ジョブネット定義、１０８…バッチジョブ実行結果管理装置、１０９…バッチジョブの実行完了情報。
【図１】
2011096110.tif 000003
【図２】
2011096110.tif 000004
【図３】
2011096110.tif 000005
【図４】
2011096110.tif 000006
【図５】
2011096110.tif 000007
【図６】
2011096110.tif 000008