JP2019179280A - 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
JP2019179280A
JP2019179280A JP2018066353A JP2018066353A JP2019179280A JP 2019179280 A JP2019179280 A JP 2019179280A JP 2018066353 A JP2018066353 A JP 2018066353A JP 2018066353 A JP2018066353 A JP 2018066353A JP 2019179280 A JP2019179280 A JP 2019179280A
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.)
Granted
Application number
JP2018066353A
Other languages
Japanese (ja)
Other versions
JP7014010B2 (en
Inventor
秀行 倉城
Hideyuki Kurashiro
秀行 倉城
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

Abstract

To reduce an execution time for an entire job network by avoiding waiting for a lock on exclusive resources as much as possible even when there are a plurality of jobs using the exclusive resources.SOLUTION: A job execution management system includes a manager apparatus for managing a job, and one or more agent apparatuses for executing the job. The manager apparatus identifies and preferentially executes the job that can start using an exclusive resource as soon as the exclusive job is released from among the all jobs queued in a queue of the agent apparatus. The agent apparatus, when the job using the exclusive resource reaches an execution order in the queue without being preferentially executed, holds an execution position of the job to a next execution position if there is an empty in the queue and causes the subsequent job to execute first.SELECTED DRAWING: Figure 1

Description

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

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

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

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

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

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

特開2003−131892号公報JP 2003-131892 A

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

なお、以降で説明するロック制御は、全て「待ち合わせ可能な排他ロック」であるとする。ロックを要求対象となる排他資源が既に他者にロックされていた場合、それを拒否するのではなく、ロックの順番待ち状態にして、順番が来たらロックさせる方式である。また、ロックの種類にはさらに「共有ロック」と「排他ロック」があるが、ここでは「排他ロック」を対象とする。よって、「待ち合わせ可能な排他ロック」が対象とされる。   It is assumed that all lock controls described below are “waiting exclusive locks”. In this method, when the exclusive resource to be locked is already locked by another person, it is not rejected, but is put into a lock order waiting state and locked when the order comes. Further, there are “shared lock” and “exclusive lock” as types of locks, but here “exclusive lock” is targeted. Therefore, “exclusive lock that can be waited for” is targeted.

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

第1方式は、例えば、エージェント装置に対してあるジョブの実行依頼が行われ、そのジョブがキューイングされた時点で、すなわち、未だジョブが実行されていない時点でロックを獲得する方式である。第1方式の場合、キューの中での順番待ちの最中にロックが獲得できるため、ジョブの実行順が回ってきた段階で即座に排他資源を利用してそのジョブの実行を開始することができる。一方で、第1方式の場合、順番が回ってくるよりも前に排他資源をロックしてしまうため、先行してキューイングされているジョブの実行に時間がかかった場合、別のキューに存在する、すぐにでも実行可能な同一排他資源を利用したいジョブは、ロック待ちの状態となってしまう。   The first method is, for example, a method in which a lock is acquired when a job execution request is made to the agent device and the job is queued, that is, when the job is not yet executed. In the case of the first method, since the lock can be acquired while waiting for the turn in the queue, the execution of the job can be started immediately using the exclusive resource when the execution order of the job comes around. it 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 job queued in advance, it exists in another queue A job that wants to use the same exclusive resource that can be executed immediately becomes locked.

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

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

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

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

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

本発明のジョブ実行管理システムは、ジョブを管理するマネージャ装置と、前記ジョブを実行する1以上のエージェント装置と、を備え、前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる。   A job execution management system according to the present invention includes a manager device that manages a job and one or more agent devices that execute the job, and the manager device includes all queued queues of the agent device. Among the jobs, the job that can start using the exclusive resource earliest after the exclusive resource lock is released is identified 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 kept at the position where the job is executed next when the queue is empty, and the subsequent job is first Let it run.

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

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

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

[第1の実施形態]
(構成の説明)
図1は、本発明の第1の実施形態に係るジョブ実行管理システム100の構成例を示すブロック図である。
[First Embodiment]
(Description of configuration)
FIG. 1 is a block diagram showing a configuration example of a 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 jobs and one or more agent devices 104 that execute jobs.

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

エージェント装置104は、排他資源を利用するジョブが優先実行されることなくキューにて実行順を迎えた場合、当該ジョブの実行位置を、キューに空きができたら次に実行される位置に留め置き、先に後続のジョブを実行させる。
(動作の説明)
図2は、図1に示すジョブ実行管理システム100の動作例(ジョブ実行管理方法)を示すフローチャートである。
When the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, the agent device 104 keeps the execution position of the job at the position to be executed next when the queue is empty, First, the subsequent job is executed.
(Description 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 prioritizes a job that can start using the exclusive resource earliest after the lock of the exclusive resource is released from among all jobs queued in the queue of the agent device 104. This is executed (step S50).

エージェント装置104は、排他資源を利用するジョブが優先実行されることなくキューにて実行順を迎えた場合、当該ジョブの実行位置を、キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる(ステップS51)。
(効果の説明)
以上説明した第1の実施形態によれば、排他資源を利用するジョブが複数ある場合に、その排他資源のロック待ちを極力回避してジョブネットワーク全体の実行時間をより短くすることができる。もちろん、その場合、ユーザが意図的にジョブのスケジューリング時間を調整して実行タイミングが重ならないように調整する必要はない。
When the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, the agent device 104 keeps the execution position of the job at the position to be executed next when the queue is empty, First, the subsequent job is executed (step S51).
(Explanation of effect)
According to the first embodiment described above, when there are a plurality of jobs using exclusive resources, it is possible to avoid waiting for the exclusive resources to be locked as much as possible and to shorten the execution time of the entire job network. Of course, in that case, there is no need 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 configurations / operations and priority execution of the manager device 102 and the agent device 104 will be described in detail in the second embodiment below.
[Second Embodiment]
(Description of configuration)
FIG. 3 is a block diagram illustrating a configuration example of the job execution management system 1 according to the second exemplary embodiment of the present invention. Note that a general job execution management system generally includes a control unit that activates a job network and controls its flow according to a schedule. However, since such control means is not directly related to the present embodiment, it 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. 3 illustrates the case where the number of agent devices 3 is “3”, but the number of agent devices 3 may be “two or less” or “four 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 DataBase.

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

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

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

ジョブ実行制御部10は、ジョブ定義情報DB11からジョブ定義情報を読み出し、エージェント装置3に対して、ジョブの実行依頼(キューイングの開始)を送信する。ジョブ実行制御部10は、エージェント装置3からロック獲得要求およびロック解放要求を受信し、これらの要求を排他資源管理DB13に登録する。   The job execution control unit 10 reads job definition information from the job definition information DB 11 and transmits a job execution request (start of queuing) to the agent device 3. The job execution control unit 10 receives a lock acquisition request and a 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 need to be possessed by each application (agent device 3) that handles exclusive resources, but only the manager device 2 may have it. In this case, information “which exclusive resource is used” is defined in advance in the job definition information DB 11 as a parameter. The exclusive resource name may be simple character string information. For example, when the exclusive resource is the printer Z, it is determined in advance that a lock is requested with the character string information “Z”, and the job execution control unit 10 excludes when the lock request “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 transmits a “lock acquisition request” to the manager device 2 when a job using the exclusive resource is executed, and issues a “lock release request” when the execution of the job is completed. Send.

そして、ジョブ実行管理システム1では、排他資源を利用するジョブの無駄なロック待ち時間を短くするために、優先制御が実行される。優先制御は、ジョブ実行制御部10による第1制御(優先実行)と、ジョブ実行制御部20による第2制御と、を含む。   In the job execution management system 1, priority control is executed in order to shorten a useless lock waiting time of a job that uses exclusive resources. 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 includes the following controls (1) to (4).
(1) Extraction of Jobs that Use Targeted Exclusive Resources The job execution control unit 10 extracts all jobs that use target exclusive resources from among 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 Necessary Time The job execution control unit 10 determines the “remaining necessary time” required for the job currently being executed in the queue to end in each queue in which the job of control (1) is queued. Calculate time. The remaining required time is calculated for all target queues.

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

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

ジョブ実行制御部10は、たとえば、ジョブ定義情報DB11を参照して、予想実行時間を取得する。また、ジョブ実行制御部10は、たとえば、各エージェント装置3に問い合わせすることで、それぞれのジョブの経過時間を取得する。
(3)最も先に空きができるキューの決定
ジョブ実行制御部10は、制御(2)の算出結果である、各キューの残り必要時間同士を比較し、最も先に空きができるキューを決定する。
(4)ジョブの実行優先度の変更
ジョブ実行制御部10は、制御(3)で決定されたキューにキューイングされている、対象の排他資源を利用するジョブのうちで最も先にキューイングされているジョブの実行位置を、該当キュー内において「キューに空きができたら次に実行される位置」に変更する。キューイングされたジョブが1つの場合、最も先にキューイングされたジョブは、その1つのジョブである。
For example, the job execution control unit 10 refers to the job definition information DB 11 and acquires the estimated execution time. Further, the job execution control unit 10 acquires the elapsed time of each job by making an inquiry to each agent device 3, for example.
(3) Determining the queue that can be emptied 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 emptied first. .
(4) Job execution priority change 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 the control (3). The execution position of the current job is changed to “position to be executed next when the queue is empty” in the corresponding queue. If there is one queued job, the earliest 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) each time an exclusive resource becomes available, a job that uses the exclusive resource is executed preferentially and the lock waiting for the exclusive resource is prevented from occurring as much as possible. be able to. The processing of the above controls (1) to (4) is a process of “finding a job that can be started using the exclusive resource earliest when the exclusive resource becomes available and preferentially executing the job” Can be summarized as:

なお、排他資源を利用するジョブに対して第1制御が実行されることなくキューの実行順を迎えた場合、ジョブ実行制御部20において第2制御が実行される。   In addition, when the execution order of the queue 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 exclusive resources reaches the execution order in the queue without performing the above-described controls (1) to (4), the execution position of the job is set to “empty in queue”. This is a control that keeps it at the “next execution position if possible” 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 exclusive resource lock.

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

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

予想開始時間=キューイング済みの未実行のジョブの予想実行時間の総和+現在実行中のジョブの予想実行時間−そのジョブの実行経過時間 (式2)
また「超過時間」は、以下の(式3)により求めることができる。
Estimated start time = Total estimated execution time of queued unexecuted jobs + Expected execution time of currently executing job-Elapsed execution time of the job (Equation 2)
The “excess time” can be obtained by the following (formula 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-expected start time (Equation 3)
Below, the specific example of 1st control is shown. 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 the correction value is taken into consideration, the queue that can be emptied earliest is queue A. However, the job C0 queued in the queue C reaches the head of the queue without being subject to the control (1) to (4), but the exclusive resource is not available while another job is locked. It is assumed that the subsequent job is executed first by the control (5). When the waiting time (excess time) is, for example, 30 seconds, the “remaining necessary time” after correction of the queue C is 40−30 = 10 seconds. Accordingly, the job to be executed next determined by the control (3) and the control (4) is the job C0 queued in the queue C and waiting for the lock.
(Description of operation)
(Description of general operation)
FIG. 5 is a flowchart illustrating an example of the first control.

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

なお、対象となる排他資源は、前者の場合はロックが解放された排他資源であり、後者の場合は実行依頼が行われたジョブに設定された排他資源である。以下の説明では、この排他資源名はZとされる。   The target exclusive resource is an exclusive resource whose lock has been released in the former case, and an exclusive resource set in the job for which execution has been requested in the latter case. In the following description, the 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 all the jobs X1 that use the exclusive resource Z among the jobs queued in the queue of each agent device 3. Is extracted (step S1). If there are a plurality of jobs using the exclusive resource Z in the same queue, only the jobs queued in advance are targeted.

ジョブX1が1つも存在しない場合(ステップS1においてNo)、本フローチャートの処理は終了となる。   If there is no job X1 (No in step S1), the process 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 necessary time X2, and calculates the remaining necessary time X3 after correction (step S3). Specifically, the job execution control unit 10 calculates an 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 necessary time X3 by subtracting the excess time from the remaining necessary time X2.

ジョブ実行制御部10は、各キューの、補正後の残り必要時間X3同士を比較し、最も先に空きができるキューX4を決定する(ステップS4)。ジョブ実行制御部10は、キューX4をもつエージェント装置3のジョブ実行制御部20に対して、ジョブの位置を変更する旨の指示を送信する。   The job execution control unit 10 compares the remaining necessary time X3 after correction of each queue, and determines the queue X4 that can be emptied first (step S4). The job execution control unit 10 transmits an instruction to change the job position 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 job queued first in the queue X4 among the jobs using the exclusive resource Z to “next executable position” ( Step S5).

図6は、第2制御の一例を示すフローチャートである。   FIG. 6 is a flowchart illustrating 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 the first control being executed) (step S10). When the job using the 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 “ And the subsequent job is executed first (step S11).

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

説明の前提は以下のとおりである。
・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 (queue A, B, C).
It is assumed that job queuing as shown in FIG. 7 is performed at the start time. FIG. 7 shows that the job is queued in advance as it goes down, and that the job written below the double line is an execution state.
In FIG. 7, bold characters in the job column indicate jobs for which the exclusive resource Z is set (jobs A5, B2, and C5).
In FIG. 7, “Forecast” is a simplified version of the expected execution time.
In FIG. 7, “excess” is a simplified overtime.
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, queue B, and queue C shown in FIG. 7 are always hit.
Assume that job A7 (expected execution time: 20 seconds) is added to queue A after 60 seconds, and job C6 (expected execution time: 20 seconds) is additionally input to queue C after 100 seconds.
{Circle around (3)} Since the exclusive resource Z is empty at the start time (FIG. 7), priority control is executed. The remaining required times as a result of step S2 are A = 10, B = 80, and C = 20, respectively. Since the excess time is all 0, the remaining necessary time is not corrected. Therefore, the queue that can be executed earliest is queue A. Then, the job A5 in the queue A is moved immediately after the job A1 (FIG. 8).
(5) 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).
(3) 30 seconds after the start 20 seconds after the state shown in FIG. 9, the 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. Since there is no excess time, the queue that is executed earliest without correction is queue C. Therefore, the job C5 is moved immediately after the job C2 (FIG. 11).
(2) 50 seconds after the start After 20 seconds from the state shown in FIG. 11, the job C2 is completed, and the execution of the job C5 using the exclusive resource Z is started (FIG. 12).
(2) 60 seconds after the start 10 seconds after the state shown in FIG. 12, A7 (expected execution time: 20 seconds) is newly queued in the queue A (FIG. 13).
(3) 80 seconds after 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, contention occurs. Therefore, the job execution control unit 20 requests acquisition of lock of the exclusive resource Z (waiting for lock), and starts execution of the subsequent job B3 first (FIG. 14).
(9) 90 seconds after the start 10 seconds after the state shown in FIG. 14, the 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. Job B2 has an excess time. In consideration of this, the remaining necessary time after correction is queue A = 0 and queue B = 30−10 = 20, respectively, and queue A is smaller. Therefore, the position of job A7 is moved. In this case, since there is no job being executed, execution of job A7 is started as it is (FIG. 16).
(2) 100 seconds after the start 10 seconds after the state shown in FIG. 16, C6 (expected execution time: 20 seconds) is newly queued in the queue C (FIG. 17).
(2) 110 seconds after the start 10 seconds after the state shown in FIG. 17, the 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 B2 has an excess time. Taking this into account, the remaining necessary time after correction is queue B = 10−30 = −20 and queue C = 0, and queue B is smaller. Therefore, the position of job B2 is moved. In this case, since the job B2 is already at the “next execution position”, the movement process is not necessary. Further, since the queue C is not a target for priority control, the execution of C4 is started in order (FIG. 19).
(1) 120 seconds after the start 10 seconds after the state of FIG. 19, the job B3 is completed, and the execution of the job B2 using the exclusive resource Z is started (FIG. 20).
(3) 160 seconds after the start 40 seconds after the state shown in FIG. 20, the job C4 is completed. At this time, since the job C6 to be executed next is a job that uses the exclusive resource Z, contention occurs. Therefore, the job execution control unit 20 requests acquisition of the exclusive resource Z lock. Since there is no job that can be subsequently executed in the queue C, the queue C is a queue in which no job is executed while the job C6 stays at the “position to be executed next” (FIG. 21).
(2) 170 seconds after the start 10 seconds after the state shown in FIG. 21, the 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 shifts to the execution state (FIG. 22).
(2) After 190 seconds from the start After 20 seconds from the state shown in FIG. 22, the job C6 is completed and all jobs are completed.

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

次に、本実施形態の効果を示すため、本発明を適用していない関連技術の方式でジョブを実行した場合の動作と合計実行時間とについて説明する。本方式としては、最もデメリットが少ないとされる、第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, an operation and a total execution time when a job is executed by a related art method 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 has the least demerit, is adopted. The preconditions are the same as those described above. In addition, a “lock” column is described instead of the “excess” column, and the waiting order for acquiring the lock of the exclusive resource Z is described here. It is indicated that the job whose value is 1 is currently locking the exclusive resource Z.
(3) Start time The start time is shown in FIG. 7, and the processes are executed in this order from the queued state.
(2) 60 seconds after the start 60 seconds after the state shown in FIG. 7, a new job A7 (expected execution time: 20 seconds) is queued in the queue A (FIG. 23).
(2) 70 seconds after the start 10 seconds after the state shown in FIG. 23, the job A4 is completed. 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 is started as it is (FIG. 24). .
(3) 80 seconds after start Job B1 is completed 10 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, contention occurs. Therefore, the lock acquisition request for the exclusive resource Z is executed, and the subsequent job B3 is started first (FIG. 25).
(2) 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 requested the lock by the job B2, the job B2 acquires the lock of the exclusive resource Z (FIG. 26).
(1) 100 seconds after the start 10 seconds after the state shown in FIG. 26, C6 (expected execution time: 20 seconds) is newly queued in the queue C (FIG. 27).
(2) 110 seconds after the start 10 seconds after the state shown in FIG. 27, the job A6 is completed. Since the succeeding job A7 is a job that uses the exclusive resource Z, a lock request is made. However, since the job B2 has already acquired the lock, a waiting occurs. In queue A, there is no job that can be executed subsequently. Therefore, the queue A is a queue that does not execute any job (FIG. 28).
(1) 120 seconds after the start 10 seconds after the state shown in FIG. 28, the job B3 and the job C4 are completed. The succeeding job B2 is a job that uses the exclusive resource Z, but since the lock has already been acquired, the execution is started as it is. The subsequent job C5 is also a job that uses the exclusive resource Z and requests a lock, but a waiting occurs because another job is already locked. Since job C6 subsequent to job C5 is also a job that uses exclusive resource Z and cannot be executed in advance, queue C remains as it is, and nothing can be executed (FIG. 29).
(1) 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 to be executed (FIG. 30).
(2) 190 seconds after the start After 20 seconds from the state shown in FIG. 30, the 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 to be executed (FIG. 31).
(3) 230 seconds after the start 40 seconds after the state shown in FIG. 31, the 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 executing (FIG. 32).
(2) After 250 seconds from the start After 20 seconds from the state of FIG. 32, the job C6 is completed and the execution of all jobs is completed.
(Explanation of effect)
As described above, in the third method, execution of all jobs is completed in a total of 250 seconds.

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

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

1 ジョブ実行管理システム
2 マネージャ装置
3 エージェント装置
10 ジョブ実行制御部
11 ジョブ定義情報DB
13 排他資源管理DB
20 ジョブ実行制御部
100 ジョブ実行管理システム
102 マネージャ装置
104 エージェント装置
DESCRIPTION OF SYMBOLS 1 Job execution management system 2 Manager apparatus 3 Agent apparatus 10 Job execution control part 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 for managing jobs;
One or more agent devices that execute the job,
The manager device identifies, from among all the jobs queued in the queue of the agent device, the job that can start using the exclusive resource as soon as the exclusive resource lock is released. To give priority execution,
When the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, the agent device executes the job execution position next when the queue is free. The job execution management system is characterized in that the job following the job is executed first.
前記マネージャ装置は、
全ての前記エージェント装置のそれぞれの前記キューにキューイングされている前記ジョブの中で前記排他資源を利用する全ての前記ジョブを抽出し、
抽出した前記ジョブが所属する前記キューにおいて現在実行中の前記ジョブの残り必要時間を算出し、前記残り必要時間から、前記ロックを獲得できないまま待ち合わせさせられている時間である超過時間を差し引くことにより補正後の前記残り必要時間を算出し、
それぞれの前記キューの、補正後の前記残り必要時間同士を比較し、最も先に空きができる前記キューを決定し、
最も先に空きができる前記キューをもつ前記エージェント装置に対して、当該キューにおいて前記排他資源を利用する前記ジョブの中で最も先にキューイングされている前記ジョブの実行位置を、当該キューに空きができたら次に実行される位置に変更する旨を指示する
ことを特徴とする請求項1記載のジョブ実行管理システム。
The manager device is
Extracting all the jobs that use the exclusive resource among the jobs queued in the respective queues of all 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 waiting for the lock from being acquired, from the remaining required time Calculate the remaining required time after correction,
Compare the remaining necessary time after correction of each of the queues, determine the queue that can be emptied first,
The execution position of the job that is queued first among the jobs that use the exclusive resource in the queue for the agent device that has the queue that can be freed first is free in the queue. The job execution management system according to claim 1, further comprising: instructing to change to a position to be executed next.
前記残り必要時間は、前記エージェント装置で前記ジョブが開始されてから完了するまでの時間の予想値である予想実行時間から当該ジョブの実行が始まってからの経過時間を差し引いた時間であることを特徴とする請求項2記載のジョブ実行管理システム。   The remaining required time is a time obtained by subtracting an elapsed time from the start of execution of the job from an expected execution time that is an expected value of the time from the start of the job to the completion on the agent device. The job execution management system according to claim 2, wherein: 前記超過時間は、前記ジョブがキューイングされてからの経過時間から予想開始時間を差し引いた時間であることを特徴とする請求項2または3記載のジョブ実行管理システム。   4. The job execution management system according to claim 2, wherein the excess time is a time obtained by subtracting an expected start time from an elapsed time after the job is queued. ジョブを管理するマネージャ装置と、前記ジョブを実行する1以上のエージェント装置と、を備えるジョブ実行管理システムであって、
前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、
前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる
ことを特徴とするジョブ実行管理方法。
A job execution management system comprising: a manager device that manages a job; and one or more agent devices that execute the job,
The manager device identifies, from among all the jobs queued in the queue of the agent device, the job that can start using the exclusive resource as soon as the exclusive resource lock is released. To give priority execution,
When the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, the agent device executes the job execution position next when the queue is free. A job execution management method characterized in that the job is retained at a position where the job is executed and the subsequent job is executed first.
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 true JP2019179280A (en) 2019-10-17
JP7014010B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116483544A (en) * 2023-06-15 2023-07-25 阿里健康科技(杭州)有限公司 Task processing method, device, computer equipment and storage medium
JP7468026B2 (en) 2020-03-19 2024-04-16 日本電気株式会社 JOB MANAGEMENT SYSTEM, JOB EXECUTION MANAGEMENT METHOD, AND JOB EXECUTION MANAGEMENT PROGRAM

Citations (7)

* 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
JPH05204675A (en) * 1992-01-30 1993-08-13 Toshiba Corp Scheduling system
JPH0991158A (en) * 1995-09-26 1997-04-04 Hitachi Software Eng Co Ltd Job scheduling method
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

Patent Citations (7)

* 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
JPH05204675A (en) * 1992-01-30 1993-08-13 Toshiba Corp Scheduling system
JPH0991158A (en) * 1995-09-26 1997-04-04 Hitachi Software Eng Co Ltd Job scheduling method
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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7468026B2 (en) 2020-03-19 2024-04-16 日本電気株式会社 JOB MANAGEMENT SYSTEM, JOB EXECUTION MANAGEMENT METHOD, AND JOB EXECUTION MANAGEMENT PROGRAM
CN116483544A (en) * 2023-06-15 2023-07-25 阿里健康科技(杭州)有限公司 Task processing method, device, computer equipment and storage medium
CN116483544B (en) * 2023-06-15 2023-09-19 阿里健康科技(杭州)有限公司 Task processing method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
JP7014010B2 (en) 2022-02-01

Similar Documents

Publication Publication Date Title
US20230179538A1 (en) Systems and methods for provision of a guaranteed batch
JP3922070B2 (en) Distributed control method and apparatus
US9588809B2 (en) Resource-based scheduler
US8166480B2 (en) Reducing lock contention by adding a time slice to an active thread holding a lock
US8266622B2 (en) Dynamic critical path update facility
US11372678B2 (en) Distributed system resource allocation method, apparatus, and system
JP2019179280A (en) Job execution management system and job execution management method
US10514949B1 (en) Efficient data processing in a serverless environment
JP2013218744A (en) Resource-based scheduler
US20210141667A1 (en) Information processing apparatus, job scheduling method, and non-transitory computer-readable storage medium
JP2012073690A (en) Job scheduling program, method and device
US9229716B2 (en) Time-based task priority boost management using boost register values
JP5509814B2 (en) Job flow management apparatus, management method, and management program
JP2005149312A (en) Task management system
JP2008225641A (en) Computer system, interrupt control method and program
JP2001236236A (en) Task controller and its task scheduling method
CN106161572B (en) A kind of call method and server of service
JP5480322B2 (en) Performance control method, system and program thereof
KR102012182B1 (en) Task scheduling method for an improved responsiveness of processors without the violations of virtual deadlines
US9459916B2 (en) System and method for controlling execution of jobs performed by plural information processing devices
JP2001022601A (en) Job execution control method and parallel computer system
CN110968418A (en) Signal-slot-based large-scale constrained concurrent task scheduling method and device
JP2020021160A (en) Information processing apparatus, program, and information processing system
JP6226666B2 (en) Batch processing control program, batch processing system
JP6269045B2 (en) Information processing apparatus for managing buffer, buffer management method, and program therefor

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