JP2011134239A - ジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラム - Google Patents

ジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラム Download PDF

Info

Publication number
JP2011134239A
JP2011134239A JP2009295171A JP2009295171A JP2011134239A JP 2011134239 A JP2011134239 A JP 2011134239A JP 2009295171 A JP2009295171 A JP 2009295171A JP 2009295171 A JP2009295171 A JP 2009295171A JP 2011134239 A JP2011134239 A JP 2011134239A
Authority
JP
Japan
Prior art keywords
job
execution
time
node
job flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009295171A
Other languages
English (en)
Other versions
JP5445124B2 (ja
Inventor
Hirofumi Kakiuchi
宏文 垣内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009295171A priority Critical patent/JP5445124B2/ja
Publication of JP2011134239A publication Critical patent/JP2011134239A/ja
Application granted granted Critical
Publication of JP5445124B2 publication Critical patent/JP5445124B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】実行上の制約条件が設定されている場合にも正確に実行開始時刻を予測することを可能とするジョブフロー管理装置等を提供する。
【解決手段】ジョブ属性データ110を記憶する記憶手段と、実行開始を指示するスケジュール管理手段101と、各ジョブの属性を分析するジョブフロー定義解釈手段103と、各々のジョブを転送して実行を依頼するジョブ投入手段104と、警告を発信するイベント通知手段105とを備えると共に、ジョブフロー定義解釈手段103が、ジョブフローの終点から各ノードを辿りつつ予想開始時刻を計算する予想開始時刻計算部103aと、特定のノードに合流する各ノードの中で最も遅く実行されるものから予想開始時刻を順次計算させる実行順序判定部103bと、予想開始時刻が目標実行時刻と比較して所定の時間以上遅れる場合に警告を発信させる警告発信部103cとを有する。
【選択図】図1

Description

本発明はジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラムに関し、特に実行するジョブフローで各ジョブの開始時刻を正確に予測しうるジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラムに関する。
ジョブフロー管理装置は、複数のバッチジョブ(以後単にジョブという)をフロー状に定義したジョブフローで、各々のジョブをあらかじめ定義された順序の通りに、ネットワークを介して接続された他のコンピュータ装置に転送して実行させるコンピュータ装置である。各々のジョブは、UNIX(登録商標)のシェルスクリプトやウィンドウズ(登録商標)のバッチスクリプトなどのようなスクリプト言語で記述されている。
たとえば、コンピュータの利用者の少ない夜間や休日に、定型化されたバッチ処理を該コンピュータで一括して実行するなどのような用途に、このジョブフローによる処理が利用されることが多い。また、ジョブフローを構成するジョブの中には、目標終了時刻が設定されている場合があり、当該ジョブはその目標終了時刻までに完了している必要がある。具体的には、たとえば「毎日の始業時刻までに前日の売り上げに関するデータの集計が完了している必要がある」などのような場合に、目標終了時刻が設定される。
そのようなジョブが、エラーの発生や処理対象のデータ量の過大などのような理由で目標終了時刻までに完了しなかった場合、該組織の業務に遅滞を発生することとなる。そのため、ジョブフローにおいて特定のジョブの実行開始時刻および実行終了時刻を正確に予測し、それらの時刻が目標時刻より遅れそうな場合には該ジョブフローにより多くのコンピュータ資源を投入して実行を早めるなどのような対策を取ることが重要である。
ジョブフローの実行開始時刻もしくは実行完了時刻の予測について、次のような技術文献がある。このうち、下記の特許文献1には、実行済ジョブの履歴情報を用いて監視スケジュールを更新するというジョブ進捗監視システムが記載されている。特許文献2には、ネットワーク接続された複数の機器で実行される連携フローで、特定のジョブに係る時間設定が変更されても制限時間内にそのフローを処理するという技術が記載されている。特許文献3には、実行ログ情報に蓄積された過去の同一ジョブの実行時刻を利用して、処理終了時刻を予想するという処理実行制御システムが記載されている。
特許文献4には、ジョブチェーン(ジョブフロー)の最遅終了日時を求め、遅れているジョブの一覧を表示するというジョブ監視装置が記載されている。特許文献5には、予め設定された許容遅延時間を超えてジョブフローの実行が遅延する場合に警告を発するというジョブ実行監視方法が記載されている。そして特許文献6には、各タスク(ジョブ)の実行に際してCPUにかかる「余裕度」を計算するという技術が記載されている。
特開2004−005205号公報 特開2007−133696号公報 特開2008−059470号公報 特開平05−346862号公報 特開平08−095916号公報 特許3660083号公報
実際のジョブフローでは、たとえば合流処理(AND合流、OR合流など)、分岐処理(AND分岐、OR分岐など)、待ち合わせ条件、排他制約などのように、ジョブフローを構成する各ジョブの実行に際して種々の制約が設定されていることが多い。上記の特許文献1〜6には、各ジョブの実行に際してそれらの制約が設定されている場合の処理は何ら開示されていない。即ち、それらの制約が設定されている場合には、特許文献1〜6に記載の技術、あるいはこれらを組み合わせた技術では実行開始時刻を正確に予測できない。
本発明の目的は、ジョブフローを構成する各ジョブに対して実行上の制約条件が設定されている場合にも正確に実行開始時刻を予測し、これにより実行が遅延しているジョブについて確実に把握することを可能とするジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラムを提供することにある。
上記目的を達成するため、本発明に係るジョブフロー管理装置は、ジョブフローを構成する各々のジョブを予め設定された実行装置に対し転送しその実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置であって、各々のジョブの属性を示すジョブ属性データを予め記憶する記憶手段と、ジョブ属性データに予め設定されたスケジュールの通りにジョブフローの実行開始を指示するスケジュール管理手段と、各々のジョブの予想開始時刻を計算するジョブフロー定義解釈手段と、各々のジョブを実行装置に対して転送して実行を依頼してその実行結果を該ジョブ実行装置から受信するジョブ投入手段と、ジョブの実行状況をユーザに対して表示するイベント通知手段とを備えると共に、ジョブフローが、ジョブもしくは合流点を示す各ノードによって表され、ジョブ属性データが、ジョブの中の特定のジョブを必ず実行する時刻について示す時刻制約と、各々のジョブの実行を開始する時刻の目標について示す目標実行時刻と、各々のジョブの実行にかかると予想される時間である予想実行時間とを含み、ジョブフロー定義解釈手段が、ジョブフローで特定の合流点に合流する各ジョブの間の実行順序をジョブ属性データに基づいて判定する実行順序判定部と、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する予想開始時刻計算部と、この計算された予想開始時刻が目標実行時刻と比較して所定の時間以上遅れる場合にイベント通知手段を介して警告を発信させる警告発信部とを有することを特徴とする。
上記目的を達成するため、本発明に係るジョブフロー実行開始時刻予測方法は、ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々のノードの属性を示すジョブ属性データを予め記憶し、各々のジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置にあって、ジョブ属性データとして、ジョブを必ず実行すべき時刻について示す時刻制約と、ジョブを実行すべき時刻の目標について示す目標実行時刻と、ジョブの実行にかかると予想される時間である予想実行時間とを含むデータを予め記憶し、ジョブ属性データに予め設定されたスケジュールの通りにスケジュール管理手段がジョブフローの実行開始を指示し、ジョブ属性データに基づいてジョブフローで特定の合流点に合流する各ジョブの間で最も遅く実行される順に実行順序判定部が実行順序を判定し、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して予想開始時刻計算部が実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算し、算出した予想開始時刻がジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合に警告発信部がユーザに対して警告を発信し、各々のジョブをジョブ投入手段が実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信することを特徴とする。
上記目的を達成するため、本発明に係るジョブフロー実行開始時刻予測プログラムは、ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々のノードの属性を示し、かつジョブを必ず実行すべき時刻について示す時刻制約と、ジョブを実行すべき時刻の目標について示す目標実行時刻と、ジョブの実行にかかると予想される時間である予想実行時間とを含むジョブ属性データを予め記憶し、各々のジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置にあって、ジョブ属性データに予め設定されたスケジュールの通りにジョブフローの実行開始を指示する手順、ジョブ属性データに基づいてジョブフローで特定の合流点に合流する各ジョブの間で最も遅く実行される順に実行順序を判定する手順、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する手順、算出した予想開始時刻がジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合にユーザに対して警告を発信する手順、および各々のジョブを実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信する手順をコンピュータに実行させることを特徴とする。
上述したように本発明は、ワークフローの終点からノードを逆に辿りつつ、分岐ごとに予想開始時刻を算出するように構成したので、分岐処理などの制約があっても適切に実行順序を判断して予想開始時刻を算出することができ、これによって、各ジョブに対して実行上の制約条件が設定されている場合にも正確に実行開始時刻を予測し、実行が遅延しているジョブについて確実に把握することが可能であるという、優れた特徴を持つジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラムを提供することができる。
本発明の第1の実施形態に係るジョブフロー実行システムの構成を示す説明図である。 図1に示したジョブフロー実行システムで実行されるジョブフローの一例を示す説明図である。 図2で示したジョブフローをリスト構造形式で書き表した説明図である。 図2で示したジョブフローの各ノードの属性を示すジョブ属性データと、これに付随するリスト構造を示す説明図である。 図4で示したジョブ属性データ、リスト構造に対して、図1で示したジョブフロー管理装置が行う処理を示すフローチャートである。 図5で示した処理を行った後のジョブ属性データを示す説明図である。 本発明の第2の実施形態に係るジョブフロー実行システムの構成を示す説明図である。 図7に示したジョブフロー実行システムで実行されるジョブフローの一例を示す説明図である。 図8で示したジョブフローをリスト構造形式で書き表した説明図である。 図8で示したジョブフローの各ノードの属性を示すジョブ属性データと、これに付随するリスト構造を示す説明図である。 図7で示したジョブフロー定義解釈手段がジョブフローに対して行う処理の一例を示すプログラムのソースリストを示す説明図である。 図11の続きである。 図12の続きである。 図13の続きである。
(第1の実施形態)
以下、本発明の第1の実施形態の構成について添付図1に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るジョブフロー管理装置11は、ジョブフローを構成する各々のジョブを予め設定された実行装置に対し転送しその実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置である。このジョブフロー管理装置11は、各々のジョブの時刻制約および予想実行時間を含む属性を示すジョブ属性データ110を予め記憶する記憶手段22と、ジョブ属性データに予め設定されたスケジュールの通りにジョブフローの実行開始を指示するスケジュール管理手段101と、各々のジョブの予想開始時刻を計算するジョブフロー定義解釈手段103と、各々のジョブをジョブ実行装置に対して転送して実行を依頼してその実行結果を該ジョブ実行装置から受信するジョブ投入手段104と、ジョブの実行状況をユーザに対して表示するイベント通知手段105とを備える。ここで、ジョブフローはジョブもしくは合流点を示す各ノードによって表され、ジョブ属性データ110は、ジョブを必ず実行すべき時刻について示す時刻制約と、ジョブを実行すべき時刻の目標について示す目標実行時刻と、ジョブの実行にかかると予想される時間である予想実行時間とを含む。そしてジョブフロー定義解釈手段103は、ジョブフローで特定の合流点に合流する各ジョブの間の実行順序をジョブ属性データに基づいて判定する実行順序判定部103bと、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する予想開始時刻計算部(CRST計算部103a)と、計算された予想開始時刻が目標実行時刻と比較して所定の時間以上遅れる場合にイベント通知手段を介して警告を発信させる警告発信部(CRST判定部103c)とを有する。
また予想開始時刻計算部(CRST計算部103a)は、ジョブに他の特定のジョブとの間で同時に実行することができないという排他条件が設定されている場合に、実行順序判定部に判定されたジョブと排他条件の対象となるジョブとの間での実行順序に基づき、該当ジョブの中でより遅く実行される側のジョブから実行時刻が重複しないように予想開始時刻を計算する。
そして予想開始時刻計算部(CRST計算部103a)は、ジョブに他の特定のジョブの実行が終了してから実行を開始するという待ち合わせ条件が設定されている場合に、ジョブの直後に処理されるジョブの開始時刻と待ち合わせ条件の対象となるジョブの開始時刻のうちより早い側の時刻に基づいて予想開始時刻を計算する。
以上の構成を備えることにより、このジョブフロー管理装置11は、実行上の制約条件が設定されている場合にも正確に実行開始時刻を予測することが可能となる。
以下、これをより詳細に説明する。
図1は、本発明の第1の実施形態に係るジョブフロー実行システム1の構成を示す説明図である。ジョブフロー実行システム1は、ジョブフロー管理装置11、ジョブ実行装置12、およびジョブフロー定義装置13という各々のコンピュータ装置がネットワーク10を介して相互に接続されて構成される。
紙面の都合上、図1にはジョブ実行装置12およびジョブフロー定義装置13を各1台のみ図示しているが、実際には1つのバッチジョブ実行システム1の中に、複数台のジョブ実行装置12が含まれていてもよい。また、ジョブフロー定義装置13は、ジョブフロー管理装置11もしくはジョブ実行装置12と同一のコンピュータであっても構わない。
ジョブフロー管理装置11は、コンピュータプログラムを実行する主体となるCPU(Central Processing Unit)21と、プログラムおよびデータを記憶する記憶手段22と、ネットワーク10を介して他のコンピュータとデータ通信を行う通信手段23とを備える。ジョブ実行装置12も同様に、CPU31と、記憶手段32と、通信手段33とを備える。
ジョブフロー定義装置13も、これらと同様に、CPU41と、記憶手段42と、通信手段43とを備えるが、これに加えてユーザにジョブフローの処理結果を表示してユーザからの操作を受け付ける入出力手段44を備える。
ジョブフロー管理装置11のCPU21では、後述するスケジュール管理手段101、ジョブフロー定義保存手段102、ジョブフロー定義解釈手段103、ジョブ投入手段104、イベント通知部105が、各々コンピュータプログラムとして実行される。ジョブフロー管理装置11の記憶手段22では、後述するジョブ属性データ110と、これに付随するリスト構造111が記憶される。ジョブ実行装置12のCPU31ではジョブ実行手段151が、ジョブフロー定義装置13のCPU41ではフロー定義指示手段201が、各々コンピュータプログラムとして実行される。
ジョブフロー定義装置13のフロー定義指示手段201は、入出力手段44にGUI(Graphic User Interface)を表示して、ユーザにジョブフローの処理結果を表示すると共に、このGUIを介したユーザからの操作によるジョブフローの定義、ジョブのスクリプト、ジョブの属性設定などの入力を受け付け、この入力内容をジョブフロー管理装置11に転送する。
ジョブフロー管理装置11のスケジュール管理手段101は、ジョブ属性データ110に保存されたジョブフローの実行スケジュールにしたがって、保存されているジョブフローの実行をジョブフロー定義解釈手段103に指示する。
ジョブフロー定義保存手段102は、フロー定義指示手段201から転送されたジョブフロー定義に対して、ジョブフロー定義解釈手段103に時刻設定の分析処理を行わせてから、このジョブフロー定義をジョブ属性データ110として保存する。
ジョブフロー定義解釈手段103は、スケジュール管理手段101からの指示を受けて該ジョブフローの内容を解釈した後、これをジョブ投入手段104に渡して実行させる。ここでいう「ジョブフローの内容を解釈する」とは、ジョブフローを構成する各ジョブ(ノード)の計算によって導出される開始時刻であるCRST(Calculated Restriction on Start Time)を算出し、算出したCRSTが所定の時間以上遅れるジョブの有無について判断するという処理である。
より具体的には、ジョブフロー定義解釈手段103は、CRSTを算出するCRST計算部103aと、ジョブフロー上の合流点に合流する各ノードの実行順序を判定する実行順序判定部103bと、算出したCRSTが所定の時間以上遅れる場合にイベント通知部105に警告を発信させるCRST判定部103cとに分かれる。
ジョブフロー管理装置11のジョブ投入手段104は、ジョブフロー定義解釈手段103からの指示を受けて、該ジョブフローを構成する各ジョブの内容をジョブ実行装置12のジョブ実行手段151に転送し、そこで実行された各ジョブの結果を受信する。そして、該ジョブフローの実行結果を、ジョブフロー定義保存手段102に通知し、ジョブ属性データ110として保存させる。
ジョブフロー管理装置11のイベント通知部105は、ジョブフロー定義解釈手段103から通知されたイベントの内容について、フロー定義指示手段201に転送して入出力手段44に表示させる。
ジョブ実行装置12のジョブ実行手段151は、ジョブフロー管理装置11のジョブ投入手段104から転送された各ジョブを実行し、その結果をジョブ投入手段104に返す。
図2は、図1に示したジョブフロー実行システム1で実行されるジョブフロー300の一例を示す説明図である。ジョブフロー300は、10個のノードから成り、「N1」から「N8」までのジョブ(バッチ処理)を行うノードと、フローの合流を処理する2個のノードと、OR合流点「MP1」と、AND合流点「MP2」で構成される。
OR合流点とは、合流点のノードに向かって矢印が指し示すノードの少なくとも1つが完了すれば、後続のノードの処理を開始する制御を行う。ジョブフロー300のOR合流点「MP1」は、「N3」,「N4」,「N5」の各ジョブのうち少なくとも1つが完了すれば、後続の「N6」の処理を開始することができる。
AND合流点とは、合流点のノードに向かって矢印が指し示すノードの全ての処理が完了すれば、後続のノードの処理を開始する制御を行う。ジョブフロー300のAND合流点「MP2」は、「N6」および「N7」の各ジョブがいずれも完了してから、後続の「N8」の処理を開始することができる。
また、ジョブフロー300では、「N7」は「N4」の完了を待ち合わせるという待ち合わせ条件が設定されている。「N4」が完了しない限り、「N7」の処理が開始されることはない。さらに、「N5」と「N7」に対して排他制約が設定されており、「N5」と「N7」の処理を同時に実行することは不可能である。「N5」が開始されている場合、「N7」は「N5」の完了を待ち合わせてから開始され、逆に「N7」が開始されている場合、「N5」は「N7」の完了を待ち合わせてから開始されることとなる。
さらに、ジョブフロー300では、「N3」に対して終了時刻「X」の制約が設定されている。そして「N8」に対して開始時刻「Y」の制約が設定されている。即ち、「N3」は時刻「X」までに処理が完了していなければならず、また「N8」は時刻「Y」までに処理が開始していなければならない。
図3は、図2で示したジョブフロー300をリスト構造形式で書き表した説明図である。そして図4は、図2で示したジョブフロー300の各ノードの属性を示すジョブ属性データ110と、これに付随するリスト構造111を示す説明図である。ID110aは図2の表示に対応する各ノードの識別子である。タイプ110bは、各ノードの種類を表す。「Node」は通常のジョブ(バッチ処理)、「OrMeetingPoint」はOR合流点、「AndMeetingPoint」はAND合流点を各々示す。
待ち合わせターゲット110cは、そのノードが待ち合わせ条件における待ち合わせの対象となるノードである場合に値が1となり、そうでない場合はnull値(図4では「−」で表す)となる。待ち合わせソースリスト110dは、そのノードが待ち合わせ条件における待ち合わせの対象となるノードである場合に、待機対象ノードの情報を格納するリスト構造111へのポインタを格納している。対象ノードが2つ以上ある場合は、リスト構造111に複数のノードの情報が格納される。
排他制約110eはノードに対して排他制約が設定されている場合に値が1となり、そうでない場合はnull値となる。排他制約リスト110fは、排他制約110e=1である場合に、どのノード群が排他関係にあるかを示すリスト構造111へのポインタ「Pt2」「Pt3」を格納している。
開始時刻(RST: Restriction on Start Time)110gは、そのノードに開始時刻の制約が設定されている場合に、その時刻を格納する。開始時刻の制約が設定されていない場合にはnull値となる。CRST110hは、開始時刻110gの制約の影響を分析した結果、計算によって導出される該当ノードでの開始時刻の制約を格納する。CRST−ID110iは、CRST110hの値がどのノードに由来するものであるか、そのノードのID110aに対応する値を格納する。
終了時刻(RFT: Restriction on Finish Time)110jは、そのノードに終了時刻の制約が設定されている場合に、その時刻を格納する。終了時刻の制約が設定されていない場合にはnull値となる。予想実行時間(EET: Estimated Execution Time)110kは、そのノードが実行するジョブ(バッチ処理)の実行にかかると予想される時間を格納する。各ジョブの予想実行時間は、同一ジョブの前回の実行時間の実績値を利用することができるし、他にも任意の公知技術を適用して算出することができる。
前ノード110lは、該ノードの前に処理されるノードのID110aに対応する値を格納する。ただし、該ノードが合流点である場合には、前ノードとして複数のノードが該当するので、前ノード110lはnull値とする。リスト情報110mは、前ノードとして複数のノードが該当して前ノード110lがnull値である場合に、その前ノードを示すリスト構造111へのポインタ「Pt4」「Pt5」を格納する。
目標時刻(TT: Target Time)110nは、各ノードのCRST110hに対する目標値として設定された時刻である。CRST110hが目標時刻110nと比べて所定の時間以上遅れる場合に、CRST判定部103cがイベント通知部105を介して警告を発信する。
図5は、図4で示したジョブ属性データ110、リスト構造111に対して、図1で示したジョブフロー管理装置11が行う処理を示すフローチャートである。フロー定義指示手段201からのフロー定義保存指示を受けたジョブフロー定義解釈手段103は、まず実行順序判定部103bが該ジョブフロー内に時刻制限があるか否かを確認する(ステップS201)。時刻制限がない場合は分析の必要がないため、ジョブフロー定義保存手段102が該ジョブフローを保存して(ステップS208)処理を終了する。
該ジョブフロー内に時刻制限がある場合は、次に実行順序判定部103bがそのジョブフロー内に排他制約があるか否かを確認する(ステップS202)。排他制約があれば、実行順序判定部103bがその排他制約のあるノードのリストを作成して(ステップS203)、ステップS204に進む。排他ノードのリストとは、排他実行の関係にあるジョブを実行開始時間が遅いと予定される順番にノード情報をリストに格納したものである。排他制約がなければ、そのままステップS204に進む。
その後、CRST計算部103aは各ノードの開始時刻制約を計算する(ステップS204)。このステップS204で算出された開始時刻制約が、図4に示したCRST110hおよびCRST−ID110iとなる。そして終了時刻110jの設定されているノードについて、CRST判定部103cがこれと計算されたCRST110hとを比較する(ステップS205)。CRST110hが、終了時刻110jと比べて予め与えられた所定の閾値以上遅れている場合には、CRST判定部103cがこのことをイベント通知部105に通知して、ユーザに対して警告を表示させる(ステップS206)。
その後、ジョブフロー定義保存手段102がこのジョブフローと計算された開始時刻制約情報をジョブ属性データ110およびリスト構造111として保存して(ステップS207)処理を終了する。
このステップS204に係る計算について、図2〜4に示した例を用いてより詳しく説明する。この計算では、ジョブフロー300の終点から各ノードをたどる形で処理を行う。まず図3の1行目に「End→N8」とあり、図4のジョブ属性データ110では開始時刻110gとして「時刻X」が設定されている。ノード「N8」はこれ以外の時刻制約の影響をうけないため、CRST110hには「時刻X」が格納され、CRST−ID110iには「N8」が格納される。
図3の2行目に「N8→MP2」とあり、またジョブ属性データ110でもノード「N8」の前ノード110lは「MP2」となっている。ノード「MP2」はAND合流点であるので、前ノード110lはnull値であるが、リスト情報110mにその前ノードを示すリスト構造111へのポインタ「Pt5」が格納されている。リスト構造111でポインタ「Pt5」を参照すると、ノード「N6」および「N7」が格納されている。
ノード「N6」および「N7」の前ノード110lは、いずれも「MP1」である。従って、ジョブフロー定義解釈手段103はここでノード「MP1」に到達するまでの各ノードのCRST110hを計算する。ノード「N6」のCRST110hは、ノード「N8」のCRST110hである「時刻X」から、ノード「N6」の予想実行時間110kであるEET6を引いた値、即ち「X−EET6」となる。ノード「N6」のCRST−ID110iには、「N8」が格納される。
一方、ノード「N7」は、排他制約110eの値が1であるので、排他制約が設定されていることがわかる。CRSTの計算処理はジョブフロー300の終点であるノード「N8」から、各ノードの前ノード110lを辿りつつ行っていく。ノード「N7」の排他制約リスト110fの値は「Pt3」であり、リスト構造111でこのポインタ「Pt3」を参照すると、ノード「N5」がこの排他処理の対象となっていることがわかる。
ジョブフロー300で、ノード「N5」はノード「N7」より先に実行されるものであり、またノード「N5」のCRST110hがnull値、即ちまだ算出されていないので、予想される実行順序はノード「N7」が最も遅いことになる。そこで、この「N7」のCRST110hを計算する。
ノード「N7」のCRST110hは、ノード「N8」のCRST110hである「時刻X」から、ノード「N7」の予想実行時間110kであるEET7を引いた値、即ち「X−EET7」となる。ノード「N7」のCRST−ID110iには、「N8」が格納される。
続いて、ノード「N6」および「N7」の先行ノードであるノード「MP1」のCRST−ID110iを分析する。ノード「MP1」はAND合流点であるノード「MP2」の処理への分岐点である。そのため、ノード「MP2」を指し示すノード「N6」および「N7」のジョブがすべて完了してから次のノードに処理を進める必要がある。即ち、ノード「N6」CRST110hである「X−EET6」と、ノード「N7」のCRST110hであるX−EET7のうち、いずれか早い方の時刻を監視に用いる必要がある。
ここで、複数の時刻である時刻1、時刻2…の中の最小値をMIN(時刻1,時刻2…)と表現すると、ノード「MP1」のCRST110hはMIN(X−EET6,X−EET7)である。ノード「MP1」のCRST−ID110iには、「N8」が格納される。
ノード「MP1」はOR分岐点であるので、該ノードのリスト情報110mとして格納されているポインタ「Pt4」をリスト構造111の中から参照する。ポインタ「Pt4」は「N5」「N3」「N4」の各ノードを指している。そして、ジョブフロー300の始点であるノード「N1」で初めてこれらの各経路が一致することになる。従って、ノード「MP1」から「N1」に至るまでの各経路で各ノードのCRST110hを計算する。
ノード「N5」は、排他制約110e=1であるので、排他制約が設定されていることがわかる。ノード「N5」の排他制約リスト110fはポインタ「Pt2」を示しており、ここからノード「N5」はノード「N7」との間での排他制約となっており、前述のようにこの両者の間で予想される実行順序は「N5」「N7」の順である。
従って、ノード「N5」のCRST110hは、ノード「MP1」のCRSTとノード「N7」のCRSTの開始時刻条件の早い方、即ちMIN(MIN(X−EET6,X−EET7),X−EET7)−EET5で表現される値となる。ノード「N5」のCRST−ID110iは「N8」が格納される。
ノード「N2」のCRST110hは、ノード「N5」のCRST110hからEET2を引いた値、即ちMIN(MIN(X−EET6,X−EET7),X−EET7)−EET5−EET2 で表現される値となる。
また、ノード「N3」は、終了時刻110jが設定されている。このため、ノード「N3」のCRST110hは終了時刻110jと、ノード「MP1」のCRST110hのうち、開始時刻条件の早い方に基づいて計算される。
したがってノード「N3」のCRST110hは、該ノードの終了時刻110j=時刻Yとすると、MIN(Y,MIN(X−EET6,X−EET7))−EET3 で表現される値となる。ノード「N3」のCRST−ID110iには、採用した開始時刻条件の早い方に基づいて、「N3」または「N8」が格納される。
ノード「N4」は、待ち合わせターゲット110cが1なので待ち合わせ条件の対象ノードであることがわかる。このノードの待ち合わせソースリスト110dには、リスト構造111へのポインタ「Pt1」が格納されているので、これをリスト構造111で確認すると、待機対象ノードは「N7」である。ノード「N4」のCRST110hは、ノード「N7」と「MP1」のうち開始時刻の早い方に基づいて計算される。
したがってノード「N4」のCRST110hは、MIN(X−EET7,MIN(X−EET6,X−EET7))−EET4 によって計算され、N4のCRST−ID110iは「N8」が格納される。
ノード「N1」は、OR合流点であるノード「MP1」の処理への分岐点でもある。ノード「MP1」はOR合流点であるので、このノードを指し示す「N3」「N4」「N5」のジョブのうちいずれか1つが完了していれば処理が後続ノードに進む。そのため、「N2」「N3」「N4」のCRSTのうち最も遅い時刻条件を監視に用いることができる。
ここで、複数の時刻である時刻1、時刻2…の中の最大値をMAX(時刻1,時刻2…)と表現すると、ノード「N1」のCRST110hはMAX(MIN(MIN(X−EET6,X−EET7),X−EET7)−EET5−EET2,MIN(Y,MIN(MIN(X−EET6,X−EET7))−EET3,MIN(X−EET7,MIN(X−EET6,X−EET7))−EET4)−EET1によって計算できる。ノード「N1」のCRST−ID110iには、最大値をとる際に採用した値によって「N3」もしくは「N8」が格納される。
図6は、図5で示した処理を行った後のジョブ属性データ110を示す説明図である。ノード「N1」〜「N8」のCRST110hは、紙面の都合上、表の外に表記した式の通りに求められている。
(第1の実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係るジョブフロー実行開始時刻予測方法は、ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々のノードの属性を示すジョブ属性データを予め記憶し、各々のジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置11にあって、ジョブ属性データとして、ジョブを必ず実行すべき時刻について示す時刻制約と、ジョブを実行すべき時刻の目標について示す目標実行時刻と、ジョブの実行にかかると予想される時間である予想実行時間とを含むデータを予め記憶し、ジョブ属性データに予め設定されたスケジュールの通りにスケジュール管理手段がジョブフローの実行開始を指示し、ジョブ属性データに基づいてジョブフローで特定の合流点に合流する各ジョブの間で最も遅く実行される順に実行順序判定部が実行順序を判定し、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して予想開始時刻計算部が実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算し(図5:ステップS204)、算出した予想開始時刻がジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合に警告発信部がユーザに対して警告を発信し(図5:ステップS205〜206)、各々のジョブをジョブ投入手段が実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信する。
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータであるジョブフロー管理装置11に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
本実施形態は、排他制約が多数設定されているジョブフローの排他制約があるノード間について、その実行順序が一番遅いものから順次、開始時刻の制約を計算するように構成されている。かつ、より実行順序が遅いノードにおいてCRST値が計算されていない場合は、その値を計算してから該当ノードにおいて実行時間が重ならないようにCRST値を計算するように構成されている。そのため、排他制約があるフローについても各ノードでの開始時刻の制約に応じて適切にCRSTを算出することができる。
また、本実施形態ではさらに、待ち合わせ条件が設定されている場合に、その待ち合わせる対象ノードにて待つ側のノードのCRST値と待ち合わせる対象ノードの後続のノードのCRST値を比較して計算するように構成されているため、待ち合わせ条件が設定されているフローについても各ノードでの開始時刻の制約に応じて適切にCRSTを算出することができる。
(第2の実施形態)
本発明の第2の実施形態に係るジョブフロー管理装置411は、前述した第1の実施形態に係るジョブフロー管理装置11の構成に加えて、ジョブフローを構成する各ノードの合流点に代えて分岐点を装備した構成とし、ジョブフロー定義解釈手段503の予想開始時刻計算部(CRST計算部503a)が、ジョブフローの開始点から終点まで各々のノードを辿り、時刻制約の設定されたノードに到達したら予想実行時間を利用して該ノードに該当するジョブの予想開始時刻を算出する機能と、この算出された該ノードの予想開始時刻からジョブフローを逆に辿りつつその他のノードに該当するジョブの予想実行時間を計算する機能とを備えるように構成した。
この構成により、ジョブと分岐点とによって表されるジョブフローに対しても、第1の実施形態と同一の効果を得ることができる。
以下、これをより詳しく説明する。
図7は、本発明の第2の実施形態に係るジョブフロー実行システム401の構成を示す説明図である。ジョブフロー実行システム401は、ジョブフロー管理装置411、ジョブ実行装置12、およびジョブフロー定義装置13という各々のコンピュータ装置がネットワーク10を介して相互に接続されて構成される。ジョブ実行装置12およびジョブフロー定義装置13は、第1の実施形態と同一である。
ジョブフロー管理装置411は、図1に示した第1の実施形態に係るジョブフロー管理装置11と同じく、CPU21と、プログラムおよびデータを記憶する記憶手段22と、ネットワーク10を介して他のコンピュータとデータ通信を行う通信手段23とを備える。
ジョブフロー管理装置411のCPU21では、スケジュール管理手段101、ジョブフロー定義保存手段102、ジョブフロー定義解釈手段503、ジョブ投入手段104、イベント通知部105が、各々コンピュータプログラムとして実行される。ジョブフロー管理装置11の記憶手段22では、後述するジョブ属性データ510と、これに付随するリスト構造511が記憶される。図1で示したジョブフロー管理装置11との相違点は、ジョブフロー定義解釈手段503の動作と、ジョブ属性データ510およびリスト構造511の内容のみであり、これ以外は全て同一である。
ジョブフロー定義解釈手段503は、CRSTを算出するCRST計算部503aと、ジョブフロー上の合流点に合流する各ノードの実行順序を判定する実行順序判定部503bと、算出したCRSTが所定の時間以上遅れる場合にイベント通知部105に警告を発信させるCRST判定部503cとに分かれる。これらの機能の分担は、原則として図1で示した第1の実施形態でのジョブフロー定義解釈手段103と同一である。
図8は、図7に示したジョブフロー実行システム401で実行されるジョブフロー600の一例を示す説明図である。ジョブフロー600は、10個のノードから成り、「N1」から「N8」までのジョブ(バッチ処理)を行うノードと、フローの合流を処理する2個のノードと、OR分岐点「BR1」と、AND分岐点「BR2」で構成される。
ジョブフロー600は、第1の実施形態で実行されたジョブフロー300と、各ジョブ「N1」〜「N8」は同一であり、また各ジョブに設定された待ち合わせ条件、排他制約、終了時刻の制約、および開始時刻の制約の各々の内容も同一である。ただし、ジョブフロー300は各ジョブ「N1」〜「N8」とOR合流点「MP1」、AND合流点「MP2」で構成されていたのに対し、ジョブフロー600は各ジョブ「N1」〜「N8」とOR分岐点「BR1」、AND分岐点「BR2」で構成されている。
OR分岐点は、分岐した処理が1つのノードに合流する際に、合流点のノードに向かって矢印を指し示すノードの少なくとも1つが完了すれば、合流点のノードの処理を開始する制御を行う。ジョブフロー600のOR分岐点「BR1」は、「N3」,「N4」,および「N2」の後続ジョブであり他ジョブと合流する「N5」の各ジョブのうち少なくとも1つが完了すれば、合流後の「BR2」の処理を開始することができる。
AND分岐点とは、分岐した処理が1つのノードに合流する際に、合流点のノードに向かって矢印を指し示すノードの全ての処理が完了すれば、合流点のノードの処理を開始する制御を行う。ジョブフロー600のAND分岐点「BR2」は、「N6」および「N7」の各ジョブがいずれも完了するのを待ち合わせてから、合流後の「N8」の処理を開始することができる。
図9は、図8で示したジョブフロー600をリスト構造形式で書き表した説明図である。そして図10は、図8で示したジョブフロー600の各ノードの属性を示すジョブ属性データ510と、これに付随するリスト構造511を示す説明図である。ジョブ属性データ510とリスト構造511の内容は、図4で示したジョブ属性データ110とリスト構造111とおよそ同一であるので、次に示す相違点以外については名称および参照番号を同一とする。
ジョブ属性データ510で、タイプ510bは各ノードの種類を表す。「Node」は通常のジョブ(バッチ処理)、「OrBrunch」はOR分岐点、「AndBrunch」はAND分岐点を各々示す。後続ノード510lは、該ノードの終了後に処理されるノードのID110aに対応する値を格納する。ただし、該ノードが分岐点である場合には、後続ノードとして複数のノードが該当するので、後続ノード510lはnull値とする。リスト情報510mは、後続ノードとして複数のノードが該当して前ノードがnull値である場合に、その後続ノードを示すリスト構造511へのポインタ「Pt4」「Pt5」を格納する。
このジョブフロー600のジョブ属性データ510とリスト構造511に対してジョブフロー定義解釈手段503が行うジョブフローの時刻設定の分析処理および該ジョブフローの保存の処理は、図5に示したフローチャートと同一である。
図11〜14は、図7で示したジョブフロー定義解釈手段503が図8で示したジョブフロー600に対して行う処理の一例を示すプログラムのソースリストを示す説明図である。このソースリストはC言語をベースとして書かれたものであるが、表記を簡単にするため関数型の厳密な定義や行末の「;」などを省略している。図11〜14のリスト内で、「//」で囲われている部分は、処理とは直接関係のないコメント行であるが、実際のその部分で行われている処理について説明するコメントを表記している。プログラムの記述には、これ以外にも任意のプログラム言語を使用することができる。
図11〜14のソースリストで、ジョブフローを構成する各ノードを「Node」構造体とし、その中でも現在演算処理の対象として扱っているノードを「CurrentNode」、その一つ前のノードを「PreviousNode」と定義する。また、「Node」構造体には図3および図10に示した各々の属性がある。ID110aは「Node.ID」、タイプ510bは「Node.Type」、待ち合わせターゲット110cは「Node.WaitingTarget」、待ち合わせソースリスト110dは「Node.WaitingSourceList」、排他制約110eは「Node.Exclusion」、排他制約リスト110fは「Node.ExclusionList」、開始時刻110gは「Node.RST」、CRST110hは「Node.CRST」、CRST−ID110iは「Node.CRST_ID」、終了時刻110jは「Node.RFT」、予想実行時間110kは「Node.EET」、リスト情報510mは「Node.SequenceList」と表される。「CurrentNode」や「PreviousNode」についても同様である。後続ノードに処理対象を移す場合は「Node->Next」とする。
また、図11〜14のソースリストでは、「ExclusionList」「WaitingSourceList」というリスト構造を定義している。前者は排他関係にあるノードについて、後者は待ち合わせの対象となるノードについて、共にそのノードとそれに続くリスト(ポインタ)を格納している。
ジョブフロー定義解釈手段503は、ジョブフローの最初のノードから再帰的に開始時刻制約を計算する処理を行う。まず関数GetCRST(Node)に対して、引数を「N1」として実行する。
引数「N1」として指定されたノードN1には後続ジョブ510lがあるのでUseNextCRST(Node)が呼ばれ、ノード「N1」の後続ノード510l、即ちノード「BR1」の開始時刻制約を求める関数GetCRST(BR1)の結果からノード「N1」の予想実行時間EET1を引いた「GetCRST(BR1)−EET1」によってノード「N1」の開始時刻制約を計算する。
ノード「BR1」のタイプ510bは「OrBrunch」、即ちOR分岐点であるので、GetMaxCRST(SequenceList)が呼ばれる。GetMaxCRSTは、リスト構造511に格納されている各ノードに対してGetCRST(Node)を呼び出し、最大値を戻り値とする関数である。リスト構造511で、ノード「BR1」のポインタ「Pt4」には、「N2」「N3」「N4」の各ノードが格納されているので、これらの各々に対してGetCRST(N2)、GetCRST(N3)、GetCRST(N4)が呼ばれる。
ノード「N3」では、後続ノード510lの開始時刻制約GetCRST(BR2)からノード「N3」の予想実行時間110kであるEET3を引いたものをCRST110hとして書き込むが、ここでノード「N3」自体に終了時刻110jとして終了時刻制約Yが設定されている。このため、終了時刻制約についての処理を行う。
終了時刻制約YからEET3を引いた時刻がGetCRST(BR2)−EET3より小さい場合、終了時刻制約の方がより厳しい条件であることになる。この場合は、UseCurrentNodeRFT(N3)を呼び、その時刻をノード「N3」のCRST110hに上書きする。
一方、ノード「N4」は待ち合わせの対象のノードであるため、GetMinCRST_Waiting(N4)が呼ばれる。この関数では、ノード「N4」の待ち合わせソースリスト110dが取り出され、ノード「N4」の待ち合わせの対象である「N7」についてGetCRST(N7)が呼ばれる。ノード「N7」ではノード「N5」との間の排他制約110eが設定されているため、GetCRST_Exclusion(N7)が呼ばれる。
処理中のノードを示す構造体であるCurrentNodeには、まず実行順序が遅いノード「N7」が該当し、ノード「N7」のCRST110hはnull値であるため、ノード「N7」の排他制約110eが0に設定されて、再度GetCRST(N5)が呼ばれる。GetCRST(N7)の処理では、今度は、排他制約110eが0に設定されてため、GetCRST(N8)−EET7が計算される。
ノード「N8」では開始時刻110gが設定されており、CRST110hがnull値であるため、UseCurrentNodeRST(N8)が呼ばれてCRST110hに時刻Xが設定される。それにより、ノード「N7」のCRST110hがX−EET7として計算されて処理がGetCRST_Exclusion(N7)に戻る。GetCRST_Exclusion(N7)では、CurrentNodeとNodeがいずれも「N7」となって一致するので、同関数での処理はここで完了し、GetMinCRST_Waiting(N4)に処理が戻る。
GetMinCRST_Waiting(N4)では、ノード「N7」のCRST110hと、ノード「BR2」のCRST110hが比較され、これらのうち小さい方の値からEET4を引いたものが、ノード「N4」のCRST110hとして設定される。
ノード「N2」は、ノード「BR1」までに後続ノード510l「N5」があるので、CRST110hとしてGetCRST(N5)−EET2がCRST値として計算される。GetCRST(N5)の処理では、ノード「N5」にノード「N7」との間の排他制約110eがあるため、GetCRST_Exclusion(N5)が呼ばれる。CurrentNodeとして最初はノード「N7」が設定されるが、ノード「N7」のCRST110hはすでに設定されており、かつCurrentNodeとNodeの各々の構造体が指し示すノードが異なるため、PreviousNodeをノード「N7」として、CurrentNodeをノード「N5」とするよう処理が行われる。
この処理の後では、CurrentNodeとNodeの各々の構造体が指し示すノードが一致するので、時刻制約の確認対象となっているノードについて計算が行われる。具体的には、ノード「N5」の排他制約110eがnullとなり、ノード「N5」の後続ノード510lであるノード「BR2」とノード「N7」で各々のCRST110hが比較され、小さい方の値からEET5を引いたものがノード「N5」のCRST110hとなる。
ノード「BR2」ではGetCRST(BR2)が計算されるが、BR2はAnd分岐点であるため、GetMinCRST(SequenceList)が呼ばれる。GetMinCRSTは、リスト構造511に格納されている各ノードに対してGetCRST(Node)を呼び出し、最小値を戻り値とする関数である。
リスト構造511で、ノード「BR2」のポインタ「Pt5」には、「N6」「N7」の各ノードが格納されているので、これらの各々に対してGetCRST(N6)、GetCRST(N7)が呼ばれ、それらの値の中から最小値が選択される。GetCRST(N7)は既に計算済であるので、GetCRST(N6)をノード「N8」のCRST110hからノード「N6」の予想実行時間EET6を引いた「GetCRST(BR1)−EET6」によって計算し、これをノード「BR2」のCRST110hとする。
ここまでの計算で、GetCRST(N8)、GetCRST(N6)およびGetCRST(N7)を具体的な数値で求めることができた。GetCRST(Node)として計算された前述の各々の数値は、これによって具体化され、GetCRST(N1)までが具体的な数値として算出される。最終的にノード「N1」〜「N8」のCRST110hは、図6に示した第1の実施形態と同じようにして、同じ値として求められる。
以上で説明したように、本実施形態では、分岐点によって表現されたジョブフローについても、第1の実施形態で説明した処理と同じように処理を行い、同一の効果を得ることができる。即ち、排他制約や待ち合わせ条件を考慮してCRSTを算出することが可能となる。
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
本発明は、ジョブフロー実行システムに適用することができる。
1、401 ジョブフロー実行システム
10 ネットワーク
11、411 ジョブフロー管理装置
12 ジョブ実行装置
13 ジョブフロー定義装置
21、31、41 CPU
22、32、42 記憶手段
23、33、43 通信手段
44 入出力手段
101 スケジュール管理手段
102 ジョブフロー定義保存手段
103、503 ジョブフロー定義解釈手段
103a、503a CRST計算部
103b、503b 実行順序判定部
103c、503c CRST判定部
104 ジョブ投入手段
105 イベント通知部
110、510 ジョブ属性データ
110a ID
110b、510b タイプ
110c 待ち合わせターゲット
110d 待ち合わせソースリスト
110e 排他制約
110f 排他制約リスト
110g 開始時刻
110h CRST
110i CRST−ID
110j 終了時刻
110k 予想実行時間
110l 前ノード
110m、510m リスト情報
110n 目標時刻
111 リスト構造
151 ジョブ実行手段
201 フロー定義指示手段
300、600 ジョブフロー
510l 後続ノード

Claims (6)

  1. ジョブフローを構成する各々のジョブを予め設定された実行装置に対し転送しその実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置であって、
    各々の前記ジョブの属性を示すジョブ属性データを予め記憶する記憶手段と、前記ジョブ属性データに予め設定されたスケジュールの通りに前記ジョブフローの実行開始を指示するスケジュール管理手段と、各々の前記ジョブの予想開始時刻を計算するジョブフロー定義解釈手段と、各々の前記ジョブを前記実行装置に対して転送して実行を依頼してその実行結果を該ジョブ実行装置から受信するジョブ投入手段と、前記ジョブの実行状況をユーザに対して表示するイベント通知手段とを備えると共に、
    前記ジョブフローが、ジョブもしくは合流点を示す各ノードによって表され、
    前記ジョブ属性データが、前記ジョブの中の特定のジョブを必ず実行する時刻について示す時刻制約と、各々の前記ジョブの実行を開始する時刻の目標について示す目標実行時刻と、各々の前記ジョブの実行にかかると予想される時間である予想実行時間とを含み、
    前記ジョブフロー定義解釈手段が、
    前記ジョブフローで特定の前記合流点に合流する各ジョブの間の実行順序を前記ジョブ属性データに基づいて判定する実行順序判定部と、前記ジョブフローの終点から前記各ノードを辿りつつ前記時刻制約および前記予想実行時間を利用して前記実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する予想開始時刻計算部と、この計算された前記予想開始時刻が前記目標実行時刻と比較して所定の時間以上遅れる場合に前記イベント通知手段を介して警告を発信させる警告発信部と
    を有することを特徴とするジョブフロー管理装置。
  2. 前記予想開始時刻計算部が、前記ジョブに他の特定のジョブとの間で同時に実行することができないという排他条件が設定されている場合に、前記ジョブ属性データに設定された前記ジョブと前記排他条件の対象となるジョブとの間での実行順序に基づき、該当ジョブの中でより遅く実行される側のジョブから実行時刻が重複しないように前記予想開始時刻を計算することを特徴とする、請求項1に記載のジョブフロー管理装置。
  3. 前記予想開始時刻計算部が、前記ジョブに他の特定のジョブの実行が終了してから実行を開始するという待ち合わせ条件が設定されている場合に、前記ジョブの直後に処理されるジョブの開始時刻と前記待ち合わせ条件の対象となるジョブの開始時刻のうちより早い側の時刻に基づいて前記予想開始時刻を計算することを特徴とする、請求項1に記載のジョブフロー管理装置。
  4. 前記ジョブフローを構成する各ノードの前記合流点に代えて分岐点を装備した構成とし、
    前記予想開始時刻計算部が、前記ジョブフローの開始点から終点まで各々の前記ノードを辿り、前記時刻制約の設定された前記ノードに到達したら前記予想実行時間を利用して該ノードに該当するジョブの予想開始時刻を算出する機能と、この算出された該ノードの予想開始時刻から前記ジョブフローを逆に辿りつつその他の前記ノードに該当するジョブの前記予想実行時間を計算する機能とを備えたことを特徴とする、請求項1に記載のジョブフロー管理装置。
  5. ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々の前記ノードの属性を示すジョブ属性データを予め記憶し、各々の前記ジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置にあって、
    前記ジョブ属性データとして、前記ジョブを必ず実行すべき時刻について示す時刻制約と、前記ジョブを実行すべき時刻の目標について示す目標実行時刻と、前記ジョブの実行にかかると予想される時間である予想実行時間とを含むデータを予め記憶し、
    前記ジョブ属性データに予め設定されたスケジュールの通りにスケジュール管理手段が前記ジョブフローの実行開始を指示し、
    前記ジョブ属性データに基づいて前記ジョブフローで特定の前記合流点に合流する各ジョブの間で最も遅く実行される順に実行順序判定部が実行順序を判定し、
    前記ジョブフローの終点から前記各ノードを辿りつつ前記時刻制約および前記予想実行時間を利用して予想開始時刻計算部が前記実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算し、
    算出した前記予想開始時刻が前記ジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合に警告発信部がユーザに対して警告を発信し、
    各々の前記ジョブをジョブ投入手段が前記実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信することを特徴とするジョブフロー実行開始時刻予測方法。
  6. ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々の前記ノードの属性を示し、かつ前記ジョブを必ず実行すべき時刻について示す時刻制約と、前記ジョブを実行すべき時刻の目標について示す目標実行時刻と、前記ジョブの実行にかかると予想される時間である予想実行時間とを含むジョブ属性データを予め記憶し、各々の前記ジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置にあって、
    前記ジョブ属性データに予め設定されたスケジュールの通りに前記ジョブフローの実行開始を指示する手順、
    前記ジョブ属性データに基づいて前記ジョブフローで特定の前記合流点に合流する各ジョブの間で最も遅く実行される順に実行順序を判定する手順、
    前記ジョブフローの終点から前記各ノードを辿りつつ前記時刻制約および前記予想実行時間を利用して前記実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する手順、
    算出した前記予想開始時刻が前記ジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合にユーザに対して警告を発信する手順、
    および各々の前記ジョブを前記実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信する手順
    をコンピュータに実行させることを特徴とするジョブフロー実行開始時刻予測プログラム。
JP2009295171A 2009-12-25 2009-12-25 ジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラム Expired - Fee Related JP5445124B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009295171A JP5445124B2 (ja) 2009-12-25 2009-12-25 ジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009295171A JP5445124B2 (ja) 2009-12-25 2009-12-25 ジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2011134239A true JP2011134239A (ja) 2011-07-07
JP5445124B2 JP5445124B2 (ja) 2014-03-19

Family

ID=44346870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009295171A Expired - Fee Related JP5445124B2 (ja) 2009-12-25 2009-12-25 ジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラム

Country Status (1)

Country Link
JP (1) JP5445124B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015060247A (ja) * 2013-09-17 2015-03-30 株式会社リコー 情報処理システム、情報処理装置、プログラムおよび情報処理方法
JP2015108906A (ja) * 2013-12-03 2015-06-11 ソフトバンクテレコム株式会社 管理プログラム及び管理サーバ
KR101727415B1 (ko) 2015-12-23 2017-05-02 서울시립대학교 산학협력단 클러스터 자원 관리가 가능한 빅데이터 시스템 및 자원 관리 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7302308B2 (ja) 2019-06-07 2023-07-04 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0242503A (ja) * 1988-08-03 1990-02-13 Nec Corp フローショップ生産システムシミュレーション装置
JPH1153006A (ja) * 1997-07-31 1999-02-26 Furukawa Electric Co Ltd:The スケジューリング方法
JP2000348111A (ja) * 1999-06-01 2000-12-15 Hitachi Ltd ワークフロー管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2001155062A (ja) * 1999-11-26 2001-06-08 Hitachi Ltd ワークフロー到着予測システム、方法、および該方法に係るプログラムを記憶した記憶媒体
JP2005174083A (ja) * 2003-12-12 2005-06-30 Fuji Xerox Co Ltd 指示記述修正装置、指示記述命令プログラム、指示記述修正方法、ジョブ実行装置、ジョブ実行命令プログラム、およびジョブ実行方法
JP2009043188A (ja) * 2007-08-10 2009-02-26 Nippon Shoken Technology Kk 運用管理サポートシステム、プログラム
JP2009181495A (ja) * 2008-01-31 2009-08-13 Nomura Research Institute Ltd ジョブ処理システムおよびジョブ管理方法
JP2009230584A (ja) * 2008-03-24 2009-10-08 Nomura Research Institute Ltd ジョブ処理システムおよびジョブ管理方法
JP2009265766A (ja) * 2008-04-22 2009-11-12 Ohbayashi Corp 工事管理サーバ、工事管理システム及び工事管理方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0242503A (ja) * 1988-08-03 1990-02-13 Nec Corp フローショップ生産システムシミュレーション装置
JPH1153006A (ja) * 1997-07-31 1999-02-26 Furukawa Electric Co Ltd:The スケジューリング方法
JP2000348111A (ja) * 1999-06-01 2000-12-15 Hitachi Ltd ワークフロー管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2001155062A (ja) * 1999-11-26 2001-06-08 Hitachi Ltd ワークフロー到着予測システム、方法、および該方法に係るプログラムを記憶した記憶媒体
JP2005174083A (ja) * 2003-12-12 2005-06-30 Fuji Xerox Co Ltd 指示記述修正装置、指示記述命令プログラム、指示記述修正方法、ジョブ実行装置、ジョブ実行命令プログラム、およびジョブ実行方法
JP2009043188A (ja) * 2007-08-10 2009-02-26 Nippon Shoken Technology Kk 運用管理サポートシステム、プログラム
JP2009181495A (ja) * 2008-01-31 2009-08-13 Nomura Research Institute Ltd ジョブ処理システムおよびジョブ管理方法
JP2009230584A (ja) * 2008-03-24 2009-10-08 Nomura Research Institute Ltd ジョブ処理システムおよびジョブ管理方法
JP2009265766A (ja) * 2008-04-22 2009-11-12 Ohbayashi Corp 工事管理サーバ、工事管理システム及び工事管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015060247A (ja) * 2013-09-17 2015-03-30 株式会社リコー 情報処理システム、情報処理装置、プログラムおよび情報処理方法
JP2015108906A (ja) * 2013-12-03 2015-06-11 ソフトバンクテレコム株式会社 管理プログラム及び管理サーバ
KR101727415B1 (ko) 2015-12-23 2017-05-02 서울시립대학교 산학협력단 클러스터 자원 관리가 가능한 빅데이터 시스템 및 자원 관리 방법

Also Published As

Publication number Publication date
JP5445124B2 (ja) 2014-03-19

Similar Documents

Publication Publication Date Title
US11334465B2 (en) Long running workflows for robotic process automation
CN111950988B (zh) 分布式工作流调度方法、装置、存储介质及电子设备
US8589929B2 (en) System to provide regular and green computing services
JP6369170B2 (ja) 実行時間推定装置及び方法
CN112668386A (zh) 使用机器人过程自动化用于文档处理的长时间运行工作流
US11294711B2 (en) Wait a duration timer action and flow engine for building automated flows within a cloud based development platform
US8073924B2 (en) Routing and delivery of data for electronic design automation workloads in geographically distributed clouds
JP5445124B2 (ja) ジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラム
US8464269B2 (en) Handling and reporting of object state transitions on a multiprocess architecture
US20120158451A1 (en) Dispatching Tasks in a Business Process Management System
JP7003874B2 (ja) リソース予約管理装置、リソース予約管理方法およびリソース予約管理プログラム
JP2011118587A (ja) 複数サーバによる連携サービス実行システム
US11231967B2 (en) Dynamically allocating and managing cloud workers
Pan et al. A novel approach to scheduling workflows upon cloud resources with fluctuating performance
JP6666555B2 (ja) 情報処理装置、ジョブ投入方法、およびジョブ投入プログラム
WO2019075845A1 (zh) 链路调用关系的构建方法、装置、计算机设备及存储介质
JP2007257163A (ja) 分散型プログラム実行環境における稼動品質管理方法
Yun et al. An integrated approach to workflow mapping and task scheduling for delay minimization in distributed environments
US20110302004A1 (en) Customizing workflow based on participant history and participant profile
CN114846490A (zh) 量化机器人流程自动化相关资源的使用
JP2010102517A (ja) ビジネスプロセス管理装置及び方法
CN112905270B (zh) 工作流实现方法、装置、平台、电子设备以及存储介质
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法
JP2005234658A (ja) タスク管理プログラムおよびタスク管理装置
JP2013190888A (ja) コンピュータリソース管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131024

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Ref document number: 5445124

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees