JP5445124B2 - Job flow management device, job flow execution start time prediction method and program thereof - Google Patents

Job flow management device, job flow execution start time prediction method and program thereof Download PDF

Info

Publication number
JP5445124B2
JP5445124B2 JP2009295171A JP2009295171A JP5445124B2 JP 5445124 B2 JP5445124 B2 JP 5445124B2 JP 2009295171 A JP2009295171 A JP 2009295171A JP 2009295171 A JP2009295171 A JP 2009295171A JP 5445124 B2 JP5445124 B2 JP 5445124B2
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.)
Expired - Fee Related
Application number
JP2009295171A
Other languages
Japanese (ja)
Other versions
JP2011134239A (en
Inventor
宏文 垣内
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/en
Publication of JP2011134239A publication Critical patent/JP2011134239A/en
Application granted granted Critical
Publication of JP5445124B2 publication Critical patent/JP5445124B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラムに関し、特に実行するジョブフローで各ジョブの開始時刻を正確に予測しうるジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラムに関する。   The present invention relates to a job flow management device, a job flow execution start time prediction method, and a program thereof, and more particularly to a job flow management device, a job flow execution start time prediction method, and a job flow execution start time prediction method that can accurately predict the start time of each job in a job flow to be executed. Regarding the program.

ジョブフロー管理装置は、複数のバッチジョブ(以後単にジョブという)をフロー状に定義したジョブフローで、各々のジョブをあらかじめ定義された順序の通りに、ネットワークを介して接続された他のコンピュータ装置に転送して実行させるコンピュータ装置である。各々のジョブは、UNIX(登録商標)のシェルスクリプトやウィンドウズ(登録商標)のバッチスクリプトなどのようなスクリプト言語で記述されている。   The job flow management apparatus is a job flow in which a plurality of batch jobs (hereinafter simply referred to as jobs) are defined in a flow form, and each computer is connected to another computer apparatus via a network in a predetermined order. It is a computer device that is transferred to and executed. Each job is described in a script language such as a UNIX (registered trademark) shell script or a Windows (registered trademark) batch script.

たとえば、コンピュータの利用者の少ない夜間や休日に、定型化されたバッチ処理を該コンピュータで一括して実行するなどのような用途に、このジョブフローによる処理が利用されることが多い。また、ジョブフローを構成するジョブの中には、目標終了時刻が設定されている場合があり、当該ジョブはその目標終了時刻までに完了している必要がある。具体的には、たとえば「毎日の始業時刻までに前日の売り上げに関するデータの集計が完了している必要がある」などのような場合に、目標終了時刻が設定される。   For example, the processing based on this job flow is often used for applications such as batch execution of standardized batch processing on the computer at night or holidays when there are few users of the computer. In addition, there is a case where a target end time is set in the jobs constituting the job flow, and the job needs to be completed by the target end time. Specifically, the target end time is set when, for example, “It is necessary to complete the aggregation of data related to the previous day's sales by the start time of each day”.

そのようなジョブが、エラーの発生や処理対象のデータ量の過大などのような理由で目標終了時刻までに完了しなかった場合、該組織の業務に遅滞を発生することとなる。そのため、ジョブフローにおいて特定のジョブの実行開始時刻および実行終了時刻を正確に予測し、それらの時刻が目標時刻より遅れそうな場合には該ジョブフローにより多くのコンピュータ資源を投入して実行を早めるなどのような対策を取ることが重要である。   If such a job is not completed by the target end time due to an error or an excessive amount of data to be processed, the business of the organization will be delayed. Therefore, the execution start time and execution end time of a specific job are accurately predicted in the job flow, and if those times are likely to be delayed from the target time, the execution is accelerated by putting more computer resources into the job flow. It is important to take measures such as

ジョブフローの実行開始時刻もしくは実行完了時刻の予測について、次のような技術文献がある。このうち、下記の特許文献1には、実行済ジョブの履歴情報を用いて監視スケジュールを更新するというジョブ進捗監視システムが記載されている。特許文献2には、ネットワーク接続された複数の機器で実行される連携フローで、特定のジョブに係る時間設定が変更されても制限時間内にそのフローを処理するという技術が記載されている。特許文献3には、実行ログ情報に蓄積された過去の同一ジョブの実行時刻を利用して、処理終了時刻を予想するという処理実行制御システムが記載されている。   Regarding the prediction of the job flow execution start time or execution completion time, there are the following technical documents. Among these, the following Patent Document 1 describes a job progress monitoring system in which a monitoring schedule is updated using history information of executed jobs. Japanese Patent Application Laid-Open No. 2004-228561 describes a technique of processing a flow within a time limit even if a time setting related to a specific job is changed in a cooperative flow executed by a plurality of devices connected to a network. Patent Document 3 describes a process execution control system in which a process end time is predicted using the execution time of the same job in the past accumulated in execution log information.

特許文献4には、ジョブチェーン(ジョブフロー)の最遅終了日時を求め、遅れているジョブの一覧を表示するというジョブ監視装置が記載されている。特許文献5には、予め設定された許容遅延時間を超えてジョブフローの実行が遅延する場合に警告を発するというジョブ実行監視方法が記載されている。そして特許文献6には、各タスク(ジョブ)の実行に際してCPUにかかる「余裕度」を計算するという技術が記載されている。   Patent Document 4 describes a job monitoring apparatus that obtains the latest end date and time of a job chain (job flow) and displays a list of delayed jobs. Patent Document 5 describes a job execution monitoring method that issues a warning when execution of a job flow is delayed beyond a preset allowable delay time. Patent Document 6 describes a technique of calculating the “margin” applied to the CPU when each task (job) is executed.

特開2004−005205号公報JP 2004-005205 A 特開2007−133696号公報JP 2007-133696 A 特開2008−059470号公報JP 2008-059470 A 特開平05−346862号公報JP 05-346862 A 特開平08−095916号公報Japanese Patent Laid-Open No. 08-095916 特許3660083号公報Japanese Patent No. 3660083

実際のジョブフローでは、たとえば合流処理(AND合流、OR合流など)、分岐処理(AND分岐、OR分岐など)、待ち合わせ条件、排他制約などのように、ジョブフローを構成する各ジョブの実行に際して種々の制約が設定されていることが多い。上記の特許文献1〜6には、各ジョブの実行に際してそれらの制約が設定されている場合の処理は何ら開示されていない。即ち、それらの制約が設定されている場合には、特許文献1〜6に記載の技術、あるいはこれらを組み合わせた技術では実行開始時刻を正確に予測できない。   In an actual job flow, there are various kinds of execution of each job constituting the job flow, such as merge processing (AND merge, OR merge, etc.), branch processing (AND branch, OR branch, etc.), waiting condition, exclusive constraint, etc. In many cases, restrictions are set. Patent Documents 1 to 6 do not disclose any processing in the case where these restrictions are set when executing each job. That is, when these restrictions are set, the execution start time cannot be accurately predicted by the techniques described in Patent Documents 1 to 6 or a technique that combines these techniques.

本発明の目的は、ジョブフローを構成する各ジョブに対して実行上の制約条件が設定されている場合にも正確に実行開始時刻を予測し、これにより実行が遅延しているジョブについて確実に把握することを可能とするジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラムを提供することにある。   The object of the present invention is to accurately predict an execution start time even when execution restriction conditions are set for each job constituting a job flow, thereby ensuring that a job whose execution is delayed It is an object of the present invention to provide a job flow management device, a job flow execution start time prediction method, and a program thereof that can be grasped.

上記目的を達成するため、本発明に係るジョブフロー管理装置は、ジョブフローを構成する各々のジョブを予め設定された実行装置に対し転送しその実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置であって、各々のジョブの属性を示すジョブ属性データを予め記憶する記憶手段と、ジョブ属性データに予め設定されたスケジュールの通りにジョブフローの実行開始を指示するスケジュール管理手段と、各々のジョブの予想開始時刻を計算するジョブフロー定義解釈手段と、各々のジョブを実行装置に対して転送して実行を依頼してその実行結果を該ジョブ実行装置から受信するジョブ投入手段と、ジョブの実行状況をユーザに対して表示するイベント通知手段とを備えると共に、ジョブフローが、ジョブもしくは合流点を示す各ノードによって表され、ジョブ属性データが、ジョブの中の特定のジョブを必ず実行する時刻について示す時刻制約と、各々のジョブの実行を開始する時刻の目標について示す目標実行時刻と、各々のジョブの実行にかかると予想される時間である予想実行時間とを含み、ジョブフロー定義解釈手段が、ジョブフローで特定の合流点に合流する各ジョブの間の実行順序をジョブ属性データに基づいて判定する実行順序判定部と、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する予想開始時刻計算部と、この計算された予想開始時刻が目標実行時刻と比較して所定の時間以上遅れる場合にイベント通知手段を介して警告を発信させる警告発信部とを有することを特徴とする。   In order to achieve the above object, a job flow management apparatus according to the present invention transfers each job constituting a job flow to a preset execution apparatus, requests execution thereof, and sends the execution result from the execution apparatus. A job flow management apparatus for receiving, storage means for storing job attribute data indicating the attribute of each job in advance, and schedule management for instructing start of job flow execution according to a schedule preset in job attribute data Means, job flow definition interpretation means for calculating the expected start time of each job, and job submission for transferring each job to the execution apparatus, requesting execution, and receiving the execution result from the job execution apparatus Means and an event notification means for displaying the execution status of the job to the user. Alternatively, the job execution data is represented by each node indicating the confluence, and the job attribute data indicates the time constraint indicating the time when a specific job in the job is necessarily executed, and the target execution indicating the target time for starting the execution of each job. The job flow definition interpreting means includes the time and the expected execution time that is expected to be executed for each job, and the job flow definition interpreting means determines the execution order between each job that joins a specific junction in the job flow. Execution order determination unit that determines based on attribute data, and predicts the expected start time of the job sequentially from the job with the lower execution order using the time constraint and the expected execution time while tracing each node from the end point of the job flow When the calculated start time is delayed by a predetermined time or more compared to the target execution time, a warning is issued via the event notification means. And having a warning transmission unit for transmitting a.

上記目的を達成するため、本発明に係るジョブフロー実行開始時刻予測方法は、ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々のノードの属性を示すジョブ属性データを予め記憶し、各々のジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置にあって、ジョブ属性データとして、ジョブを必ず実行すべき時刻について示す時刻制約と、ジョブを実行すべき時刻の目標について示す目標実行時刻と、ジョブの実行にかかると予想される時間である予想実行時間とを含むデータを予め記憶し、ジョブ属性データに予め設定されたスケジュールの通りにスケジュール管理手段がジョブフローの実行開始を指示し、ジョブ属性データに基づいてジョブフローで特定の合流点に合流する各ジョブの間で最も遅く実行される順に実行順序判定部が実行順序を判定し、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して予想開始時刻計算部が実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算し、算出した予想開始時刻がジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合に警告発信部がユーザに対して警告を発信し、各々のジョブをジョブ投入手段が実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信することを特徴とする。   In order to achieve the above object, a job flow execution start time prediction method according to the present invention stores in advance job attribute data indicating attributes of each node constituting a job flow represented by each node indicating a job or a junction. In the job flow management device that transfers each job to a preset execution device and requests execution, and receives the execution result from the execution device, the job must be executed as job attribute data. Job attribute data is stored in advance, including data including a time constraint that indicates a power time, a target execution time that indicates a target time at which the job should be executed, and an expected execution time that is expected to be the job execution. According to the schedule set in advance, the schedule management means instructs the start of job flow execution, and the job attribute data Based on the job flow, the execution order determination unit determines the execution order in the order of execution that is the slowest among the jobs that merge at a specific merge point in the job flow. Using the time, the expected start time calculation unit calculates the expected start time of the jobs in order from the job whose execution order is late, and the calculated expected start time is compared with the target execution time preset in the job attribute data. The warning transmission unit issues a warning to the user when the time is more than the predetermined time, the job input means transfers each job to the execution device, requests execution, and receives the execution result from the execution device. It is characterized by that.

上記目的を達成するため、本発明に係るジョブフロー実行開始時刻予測プログラムは、ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々のノードの属性を示し、かつジョブを必ず実行すべき時刻について示す時刻制約と、ジョブを実行すべき時刻の目標について示す目標実行時刻と、ジョブの実行にかかると予想される時間である予想実行時間とを含むジョブ属性データを予め記憶し、各々のジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置にあって、ジョブ属性データに予め設定されたスケジュールの通りにジョブフローの実行開始を指示する手順、ジョブ属性データに基づいてジョブフローで特定の合流点に合流する各ジョブの間で最も遅く実行される順に実行順序を判定する手順、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する手順、算出した予想開始時刻がジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合にユーザに対して警告を発信する手順、および各々のジョブを実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信する手順をコンピュータに実行させることを特徴とする。   In order to achieve the above object, the job flow execution start time prediction program according to the present invention indicates the attribute of each node constituting the job flow represented by each node indicating a job or a merge point, and always executes the job. Pre-store job attribute data including a time constraint that indicates a time to be executed, a target execution time that indicates a target of a time at which the job should be executed, and an expected execution time that is expected to be executed for the job, Each job is transferred to a preset execution device and requested to be executed, and the execution result is received from the execution device. According to a schedule preset in job attribute data Joining a specific merge point in the job flow based on the job attribute data, the procedure for instructing the job flow execution start A procedure for determining the execution order in the order of the latest execution among jobs, tracing each node from the end point of the job flow, and using the time constraint and the expected execution time, and the expected start time of the job sequentially from the job with the lowest execution order , A procedure for issuing a warning to a user when the calculated expected start time is delayed by a predetermined time or more compared to a target execution time preset in job attribute data, and an apparatus for executing each job And executing the procedure for receiving the execution result from the execution apparatus and causing the computer to execute the transfer.

上述したように本発明は、ワークフローの終点からノードを逆に辿りつつ、分岐ごとに予想開始時刻を算出するように構成したので、分岐処理などの制約があっても適切に実行順序を判断して予想開始時刻を算出することができ、これによって、各ジョブに対して実行上の制約条件が設定されている場合にも正確に実行開始時刻を予測し、実行が遅延しているジョブについて確実に把握することが可能であるという、優れた特徴を持つジョブフロー管理装置、ジョブフロー実行開始時刻予測方法およびそのプログラムを提供することができる。   As described above, the present invention is configured to calculate the expected start time for each branch while tracing the node backward from the end point of the workflow. Therefore, even if there are restrictions such as branch processing, the execution order is appropriately determined. The expected start time can be calculated by this, so that even when execution constraints are set for each job, the execution start time can be accurately predicted, and the job that is delayed in execution can be assured. Therefore, it is possible to provide a job flow management apparatus, a job flow execution start time prediction method, and a program thereof having an excellent characteristic that it is possible to grasp the above.

本発明の第1の実施形態に係るジョブフロー実行システムの構成を示す説明図である。It is explanatory drawing which shows the structure of the job flow execution system which concerns on the 1st Embodiment of this invention. 図1に示したジョブフロー実行システムで実行されるジョブフローの一例を示す説明図である。It is explanatory drawing which shows an example of the job flow performed with the job flow execution system shown in FIG. 図2で示したジョブフローをリスト構造形式で書き表した説明図である。FIG. 3 is an explanatory diagram in which the job flow shown in FIG. 2 is written in a list structure format. 図2で示したジョブフローの各ノードの属性を示すジョブ属性データと、これに付随するリスト構造を示す説明図である。FIG. 3 is an explanatory diagram illustrating job attribute data indicating attributes of each node in the job flow illustrated in FIG. 2 and a list structure associated therewith. 図4で示したジョブ属性データ、リスト構造に対して、図1で示したジョブフロー管理装置が行う処理を示すフローチャートである。5 is a flowchart showing processing performed by the job flow management apparatus shown in FIG. 1 for the job attribute data and list structure shown in FIG. 図5で示した処理を行った後のジョブ属性データを示す説明図である。It is explanatory drawing which shows the job attribute data after performing the process shown in FIG. 本発明の第2の実施形態に係るジョブフロー実行システムの構成を示す説明図である。It is explanatory drawing which shows the structure of the job flow execution system which concerns on the 2nd Embodiment of this invention. 図7に示したジョブフロー実行システムで実行されるジョブフローの一例を示す説明図である。It is explanatory drawing which shows an example of the job flow performed with the job flow execution system shown in FIG. 図8で示したジョブフローをリスト構造形式で書き表した説明図である。It is explanatory drawing which expressed the job flow shown in FIG. 8 in the list structure format. 図8で示したジョブフローの各ノードの属性を示すジョブ属性データと、これに付随するリスト構造を示す説明図である。It is explanatory drawing which shows the job attribute data which shows the attribute of each node of the job flow shown in FIG. 8, and the list structure accompanying this. 図7で示したジョブフロー定義解釈手段がジョブフローに対して行う処理の一例を示すプログラムのソースリストを示す説明図である。FIG. 8 is an explanatory diagram illustrating a program source list illustrating an example of processing performed by the job flow definition interpreting unit illustrated in FIG. 7 on a job flow. 図11の続きである。It is a continuation of FIG. 図12の続きである。It is a continuation of FIG. 図13の続きである。It is a continuation of FIG.

(第1の実施形態)
以下、本発明の第1の実施形態の構成について添付図1に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るジョブフロー管理装置11は、ジョブフローを構成する各々のジョブを予め設定された実行装置に対し転送しその実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置である。このジョブフロー管理装置11は、各々のジョブの時刻制約および予想実行時間を含む属性を示すジョブ属性データ110を予め記憶する記憶手段22と、ジョブ属性データに予め設定されたスケジュールの通りにジョブフローの実行開始を指示するスケジュール管理手段101と、各々のジョブの予想開始時刻を計算するジョブフロー定義解釈手段103と、各々のジョブをジョブ実行装置に対して転送して実行を依頼してその実行結果を該ジョブ実行装置から受信するジョブ投入手段104と、ジョブの実行状況をユーザに対して表示するイベント通知手段105とを備える。ここで、ジョブフローはジョブもしくは合流点を示す各ノードによって表され、ジョブ属性データ110は、ジョブを必ず実行すべき時刻について示す時刻制約と、ジョブを実行すべき時刻の目標について示す目標実行時刻と、ジョブの実行にかかると予想される時間である予想実行時間とを含む。そしてジョブフロー定義解釈手段103は、ジョブフローで特定の合流点に合流する各ジョブの間の実行順序をジョブ属性データに基づいて判定する実行順序判定部103bと、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する予想開始時刻計算部(CRST計算部103a)と、計算された予想開始時刻が目標実行時刻と比較して所定の時間以上遅れる場合にイベント通知手段を介して警告を発信させる警告発信部(CRST判定部103c)とを有する。
(First embodiment)
Hereinafter, the structure of the 1st Embodiment of this invention is demonstrated based on attached FIG.
First, the basic content of the present embodiment will be described, and then more specific content will be described.
The job flow management apparatus 11 according to this embodiment transfers each job constituting a job flow to a preset execution apparatus, requests execution thereof, and receives the execution result from the execution apparatus. Device. The job flow management apparatus 11 stores job attribute data 110 indicating attributes including time constraints and estimated execution times of each job in advance, and a job flow according to a schedule set in advance in the job attribute data. Schedule management means 101 for instructing the start of execution, job flow definition interpreting means 103 for calculating the expected start time of each job, each job is transferred to the job execution apparatus and requested for execution. A job input unit 104 that receives a result from the job execution device, and an event notification unit 105 that displays a job execution status to the user. Here, the job flow is represented by each node indicating a job or a confluence, and the job attribute data 110 includes a time constraint indicating a time when the job should be executed and a target execution time indicating a target of the time when the job should be executed. And an expected execution time that is an expected time for executing the job. The job flow definition interpreter 103 then determines an execution order between each job that joins a specific joining point in the job flow based on the job attribute data, and determines each node from the end point of the job flow. An expected start time calculation unit (CRST calculation unit 103a) that sequentially calculates an expected start time of a job in a slow execution order using time constraints and an expected execution time while tracing, and the calculated expected start time is a target execution And a warning transmission unit (CRST determination unit 103c) that issues a warning via the event notification means when the time is delayed by a predetermined time or more compared to the time.

また予想開始時刻計算部(CRST計算部103a)は、ジョブに他の特定のジョブとの間で同時に実行することができないという排他条件が設定されている場合に、実行順序判定部に判定されたジョブと排他条件の対象となるジョブとの間での実行順序に基づき、該当ジョブの中でより遅く実行される側のジョブから実行時刻が重複しないように予想開始時刻を計算する。   In addition, the expected start time calculation unit (CRST calculation unit 103a) is determined by the execution order determination unit when an exclusive condition that the job cannot be executed simultaneously with another specific job is set. Based on the execution order between the job and the job subject to the exclusion condition, the expected start time is calculated so that the execution time does not overlap with the job that is executed later in the job.

そして予想開始時刻計算部(CRST計算部103a)は、ジョブに他の特定のジョブの実行が終了してから実行を開始するという待ち合わせ条件が設定されている場合に、ジョブの直後に処理されるジョブの開始時刻と待ち合わせ条件の対象となるジョブの開始時刻のうちより早い側の時刻に基づいて予想開始時刻を計算する。   Then, the expected start time calculation unit (CRST calculation unit 103a) is processed immediately after a job when a waiting condition is set for the job to start after another specific job has been executed. The expected start time is calculated based on the earlier time of the start time of the job and the start time of the job subject to the waiting condition.

以上の構成を備えることにより、このジョブフロー管理装置11は、実行上の制約条件が設定されている場合にも正確に実行開始時刻を予測することが可能となる。
以下、これをより詳細に説明する。
With the above-described configuration, the job flow management apparatus 11 can accurately predict the execution start time even when execution constraint conditions are set.
Hereinafter, this will be described in more detail.

図1は、本発明の第1の実施形態に係るジョブフロー実行システム1の構成を示す説明図である。ジョブフロー実行システム1は、ジョブフロー管理装置11、ジョブ実行装置12、およびジョブフロー定義装置13という各々のコンピュータ装置がネットワーク10を介して相互に接続されて構成される。   FIG. 1 is an explanatory diagram showing a configuration of a job flow execution system 1 according to the first embodiment of the present invention. The job flow execution system 1 is configured by connecting respective computer devices of a job flow management device 11, a job execution device 12, and a job flow definition device 13 via a network 10.

紙面の都合上、図1にはジョブ実行装置12およびジョブフロー定義装置13を各1台のみ図示しているが、実際には1つのバッチジョブ実行システム1の中に、複数台のジョブ実行装置12が含まれていてもよい。また、ジョブフロー定義装置13は、ジョブフロー管理装置11もしくはジョブ実行装置12と同一のコンピュータであっても構わない。   Although only one job execution device 12 and one job flow definition device 13 are shown in FIG. 1 for the sake of space, actually, a plurality of job execution devices are included in one batch job execution system 1. 12 may be included. Further, the job flow definition device 13 may be the same computer as the job flow management device 11 or the job execution device 12.

ジョブフロー管理装置11は、コンピュータプログラムを実行する主体となるCPU(Central Processing Unit)21と、プログラムおよびデータを記憶する記憶手段22と、ネットワーク10を介して他のコンピュータとデータ通信を行う通信手段23とを備える。ジョブ実行装置12も同様に、CPU31と、記憶手段32と、通信手段33とを備える。   The job flow management apparatus 11 includes a central processing unit (CPU) 21 that executes a computer program, a storage unit 22 that stores programs and data, and a communication unit that performs data communication with other computers via the network 10. 23. Similarly, the job execution apparatus 12 includes a CPU 31, a storage unit 32, and a communication unit 33.

ジョブフロー定義装置13も、これらと同様に、CPU41と、記憶手段42と、通信手段43とを備えるが、これに加えてユーザにジョブフローの処理結果を表示してユーザからの操作を受け付ける入出力手段44を備える。   Similarly to these, the job flow definition device 13 includes a CPU 41, a storage unit 42, and a communication unit 43. In addition to this, the job flow definition device 13 displays a job flow processing result to the user and accepts an operation from the user. Output means 44 is provided.

ジョブフロー管理装置11のCPU21では、後述するスケジュール管理手段101、ジョブフロー定義保存手段102、ジョブフロー定義解釈手段103、ジョブ投入手段104、イベント通知部105が、各々コンピュータプログラムとして実行される。ジョブフロー管理装置11の記憶手段22では、後述するジョブ属性データ110と、これに付随するリスト構造111が記憶される。ジョブ実行装置12のCPU31ではジョブ実行手段151が、ジョブフロー定義装置13のCPU41ではフロー定義指示手段201が、各々コンピュータプログラムとして実行される。   In the CPU 21 of the job flow management apparatus 11, a schedule management unit 101, a job flow definition storage unit 102, a job flow definition interpretation unit 103, a job input unit 104, and an event notification unit 105, which will be described later, are executed as computer programs. The storage means 22 of the job flow management apparatus 11 stores job attribute data 110 (to be described later) and a list structure 111 associated therewith. The CPU 31 of the job execution device 12 executes job execution means 151 and the CPU 41 of the job flow definition device 13 executes flow definition instruction means 201 as computer programs.

ジョブフロー定義装置13のフロー定義指示手段201は、入出力手段44にGUI(Graphic User Interface)を表示して、ユーザにジョブフローの処理結果を表示すると共に、このGUIを介したユーザからの操作によるジョブフローの定義、ジョブのスクリプト、ジョブの属性設定などの入力を受け付け、この入力内容をジョブフロー管理装置11に転送する。   The flow definition instruction unit 201 of the job flow definition apparatus 13 displays a GUI (Graphic User Interface) on the input / output unit 44, displays the job flow processing result to the user, and performs an operation from the user via this GUI. The input of job flow definition, job script, job attribute setting and the like is received, and the input contents are transferred to the job flow management apparatus 11.

ジョブフロー管理装置11のスケジュール管理手段101は、ジョブ属性データ110に保存されたジョブフローの実行スケジュールにしたがって、保存されているジョブフローの実行をジョブフロー定義解釈手段103に指示する。   The schedule management unit 101 of the job flow management apparatus 11 instructs the job flow definition interpretation unit 103 to execute the stored job flow according to the job flow execution schedule stored in the job attribute data 110.

ジョブフロー定義保存手段102は、フロー定義指示手段201から転送されたジョブフロー定義に対して、ジョブフロー定義解釈手段103に時刻設定の分析処理を行わせてから、このジョブフロー定義をジョブ属性データ110として保存する。   The job flow definition storage unit 102 causes the job flow definition interpretation unit 103 to perform time setting analysis processing on the job flow definition transferred from the flow definition instruction unit 201 and then converts the job flow definition into job attribute data. Save as 110.

ジョブフロー定義解釈手段103は、スケジュール管理手段101からの指示を受けて該ジョブフローの内容を解釈した後、これをジョブ投入手段104に渡して実行させる。ここでいう「ジョブフローの内容を解釈する」とは、ジョブフローを構成する各ジョブ(ノード)の計算によって導出される開始時刻であるCRST(Calculated Restriction on Start Time)を算出し、算出したCRSTが所定の時間以上遅れるジョブの有無について判断するという処理である。   The job flow definition interpreting unit 103 receives the instruction from the schedule management unit 101 and interprets the contents of the job flow, and then passes the job flow to the job input unit 104 for execution. Here, “interpreting the contents of a job flow” means calculating a CRST (Calculated Restriction on Start Time) that is a start time derived by calculation of each job (node) constituting the job flow, and calculating the calculated CRST. Is a process of determining whether or not there is a job that is delayed for a predetermined time or more.

より具体的には、ジョブフロー定義解釈手段103は、CRSTを算出するCRST計算部103aと、ジョブフロー上の合流点に合流する各ノードの実行順序を判定する実行順序判定部103bと、算出したCRSTが所定の時間以上遅れる場合にイベント通知部105に警告を発信させるCRST判定部103cとに分かれる。   More specifically, the job flow definition interpreting unit 103 calculates a CRST calculation unit 103a that calculates a CRST, and an execution order determination unit 103b that determines the execution order of each node that joins a confluence on the job flow. The CRST determination unit 103c causes the event notification unit 105 to issue a warning when the CRST is delayed for a predetermined time or more.

ジョブフロー管理装置11のジョブ投入手段104は、ジョブフロー定義解釈手段103からの指示を受けて、該ジョブフローを構成する各ジョブの内容をジョブ実行装置12のジョブ実行手段151に転送し、そこで実行された各ジョブの結果を受信する。そして、該ジョブフローの実行結果を、ジョブフロー定義保存手段102に通知し、ジョブ属性データ110として保存させる。   In response to an instruction from the job flow definition interpretation unit 103, the job input unit 104 of the job flow management device 11 transfers the contents of each job constituting the job flow to the job execution unit 151 of the job execution device 12, where Receive the results of each executed job. Then, the job flow execution result is notified to the job flow definition storage means 102 and stored as job attribute data 110.

ジョブフロー管理装置11のイベント通知部105は、ジョブフロー定義解釈手段103から通知されたイベントの内容について、フロー定義指示手段201に転送して入出力手段44に表示させる。   The event notification unit 105 of the job flow management apparatus 11 transfers the content of the event notified from the job flow definition interpretation unit 103 to the flow definition instruction unit 201 and causes the input / output unit 44 to display it.

ジョブ実行装置12のジョブ実行手段151は、ジョブフロー管理装置11のジョブ投入手段104から転送された各ジョブを実行し、その結果をジョブ投入手段104に返す。   The job execution unit 151 of the job execution apparatus 12 executes each job transferred from the job input unit 104 of the job flow management apparatus 11 and returns the result to the job input unit 104.

図2は、図1に示したジョブフロー実行システム1で実行されるジョブフロー300の一例を示す説明図である。ジョブフロー300は、10個のノードから成り、「N1」から「N8」までのジョブ(バッチ処理)を行うノードと、フローの合流を処理する2個のノードと、OR合流点「MP1」と、AND合流点「MP2」で構成される。   FIG. 2 is an explanatory diagram showing an example of a job flow 300 executed by the job flow execution system 1 shown in FIG. The job flow 300 includes 10 nodes, a node that performs jobs (batch processing) from “N1” to “N8”, two nodes that process flow merging, and an OR merging point “MP1”. , And an AND junction “MP2”.

OR合流点とは、合流点のノードに向かって矢印が指し示すノードの少なくとも1つが完了すれば、後続のノードの処理を開始する制御を行う。ジョブフロー300のOR合流点「MP1」は、「N3」,「N4」,「N5」の各ジョブのうち少なくとも1つが完了すれば、後続の「N6」の処理を開始することができる。   The OR merge point is a control for starting the processing of the subsequent node when at least one of the nodes indicated by the arrows toward the merge node is completed. If at least one of the “N3”, “N4”, and “N5” jobs is completed at the OR junction “MP1” of the job flow 300, the subsequent “N6” process can be started.

AND合流点とは、合流点のノードに向かって矢印が指し示すノードの全ての処理が完了すれば、後続のノードの処理を開始する制御を行う。ジョブフロー300のAND合流点「MP2」は、「N6」および「N7」の各ジョブがいずれも完了してから、後続の「N8」の処理を開始することができる。   The AND merge point is a control for starting the process of the subsequent node when all the processes of the node indicated by the arrow toward the node of the merge point are completed. The AND merging point “MP2” of the job flow 300 can start the subsequent “N8” process after both the “N6” and “N7” jobs are completed.

また、ジョブフロー300では、「N7」は「N4」の完了を待ち合わせるという待ち合わせ条件が設定されている。「N4」が完了しない限り、「N7」の処理が開始されることはない。さらに、「N5」と「N7」に対して排他制約が設定されており、「N5」と「N7」の処理を同時に実行することは不可能である。「N5」が開始されている場合、「N7」は「N5」の完了を待ち合わせてから開始され、逆に「N7」が開始されている場合、「N5」は「N7」の完了を待ち合わせてから開始されることとなる。   In the job flow 300, a waiting condition is set in which “N7” waits for the completion of “N4”. Unless “N4” is completed, the process of “N7” is not started. Furthermore, exclusion restrictions are set for “N5” and “N7”, and it is impossible to execute the processes of “N5” and “N7” at the same time. When “N5” is started, “N7” starts after waiting for the completion of “N5”. Conversely, when “N7” is started, “N5” waits for the completion of “N7”. It will start from.

さらに、ジョブフロー300では、「N3」に対して終了時刻「X」の制約が設定されている。そして「N8」に対して開始時刻「Y」の制約が設定されている。即ち、「N3」は時刻「X」までに処理が完了していなければならず、また「N8」は時刻「Y」までに処理が開始していなければならない。   Further, in the job flow 300, the restriction of the end time “X” is set for “N3”. A restriction on the start time “Y” is set for “N8”. That is, “N3” must be processed by time “X”, and “N8” must have started processing by time “Y”.

図3は、図2で示したジョブフロー300をリスト構造形式で書き表した説明図である。そして図4は、図2で示したジョブフロー300の各ノードの属性を示すジョブ属性データ110と、これに付随するリスト構造111を示す説明図である。ID110aは図2の表示に対応する各ノードの識別子である。タイプ110bは、各ノードの種類を表す。「Node」は通常のジョブ(バッチ処理)、「OrMeetingPoint」はOR合流点、「AndMeetingPoint」はAND合流点を各々示す。   FIG. 3 is an explanatory diagram in which the job flow 300 shown in FIG. 2 is written in a list structure format. FIG. 4 is an explanatory diagram showing job attribute data 110 indicating attributes of each node in the job flow 300 shown in FIG. 2 and a list structure 111 associated therewith. ID 110a is an identifier of each node corresponding to the display of FIG. The type 110b represents the type of each node. “Node” indicates a normal job (batch processing), “OrMeetingPoint” indicates an OR merging point, and “AndMeetingPoint” indicates an AND merging point.

待ち合わせターゲット110cは、そのノードが待ち合わせ条件における待ち合わせの対象となるノードである場合に値が1となり、そうでない場合はnull値(図4では「−」で表す)となる。待ち合わせソースリスト110dは、そのノードが待ち合わせ条件における待ち合わせの対象となるノードである場合に、待機対象ノードの情報を格納するリスト構造111へのポインタを格納している。対象ノードが2つ以上ある場合は、リスト構造111に複数のノードの情報が格納される。   The wait target 110c has a value of 1 when the node is a node to be waited for in the wait condition, and a null value (represented by “−” in FIG. 4) otherwise. The queuing source list 110d stores a pointer to the list structure 111 that stores information on the standby target node when the node is a node that is a target of waiting under the waiting condition. When there are two or more target nodes, information of a plurality of nodes is stored in the list structure 111.

排他制約110eはノードに対して排他制約が設定されている場合に値が1となり、そうでない場合はnull値となる。排他制約リスト110fは、排他制約110e=1である場合に、どのノード群が排他関係にあるかを示すリスト構造111へのポインタ「Pt2」「Pt3」を格納している。   The exclusive constraint 110e has a value of 1 when an exclusive constraint is set for the node, and a null value otherwise. The exclusive constraint list 110f stores pointers “Pt2” and “Pt3” to the list structure 111 indicating which node group has an exclusive relationship when the exclusive constraint 110e = 1.

開始時刻(RST: Restriction on Start Time)110gは、そのノードに開始時刻の制約が設定されている場合に、その時刻を格納する。開始時刻の制約が設定されていない場合にはnull値となる。CRST110hは、開始時刻110gの制約の影響を分析した結果、計算によって導出される該当ノードでの開始時刻の制約を格納する。CRST−ID110iは、CRST110hの値がどのノードに由来するものであるか、そのノードのID110aに対応する値を格納する。   The start time (RST: Restriction on Start Time) 110g stores the time when the start time restriction is set for the node. If the start time constraint is not set, the value is null. As a result of analyzing the influence of the restriction of the start time 110g, the CRST 110h stores the restriction of the start time at the corresponding node derived by calculation. The CRST-ID 110i stores a value corresponding to the ID 110a of the node from which node the value of the CRST 110h is derived.

終了時刻(RFT: Restriction on Finish Time)110jは、そのノードに終了時刻の制約が設定されている場合に、その時刻を格納する。終了時刻の制約が設定されていない場合にはnull値となる。予想実行時間(EET: Estimated Execution Time)110kは、そのノードが実行するジョブ(バッチ処理)の実行にかかると予想される時間を格納する。各ジョブの予想実行時間は、同一ジョブの前回の実行時間の実績値を利用することができるし、他にも任意の公知技術を適用して算出することができる。   The end time (RFT: Restriction on Finish Time) 110j stores the time when the end time restriction is set for the node. If the end time constraint is not set, the value is null. The estimated execution time (EET: Estimated Execution Time) 110k stores the time that is expected to be taken for execution of the job (batch processing) executed by the node. The estimated execution time of each job can use the actual value of the previous execution time of the same job, or can be calculated by applying any known technique.

前ノード110lは、該ノードの前に処理されるノードのID110aに対応する値を格納する。ただし、該ノードが合流点である場合には、前ノードとして複数のノードが該当するので、前ノード110lはnull値とする。リスト情報110mは、前ノードとして複数のノードが該当して前ノード110lがnull値である場合に、その前ノードを示すリスト構造111へのポインタ「Pt4」「Pt5」を格納する。   The previous node 110l stores a value corresponding to the ID 110a of the node processed before the node. However, when the node is a confluence, a plurality of nodes correspond to the previous node, and the previous node 110l is set to a null value. The list information 110m stores pointers “Pt4” and “Pt5” to the list structure 111 indicating the previous node when a plurality of nodes correspond to the previous node and the previous node 110l has a null value.

目標時刻(TT: Target Time)110nは、各ノードのCRST110hに対する目標値として設定された時刻である。CRST110hが目標時刻110nと比べて所定の時間以上遅れる場合に、CRST判定部103cがイベント通知部105を介して警告を発信する。   The target time (TT: Target Time) 110n is a time set as a target value for the CRST 110h of each node. When the CRST 110h is delayed by a predetermined time or more compared to the target time 110n, the CRST determination unit 103c issues a warning via the event notification unit 105.

図5は、図4で示したジョブ属性データ110、リスト構造111に対して、図1で示したジョブフロー管理装置11が行う処理を示すフローチャートである。フロー定義指示手段201からのフロー定義保存指示を受けたジョブフロー定義解釈手段103は、まず実行順序判定部103bが該ジョブフロー内に時刻制限があるか否かを確認する(ステップS201)。時刻制限がない場合は分析の必要がないため、ジョブフロー定義保存手段102が該ジョブフローを保存して(ステップS208)処理を終了する。   FIG. 5 is a flowchart showing processing performed by the job flow management apparatus 11 shown in FIG. 1 for the job attribute data 110 and the list structure 111 shown in FIG. The job flow definition interpretation unit 103 that has received the flow definition storage instruction from the flow definition instruction unit 201 first checks whether or not the execution order determination unit 103b has a time restriction in the job flow (step S201). If there is no time restriction, there is no need for analysis, so the job flow definition storage unit 102 stores the job flow (step S208) and ends the process.

該ジョブフロー内に時刻制限がある場合は、次に実行順序判定部103bがそのジョブフロー内に排他制約があるか否かを確認する(ステップS202)。排他制約があれば、実行順序判定部103bがその排他制約のあるノードのリストを作成して(ステップS203)、ステップS204に進む。排他ノードのリストとは、排他実行の関係にあるジョブを実行開始時間が遅いと予定される順番にノード情報をリストに格納したものである。排他制約がなければ、そのままステップS204に進む。   If there is a time restriction in the job flow, the execution order determination unit 103b next checks whether there is an exclusive restriction in the job flow (step S202). If there is an exclusive constraint, the execution order determination unit 103b creates a list of nodes with the exclusive constraint (step S203), and the process proceeds to step S204. The exclusive node list is a list in which node information is stored in a list in the order in which jobs having exclusive execution relations are scheduled to be executed later. If there is no exclusion constraint, the process proceeds directly to step S204.

その後、CRST計算部103aは各ノードの開始時刻制約を計算する(ステップS204)。このステップS204で算出された開始時刻制約が、図4に示したCRST110hおよびCRST−ID110iとなる。そして終了時刻110jの設定されているノードについて、CRST判定部103cがこれと計算されたCRST110hとを比較する(ステップS205)。CRST110hが、終了時刻110jと比べて予め与えられた所定の閾値以上遅れている場合には、CRST判定部103cがこのことをイベント通知部105に通知して、ユーザに対して警告を表示させる(ステップS206)。   Thereafter, the CRST calculation unit 103a calculates the start time constraint of each node (step S204). The start time constraints calculated in step S204 are CRST 110h and CRST-ID 110i shown in FIG. Then, for the node for which the end time 110j is set, the CRST determination unit 103c compares this with the calculated CRST 110h (step S205). When the CRST 110h is delayed by a predetermined threshold or more compared to the end time 110j, the CRST determination unit 103c notifies the event notification unit 105 of this and displays a warning to the user ( Step S206).

その後、ジョブフロー定義保存手段102がこのジョブフローと計算された開始時刻制約情報をジョブ属性データ110およびリスト構造111として保存して(ステップS207)処理を終了する。   Thereafter, the job flow definition storage unit 102 stores the job flow and the calculated start time constraint information as the job attribute data 110 and the list structure 111 (step S207), and ends the process.

このステップS204に係る計算について、図2〜4に示した例を用いてより詳しく説明する。この計算では、ジョブフロー300の終点から各ノードをたどる形で処理を行う。まず図3の1行目に「End→N8」とあり、図4のジョブ属性データ110では開始時刻110gとして「時刻X」が設定されている。ノード「N8」はこれ以外の時刻制約の影響をうけないため、CRST110hには「時刻X」が格納され、CRST−ID110iには「N8」が格納される。   The calculation according to step S204 will be described in more detail using the examples shown in FIGS. In this calculation, processing is performed in the form of tracing each node from the end point of the job flow 300. First, “End → N8” is in the first line of FIG. 3, and “time X” is set as the start time 110g in the job attribute data 110 of FIG. Since the node “N8” is not affected by other time restrictions, “time X” is stored in the CRST 110h, and “N8” is stored in the CRST-ID 110i.

図3の2行目に「N8→MP2」とあり、またジョブ属性データ110でもノード「N8」の前ノード110lは「MP2」となっている。ノード「MP2」はAND合流点であるので、前ノード110lはnull値であるが、リスト情報110mにその前ノードを示すリスト構造111へのポインタ「Pt5」が格納されている。リスト構造111でポインタ「Pt5」を参照すると、ノード「N6」および「N7」が格納されている。   In the second line of FIG. 3, “N8 → MP2” is indicated, and in the job attribute data 110, the previous node 110l of the node “N8” is “MP2”. Since the node “MP2” is an AND confluence, the previous node 110l has a null value, but the pointer “Pt5” to the list structure 111 indicating the previous node is stored in the list information 110m. When the pointer “Pt5” is referred to in the list structure 111, nodes “N6” and “N7” are stored.

ノード「N6」および「N7」の前ノード110lは、いずれも「MP1」である。従って、ジョブフロー定義解釈手段103はここでノード「MP1」に到達するまでの各ノードのCRST110hを計算する。ノード「N6」のCRST110hは、ノード「N8」のCRST110hである「時刻X」から、ノード「N6」の予想実行時間110kであるEET6を引いた値、即ち「X−EET6」となる。ノード「N6」のCRST−ID110iには、「N8」が格納される。   The previous nodes 110l of the nodes “N6” and “N7” are both “MP1”. Therefore, the job flow definition interpreter 103 calculates the CRST 110h of each node until the node “MP1” is reached. The CRST 110h of the node “N6” is a value obtained by subtracting EET6 that is the expected execution time 110k of the node “N6” from “time X” that is the CRST 110h of the node “N8”, that is, “X-EET6”. “N8” is stored in the CRST-ID 110i of the node “N6”.

一方、ノード「N7」は、排他制約110eの値が1であるので、排他制約が設定されていることがわかる。CRSTの計算処理はジョブフロー300の終点であるノード「N8」から、各ノードの前ノード110lを辿りつつ行っていく。ノード「N7」の排他制約リスト110fの値は「Pt3」であり、リスト構造111でこのポインタ「Pt3」を参照すると、ノード「N5」がこの排他処理の対象となっていることがわかる。   On the other hand, since the value of the exclusive constraint 110e is 1 for the node “N7”, it can be seen that the exclusive constraint is set. The CRST calculation process is performed from the node “N8”, which is the end point of the job flow 300, while tracing the previous node 110l of each node. The value of the exclusive constraint list 110f of the node “N7” is “Pt3”. When the pointer “Pt3” is referred to in the list structure 111, it can be seen that the node “N5” is the target of this exclusive process.

ジョブフロー300で、ノード「N5」はノード「N7」より先に実行されるものであり、またノード「N5」のCRST110hがnull値、即ちまだ算出されていないので、予想される実行順序はノード「N7」が最も遅いことになる。そこで、この「N7」のCRST110hを計算する。   In the job flow 300, the node “N5” is executed before the node “N7”, and the CRST 110h of the node “N5” is a null value, that is, has not yet been calculated. “N7” will be the slowest. Therefore, the CRST 110h of “N7” is calculated.

ノード「N7」のCRST110hは、ノード「N8」のCRST110hである「時刻X」から、ノード「N7」の予想実行時間110kであるEET7を引いた値、即ち「X−EET7」となる。ノード「N7」のCRST−ID110iには、「N8」が格納される。   The CRST 110h of the node “N7” is a value obtained by subtracting EET7 that is the expected execution time 110k of the node “N7” from “time X” that is the CRST 110h of the node “N8”, that is, “X-EET7”. “N8” is stored in the CRST-ID 110i of the node “N7”.

続いて、ノード「N6」および「N7」の先行ノードであるノード「MP1」のCRST−ID110iを分析する。ノード「MP1」はAND合流点であるノード「MP2」の処理への分岐点である。そのため、ノード「MP2」を指し示すノード「N6」および「N7」のジョブがすべて完了してから次のノードに処理を進める必要がある。即ち、ノード「N6」CRST110hである「X−EET6」と、ノード「N7」のCRST110hであるX−EET7のうち、いずれか早い方の時刻を監視に用いる必要がある。   Subsequently, the CRST-ID 110i of the node “MP1” that is the preceding node of the nodes “N6” and “N7” is analyzed. The node “MP1” is a branch point to the processing of the node “MP2” which is an AND junction. Therefore, it is necessary to proceed to the next node after all the jobs of the nodes “N6” and “N7” indicating the node “MP2” are completed. That is, it is necessary to use the earlier one of “X-EET6” that is the node “N6” CRST110h and X-EET7 that is the CRST110h of the node “N7” for monitoring.

ここで、複数の時刻である時刻1、時刻2…の中の最小値をMIN(時刻1,時刻2…)と表現すると、ノード「MP1」のCRST110hはMIN(X−EET6,X−EET7)である。ノード「MP1」のCRST−ID110iには、「N8」が格納される。   Here, when a minimum value among a plurality of times 1, time 2... Is expressed as MIN (time 1, time 2...), CRST 110h of the node “MP1” is MIN (X-EET6, X-EET7). It is. “N8” is stored in the CRST-ID 110i of the node “MP1”.

ノード「MP1」はOR分岐点であるので、該ノードのリスト情報110mとして格納されているポインタ「Pt4」をリスト構造111の中から参照する。ポインタ「Pt4」は「N5」「N3」「N4」の各ノードを指している。そして、ジョブフロー300の始点であるノード「N1」で初めてこれらの各経路が一致することになる。従って、ノード「MP1」から「N1」に至るまでの各経路で各ノードのCRST110hを計算する。   Since the node “MP1” is an OR branch point, the pointer “Pt4” stored as the list information 110m of the node is referred to from the list structure 111. The pointer “Pt4” points to the nodes “N5”, “N3”, and “N4”. Then, these paths are matched for the first time at the node “N1” that is the starting point of the job flow 300. Accordingly, the CRST 110h of each node is calculated on each route from the node “MP1” to “N1”.

ノード「N5」は、排他制約110e=1であるので、排他制約が設定されていることがわかる。ノード「N5」の排他制約リスト110fはポインタ「Pt2」を示しており、ここからノード「N5」はノード「N7」との間での排他制約となっており、前述のようにこの両者の間で予想される実行順序は「N5」「N7」の順である。   Since the node “N5” has the exclusive constraint 110e = 1, it can be seen that the exclusive constraint is set. The exclusive restriction list 110f of the node “N5” indicates the pointer “Pt2”, and from this point, the node “N5” becomes an exclusive restriction with the node “N7”. The order of execution expected is “N5” and “N7”.

従って、ノード「N5」のCRST110hは、ノード「MP1」のCRSTとノード「N7」のCRSTの開始時刻条件の早い方、即ちMIN(MIN(X−EET6,X−EET7),X−EET7)−EET5で表現される値となる。ノード「N5」のCRST−ID110iは「N8」が格納される。   Accordingly, the CRST 110h of the node “N5” is the earlier of the CRST of the node “MP1” and the CRST of the node “N7”, that is, MIN (MIN (X-EET6, X-EET7), X-EET7) − It is a value expressed in EET5. “N8” is stored in the CRST-ID 110i of the node “N5”.

ノード「N2」のCRST110hは、ノード「N5」のCRST110hからEET2を引いた値、即ちMIN(MIN(X−EET6,X−EET7),X−EET7)−EET5−EET2 で表現される値となる。   The CRST 110h of the node “N2” is a value obtained by subtracting EET2 from the CRST 110h of the node “N5”, that is, a value expressed by MIN (MIN (X-EET6, X-EET7), X-EET7) -EET5-EET2. .

また、ノード「N3」は、終了時刻110jが設定されている。このため、ノード「N3」のCRST110hは終了時刻110jと、ノード「MP1」のCRST110hのうち、開始時刻条件の早い方に基づいて計算される。   Further, the end time 110j is set for the node “N3”. Therefore, the CRST 110h of the node “N3” is calculated based on the end time 110j and the CRST 110h of the node “MP1” with the earlier start time condition.

したがってノード「N3」のCRST110hは、該ノードの終了時刻110j=時刻Yとすると、MIN(Y,MIN(X−EET6,X−EET7))−EET3 で表現される値となる。ノード「N3」のCRST−ID110iには、採用した開始時刻条件の早い方に基づいて、「N3」または「N8」が格納される。   Therefore, the CRST 110h of the node “N3” is a value expressed by MIN (Y, MIN (X-EET6, X-EET7)) − EET3 when the end time 110j of the node is time Y. In the CRST-ID 110i of the node “N3”, “N3” or “N8” is stored based on the earlier start time condition adopted.

ノード「N4」は、待ち合わせターゲット110cが1なので待ち合わせ条件の対象ノードであることがわかる。このノードの待ち合わせソースリスト110dには、リスト構造111へのポインタ「Pt1」が格納されているので、これをリスト構造111で確認すると、待機対象ノードは「N7」である。ノード「N4」のCRST110hは、ノード「N7」と「MP1」のうち開始時刻の早い方に基づいて計算される。   Since the waiting target 110c is 1 for the node “N4”, it is understood that the node “N4” is a target node for the waiting condition. Since the pointer “Pt1” to the list structure 111 is stored in the waiting source list 110d of this node, when this is confirmed in the list structure 111, the standby target node is “N7”. The CRST 110h of the node “N4” is calculated based on the earliest start time of the nodes “N7” and “MP1”.

したがってノード「N4」のCRST110hは、MIN(X−EET7,MIN(X−EET6,X−EET7))−EET4 によって計算され、N4のCRST−ID110iは「N8」が格納される。   Therefore, the CRST 110h of the node “N4” is calculated by MIN (X-EET7, MIN (X-EET6, X-EET7)) − EET4, and “N8” is stored in the CRST-ID 110i of the N4.

ノード「N1」は、OR合流点であるノード「MP1」の処理への分岐点でもある。ノード「MP1」はOR合流点であるので、このノードを指し示す「N3」「N4」「N5」のジョブのうちいずれか1つが完了していれば処理が後続ノードに進む。そのため、「N2」「N3」「N4」のCRSTのうち最も遅い時刻条件を監視に用いることができる。   The node “N1” is also a branch point to the processing of the node “MP1” that is the OR junction. Since the node “MP1” is an OR merging point, if any one of “N3”, “N4”, and “N5” jobs indicating this node is completed, the process proceeds to the subsequent node. Therefore, the latest time condition among the CRSTs “N2”, “N3”, and “N4” can be used for monitoring.

ここで、複数の時刻である時刻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」が格納される。   Here, if the maximum value among time 1, time 2... That is a plurality of times is expressed as MAX (time 1, time 2...), CRST 110 h of node “N 1” is MAX (MIN (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 “N3” or “N8” is stored in the CRST-ID 110i of the node “N1” depending on the value adopted when taking the maximum value.

図6は、図5で示した処理を行った後のジョブ属性データ110を示す説明図である。ノード「N1」〜「N8」のCRST110hは、紙面の都合上、表の外に表記した式の通りに求められている。   FIG. 6 is an explanatory diagram showing the job attribute data 110 after the processing shown in FIG. 5 is performed. The CRSTs 110h of the nodes “N1” to “N8” are obtained according to the formulas described outside the table for the sake of space.

(第1の実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係るジョブフロー実行開始時刻予測方法は、ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々のノードの属性を示すジョブ属性データを予め記憶し、各々のジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置11にあって、ジョブ属性データとして、ジョブを必ず実行すべき時刻について示す時刻制約と、ジョブを実行すべき時刻の目標について示す目標実行時刻と、ジョブの実行にかかると予想される時間である予想実行時間とを含むデータを予め記憶し、ジョブ属性データに予め設定されたスケジュールの通りにスケジュール管理手段がジョブフローの実行開始を指示し、ジョブ属性データに基づいてジョブフローで特定の合流点に合流する各ジョブの間で最も遅く実行される順に実行順序判定部が実行順序を判定し、ジョブフローの終点から各ノードを辿りつつ時刻制約および予想実行時間を利用して予想開始時刻計算部が実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算し(図5:ステップS204)、算出した予想開始時刻がジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合に警告発信部がユーザに対して警告を発信し(図5:ステップS205〜206)、各々のジョブをジョブ投入手段が実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信する。
(Overall operation of the first embodiment)
Next, the overall operation of the above embodiment will be described. In the job flow execution start time prediction method according to the present embodiment, job attribute data indicating attributes of each node constituting a job flow represented by each node indicating a job or a junction is stored in advance. The job flow management apparatus 11 that transfers to a predetermined execution device and requests execution and receives the execution result from the execution device. Pre-stores data including constraints, a target execution time that indicates the target of the time at which the job should be executed, and an expected execution time that is expected to be the job execution, and is preset in the job attribute data The schedule management means instructs the start of job flow execution according to the schedule, and the job The execution order determination unit determines the execution order in the order of execution that is the slowest among the jobs that join a specific merge point in the flow, and uses the time constraints and expected execution time while tracing each node from the end point of the job flow. Then, the expected start time calculation unit sequentially calculates the expected start time of the jobs from the job whose execution order is late (FIG. 5: Step S204), and compares the calculated expected start time with the target execution time set in advance in the job attribute data. When the delay is over a predetermined time, the warning sending unit sends a warning to the user (FIG. 5: steps S205 to 206), and the job input means transfers each job to the execution device and requests execution. In addition, the execution result is received from the execution device.

ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータであるジョブフロー管理装置11に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
Here, each of the above-described operation steps may be programmed to be executable by a computer, and may be executed by the job flow management apparatus 11 which is a computer that directly executes each of the steps.
With this configuration and operation, the present embodiment has the following effects.

本実施形態は、排他制約が多数設定されているジョブフローの排他制約があるノード間について、その実行順序が一番遅いものから順次、開始時刻の制約を計算するように構成されている。かつ、より実行順序が遅いノードにおいてCRST値が計算されていない場合は、その値を計算してから該当ノードにおいて実行時間が重ならないようにCRST値を計算するように構成されている。そのため、排他制約があるフローについても各ノードでの開始時刻の制約に応じて適切にCRSTを算出することができる。   The present embodiment is configured to calculate the start time constraints sequentially from the node having the slowest execution order between the nodes having the exclusive constraints of the job flow in which many exclusive constraints are set. In addition, when the CRST value is not calculated in a node whose execution order is later, the CRST value is calculated so that the execution time does not overlap in the corresponding node after calculating the value. Therefore, it is possible to appropriately calculate CRST in accordance with the restriction of the start time at each node even for a flow having an exclusion restriction.

また、本実施形態ではさらに、待ち合わせ条件が設定されている場合に、その待ち合わせる対象ノードにて待つ側のノードのCRST値と待ち合わせる対象ノードの後続のノードのCRST値を比較して計算するように構成されているため、待ち合わせ条件が設定されているフローについても各ノードでの開始時刻の制約に応じて適切にCRSTを算出することができる。   Further, in this embodiment, when a waiting condition is set, the CRST value of the node waiting at the target node to be waited is compared with the CRST value of the subsequent node of the target node to be waited for calculation. Since it is configured, the CRST can be appropriately calculated according to the restriction of the start time at each node even for the flow for which the waiting condition is set.

(第2の実施形態)
本発明の第2の実施形態に係るジョブフロー管理装置411は、前述した第1の実施形態に係るジョブフロー管理装置11の構成に加えて、ジョブフローを構成する各ノードの合流点に代えて分岐点を装備した構成とし、ジョブフロー定義解釈手段503の予想開始時刻計算部(CRST計算部503a)が、ジョブフローの開始点から終点まで各々のノードを辿り、時刻制約の設定されたノードに到達したら予想実行時間を利用して該ノードに該当するジョブの予想開始時刻を算出する機能と、この算出された該ノードの予想開始時刻からジョブフローを逆に辿りつつその他のノードに該当するジョブの予想実行時間を計算する機能とを備えるように構成した。
(Second Embodiment)
In addition to the configuration of the job flow management apparatus 11 according to the first embodiment described above, the job flow management apparatus 411 according to the second embodiment of the present invention is replaced with a merging point of each node configuring the job flow. The expected start time calculation unit (CRST calculation unit 503a) of the job flow definition interpreting unit 503 traces each node from the start point to the end point of the job flow, and sets the node with the time constraint. When it arrives, it uses the expected execution time to calculate the expected start time of the job corresponding to the node, and the job corresponding to the other node while tracing the job flow in reverse from the calculated expected start time of the node And a function for calculating the expected execution time of the system.

この構成により、ジョブと分岐点とによって表されるジョブフローに対しても、第1の実施形態と同一の効果を得ることができる。
以下、これをより詳しく説明する。
With this configuration, the same effect as that of the first embodiment can be obtained for a job flow represented by a job and a branch point.
This will be described in more detail below.

図7は、本発明の第2の実施形態に係るジョブフロー実行システム401の構成を示す説明図である。ジョブフロー実行システム401は、ジョブフロー管理装置411、ジョブ実行装置12、およびジョブフロー定義装置13という各々のコンピュータ装置がネットワーク10を介して相互に接続されて構成される。ジョブ実行装置12およびジョブフロー定義装置13は、第1の実施形態と同一である。   FIG. 7 is an explanatory diagram showing the configuration of the job flow execution system 401 according to the second embodiment of the present invention. The job flow execution system 401 is configured by connecting the respective computer devices of the job flow management device 411, the job execution device 12, and the job flow definition device 13 via the network 10. The job execution device 12 and the job flow definition device 13 are the same as those in the first embodiment.

ジョブフロー管理装置411は、図1に示した第1の実施形態に係るジョブフロー管理装置11と同じく、CPU21と、プログラムおよびデータを記憶する記憶手段22と、ネットワーク10を介して他のコンピュータとデータ通信を行う通信手段23とを備える。   Similar to the job flow management apparatus 11 according to the first embodiment shown in FIG. 1, the job flow management apparatus 411 includes a CPU 21, a storage unit 22 that stores programs and data, and other computers via the network 10. And communication means 23 for performing data communication.

ジョブフロー管理装置411のCPU21では、スケジュール管理手段101、ジョブフロー定義保存手段102、ジョブフロー定義解釈手段503、ジョブ投入手段104、イベント通知部105が、各々コンピュータプログラムとして実行される。ジョブフロー管理装置11の記憶手段22では、後述するジョブ属性データ510と、これに付随するリスト構造511が記憶される。図1で示したジョブフロー管理装置11との相違点は、ジョブフロー定義解釈手段503の動作と、ジョブ属性データ510およびリスト構造511の内容のみであり、これ以外は全て同一である。   In the CPU 21 of the job flow management apparatus 411, the schedule management unit 101, the job flow definition storage unit 102, the job flow definition interpretation unit 503, the job input unit 104, and the event notification unit 105 are executed as computer programs. The storage means 22 of the job flow management apparatus 11 stores job attribute data 510 (to be described later) and a list structure 511 associated therewith. The only difference from the job flow management apparatus 11 shown in FIG. 1 is the operation of the job flow definition interpreting means 503, the contents of the job attribute data 510 and the list structure 511, and everything else is the same.

ジョブフロー定義解釈手段503は、CRSTを算出するCRST計算部503aと、ジョブフロー上の合流点に合流する各ノードの実行順序を判定する実行順序判定部503bと、算出したCRSTが所定の時間以上遅れる場合にイベント通知部105に警告を発信させるCRST判定部503cとに分かれる。これらの機能の分担は、原則として図1で示した第1の実施形態でのジョブフロー定義解釈手段103と同一である。   The job flow definition interpreting unit 503 includes a CRST calculation unit 503a that calculates CRST, an execution order determination unit 503b that determines the execution order of each node that joins a merge point on the job flow, and the calculated CRST is equal to or longer than a predetermined time. In the case of delay, the event notification unit 105 is divided into a CRST determination unit 503c that issues a warning. The sharing of these functions is in principle the same as the job flow definition interpreting means 103 in the first embodiment shown in FIG.

図8は、図7に示したジョブフロー実行システム401で実行されるジョブフロー600の一例を示す説明図である。ジョブフロー600は、10個のノードから成り、「N1」から「N8」までのジョブ(バッチ処理)を行うノードと、フローの合流を処理する2個のノードと、OR分岐点「BR1」と、AND分岐点「BR2」で構成される。   FIG. 8 is an explanatory diagram showing an example of a job flow 600 executed by the job flow execution system 401 shown in FIG. The job flow 600 includes 10 nodes, a node that performs jobs (batch processing) from “N1” to “N8”, two nodes that process the merging of flows, and an OR branch point “BR1”. AND branch point “BR2”.

ジョブフロー600は、第1の実施形態で実行されたジョブフロー300と、各ジョブ「N1」〜「N8」は同一であり、また各ジョブに設定された待ち合わせ条件、排他制約、終了時刻の制約、および開始時刻の制約の各々の内容も同一である。ただし、ジョブフロー300は各ジョブ「N1」〜「N8」とOR合流点「MP1」、AND合流点「MP2」で構成されていたのに対し、ジョブフロー600は各ジョブ「N1」〜「N8」とOR分岐点「BR1」、AND分岐点「BR2」で構成されている。   In the job flow 600, the jobs “N1” to “N8” are the same as the job flow 300 executed in the first embodiment, and the waiting conditions, exclusive constraints, and end time constraints set for each job are the same. , And the contents of the start time constraints are also the same. However, the job flow 300 is composed of the jobs “N1” to “N8”, the OR merge point “MP1”, and the AND merge point “MP2”, whereas the job flow 600 is composed of the jobs “N1” to “N8”. ”, An OR branch point“ BR1 ”, and an AND branch point“ BR2 ”.

OR分岐点は、分岐した処理が1つのノードに合流する際に、合流点のノードに向かって矢印を指し示すノードの少なくとも1つが完了すれば、合流点のノードの処理を開始する制御を行う。ジョブフロー600のOR分岐点「BR1」は、「N3」,「N4」,および「N2」の後続ジョブであり他ジョブと合流する「N5」の各ジョブのうち少なくとも1つが完了すれば、合流後の「BR2」の処理を開始することができる。   The OR branch point performs control to start processing of the node at the merge point when at least one of the nodes indicated by the arrows toward the node at the merge point is completed when the branched processes merge into one node. The OR branch point “BR1” of the job flow 600 is a successor job of “N3”, “N4”, and “N2”, and merges when at least one of the “N5” jobs that merge with other jobs is completed. The subsequent “BR2” process can be started.

AND分岐点とは、分岐した処理が1つのノードに合流する際に、合流点のノードに向かって矢印を指し示すノードの全ての処理が完了すれば、合流点のノードの処理を開始する制御を行う。ジョブフロー600のAND分岐点「BR2」は、「N6」および「N7」の各ジョブがいずれも完了するのを待ち合わせてから、合流後の「N8」の処理を開始することができる。   An AND branch point is a control that starts processing of a node at a merge point when all of the processes of the node indicated by the arrow toward the node at the merge point are completed when the branched processes merge into one node. Do. The AND branch point “BR2” of the job flow 600 can start the processing of “N8” after joining after waiting for completion of the jobs “N6” and “N7”.

図9は、図8で示したジョブフロー600をリスト構造形式で書き表した説明図である。そして図10は、図8で示したジョブフロー600の各ノードの属性を示すジョブ属性データ510と、これに付随するリスト構造511を示す説明図である。ジョブ属性データ510とリスト構造511の内容は、図4で示したジョブ属性データ110とリスト構造111とおよそ同一であるので、次に示す相違点以外については名称および参照番号を同一とする。   FIG. 9 is an explanatory diagram in which the job flow 600 shown in FIG. 8 is written in a list structure format. FIG. 10 is an explanatory diagram showing job attribute data 510 indicating attributes of each node of the job flow 600 shown in FIG. 8 and a list structure 511 associated therewith. Since the contents of the job attribute data 510 and the list structure 511 are approximately the same as the job attribute data 110 and the list structure 111 shown in FIG. 4, the names and reference numbers are the same except for the differences described below.

ジョブ属性データ510で、タイプ510bは各ノードの種類を表す。「Node」は通常のジョブ(バッチ処理)、「OrBrunch」はOR分岐点、「AndBrunch」はAND分岐点を各々示す。後続ノード510lは、該ノードの終了後に処理されるノードのID110aに対応する値を格納する。ただし、該ノードが分岐点である場合には、後続ノードとして複数のノードが該当するので、後続ノード510lはnull値とする。リスト情報510mは、後続ノードとして複数のノードが該当して前ノードがnull値である場合に、その後続ノードを示すリスト構造511へのポインタ「Pt4」「Pt5」を格納する。   In the job attribute data 510, the type 510b represents the type of each node. “Node” indicates a normal job (batch processing), “OrBrunch” indicates an OR branch point, and “AndBrunch” indicates an AND branch point. The subsequent node 510l stores a value corresponding to the ID 110a of the node processed after the end of the node. However, if the node is a branch point, a plurality of nodes correspond to the subsequent nodes, and the subsequent node 510l is set to a null value. The list information 510m stores pointers “Pt4” and “Pt5” to the list structure 511 indicating the subsequent nodes when a plurality of nodes correspond to the subsequent nodes and the previous node has a null value.

このジョブフロー600のジョブ属性データ510とリスト構造511に対してジョブフロー定義解釈手段503が行うジョブフローの時刻設定の分析処理および該ジョブフローの保存の処理は、図5に示したフローチャートと同一である。   The job flow time setting analysis processing and the job flow storage processing performed by the job flow definition interpretation unit 503 for the job attribute data 510 and the list structure 511 of the job flow 600 are the same as those in the flowchart shown in FIG. It is.

図11〜14は、図7で示したジョブフロー定義解釈手段503が図8で示したジョブフロー600に対して行う処理の一例を示すプログラムのソースリストを示す説明図である。このソースリストはC言語をベースとして書かれたものであるが、表記を簡単にするため関数型の厳密な定義や行末の「;」などを省略している。図11〜14のリスト内で、「//」で囲われている部分は、処理とは直接関係のないコメント行であるが、実際のその部分で行われている処理について説明するコメントを表記している。プログラムの記述には、これ以外にも任意のプログラム言語を使用することができる。   11 to 14 are explanatory diagrams showing a program source list showing an example of processing performed by the job flow definition interpreting unit 503 shown in FIG. 7 for the job flow 600 shown in FIG. This source list is written based on the C language, but omits the strict definition of the function type and “;” at the end of the line for the sake of simplicity. In the lists of FIGS. 11 to 14, the part enclosed by “//” is a comment line not directly related to the process, but a comment describing the actual process performed in that part is shown. doing. Any other programming language can be used to describe the program.

図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」とする。   In the source list of FIGS. 11 to 14, each node constituting the job flow is a “Node” structure, and among them, the node currently treated as a target of the arithmetic processing is “CurrentNode”, and the previous node is “PreviousNode”. Is defined. Further, the “Node” structure has the attributes shown in FIGS. 3 and 10. ID 110a is “Node.ID”, type 510b is “Node.Type”, meeting target 110c is “Node.WaitingTarget”, meeting source list 110d is “Node.WaitingSourceList”, exclusion constraint 110e is “Node.Exclusion”, exclusion constraint The list 110f is “Node.ExclusionList”, the start time 110g is “Node.RST”, the CRST 110h is “Node.CRST”, the CRST-ID 110i is “Node.CRST_ID”, the end time 110j is “Node.RFT”, and the expected execution time. 110k is represented as “Node.EET”, and the list information 510m is represented as “Node.SequenceList”. The same applies to “CurrentNode” and “PreviousNode”. When moving the processing target to the succeeding node, “Node-> Next” is set.

また、図11〜14のソースリストでは、「ExclusionList」「WaitingSourceList」というリスト構造を定義している。前者は排他関係にあるノードについて、後者は待ち合わせの対象となるノードについて、共にそのノードとそれに続くリスト(ポインタ)を格納している。   In addition, in the source lists of FIGS. 11 to 14, list structures of “ExclusionList” and “WaitingSourceList” are defined. The former stores a node having an exclusive relationship, and the latter stores a node to be awaited, and the node and a list (pointer) following the node.

ジョブフロー定義解釈手段503は、ジョブフローの最初のノードから再帰的に開始時刻制約を計算する処理を行う。まず関数GetCRST(Node)に対して、引数を「N1」として実行する。   The job flow definition interpretation unit 503 performs a process of recursively calculating the start time constraint from the first node of the job flow. First, execute the argument “N1” for the function GetCRST (Node).

引数「N1」として指定されたノードN1には後続ジョブ510lがあるのでUseNextCRST(Node)が呼ばれ、ノード「N1」の後続ノード510l、即ちノード「BR1」の開始時刻制約を求める関数GetCRST(BR1)の結果からノード「N1」の予想実行時間EET1を引いた「GetCRST(BR1)−EET1」によってノード「N1」の開始時刻制約を計算する。   Since the node N1 designated as the argument “N1” has a subsequent job 510l, UseNextCRST (Node) is called, and a function GetCRST (BR1) for obtaining the start time constraint of the subsequent node 510l of the node “N1”, that is, the node “BR1” ), The start time constraint of the node “N1” is calculated by “GetCRST (BR1) −EET1” obtained by subtracting the estimated execution time EET1 of the node “N1”.

ノード「BR1」のタイプ510bは「OrBrunch」、即ちOR分岐点であるので、GetMaxCRST(SequenceList)が呼ばれる。GetMaxCRSTは、リスト構造511に格納されている各ノードに対してGetCRST(Node)を呼び出し、最大値を戻り値とする関数である。リスト構造511で、ノード「BR1」のポインタ「Pt4」には、「N2」「N3」「N4」の各ノードが格納されているので、これらの各々に対してGetCRST(N2)、GetCRST(N3)、GetCRST(N4)が呼ばれる。   Since the type 510b of the node “BR1” is “OrBrunch”, that is, an OR branch point, GetMaxCRST (SequenceList) is called. GetMaxCRST is a function that calls GetCRST (Node) for each node stored in the list structure 511 and uses the maximum value as a return value. In the list structure 511, the nodes “N2”, “N3”, and “N4” are stored in the pointer “Pt4” of the node “BR1”. Therefore, GetCRST (N2) and GetCRST (N3 ), GetCRST (N4) is called.

ノード「N3」では、後続ノード510lの開始時刻制約GetCRST(BR2)からノード「N3」の予想実行時間110kであるEET3を引いたものをCRST110hとして書き込むが、ここでノード「N3」自体に終了時刻110jとして終了時刻制約Yが設定されている。このため、終了時刻制約についての処理を行う。   In the node “N3”, a value obtained by subtracting EET3, which is the expected execution time 110 k of the node “N3”, from the start time constraint GetCRST (BR2) of the subsequent node 510l is written as CRST110h. Here, the end time is written in the node “N3” itself. An end time constraint Y is set as 110j. For this reason, processing for the end time constraint is performed.

終了時刻制約YからEET3を引いた時刻がGetCRST(BR2)−EET3より小さい場合、終了時刻制約の方がより厳しい条件であることになる。この場合は、UseCurrentNodeRFT(N3)を呼び、その時刻をノード「N3」のCRST110hに上書きする。   If the time obtained by subtracting EET3 from the end time constraint Y is smaller than GetCRST (BR2) −EET3, the end time constraint is a more severe condition. In this case, UseCurrentNodeRFT (N3) is called and the time is overwritten on the CRST 110h of the node “N3”.

一方、ノード「N4」は待ち合わせの対象のノードであるため、GetMinCRST_Waiting(N4)が呼ばれる。この関数では、ノード「N4」の待ち合わせソースリスト110dが取り出され、ノード「N4」の待ち合わせの対象である「N7」についてGetCRST(N7)が呼ばれる。ノード「N7」ではノード「N5」との間の排他制約110eが設定されているため、GetCRST_Exclusion(N7)が呼ばれる。   On the other hand, since node “N4” is a node to be waited for, GetMinCRST_Waiting (N4) is called. In this function, the queuing source list 110d of the node “N4” is extracted, and GetCRST (N7) is called for “N7” that is the queuing target of the node “N4”. In node “N7”, an exclusion constraint 110e with node “N5” is set, so GetCRST_Exclusion (N7) is called.

処理中のノードを示す構造体であるCurrentNodeには、まず実行順序が遅いノード「N7」が該当し、ノード「N7」のCRST110hはnull値であるため、ノード「N7」の排他制約110eが0に設定されて、再度GetCRST(N5)が呼ばれる。GetCRST(N7)の処理では、今度は、排他制約110eが0に設定されてため、GetCRST(N8)−EET7が計算される。   The CurrentNode, which is a structure indicating the node being processed, corresponds to the node “N7” whose execution order is late, and since the CRST 110h of the node “N7” is a null value, the exclusive constraint 110e of the node “N7” is 0. And GetCRST (N5) is called again. In the process of GetCRST (N7), since the exclusive constraint 110e is set to 0 this time, GetCRST (N8) -EET7 is calculated.

ノード「N8」では開始時刻110gが設定されており、CRST110hがnull値であるため、UseCurrentNodeRST(N8)が呼ばれてCRST110hに時刻Xが設定される。それにより、ノード「N7」のCRST110hがX−EET7として計算されて処理がGetCRST_Exclusion(N7)に戻る。GetCRST_Exclusion(N7)では、CurrentNodeとNodeがいずれも「N7」となって一致するので、同関数での処理はここで完了し、GetMinCRST_Waiting(N4)に処理が戻る。   Since the start time 110g is set in the node “N8” and the CRST 110h is a null value, UseCurrentNodeRST (N8) is called and the time X is set in the CRST 110h. Thereby, the CRST 110h of the node “N7” is calculated as X-EET7, and the process returns to GetCRST_Exclusion (N7). In GetCRST_Exclusion (N7), both CurrentNode and Node are “N7” and match, so the processing with the same function is completed here, and the processing returns to GetMinCRST_Waiting (N4).

GetMinCRST_Waiting(N4)では、ノード「N7」のCRST110hと、ノード「BR2」のCRST110hが比較され、これらのうち小さい方の値からEET4を引いたものが、ノード「N4」のCRST110hとして設定される。   In GetMinCRST_Waiting (N4), the CRST 110h of the node “N7” and the CRST 110h of the node “BR2” are compared, and a value obtained by subtracting EET4 from the smaller value is set as the CRST 110h of the node “N4”.

ノード「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」とするよう処理が行われる。   Since node “N2” has subsequent node 510l “N5” up to node “BR1”, GetCRST (N5) −EET2 is calculated as CRST value as CRST110h. In the process of GetCRST (N5), since the node “N5” has the exclusion constraint 110e with the node “N7”, GetCRST_Exclusion (N5) is called. The node “N7” is initially set as the CurrentNode, but the CRST 110h of the node “N7” is already set, and the nodes pointed to by the structures of the CurrentNode and the Node are different, so the PreviousNode is set as the node “N7”. , The current node is processed to be the node “N5”.

この処理の後では、CurrentNodeとNodeの各々の構造体が指し示すノードが一致するので、時刻制約の確認対象となっているノードについて計算が行われる。具体的には、ノード「N5」の排他制約110eがnullとなり、ノード「N5」の後続ノード510lであるノード「BR2」とノード「N7」で各々のCRST110hが比較され、小さい方の値からEET5を引いたものがノード「N5」のCRST110hとなる。   After this process, since the nodes indicated by the structures of CurrentNode and Node match, calculation is performed for the node that is the target of time constraint confirmation. Specifically, the exclusive constraint 110e of the node “N5” becomes null, and the CRST 110h is compared between the node “BR2” and the node “N7” that are the subsequent nodes 510l of the node “N5”, and the EET5 is calculated from the smaller value. The value obtained by subtracting CRST 110h of the node “N5”.

ノード「BR2」ではGetCRST(BR2)が計算されるが、BR2はAnd分岐点であるため、GetMinCRST(SequenceList)が呼ばれる。GetMinCRSTは、リスト構造511に格納されている各ノードに対してGetCRST(Node)を呼び出し、最小値を戻り値とする関数である。   The node “BR2” calculates GetCRST (BR2), but since BR2 is an And branch point, GetMinCRST (SequenceList) is called. GetMinCRST is a function that calls GetCRST (Node) for each node stored in the list structure 511 and uses the minimum value as a return value.

リスト構造511で、ノード「BR2」のポインタ「Pt5」には、「N6」「N7」の各ノードが格納されているので、これらの各々に対してGetCRST(N6)、GetCRST(N7)が呼ばれ、それらの値の中から最小値が選択される。GetCRST(N7)は既に計算済であるので、GetCRST(N6)をノード「N8」のCRST110hからノード「N6」の予想実行時間EET6を引いた「GetCRST(BR1)−EET6」によって計算し、これをノード「BR2」のCRST110hとする。   In the list structure 511, since the nodes “N6” and “N7” are stored in the pointer “Pt5” of the node “BR2”, GetCRST (N6) and GetCRST (N7) are called for each of these nodes. The minimum value is selected from these values. Since GetCRST (N7) has already been calculated, GetCRST (N6) is calculated by “GetCRST (BR1) −EET6” obtained by subtracting the estimated execution time EET6 of the node “N6” from the CRST110h of the node “N8”. The CRST 110h of the node “BR2” is assumed.

ここまでの計算で、GetCRST(N8)、GetCRST(N6)およびGetCRST(N7)を具体的な数値で求めることができた。GetCRST(Node)として計算された前述の各々の数値は、これによって具体化され、GetCRST(N1)までが具体的な数値として算出される。最終的にノード「N1」〜「N8」のCRST110hは、図6に示した第1の実施形態と同じようにして、同じ値として求められる。   With the calculations so far, GetCRST (N8), GetCRST (N6), and GetCRST (N7) have been obtained with specific numerical values. Each of the above-described numerical values calculated as GetCRST (Node) is embodied by this, and up to GetCRST (N1) is calculated as a specific numerical value. Finally, the CRSTs 110h of the nodes “N1” to “N8” are obtained as the same values in the same manner as in the first embodiment shown in FIG.

以上で説明したように、本実施形態では、分岐点によって表現されたジョブフローについても、第1の実施形態で説明した処理と同じように処理を行い、同一の効果を得ることができる。即ち、排他制約や待ち合わせ条件を考慮してCRSTを算出することが可能となる。   As described above, in the present embodiment, the job flow expressed by the branch point can be processed in the same manner as the process described in the first embodiment, and the same effect can be obtained. In other words, it is possible to calculate CRST in consideration of exclusive restrictions and waiting conditions.

これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。   The present invention has been described with reference to the specific embodiments shown in the drawings. However, the present invention is not limited to the embodiments shown in the drawings, and any known hitherto provided that the effects of the present invention are achieved. Even if it is a structure, it is employable.

本発明は、ジョブフロー実行システムに適用することができる。   The present invention can be applied to a job flow execution system.

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 後続ノード
DESCRIPTION OF SYMBOLS 1,401 Job flow execution system 10 Network 11, 411 Job flow management apparatus 12 Job execution apparatus 13 Job flow definition apparatus 21, 31, 41 CPU
22, 32, 42 Storage unit 23, 33, 43 Communication unit 44 Input / output unit 101 Schedule management unit 102 Job flow definition storage unit 103, 503 Job flow definition interpretation unit 103a, 503a CRST calculation unit 103b, 503b Execution order determination unit 103c , 503c CRST determination unit 104 Job input means 105 Event notification unit 110, 510 Job attribute data 110a ID
110b, 510b type 110c meeting target 110d meeting source list 110e exclusion constraint 110f exclusion constraint list 110g start time 110h CRST
110i CRST-ID
110j End time 110k Expected execution time 110l Previous node 110m, 510m List information 110n Target time 111 List structure 151 Job execution means 201 Flow definition instruction means 300, 600 Job flow 510l Subsequent node

Claims (6)

ジョブフローを構成する各々のジョブを予め設定された実行装置に対し転送しその実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置であって、
各々の前記ジョブの属性を示すジョブ属性データを予め記憶する記憶手段と、前記ジョブ属性データに予め設定されたスケジュールの通りに前記ジョブフローの実行開始を指示するスケジュール管理手段と、各々の前記ジョブの予想開始時刻を計算するジョブフロー定義解釈手段と、各々の前記ジョブを前記実行装置に対して転送して実行を依頼してその実行結果を該ジョブ実行装置から受信するジョブ投入手段と、前記ジョブの実行状況をユーザに対して表示するイベント通知手段とを備えると共に、
前記ジョブフローが、ジョブもしくは合流点を示す各ノードによって表され、
前記ジョブ属性データが、前記ジョブの中の特定のジョブを必ず実行する時刻について示す時刻制約と、各々の前記ジョブの実行を開始する時刻の目標について示す目標実行時刻と、各々の前記ジョブの実行にかかると予想される時間である予想実行時間とを含み、
前記ジョブフロー定義解釈手段が、
前記ジョブフローで特定の前記合流点に合流する各ジョブの間の実行順序を前記ジョブ属性データに基づいて判定する実行順序判定部と、前記ジョブフローの終点から前記各ノードを辿りつつ前記時刻制約および前記予想実行時間を利用して前記実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する予想開始時刻計算部と、この計算された前記予想開始時刻が前記目標実行時刻と比較して所定の時間以上遅れる場合に前記イベント通知手段を介して警告を発信させる警告発信部と
を有することを特徴とするジョブフロー管理装置。
A job flow management device that transfers each job constituting a job flow to a preset execution device, requests execution thereof, and receives the execution result from the execution device,
Storage means for storing job attribute data indicating the attribute of each job in advance, schedule management means for instructing start of execution of the job flow according to a schedule preset in the job attribute data, and each of the jobs Job flow definition interpreting means for calculating the expected start time, job input means for transferring each job to the execution apparatus, requesting execution, and receiving the execution result from the job execution apparatus, And an event notification means for displaying the job execution status to the user,
The job flow is represented by each node indicating a job or a confluence,
The job attribute data includes a time constraint that indicates a time at which a specific job in the job is necessarily executed, a target execution time that indicates a target of a time at which the execution of each job is started, and the execution of each job And the expected execution time, which is the time expected to take
The job flow definition interpreting means
An execution order determination unit that determines an execution order between each job that joins the specific joining point in the job flow based on the job attribute data, and the time constraint while tracing each node from the end point of the job flow. And an expected start time calculation unit that sequentially calculates the expected start time of the job from the job with the slower execution order using the estimated execution time, and the calculated expected start time is compared with the target execution time. A job flow management apparatus, comprising: a warning transmission unit that transmits a warning through the event notification means when a predetermined time or more is delayed.
前記予想開始時刻計算部が、前記ジョブに他の特定のジョブとの間で同時に実行することができないという排他条件が設定されている場合に、前記ジョブ属性データに設定された前記ジョブと前記排他条件の対象となるジョブとの間での実行順序に基づき、該当ジョブの中でより遅く実行される側のジョブから実行時刻が重複しないように前記予想開始時刻を計算することを特徴とする、請求項1に記載のジョブフロー管理装置。   The exclusive start time calculation unit and the job set in the job attribute data when the exclusion condition that the job cannot be executed simultaneously with another specific job is set. Based on the execution order with the job subject to the condition, the expected start time is calculated so that the execution time does not overlap from the job that is executed later in the corresponding job, The job flow management apparatus according to claim 1. 前記予想開始時刻計算部が、前記ジョブに他の特定のジョブの実行が終了してから実行を開始するという待ち合わせ条件が設定されている場合に、前記ジョブの直後に処理されるジョブの開始時刻と前記待ち合わせ条件の対象となるジョブの開始時刻のうちより早い側の時刻に基づいて前記予想開始時刻を計算することを特徴とする、請求項1に記載のジョブフロー管理装置。   The job start time to be processed immediately after the job is set when the expected start time calculation unit sets a waiting condition for the job to start after the execution of another specific job is completed. The job flow management apparatus according to claim 1, wherein the expected start time is calculated based on an earlier time among start times of jobs subject to the waiting condition. 前記ジョブフローを構成する各ノードの前記合流点に代えて分岐点を装備した構成とし、
前記予想開始時刻計算部が、前記ジョブフローの開始点から終点まで各々の前記ノードを辿り、前記時刻制約の設定された前記ノードに到達したら前記予想実行時間を利用して該ノードに該当するジョブの予想開始時刻を算出する機能と、この算出された該ノードの予想開始時刻から前記ジョブフローを逆に辿りつつその他の前記ノードに該当するジョブの前記予想実行時間を計算する機能とを備えたことを特徴とする、請求項1に記載のジョブフロー管理装置。
Instead of the merging point of each node constituting the job flow, it has a configuration equipped with a branch point,
The predicted start time calculation unit traces each node from the start point to the end point of the job flow, and when it reaches the node for which the time constraint is set, the job corresponding to the node using the predicted execution time And a function of calculating the expected execution time of the job corresponding to the other node while tracing the job flow in reverse from the calculated expected start time of the node. The job flow management apparatus according to claim 1, wherein:
ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々の前記ノードの属性を示すジョブ属性データを予め記憶し、各々の前記ジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置にあって、
前記ジョブ属性データとして、前記ジョブを必ず実行すべき時刻について示す時刻制約と、前記ジョブを実行すべき時刻の目標について示す目標実行時刻と、前記ジョブの実行にかかると予想される時間である予想実行時間とを含むデータを予め記憶し、
前記ジョブ属性データに予め設定されたスケジュールの通りにスケジュール管理手段が前記ジョブフローの実行開始を指示し、
前記ジョブ属性データに基づいて前記ジョブフローで特定の前記合流点に合流する各ジョブの間で最も遅く実行される順に実行順序判定部が実行順序を判定し、
前記ジョブフローの終点から前記各ノードを辿りつつ前記時刻制約および前記予想実行時間を利用して予想開始時刻計算部が前記実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算し、
算出した前記予想開始時刻が前記ジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合に警告発信部がユーザに対して警告を発信し、
各々の前記ジョブをジョブ投入手段が前記実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信することを特徴とするジョブフロー実行開始時刻予測方法。
Job attribute data indicating the attribute of each node constituting the job flow represented by each node indicating a job or a junction is stored in advance, and each job is transferred to a predetermined execution device and executed. And a job flow management device that receives the execution result from the execution device,
As the job attribute data, a time constraint indicating a time at which the job should be executed, a target execution time indicating a target of the time at which the job should be executed, and an expected time that is expected to be executed by the job Pre-store data including execution time,
According to a schedule preset in the job attribute data, the schedule management means instructs the execution start of the job flow,
Based on the job attribute data, the execution order determination unit determines the execution order in the order of execution that is the latest among the jobs that join the specific joining point in the job flow,
Using the time constraint and the expected execution time while tracing each node from the end point of the job flow, the expected start time calculation unit calculates the expected start time of the job sequentially from the job whose execution order is late,
When the calculated expected start time is delayed by a predetermined time or more compared to a target execution time set in advance in the job attribute data, a warning transmission unit transmits a warning to the user,
A job flow execution start time prediction method characterized in that a job input unit transfers each job to the execution device, requests execution, and receives the execution result from the execution device.
ジョブもしくは合流点を示す各ノードによって表されるジョブフローを構成する各々の前記ノードの属性を示し、かつ前記ジョブを必ず実行すべき時刻について示す時刻制約と、前記ジョブを実行すべき時刻の目標について示す目標実行時刻と、前記ジョブの実行にかかると予想される時間である予想実行時間とを含むジョブ属性データを予め記憶し、各々の前記ジョブを予め設定された実行装置に対して転送し実行を依頼すると共にその実行結果を該実行装置から受信するジョブフロー管理装置にあって、
前記ジョブ属性データに予め設定されたスケジュールの通りに前記ジョブフローの実行開始を指示する手順、
前記ジョブ属性データに基づいて前記ジョブフローで特定の前記合流点に合流する各ジョブの間で最も遅く実行される順に実行順序を判定する手順、
前記ジョブフローの終点から前記各ノードを辿りつつ前記時刻制約および前記予想実行時間を利用して前記実行順序の遅いジョブから順次該ジョブの予想開始時刻を計算する手順、
算出した前記予想開始時刻が前記ジョブ属性データに予め設定された目標実行時刻と比較して所定の時間以上遅れる場合にユーザに対して警告を発信する手順、
および各々の前記ジョブを前記実行装置に対して転送して実行を依頼すると共にその実行結果を該実行装置から受信する手順
をコンピュータに実行させることを特徴とするジョブフロー実行開始時刻予測プログラム。
A time constraint indicating the attribute of each of the nodes constituting the job flow represented by each node indicating a job or a confluence, and indicating the time when the job should be executed, and the target time when the job should be executed Job attribute data including a target execution time and an expected execution time that is expected to be executed for the job are stored in advance, and each job is transferred to a preset execution device. In the job flow management apparatus that requests execution and receives the execution result from the execution apparatus,
A procedure for instructing execution start of the job flow according to a schedule set in advance in the job attribute data,
A procedure for determining an execution order in the order of the latest execution among each job that merges with a specific merge point in the job flow based on the job attribute data;
A procedure for calculating the expected start time of the job sequentially from the job with the lower execution order by using the time constraint and the expected execution time while tracing each node from the end point of the job flow.
A procedure for issuing a warning to the user when the calculated expected start time is delayed by a predetermined time or more compared to a target execution time preset in the job attribute data;
And a job flow execution start time prediction program for causing a computer to execute a procedure of transferring each job to the execution device and requesting execution thereof and receiving the execution result from the execution device.
JP2009295171A 2009-12-25 2009-12-25 Job flow management device, job flow execution start time prediction method and program thereof Expired - Fee Related JP5445124B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009295171A JP5445124B2 (en) 2009-12-25 2009-12-25 Job flow management device, job flow execution start time prediction method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009295171A JP5445124B2 (en) 2009-12-25 2009-12-25 Job flow management device, job flow execution start time prediction method and program thereof

Publications (2)

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

Family

ID=44346870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009295171A Expired - Fee Related JP5445124B2 (en) 2009-12-25 2009-12-25 Job flow management device, job flow execution start time prediction method and program thereof

Country Status (1)

Country Link
JP (1) JP5445124B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157224B2 (en) 2019-06-07 2021-10-26 Fujifilm Business Innovation Corp. Information processing apparatus for notifying status of a periodically executed process and non-transitory computer readable medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6264800B2 (en) * 2013-09-17 2018-01-24 株式会社リコー Information processing system, information processing apparatus, program, and information processing method
JP6030538B2 (en) * 2013-12-03 2016-11-24 ソフトバンク株式会社 Management program and management server
KR101727415B1 (en) 2015-12-23 2017-05-02 서울시립대학교 산학협력단 Cluster resource managing big data system and method for managing resourse

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH077286B2 (en) * 1988-08-03 1995-01-30 日本電気株式会社 Flow shop production system simulation device
JPH1153006A (en) * 1997-07-31 1999-02-26 Furukawa Electric Co Ltd:The Scheduling method
JP2000348111A (en) * 1999-06-01 2000-12-15 Hitachi Ltd Workflow managing method and its implementing device, and recording medium where processing program thereof is recorded
JP2001155062A (en) * 1999-11-26 2001-06-08 Hitachi Ltd System and method for predicting arrival of work flow and storage medium stored with program related to the same method
JP2005174083A (en) * 2003-12-12 2005-06-30 Fuji Xerox Co Ltd Instruction description correction device and method, instruction description instruction program, job execution device, job execution instruction program, and jog execution method
JP5255796B2 (en) * 2007-08-10 2013-08-07 日本証券テクノロジー株式会社 Operation management support system, program
JP4928480B2 (en) * 2008-01-31 2012-05-09 株式会社野村総合研究所 Job processing system and job management method
JP5111186B2 (en) * 2008-03-24 2012-12-26 株式会社野村総合研究所 Job processing system and job management method
JP5141355B2 (en) * 2008-04-22 2013-02-13 株式会社大林組 Construction management server, construction management system, and construction management method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157224B2 (en) 2019-06-07 2021-10-26 Fujifilm Business Innovation Corp. Information processing apparatus for notifying status of a periodically executed process and non-transitory computer readable medium

Also Published As

Publication number Publication date
JP2011134239A (en) 2011-07-07

Similar Documents

Publication Publication Date Title
US11334465B2 (en) Long running workflows for robotic process automation
CN112668386A (en) Long running workflows for document processing using robotic process automation
CN108351805A (en) Calculate the accelerator processing based on stream of figure
US11294711B2 (en) Wait a duration timer action and flow engine for building automated flows within a cloud based development platform
US8266622B2 (en) Dynamic critical path update facility
JP6369170B2 (en) Execution time estimation apparatus and method
CN112685154A (en) Data processing method of task flow engine, device and medium
US8073924B2 (en) Routing and delivery of data for electronic design automation workloads in geographically distributed clouds
JP5445124B2 (en) Job flow management device, job flow execution start time prediction method and program thereof
CN111950988A (en) Distributed workflow scheduling method and device, storage medium and electronic equipment
JP2011118587A (en) System for executing cooperative service by plurality of servers
Pan et al. A novel approach to scheduling workflows upon cloud resources with fluctuating performance
EP3901773A1 (en) Dynamically allocated cloud worker management system and method therefor
JP7003874B2 (en) Resource reservation management device, resource reservation management method and resource reservation management program
WO2019075845A1 (en) Construction method and device for link call relationship, computer device and storage medium
JP6666555B2 (en) Information processing apparatus, job submission method, and job submission program
JP2007257163A (en) Operation quality management method in distributed program execution environment
CN114924858A (en) Task scheduling method and device, storage medium and electronic equipment
CN114846490A (en) Quantifying use of robot process automation related resources
JP5045576B2 (en) Multiprocessor system and program execution method
JP2013190888A (en) Computer resource management method
Domingos et al. Flexibility in cross-organizational ws-bpel business processes
Pan et al. A stochastic-performance-distribution-based approach to cloud workflow scheduling with fluctuating performance
JP6214763B2 (en) System and method for state transition controlled processing of objects
Saar de Moraes et al. Verifying resource adequacy of networked IMA systems at concept level

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