JP7014010B2 - Job execution management system and job execution management method - Google Patents

Job execution management system and job execution management method Download PDF

Info

Publication number
JP7014010B2
JP7014010B2 JP2018066353A JP2018066353A JP7014010B2 JP 7014010 B2 JP7014010 B2 JP 7014010B2 JP 2018066353 A JP2018066353 A JP 2018066353A JP 2018066353 A JP2018066353 A JP 2018066353A JP 7014010 B2 JP7014010 B2 JP 7014010B2
Authority
JP
Japan
Prior art keywords
job
execution
queue
time
executed
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.)
Active
Application number
JP2018066353A
Other languages
Japanese (ja)
Other versions
JP2019179280A (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 JP2018066353A priority Critical patent/JP7014010B2/en
Publication of JP2019179280A publication Critical patent/JP2019179280A/en
Application granted granted Critical
Publication of JP7014010B2 publication Critical patent/JP7014010B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ジョブ実行管理システム、およびジョブ実行管理方法に関する。 The present invention relates to a job execution management system and a job execution management method.

運用管理分野において、ジョブの実行を管理するジョブ実行管理システムが知られている。ジョブとは、業務などのある目的のために定義された処理手続きのことである。また、ジョブは、例えば、UNIX(登録商標)におけるシェルスクリプトまたはWindows(登録商標)におけるバッチスクリプトで記述される、単一または連続的なプログラムのことである。ジョブ実行管理システムは、1つ以上のジョブの実行順序を示すジョブネットワークとそのバッチジョブを処理するためのプログラム群とを含む。 In the field of operation management, a job execution management system that manages job execution is known. A job is a processing procedure defined for a certain purpose such as business. A job is, for example, a single or continuous program described in a shell script in UNIX® or a batch script in Windows®. The job execution management system includes a job network indicating the execution order of one or more jobs and a group of programs for processing the batch job.

ジョブ実行管理システムは、一般的には、マネージャ装置が、ジョブの定義情報の管理およびジョブネットワークのフロー制御を実行し、エージェント装置に実際のジョブを実行させるシステムである。 The job execution management system is generally a system in which a manager device manages job definition information and controls the flow of a job network, and causes an agent device to execute an actual job.

ジョブを実行する場合、CPU(Central Processing Unit)、メモリ、およびディスク装置などの資源を消費するため、同時に実行できるジョブ数に制限を設け、資源への負荷がかからないようにする実行数制限が実行されている。この実行数制限には、キューが用いられることが多い。キューはいわゆる待ち行列のことであり、ジョブの実行投入速度と実行完了速度が異なる場合に発生する実行待ち状態を制御するための仕組みである。例えば、マネージャ装置から依頼のあったジョブをエージェント装置で実行する際にすでにそのエージェント装置上で他のジョブが実行されていると複数のジョブが同時に実行されることになるため、資源がひっ迫する虞がある。そこで、実行数制限は、同時に実行してもよいジョブの数を制限し、キューの中で順番待ちさせ、その順番が来たら実行させることで資源の枯渇を防いでいる。 When executing a job, resources such as CPU (Central Processing Unit), memory, and disk device are consumed. Therefore, the number of jobs that can be executed at the same time is limited, and the number of executions is limited so that the load on the resources is not applied. Has been done. Queues are often used to limit the number of executions. A queue is a so-called queue, and is a mechanism for controlling the execution wait state that occurs when the job execution input speed and the execution completion speed are different. For example, when a job requested by a manager device is executed on an agent device, if another job is already executed on the agent device, multiple jobs will be executed at the same time, which is resource-intensive. There is a risk. Therefore, the execution number limit limits the number of jobs that may be executed at the same time, waits in a queue, and executes the jobs when the turn comes, thereby preventing resource depletion.

しかしながら、CPUやメモリのように複数のジョブで共有可能な資源だけでなく、共有できない資源、換言すれば、いずれかのジョブにより占有される資源(以下、「排他資源」と呼ぶ)がある。排他資源は、例えば、印刷処理におけるプリンタ、データバックアップ処理におけるバックアップ先の領域やテープ装置、あるいは、地理的に離れた別のデータセンタ内にあるサーバへのデータ送信処理における巨大なデータの送信自体である。なお、巨大なデータの送信に関して、ネットワーク通信自体は共有可能であるが、巨大なデータの送信はネットワークをその送信期間中に実質的に占有することになるので、巨大なデータの送信は、排他資源と見なすことができる。他にも、ジョブの中で利用するアプリケーションの要件によっては排他資源の利用が必要なものがあり得る。 However, there are not only resources that can be shared by a plurality of jobs such as CPU and memory, but also resources that cannot be shared, in other words, resources that are occupied by any of the jobs (hereinafter referred to as "exclusive resources"). Exclusive resources are, for example, the transmission of huge data itself in the data transmission process to a printer in the print process, a backup destination area or tape device in the data backup process, or a server in another geographically distant data center. Is. Regarding the transmission of huge data, the network communication itself can be shared, but since the transmission of huge data substantially occupies the network during the transmission period, the transmission of huge data is exclusive. It can be regarded as a resource. In addition, depending on the requirements of the application used in the job, it may be necessary to use exclusive resources.

特許文献1には、タスク間での実行順序制御を行う場合に、余裕時間に基づいて実行スケジューリングを最適化する技術が記載される。余裕時間とは、共有資源の占有時間長が既知のタスクCが、実行開始予定時刻が決まっているタスクAと共有する資源を占有した場合、タスクCが資源を解放してからタスクAが実行開始されるまでの時間的な余裕を示すものである。 Patent Document 1 describes a technique for optimizing execution scheduling based on a margin time when performing execution order control between tasks. The spare time means that when task C, whose shared resource occupancy time is known, occupies a resource shared with task A whose scheduled execution start time is fixed, task C releases the resource and then task A executes it. It shows the time allowance until the start.

特開2003-131892号公報Japanese Patent Application Laid-Open No. 2003-131892

同一の排他資源を利用するジョブが同時に稼働しようとすると競合が発生し、どちらか一方のジョブは待ち合わせしなければならなくなる。このような待ち合わせは処理のボトルネックとなるため、ジョブネットワークのフロー全体の処理時間が伸びることに繋がる。そこで、ジョブ実行管理システムには、ジョブが排他資源をロックして利用できるようにするためのロック制御が必要となる。 If jobs that use the same exclusive resource try to run at the same time, a conflict will occur and one of the jobs will have to wait. Since such a meeting becomes a processing bottleneck, it leads to an increase in the processing time of the entire flow of the job network. Therefore, the job execution management system needs lock control so that the job can lock and use the exclusive resource.

なお、以降で説明するロック制御は、全て「待ち合わせ可能な排他ロック」であるとする。ロックを要求対象となる排他資源が既に他者にロックされていた場合、それを拒否するのではなく、ロックの順番待ち状態にして、順番が来たらロックさせる方式である。また、ロックの種類にはさらに「共有ロック」と「排他ロック」があるが、ここでは「排他ロック」を対象とする。よって、「待ち合わせ可能な排他ロック」が対象とされる。 It should be noted that all the lock controls described below are "exclusive locks that can be waited for". If the exclusive resource for which the lock is requested has already been locked by another person, instead of rejecting it, the lock is placed in a waiting state and locked when the turn comes. In addition, there are further types of locks, "shared lock" and "exclusive lock", but here, "exclusive lock" is targeted. Therefore, the "exclusive lock that can be met" is targeted.

既存のロック制御の例として、以下の第1~第3方式が挙げられる。 Examples of the existing lock control include the following first to third methods.

第1方式は、例えば、エージェント装置に対してあるジョブの実行依頼が行われ、そのジョブがキューイングされた時点で、すなわち、未だジョブが実行されていない時点でロックを獲得する方式である。第1方式の場合、キューの中での順番待ちの最中にロックが獲得できるため、ジョブの実行順が回ってきた段階で即座に排他資源を利用してそのジョブの実行を開始することができる。一方で、第1方式の場合、順番が回ってくるよりも前に排他資源をロックしてしまうため、先行してキューイングされているジョブの実行に時間がかかった場合、別のキューに存在する、すぐにでも実行可能な同一排他資源を利用したいジョブは、ロック待ちの状態となってしまう。 The first method is, for example, a method of acquiring a lock when an agent device is requested to execute a certain job and the job is queued, that is, when the job has not been executed yet. In the case of the first method, the lock can be acquired while waiting in the queue, so it is possible to immediately start the execution of the job by using the exclusive resource when the job execution order comes around. can. On the other hand, in the case of the first method, the exclusive resource is locked before the turn comes, so if it takes a long time to execute the previously queued job, it exists in another queue. Jobs that want to use the same exclusive resource that can be executed immediately will be in a lock wait state.

第2方式は、第1方式とは逆に、キューの中で順番待ちを行い、キューに空きができてジョブが実行できる状態になってから必要な排他資源をロックする方式である。第2方式では、第1方式のようなロック待ち状態は発生しない。しかしながら、すぐにロックが獲得できず待ち合わせしてしまうような場合、そのジョブはすぐに実行開始とはならない。また、そのジョブは既に実行状態になっているため、該当するキューの実行数の制限枠を浪費していることになってしまう。すなわち、第2方式の場合、ロック待ちだが実行されていないジョブが存在することにより、そのキューに並んでいる後続のジョブの実行が阻害されてしまうことがなる。 Contrary to the first method, the second method is a method of waiting in a queue and locking the necessary exclusive resources after the queue is free and the job can be executed. In the second method, the lock waiting state unlike the first method does not occur. However, if the lock cannot be acquired immediately and the job is waited for, the job does not start execution immediately. Moreover, since the job is already in the execution state, the limit frame for the number of executions of the corresponding queue is wasted. That is, in the case of the second method, the existence of a job waiting for a lock but not being executed may hinder the execution of subsequent jobs in the queue.

一方、第3方式は、実行順が回ってきた段階でロックを行う方式である。具体的には、第3方式は、ロックを所望するジョブがすぐにロックできなかった場合にロック要求したまま後続のジョブを先に実行させるとともに、当該ジョブに関してはキュー内の「次に実行順が回ってくる位置」を保つ方式である。第3方式において、ロックが獲得できるまで上記処理が繰り返し実行される。第3方式の場合、すぐにロックが出来ずロック待ちになってしまう場合には、後続ジョブに実行順を譲るので、それによって後続ジョブの実行が全て阻害されてしまうことはない。すなわち、第3方式によって、第2方式のデメリットは解消される。しかしながら、第3方式の場合、ロックを獲得したまま後続ジョブを先に実行させることになるので、先に実行させたジョブが長時間実行中となってしまうジョブであった場合、それによって第1方式の同様のデメリット(すなわち、ロック待ち)が発生してしまう虞がある。 On the other hand, the third method is a method of locking when the execution order has come. Specifically, in the third method, when the job desired to be locked cannot be locked immediately, the subsequent job is executed first with the lock requested, and the job is executed in the "next execution order" in the queue. It is a method to keep the "position where the wheel turns". In the third method, the above process is repeatedly executed until the lock can be acquired. In the case of the third method, if the lock cannot be performed immediately and the lock is waited for, the execution order is handed over to the succeeding job, so that the execution of all the succeeding jobs is not hindered. That is, the third method eliminates the demerits of the second method. However, in the case of the third method, the succeeding job is executed first while the lock is acquired. Therefore, if the previously executed job is a job that has been executed for a long time, the first job is performed accordingly. There is a risk that the same disadvantages of the method (that is, waiting for lock) will occur.

このように、既存のロック制御は、排他資源をロックするタイミングがそれぞれ異なるが、いずれも何らかの問題を有しており、いずれも最適な方式とは言い難い。 As described above, the existing lock controls have different timings for locking the exclusive resources, but they all have some problems, and it is hard to say that they are the optimum methods.

特許文献1において、タスクは「割り込み可能」が前提となっているが、排他資源を利用するジョブは割り込み不可である場合もある。従って、特許文献1の技術を、上記の如きジョブを管理するジョブ実行管理システムにそのまま適用させることはできない。 In Patent Document 1, it is premised that the task is "interruptable", but the job using the exclusive resource may not be interruptable. Therefore, the technique of Patent Document 1 cannot be directly applied to the job execution management system that manages jobs as described above.

本発明は、上記課題を解決するためになされたものであり、排他資源を利用するジョブが複数ある場合であっても、排他資源のロック待ちを極力回避してジョブネットワーク全体の実行時間をより短くすることができる技術を提供することを目的とする。 The present invention has been made to solve the above problems, and even when there are a plurality of jobs that use the exclusive resource, the execution time of the entire job network is further reduced by avoiding the lock waiting of the exclusive resource as much as possible. The purpose is to provide technology that can be shortened.

本発明のジョブ実行管理システムは、ジョブを管理するマネージャ装置と、前記ジョブを実行する1以上のエージェント装置と、を備え、前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる。 The job execution management system of the present invention includes a manager device for managing jobs and one or more agent devices for executing the job, and the manager device is all queued in the queue of the agent device. From the jobs, the job that can start the use of the exclusive resource earliest after the lock of the exclusive resource is released is specified and preferentially executed, and the agent device uses the exclusive resource. When a job reaches the execution order in the queue without being preferentially executed, the execution position of the job is retained at the position where the job is executed next when the queue becomes free, and the subsequent job is first executed. Let it run.

本発明のジョブ実行管理方法は、ジョブを管理するマネージャ装置と、前記ジョブを実行する1以上のエージェント装置と、を備えるジョブ実行管理システムであって、前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させることを特徴とする。 The job execution management method of the present invention is a job execution management system including a manager device for managing jobs and one or more agent devices for executing the job, and the manager device is placed in a queue of the agent device. From all the queued jobs, the job that can start the use of the exclusive resource earliest after the lock of the exclusive resource is released is specified and preferentially executed, and the agent device sets the agent device. When the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, the execution position of the job is retained at the position where the job is executed next when the queue becomes free. It is characterized in that the subsequent job is executed first.

本発明によれば、排他資源を利用するジョブが複数ある場合であっても、排他資源のロック待ちを極力回避してジョブネットワーク全体の実行時間をより短くすることができる。 According to the present invention, even when there are a plurality of jobs that use the exclusive resource, it is possible to avoid waiting for the lock of the exclusive resource as much as possible and shorten the execution time of the entire job network.

本発明の第1の実施形態に係るジョブ実行管理システムの構成例を示すブロック図である。It is a block diagram which shows the configuration example of the job execution management system which concerns on 1st Embodiment of this invention. 図1に示すジョブ実行管理システムの動作例(ジョブ実行管理方法)を示すフローチャートである。It is a flowchart which shows the operation example (job execution management method) of the job execution management system shown in FIG. 本発明の第2の実施形態に係るジョブ実行管理システムの構成例を示すブロック図である。It is a block diagram which shows the configuration example of the job execution management system which concerns on 2nd Embodiment of this invention. 図3に示すジョブ実行管理システムで実行される第1制御(優先実行)をイメージ化した図である。It is a figure which imaged the 1st control (priority execution) executed by the job execution management system shown in FIG. 第1制御の一例を示すフローチャートである。It is a flowchart which shows an example of 1st control. 第2制御の一例を示すフローチャートである。It is a flowchart which shows an example of the 2nd control. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第1の図である。It is the 1st figure which shows the queue state for demonstrating the specific example of the priority control executed in 1st Embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第2の図である。FIG. 2 is a second diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第3の図である。FIG. 3 is a third diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第4の図である。FIG. 4 is a fourth diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第5の図である。FIG. 5 is a fifth diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第6の図である。FIG. 6 is a sixth diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第7の図である。FIG. 7 is a diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第8の図である。FIG. 8 is a diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第9の図である。FIG. 9 is a ninth diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第10の図である。FIG. 10 is a diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第11の図である。FIG. 11 is a diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第12の図である。It is a twelfth figure which shows the queue state for demonstrating the specific example of the priority control executed in 1st Embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第13の図である。FIG. 13 is a thirteenth diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第14の図である。FIG. 14 is a 14th diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第15の図である。FIG. 15 is a diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 第1の実施形態で実行される優先制御の具体例を説明するためのキュー状態を示す第16の図である。FIG. 16 is a 16th diagram showing a queue state for explaining a specific example of priority control executed in the first embodiment. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第17の図である。FIG. 17 is a diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第18の図である。FIG. 18 is a diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第19の図である。FIG. 19 is a diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第20の図である。FIG. 20 is a diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第21の図である。FIG. 21 is a diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第22の図である。FIG. 22 is a 22nd diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第23の図である。FIG. 23 is a diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第24の図である。FIG. 24 is a diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第25の図である。FIG. 25 is a diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied. 本発明を適用していない関連技術の方式(第3方式)でジョブを実行した場合の動作を説明するためのキュー状態を示す第26の図である。FIG. 26 is a diagram showing a queue state for explaining an operation when a job is executed by a method (third method) of a related technique to which the present invention is not applied.

[第1の実施形態]
(構成の説明)
図1は、本発明の第1の実施形態に係るジョブ実行管理システム100の構成例を示すブロック図である。
[First Embodiment]
(Explanation of configuration)
FIG. 1 is a block diagram showing a configuration example of the job execution management system 100 according to the first embodiment of the present invention.

ジョブ実行管理システム100は、ジョブを管理するマネージャ装置102と、ジョブを実行する1以上のエージェント装置104と、を備える。 The job execution management system 100 includes a manager device 102 that manages the job, and one or more agent devices 104 that execute the job.

マネージャ装置102は、エージェント装置104のキューにキューイングされている全てのジョブの中から、排他資源のロックが解放されてから最も早く排他資源の利用を開始することができるジョブを特定して優先実行させる。 The manager device 102 identifies and gives priority to a job that can start using the exclusive resource earliest after the lock of the exclusive resource is released from all the jobs queued in the agent device 104. Let it run.

エージェント装置104は、排他資源を利用するジョブが優先実行されることなくキューにて実行順を迎えた場合、当該ジョブの実行位置を、キューに空きができたら次に実行される位置に留め置き、先に後続のジョブを実行させる。
(動作の説明)
図2は、図1に示すジョブ実行管理システム100の動作例(ジョブ実行管理方法)を示すフローチャートである。
When the job that uses the exclusive resource is not preferentially executed and the execution order is reached in the queue, the agent device 104 keeps the execution position of the job at the position where the job is executed next when the queue becomes free. The subsequent job is executed first.
(Explanation of operation)
FIG. 2 is a flowchart showing an operation example (job execution management method) of the job execution management system 100 shown in FIG.

マネージャ装置102は、エージェント装置104のキューにキューイングされている全てのジョブの中から、排他資源のロックが解放されてから最も早く排他資源の利用を開始することができるジョブを特定して優先実行させる(ステップS50)。 The manager device 102 identifies and gives priority to a job that can start using the exclusive resource earliest after the lock of the exclusive resource is released from all the jobs queued in the agent device 104. It is executed (step S50).

エージェント装置104は、排他資源を利用するジョブが優先実行されることなくキューにて実行順を迎えた場合、当該ジョブの実行位置を、キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる(ステップS51)。
(効果の説明)
以上説明した第1の実施形態によれば、排他資源を利用するジョブが複数ある場合に、その排他資源のロック待ちを極力回避してジョブネットワーク全体の実行時間をより短くすることができる。もちろん、その場合、ユーザが意図的にジョブのスケジューリング時間を調整して実行タイミングが重ならないように調整する必要はない。
When the job that uses the exclusive resource is not preferentially executed and the execution order is reached in the queue, the agent device 104 keeps the execution position of the job at the position where the job is executed next when the queue becomes free. The subsequent job is executed first (step S51).
(Explanation of effect)
According to the first embodiment described above, when there are a plurality of jobs that use the exclusive resource, it is possible to avoid waiting for the lock of the exclusive resource as much as possible and shorten the execution time of the entire job network. Of course, in that case, it is not necessary for the user to intentionally adjust the job scheduling time so that the execution timings do not overlap.

なお、マネージャ装置102およびエージェント装置104の構成/動作、および優先実行については、以下の第2の実施形態にて詳細に説明する。
[第2の実施形態]
(構成の説明)
図3は、本発明の第2の実施形態に係るジョブ実行管理システム1の構成例を示すブロックである。なお、一般的なジョブ実行管理システムにおいては、スケジュールに従ってジョブネットワークの起動やそのフロー制御を行う制御手段が存在することが一般的である。しかしながら、そのような制御手段は、本実施形態とは直接関連しないため、以下の説明では省略する。
The configuration / operation of the manager device 102 and the agent device 104, and priority execution will be described in detail in the second embodiment below.
[Second Embodiment]
(Explanation of configuration)
FIG. 3 is a block showing a configuration example of the job execution management system 1 according to the second embodiment of the present invention. In a general job execution management system, it is common that there is a control means for starting a job network and controlling its flow according to a schedule. However, such control means are not directly related to the present embodiment and will be omitted in the following description.

ジョブ実行管理システム1は、ジョブの定義情報の管理およびジョブネットワークのフロー制御を主に実行するマネージャ装置2と、ジョブを実行するエージェント装置3と、を備える。なお、図3では、エージェント装置3が「3台」の場合が例示されているが、エージェント装置3の数は「2台以下」であってもよいし、「4台以上」であってもよい。 The job execution management system 1 includes a manager device 2 that mainly executes job definition information management and job network flow control, and an agent device 3 that executes jobs. Although the case where the agent device 3 is "3" is illustrated in FIG. 3, the number of the agent devices 3 may be "2 or less" or "4 or more". good.

マネージャ装置2は、ジョブ実行制御部10と、ジョブ定義情報DB11と、排他資源管理DB13と、を備える。なお、DBは、DataBaseの略である。 The manager device 2 includes a job execution control unit 10, a job definition information DB 11, and an exclusive resource management DB 13. DB is an abbreviation for Data Base.

ジョブ定義情報DB11は、ジョブ毎に、ジョブ名やスクリプト、ジョブの実行開始から実行終了までの予想時間である予想実行時間、排他資源の名称または識別情報(以下、これらを排他資源名とも呼ぶ)などの情報を、ジョブ定義情報として記録する。 The job definition information DB 11 includes a job name and a script, an estimated execution time which is an estimated time from the start to the end of execution of a job, a name of an exclusive resource, or identification information (hereinafter, these are also referred to as an exclusive resource name) for each job. Information such as is recorded as job definition information.

排他資源は、例えば、印刷処理におけるプリンタ、データバックアップ処理におけるバックアップ先の領域やテープ装置、あるいは、地理的に離れた別のデータセンタ内にあるサーバへのデータ送信処理における巨大なデータの送信自体である。もちろん、排他資源は、上記に限定されることはない。 Exclusive resources are, for example, the transmission of huge data itself in the data transmission process to a printer in the print process, a backup destination area or tape device in the data backup process, or a server in another geographically distant data center. Is. Of course, the exclusive resource is not limited to the above.

排他資源管理DB13は、ジョブ実行管理システム1にて使用可能な全ての排他資源名、それら排他資源のロックの有無、ロックされている場合にはロックしているジョブ名、そしてロック待ちとなっているジョブ名などを記録する。 The exclusive resource management DB 13 waits for all the exclusive resource names that can be used in the job execution management system 1, whether or not the exclusive resources are locked, the name of the locked job if it is locked, and the lock wait. Record the name of the job you are in.

ジョブ実行制御部10は、ジョブ定義情報DB11からジョブ定義情報を読み出し、エージェント装置3に対して、ジョブの実行依頼(キューイングの開始)を送信する。ジョブ実行制御部10は、エージェント装置3からロック獲得要求およびロック解放要求を受信し、これらの要求を排他資源管理DB13に登録する。 The job execution control unit 10 reads the job definition information from the job definition information DB 11 and sends a job execution request (start of queuing) to the agent device 3. The job execution control unit 10 receives the lock acquisition request and the lock release request from the agent device 3, and registers these requests in the exclusive resource management DB 13.

ジョブ実行制御部10は、排他資源名で表される排他資源のロックを制御するロック制御機能を有する。ロック制御機能は、排他資源を扱う個々のアプリケーション(エージェント装置3)が有している必要性はなく、マネージャ装置2のみが有していれば良い。この場合、「どの排他資源を利用するか」という情報が、ジョブ定義情報DB11にパラメータとして予め定義される。なお、排他資源名は、単なる文字列情報でよい。例えば、排他資源がプリンタZである場合、「Z」という文字列情報でロックを要求することを予め取り決めておき、ジョブ実行制御部10は、「Z」とのロック要求を受信した場合に排他制御を行う。 The job execution control unit 10 has a lock control function for controlling the lock of the exclusive resource represented by the exclusive resource name. The lock control function does not have to be possessed by each application (agent apparatus 3) that handles exclusive resources, and may be possessed only by the manager apparatus 2. In this case, the information "which exclusive resource to use" is defined in advance as a parameter in the job definition information DB 11. The exclusive resource name may be simply character string information. For example, when the exclusive resource is the printer Z, it is agreed in advance that the lock is requested by the character string information "Z", and the job execution control unit 10 is exclusive when the lock request with "Z" is received. Take control.

エージェント装置3は、ジョブ実行制御部20を備える。ジョブ実行制御部20は、マネージャ装置2から実行を依頼されたジョブのキュー制御及び実行を行う。ジョブ実行制御部20は、マネージャ装置2に対してジョブの実行結果を返却する。ジョブ実行制御部20は、マネージャ装置2に対して、排他資源を使用するジョブが実行される際に「ロック獲得要求」を送信し、当該ジョブの実行が完了した際に「ロック解放要求」を送信する。 The agent device 3 includes a job execution control unit 20. The job execution control unit 20 performs queue control and execution of a job requested to be executed by the manager device 2. The job execution control unit 20 returns the job execution result to the manager device 2. The job execution control unit 20 sends a "lock acquisition request" to the manager device 2 when a job using an exclusive resource is executed, and issues a "lock release request" when the execution of the job is completed. Send.

そして、ジョブ実行管理システム1では、排他資源を利用するジョブの無駄なロック待ち時間を短くするために、優先制御が実行される。優先制御は、ジョブ実行制御部10による第1制御(優先実行)と、ジョブ実行制御部20による第2制御と、を含む。 Then, in the job execution management system 1, priority control is executed in order to shorten the useless lock waiting time of the job using the exclusive resource. The priority control includes a first control (priority execution) by the job execution control unit 10 and a second control by the job execution control unit 20.

第1制御は、以下の制御(1)~(4)を有する。
(1)対象の排他資源を利用するジョブの抽出
ジョブ実行制御部10は、各エージェント装置3にキューイングされているジョブの内、対象の排他資源を利用するジョブを全て抽出する。当該ジョブが同一キュー内に複数存在する場合、ジョブ実行制御部10は、先行してキューイングされたもののみを対象とする。
(2)残り必要時間の算出
ジョブ実行制御部10は、制御(1)のジョブがキューイングされているそれぞれのキューにおいて、そのキューで現在実行中のジョブが終了するのに必要な「残り必要時間」を計算する。残り必要時間の計算は、対象のキュー全てで実施される。
The first control has the following controls (1) to (4).
(1) Extraction of Jobs that Use Target Exclusive Resources The job execution control unit 10 extracts all jobs that use the target exclusive resources from the jobs queued in each agent device 3. When a plurality of such jobs exist in the same queue, the job execution control unit 10 targets only those queued in advance.
(2) Calculation of remaining required time In each queue in which the job of control (1) is queued, the job execution control unit 10 has "remaining required" required for the job currently being executed in that queue to end. Calculate "time". The calculation of the remaining required time is performed for all the target queues.

残り必要時間は、例えば、実行中のジョブの予想実行時間と、ジョブの実行が始まってからの経過時間とから計算することができる。例えば、残り必要時間は、以下の(式1)で計算することが可能である。 The remaining required time can be calculated from, for example, the expected execution time of the running job and the elapsed time from the start of the job execution. For example, the remaining required time can be calculated by the following (Equation 1).

残り必要時間=予想実行時間-経過時間 (式1)
なお、ジョブの実行時間とは、エージェント装置3上でジョブが開始されてから完了するまでの時間である。そして、予想実行時間は、上記実行時間の予想値である。予測実行時間は、たとえば、過去の実績を用いて見積もることができる。ジョブ実行管理システム1は、日次、週次、あるいは月次といった形で同じ処理を実行させることを特徴とするシステムであるため、前回の実績を参考にすることができるのである。また、入力データ量に応じて処理時間が大きくなる特徴を持つようなジョブの場合、その入力データ量と処理時間との関係性を数式化したデータを用いて、ジョブ実行制御部10は、今回実行しようとしているジョブの入力データ量から予想実行時間を見積もることも可能である。
Remaining required time = expected execution time-elapsed time (Equation 1)
The job execution time is the time from the start to the completion of the job on the agent device 3. The expected execution time is an expected value of the above-mentioned execution time. The predicted execution time can be estimated using, for example, past performance. Since the job execution management system 1 is a system characterized in that the same processing is executed in the form of daily, weekly, or monthly, the previous results can be referred to. Further, in the case of a job having a feature that the processing time increases according to the amount of input data, the job execution control unit 10 uses the data obtained by formulating the relationship between the amount of input data and the processing time. It is also possible to estimate the expected execution time from the amount of input data of the job to be executed.

ジョブ実行制御部10は、たとえば、ジョブ定義情報DB11を参照して、予想実行時間を取得する。また、ジョブ実行制御部10は、たとえば、各エージェント装置3に問い合わせすることで、それぞれのジョブの経過時間を取得する。
(3)最も先に空きができるキューの決定
ジョブ実行制御部10は、制御(2)の算出結果である、各キューの残り必要時間同士を比較し、最も先に空きができるキューを決定する。
(4)ジョブの実行優先度の変更
ジョブ実行制御部10は、制御(3)で決定されたキューにキューイングされている、対象の排他資源を利用するジョブのうちで最も先にキューイングされているジョブの実行位置を、該当キュー内において「キューに空きができたら次に実行される位置」に変更する。キューイングされたジョブが1つの場合、最も先にキューイングされたジョブは、その1つのジョブである。
The job execution control unit 10 acquires, for example, the expected execution time by referring to the job definition information DB 11. Further, the job execution control unit 10 acquires, for example, the elapsed time of each job by inquiring to each agent device 3.
(3) Determination of the queue that can be vacant first The job execution control unit 10 compares the remaining required time of each queue, which is the calculation result of control (2), and determines the queue that can be vacant first. ..
(4) Changing the job execution priority The job execution control unit 10 is queued first among the jobs that use the target exclusive resource and are queued in the queue determined in control (3). Change the execution position of the current job to "the position to be executed next when the queue becomes free" in the corresponding queue. If there is one queued job, the first queued job is that one job.

図4は、第1制御をイメージ化した図である。 FIG. 4 is an image of the first control.

上記制御(1)~(4)を排他資源に空きができる毎に実行することで、排他資源を利用するジョブを優先的に実行させ、かつ、排他資源のロック待ちが極力発生しないようにすることができる。上記制御(1)~(4)の処理は、「排他資源に空きができた時点で、次に最も早くその排他資源を利用して実行開始できるジョブを探し、そのジョブを優先実行させる」処理と要約することができる。 By executing the above controls (1) to (4) every time an exclusive resource becomes available, the job that uses the exclusive resource is preferentially executed, and the lock wait of the exclusive resource is prevented from occurring as much as possible. be able to. The processes of the above controls (1) to (4) are "when the exclusive resource becomes free, the next job that can be started by using the exclusive resource is searched for and the job is preferentially executed". Can be summarized as.

なお、排他資源を利用するジョブに対して第1制御が実行されることなくキューの実行順を迎えた場合、ジョブ実行制御部20において第2制御が実行される。 When the queue execution order is reached without executing the first control for the job using the exclusive resource, the job execution control unit 20 executes the second control.

第2制御は、上記の制御(1)~(4)が行われることなく排他資源を利用するジョブがキュー内にて実行順を迎えた場合に、当該ジョブの実行位置を「キューに空きができたら次に実行される位置」に留め置き、先に後続のジョブを実行させる制御である。 In the second control, when a job that uses an exclusive resource reaches the execution order in the queue without performing the above controls (1) to (4), the execution position of the job is set to "there is a free space in the queue". If possible, it is a control that keeps it in the position where it will be executed next and executes the subsequent job first.

第2制御により、排他資源のロック待ちになったジョブによって、該当キュー内の後続のジョブの実行が阻害されることを防ぐことができる。 By the second control, it is possible to prevent the execution of the subsequent job in the corresponding queue from being hindered by the job waiting for the lock of the exclusive resource.

ただし、第2制御を実行する場合、制御(3)および制御(4)の決定に漏れ続けてしまう可能性がある。これを回避するため、制御(3)の判断を左右する制御(2)の計算に補正値が導入される。この補正値は、超過時間(対象のジョブがエージェント装置3にキューイングされた時点からの予想開始時間としたときの超過時間)である。例えば、ジョブがキューイングされた時点で、先にキューイングされていたジョブの予想実行時間からあとどれぐらい待てばキューイングされたジョブの実行が開始されるのかを計算することができる。超過時間は、キューイング時刻を起点とした時の予想開始時間であり、この予想開始時間を超えても実行されていない、すなわち、他のキューの優先制御によってロックを獲得できないまま待ち合わせさせられている時間である。そこで、ジョブ実行制御部10は、制御(2)で算出された「残り必要時間」を制御(3)での比較対象とするのではなく、「残り必要時間」から「超過時間」を差し引いた値(すなわち、補正された値)を制御(3)での比較対象とする。 However, when the second control is executed, there is a possibility that the determination of the control (3) and the control (4) will continue to be missed. In order to avoid this, a correction value is introduced in the calculation of the control (2) that influences the judgment of the control (3). This correction value is the excess time (the excess time when the expected start time from the time when the target job is queued in the agent device 3). For example, when a job is queued, it is possible to calculate how long it should wait from the expected execution time of the previously queued job to start executing the queued job. The excess time is the expected start time starting from the queuing time, and is not executed even after this expected start time, that is, the lock cannot be acquired by the priority control of another queue. It's time to be. Therefore, the job execution control unit 10 does not use the "remaining required time" calculated in the control (2) as the comparison target in the control (3), but subtracts the "excess time" from the "remaining required time". The value (that is, the corrected value) is used as the comparison target in the control (3).

なお、予想開始時間は、たとえば、以下の(式2)により求めることができる。 The expected start time can be obtained by, for example, the following (Equation 2).

予想開始時間=キューイング済みの未実行のジョブの予想実行時間の総和+現在実行中のジョブの予想実行時間-そのジョブの実行経過時間 (式2)
また「超過時間」は、以下の(式3)により求めることができる。
Estimated start time = Sum of expected execution times of unexecuted jobs that have been queued + Estimated execution time of currently running jobs-Elapsed time of execution of that job (Equation 2)
Further, the "excess time" can be obtained by the following (Equation 3).

超過時間=キューイングされてからの経過時間-予想開始時間 (式3)
以下に、第1制御の具体例が示される。制御(2)の計算結果として「残り必要時間」を計算した際、キューAが20秒、キューBが30秒、キューCが40秒であったと仮定する。補正値なしで考慮すれば、最も早く空きができるキューは、キューAとなる。しかしながら、キューCにキューイングされているジョブC0は、制御(1)~(4)の対象とならずにキューの先頭に到達したが、排他資源も他ジョブがロック中で利用できなかったため、制御(5)により後続のジョブを先に実行させているとする。そして、その待ち時間(超過時間)が、たとえば、30秒であった場合、キューCの補正後の「残り必要時間」は、40-30=10秒となる。従って、制御(3)および制御(4)により決定される、次に実行すべきジョブは、キューCにキューイングされてロック待ちとなっているジョブC0となる。
(動作の説明)
(一般的動作の説明)
図5は、第1制御の一例を示すフローチャートである。
Excess time = elapsed time since queuing-estimated start time (Equation 3)
A specific example of the first control is shown below. When the "remaining required time" is calculated as the calculation result of the control (2), it is assumed that the queue A is 20 seconds, the queue B is 30 seconds, and the queue C is 40 seconds. If no correction value is taken into consideration, the queue that can be vacated earliest is queue A. However, the job C0 queued in the queue C reached the top of the queue without being subject to the controls (1) to (4), but the exclusive resource was also locked and could not be used by another job. It is assumed that the subsequent job is executed first by the control (5). If the waiting time (excess time) is, for example, 30 seconds, the corrected "remaining required time" of the queue C is 40-30 = 10 seconds. Therefore, the job to be executed next, which is determined by the control (3) and the control (4), is the job C0 which is queued in the queue C and is waiting for a lock.
(Explanation of operation)
(Explanation of general operation)
FIG. 5 is a flowchart showing an example of the first control.

本フローチャートに示される処理は、排他資源管理DB13に登録されたいずれかの排他資源のロックが解放された場合、または、排他資源名が設定されたジョブについて、エージェント装置3に対してジョブ実行依頼が行われた場合に実行される。 The process shown in this flowchart is a job execution request to the agent device 3 when the lock of any of the exclusive resources registered in the exclusive resource management DB 13 is released, or for a job for which an exclusive resource name is set. Is executed when is done.

なお、対象となる排他資源は、前者の場合はロックが解放された排他資源であり、後者の場合は実行依頼が行われたジョブに設定された排他資源である。以下の説明では、この排他資源名はZとされる。 The target exclusive resource is an exclusive resource whose lock has been released in the former case, and is an exclusive resource set in the job for which the execution request has been made in the latter case. In the following description, this exclusive resource name is Z.

ジョブ実行制御部10は、各エージェント装置3のジョブ実行制御部20に対して問い合わせを行い、各エージェント装置3のキューにキューイングされているジョブの内、排他資源Zを利用する全てのジョブX1を抽出する(ステップS1)。同一キューに排他資源Zを利用するジョブが複数存在する場合は先行してキューイングされたもののみを対象とする。 The job execution control unit 10 makes an inquiry to the job execution control unit 20 of each agent device 3, and among the jobs queued in the queue of each agent device 3, all jobs X1 that use the exclusive resource Z. Is extracted (step S1). If there are multiple jobs that use the exclusive resource Z in the same queue, only those that have been queued in advance are targeted.

ジョブX1が1つも存在しない場合(ステップS1においてNo)、本フローチャートの処理は終了となる。 If there is no job X1 (No in step S1), the processing of this flowchart ends.

ジョブX1が1つ以上存在する場合(ステップS1においてYes)、ジョブ実行制御部10は、ジョブX1が所属する各キューにおいて現在実行中のジョブの残り必要時間X2を算出する(ステップS2)。残り必要時間X2の算出方法は上述したとおりである。 When one or more jobs X1 exist (Yes in step S1), the job execution control unit 10 calculates the remaining required time X2 of the job currently being executed in each queue to which the job X1 belongs (step S2). The calculation method of the remaining required time X2 is as described above.

ジョブ実行制御部10は、残り必要時間X2を補正して、補正後の残り必要時間X3を算出する(ステップS3)。具体的には、ジョブ実行制御部10は、ジョブX1の予想開始時間に対する超過時間を計算する。予想開始時間および超過時間の計算方法は上述したとおりである。そして、ジョブ実行制御部10は、残り必要時間X2から超過時間を差し引くことで、補正後の残り必要時間X3を算出する。 The job execution control unit 10 corrects the remaining required time X2 and calculates the corrected remaining required time X3 (step S3). Specifically, the job execution control unit 10 calculates the excess time with respect to the expected start time of the job X1. The calculation method of the expected start time and the excess time is as described above. Then, the job execution control unit 10 calculates the corrected remaining required time X3 by subtracting the excess time from the remaining required time X2.

ジョブ実行制御部10は、各キューの、補正後の残り必要時間X3同士を比較し、最も先に空きができるキューX4を決定する(ステップS4)。ジョブ実行制御部10は、キューX4をもつエージェント装置3のジョブ実行制御部20に対して、ジョブの位置を変更する旨の指示を送信する。 The job execution control unit 10 compares the remaining required time X3 after correction of each queue with each other, and determines the queue X4 that can be vacant first (step S4). The job execution control unit 10 transmits an instruction to change the position of the job to the job execution control unit 20 of the agent device 3 having the queue X4.

ジョブ実行制御部20は、上記指示に基づいて、キューX4において、排他資源Zを利用するジョブの中で最も先にキューイングされたジョブの位置を、「次に実行できる位置」に変更する(ステップS5)。 Based on the above instruction, the job execution control unit 20 changes the position of the first queued job among the jobs that use the exclusive resource Z in the queue X4 to the "position that can be executed next" (the position that can be executed next). Step S5).

図6は、第2制御の一例を示すフローチャートである。 FIG. 6 is a flowchart showing an example of the second control.

ジョブ実行制御部20は、排他資源を利用するジョブが優先実行されることなく(第1制御が実行されることなく)キューにて実行順を迎えたか否かを判定する(ステップS10)。排他資源を利用するジョブが優先実行されることなくキューにて実行順を迎えた場合(ステップS10のYes)、ジョブ実行制御部20は、当該ジョブの実行位置を「キューに空きができたら次に実行される位置」に留め置き、先に後続のジョブを実行させる(ステップS11)。 The job execution control unit 20 determines whether or not the job using the exclusive resource has reached the execution order in the queue without being preferentially executed (without executing the first control) (step S10). When a job that uses an exclusive resource reaches the execution order in the queue without being preferentially executed (Yes in step S10), the job execution control unit 20 sets the execution position of the job to "Next when the queue becomes free". The subsequent job is executed first (step S11).

第1制御が実行されることなくジョブがキューの実行順を迎えていない場合(ステップS10においてNo)、およびステップS11の処理が完了した場合、本フローチャートの処理は終了する。
(具体的動作の説明)
以下、図7~図32を用いて優先制御を具体的に説明する。なお、図7~図32の内の図7~図22は本実施形態を説明するための図であり、図23~図32は本発明を適用していない関連技術の方式を説明するための図である。
When the job has not reached the queue execution order without the first control being executed (No in step S10), and when the process of step S11 is completed, the process of this flowchart ends.
(Explanation of specific operation)
Hereinafter, priority control will be specifically described with reference to FIGS. 7 to 32. 7 to 22 of FIGS. 7 to 32 are diagrams for explaining the present embodiment, and FIGS. 23 to 32 are for explaining the method of the related technology to which the present invention is not applied. It is a figure.

説明の前提は以下のとおりである。
・3台のエージェント装置3があり、それぞれのエージェント装置3には1つだけキュー(キューA、B、C)があるものとする。
・開始時点で、図7に示したようなジョブのキューイングが行われているものとする。図7は、下に行くほど先行してキューイングされたジョブであること、および二重線より下に書かれたジョブが実行状態となっているジョブであることを示している。
・図7において、ジョブ欄における太字は、排他資源Zが設定されたジョブを表す(ジョブA5、B2、C5)
・図7において、「予想」は、予想実行時間を簡略化したものである。
・図7において、「超過」は、超過時間を簡略化したものである。
・説明をより明りょうなものとするため、ステップS1の抽出は完了し、その結果として図7に示すキューA、キューB、キューCが常にヒットしていることとする。
・60秒後にキューAにジョブA7(予想実行時間:20秒)、100秒後にキューCにジョブC6(予想実行時間:20秒)が追加で投入されるとする。
■開始時
開始時点(図7)の状態で排他資源Zに空きが出来たため、優先制御が実行される。ステップS2の結果としての残り必要時間は、それぞれA=10、B=80、C=20である。そして、超過時間は全て0のため、残り必要時間は補正されない。従って、最も早く実行できるキューは、キューAとなる。そして、キューAにあるジョブA5がジョブA1の直後に移動される(図8)。
■開始から10秒後
10秒後、ジョブA1が完了し、排他資源Zを利用するジョブA5が実行開始される(図9)。
■開始から30秒後
図9の状態から20秒後、ジョブA5が完了して、排他資源Zのロックが解放される。このとき、また優先制御が実行される(図10)。
The premise of the explanation is as follows.
-It is assumed that there are three agent devices 3, and each agent device 3 has only one queue (queues A, B, and C).
-At the start, it is assumed that the job queuing as shown in FIG. 7 has been performed. FIG. 7 shows that the lower the job is, the more the job is queued in advance, and the job written below the double line is the job in the execution state.
-In FIG. 7, bold letters in the job column represent jobs for which the exclusive resource Z is set (jobs A5, B2, C5).
-In FIG. 7, "forecast" is a simplification of the expected execution time.
-In FIG. 7, "excess" is a simplification of the excess time.
-In order to make the explanation clearer, it is assumed that the extraction in step S1 is completed, and as a result, the queue A, the queue B, and the queue C shown in FIG. 7 are always hit.
It is assumed that job A7 (estimated execution time: 20 seconds) is additionally input to queue A after 60 seconds, and job C6 (estimated execution time: 20 seconds) is additionally input to queue C after 100 seconds.
■ Start time Since the exclusive resource Z has a vacancy at the start time (Fig. 7), priority control is executed. The remaining required time as a result of step S2 is A = 10, B = 80, and C = 20, respectively. And since the excess time is all 0, the remaining required time is not corrected. Therefore, the queue that can be executed fastest is queue A. Then, the job A5 in the queue A is moved immediately after the job A1 (FIG. 8).
■ 10 seconds after the start 10 seconds later, the job A1 is completed, and the job A5 using the exclusive resource Z is started to be executed (FIG. 9).
■ 30 seconds after the start 20 seconds after the state shown in FIG. 9, job A5 is completed and the lock of the exclusive resource Z is released. At this time, priority control is executed again (FIG. 10).

この場合、比較対象はジョブB2とジョブC5である。超過時間はないため補正なく、最も早く実行されるキューは、キューCである。従って、ジョブC5は、ジョブC2の直後に移動される(図11)。
■開始から50秒後
図11の状態から20秒後、ジョブC2が完了し、排他資源Zを利用するジョブC5の実行が開始される(図12)。
■開始から60秒後
図12の状態から10秒後、キューAに新たにA7(予想実行時間:20秒)がキューイングされる(図13)。
■開始から80秒後
図13の状態から20秒後、ジョブB1が完了する。このとき、次に実行すべきジョブB2は排他資源Zを利用するジョブのため、競合が発生してしまう。そのため、ジョブ実行制御部20は、排他資源Zのロック獲得を要求し(ロック待ち)、先に後続のジョブB3を実行開始させる(図14)。
■開始から90秒後
図14の状態から10秒後、ジョブC5が完了して、排他資源Zのロックが解放される。このとき、また優先制御が実行される(図15)。
In this case, the comparison targets are job B2 and job C5. The earliest executed queue without correction because there is no overtime is queue C. Therefore, the job C5 is moved immediately after the job C2 (FIG. 11).
■ 50 seconds after the start 20 seconds after the state shown in FIG. 11, job C2 is completed and execution of job C5 using the exclusive resource Z is started (FIG. 12).
■ 60 seconds after the start 10 seconds after the state shown in FIG. 12, A7 (estimated execution time: 20 seconds) is newly queued in the queue A (FIG. 13).
■ 80 seconds after the start Job B1 is completed 20 seconds after the state shown in FIG. At this time, since the job B2 to be executed next is a job that uses the exclusive resource Z, a conflict occurs. Therefore, the job execution control unit 20 requests the acquisition of the lock of the exclusive resource Z (waiting for the lock), and starts the execution of the subsequent job B3 first (FIG. 14).
■ 90 seconds after the start 10 seconds after the state shown in FIG. 14, job C5 is completed and the lock of the exclusive resource Z is released. At this time, priority control is executed again (FIG. 15).

この場合、比較対象はジョブA7とジョブB2である。そして、ジョブB2には超過時間がある。これを加味すると、補正後の残り必要時間は、それぞれキューA=0、キューB=30-10=20となり、キューAの方が小さい。よってジョブA7の位置が移動される。この場合、実行中のジョブがないため、そのままジョブA7の実行が開始される(図16)。
■開始から100秒後
図16の状態から10秒後、キューCに新たにC6(予想実行時間:20秒)がキューイングされる(図17)。
■開始から110秒後
図17の状態から10秒後、ジョブA7が完了し、排他資源Zのロックが解放される。このとき、また優先制御が実行される(図18)。
In this case, the comparison targets are job A7 and job B2. And there is an excess time in job B2. Taking this into consideration, the remaining required time after correction is cue A = 0 and cue B = 30-10 = 20, respectively, and cue A is smaller. Therefore, the position of job A7 is moved. In this case, since there is no job being executed, the execution of job A7 is started as it is (FIG. 16).
■ 100 seconds after the start 10 seconds after the state shown in FIG. 16, C6 (estimated execution time: 20 seconds) is newly queued in the queue C (FIG. 17).
■ 110 seconds after the start 10 seconds after the state shown in FIG. 17, job A7 is completed and the lock of the exclusive resource Z is released. At this time, priority control is executed again (FIG. 18).

この場合、比較対象はジョブB2とジョブC6である。そして、B2には超過時間がある。これを加味すると、補正後の残り必要時間は、キューB=10-30=-20、キューC=0となり、キューBのほうが小さい。よってジョブB2の位置が移動される。この場合、ジョブB2は、既に「次に実行される位置」にいるため、移動処理は不要となる。また、キューCは優先制御の対象とならなかったため、順番通りC4が実行開始される(図19)。
■開始から120秒後
図19の状態から10秒後、ジョブB3が完了し、排他資源Zを利用するジョブB2が実行開始される(図20)。
■開始から160秒後
図20の状態から40秒後、ジョブC4が完了する。このとき、次に実行すべきジョブC6は排他資源Zを利用するジョブのため、競合が発生してしまう。そのため、ジョブ実行制御部20は、排他資源Zのロック獲得を要求する。なお、キューCでは後続で実行できるジョブが存在しないため、キューCは、ジョブC6が「次に実行すべき位置」に滞在したまま、何もジョブを実行しないキューとなる(図21)。
■開始から170秒後
図21の状態から10秒後、ジョブB2が完了し、排他資源Zのロックが解放される。排他資源ZはすでにジョブC6のロック待ちとなっているため、ジョブC6がロックを獲得し、実行状態に遷移する(図22)。
■開始から190秒後
図22の状態から20秒後、ジョブC6が実行完了し、全てのジョブの実行が完了する。
In this case, the comparison targets are job B2 and job C6. And there is an excess time in B2. Taking this into consideration, the remaining required time after correction is cue B = 10-30 = -20, cue C = 0, and cue B is smaller. Therefore, the position of job B2 is moved. In this case, since the job B2 is already in the "position to be executed next", the move process becomes unnecessary. Further, since the queue C was not the target of the priority control, the execution of C4 is started in order (FIG. 19).
■ 120 seconds after the start 10 seconds after the state shown in FIG. 19, job B3 is completed, and job B2 using the exclusive resource Z is started to be executed (FIG. 20).
■ 160 seconds after the start Job C4 is completed 40 seconds after the state shown in FIG. 20. At this time, since the job C6 to be executed next is a job that uses the exclusive resource Z, a conflict occurs. Therefore, the job execution control unit 20 requests the acquisition of the lock of the exclusive resource Z. Since there is no subsequent job that can be executed in the queue C, the queue C is a queue that does not execute any job while the job C6 stays at the "position to be executed next" (FIG. 21).
■ 170 seconds after the start 10 seconds after the state shown in FIG. 21, job B2 is completed and the lock of the exclusive resource Z is released. Since the exclusive resource Z is already waiting for the lock of the job C6, the job C6 acquires the lock and transitions to the execution state (FIG. 22).
■ 190 seconds after the start After 20 seconds from the state shown in FIG. 22, job C6 is completed and all jobs are executed.

以上説明したように、本実施形態において、すべてのジョブは、合計190秒で実行完了する。 As described above, in the present embodiment, all the jobs are executed in 190 seconds in total.

次に、本実施形態の効果を示すため、本発明を適用していない関連技術の方式でジョブを実行した場合の動作と合計実行時間とについて説明する。本方式としては、最もデメリットが少ないとされる、第3方式([発明が解決しようとする課題]参照)を採用する。なお、前提条件は上で説明したものと同じとする。また、「超過」列の代わりに「ロック」列を記載しており、ここには排他資源Zのロック獲得の待ち合わせ順が記載される。この値が1になっているジョブが現在排他資源Zをロック中であることが示されている。
■開始時点
開始時点は図7であり、この状態からキューイングされている順に従って実行していく。
■開始から60秒後
図7の状態から60秒後、キューAに新たにジョブA7(予想実行時間:20秒)がキューイングされる(図23)。
■開始から70秒後
図23の状態から10秒後、ジョブA4が完了する。後続のジョブA5は排他資源Zを必要とするジョブのためロックを要求するが、排他資源Zをロックしているジョブは他にないためロックが獲得でき、そのまま実行が開始される(図24)。
■開始から80秒後
図24の状態から10秒後、ジョブB1が完了する。このとき、次に実行すべきジョブB2は排他資源Zを利用するジョブのため、競合が発生してしまう。そのため、排他資源Zのロック獲得要求が実行され、後続のジョブB3の実行が先に開始される(図25)。
■開始から90秒後
図25の状態から10秒後、ジョブA5が完了し、排他資源Zのロックが解放される。排他資源Zは既にジョブB2がロック要求をしているため、ジョブB2が排他資源Zのロックを獲得する(図26)。
■開始から100秒後
図26の状態から10秒後、キューCに新たにC6(予想実行時間:20秒)がキューイングされる(図27)。
■開始から110秒後
図27の状態から10秒後、ジョブA6が完了する。後続のジョブA7は排他資源Zを利用するジョブのため、ロック要求を行うが、ジョブB2が既にロックを獲得しているため、待ち合わせが発生する。なお、キューAでは後続で実行できるジョブが存在しない。従って、キューAは、何もジョブを実行しないキューとなる(図28)。
■開始から120秒後
図28の状態から10秒後、ジョブB3及びジョブC4が完了する。後続のジョブB2は排他資源Zを利用するジョブであるが、既にロック獲得済みのため、そのまま実行開始される。また、後続のジョブC5も同じく排他資源Zを利用するジョブであり、ロックを要求するが、他ジョブが既にロック済みのため、待ち合わせが発生する。また、ジョブC5の後続のジョブC6も排他資源Zを利用するジョブのため、先行させて実行させることもできないため、このままとなり、キューCは、何も実行できないキューとなる(図29)。
■開始から170秒後
図29の状態から50秒後、ジョブB2が完了し、排他資源Zのロックが解放される。続いて、ジョブA7が排他資源Zのロックを獲得し、実行開始される(図30)。
■開始から190秒後
図30の状態から20秒後、ジョブA7が完了し、排他資源Zのロックが解放される。続いて、ジョブC5が排他資源Zのロックを獲得し、実行開始される(図31)。
■開始から230秒後
図31の状態から40秒後、ジョブC5が完了し、排他資源Zのロックが解放される。続いて、ジョブC6が排他資源Zのロックを獲得し、実行開始される(図32)。
■開始から250秒後
図32の状態から20秒後、ジョブC6が完了し、全てのジョブの実行が完了する。
(効果の説明)
以上説明したように、第3方式において、すべてのジョブは、合計250秒で実行完了する。
Next, in order to show the effect of the present embodiment, the operation and the total execution time when the job is executed by the method of the related technology to which the present invention is not applied will be described. As this method, the third method (see [Problems to be Solved by the Invention]), which is said to have the least disadvantages, is adopted. The preconditions are the same as those described above. Further, instead of the "excess" column, the "lock" column is described, and the order of waiting for the lock acquisition of the exclusive resource Z is described here. It is shown that the job whose value is 1 is currently locking the exclusive resource Z.
■ Start time The start time is shown in Fig. 7, and execution is performed according to the queued order from this state.
■ 60 seconds after the start 60 seconds after the state shown in FIG. 7, a new job A7 (estimated execution time: 20 seconds) is queued in the queue A (FIG. 23).
■ 70 seconds after the start Job A4 is completed 10 seconds after the state shown in FIG. 23. Subsequent job A5 requests a lock because it is a job that requires exclusive resource Z, but since there is no other job that locks exclusive resource Z, the lock can be acquired and execution starts as it is (FIG. 24). ..
■ 80 seconds after the start Job B1 is completed 10 seconds after the state shown in FIG. 24. At this time, since the job B2 to be executed next is a job that uses the exclusive resource Z, a conflict occurs. Therefore, the lock acquisition request for the exclusive resource Z is executed, and the subsequent execution of the job B3 is started first (FIG. 25).
■ 90 seconds after the start 10 seconds after the state shown in FIG. 25, the job A5 is completed and the lock of the exclusive resource Z is released. Since the exclusive resource Z has already been requested to be locked by the job B2, the job B2 acquires the lock of the exclusive resource Z (FIG. 26).
■ 100 seconds after the start 10 seconds after the state shown in FIG. 26, C6 (estimated execution time: 20 seconds) is newly queued in the queue C (FIG. 27).
■ 110 seconds after the start Job A6 is completed 10 seconds after the state shown in FIG. 27. Since the subsequent job A7 is a job that uses the exclusive resource Z, a lock request is made, but since the job B2 has already acquired the lock, a wait occurs. In queue A, there is no subsequent job that can be executed. Therefore, the queue A is a queue that does not execute any job (FIG. 28).
■ 120 seconds after the start Job B3 and job C4 are completed 10 seconds after the state shown in FIG. 28. Subsequent job B2 is a job that uses the exclusive resource Z, but since the lock has already been acquired, execution is started as it is. Further, the subsequent job C5 is also a job that uses the exclusive resource Z and requests a lock, but since another job has already been locked, a wait occurs. Further, since the job C6 succeeding the job C5 is also a job that uses the exclusive resource Z, it cannot be executed in advance, so that it remains as it is, and the queue C becomes a queue in which nothing can be executed (FIG. 29).
■ 170 seconds after the start 50 seconds after the state shown in FIG. 29, the job B2 is completed and the lock of the exclusive resource Z is released. Subsequently, the job A7 acquires the lock of the exclusive resource Z and starts execution (FIG. 30).
■ 190 seconds after the start 20 seconds after the state shown in FIG. 30, job A7 is completed and the lock of the exclusive resource Z is released. Subsequently, the job C5 acquires the lock of the exclusive resource Z and starts execution (FIG. 31).
■ 230 seconds after the start 40 seconds after the state shown in FIG. 31, job C5 is completed and the lock of the exclusive resource Z is released. Subsequently, the job C6 acquires the lock of the exclusive resource Z and starts execution (FIG. 32).
■ 250 seconds after the start After 20 seconds from the state shown in FIG. 32, the job C6 is completed and the execution of all the jobs is completed.
(Explanation of effect)
As described above, in the third method, all jobs are executed in a total of 250 seconds.

本実施形態と第3方式とを比較すると、250-190=60秒の差がある。すなわち、本実施形態によれば、本実施形態よりも前に使用されている方式の中で最もデメリットが少ないとされる第3方式よりも、ジョブ全体の実行時間が約25%改善されていることがわかる。すなわち、以上説明した第2の実施形態によれば、排他資源を利用するジョブが複数ある場合に、その排他資源のロック待ちを極力回避してジョブネットワーク全体の実行時間をより短くすることができる。もちろん、その場合、ユーザが意図的にジョブのスケジューリング時間を調整して実行タイミングが重ならないように調整する必要はない。 Comparing this embodiment with the third method, there is a difference of 250-190 = 60 seconds. That is, according to the present embodiment, the execution time of the entire job is improved by about 25% as compared with the third method, which is said to have the least demerits among the methods used before the present embodiment. You can see that. That is, according to the second embodiment described above, when there are a plurality of jobs that use the exclusive resource, it is possible to avoid waiting for the lock of the exclusive resource as much as possible and shorten the execution time of the entire job network. .. Of course, in that case, it is not necessary for the user to intentionally adjust the job scheduling time so that the execution timings do not overlap.

以上、各実施形態を用いて本発明を説明したが、本発明の技術的範囲は、上記各実施形態の記載に限定されない。上記各実施形態に多様な変更又は改良を加えることが可能であることは当業者にとって自明である。従って、そのような変更又は改良を加えた形態もまた本発明の技術的範囲に含まれることは説明するまでもない。また、以上説明した各実施形態において使用される、数値や各構成の名称等は例示的なものであり適宜変更可能である。 Although the present invention has been described above using each embodiment, the technical scope of the present invention is not limited to the description of each of the above embodiments. It is obvious to those skilled in the art that various changes or improvements can be made to each of the above embodiments. Therefore, it is needless to say that such modified or improved forms are also included in the technical scope of the present invention. Further, the numerical values and the names of the respective configurations used in the above-described embodiments are exemplary and can be changed as appropriate.

1 ジョブ実行管理システム
2 マネージャ装置
3 エージェント装置
10 ジョブ実行制御部
11 ジョブ定義情報DB
13 排他資源管理DB
20 ジョブ実行制御部
100 ジョブ実行管理システム
102 マネージャ装置
104 エージェント装置
1 Job execution management system 2 Manager device 3 Agent device 10 Job execution control unit 11 Job definition information DB
13 Exclusive resource management DB
20 Job execution control unit 100 Job execution management system 102 Manager device 104 Agent device

Claims (5)

ジョブを管理するマネージャ装置と、
前記ジョブを実行する1以上のエージェント装置と、を備え、
前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、
前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる
ことを特徴とするジョブ実行管理システム。
A manager device that manages jobs and
It comprises one or more agent devices that execute the job.
The manager device identifies the job that can start using the exclusive resource earliest after the lock of the exclusive resource is released from all the jobs queued in the queue of the agent device. And give priority to execution
When the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, the agent device is executed next when the execution position of the job becomes available in the queue. A job execution management system characterized in that the following jobs are executed first by keeping them in a certain position.
前記マネージャ装置は、
全ての前記エージェント装置のそれぞれの前記キューにキューイングされている前記ジョブの中で前記排他資源を利用する全ての前記ジョブを抽出し、
抽出した前記ジョブが所属する前記キューにおいて現在実行中の前記ジョブの残り必要時間を算出し、前記残り必要時間から、前記ロックを獲得できないまま待ち合わせさせられている時間である超過時間を差し引くことにより補正後の前記残り必要時間を算出し、
それぞれの前記キューの、補正後の前記残り必要時間同士を比較し、最も先に空きができる前記キューを決定し、
最も先に空きができる前記キューをもつ前記エージェント装置に対して、当該キューにおいて前記排他資源を利用する前記ジョブの中で最も先にキューイングされている前記ジョブの実行位置を、当該キューに空きができたら次に実行される位置に変更する旨を指示する
ことを特徴とする請求項1記載のジョブ実行管理システム。
The manager device is
All the jobs that utilize the exclusive resource are extracted from the jobs queued in the queue of each of the agent devices.
By calculating the remaining required time of the job currently being executed in the queue to which the extracted job belongs, and subtracting the excess time, which is the time for waiting without acquiring the lock, from the remaining required time. Calculate the remaining required time after correction,
The remaining required time after correction of each of the queues is compared with each other to determine the queue that can be vacant first.
For the agent device having the queue that can be freed first, the execution position of the job that is queued first among the jobs that use the exclusive resource in the queue is freed in the queue. The job execution management system according to claim 1, wherein the job execution management system is instructed to change to the position to be executed next when the job execution is completed.
前記残り必要時間は、前記エージェント装置で前記ジョブが開始されてから完了するまでの時間の予想値である予想実行時間から当該ジョブの実行が始まってからの経過時間を差し引いた時間であることを特徴とする請求項2記載のジョブ実行管理システム。 The remaining required time is the time obtained by subtracting the elapsed time from the start of execution of the job from the estimated execution time, which is the estimated value of the time from the start to the completion of the job in the agent device. The job execution management system according to claim 2, which is characterized. 前記超過時間は、前記ジョブがキューイングされてからの経過時間から予想開始時間を差し引いた時間であることを特徴とする請求項2または3記載のジョブ実行管理システム。 The job execution management system according to claim 2 or 3, wherein the excess time is a time obtained by subtracting an expected start time from the elapsed time since the job was queued. ジョブを管理するマネージャ装置と、前記ジョブを実行する1以上のエージェント装置と、を備えるジョブ実行管理システムであって、
前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、
前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる
ことを特徴とするジョブ実行管理方法。
A job execution management system including a manager device that manages a job and one or more agent devices that execute the job.
The manager device identifies the job that can start using the exclusive resource earliest after the lock of the exclusive resource is released from all the jobs queued in the queue of the agent device. And give priority to execution
The agent device is executed next when the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, and the execution position of the job becomes available in the queue. A job execution management method characterized in that the subsequent job is executed first by keeping the position in a certain position.
JP2018066353A 2018-03-30 2018-03-30 Job execution management system and job execution management method Active JP7014010B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018066353A JP7014010B2 (en) 2018-03-30 2018-03-30 Job execution management system and job execution management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018066353A JP7014010B2 (en) 2018-03-30 2018-03-30 Job execution management system and job execution management method

Publications (2)

Publication Number Publication Date
JP2019179280A JP2019179280A (en) 2019-10-17
JP7014010B2 true JP7014010B2 (en) 2022-02-01

Family

ID=68278687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018066353A Active JP7014010B2 (en) 2018-03-30 2018-03-30 Job execution management system and job execution management method

Country Status (1)

Country Link
JP (1) JP7014010B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116483544B (en) * 2023-06-15 2023-09-19 阿里健康科技(杭州)有限公司 Task processing method, device, computer equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065566A (en) 2004-08-26 2006-03-09 Casio Comput Co Ltd Batch processor and program
JP2008090507A (en) 2006-09-29 2008-04-17 Fujitsu Ltd Scheduling program for job execution, scheduling method for job execution, scheduling apparatus for job execution
JP2011113290A (en) 2009-11-26 2011-06-09 Nec Corp Job flow management apparatus, management method and management program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6467631A (en) * 1987-09-08 1989-03-14 Nec Corp Resources-based job starting system
JPH01126738A (en) * 1987-11-12 1989-05-18 Fujitsu Ltd System for control data set competition in execution of multiple job
JP2866241B2 (en) * 1992-01-30 1999-03-08 株式会社東芝 Computer system and scheduling method
JP3027526B2 (en) * 1995-09-26 2000-04-04 日立ソフトウエアエンジニアリング株式会社 Job scheduling method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065566A (en) 2004-08-26 2006-03-09 Casio Comput Co Ltd Batch processor and program
JP2008090507A (en) 2006-09-29 2008-04-17 Fujitsu Ltd Scheduling program for job execution, scheduling method for job execution, scheduling apparatus for job execution
JP2011113290A (en) 2009-11-26 2011-06-09 Nec Corp Job flow management apparatus, management method and management program

Also Published As

Publication number Publication date
JP2019179280A (en) 2019-10-17

Similar Documents

Publication Publication Date Title
US9588809B2 (en) Resource-based scheduler
US7322033B2 (en) Distributed control method and apparatus
US11032212B2 (en) Systems and methods for provision of a guaranteed batch
US8239869B2 (en) Method, system and apparatus for scheduling computer micro-jobs to execute at non-disruptive times and modifying a minimum wait time between the utilization windows for monitoring the resources
EP2388699A1 (en) Information processing device and information processing method
JP5347451B2 (en) Multiprocessor system, conflict avoidance program, and conflict avoidance method
US20080086733A1 (en) Computer micro-jobs
US6721948B1 (en) Method for managing shared tasks in a multi-tasking data processing system
JP5605131B2 (en) Job scheduling program, method, and apparatus
JP7014010B2 (en) Job execution management system and job execution management method
AU2007261607B2 (en) Resource-based scheduler
US20180039520A1 (en) Methods and Nodes for Scheduling Data Processing
US20020124043A1 (en) Method of and system for withdrawing budget from a blocking task
JP4682513B2 (en) Task management system
JP2008225641A (en) Computer system, interrupt control method and program
JP5480322B2 (en) Performance control method, system and program thereof
JP2001022601A (en) Job execution control method and parallel computer system
JP2000259591A (en) Distributed processing job execution method and network system
CN105204939B (en) A kind of processing method of interrupt requests
JP2012008838A (en) Print document conversion device and program
CN110968418A (en) Signal-slot-based large-scale constrained concurrent task scheduling method and device
JPH1040117A (en) System for changing task execution priority at the high load in on-line processing system
CN111858013A (en) Workflow job scheduling control method
CN117667332A (en) Task scheduling method and system
JPH05120042A (en) Computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210215

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211208

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: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220103