(57)【要約】【課題】  ジョブネットの実行スケジュールを変更するに伴って発生する、イベント検知して実行する側のジョブネットの実行スケジュールを変更する作業の作業量を軽減、および作業の漏れを防止することが出来るジョブ管理システムを提供すること。【解決手段】  ジョブネット間にイベント送受信の依存関係がある場合に、送信側ジョブの起動時刻と受信側ジョブの起動時刻との時間差を予め定義したテーブルと、当該時間差を定義済みのジョブネットの実行スケジュールを変更する際、前記テーブルに定義された時間差を確保して受信側ジョブが起動されるよう、各ジョブネットの実行時刻を参照して各ジョブの実行時刻を変更するジョブ管理マネージャとを備えることを特徴とする。【選択図】      図１
2015064848.tif 000002
【特許請求の範囲】
【請求項１】
ジョブネット間にイベント送受信の依存関係がある場合に、送信側ジョブの起動時刻と受信側ジョブの起動時刻との時間差を予め定義したテーブルと、当該時間差を定義済みのジョブネットの実行スケジュールを変更する際、前記テーブルに定義された時間差を確保して受信側ジョブが起動されるよう、各ジョブネットの実行時刻を参照して各ジョブの実行時刻を変更するジョブ管理マネージャとを備えることを特徴とするジョブ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ管理システムに係り、特にジョブネット実行スケジュールの変更に関する操作について、イベント送受信により連動して動作する各々のジョブネットへのスケジュール変更作業を簡単・漏れなく行うためのジョブ管理システムに関するものである。
【背景技術】
【０００２】
従来におけるジョブ管理装置の一例を図６に示す。
この例では、実際の業務をジョブとして管理しているジョブ管理マネージャー１０２がインストールされているホストマシン１０１Ａと、ジョブ管理マネージャー１０２から配信されたジョブを実際に実行するジョブ実行エージェント(１０３AＣ〜１０３C)がインストールされているホストマシン(１０１B〜１０１D)と、ジョブ管理マネージャー１０２やシミュレーションを行うためのホストマシン(１０１B〜１０１D)に対して、データの入力と結果の出力を行うことができる端末１０５がネットワークで相互に接続されている。
ここで、ホストマシンは実際の業務を運用しているマシンであり、ホストマシンは新規に追加するジョブとすでに運用されているジョブに対するシミュレーションを行うためのマシンである。ここで、実際の業務を運用しているマシンを本番環境、シミュレーションを行うためのマシンを検証環境と定義する。
環境は、１台のジョブ管理マネージャー１０２と３台のジョブ実行エージェント(１０３AＣ〜１０３C)から構成される。
ジョブ管理マネージャー１０２は管理しているジョブを各ジョブ実行エージェントに配信し、ジョブの実行を行う。ジョブの配信先は各ジョブの業務内容によって異なり、任意に指定することができる。ジョブの実行が終了したら、終了したジョブ実行エージェントからジョブの実行結果をジョブ管理マネージャー１０２へ通知する。結果の通知を受けたジョブ管理マネージャー１０２は該当のジョブの実行を終了させることで日々の業務を運用している。
【０００３】
従来のジョブネットの一例を図７に示す。
ジョブ１がまず実行され、終わったらジョブ２とジョブ３が実行される。ジョブ３が終わったらジョブ４が実行されることを示している。
ここではそれぞれのジョブは自分のジョブと関連性のあるジョブは前に実行されるジョブのことだけしか把握していない、ジョブ自身がどのジョブと連動しているかといったことは何の情報も有していない。ジョブネット内に複数のジョブがあるが、それぞれの実行場所は別々のエージェントでもかまわない。
ジョブ管理システムにおいては、特定の事象、いわゆるイベントをきっかけとして、処理を自動的に実行する。
すなわち、あるジョブネット内のジョブが特定の事象を送信するように定義されている。
別のジョブネット内のジョブがそのイベントを受信して、予め定義しておいたジョブの実行を行うことができるものである。このとき、受信する側のジョブネットは“受信を逃さないように”イベント送信する側のジョブネットよりも先に起動するスケジュール設定をしておく必要がある。
【０００４】
前述した通り、ジョブ自体は自身のジョブに関連するジョブがどれであるかは定義情報をもっておらず、したがってジョブネットに組み込まれるスケジュールによっていつジョブを実行するかどうかを定義する必要ある。
イベントを送信する側のスケジュールを変更する場合は、受信側のスケジュールよりも先になると受信側のスケジュールも変更しなければならない。
ここで関連する先行技術として下記の特許文献に開示されたものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２３０３２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ジョブ管理では、業務における集計などのジョブを定義しておく。そして実際に実行する日時を定義して運用を行う。
ジョブには幾つかの種類があり、それぞれのジョブは自分に割り当てられた種類によって大別ができる。
例えば、イベントを送信するジョブ、送信されたいイベントを受信して動作するジョブ、また受信したジョブを転送するといったジョブも知られている。
イベントを受信するジョブの中にはイベントを受信して、その履歴を残すようなファイルとして存在するものの他に、受信したらそのままジョブそのものが消滅してしまうものもある、つまり実行した段階でそのジョブの役割は終わり、ジョブそのものの存在がなくなるジョブもある。
【０００７】
単に受信仲介を行って消滅してしまうジョブの場合、受信後のジョブの役割が分からなくなることがあるので、別のジョブからのイベント受信を行うためには受信ジョブを先に起動して必要がある。
これは予め、スケジュールで受信ジョブの起動を決めておく必要があり、もしスケジュール変更になってしまうときには受信ジョブと送信ジョブ間における依存関係があるために、変更によっては他のジョブネットに影響があるケースが考えられる。
【０００８】
本発明の目的は、ジョブネットの実行スケジュールを変更するに伴って発生する、イベント検知して実行する側のジョブネットの実行スケジュールを変更する作業の作業量を軽減、および作業の漏れを防止することが出来るジョブ管理システムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明に係るジョブ管理システムは、ジョブネット間にイベント送受信の依存関係がある場合に、送信側ジョブの起動時刻と受信側ジョブの起動時刻との時間差を予め定義したテーブルと、当該時間差を定義済みのジョブネットの実行スケジュールを変更する際、前記テーブルに定義された時間差を確保して受信側ジョブが起動されるよう、各ジョブネットの実行時刻を参照して各ジョブの実行時刻を変更するジョブ管理マネージャとを備えることを特徴とする。
【発明の効果】
【００１０】
本発明の複数ジョブネット間のスケジュール連動変更を使用すれば、ジョブネットの実行スケジュール変更時の作業量を大幅に削減することができ、また変更漏れも防ぐことができる。
この結果、スケジュール変更時のユーザの負担を軽減することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係るジョブ管理システムの主要部であるジョブ管理マネージャーの構成例を示す図である。
【図２】ジョブネット間の関連の一例を示す図である。
【図３】時間差定義テーブルの例を示す図である。
【図４】ジョブネット内でのジョブの接続を確認するための処理を示すフローチャートである。
【図５】実行予定時刻が設定されたジョブが複数あるかどうかを確認する処理を示すフローチャートである。
【図６】従来のジョブ管理システム構成例を示す図である。
【図７】ジョブネットの例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した複数ジョブネット間のスケジュール連動変更機能の一実施の形態について説明する。
図１は、複数ジョブネット間のスケジュール連動変更機能を備えたジョブ管理マネージャーの構成例を示す図である。
ジョブ管理マネージャー１００は、ジョブ接続先判定手段１０１と、ジョブ起動時間確認手段１０２と、スケジュール時間変更手段１０３から構成され、ジョブネット管理ＤＢ１０４、ジョブスケジュールＤＢ１０５に接続されている。
【００１３】
ジョブ接続先判定手段１０１はジョブネット間におけるジョブの接続関係を判定する手段であり、ジョブとジョブの間の接続関係があるかないかを判断する。判断対象となるとジョブネットはジョブネット管理ＤＢ１０４に格納されている。
ジョブ起動時間確認手段１０２は、ジョブ接続先判定手段１０１によってジョブの接続先があるジョブについて、ジョブの起動時間が設定されているかどうかの確認および、その起動時間の具体的な内容を確認するための手段である。
【００１４】
スケジュール時間変更手段１０３は設定されているジョブの起動時間の変更を行うための手段である。変更前と変更先のスケジュールはそれぞれ名前を変更してジョブスケジュールＤＢ１０５に格納されている。
【００１５】
図２はジョブネット間の関連図を示す図である。
ここでの基本的な動作を説明する。
最初にジョブネットＡのｊｏｂＡを実行し、終了後にｊｏｂＢを実行する。ｊｏｂＢはイベントＡを送信する。ジョブネットＢは、ｊｏｂＣを実行し、終了後にｊｏｂＤを実行する。
ｊｏｂＤはイベントＢを送信する。
複数のジョブネットが並列もしくは時間差を持ちながらそれぞれのジョブを実行する
【００１６】
ジョブネットＡ、ジョブネットＢのジョブの実行及びイベントの実施に伴い、ジョブネットＣのｊｏｂ１はイベントＡを受信し、ｊｏｂ２はイベントＢを受信する。ｊｏｂ１、ｊｏｂ２の双方とも実行完了したなら（ＡＮＤ条件）、ｊｏｂ３を実行する。
ジョブネットＣは、ジョブネットＡやジョブネットＢよりも先に起動し、イベントＡやイベントＢの受信待機している。ｊｏｂ１がイベントＡを受信、ｊｏｂ２がイベントＢを受信する。
【００１７】
ｊｏｂ１やｊｏｂ２の処理ではイベント受信も含めてジョブ内の処理が終了したならば、ＡＮＤジョブでの判定があり、両方が終了したならば後続のｊｏｂ３を実行する。
ここでの実行スケジュールは以下のような設定で定義されている。
（１）ジョブネットＡ：毎日午前１１時に起動
（２）ジョブネットＢ：毎日午前１１時に起動
（３）ジョブネットＣ：毎日午前１０時に起動
このジョブ管理システムにおいて、ジョブネットＡやジョブネットＢの起動時刻を早めるというスケジュール変更を行う。
【００１８】
この時、受信イベントを実施する構成を有するジョブネットＣは、スケジュール変更の可能性があるため早まったイベントを逃さないよう、ジョブネットＡやジョブネットＢよりも先に起動しておくようにジョブネットＣの実行スケジュールも変更する必要がある。
【００１９】
図２で示される例ではジョブネットＡ、ジョブネットＢでは１１時起動予定を９時起動予定に変更、この変更に伴いｊｏｂＢ，ＪｏｂＤがイベントを送信する。
ジョブネットＣではｊｏｂ１，ｊｏｂ２がイベントを受信する。
ここではジョブネットＡ、及びジョブネットＢの起動時刻が変更となった段階でジョブネットＣはそのイベントの送受信前にイベント送受信に関して起動時刻が依存するジョブネットをジョブ管理マネージャ１００が検索し、ジョブネットＣが見つかったらその“起動時間差”をもとにしてジョブネットＣの起動時刻を自動的に変更する。
【００２０】
図３は、“起動時間差”を定義した定義テーブルの内容の一例である。
このテーブルは、本発明における自動スケジュール連動変更機能を使用する際に使用するものである。
このテーブルには、次の情報を格納する。
（１）ジョブネットごとの起動時間差：ジョブネット別に設定する時間差であり、ジョブネット一つに対して一レコード定義する。ここでいう時間差とは、自動スケジュール連動変更機能を使用した際、”イベント送信側よりも最低どれほど早くイベント受信側が起動するようにしておくか”である。従って、ジョブネットの実行スケジュール設定の初期設定時は、この時間差より短い場合もスケジュール可能である。
（２）デフォルトの起動時間差：本機能を使用する際、ジョブネットごとの起動時間差が定義されていないジョブネットの場合は、このデフォルトの値が適用される。
【００２１】
図３の例の場合、ジョブネットＡがイベントを受信する場合における送信側ジョブネットとの起動時間差が１５分、ジョブネットＢがイベントを受信する場合における送信側ジョブネットとの起動時間差が１０分、ジョブネットＣがイベントを受信する場合における送信側ジョブネットとの起動時間差が１時間ということである。
複数のジョブネットからのイベントを受信する場合があり得るので、最低この起動時間差を保つということである。
テーブル内情報の有効期間は、デフォルトの「起動時間差」については当該ジョブ管理システムを運用している間、個々のジョブネットごとの「起動時間差」はジョブネットを定義してからジョブネットを削除するまでの間である。
【００２２】
図４はジョブスケジュールの更新処理の詳細を説明するフローチャートである。
この処理はジョブ処理の予定時刻が設定されているジョブがジョブネット内に複数ある場合、イベントを受信する側のジョブのそれぞれの予定時刻の開始時刻が、ある閾値内の範囲内にあるかどうかによって受信する側のジョブ実行予定時刻を変更の必要性があるかどうかを確認する処理である。
【００２３】
定義されている複数のジョブの実行予定時刻が変更になった場合に、最初に、ジョブネット内でジョブの接続があるかどうかの検索を実施する（ステップ４０１）。
この検索では自ジョブに対して接続の有無を判断する（ステップ４０２）。
ステップ４０２の場合、接続の有無がないのは先頭のジョブだけである（単体のジョブはありえない）、もし先頭のジョブである場合は検索を終了する（ステップ４０８）。
【００２４】
ジョブに対して接続がある場合、その接続先のジョブにジョブ実行予定時刻が設定してあるかどうかを確認する（ステップ４０３）。
もし、ジョブに実行予定時刻が設定されていない場合、検索は終了する（ステップ４０８）。
ジョブに実行予定時刻が設定されている場合、その設定されているジョブがジョブネット内に複数あるかどうかを比較、確認する（ステップ４０４）。
【００２５】
このステップの目的は、スケジュール時刻を変更予定のあるジョブが複数ある場合、それぞれの実行予定時刻が、ある範囲内にある場合は受信元のジョブの時間差を変更すればいいが、ジョブごとの実行予定時刻が大きく異なる場合、イベント受信側のジョブではジョブの変更時間が大きすぎる可能性があり、ジョブの実行自体に支障が起きる可能性がある、そのために複数のジョブ実行時間の時間差を確認する必要がある。
【００２６】
ステップ４０４で複数のジョブに実行予定時間の設定があることを確認し、
それぞれのジョブ実行予定時間差を比較する（ステップ４０５。）
この場合、定義した時間差内の差であるならば、そのままそれぞれのジョブの実行予定時間のスケジュールを変更する（ステップ４０７）。
【００２７】
図２の例で言えば、ジョブネットＡとジョブネットＢの起動時刻が変更になり、その時間差が許容範囲内であるため、ジョブネットＣの起動時間も変更することになる。
しかし、ステップ４０５で複数のジョブの実行予定時刻に定義された範囲内を超える差がある場合はステップ４０６へ移行する。
ここでの時間差範囲はユーザが定義することができるがシステムに応じてその幅が変更される。
【００２８】
例えば他の業務が停止している夜間内に実施されるジョブの場合、ジョブの実行時間を含めてその夜間内に収まる時間内での時間差を定義することになる。
【００２９】
図５はジョブスケジュール更新の詳細、ステップ４０４以降での別処理を示すフローチャートである。
ステップ４０４で、複数のジョブの実行予定時刻の時間差が大きい場合（ステップ５０１）、まず、ジョブネット内での複数のジョブの実行予定時刻を比較してその時間差が定義されている許容時間差範囲内であるかどうかを確認する（ステップ５０２）。
その範囲が大きく異なる場合は、先に実行されるジョブの予定時間に合わせてイベント先のジョブのスケジュールを変更する（ステップ５０３、図２の場合ではジョブネットＡに変更時間に合わせてジョブネットＣのスケジュールを変更する）。
次にジョブＢの実行予定時刻を確認するために、再度、ジョブネット内の検索をを行い、予定されているジョブの変更時刻に合わせてイベント先のジョブのスケジュールを変更する（ステップ５０４）。
【符号の説明】
【００３０】
１００    ジョブ管理マネージャー
１０１    ジョブ接続先判定手段
１０２    ジョブ起動時間確認手段
１０３    スケジュール時間変更手段
１０４    ジョブネット管理ＤＢ
１０５    ジョブスケジュールＤＢ
【図１】
2015064848.tif 000003
【図２】
2015064848.tif 000004
【図３】
2015064848.tif 000005
【図４】
2015064848.tif 000006
【図５】
2015064848.tif 000007
【図６】
2015064848.tif 000008
【図７】
2015064848.tif 000009