説明

ジョブ設定装置およびジョブ設定方法

【課題】 エンタープライズシステムの複雑化にともなって、システム管理者の作業負担はますます増大しつつある。
【解決手段】 実行指示部122は、複数のジョブの実行スケジュールを示すスケジュール設定情報にしたがって、外部のジョブ実行装置に各ジョブの実行を指示する。状態監視部124は、実行を指示されたジョブの実行状態を監視する。スケジュール設定情報は、少なくとも複数のジョブの親子関係、各ジョブの実行開始タイミングと実行終了タイミングを示す情報を含む。第1判定部142は、状態監視部124により監視されているジョブがスケジュールよりも遅れているときには、そのジョブを第1遅延ジョブとして検出する。第2判定部144は、第1遅延ジョブの影響を受けて、実行スケジュールよりも遅れるジョブを第2遅延ジョブとして検出する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ジョブの実行を制御するための技術、特に、依存関係を有する複数のジョブの実行スケジュールを管理するための技術、に関する。
【背景技術】
【0002】
企業や公共施設などの運用を支えるエンタープライズシステム(Enterprise System)は、今や、大小さまざまな組織の基盤システムとして導入が広がっている。エンタープライズシステムは、ノード端末から得られるデータを集計、蓄積、解析、加工した上でより付加価値の高い情報を出力する。エンタープライズシステムは複雑化する組織マネジメントをより効率化するために発展を続けている。
【0003】
このようなエンタープライズシステムは、ジョブの集合体としてモデリングされることが多い。ジョブとは、たとえば、データベースの更新処理や、各ノード端末から得られたデータに対する演算処理など、システムにおいて基本的な実行単位となる処理である。これらのジョブは、互いに親子関係を有している。各ジョブについては、親にあたるジョブの実行が完了してから子にあたるジョブが実行されるように設計される。
【0004】
各ジョブの実行スケジュールはあらかじめ設定されている。実行スケジュールとは、たとえば、各ジョブの実行開始時刻や実行終了予定時刻などである。エンタープライズシステムは、実行スケジュールにしたがって各ジョブを実行させる。また、実行された各ジョブの状態が監視され、実行スケジュールと比べて乖離があれば検出される。こうして、エンタープライズシステムはジョブを単位として業務全体を管理する。
【特許文献1】特開平7−129415号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
エンタープライズシステムは、その導入先となる組織の大きさ、業務の複雑さによってその運用設計は多様である。また、組織の業務ににあわせて設計されるべきシステムであるため、業務の変化に応じてエンタープライズシステムの設計も変更される必要がある。エンタープライズシステムには、高い機能性や信頼性が必要であることはもちろんであるが、設計変更に対する柔軟性、更には障害発生時の対策を用意しておくことも同様に重要である。
【0006】
実行中のジョブになんらかの障害が発生したときには、他のジョブに対してどの程度の影響が発生するかをシステム管理者は判断する必要がある。従来、システム管理者は、このような場合、実行スケジュールを記載したスケジュールチャートを読み解いて、その影響の範囲を特定し、システム復旧予定時刻を見積もっていた。
【0007】
システムの設計変更時においても同様である。実行スケジュールを変更するときにも、システム管理者はその変更によりシステムにどの程度のスケジュール的な影響が及ぶかを判断する必要がある。従来、システム管理者はこのような場合にも、スケジュールチャートと参照しながら、システムの設計変更を行っていた。
エンタープライズシステムの複雑化にともなって、このような場合におけるシステム管理者の作業負担はますます増大しつつある。
【0008】
本発明はこのような状況に鑑みてなされたものであり、その主たる目的は、エンタープライズシステムにおいてジョブの実行スケジュールを好適に制御するための技術を提供することにある。
【課題を解決するための手段】
【0009】
本発明のある態様は、ジョブ管理装置である。
この装置は、親にあたるジョブの実行終了を条件として子にあたるジョブが実行されるように親子関係が定められた複数のジョブを管理する。各ジョブは実行スケジュールにしたがって、外部のジョブ実行装置にて実行される。この装置は、ジョブの実行状態を監視し、その実行終了タイミングが実行スケジュールよりも遅れるときには、そのジョブを第1遅延ジョブとして検出するとともに、第1遅延ジョブに対して子関係にあるジョブのうち、実行開始タイミングを実行スケジュールよりも遅らせるべきジョブを第2遅延ジョブとして検出する。
【0010】
この態様によると、あらかじめ定められた実行スケジュールから遅れているジョブを検出するとともに、その影響によって実行スケジュール変更が必要なジョブも特定できる。そのため、あるジョブについて実行遅延が生じても、その影響範囲を簡易に特定しやすくなる。
なお、ここでいう「子関係にあるジョブ」とは、ジョブに対する直接の子にあたるジョブである必要はなく、第1遅延ジョブの実行終了を条件として実行されるように設定されているジョブであればよい。すなわち、第1遅延ジョブの子にあたるジョブだけでなく、その孫、ひ孫にあたるジョブまで含めてもよい。
【0011】
本発明の更に別の態様は、ジョブ管理システムである。
このシステムは、ジョブ管理装置と、ジョブ管理装置とネットワークを介して接続され、ジョブ管理装置からの指示に応じたジョブを実行するジョブ実行装置と、を備える。
【0012】
本発明の更に別の態様は、ジョブ設定装置である。
この装置は、親にあたるジョブの実行終了を条件として子にあたるジョブが実行されるように親子関係が定められた複数のジョブを管理する。この装置は、ジョブの実行スケジュールを変更するための編集画面を表示させ、変更のためのユーザからの入力を受け付ける。そして、設定変更の入力対象とされたジョブに対して子関係にあるジョブのうち、その変更により実行開始タイミングを実行スケジュールよりも遅らせるべきジョブを影響ジョブとして検出する。
【0013】
なお、以上の構成要素の任意の組合せ、本発明を方法、装置、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。
【発明の効果】
【0014】
本発明によれば、エンタープライズシステムにおいてジョブの実行スケジュールを好適に制御するための技術を提供することができる。
【発明を実施するための最良の形態】
【0015】
図1は、エンタープライズシステムのハードウェア構成図である。
エンタープライズシステム220は、企業や公共施設のような組織の業務管理のために導入されるシステムである。エンタープライズシステム220は、地理的に分散された複数の組織を統合するシステムとして構成されてもよい。
【0016】
本実施例におけるエンタープライズシステム220は、ジョブ管理装置100、ジョブ実行装置群200およびノード群210を含む。
ジョブ管理装置100は、実行スケジュールにしたがって複数のジョブの実行をジョブ実行装置群200に指示する。ジョブ管理装置100については、次の図2以降に関連して詳述する。
ジョブ実行装置群200は、複数のジョブ実行装置202を含む。
各ジョブ実行装置202は、ジョブ管理装置100から割り当てられたジョブを実行する。ジョブ管理装置100は、ジョブ実行装置群200に含まれるジョブ実行装置202のうちあらかじめ定められた割当ルールに応じて、いずれかのジョブ実行装置202にジョブを割り当ててもよい。あるいは、各ジョブ実行装置202の処理負荷が分散するように、他のジョブ実行装置202よりも処理負荷が軽い状態にあるジョブ実行装置202に対して優先的にジョブを割り当ててもよい。
ジョブ実行のためのプログラムデータはあらかじめジョブ実行装置202が保持してもよい。あるいは、ジョブ実行指示に際してジョブ管理装置100からジョブ実行装置202にプログラムデータがダウンロードされてもよい。ジョブ実行装置202は、ジョブの実行に際し、ジョブの実行状態をジョブ管理装置100やノード群210に通知する。
【0017】
ノード群210は、複数のノード端末212を含む。
各ノード端末212は、ユーザが、業務遂行のために使用するコンピュータ端末である。ノード端末212は業務のさまざまなデータを取得する。ジョブ実行装置202は、ジョブの実行に際して、ノード端末212とデータを送受する。また、ジョブ実行装置202は、ノード端末212から取得したデータに基づいてジョブを実行する。
【0018】
まとめると、ノード端末212のデータを変数として、ジョブ実行装置202はさまざまなジョブを実行する。そして、ジョブの実行タイミングは、ジョブ管理装置100によって制御されることになる。このように、ノード端末212から得られるデータに基づいて、内容定義された複数のジョブが定期的に実行されることにより、エンタープライズシステム220の運用がなされている。
なお、ジョブ管理装置100、ジョブ実行装置群200およびノード群210はイントラネット(Intranet)により互いに接続されている。
【0019】
図2は、ジョブ管理装置の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
ここでは、主として各機能ブロックの発揮すべき機能について述べ、その具体的な作用については、図3以降に関連して説明する。
【0020】
ジョブ管理装置100は、ユーザインタフェース処理部110、通信部120、データ処理部130およびデータ格納部170を含む。
ユーザインタフェース処理部110は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。なお、ユーザは所定のジョブ実行装置202を介してユーザインタフェース処理部110とアクセスしてもよい。
通信部120は、ジョブ実行装置群200との通信処理を担当する。通信部120は、イントラネットのほかにも、インターネットなどの一般的な通信回線と接続されてもよい。
【0021】
データ処理部130は、ユーザインタフェース処理部110や通信部120から取得されたデータをもとにして各種のデータ処理を実行する。データ処理部130は、ユーザインタフェース処理部110、通信部120およびデータ格納部170の間のインタフェースの役割も果たす。
データ格納部170は、あらかじめ用意された各種の設定データや、データ処理部130から受け取ったデータを格納する。
【0022】
ユーザインタフェース処理部110は、入力部112と表示部114を含む。
入力部112は、ユーザからの入力操作を受け付ける。表示部114は、ユーザに対して各種情報を表示する。
通信部120は、実行指示部122と状態監視部124を含む。
実行指示部122は、各ジョブ実行装置202に対してジョブの実行を指示する。状態監視部124は、各ジョブ実行装置202におけるジョブの実行状態を実行情報として取得する。実行情報とは、たとえば、ジョブの実行開始時刻、実行終了時刻、実行に要した時間、終了ステータスなどである。ジョブ実行装置202は、このような実行情報をジョブ管理装置100に適宜送信する。ここで、終了ステータスとは、正常終了、異常終了、あるいは、ジョブが実行途中でユーザにより実行キャンセルされた場合のスキップ終了など、ジョブの終了態様を示す情報である。
【0023】
データ格納部170は、設定情報記憶部172と実績情報記憶部174を含む。
設定情報記憶部172は、スケジュール設定情報を保持する。スケジュール設定情報とは、複数のジョブの実行スケジュールを示す情報である。実績情報記憶部174は、実行情報を元にして、各ジョブの実行実績を実績情報として保持する。
ジョブは、親にあたるジョブが実行終了したことを条件として子にあたるジョブが実行されるように、互いに親子関係が定められている。また、各ジョブは実行開始予定時刻や実行終了予定時刻があらかじめスケジューリングされている。スケジュール設定情報はジョブの親子関係のほかにも、実行開始予定時刻や実行終了予定時刻についての情報を含む。スケジュール設定情報については、次の図3以降、特に図4に関連して詳述する。
実績情報は、ジョブが実際に実行に要した時間である実行時間を示す情報である。実績情報について、特に図5に関連して詳述する。
【0024】
データ処理部130は、遅延判定部140、スケジュール調整部150および実行制御部160を含む。
実行制御部160は、スケジュール設定情報にしたがって、各ジョブの実行開始タイミングを制御する。実行開始タイミングに至ったときには、実行指示部122にジョブの実行を指示する。実行制御部160は、そのために時計機能を内蔵する。
【0025】
遅延判定部140は、各ジョブが実行スケジュールから遅れていないか、あるいは、実行スケジュールから遅れそうかを判定する。遅延判定部140は、第1判定部142と第2判定部144を含む。第1判定部142は、実行中のジョブが実行スケジュールよりも遅れているか否かを判定する。以下、第1判定部142により検出されたジョブのことを「第1遅延ジョブ」とよぶ。第2判定部144は、第1遅延ジョブの影響により実行スケジュールよりも遅れることが想定されるジョブを「第2遅延ジョブ」として検出する。
【0026】
たとえば、第1遅延ジョブの実行終了を条件として実行開始されるジョブの場合、第1遅延ジョブの実行終了時刻が遅れれば、そのジョブの実行開始時刻も遅れてしまう可能性がある。特に、第1遅延ジョブの遅れが大きい場合には、複数のジョブに対してその影響が波及する。第2判定部144は、第1遅延ジョブの影響がどの程度まで及ぶかを判定する機能ブロックであるといえる。
スケジュール調整部150は、第1遅延ジョブや第2遅延ジョブが検出されたときに、これらのジョブの実行スケジュールを再設定する。具体的な再設定方法については、特に図6に関連して詳述する。
なお、第1遅延ジョブと第2遅延ジョブをまとめていうときには、単に、「遅延ジョブ」とよぶものとする。
【0027】
図3は、本実施例において初期設定時におけるジョブのスケジュールチャートである。
同図では、ジョブ1〜ジョブ6の6つのジョブを例として説明するが、実際には、これらのほかにも多くのジョブがスケジュール管理の対象となりうる。表示部114は、同図に示すような態様にてスケジュールチャートを画面表示することもできる。
ジョブオブジェクト180は、各ジョブを図形オブジェクトとして表現したものである。ジョブ1は、10:00に実行開始予定のジョブである。そして、10:30に実行終了が予定されている。ただし、ジョブの実行は、ジョブ実行装置202における処理負荷などによる影響を受けるので、実行終了予定時刻はあくまでも予定の時刻である。
【0028】
ジョブ1の実行終了を条件として、ジョブ2とジョブ5が実行可能となる。ジョブ2とジョブ5は共に、親にあたるジョブ1の実行終了予定時刻よりも遅い時刻を実行開始時刻としている。ここでは、ジョブ1の子にあたるジョブ(以下、単に「子ジョブ」とよぶ)は、ジョブ2とジョブ5である。このように、あるジョブに対する直接的な子ジョブのことを「狭義の子ジョブ」とよぶ。一方、ジョブ3、ジョブ4、ジョブ6も、ジョブ1の実行終了を条件として実行されるジョブである。ただし、これらのジョブはジョブ1に対する直接的な子ジョブではない。以下、このような、あるジョブに対する間接的な子ジョブまで含めていうときには「広義の子ジョブ」とよぶ。本明細書においては、特に断らないかぎり、「子ジョブ」というときには「広義の子ジョブ」を指すものとする。
【0029】
実行スケジュールは、スケジュール設定情報として設定情報記憶部172に記憶されている。実行制御部160は、時計機能により時間を計測する。そして、いずれかのジョブの実行開始時刻に至ったら、そのジョブを実行するように実行指示部122に指示する。実行指示部122は、指示されたジョブをジョブ実行装置202に割り当てる。ジョブ実行装置202は割り当てられたジョブを実行する。このとき、状態監視部124は、ジョブ実行装置202との通信により、ジョブの実行状態を監視する。
表示部114は、同図に示したジョブの実行スケジュールをグラフィック表示する。詳しくは後述するが、ユーザはこのような画面を見ながらジョブの実行スケジュールを変更することもできる。
【0030】
図4は、ジョブ設定データのデータ構造図である。
ジョブ設定データ250は、各ジョブについてのスケジュールに関する設定情報を示す。ジョブ設定データ250の集合として、スケジュール設定情報が構成される。すなわち、スケジュール設定情報は、これらのジョブ設定データ250がリスト構造となって構成される。
【0031】
運用日付欄232は、ジョブの実行が開始された日付を示す。自ジョブ名欄236は、ジョブの名称を示す。ここでは、図3に示したジョブ5のジョブ設定データ250を例として説明している。親ジョブ名欄238は、親にあたるジョブ(以下、単に「親ジョブ」とよぶ)の名前を示す。ここでは、直接の親となる狭義の親ジョブのみを示す。子ジョブ名欄240は、子ジョブの名前を示す。ここでも直接の子となる狭義の子ジョブのみを示す。開始時刻予定欄242は、ジョブの実行開始時刻を示す。終了時刻予定欄244は、ジョブの実行終了予定時刻を示す。実行終了予定時刻は、システム設計者が見積もって設定してもよい。
【0032】
図5は、実績情報記憶部のデータ構造図である。
実績情報記憶部174は、ジョブの実行実績を示す実績データを保持する。ジョブ名欄186はジョブの名前を示す。実行時間欄188は、過去におけるジョブの実行時間を示す。たとえば、ジョブ1は、3月4日には実行に24分間を要しており、3月3日は28分間を要している。なお、実績情報記憶部174は、所定期間における実行時間の平均値など、実行情報を加工したデータとして実績情報を保持してもよい。
ジョブ5は、図3のスケジュールチャートにて示したように10:40に実行が開始され10:50に実行の終了が予定されるジョブである。すなわち、10分間の実行時間が想定されている。しかし、3月3日には、160分間を実行時間として要している。そのため、3月3日の運用においては、ジョブ5が全体としての実行スケジュールを狂わせていることがわかる。すなわち、3月3日の運用においては、ジョブ5が第1遅延ジョブとして検出される。
次に、このような3月3日におけるジョブ5の実行遅延を例として、次の図6にて第2遅延ジョブの検出方法およびスケジュール再設定方法を説明する。
【0033】
図6は、遅延発生時におけるジョブのスケジュールチャートである。
ここでは、ジョブ5の実行開始時刻は10:40で初期設定と変わらないが、実行終了時刻は12:20となっている。初期設定時における実行終了予定時刻は、図3に示したように10:50であるので、ジョブ5は実行スケジュールよりも大幅に遅れている。状態監視部124は、このジョブ5の実行が終了したとき、時刻が12:20であることを検出する。第1判定部142は、スケジュール設定情報に示される終了予定時刻「10:40」よりも実際の実行終了時刻「12:20」が遅いため、ジョブ5を第1遅延ジョブとして検出する。
【0034】
ジョブ6は、ジョブ5の狭義の子ジョブである。ジョブ5の実行終了時刻は、ジョブ6の実行開始時刻として予定されている11:00よりも遅い時刻である。これにより、第2判定部144は、ジョブ6を第2遅延ジョブとして検出する。スケジュール調整部150は、ジョブ6の実行開始時刻を遅い時刻にスケジュール設定しなおす。同図においては、ジョブ6の実行開始時刻は12:25に再設定されている。また、本来、ジョブ6の実行時間は30分間が予定されているので、あわせてジョブ6の実行終了予定時刻も12:55に再設定される。
【0035】
ジョブ4は、ジョブ5の広義の子ジョブであり、ジョブ6の狭義の子ジョブである。ここで、ジョブ6のスケジュール再設定後の実行終了予定時刻は12:55である。これは、ジョブ6の実行開始時刻として予定されている13:00よりも早い時刻である。そのため、第2判定部144は、ジョブ4を第2遅延ジョブとして検出しない。ジョブ4に対する子ジョブが存在しても、それらの子ジョブには、ジョブ5の実行遅延の影響が及ばない。したがって、ジョブ5の実行遅延による影響は、ジョブ6にまでは及ぶが、ジョブ4までは及ばないといえる。同図においては、第1遅延ジョブであるジョブ5と第2遅延ジョブであるジョブ6に対応するジョブオブジェクト180がハッチングされている。
【0036】
表示部114は、第1遅延ジョブが検出されたときには、図6に示すようなグラフィカルな態様にてスケジュールチャートを表示する。このとき、第1遅延ジョブと第2遅延ジョブに対応するジョブオブジェクト180は、他のジョブオブジェクト180とは異なる色彩や形状にて表示されてもよい。あるいは、遅延ジョブに対応するジョブオブジェクト180には、その旨を示す文字や記号が付記されて表示されてもよい。
このような表示方法によれば、ジョブ管理装置100のユーザは、第1遅延ジョブが検出されたときに、その影響が及ぶジョブの範囲を簡易に視認できる。
【0037】
図7は、遅延ジョブの検出処理過程を示すフローチャートである。
まず、状態監視部124は、いずれかのジョブ実行装置202において実行中のジョブが実行完了したときにこれを検出する(S10)。ジョブ実行装置202は、ジョブの実行を完了したときには、その旨を示すデータを通信部120に送信する。検出されないかぎり(S10のN)、以下の処理は実行されない。実行終了が検出されたときには(S10のY)、第1判定部142はスケジュール設定情報からみて、そのジョブの実行終了時刻に遅延を生じているか判定する(S12)。
【0038】
遅延が発生していなければ、すなわち、そのジョブが第1遅延ジョブでなければ(S12のN)、後述するS24に処理はスキップする。遅延が発生していれば、すなわち、第1遅延ジョブが検出されれば(S12のY)、第2判定部144は、第1遅延ジョブに広義の子ジョブがあるか否かを判定する(S14)。子ジョブがなければ(S14のN)、処理はS24にスキップされる。子ジョブがあれば(S14のY)、第2判定部144はその子ジョブのスケジュールを再設定する必要があるか否かを判定する(S16)。
【0039】
第1遅延ジョブの実行終了時刻がその子ジョブの実行開始時刻を超えた場合には、第2判定部144はスケジュールの再設定が必要と判定する。再設定が必要なときには、すなわち、その子ジョブが第2遅延ジョブであると判定されたときには(S16のY)、スケジュール調整部150は、その子ジョブのスケジュールを再設定する(S18)。たとえば、親ジョブの実行終了予定時刻よりも所定時間以上、たとえば、5分程度後の時刻が実行開始時刻となるようにスケジュールを再設定する。また、それにあわせて、子ジョブの実行終了予定時刻も調整する。一方、再設定の必要がないとき、すなわち、第1遅延ジョブの実行遅延によりスケジュールの再設定が必要なければ(S16のN)、S18はスキップされる。
【0040】
第1遅延ジョブの広義の子ジョブすべてについてS16およびS18のスケジュール性設定に関する処理が終了していなければ(S20のN)、第2判定部144は残りの子ジョブの中から次の子ジョブを選択する(S22)。このとき、選択された子ジョブについてスケジュールの再設定が必要かどうか再び判定処理される(S16)。こうして、第1遅延ジョブが検出されたときには、その広義の子ジョブすべてについてスケジュール再設定の要否が判定される。
これにより、第1遅延ジョブにより影響を受ける子ジョブの範囲が特定される。また、それに付随してスケジュールの再設定がなされる。そのため、システムの復旧予定時刻の見積もりを簡易に実行できる。
【0041】
S24において、データ処理部130は実績情報記憶部174に対して、ジョブの実行情報を実績情報に反映させて記録する。本実施例においては、図5にて示したように運用日ごとに各ジョブの実行時間が実績情報として記録される。変形例として、データ処理部130はS24において所定期間における各ジョブの実行時間の平均値を計算してもよい。
【0042】
S12においては、スケジュール上の実行終了予定時刻を実際の実行終了時刻が超えたか否かにより第1遅延ジョブを検出するとして説明した。そのほかにも、スケジュール設定情報における実行終了予定時刻からみて所定時間以上経過したとき、あるいは、実行終了予定時刻より前であっても、所定の閾値として定めた時刻に遅れた場合には第1遅延ジョブとして検出してもよい。これは、第2遅延ジョブの検出判定についても同様である。
【0043】
S18において、スケジュール調整部150は、再設定された実行開始時刻にスケジュール設定情報にて想定されていた実行時間を加算することにより、実行終了予定時刻を割り出す。そのほかにも、スケジュール調整部150は、実績情報記憶部174から特定される実行時間を参照して実行終了予定時刻を割り出してもよい。たとえば、ジョブ6の実行開始時刻が12:25に再設定されたとする。ここで、ジョブ6の平均実行時間が25分であれば、実行終了予定時刻は12:50として再設定されてもよい。このような態様によれば、より実態に近い実行時間にあわせてスケジュール調整できる。また、データ処理部130は、実績情報を参照して、適宜、各ジョブの実行終了予定時刻を変更してもよい。このような態様によれば、エンタープライズシステム220の運用中であっても、適宜最適な実行終了予定時刻を設定できる。
【0044】
第1判定部142は、ジョブの実行が終了したときに第1遅延ジョブであるか否かを判定するのではなく、ジョブの実行中において第1遅延ジョブであるか否かを判定してもよい。スケジュール設定情報は、ジョブの実行開始時刻や実行終了予定時刻だけでなく、ジョブの実行フェーズごとに複数の時刻を設定してもよい。たとえば、3段階のフェーズに分けることができるジョブの場合、第1フェーズの終了予定時刻、第2フェーズの終了予定時刻がスケジュール設定情報として含まれてもよい。そして、第1判定部142は、状態監視部124から得られるジョブの実行情報を参照して、第1フェーズの終了予定時刻や第2フェーズの終了予定時刻について実行スケジュールからの遅れを検出することにより、第1遅延ジョブを検出してもよい。このような態様によれば、ジョブの実行中において遅延の発生を判断できるので、より早い段階で障害の検出、スケジュール調整、影響範囲の特定を実行できる。
【0045】
図8は、新規ジョブ追加時におけるジョブのスケジュールチャートである。
表示部114が表示するスケジュール編集用の画面において、ユーザは新たにジョブを追加したり、あるいはジョブのスケジュール設定を変更できる。ここでは、図3に示したスケジュールチャートにおいて、新たにジョブ7が新規に追加される場合を示す。
【0046】
ユーザは、GUI(Graphical User Interface)により、ジョブ5とジョブ6の間にジョブ7のジョブオブジェクト180を挿入する。これにより、ジョブ7はジョブ5の狭義の子ジョブとなり、ジョブ6の狭義の親ジョブとなる。ここでは、ユーザはジョブ7の実行開始時刻を12:00、実行終了予定時刻を12:30として設定している。データ処理部130は、この入力に応じて、ジョブ7に対応するジョブ設定データ250を設定情報記憶部172に格納する。また、これにあわせて、ジョブ5に対応するジョブ設定データ250の子ジョブ名欄240もジョブ7に書き換えられる。ジョブ6に対応するジョブ設定データ250の親ジョブ名欄238もジョブ7に書き換えられる。
【0047】
その一方、ジョブ7の新規追加により、ジョブ6の実行開始時刻11:00がジョブ7の実行終了予定時刻を12:30よりも早くなってしまうので、スケジュールを再設定する必要がある。
【0048】
図9は、新規ジョブが追加されスケジュール調整されたあとのスケジュールチャートである。
第1判定部142は、編集対象となったジョブ7を第1遅延ジョブに相当するジョブ、すなわち、遅延の発生源となるジョブ(以下、「編集ジョブ」とよぶ)として特定する。そして、第2判定部144は、ジョブ7の広義の子ジョブについて、スケジュール再設定が必要な子ジョブを特定する。ここでは、ジョブ6のスケジュールについて再設定が必要である。以下、編集ジョブにより、スケジュール再設定の必要が生じるジョブのことを「影響ジョブ」とよぶ。
【0049】
スケジュール調整部150は、少なくともジョブ7の実行終了予定時刻12:30よりも遅い時刻をジョブ6の実行開始時刻として設定する。ジョブ6の実行開始時刻の遅延にあわせて、その実行終了予定時刻も繰り延べされ13:30となる。
【0050】
第2判定部144は、ジョブ6の狭義の子ジョブ、すなわち、ジョブ7の広義の子ジョブであるジョブ4についても、スケジュール再設定が必要が判定する。言い換えれば、ジョブ4が影響ジョブに相当するか判定する。ジョブ4の本来の実行開始時刻は13:00に設定されているので、ジョブ6の新しい実行終了予定時刻13:30より早くなってしまう。そのため、スケジュール調整部150は、同様の方法にてジョブ4のスケジュールを再設定する。データ処理部130は、影響ジョブのジョブ設定データ250を更新して、設定情報記憶部172に記録する。
【0051】
表示部114は、編集ジョブであるジョブ7と、その編集の影響によってスケジュール変更された影響ジョブであるジョブ6およびジョブ4のジョブオブジェクト180を、他のジョブのジョブオブジェクト180とは異なる色彩や形状にて表示させる。これにより、ユーザはスケジュールチャートの編集中であっても、スケジュール変更による影響範囲を簡易に視認できる。
【0052】
図10は、新規ジョブの追加にともなう処理過程を示すフローチャートである。
まず、いずれかのジョブについて新規追加も含めた設定変更があるかを第1判定部142は判定する(S40)。変更がなければ以下の処理は実行対象とはならない。変更があれば(S40のY)、第2判定部144は編集ジョブについて広義の子ジョブがあるかを判定する(S42)。なければ(S42のN)、以下の処理は実行対象とならない。子ジョブが存在すれば(S42のY)、第2判定部144はその子ジョブのスケジュール再設定が必要か、すなわち、その子ジョブが影響ジョブであるかを判定する。再設定が必要であれば(S44)、スケジュール調整部150はその子ジョブのスケジュールを再設定する(S46)。再設定が必要でなければ(S44のN)、S46の処理はスキップされる。編集ジョブの広義の子ジョブすべてについてS44やS46のスケジュール再設定処理が完了していなければ(S48のN)、第2判定部144は次の子ジョブを選択する(S50)。そして、再び再設定の要否が判定される(S44)。一方、すべての子ジョブについての処理が完了していれば(S48のY)、処理は終了する。
【0053】
以上、本実施例におけるエンタープライズシステム220、特にジョブ管理装置100によれば、親子関係を有するジョブの実行がスケジュールから遅れた場合であっても、その影響範囲を簡易に特定できる。また、図7に関連して説明したように、ジョブの進捗度により実行中の遅延の有無を判定してもよい。スケジュール調整部150は、第1遅延ジョブや編集ジョブによる影響が他のジョブに及ぶときには、これらのジョブのスケジュールを自動的に再調整する。そのため、システム管理者は表示されるスケジュールチャートによって、システムがスケジュール通りに復旧するまでに要する時間を容易に見積もることができる。特に、表示部114は遅延ジョブや編集ジョブ、影響ジョブなどを他のジョブとは異なる態様にて図表示するので、システム管理者は迅速にシステム全体において注目すべき箇所を特定できる。これは、特に、何百、何千というジョブによって構成されるエンタープライズシステム220については特に有効な機能であるといえる。
【0054】
以上、実施の形態をもとに本発明を説明した。なお本発明はこの実施の形態に限定されることなく、そのさまざまな変形例もまた、本発明の態様として有効である。
【0055】
なお、請求項に記載のスケジュール表示部や編集画面表示部の機能は、本実施例においてはユーザインタフェース処理部110、特に、表示部114により実現される。請求項に記載のジョブ設定装置は、本実施例においてはジョブ管理装置100の機能のうち、ジョブのスケジュール編集に関連する一部の機能として実現される。
なお、これら請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【図面の簡単な説明】
【0056】
【図1】エンタープライズシステムのハードウェア構成図である。
【図2】ジョブ管理装置の機能ブロック図である。
【図3】本実施例において初期設定時におけるジョブのスケジュールチャートである。
【図4】ジョブ設定データのデータ構造図である。
【図5】実績情報記憶部のデータ構造図である。
【図6】遅延発生時におけるジョブのスケジュールチャートである。
【図7】遅延ジョブの検出処理過程を示すフローチャートである。
【図8】新規ジョブ追加時におけるジョブのスケジュールチャートである。
【図9】新規ジョブが追加されスケジュール調整されたあとのスケジュールチャートである。
【図10】新規ジョブの追加にともなう処理過程を示すフローチャートである。
【符号の説明】
【0057】
100 ジョブ管理装置、 110 ユーザインタフェース処理部、 112 入力部、 114 表示部、 120 通信部、 122 実行指示部、 124 状態監視部、 130 データ処理部、 140 遅延判定部、 142 第1判定部、 144 第2判定部、 150 スケジュール調整部、 160 実行制御部、 170 データ格納部、 172 設定情報記憶部、 174 実績情報記憶部、 180 ジョブオブジェクト、 200 ジョブ実行装置群、 202 ジョブ実行装置、 210 ノード群、 212 ノード端末、 220 エンタープライズシステム、 250 ジョブ設定データ。

【特許請求の範囲】
【請求項1】
親にあたるジョブの実行終了を条件として子にあたるジョブが実行されるように親子関係が定められた複数のジョブについて、
外部のジョブ実行装置にてジョブを実行させるための実行スケジュールを示すスケジュール設定情報を保持するスケジュール記憶部と、
前記スケジュール設定情報の設定内容を変更するための編集画面を表示させる編集画面表示部と、
前記編集画面において、前記スケジュール設定情報を変更するためのユーザからの入力を受け付ける編集入力部と、
設定変更の入力対象とされたジョブに対して子関係にあるジョブのうち、その変更により実行開始タイミングを実行スケジュールよりも遅らせるべきジョブを影響ジョブとして検出する影響ジョブ検出部と、
を備えることを特徴とするジョブ設定装置。
【請求項2】
前記編集入力部は、前記スケジュール設定情報に対して新規にジョブを追加するためのユーザからの入力を受け付け、
前記影響ジョブ検出部は、新規に追加されたジョブに対して子関係にあるジョブのうち、その追加により実行開始タイミングを実行スケジュールよりも遅らせるべきジョブを影響ジョブとして検出することを特徴とする請求項1に記載のジョブ設定装置。
【請求項3】
前記スケジュール設定情報を図画像として画面表示させるスケジュール表示部を更に備え、
前記スケジュール表示部は、少なくとも前記影響ジョブとそれ以外のジョブをユーザが区別できるようにジョブに対応する図形オブジェクトをそれぞれ異なる態様にて表示させることを特徴とする請求項1または2に記載のジョブ設定装置。
【請求項4】
親にあたるジョブの実行終了を条件として子にあたるジョブが実行されるように親子関係が定められた複数のジョブについて、
外部のジョブ実行装置にてジョブを実行させるための実行スケジュールを示すスケジュール設定情報を変更するためのユーザからの入力を受け付けるステップと、
設定変更の入力対象とされたジョブに対して子関係にあるジョブのうち、その変更により実行開始タイミングを実行スケジュールよりも遅らせるべきジョブを影響ジョブとして検出するステップと、
を備えることを特徴とするジョブ設定方法。
【請求項5】
親にあたるジョブの実行終了を条件として子にあたるジョブが実行されるように親子関係が定められた複数のジョブについて、
外部のジョブ実行装置にてジョブを実行させるための実行スケジュールを示すスケジュール設定情報を変更するためのユーザからの入力を受け付ける機能と、
設定変更の入力対象とされたジョブに対して子関係にあるジョブのうち、その変更により実行開始タイミングを実行スケジュールよりも遅らせるべきジョブを影響ジョブとして検出する機能と、
をコンピュータに発揮させることを特徴とするジョブ設定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−268509(P2006−268509A)
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願番号】特願2005−86384(P2005−86384)
【出願日】平成17年3月24日(2005.3.24)
【出願人】(000155469)株式会社野村総合研究所 (1,067)