(57)【要約】【課題】複数の装置が連携して各々のジョブを実行するコンピュータシステムにおいて、一の装置において実行されるジョブの変更が他の装置に与える影響を少なくする。【解決手段】  複数の第一のジョブと第二のジョブとを連結するための連結情報と、複数の第一のジョブがすべて完了したことを検出すると、連結情報の状態を変更する監視手段とを備え、第二のジョブは、連結情報の状態が変更されると処理を実行する。【選択図】図１
2008243032.tif 000002
【特許請求の範囲】
【請求項１】
複数の第一のジョブを実行させ、前記複数の第一のジョブの実行が完了すると第二のジョブを実行させるジョブの実行順序制御装置であって、
前記複数の第一のジョブと前記第二のジョブとを連結するための連結情報と、
前記複数の第一のジョブがすべて完了したことを検出すると、前記連結情報の状態を変更する監視手段とを備え、
前記第二のジョブは、前記連結情報の状態が変更されると処理を実行することを特徴とするジョブの実行順序制御装置。
【請求項２】
前記監視手段は、ジョブの実行順序を制御するジョブスケジューラであり、
前記連結情報は、前記ジョブスケジューラにより起動される第三のジョブであり、
前記ジョブスケジューラは、前記複数の第一のジョブがすべて完了したことを検出すると前記第三のジョブを実行させ、前記第三のジョブの実行が完了すると前記第二のジョブを実行させることを特徴とする請求項１記載のジョブの実行順序制御装置。
【請求項３】
前記第三のジョブは、ダミージョブであることを特徴とする請求項１記載のジョブの実行順序装置。
【請求項４】
複数の第一のジョブを実行させ、前記複数の第一のジョブの実行が完了すると第二のジョブを実行させるジョブの実行順序制御方法であって、
前記複数の第一のジョブがすべて完了したことを検出すると、前記複数の第一のジョブと前記第二のジョブとを連結するための連結情報の状態を変更し、
前記連結情報の状態が変更されると、前記第二のジョブの処理を実行することを特徴とするジョブの実行順序制御方法。
【請求項５】
複数の第一のジョブを実行させ、前記複数の第一のジョブの実行が完了すると第二のジョブを実行させるジョブの実行順序制御プログラムであって、
前記複数の第一のジョブがすべて完了したことを検出すると、前記複数の第一のジョブと前記第二のジョブとを連結するための連結情報の状態を変更し、
前記連結情報の状態が変更されると、前記第二のジョブの処理を実行することを特徴とするジョブの実行順序制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置が連携して各々のジョブを実行するコンピュータシステムの技術に関する。
【背景技術】
【０００２】
従来、複数の装置が連携して各々のジョブを実行し、複数の装置全体として所定の機能を提供するコンピュータシステムの技術が知られている（例えば、特許文献１）。例えば、業務システムでは、業務アプリケーションが稼働する装置と、業務アプリケーションが利用するデータを管理するＤＢＭＳ（データベースマネジメントシステム）が稼働する装置とが備えられ、業務アプリケーションとＤＢＭＳとが連携して各々のジョブを実行し、データの編集や参照等の諸機能の提供が行われる。業務アプリケーションが、ＤＢＭＳにおいて管理されるデータであるテーブル１を利用する場合は、例えば、ＤＢＭＳがテーブル１を生成するジョブ等を実行してから、そのジョブの終了後、業務アプリケーションがテーブル１を表示して編集等を行わせるジョブ等を実行する。この場合、テーブル１を生成するジョブの後に編集等を行わせるジョブが実行されるといった前後関係を示す情報が登録される。
【０００３】
【特許文献１】特開２００５−１７３８９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、業務システムの変更が行われ、例えば、業務アプリケーションがテーブル１だけでなくテーブル２も利用することとなり、それによりＤＢＭＳにおいてテーブル１の生成のジョブの実行後にテーブル２の生成のジョブの実行も必要になったとする。この場合は、テーブル１を生成するジョブの後にテーブル２を生成するジョブが実行され、テーブル２を生成するジョブの後に編集等を行わせるジョブが実行されるといったように、前後関係を示す情報の変更が必要となる。
【０００５】
この変更を装置間について見ると、ＤＢＭＳのテーブル１を生成するジョブと業務アプリケーションの編集等を行わせるジョブとの前後関係が破棄されて、ＤＢＭＳのテーブル２を生成するジョブと業務アプリケーションの編集等を行わせるジョブとの前後関係が新たに登録されることになる。つまり、ＤＢＭＳが稼働する装置内において実行されるジョブの変更であるにもかかわらず、業務アプリケーションが稼働する装置も、この変更の影響を受けることになる。
【０００６】
ＤＢＭＳが稼働する装置と業務アプリケーションが稼働する装置とが一対一の関係であれば、この変更はそれ程問題にはならないが、ＤＢＭＳが稼働する装置に対して業務アプリケーションが稼働する装置が複数関係を持っていれば（一対多の関係であれば）、その全てについて前後関係の変更が必要となり、変更が煩雑となる。更に、多対多の関係であれば、装置間の連携が複雑で前後関係を把握することすら困難な場合もあり、この場合の変更は、非常に大変である。
【０００７】
そこで、本発明は、複数の装置が連携して各々のジョブを実行するコンピュータシステムにおいて、一の装置において実行されるジョブの変更が他の装置に与える影響を少なくすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施態様に従うジョブの実行順序制御装置は、複数の第一のジョブを実行させ、前記複数の第一のジョブの実行が完了すると第二のジョブを実行させるジョブの実行順序制御装置であって、前記複数の第一のジョブと前記第二のジョブとを連結するための連結情報と、前記複数の第一のジョブがすべて完了したことを検出すると、前記連結情報の状態を変更する監視手段とを備え、前記第二のジョブは、前記連結情報の状態が変更されると処理を実行することを特徴とする。
【０００９】
好適な実施形態では、前記監視手段は、ジョブの実行順序を制御するジョブスケジューラであり、前記連結情報は、前記ジョブスケジューラにより起動される第三のジョブであり、前記ジョブスケジューラは、前記複数の第一のジョブがすべて完了したことを検出すると前記第三のジョブを実行させ、前記第三のジョブの実行が完了すると前記第二のジョブを実行させることを特徴とする。
【００１０】
好適な実施形態では、前記第三のジョブは、ダミージョブであることを特徴とする。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態について、図面を参照して説明する。
【００１２】
図１は、本実施形態に係るジョブの実行順序制御装置を備えたコンピュータシステムの構成例を示した図である。
【００１３】
本実施形態に係るコンピュータシステム（以下、「本システム」と呼ぶことがある）は、一以上のジョブ実行端末１００と、一以上のＤＢ（データベース）サーバ２００と、管理端末４００とを備える。ジョブ実行端末１００とＤＢサーバ２００と管理端末４００とは、それぞれ通信ネットワーク３００を介して接続される。本実施形態では、２台のジョブ実行端末１００（ジョブ実行端末Ａ１００Ａ及びジョブ実行端末Ｂ１００Ｂ）と１台のＤＢサーバ２００とが、それぞれ備えられるものとする。
【００１４】
ジョブ実行端末１００は、例えば、ＤＢサーバ２００を利用して所定のサービスを提供する計算機（パーソナルコンピュータ等）である。ジョブ実行端末Ａ１００Ａはサービスａを、ジョブ実行端末Ｂ１００Ｂはサービスｂを、それぞれ提供する。サービスａ及びサービスｂは、どちらもＤＢサーバ２００で管理されるＤＢを利用したサービスである。ジョブ実行端末Ａ１００Ａは、サービスａを提供するために必要なジョブを実行するサービスａ実行部１１０Ａを備える。また、ジョブ実行端末Ｂ１００Ｂは、サービスｂを提供するために必要なジョブを実行するサービスｂ実行部１１０Ｂを備える。
【００１５】
ＤＢサーバ２００は、例えば、ジョブ実行端末１００が提供するサービスに利用するＤＢを管理する計算機である。ＤＢサーバ２００は、サービスａとサービスｂとに利用されるＤＢ２２０と、ＤＢ２２０を管理するためのジョブを実行するＤＢＭＳ２１０とを備える。
【００１６】
このように、本実施形態におけるジョブ実行端末１００及びＤＢサーバ２００（以下、両者を含めて「ジョブ実行装置」と呼ぶ）は、所定のジョブを実行するジョブ実行部（ここでは、サービスａ実行部１１０Ａ、サービスｂ実行部１１０Ｂ及びＤＢＭＳ２１０）を一以上備える。そして、それぞれのジョブ実行部１１０、２１０は、自分以外の他のジョブ実行部１１０、２１０と連携してそれぞれのジョブを実行することができる。ここでの連携とは、或るジョブ実行部１１０、２１０のジョブと他のジョブ実行部１１０、２１０のジョブとが前後関係を持って実行されることをいう。例えば、或るジョブ実行部１１０、２１０のジョブが終了した後に、他のジョブ実行部１１０、２１０のジョブが開始されるというような関係があるときに、それらのジョブ実行部１１０、２１０同士は、連携していることになる。このジョブ実行部１１０、２１０同士の連携は、ぞれぞれのジョブの前後関係等を示す情報として、後述する連携管理部４１０（及びスケジューラ４２０）によって管理される。
【００１７】
尚、ジョブ実行部１１０、２１０は、本実施形態で例示したようなサービスａ実行部１１０Ａ（サービスｂ実行部１１０Ｂ）やＤＢＭＳ２１０に限られない。ジョブ実行部１１０、２１０は、他のジョブ実行部１１０、２１０のジョブと連携したジョブを実行する所定のアプリケーションであってもよい。また、本システムは、必ずしもジョブ実行端末１００とＤＢサーバ２００との両方を備える必要はない。例えば、複数のジョブ実行端末１００に備えられるそれぞれのジョブ実行部１１０、２１０同士が連携している場合は、本システムは、ＤＢサーバ２００を備えずに、それらのジョブ実行端末１００から構成されることもできる。
【００１８】
管理端末４００は、ジョブ実行装置１００、２００を管理し、それらが備えるジョブ実行部１１０、２１０同士が連携して所定の機能を提供できるようにするための計算機（パーソナルコンピュータ等）である。管理端末４００は、連携管理部４１０と、スケジューラ４２０と、スケジュール４３０とを備える。
【００１９】
連携管理部４１０は、異なるジョブ実行部１１０、２１０同士が連携してそれぞれのジョブを実行できるようにするため、それらが連携するポイント（以下、「連携ポイント」）に関する情報を管理する。ここで、連携ポイントとは、或るジョブ実行部１１０、２１０のジョブと他のジョブ実行部１１０、２１０のジョブとが前後関係を持って連結されている場合の、それらのジョブの連結箇所のことをいう。そして、連携ポイントに関する情報とは、例えば、その連携ポイントを形成する前後のジョブを示す情報と、先に実行されるジョブが終了したか否かを示す情報、即ち、後に実行されるジョブの実行を開始してもよいか否かを示す情報とを含めたものをいう。連携ポイント及び連携ポイントに関する情報について、図２を参照して具体的に説明する。
【００２０】
図２は、連携ポイントの一例を示した概念図である。
【００２１】
同図は、サービスａ実行部１１０Ａが実行する「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブと、サービスｂ実行部１１０Ｂが実行する「サービスｂの運用プログラム（Ｊ１２Ｂ）」のジョブと、ＤＢＭＳ２１０が実行する「ＤＢバックアップ（Ｊ２４）」のジョブとによって形成される連携ポイント５１０を示している。そして、同図の矢印は、「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブ及び「サービスｂの運用プログラム（Ｊ１２Ｂ）」のジョブの実行が両方とも終了した後に、「ＤＢバックアップ（Ｊ２４）」のジョブが実行されることを示している。
【００２２】
この連携ポイントに関する情報５２０には、例えば、連結情報５２１と状態５２２とが含まれる。連結情報５２１には、先に実行されるジョブである「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブ及び「サービスｂの運用プログラム（Ｊ１２Ｂ）」のジョブと、後に実行されるジョブである「ＤＢのバックアップ（Ｊ２４）」のジョブとが対応付けて記録される。状態５２２は、上述した、後に実行されるジョブの実行を開始してもよいか否かを示す情報である。例えば、状態５２２には、後に実行されるジョブの実行を開始してもよい場合は「実行可」、開始できない場合は「実行不可」が設定される。従って、この例では、状態５２２には、「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブ及び「サービスｂの運用プログラム（Ｊ１２Ｂ）」のジョブの実行が両方とも終了した場合には「実行可」が設定され、それ以外の場合には「実行不可」が設定される。
【００２３】
尚、先に実行されるジョブと後に実行されるジョブとの対応関係は、この例のように、先に実行されるジョブが二つで後に実行されるジョブが一つである場合に限られない。先に実行されるジョブと後に実行されるジョブとがそれぞれ一つずつで一対一の関係となっていてもよいし、いずれか一方が複数、他方が一つで多対一（又は一対多）の関係となっていてもよい。更には、先に実行されるジョブと後に実行されるジョブとがそれぞれ複数あり、多対多の関係となっていてもよい。後に実行されるジョブが複数ある場合は、状態５２２に設定された「実行可」の情報は、後に実行される全てのジョブの各々について、その実行を開始してもよいことを示す。
【００２４】
連携管理部４１０は、例えば、連携ポイント５１０ごとに擬似的なジョブ（何の処理も行わない空のジョブであり、以下、「ダミージョブ」）を備えることにより、後述するスケジューラ４２０とともに、連携ポイントに関する情報５２０を管理することができる。ダミージョブを利用する場合は、連携管理部４１０は、スケジューラ４２０からの指示に従って、ダミージョブの実行を行う（但し、実行されたジョブは何も処理を行わないので直ちに終了する）。そして、ダミージョブの実行が終了したという情報が、後に実行されるジョブの実行を開始してもよいことを示す情報となる。つまり、ダミージョブの実行が終了していれば上記の状態５２２には「実行可」が設定されているものとして扱われ、ダミージョブの実行が終了していなければ上記の状態５２２には「実行不可」が設定されているものとして扱われることになる。このダミージョブの実行が終了したか否か、即ち、状態５２２が「実行可」であるか「実行不可」であるかは、スケジューラ４２０によって検出されることができる。
【００２５】
また、連携管理部４１０は、連携ポイントに関する情報５２０を出力することもできる。これにより本システムを管理する管理者は、連携ポイント５１０におけるジョブの実行状況を容易に知ることができ、システムの稼働状況を把握しやすくなる。
【００２６】
図１に戻り、スケジューラ４２０は、本システムが所定の機能を提供するに際して、スケジュール４３０の内容に従ってジョブ実行部１１０、２１０や連携管理部４１０に対してジョブの開始を指示する。また、スケジューラ４２０は、順番にジョブを実行させるために、現在実行中のジョブが終了したか否かを検出する。例えば、サービスａ及びサービスｂの提供を行う際は、スケジューラ４２０は、後述する図２のようなスケジュール４３０を参照して、スケジュール４３０に登録されたジョブの実行順序どおりにジョブが実行されるように、サービスａ実行部１１０Ａ、サービスｂ実行部１１０Ｂ又は連携管理部４１０に対してジョブの開始を指示する。
【００２７】
スケジュール４３０は、スケジューラ４２０がジョブ実行部１１０、２１０に対してジョブの開始を指示するときに参照する、ジョブの実行順序に関する情報である。例えば、スケジュール４３０には、本システムが提供する機能（サービスａやサービスｂ等）について、その機能を提供するために実行されるジョブと、その実行順序とが記録される。スケジュール４３０は、例えば、図２で示されるようにテーブル形式で記録されることができる。
【００２８】
図３は、本実施形態に係るスケジュール４３０の一例を示した図である。
【００２９】
スケジュール４３０には、例えば、先行ジョブ４３１と後続ジョブ４３２とが対応付けられて記憶される。つまり、同図では、先行ジョブ４３１に示されたジョブの後に後続ジョブ４３２に示されたジョブが実行されることを示している。
【００３０】
先行ジョブ４３１には、ジョブ実行部名４３１１と、ジョブ名４３１２とがそれぞれ記録される。ジョブ名４３１１は、当該先行ジョブ４３１に対応するジョブの名称である。ジョブ実行部名４３１１は、当該先行ジョブ４３１に対応するジョブを実行するジョブ実行部１１０、２１０の名称である。後続ジョブ４３２に関しても、先行ジョブ４３１と同様に、ジョブ実行部名４３２１と、ジョブ名４３２２とがそれぞれ記録される。尚、ジョブ実行部名４３１１、４３２１の代わりにジョブ実行部１１０、２１０を一意に特定する識別子が、ジョブ名４３１２、４３２２の代わりにジョブを一意に特定する識別子が、それぞれ記録されてもよい。
【００３１】
同図には、サービスａ及びサービスｂを提供するために実行されるジョブの実行順序の一例が記されている。例えば、本スケジュール４３０を参照することで、ＤＢＭＳ２１０の「テーブルの作成（Ｊ２１）」のジョブの後に、ＤＢＭＳ２１０の「テーブルａのデータ入力（Ｊ２２）」のジョブが実行されることがわかる。また、サービスａ実行部１１０Ａの「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブは、サービスａ実行部１１０Ａの「日付更新（Ｊ１１Ａ）」のジョブと連携管理部４１０の「テーブルａの使用開始（Ｊ４１）」のジョブとの両方が終了した後に実行されること等がわかる。
【００３２】
また、ジョブ実行部名４３１１、４３２１が連携管理部であるジョブ、即ち、「テーブルａの使用開始（Ｊ４１）」、「テーブルｂの使用開始（Ｊ４２）」、「テーブルａの使用終了（Ｊ４３）」及び「テーブルｂの使用終了（Ｊ４４）」は、全てダミージョブである。同図に示されたとおり、ダミージョブも、通常のジョブ（ジョブ実行部１１０、２１０が実行するジョブ）と同様にスケジュール４３０に登録される。そして、連携ポイント５１０を形成する２つのジョブの前後関係は、ダミージョブを介してスケジュール４３０に登録される。例えば、サービスａ実行部１１０Ａの「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブは、ＤＢＭＳ２１０の「テーブルａのデータ入力（Ｊ２２）」のジョブが終了した後に実行される必要があるが、この前後関係は、連携管理部４１０の「テーブルａの使用開始（Ｊ４１）」のダミージョブを介して登録される。即ち、ＤＢＭＳ２１０の「テーブルａのデータ入力（Ｊ２２）」のジョブが終了すると、連携管理部４１０の「テーブルａの使用開始（Ｊ４１）」のダミージョブを開始でき、連携管理部４１０の「テーブルａの使用開始（Ｊ４１）」のダミージョブが終了すると、サービスａ実行部１１０Ａの「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブを開始できることになる（ここでは、「日付更新（Ｊ１１Ａ）」のジョブの終了も条件となる）。
【００３３】
このように、連携ポイント５１０がダミージョブとしてスケジュール４３０に登録されることにより、スケジューラ４２０が連携ポイント５１０を特別に意識する必要がなくなる。従って、これまでと同様の実装方法で、装置間のジョブの連携の管理を実現できるようになる。
【００３４】
図４は、本システムがサービスａ及びサービスｂを提供する際の処理の流れを示した図である。
【００３５】
まず、スケジューラ４２０は、ＤＢＭＳ２１０に対して「テーブルの作成（Ｊ２１）」のジョブの開始を指示する。指示を受けたＤＢＭＳ２１０は、「テーブルの作成（Ｊ２１）」のジョブを実行する（Ｓ０１）。このジョブが実行されると、サービスａに利用されるテーブルａ及びサービスｂに利用されるテーブルｂが、それぞれＤＢ２２０上に作成される。
【００３６】
「テーブルの作成（Ｊ２１）」のジョブが終了した後、スケジューラ４２０は、ＤＢＭＳ２１０に対して「テーブルａのデータ入力（Ｊ２２）」のジョブの開始を指示する。指示を受けたＤＢＭＳ２１０は、「テーブルａのデータ入力（Ｊ２２）」のジョブを実行する（Ｓ０２）。このジョブが実行されると、テーブルａに所定のデータが書き込まれ、テーブルａは、使用可能な状態となる。
【００３７】
「テーブルａのデータ入力（Ｊ２２）」のジョブが終了した後、スケジューラ４２０は、連携管理部４１０に対して「テーブルａの使用開始（Ｊ４１）」のジョブの開始を指示し、また、ＤＢＭＳ４２０に対して「テーブルｂのデータ入力（Ｊ２３）」のジョブの開始を指示する。連携管理部４１０が実行する「テーブルａの使用開始（Ｊ４１）」のジョブは、ダミージョブである。従って、このジョブは、実際には何も行わずに直ちに終了する（Ｓ０３）。そして、上述したように、ダミージョブの実行が終了したという情報は、後に実行されるジョブ（即ち、「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブ）の実行を開始してもよいことを示す情報となる。一方、「テーブルｂのデータ入力（Ｊ２３）」のジョブが実行されると、テーブルｂに所定のデータが書き込まれ、テーブルｂは、使用可能な状態となる（Ｓ０７）。
【００３８】
一方、スケジューラ４２０は、サービスａ実行部１１０Ａに対して「日付更新（Ｊ１１Ａ）」のジョブの開始を指示する。同様に、スケジューラ４２０は、サービスｂ実行部１１０Ｂに対して「日付更新（Ｊ１１Ｂ）」のジョブの開始を指示する。これらの指示は、ＤＢＭＳ２１０に対する「テーブルの作成（Ｊ２１）」のジョブの開始を指示する前に行われてもよいし、「テーブルの作成（Ｊ２１）」のジョブの開始を指示した後に行われてもよい。指示を受けたサービスａ実行部１１０Ａ及びサービスｂ実行部１１０Ｂは、それぞれ「日付更新（Ｊ１１Ａ、Ｊ１１Ｂ）」のジョブを実行する（Ｓ０４、Ｓ０９）。
【００３９】
サービスａ実行部１１０Ａにおける「日付更新（Ｊ１１Ａ）」のジョブが終了し、かつ「テーブルａの使用開始（Ｊ４１）」のジョブが終了した後、スケジューラ４２０は、サービスａ実行部１１０Ａに対して「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブの開始を指示する。指示を受けたサービスａ実行部１１０は、「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブを実行する（Ｓ０５）。このジョブが実行されると、サービスａの提供が開始される。尚、サービスａの提供は、このジョブ（「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブ）だけでなく、複数のジョブの実行の組み合わせによって行われてもよい。
【００４０】
サービスａの提供が終了（ここでは、「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブが終了）すると、スケジューラ４２０は、連携管理部４１０に対して「テーブルａの使用終了（Ｊ４３）」のジョブの開始を指示する。「テーブルａの使用開始（Ｊ４１）」のジョブと同様に、連携管理部４１０が実行する「テーブルａの使用終了（Ｊ４３）」のジョブは、ダミージョブであり、直ちに終了する（Ｓ０７）。そして、このジョブが終了したという情報は、後に実行されるジョブ（即ち、「ＤＢのバックアップ（Ｊ２４）」のジョブ）の実行を開始してもよいことを示す情報となる。
【００４１】
以上のようなサービスａの提供のための処理と同様の処理が、サービスｂについても行われる。
【００４２】
即ち、スケジューラ４２０は、「テーブルｂのデータ入力（Ｊ２３）」のジョブが終了した後、連携管理部４１０に対して「テーブルｂの使用開始（Ｊ４２）」のジョブの開始を指示する。テーブルａの場合と同様に、連携管理部４１０が実行する「テーブルｂの使用開始（Ｊ４２）」のジョブは、ダミージョブであり、直ちに終了する（Ｓ０８）。そして、スケジューラ４２０は、サービスｂ実行部１１０Ｂにおける「日付更新（Ｊ１１Ｂ）」のジョブが終了し、かつ「テーブルｂの使用開始（Ｊ４２）」のジョブが終了した後、サービスｂ実行部１１０Ｂに対して「サービスｂの運用プログラム（Ｊ１２Ｂ）」のジョブの開始を指示する。指示を受けたサービスｂ実行部１１０は、「サービスｂの運用プログラム（Ｊ１２Ｂ）」のジョブを実行する（Ｓ１０）。このジョブが実行されると、サービスｂの提供が開始される。その後、スケジューラ４２０は、「サービスｂの運用プログラム（Ｊ１２Ｂ）」のジョブが終了すると、連携管理部４１０に対して「テーブルｂの使用終了（Ｊ４４）」のジョブの開始を指示する。テーブルａの場合と同様に、連携管理部４１０が実行する「テーブルｂの使用終了（Ｊ４４）」のジョブは、ダミージョブであり、直ちに終了する（Ｓ１１）。
【００４３】
最後に、「テーブルａの使用終了（Ｊ４３）」のジョブが終了し、かつ「テーブルｂの使用終了（Ｊ４４）」のジョブが終了した後、スケジューラ４２０は、ＤＢＭＳ２１０に対して「ＤＢのバックアップ（Ｊ２４）」のジョブの開始を指示する。指示を受けたＤＢＭＳ２１０は、ＤＢ２２０のバックアップを行う（Ｓ１２）。
【００４４】
以上が、本システムがサービスａ及びサービスｂを提供する際の処理の流れの説明である。
【００４５】
ここで、例えば、サービスａ実行部１１０Ａが実行する「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブの中で、テーブルａに加えてテーブルｂも利用するように変更されたとする。この場合は、「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブが実行される前に、「テーブルｂのデータ入力（Ｊ２３）」のジョブが終了している必要がある。そこで、「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブの先行ジョブを、これまでの「テーブルａの使用開始（Ｊ４１）」に加えて「テーブルｂの使用開始（Ｊ４２）」とすることで、この変更に対応することができる。つまり、ＤＢＭＳ２１０には何の影響も与えずに、この変更に対応できることになる。
【００４６】
尚、本実施形態では、ジョブ実行部同士のジョブの前後関係を考慮して、４つの連携ポイント（連携ポイントに相当するダミージョブ）の作成を行っている。即ち、本実施形態では、「テーブルａの使用開始（Ｊ４１）」のダミージョブは、「テーブルａのデータ入力（Ｊ２２）」のジョブの後に「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブが実行されるという前後関係に基づいて、それらのジョブを連結するように作成されている（テーブルｂについても同様である）。そして、この前後関係自体は、例えば、テーブルａ、ｂは、ＤＢＭＳ２１０において初期化された後に他のジョブ実行部１１０、２１０によって利用される必要があるといったシステムの要件から得られるものである。また、「テーブルａの使用終了（Ｊ４３）」のダミージョブは、「サービスａの運用プログラム（Ｊ１２Ａ）」のジョブが実行された後に「ＤＢのバックアップ（Ｊ２４）」のジョブが実行されるという前後関係に基づいて作成されている（テーブルｂについても同様である）。そして、この前後関係は、例えば、テーブルａ、ｂはその編集が終了した後にＤＢＭＳ２１０によってバックアップされる必要があるといったシステムの要件から得られるものである。つまり、本実施形態においては、連携ポイントは、このようなジョブの前後関係を要求するシステムの要件に合わせて作成されていると考えることもできる。
【００４７】
一方、これとは別に、連携ポイントは、このようなシステムの要件を考慮せずに、それぞれのジョブ実行装置１００、２００ごとに独立して作成されることもできる。即ち、各々のジョブ実行装置１００、２００ごとに、自分自身が行う処理を考慮して（他のジョブ実行装置１００、２００との具体的な連結箇所を考慮せずに）、所定の処理が終了した時点を連携ポイントとすることができる。所定の処理が終了した時点としては、例えば、他のジョブ実行装置１００、２００へ通知することが望まれる、ジョブの終了時点とすることができる。例えば、ＤＢサーバ２００に着目すると、テーブルａ及びテーブルｂは、他のジョブ実行装置１００、２００に対して公開するデータであるので、テーブルａ及びテーブルｂに関するステータスの変更（例えば、生成、削除、アクセス権変更等）は、他のジョブ実行装置１００、２００へ通知されることが望ましい。従って、テーブルａ及びテーブルｂについて、それらのステータスを変更するジョブ（例えば、テーブルを作成するジョブ、テーブルを削除するジョブ、アクセス権の変更を行うジョブ等）の終了時点を連携ポイントとすることができる。このようにすることで、連携ポイントごとにそれ自体が示す意味（この場合は、テーブルがどのステータスとなっているか）が明確になるので、他のジョブ実行装置１００、２００が、ＤＢサーバ２００との連携を考えたときに、自分のジョブをどの連携ポイントに連結すればよいのかが容易に把握できるようになる。
【００４８】
そして、このような処理の終了時点に対応する連携ポイントについて、その状態５２２を監視すれば、システム全体として処理がどこまで進んだか、つまり、システム全体の進捗状況が把握できる。例えば、アクセス権の変更を行うジョブに対応する連携ポイントの状態５２２が「実行可」となっていれば、アクセス権の変更が完了していると判断することができる。
【００４９】
また、或るジョブ実行装置１００、２００に障害が発生し、その処理が停止や遅延等した場合には、その処理に関係する連携ポイントを調べることにより、その障害の影響を受けるジョブ実行装置１００、２００（その連携ポイントに連結された処理を実行するジョブ実行装置１００、２００）を特定することも容易となる。
【００５０】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【図面の簡単な説明】
【００５１】
【図１】本実施形態に係る装置間のジョブの連携を管理する装置を備えたコンピュータシステムの構成例を示した図である。
【図２】連携ポイントの一例を示した概念図である。
【図３】本実施形態に係るスケジュールの一例を示した図である。
【図４】本システムがサービスａ及びサービスｂを提供する際の処理の流れを示した図である。
【符号の説明】
【００５２】
１００…ジョブ実行端末、１１０…サービス実行部、２００…ＤＢサーバ、２１０…ＤＢＭＳ、２２０…ＤＢ、３００…通信ネットワーク、４００…管理端末、４１０…連携管理部、４２０…スケジューラ、４３０…スケジュール
【図１】
2008243032.tif 000003
【図２】
2008243032.tif 000004
【図３】
2008243032.tif 000005
【図４】
2008243032.tif 000006