JP2006039669A - Information processing device and method therefor - Google Patents

Information processing device and method therefor Download PDF

Info

Publication number
JP2006039669A
JP2006039669A JP2004214612A JP2004214612A JP2006039669A JP 2006039669 A JP2006039669 A JP 2006039669A JP 2004214612 A JP2004214612 A JP 2004214612A JP 2004214612 A JP2004214612 A JP 2004214612A JP 2006039669 A JP2006039669 A JP 2006039669A
Authority
JP
Japan
Prior art keywords
job
execution
jobs
executed
information processing
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.)
Withdrawn
Application number
JP2004214612A
Other languages
Japanese (ja)
Inventor
Yoshihiro Terajima
義博 寺島
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004214612A priority Critical patent/JP2006039669A/en
Publication of JP2006039669A publication Critical patent/JP2006039669A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To grant licenses for a limited number of applications nearly equally to all jobs which are requested to execute. <P>SOLUTION: A request for executing a job using an application is received, and whether license information for executing the job-execution request exists is determined. If not, the job is on standby. Then, after a prescribed time passes, a job under execution is stopped, and control is made so that the job on standby may be executed. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、アプリケーションを使用したジョブの実行を管理する情報処理装置及びその方法に関するものである。   The present invention relates to an information processing apparatus and method for managing job execution using an application.

従来、アプリケーションのライセンスを複数のユーザで共有し、複数のユーザがそのアプリケーションを使用する場合、使用するライセンスの競合が起こらないように制御する方法がとられている(特許文献1)。ここで想定するアプリケーションとは、アプリケーションを使用した一つのジョブが一つのライセンスを必要とし、そのジョブが実行されている間は他のジョブがこのライセンスを使用できないようなものをいう。   2. Description of the Related Art Conventionally, a method has been used in which a license for an application is shared by a plurality of users, and control is performed so as not to cause a conflict of licenses to be used when a plurality of users use the application (Patent Document 1). The application assumed here means that one job using the application requires one license, and no other job can use this license while the job is being executed.

複数のアプリケーションのライセンスを、複数のユーザ或はアプリケーションを利用する複数のジョブで共有する場合の従来例を図6に示す。図6において、ジョブ実行受付部430は、ジョブを実行するジョブ実行者からのジョブ実行要求を受け付けると、このジョブの実行要求はジョブ実行待ち行列部440に登録される。ジョブ実行監視部420は、ジョブ待ち行列部440、及び複数のアプリケーションのライセンスの内、使用中のジョブの数を管理するライセンス管理部470を監視し、ジョブ待ち行列部440に待機中のジョブがあり、かつライセンス管理部470に使用されていないライセンス(空きライセンス)があるかを調べ、空きライセンスがあればジョブ実行部450に対してジョブ起動命令を発行する。これによりジョブ実行部450は、ライセンス管理部470からアプリケーションのライセンスを取得し、その待機中のジョブを実行する。   FIG. 6 shows a conventional example in which a plurality of application licenses are shared by a plurality of users or a plurality of jobs using the application. In FIG. 6, when the job execution receiving unit 430 receives a job execution request from a job executor that executes a job, the job execution request is registered in the job execution queue unit 440. The job execution monitoring unit 420 monitors the job queue unit 440 and the license management unit 470 that manages the number of jobs in use among a plurality of application licenses. It is checked whether there is a license (empty license) that is present and unused in the license management unit 470. If there is a free license, a job activation command is issued to the job execution unit 450. As a result, the job execution unit 450 acquires the application license from the license management unit 470 and executes the waiting job.

また、ジョブ実行部450で実行されているジョブが終了した場合には、ライセンス管理部470に、そのアプリケーションのライセンスを返却する。またジョブ待ち行列部440に待機中のジョブがあり、かつライセンス管理部470に使用されていないライセンスが無かった場合は、その待機中のジョブはジョブ実行部450において現在実行中のジョブが終了し、ライセンスが空くまで待機させられる。このような方法によれば、ジョブの実行者はアプリケーションのライセンス本数や使用状況を気にすることなく、ジョブを実行することができる。ここで、ジョブ待ち行列440に、待っているジョブが常に有る状態であると、アプリケーションのライセンスをフルに使用している状態であり、アプリケーションに投資しただけの最大の効果が得られていることになる。   When the job being executed by the job execution unit 450 is completed, the license of the application is returned to the license management unit 470. If there is a waiting job in the job queue unit 440 and no license is used in the license management unit 470, the job execution unit 450 terminates the currently executing job in the waiting job. , It is made to wait until the license becomes available. According to such a method, the job executor can execute the job without worrying about the number of licenses and usage status of the application. Here, if there are always waiting jobs in the job queue 440, the application license is fully used, and the maximum effect is obtained by investing in the application. become.

例えば半導体開発における論理回路の検証では、論理シミュレーションを行うアプリケーションを用いて論理検証作業を行っている。限られたアプリケーションのライセンスを複数の人或は複数のジョブで共有する場合、前述したようなアプリケーションのライセンスを共有する方法を用いる。この論理検証作業において、作成されたテストや検証対象回路に不具合が含まれていた場合、その不具合が発見された時点でアプリケーションを停止させ、その不具合を修正した後、再度シミュレーションを実行するという処理が繰り返される。
特開2002−258962号
For example, in verification of a logic circuit in semiconductor development, logic verification is performed using an application that performs logic simulation. When a limited application license is shared by a plurality of people or a plurality of jobs, the method of sharing the application license as described above is used. In this logic verification process, if a defect is included in the created test or verification target circuit, the application is stopped when the defect is found, the defect is corrected, and then simulation is executed again Is repeated.
JP 2002-258962 A

しかし、不具合の有無は予め予測できないため、所持するライセンス数よりも多くのジョブの実行要求があった場合には、不具合を検出したジョブが他のジョブの実行要求によって長時間待たされてしまうという問題があった。前述の論理検証作業においては不具合をいかに早く修正して取り除くかが検証期間を短縮させる鍵となるが、従来は不具合を修正するまでの時間が長引いてしまい、結果として検証期間を長引かせてしまうという問題があった。   However, the presence or absence of defects cannot be predicted in advance, so if there are more job execution requests than the number of licenses you have, the job that detected the failure will wait for a long time due to another job execution request. There was a problem. The key to shortening the verification period is how quickly the defect is corrected and removed in the above-mentioned logic verification work, but in the past, it takes a long time to correct the defect, resulting in a prolonged verification period. There was a problem.

本発明は上記問題点に鑑みてなされたもので、本願発明の特徴は、実行中のジョブを停止し、実行が許可されないジョブを実行にすることにより、複数のジョブがほぼ平均的に実行されるようにした情報処理装置及びその方法を提供することにある。   The present invention has been made in view of the above problems, and the feature of the present invention is that a plurality of jobs are executed on an average basis by stopping a job being executed and executing a job that is not permitted to be executed. An information processing apparatus and a method thereof are provided.

本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
アプリケーションを使用したジョブの実行を管理する情報処理装置であって、
前記ジョブの実行を許可するライセンス情報を管理する管理手段と、
ライセンス情報により許可されたジョブを実行する実行手段と、
ライセンス情報により許可されないジョブを待機させる待機手段とを有し、
前記実行手段は、実行するジョブの切換え時に、実行中のジョブを停止し、待機中のジョブを実行することを特徴とする。
An information processing apparatus according to one embodiment of the present invention has the following configuration. That is,
An information processing apparatus for managing job execution using an application,
Management means for managing license information permitting execution of the job;
An execution means for executing a job permitted by the license information;
Standby means for waiting for jobs not permitted by the license information;
The execution means is characterized in that when a job to be executed is switched, the job being executed is stopped and the job on standby is executed.

本発明の一態様に係る情報処理方法は以下のような工程を備える。即ち、
アプリケーションを使用したジョブの実行を管理する情報処理方法であって、
前記ジョブの実行を許可するライセンス情報を管理する管理工程と、
ライセンス情報により許可されたジョブを実行する実行手段と、
ライセンス情報により許可されないジョブを待機させる待機工程とを有し、
前記実行工程は、実行するジョブの切換え時に、実行中のジョブを停止し、待機中のジョブを実行することを特徴とする。
An information processing method according to an aspect of the present invention includes the following steps. That is,
An information processing method for managing job execution using an application,
A management process for managing license information permitting execution of the job;
An execution means for executing a job permitted by the license information;
A standby process for waiting for jobs that are not permitted by the license information,
The execution step is characterized in that when the job to be executed is switched, the job being executed is stopped and the job on standby is executed.

本発明によれば、実行中のジョブを停止して、ライセンス情報により実行が許可されないジョブを実行することにより、複数のジョブがほぼ平均的に実行される。   According to the present invention, a plurality of jobs are executed almost on average by stopping jobs being executed and executing jobs that are not permitted to be executed according to the license information.

以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

図1は、本発明の実施の形態に係るジョブ管理システムの構成例を説明するブロック図である。   FIG. 1 is a block diagram illustrating a configuration example of a job management system according to an embodiment of the present invention.

ジョブ実行受付部130は、アプリケーションのユーザからのジョブ実行要求111を受け付けると、その受け付けたジョブをジョブ待ち行列部140に登録して待機する(112)。ライセンス管理部170は、所有するアプリケーションのライセンス総数の内、いくつのライセンスが使用中であるかを管理している。ジョブ実行管理部120は、ジョブ待ち行列部140及びライセンス管理部170を監視し、待機しているジョブがあり、かつ未使用ライセンスがあった場合にはジョブ実行部150に対して実行命令を発行する(113)。ジョブ実行部150は、この実行命令を受け、ライセンス管理部170からアプリケーションのライセンス114を取得してジョブを実行する。   Upon receiving the job execution request 111 from the application user, the job execution reception unit 130 registers the received job in the job queue unit 140 and waits (112). The license management unit 170 manages how many licenses are in use out of the total number of licenses of the owned application. The job execution management unit 120 monitors the job queue unit 140 and the license management unit 170, and issues an execution command to the job execution unit 150 when there is a waiting job and there is an unused license. (113). In response to this execution instruction, the job execution unit 150 acquires the application license 114 from the license management unit 170 and executes the job.

図2は、本実施の形態に係るジョブ実行部150、ジョブ待ち行列部140及びジョブ実行状態一時記憶部160における、それぞれのジョブの状態及び時間経過に従った各ジョブの状態の変化を説明する図である。   FIG. 2 explains changes in the status of each job according to the status of each job and the passage of time in job execution unit 150, job queue unit 140, and job execution status temporary storage unit 160 according to the present embodiment. FIG.

時間t500において、ジョブ実行部150で3つのジョブj1,j2,j3が実行中である。尚、ここではアプリケーションの総ライセンス数を「6」としている。次に時間t510で、新たなジョブj4の実行要求がなされると、その要求されたジョブj4を実行させるための未使用ライセンスがライセンス管理部170に保持されているため、ジョブ実行部150にて、そのジョブj4が直ちに実行されている。   At time t500, the job execution unit 150 is executing three jobs j1, j2, and j3. Here, the total number of licenses of the application is “6”. Next, when an execution request for a new job j4 is made at time t510, the license management unit 170 holds an unused license for executing the requested job j4. The job j4 is immediately executed.

次に時間t520では、所有する全て(「6」)のライセンスが使用されてジョブj1〜j6が実行されている状態で、更に4つのジョブj7,j8,j9,j10の実行要求が入力された状態を示している。この場合は、新たに実行要求が発行された4つのジョブj7,j8,j9,j10がジョブ実行待ち行列部140に登録されて待機中となっている様子が示されている。   Next, at time t520, execution requests for four jobs j7, j8, j9, and j10 are input while all of the licenses ("6") that are owned are used and jobs j1 to j6 are being executed. Indicates the state. In this case, four jobs j7, j8, j9, and j10 for which new execution requests have been issued are registered in the job execution queue unit 140 and are waiting.

次に時間t530では、実行中であったジョブj3の実行が終了したため、待機中であったジョブの中の最先のジョブj7が実行されている様子が示されている。   Next, at time t530, since the execution of job j3 being executed has been completed, the state where the earliest job j7 among the jobs that have been waiting is being executed is shown.

ジョブ実行待ち行列部140におけるジョブの待つ順序は、左端が最先のジョブ実行要求を示し、右側に行くにつれて後で発行されたジョブの実行要求を示している。そして、この実施の形態では、左側の最先のジョブから優先的に実行するものとした。   In the job execution queue unit 140, the left end indicates the earliest job execution request at the left end, and the execution request for the job issued later as it goes to the right side. In this embodiment, the first job on the left side is preferentially executed.

ジョブ実行管理部120は、ライセンス管理部170に未使用のライセンスがある場合には、そのライセンスを取得して(122)待機中のジョブは直ちに実行される。従って、未使用ライセンスがあるのに、待機中のジョブが存在することはない。   When there is an unused license in the license management unit 170, the job execution management unit 120 acquires the license (122), and the waiting job is immediately executed. Therefore, there is no waiting job even though there is an unused license.

本実施の形態のシステムでは、更に図1に示すように、設定した所定時間を計測するタイマ部110及び、このタイマ部110に所定時間115を設定する時間設定部100を具備している。ジョブ実行管理部120は、このタイマ部110より所定時間が経過した旨の情報116を受けると、ジョブ待ち行列部140で待機しているジョブがあるかどうかを確認する(119)。このとき待機しているジョブが無かった場合には何も行わない。   As shown in FIG. 1, the system according to the present embodiment further includes a timer unit 110 that measures a set predetermined time and a time setting unit 100 that sets a predetermined time 115 in the timer unit 110. When the job execution management unit 120 receives information 116 indicating that a predetermined time has elapsed from the timer unit 110, the job execution management unit 120 checks whether there is a job waiting in the job queue unit 140 (119). If there is no job waiting at this time, nothing is done.

待機しているジョブがあった場合、即ち、ライセンス管理部170に未使用のライセンスが無かった場合には、ジョブ待ち行列部140で待機しているジョブを実行するために、現在実行中のジョブのうち、その待機しているジョブの数に対応する数のジョブを停止させる。   If there is a job waiting, that is, if there is no unused license in the license management unit 170, a job currently being executed in order to execute the job waiting in the job queue unit 140 The number of jobs corresponding to the number of waiting jobs is stopped.

図2の例で説明すると、時間t530において、所有するアプリケーションのライセンス数の「6」に対し、6つのジョブが実行中で、かつ3つのジョブが待機状態である。時間t530において、ジョブj1,j2,j4〜j7は、ライセンスにより許可されたジョブであり、ジョブj8,j9,j10は、ライセンスにより許可されないジョブである。ここでタイマ部110より所定時間が経過した通知を受けた場合の様子を、時間t540に示す。時間t540は、実行するジョブの(第1の)切換え時である。   Referring to the example of FIG. 2, at time t530, six jobs are being executed and three jobs are in a standby state with respect to the number of licenses of the owned application “6”. At time t530, jobs j1, j2, j4 to j7 are jobs permitted by the license, and jobs j8, j9, and j10 are jobs not permitted by the license. Here, a state when a notification that a predetermined time has elapsed from the timer unit 110 is shown at time t540. Time t540 is when the job to be executed is switched (first).

ここではジョブ実行管理部120は、ジョブ実行部150に対して現在実行中のジョブのうち3つのジョブj1,j2,j4を停止するように命令を発行する(113)。ジョブ実行部150は、この停止命令を受けると、それぞれのジョブの現在の実行状態をジョブ実行状態一時記憶部160に退避させる(117)。その後、ジョブ実行管理部120は、待機している3つのジョブj8,j9,j10の実行命令を、ジョブ実行部150に対して発行する(113)。これによりジョブ実行部150は、ライセンス管理部170から3つのジョブ分のライセンスを取得し(122)、更にジョブ待ち行列部140で待機しているジョブを読み出して(123)、それらジョブ(j8,j9,j10)を実行する。   Here, the job execution management unit 120 issues an instruction to the job execution unit 150 to stop three jobs j1, j2, and j4 among the jobs currently being executed (113). Upon receiving this stop instruction, the job execution unit 150 saves the current execution state of each job in the job execution state temporary storage unit 160 (117). Thereafter, the job execution management unit 120 issues execution commands for the three jobs j8, j9, and j10 that are waiting to the job execution unit 150 (113). As a result, the job execution unit 150 acquires licenses for three jobs from the license management unit 170 (122), reads out the jobs waiting in the job queue unit 140 (123), and outputs the jobs (j8, j9, j10).

尚、ここでは、ジョブ待ち行列部140で待機中のジョブが3本の場合について説明したが、例えば総ライセンス数を超える8つのジョブが待機中であった場合は、所有するライセンスの数「6」を上限として、前述の停止命令を行う。残りの2本のジョブは、現在実行中のジョブが終了してライセンスに空きがあるか、もしくは次回、タイマ部110からの所定時間が経過した通知の際に実行されることになる。   Here, the case where there are three jobs waiting in the job queue unit 140 has been described. For example, when eight jobs exceeding the total number of licenses are waiting, the number of licenses owned “6” The above-mentioned stop command is performed with “” as the upper limit. The remaining two jobs are executed when the currently running job ends and the license is empty, or the next notification from the timer unit 110 that a predetermined time has elapsed.

また、ここで現在実行中の6つのジョブから3つを選ぶ場合に、この実施の形態では、例えば6つの内、実行開始時間の古い方から選択することとしたが、他の方法をとっても構わない。   Further, in this embodiment, when three are selected from the six jobs currently being executed, the selection is made from the oldest one of the six execution start times in this embodiment, but other methods may be used. Absent.

時間t550は、時間t540の状態からジョブ実行部150において1つのジョブj6が終了した場合を示している。ジョブ実行部150においてジョブが終了した場合、ジョブ実行部150はライセンス管理部170にライセンスを返却する(118)。ジョブ実行管理部120はこれを監視しており、未使用ライセンスを見つけた場合、ジョブ待ち行列部140におけるジョブの待機状態を確認し(119)。ここに待機中のジョブが存在すればこれを実行する。図2の例では、時間t550では待機中のジョブが無いため、ジョブ実行状態一時記憶部160に保存されている、処理が中断されたジョブがあるか否かを確認する(124)。ここには待機中のジョブがあるので、この中から最先のジョブj1を選択し、ジョブ実行管理部120がジョブ実行部150に対してジョブj1の実行命令を発行する(113)。ジョブ実行部150は、この実行命令を受けると、ジョブ実行状態一時記憶部160からジョブj1のジョブ実行状態を読み込んで(121)、中断されていたジョブj1の続きを実行する。   Time t550 indicates a case where one job j6 is completed in the job execution unit 150 from the state at time t540. When the job is completed in the job execution unit 150, the job execution unit 150 returns the license to the license management unit 170 (118). The job execution management unit 120 monitors this, and when an unused license is found, checks the job waiting state in the job queue unit 140 (119). If there is a waiting job, it is executed. In the example of FIG. 2, since there is no job waiting at time t550, it is checked whether there is a job that is stored in the job execution state temporary storage unit 160 and whose processing is interrupted (124). Since there is a waiting job here, the earliest job j1 is selected from these, and the job execution management unit 120 issues an execution instruction for the job j1 to the job execution unit 150 (113). Upon receiving this execution instruction, the job execution unit 150 reads the job execution state of the job j1 from the job execution state temporary storage unit 160 (121), and executes the continuation of the job j1 that has been interrupted.

次に時間t570では、全てのライセンスが使用中で、ジョブ実行状態一時記憶部160に退避されたジョブがあり、更に実行待ち行列140に待機中のジョブj11,j12がある場合を示している。時間t570において、ジョブj5,j7〜j10,j1は、ライセンスにより許可されたジョブであり、ジョブj2,j4,j11,j12は、ライセンスにより許可されないジョブである。この状態において、タイマ部110により所定時間の経過が確認された場合の様子が時間t580に示されている。時間t580は、実行するジョブの(第2の)切換え時である。この場合には、ジョブ待ち行列部140に2つのジョブが待機しており、これらジョブを実行させるためにはジョブ実行部150にて現在実行中の2つのジョブを停止させる。この時、停止させられるジョブ数の上限が「6」であり、停止させたいジョブの数がこれに満たないため、更にジョブ状態一時記憶部160に退避されたジョブも実行させることができる。ジョブ実行状態一時記憶部160に退避されているジョブの数は2つであるため、合計の停止させるジョブの数は「4」となる。これにより現在実行中のジョブからj5,j7,j8,j9を停止させ、その代わりに、ジョブ待ち行列部140に待機中のj11,j12、及びジョブ実行状態一時記憶部160に退避されているジョブj2,j4が実行されている。ジョブj2,j4は、時間t540(実行するジョブの第1の切換え時)に停止されたジョブである。この場合は、ジョブ実行状態一時記憶部160には、一時実行が中断された、ジョブj5,j7,j8,j9が登録されている。   Next, at time t570, all licenses are in use, there are jobs saved in the job execution status temporary storage unit 160, and there are jobs j11 and j12 that are waiting in the execution queue 140. At time t570, jobs j5, j7 to j10, j1 are jobs permitted by the license, and jobs j2, j4, j11, j12 are jobs not permitted by the license. In this state, a state when the elapse of a predetermined time is confirmed by the timer unit 110 is shown at a time t580. Time t580 is when the job to be executed is switched (second). In this case, two jobs are waiting in the job queue unit 140, and in order to execute these jobs, the job execution unit 150 stops the two jobs currently being executed. At this time, the upper limit of the number of jobs to be stopped is “6”, and the number of jobs to be stopped is less than this, so that jobs saved in the job status temporary storage unit 160 can also be executed. Since the number of jobs saved in the job execution state temporary storage unit 160 is two, the total number of jobs to be stopped is “4”. As a result, j5, j7, j8, and j9 are stopped from the jobs that are currently being executed. Instead, j11 and j12 that are waiting in the job queue unit 140, and jobs that are saved in the job execution state temporary storage unit 160 are stored. j2 and j4 are executed. Jobs j2 and j4 are jobs stopped at time t540 (during the first switching of the job to be executed). In this case, jobs j5, j7, j8, and j9 whose temporary execution is interrupted are registered in the job execution state temporary storage unit 160.

図3は、本実施の形態に係るジョブ管理システムを構成する装置のハードウェア構成を示すブロック図である。このシステムは、例えば一般的なパーソナルコンピュータ或はワークステーションなどで構成されていてもよい。   FIG. 3 is a block diagram showing a hardware configuration of apparatuses that constitute the job management system according to the present embodiment. This system may be composed of, for example, a general personal computer or a workstation.

図において、CPU300は、マイクロプロセッサなどのCPUで、メモリ301に記憶されているプログラムに従って各種制御動作を実行している。メモリ301は、RAM部及びROM部を有し、RAM部はCPU300による動作時にワークエリアとして使用されて各種データを一時的に記憶するとともに、制御プログラムの実行時には、HD304よりその制御プログラムがロードされて実行される。またROM部は、ブートプログラムやBIOSなどのプログラムを記憶している。表示部302は液晶やCRTなどを有し、各種データやメッセージなどを表示する。入力部303は、キーボードやマウス等を有し、ユーザにより操作されて各種データを入力するのに使用され、ジョブの実行要求の入力などにも使用される。HD(ハードディスク)304は大容量の記憶装置で、CPU300により実行される制御プログラムや各種データを記憶する。このHD304には、前述したジョブ待ち行列部140、ジョブ実行状態一時記憶部160やライセンス管理部170が管理記憶している情報が記憶される。NIC(ネットワーク・インターフェースコントローラ)は、通信回線を介してネットワークとの間でデータのやり取りを行う。タイマ306は、前述のタイマ部110としての機能を実行しており、CPU300の指示に従って時間の計時を行い、指定された時間が経過するとCPU300に割り込みなどで通知する。307は上述した各部を接続するシステムバスである。   In the figure, a CPU 300 is a CPU such as a microprocessor, and executes various control operations according to a program stored in the memory 301. The memory 301 includes a RAM unit and a ROM unit. The RAM unit is used as a work area when the CPU 300 operates, and temporarily stores various data. When the control program is executed, the control program is loaded from the HD 304. Executed. The ROM unit stores a program such as a boot program and BIOS. The display unit 302 includes a liquid crystal, a CRT, and the like, and displays various data and messages. The input unit 303 has a keyboard, a mouse, and the like, and is used to input various data by being operated by a user, and is also used to input a job execution request. An HD (hard disk) 304 is a large-capacity storage device that stores a control program executed by the CPU 300 and various data. The HD 304 stores information managed and stored by the above-described job queue unit 140, job execution state temporary storage unit 160, and license management unit 170. A NIC (network interface controller) exchanges data with a network via a communication line. The timer 306 performs the function as the timer unit 110 described above, measures time in accordance with an instruction from the CPU 300, and notifies the CPU 300 by an interrupt or the like when a specified time has elapsed. A system bus 307 connects the above-described units.

図4は、本実施の形態に係るジョブ管理システムにおける処理の流れを説明するフローチャートで、この処理を実行するプログラムはHD304に記憶されており、実行時にメモリ301にロードされる。CPU300はこのロードされたプログラムに従って、このフローチャートに記述された制御処理を実行する。   FIG. 4 is a flowchart for explaining the flow of processing in the job management system according to the present embodiment. A program for executing this processing is stored in the HD 304 and loaded into the memory 301 at the time of execution. The CPU 300 executes the control process described in this flowchart in accordance with the loaded program.

この処理が開始されるとまずステップS320で、ジョブ待ち行列部140に待機中のジョブがあるか、又はジョブ実行状態一時記憶部160に退避中のジョブがあるかどうかを確認する。該当するジョブがない場合はステップS320に戻る。ステップS320で該当ジョブがあった場合はステップS330に進み、ライセンス管理部170に空きライセンス(未使用ライセンス)があるかどうかを確認する。空きライセンスが存在した場合はステップS360に進み、空きライセンスの数分の、ジョブ待ち行列部140に待機中のジョブ或は退避中のジョブを実行する。   When this process is started, it is first checked in step S320 whether there is a job waiting in the job queue unit 140 or whether there is a job being saved in the job execution state temporary storage unit 160. If there is no corresponding job, the process returns to step S320. If there is a corresponding job in step S320, the process proceeds to step S330, and it is confirmed whether the license management unit 170 has a free license (unused license). If there is a free license, the process advances to step S360 to execute a job waiting in the job queue unit 140 or a job being saved for the number of free licenses.

一方、ステップS330で空きライセンスが存在しなかった場合はステップS340に進み、予め設定した所定の時間が経過したかをタイマ部110による計時に基づいて確認する。ステップS340で、所定時間が経過していない場合にはステップS320に戻るが、所定時間が経過した場合はステップS350に進み、実行したい数分の現在実行中のジョブを停止し、その実行状態をジョブ実行状態一時記憶部160に退避する。そしてステップS360に進んで所望のジョブを実行し、このジョブの実行後、ステップS320に戻る。   On the other hand, if there is no free license in step S330, the process proceeds to step S340, and it is confirmed based on the time measured by the timer unit 110 whether a predetermined time set in advance has elapsed. If it is determined in step S340 that the predetermined time has not elapsed, the process returns to step S320. If the predetermined time has elapsed, the process proceeds to step S350, the number of jobs that are currently being executed are stopped, and the execution state is changed. The job execution state is temporarily saved in the storage unit 160. Then, the process proceeds to step S360 to execute a desired job, and after executing this job, the process returns to step S320.

図5は、図4のステップS350,S260の処理の詳細を示すフローチャートで、ステップS340でタイマ部110により所定時間が経過したことを検知するとステップS410に進み、ジョブ待ち行列部140に登録されているジョブの数を取得し、次にステップS420で、ジョブ実行状態一時記憶部160に記憶されているジョブの数を取得する。次にステップS430で、ステップS410とS420で取得したジョブの数の合計Tが6以下(0<T≦6)であるかをみる。そうであればステップS450に進み、この合計数分のジョブの実行を停止させ、それら実行を停止させたジョブの情報をジョブ実行状態一時記憶部160に退避する。尚、ジョブの数の合計Tが「0」であれば、待機或は退避しているジョブがないことを表しているので、その場合は何もせずにステップS320に進む。そしてステップS460で、ジョブ待ち行列部140とジョブ実行状態一時記憶部160に記憶されていたジョブを実行させてステップS320に進む。尚、このとき、ジョブ待ち行列部140とジョブ実行状態一時記憶部160に記憶されているジョブの数が「0」であれば何もしない。   FIG. 5 is a flowchart showing details of the processing of steps S350 and S260 of FIG. 4. When the timer unit 110 detects that a predetermined time has elapsed in step S340, the process proceeds to step S410 and is registered in the job queue unit 140. In step S420, the number of jobs stored in the job execution state temporary storage unit 160 is acquired. In step S430, it is checked whether the total number T of jobs acquired in steps S410 and S420 is 6 or less (0 <T ≦ 6). If so, the process advances to step S450 to stop the execution of the total number of jobs and save the information of the jobs whose execution has been stopped in the job execution state temporary storage unit 160. If the total number T of jobs is “0”, this means that there is no job that is waiting or being saved, and in this case, nothing is done and the process proceeds to step S320. In step S460, the job stored in job queue unit 140 and job execution state temporary storage unit 160 is executed, and the process proceeds to step S320. At this time, if the number of jobs stored in the job queue unit 140 and the job execution state temporary storage unit 160 is “0”, nothing is done.

またステップS430で、ステップS410とS420で取得したジョブの数の合計が6以下でないときはステップS440に進み、これら記憶或は退避されているジョブの中から、実行させたい6つのジョブを選択してステップS450に進み、前述の処理を実行する。尚、このステップS440では、例えばジョブ待ち行列部140に登録されているジョブを優先的に選択し、その合計数が6に満たないときは、残りをジョブ実行状態一時記憶部160に記憶されていたジョブから選択するようにしてもよく、或は逆に、ジョブ実行状態一時記憶部160に記憶されていたジョブを優先させても良い。   If it is determined in step S430 that the total number of jobs acquired in steps S410 and S420 is not less than 6, the process proceeds to step S440, and six jobs to be executed are selected from these stored or saved jobs. Then, the process proceeds to step S450 to execute the above-described processing. In this step S440, for example, jobs registered in the job queue unit 140 are preferentially selected, and when the total number is less than 6, the rest are stored in the job execution state temporary storage unit 160. Alternatively, a job stored in the job execution state temporary storage unit 160 may be prioritized.

以上説明したように本実施の形態によれば、ジョブ実行待ち行列部140にある待機状態のジョブや、ジョブ実行状態一時記憶部160に退避されたジョブを、一定時間ごとに現在実行中のジョブと交代して実行させることができ、限られたアプリケーションのライセンスを実行したい全てのジョブでタイムシェアリングすることができる。即ち、複数のジョブを実行し、該複数のジョブの内で不具合を含むジョブを修正するという作業において、不具合を含むジョブの実行が不具合を含まないジョブの実行により待たされる時間が短縮されるので、不具合を修正するまでの時期が早まり、作業の効率化を測ることができる。   As described above, according to the present embodiment, a job in the standby state in the job execution queue unit 140 or a job saved in the job execution state temporary storage unit 160 is currently being executed at regular intervals. It can be executed alternately, and time sharing can be performed for all jobs that want to execute a limited application license. That is, in the operation of executing a plurality of jobs and correcting a job including a defect among the plurality of jobs, the time that the execution of the job including the defect waits for the execution of the job not including the defect is shortened. , It is possible to measure the efficiency of work by fixing the time until the defect is corrected.

また本実施の形態を半導体論理回路の検証方法に適用した場合、ジョブを実行するためのアプリケーションを、半導体論理回路をコンピュータ上で擬似動作させるシミュレーションソフトとし、ジョブはシミュレーションソフトを使用して検証動作を実行するバッチ処理とする。   When this embodiment is applied to a semiconductor logic circuit verification method, an application for executing a job is simulation software for simulating a semiconductor logic circuit on a computer, and the job is verified using simulation software. A batch process that executes

この状態で、所持するライセンス数よりも多くのジョブの実行要求があった場合には、不具合が発生した半導体の検証ジョブが、他のジョブによって長時間待たされてしまうという問題が生じる可能性があるが、本実施の形態によれば、他のジョブの実行要求によって一時的にその実行が中断されても、所定時間が経過すると再起動されるので、全体として論理検証作業の期間が短縮できる。その結果、半導体論理回路の開発期間を短縮でき、これを搭載した製品の市場投入の早期化を図ることができる。   In this state, if there are more job execution requests than the number of licenses possessed, there is a possibility that the semiconductor verification job in which the problem has occurred will be kept waiting for a long time by another job. However, according to the present embodiment, even if the execution is temporarily interrupted by another job execution request, it is restarted when a predetermined time elapses, so that the period of the logic verification work can be shortened as a whole. . As a result, the development period of the semiconductor logic circuit can be shortened, and a product equipped with the semiconductor logic circuit can be put on the market early.

[他の実施形態]
以上、本発明の実施の形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、または一つの機器からなる装置に適用しても良い。
[Other Embodiments]
The embodiment of the present invention has been described in detail above. However, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of one device.

なお本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが、その供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。   In the present invention, a software program that realizes the functions of the above-described embodiments is supplied directly or remotely to a system or apparatus, and the computer of the system or apparatus reads and executes the supplied program code. In some cases, it can be achieved by In that case, as long as it has the function of a program, the form does not need to be a program. Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. That is, the present invention includes a computer program itself for realizing the functional processing of the present invention. In this case, the program may be in any form as long as it has a program function, such as an object code, a program executed by an interpreter, or script data supplied to the OS.

プログラムを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。その他のプログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。   As a storage medium for supplying the program, for example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card ROM, DVD (DVD-ROM, DVD-R) and the like. As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a storage medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different home page. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the claims of the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件を満足するユーザに対してインターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who satisfy predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.

またコンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。   In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instruction of the program may be part of the actual processing or The functions of the above-described embodiment can also be realized by performing all the processing and performing the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。   Furthermore, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

以上説明したように本実施の形態によれば、限られたアプリケーションのライセンスを、実行要求のあった全てのジョブに対して平等に与えることができるため、結果として不具合を含むジョブの実行が不具合を含まないジョブの実行により待たされる時間が短縮され、ジョブに潜在する不具合を修正する時期を早めることができる。即ち、ジョブの不具合を取り除き、ジョブを正常化するという作業の効率化を図ることができる。   As described above, according to the present embodiment, a limited application license can be given equally to all jobs that have been requested to be executed. The time that is waited for by executing a job that does not include a job can be shortened, and the timing for correcting a defect that is latent in the job can be advanced. In other words, it is possible to improve the efficiency of the work of eliminating the problem of the job and normalizing the job.

本発明の実施の形態に係るジョブ管理システムの機能構成を説明するブロック図である。It is a block diagram explaining the functional structure of the job management system which concerns on embodiment of this invention. 本実施の形態に係るジョブ管理システムにおけるジョブの実行状態を説明する遷移図である。It is a transition diagram explaining the execution state of the job in the job management system concerning this embodiment. 本実施の形態に係るジョブ管理システムを構成する装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the apparatus which comprises the job management system which concerns on this Embodiment. 本実施の形態に係るジョブ管理システムにおける処理の流れを説明するフローチャートである。It is a flowchart explaining the flow of processing in the job management system according to the present embodiment. 図4のステップS350,S260の処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the process of step S350 of FIG. 4, and S260. 従来のジョブ管理システムの動作を説明する図である。It is a figure explaining operation | movement of the conventional job management system.

Claims (14)

アプリケーションを使用したジョブの実行を管理する情報処理装置であって、
前記ジョブの実行を許可するライセンス情報を管理する管理手段と、
ライセンス情報により許可されたジョブを実行する実行手段と、
ライセンス情報により許可されないジョブを待機させる待機手段とを有し、
前記実行手段は、実行するジョブの切換え時に、実行中のジョブを停止し、待機中のジョブを実行することを特徴とする情報処理装置。
An information processing apparatus for managing job execution using an application,
Management means for managing license information permitting execution of the job;
An execution means for executing a job permitted by the license information;
Standby means for waiting for jobs not permitted by the license information;
The information processing apparatus according to claim 1, wherein the execution unit stops a job being executed and executes a waiting job when switching a job to be executed.
実行するジョブの切換え時を計時する計時手段を更に有することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising a timing unit that counts when a job to be executed is switched. 前記待機手段は、停止したジョブに関する情報を記憶することを特徴とする請求項1又は2に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the standby unit stores information regarding a stopped job. 前記実行手段は、前記待機手段に待機されているジョブの数に対応する数のジョブの実行を停止することを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。   4. The information processing apparatus according to claim 1, wherein the execution unit stops execution of a number of jobs corresponding to the number of jobs waiting in the standby unit. 5. 前記実行手段は更に、第1の切換え時に停止したジョブを、第2の切換え時に実行することを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。   5. The information processing apparatus according to claim 1, wherein the execution unit further executes a job stopped at the time of the first switching at the time of the second switching. 6. 前記実行手段は、実行中のジョブの内、最先に実行が開始されたジョブからジョブの実行を停止することを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the execution unit stops execution of a job from a job that has been executed first among jobs being executed. アプリケーションを使用したジョブの実行を管理する情報処理方法であって、
前記ジョブの実行を許可するライセンス情報を管理する管理工程と、
ライセンス情報により許可されたジョブを実行する実行手段と、
ライセンス情報により許可されないジョブを待機させる待機工程とを有し、
前記実行工程は、実行するジョブの切換え時に、実行中のジョブを停止し、待機中のジョブを実行することを特徴とする情報処理方法。
An information processing method for managing job execution using an application,
A management process for managing license information permitting execution of the job;
An execution means for executing a job permitted by the license information;
A standby process for waiting for jobs that are not permitted by the license information,
An information processing method characterized in that the execution step stops a job being executed and executes a waiting job when the job to be executed is switched.
実行するジョブの切換え時を計時する計時工程を更に有することを特徴とする請求項7に記載の情報処理方法。   The information processing method according to claim 7, further comprising a timing step of timing the time of switching jobs to be executed. 前記待機工程は、停止したジョブに関する情報を記憶することを特徴とする請求項7又は8に記載の情報処理方法。   The information processing method according to claim 7 or 8, wherein the waiting step stores information on a stopped job. 前記実行工程は、前記待機工程で待機されているジョブの数に対応する数のジョブの実行を停止することを特徴とする請求項7から9のいずれか1項に記載の情報処理方法。   10. The information processing method according to claim 7, wherein the execution step stops execution of a number of jobs corresponding to the number of jobs waiting in the standby step. 前記実行工程は更に、第1の切換え時に停止したジョブを、第2の切換え時に実行することを特徴とする請求項7から10のいずれか1項に記載の情報処理方法。   The information processing method according to any one of claims 7 to 10, wherein the execution step further executes a job stopped at the time of the first switching at the time of the second switching. 前記実行工程では、実行中のジョブの内、最先に実行が開始されたジョブからジョブの実行を停止することを特徴とする請求項7から11のいずれか1項に記載の情報処理方法。   The information processing method according to any one of claims 7 to 11, wherein in the execution step, execution of the job is stopped from a job that has been executed first among jobs being executed. 請求項7乃至12のいずれか1項に記載の情報処理方法を実行することを特徴とするプログラム。   The program which performs the information processing method of any one of Claims 7 thru | or 12. 請求項7乃至12のいずれか1項に記載の情報処理方法を実行するプログラムを記憶していることを特徴とする記憶媒体。   A storage medium storing a program for executing the information processing method according to any one of claims 7 to 12.
JP2004214612A 2004-07-22 2004-07-22 Information processing device and method therefor Withdrawn JP2006039669A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004214612A JP2006039669A (en) 2004-07-22 2004-07-22 Information processing device and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004214612A JP2006039669A (en) 2004-07-22 2004-07-22 Information processing device and method therefor

Publications (1)

Publication Number Publication Date
JP2006039669A true JP2006039669A (en) 2006-02-09

Family

ID=35904641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004214612A Withdrawn JP2006039669A (en) 2004-07-22 2004-07-22 Information processing device and method therefor

Country Status (1)

Country Link
JP (1) JP2006039669A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009011293A1 (en) * 2007-07-18 2009-01-22 Canon Kabushiki Kaisha Device management apparatus, job flow processing method, and task cooperative processing system
US7969594B2 (en) 2006-03-30 2011-06-28 Canon Kabushiki Kaisha Information processing apparatus, information processing system, and proxy method for connection of information processing apparatuses

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7969594B2 (en) 2006-03-30 2011-06-28 Canon Kabushiki Kaisha Information processing apparatus, information processing system, and proxy method for connection of information processing apparatuses
WO2009011293A1 (en) * 2007-07-18 2009-01-22 Canon Kabushiki Kaisha Device management apparatus, job flow processing method, and task cooperative processing system

Similar Documents

Publication Publication Date Title
TW484097B (en) Method and system for transparent time-based selective software rejuvenation
WO2010001555A1 (en) Execution order decision device, execution order decision program, execution order decision circuit, and information processing device
US20090228889A1 (en) Storage medium storing job management program, information processing apparatus, and job management method
US7594070B2 (en) Management of access to storage area of storage system
JP2007052478A (en) Job management device, job management method, job management program
CN102804129A (en) Storage device erase command having a control field controllable by a requestor device
JP5861767B2 (en) Operation management apparatus, operation management method, operation management program, and recording medium
JP4992740B2 (en) Multiprocessor system, failure detection method, and failure detection program
JP4523910B2 (en) Parallel processing device, parallel processing method, and parallel processing program
JP2008090798A (en) Backup-control device of data-processing system, and system therefor
KR20100108578A (en) System resource influenced staged shutdown
JP6268991B2 (en) Information processing system, information processing apparatus, and program
JP2006301907A (en) Power supply control unit, power supply control method, and program
JP2010176303A (en) Batch processing system, information terminal apparatus for use in the same, and method for recovering batch processing
JP2006039669A (en) Information processing device and method therefor
JP5542643B2 (en) Simulation apparatus and simulation program
JP2010170325A (en) Information processor, log storage method, and program
JP2004094782A (en) Resource management system, program and recording medium
JP4554581B2 (en) Job management apparatus, system and program
JP4597032B2 (en) Computer system, basic program startup method, and loader program
JP2004252829A (en) Backup controller
JP2010033131A (en) Management device and program
JP2006048669A (en) Method and apparatus for job management
JP2007073069A (en) Computer, automatic resource application processing program, and computer-readable record medium with the same recorded therein
JP2010541055A (en) Method, system, and computer program for scheduling execution of jobs driven by events

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071002