JP2004246592A - Job execution management device - Google Patents

Job execution management device Download PDF

Info

Publication number
JP2004246592A
JP2004246592A JP2003035294A JP2003035294A JP2004246592A JP 2004246592 A JP2004246592 A JP 2004246592A JP 2003035294 A JP2003035294 A JP 2003035294A JP 2003035294 A JP2003035294 A JP 2003035294A JP 2004246592 A JP2004246592 A JP 2004246592A
Authority
JP
Japan
Prior art keywords
job
execution
management
queue
license
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.)
Pending
Application number
JP2003035294A
Other languages
Japanese (ja)
Inventor
Toshihiko Matsuo
俊彦 松尾
Yoshinori Nabeta
芳則 鍋田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003035294A priority Critical patent/JP2004246592A/en
Publication of JP2004246592A publication Critical patent/JP2004246592A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently allocate jobs such as the processes of executing a license software to an entire system. <P>SOLUTION: This job execution management device includes a CPU resource managing part 8 which manages the state of CPU resources over a network; a job management database 5 which retains the previous job execution information including average job execution time; a job analyzing part 4 which analyzes the contents of the jobs by referring to the job execution information retained in the job management database 5; and a queue managing part 7 which manages the jobs as a queue when there is no vacancy in the CPU resources capable of executing the jobs. Further, the device includes a job managing part 3 which allocates the best-suited CPU resource capable of executing a job in the shortest period of time according to the result of analysis on the job including the average job execution time corresponding to the job and the state of the CPU resources and which causes the job management database 5 to retain information on the execution of the job. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、ネットワーク上に配置され、クライアントから要求されたジョブを該ネットワーク上の適切なCPUリソースに割り当てて実行させる管理を行うジョブ実行管理装置に関し、特に限られた契約数のライセンスソフトウェアに対するジョブを効率的に実行させるジョブ実行管理装置に関するものである。
【0002】
【従来の技術】
従来から、ネットワーク上における限られた契約数のライセンスソフトウェアを使用することができるシステムがあり、このシステムでは、クライアントから、契約したライセンス数を超えた数のジョブ実行要求があった場合、このジョブを待ち行列に格納し、ライセンスに空きが生じた時点で、この空きのあるCPUリソースにこのジョブが割り当てられ、実行されていた。
【0003】
【特許文献1】
特開2002−157037号公報
【特許文献2】
特開2001−222424号公報
【特許文献3】
特開平9−62393号公報
【特許文献4】
特開平5−346851号公報
【0004】
【発明が解決しようとする課題】
しかしながら、従来のシステムでは、待ち行列がジョブの要求順序で管理され、ライセンスに空きが生じると、ジョブは、この待ち行列の順序で、この空きが生じたライセンスソフトウェアを実行するCPUに単に割り当てられ、実行されるため、ジョブの割り当てが適切でない場合があり、全体システムでも効率的でない場合が生じるという問題点があった。たとえば、優先度の低いジョブが高速処理能力のCPUに割り当てられ、短時間でこのジョブが実行完了するのに対して、優先度の高いジョブが低速処理能力のCPUに割り当てられ、長時間でこのジョブが実行完了し、この結果、優先度の高いジョブが、優先度の低いジョブよりも処理が遅くなってしまうという問題点があった。
【0005】
また、この効率的でないライセンスソフトウェアの割り当てを行うことによって、必要以上のライセンスソフトウェアを契約し、無駄なネットワークを構成している場合があるという問題点があった。
【0006】
この発明は上記に鑑みてなされたものであって、ライセンスソフトウェアの実行処理などのジョブをシステム全体で効率的に割り当てることができるとともにクライアントがジョブの実行状況を容易に把握することができるジョブ実行管理装置を得ることを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかるジョブ実行管理装置は、ネットワーク上に配置され、クライアントから要求されたジョブを該ネットワーク上の適切なCPUリソースに割り当てて実行させる管理を行うジョブ実行管理装置において、前記ネットワーク上のCPUリソースの状態を管理するリソース管理手段と、ジョブ平均実行時間を含む過去のジョブ実行情報を保持するジョブ管理データベースと、前記ジョブ管理データベースに保持されたジョブ実行情報を参照して前記ジョブの内容を解析するジョブ解析手段と、前記ジョブの実行が可能なCPUリソースに空きがない場合に該ジョブを待ち行列として管理する待ち行列管理手段と、前記ジョブに対応する前記ジョブ平均実行時間を含めた前記ジョブの解析結果および前記CPUリソースの状態をもとに該ジョブを最短時間に実行できる最適CPUリソースの割り当てを行い、該ジョブを実行させるとともに、該ジョブの実行情報を前記ジョブ管理データベースに保持させるジョブ管理制御手段と、を備えたことを特徴とする。
【0008】
この発明によれば、リソース管理手段が、ネットワーク上のCPUリソースの状態を管理しており、ジョブ管理データベースはジョブ平均実行時間を含む過去のジョブ実行情報を保持し、ジョブが入力されると、ジョブ解析手段が、前記ジョブ管理データベースに保持されたジョブ実行情報を参照して前記ジョブの内容を解析し、待ち行列管理手段が、前記ジョブの実行が可能なCPUリソースに空きがない場合に該ジョブを待ち行列として管理し、ジョブ管理制御手段が、前記ジョブに対応する前記ジョブ平均実行時間を含めた前記ジョブの解析結果および前記CPUリソースの状態をもとに該ジョブを最短時間に実行できる最適CPUリソースの割り当てを行い、該ジョブを実行させるとともに、該ジョブの実行情報を前記ジョブ管理データベースに保持させるようにしているので、最適なCPUリソース割り当てが行われ、ライセンスソフトウェアを含むジョブ全体の実行時間の最適化を行うことができ、効率的なジョブ実行がなされるとともに、システム全体でジョブ実行の最適化を行うことができるため、ライセンスソフトウェアなどの契約すべきライセンス数を最小化することができる。
【0009】
つぎの発明にかかるジョブ実行管理装置は、上記の発明において、前記ジョブは、所定契約数のライセンスソフトウェアを実行するジョブであり、所定契約数の前記ライセンスソフトウェアの実行状況を管理するライセンス管理手段をさらに備え、前記ジョブ管理制御手段は、前記ライセンスソフトウェアのジョブが要求された場合、前記ライセンス管理手段の管理結果をもとに、所定契約数のライセンスソフトウェアに空きがない場合に、該ジョブを前記待ち行列に入力することを特徴とする。
【0010】
つぎの発明にかかるジョブ実行管理装置は、上記の発明において、前記待ち行列管理手段は、前記ジョブの解析結果および前記CPUリソースの状態をもとに前記待ち行列の順序を更新することを特徴とする。
【0011】
つぎの発明にかかるジョブ実行管理装置は、上記の発明において、前記ジョブ平均実行時間を含めた前記ジョブの解析結果、前記CPUリソースの状態、および前記待ち行列の順序をもとに、該ジョブの実行開始時刻、ジョブ実行時間、またはジョブの実行終了時刻のうち少なくとも1つを予測するジョブ実行予測手段を備え、前記ジョブ管理制御手段は、ジョブ実行予測手段が予測した予測情報を、前記ジョブを要求したクライアントに通知することを特徴とする。
【0012】
つぎの発明にかかるジョブ実行管理装置は、上記の発明において、前記ジョブ管理制御手段は、前記CPUリソースの状態または前記待ち行列の順序に変更が生じた場合、前記ジョブ実行予測手段に対して前記ジョブの予測情報の再予測を行わせ、該再予測した予測情報を、前記クライアントに通知することを特徴とする。
【0013】
つぎの発明にかかるジョブ実行管理装置は、上記の発明において、前記ライセンス管理手段は、クライアントが属するグループに割り当てられたライセンスソフトウェア、全体システムに割り当てられた共有のライセンスソフトウェア、他のグループに割り当てられた共有のライセンスソフトウェアの順に、使用可能なライセンスソフトウェアを検索することを特徴とする。
【0014】
【発明の実施の形態】
以下に、図面を参照して、この発明にかかるジョブ実行管理装置の実施の形態について説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0015】
図1は、この発明の実施の形態であるジョブ実行管理装置の構成を示すブロック図である。また、図2は、図1に示したジョブ実行管理装置を備えたジョブ実行管理システムの全体構成を示すブロック図である。図1および図2において、ジョブ実行管理システムは、ジョブの実行管理を行うジョブ実行管理装置1、ジョブを実行するジョブ実行装置11〜13、およびジョブを発行するクライアント装置21,22を有し、それぞれネットワーク10に接続される。なお、この実施の形態では、所定契約数のライセンスソフトウェアを実行させるジョブについて説明する。
【0016】
ジョブ実行管理装置1は、ネットワーク10との間の通信処理を行う通信インターフェース2を有し、通信インターフェース2にはCPUリソース管理部8とジョブ管理部3とが接続される。CPUリソース管理部8は、常時、ジョブ実行装置11〜13のCPUリソースの状態をCPUリソース情報として把握し、CPUリソースの変化があった場合には、ジョブ管理部3に通知する。
【0017】
ジョブ管理部3は、クライアント装置21,22から入力されたジョブに最適なCPUリソースを割り当て、実行させる管理を行う。ジョブ管理部3には、ジョブ解析部4が接続され、入力されたジョブ内容を解析する。この際、ジョブ解析部4は、ジョブ管理データベース5に保持された過去のジョブの実行情報を参照して解析する。この過去のジョブの実行情報には、たとえばジョブ平均実行時間が含まれる。
【0018】
ジョブ管理部3には、ライセンス管理部6が接続され、ライセンス管理部6は、入力されたジョブに対応するライセンスソフトウェアのライセンス数が所定契約数を超過したか否かを判断し、所定契約数を超過したジョブは、待ち行列管理部7が管理する待ち行列として入力され、対応するライセンスソフトウェアの空きが生ずるまで待ち行列として管理される。
【0019】
ジョブ管理部3には、ジョブ実行予測部9が接続され、ジョブ実行予測部9は、入力されたジョブのジョブ平均実行時間を含むジョブ解析結果とCPUリソースの状態と待ち行列の順序とをもとに、各ジョブの実行開始時刻、ジョブの実行時間、ジョブの実行終了時刻などを予測し、この予測情報をジョブ管理部3に通知する。ジョブ管理部3は、この通知された予測情報を、対応するジョブを発行したクライアント装置21,22に通知する。
【0020】
ジョブ管理部3は、順次、ジョブの実行指令を、対応するジョブ実行装置11〜13に送出し、ジョブの実行終了を受けると、このジョブの実行情報をジョブ管理データベース5に保持させる。
【0021】
ここで、図3に示すフローチャートを参照して、ジョブ管理部3を中心としたジョブ実行管理制御処理について説明する。図3において、まず、ジョブ管理部3は、通信インターフェース2を介し、クライアント装置21,22からライセンスソフトウェアを実行させるジョブを受ける(ステップS101)と、ジョブ解析部4に対してこのジョブの解析を行わせる(ステップS102)。ジョブは、ライセンスソフトウェアなどのアプリケーションを起動するコマンドのみではなく、通常、ライセンスソフトウェア実行時におけるオプションや入力ファイルなどの指定情報が含まれるとともに、この実施の形態では、さらにライセンスソフトウェア実行の優先度やCPUリソースの優先予約の指定などを含ませることができる。なお、ジョブ解析処理(ステップS102)については後述する。
【0022】
その後、ジョブ解析結果をもとにライセンス管理部6が管理する待ち行列の中から最優先ジョブを取得する処理を行う(ステップS103)。この処理の詳細についても後述する。
【0023】
その後、ジョブ管理部3は、最優先ジョブに対応する最適CPUリソースの決定を行う(ステップS104)。すなわち、ジョブを実行する最適CPUリソースの割り当てを行う。この割り当て結果をもとに、ジョブ管理部3は、対応するCPUリソースに対してジョブ実行指令を送出する(ステップS105)。
【0024】
ジョブ管理部3は、ジョブの実行あるいはジョブの待ち行列への入力に対して、これらのジョブの実行予測処理をジョブ実行予測部9に対して行わせる(ステップS106)。ジョブ実行予測部9は、上述したように、ジョブ平均実行時間を含むジョブ解析結果とCPUリソースの状態と待ち行列の順序とをもとに、各ジョブの実行開始時刻、ジョブの実行時間、ジョブの実行終了時刻などを予測する演算を行い、この結果をジョブ管理部3に通知する。ジョブ管理部3は、予測情報の通知を受けると、このジョブを発行したクライアント装置21,22に対してジョブ実行予測時間の通知を行う。なお、ジョブ実行予測時間に加えて、ジョブ実行開始時刻やジョブ実行終了時刻を通知するようにしてもよい。
【0025】
その後、ジョブ管理部3は、ジョブの終了通知を受けると、この終了したジョブに対応するジョブ管理データベース5内の情報を更新し(ステップS108)、本処理を終了する。
【0026】
図4は、ステップS102におけるジョブ解析処理の詳細処理手順を示すフローチャートである。図4において、ジョブ解析部4は、ジョブ管理部3からジョブを受け付ける(ステップS201)と、このジョブの解析を行う(ステップS202)。すなわち、図5に示すように、ジョブが示すジョブIDを付与し、アプリケーション名、実行オプション、入力ファイルサイズ、必要メモリサイズ、実行者名、E−mailアドレス、優先度などを取得する。
【0027】
その後、このジョブ解析結果とジョブ管理データベース5内の対応ジョブとの比較照合を行い(ステップS203)、過去のジョブ平均実行時間を参照して、このジョブのジョブ平均実行時間を算出する(ステップS204)。この結果、図5に示すジョブ平均実行時間データが付加されたジョブ解析結果として、ジョブ管理部3に出力され(ステップS205)、ステップS102にリターンする。なお、起動場所名は、ステップS104によって決定される。
【0028】
つぎに、図6に示すフローチャートを参照して、ステップS103における最優先ジョブの取得処理の詳細処理手順について説明する。図6において、ライセンス管理部6は、入力されたジョブが指定するライセンスソフトウェアの契約数が超過していないか否か、すなわちライセンスに空きがあるか否かを判断する(ステップS301)。ライセンスに空きがある場合(ステップS310,Yes)には、ライセンス有りの待ち行列に出力し(ステップS302)、この待ち行列の順序を更新し、ステップS306に移行する。このライセンス有り待ち行列は、ジョブ管理部3内に設けられ、待ち行列管理部7内の待ち行列に優先して実行処理されるジョブの待ち行列である。
【0029】
一方、ライセンスに空きがない場合(ステップS310,No)、このジョブは、待ち行列管理部7が管理する待ち行列に出力され(ステップS304)、この待ち行列内のジョブ順序の更新を行って(ステップS305)、ステップS306に移行する。
【0030】
ステップS306では、ライセンス有りの待ち行列がある場合には、この待ち行列から最優先ジョブを取り出し、ライセンス有りの待ち行列がない場合、待ち行列管理部7が管理する待ち行列から最優先ジョブを取り出し、ステップS103にリターンする。
【0031】
なお、図7は、待ち行列管理部7が管理する待ち行列の一例を示す図である。ジョブIDは、ジョブの入力順に番号が割り当てられ、数値の小さいジョブIDほど、ジョブ実行管理装置1に早く入力されたジョブであることを示している。ここで、ジョブID「0004」と「0008」は、同じアプリケーション「BB」(ライセンスソフトウェア)を行うジョブであり、ジョブID「0004」の方がジョブID「0008」よりも早くジョブ実行管理装置1に入力されたものであるが、ジョブID「0008」の優先度「5」は、ジョブID「0004」の優先度「1」よりも高いため、待ち行列の順序が入れ替えられている。なお、図7は、ジョブID「0009」が待ち行列に入力された時点を示しているが、このジョブID「0009」が入力されると、矢印で示すように、同じアプリケーション「AA」のジョブであるジョブID「0005」と比較され、ジョブID「0009」のジョブの方が、優先度が高いため、ジョブID「0009」とジョブID「0005」とはその後、待ち行列の順序が入れ替えられることになる。なお、ここではアプリケーション毎に待ち行列の順序入れ替えを行うものとしている。また、ジョブ管理部3は、この待ち行列の順序の変更が生じた場合、ジョブ実行開始時刻などが変更されるため、この変更に伴う時間情報を、各ジョブの発行元に通知する。さらに、待ち行列の順序の変更は、CPUリソースの変更などによっても生じ、この場合にも、ジョブ管理部3は、ジョブの発行元に、時間情報の変更を通知する。
【0032】
図8は、具体的なジョブ実行管理システムの具体例を示す図である。図8に示すように、通常、ライセンスは、事業所A,B,Cと本社HなどのLANが相互に接続されたネットワークとして構成される。ジョブ実行管理装置1は、本社H内に設けられる。上述した実施の形態では、ライセンス管理部6によってネットワーク上のすべてのライセンスソフトウェアが一元管理されるものとして説明したが、ライセンス管理については、分散管理するようにしてもよい。ただし、分散管理された管理内容は、たとえば本社Hのライセンスサーバに通知するようにする。
【0033】
たとえば、ライセンスソフトウェアはAA,BB,CCは、それぞれのLAN上のライセンスサーバによって管理される。そして、ライセンスソフトウェアは、クライアントは、自LAN内のクライアント装置のみが専用に使用することができるライセンスソフトウェアと各LAN上のクライアント装置が共有して使用することができるライセンスソフトウェアとに分離して管理される。さらに、ジョブに対応するライセンスソフトウェアを実行する場合、自事業所内の専用のライセンスソフトウェア、自事業所内の共有のライセンスソフトウェア、本社の共有のライセンスソフトウェア、他の事業所の共有のライセンスソフトウェアの順序で、ライセンスの空きがあるか否かを検索するようにしておく。
【0034】
たとえば、事業所A内のクライアント装置A1がライセンスソフトウェアAAを実行するジョブを発行した場合、ライセンス管理部6に対応する処理は、分散的に行われ、まず事業所A内の専用のライセンスソフトウェアAAが検索され、これに空きがない場合、事業所A内の共有のライセンスソフトウェアAAが検索され、これに空きがない場合、さらに本社H内の共有のライセンスソフトウェアAAが検索され、これに空きがない場合、さらに他の事業所B,C内の共有のライセンスソフトウェアAAが検索される。そして、これにも空きがない場合には、待ち行列に入力される。ただし、待ち行列は本社H内のジョブ実行管理装置1によって一元管理される。
【0035】
この実施の形態では、ネットワーク上のライセンスが一元管理され、ジョブの解析結果をもとにした最適なCPUリソースが割り当てられるため、ライセンスソフトウェア全体の実行時間を最適化することができる。また、システム全体でライセンスソフトウェアの最適化を行うことができるため、契約すべきライセンス数を最小化することができる。さらに、クライアントは、要求したジョブの実行時間をほぼリアルタイムで把握することができ、クライアントにおける他の作業処理に影響を及ぼさない。
【0036】
なお、上述した実施の形態では、ジョブを、ライセンスソフトウェアに対するジョブとして説明したが、これに限らず、ライセンスソフトウェアに対するジョブ以外の通常のジョブを混在させたジョブに対して同時に処理することができる。
【0037】
【発明の効果】
以上に説明したように、この発明によれば、リソース管理手段が、ネットワーク上のCPUリソースの状態を管理しており、ジョブ管理データベースはジョブ平均実行時間を含む過去のジョブ実行情報を保持し、ジョブが入力されると、ジョブ解析手段が、前記ジョブ管理データベースに保持されたジョブ実行情報を参照して前記ジョブの内容を解析し、待ち行列管理手段が、前記ジョブの実行が可能なCPUリソースに空きがない場合に該ジョブを待ち行列として管理し、ジョブ管理制御手段が、前記ジョブに対応する前記ジョブ平均実行時間を含めた前記ジョブの解析結果および前記CPUリソースの状態をもとに該ジョブを最短時間に実行できる最適CPUリソースの割り当てを行い、該ジョブを実行させるとともに、該ジョブの実行情報を前記ジョブ管理データベースに保持させるようにしているので、最適なCPUリソース割り当てが行われ、ライセンスソフトウェアを含むジョブ全体の実行時間の最適化を行うことができ、効率的なジョブ実行がなされるとともに、システム全体でジョブ実行の最適化を行うことができるため、ライセンスソフトウェアなどの契約すべきライセンス数を最小化することができるという効果を奏する。
【図面の簡単な説明】
【図1】この発明の実施の形態であるジョブ実行管理装置の構成を示すブロック図である。
【図2】図1に示したジョブ実行管理装置を含むジョブ実行管理システムの構成を示すブロック図である。
【図3】ジョブ管理部によるジョブ管理処理手順を示すフローチャートである。
【図4】ステップS102におけるジョブ解析処理の詳細処理手順を示すフローチャートである。
【図5】ジョブ解析結果の内容を示す図である。
【図6】ステップS103における最優先ジョブの取得処理の詳細処理手順を示すフローチャートである。
【図7】待ち行列の一例を示す図である。
【図8】ジョブ実行管理システムの具体例を示すブロック図である。
【符号の説明】
1 ジョブ実行管理装置,2 通信インターフェース,3 ジョブ管理部,4ジョブ解析部,5 ジョブ管理データベース,6 ライセンス管理部,7 待ち行列管理部,8 CPUリソース管理部,9 ジョブ実行予測部,10 ネットワーク,11〜13 ジョブ実行装置,21,22 クライアント装置。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a job execution management apparatus that is arranged on a network and manages a job requested by a client by allocating the job to an appropriate CPU resource on the network and executing the job. The present invention relates to a job execution management device that efficiently executes the job execution.
[0002]
[Prior art]
Conventionally, there is a system that can use a limited number of licensed software on a network. In this system, if a client requests to execute a job exceeding the number of contracted licenses, Are stored in a queue, and when a license becomes available, this job is allocated to the available CPU resource and executed.
[0003]
[Patent Document 1]
JP 2002-157037 A [Patent Document 2]
JP 2001-222424 A [Patent Document 3]
JP-A-9-62393 [Patent Document 4]
JP-A-5-346851
[Problems to be solved by the invention]
However, in the conventional system, the queue is managed in the order of job requests, and when a license becomes available, the job is simply allocated in this queue order to the CPU that executes the licensed software that has become available. Since the job is executed, there is a problem that the job assignment may not be appropriate, and the entire system may not be efficient. For example, a low-priority job is allocated to a CPU with a high-speed processing capability, and execution of this job is completed in a short time, whereas a high-priority job is allocated to a CPU with a low-speed processing capability, and There is a problem in that the execution of the job is completed, and as a result, the processing of a high-priority job is slower than that of a low-priority job.
[0005]
In addition, there is a problem in that by allocating the inefficient license software, an unnecessary license software is contracted to form a useless network.
[0006]
The present invention has been made in view of the above, and it is possible to efficiently allocate a job such as a process of executing a license software in the entire system and execute a job execution in which a client can easily grasp a job execution status. The purpose is to obtain a management device.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, a job execution management apparatus according to the present invention is arranged on a network, and performs management by allocating a job requested by a client to an appropriate CPU resource on the network and executing the job. A resource management unit that manages a state of CPU resources on the network, a job management database that holds past job execution information including an average job execution time, and job execution information that is held in the job management database. Job analysis means for analyzing the contents of the job, queue management means for managing the job as a queue when there is no free CPU resource capable of executing the job, and the job corresponding to the job. Analysis result of the job including average execution time and C Job management control means for allocating an optimal CPU resource capable of executing the job in the shortest time based on the state of the U resource, executing the job, and holding execution information of the job in the job management database; It is characterized by having.
[0008]
According to the present invention, the resource management unit manages the state of CPU resources on the network, the job management database holds past job execution information including the average job execution time, and when a job is input, Job analyzing means analyzes the contents of the job with reference to the job execution information held in the job management database, and the queue managing means determines if there is no free CPU resource capable of executing the job. A job is managed as a queue, and the job management control unit can execute the job in the shortest time based on the analysis result of the job including the average job execution time corresponding to the job and the state of the CPU resource. An optimum CPU resource is allocated, the job is executed, and the execution information of the job is stored in the job management data. Database, the CPU resources are optimally allocated, the execution time of the entire job including the licensed software can be optimized, the job can be executed efficiently, and the entire system can be executed. Since the execution of the job can be optimized, the number of licenses to be contracted, such as licensed software, can be minimized.
[0009]
The job execution management device according to the next invention is the job execution management device according to the above invention, wherein the job is a job for executing a predetermined number of license software, and a license management unit that manages an execution state of the predetermined number of license software. Further, the job management control means, when a job of the license software is requested, based on a management result of the license management means, when there is no free space for a predetermined number of license software, the job management control means It is characterized by inputting to a queue.
[0010]
The job execution management device according to the next invention is characterized in that, in the above invention, the queue management unit updates the order of the queue based on the analysis result of the job and the state of the CPU resource. I do.
[0011]
The job execution management device according to the next invention is the job execution management device according to the above invention, based on the analysis result of the job including the average job execution time, the state of the CPU resource, and the order of the queue. A job execution predicting unit that predicts at least one of an execution start time, a job execution time, and a job execution end time, wherein the job management control unit outputs the prediction information predicted by the job execution prediction unit to the job; It is characterized by notifying the requesting client.
[0012]
The job execution management device according to the next invention is the above-mentioned invention, wherein the job management control unit is configured to send the job execution prediction unit to the job execution prediction unit when a change occurs in the state of the CPU resource or the queue order. Job prediction information is re-predicted, and the re-predicted prediction information is notified to the client.
[0013]
In the job execution management device according to the next invention, in the above invention, the license management means is a license software assigned to a group to which the client belongs, a shared license software assigned to the entire system, or assigned to another group. Searching for usable license software in the order of shared license software.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of a job execution management device according to the present invention will be described with reference to the drawings. It should be noted that the present invention is not limited by the embodiment.
[0015]
FIG. 1 is a block diagram showing a configuration of a job execution management device according to an embodiment of the present invention. FIG. 2 is a block diagram showing the overall configuration of a job execution management system including the job execution management device shown in FIG. 1 and 2, the job execution management system includes a job execution management device 1 that manages job execution, job execution devices 11 to 13 that execute jobs, and client devices 21 and 22 that issue jobs. Each is connected to the network 10. In this embodiment, a job for executing a predetermined number of licensed software will be described.
[0016]
The job execution management device 1 has a communication interface 2 for performing communication processing with a network 10, and a CPU resource management unit 8 and a job management unit 3 are connected to the communication interface 2. The CPU resource management unit 8 always grasps the status of the CPU resources of the job execution devices 11 to 13 as CPU resource information, and notifies the job management unit 3 when there is a change in the CPU resources.
[0017]
The job management unit 3 manages a job input from the client devices 21 and 22 by allocating an optimal CPU resource to the job and executing the job. A job analysis unit 4 is connected to the job management unit 3 and analyzes the input job contents. At this time, the job analysis unit 4 analyzes by referring to the past job execution information stored in the job management database 5. The past job execution information includes, for example, the average job execution time.
[0018]
A license management unit 6 is connected to the job management unit 3. The license management unit 6 determines whether the number of licenses of the license software corresponding to the input job has exceeded a predetermined number of contracts. Are input as a queue managed by the queue management unit 7, and are managed as a queue until a corresponding license software becomes available.
[0019]
A job execution prediction unit 9 is connected to the job management unit 3. The job execution prediction unit 9 also stores job analysis results including the average job execution time of the input job, the state of the CPU resource, and the order of the queue. At the same time, the execution start time of each job, the execution time of the job, the execution end time of the job, and the like are predicted, and the predicted information is notified to the job management unit 3. The job management unit 3 notifies the notified prediction information to the client devices 21 and 22 that issued the corresponding job.
[0020]
The job management unit 3 sequentially sends job execution instructions to the corresponding job execution devices 11 to 13 and, upon receiving the job execution end, causes the job management database 5 to hold the job execution information.
[0021]
Here, a job execution management control process centered on the job management unit 3 will be described with reference to a flowchart shown in FIG. In FIG. 3, first, the job management unit 3 receives a job for executing the license software from the client devices 21 and 22 via the communication interface 2 (step S101), and the job analysis unit 4 analyzes the job. (Step S102). A job includes not only a command for starting an application such as licensed software, but also usually includes designation information such as an option and an input file at the time of executing the licensed software. Specification of priority reservation of CPU resources, and the like can be included. The job analysis processing (step S102) will be described later.
[0022]
Thereafter, a process of acquiring the highest priority job from the queue managed by the license management unit 6 based on the job analysis result is performed (step S103). Details of this processing will also be described later.
[0023]
Thereafter, the job management unit 3 determines an optimal CPU resource corresponding to the highest priority job (Step S104). That is, an optimal CPU resource for executing a job is allocated. Based on the assignment result, the job management unit 3 sends a job execution command to the corresponding CPU resource (step S105).
[0024]
The job management unit 3 causes the job execution prediction unit 9 to execute the job execution prediction processing in response to the execution of the job or the input to the queue of the job (step S106). As described above, the job execution prediction unit 9 performs the execution start time of each job, the execution time of the job, the job execution time, based on the job analysis result including the average job execution time, the state of the CPU resource, and the queue order. To calculate the execution end time of the job, and notifies the job management unit 3 of the result. Upon receiving the notification of the prediction information, the job management unit 3 notifies the client devices 21 and 22 that issued the job of the predicted job execution time. The job execution start time and the job execution end time may be notified in addition to the predicted job execution time.
[0025]
Thereafter, when receiving the job end notification, the job management unit 3 updates the information in the job management database 5 corresponding to the ended job (step S108), and ends this processing.
[0026]
FIG. 4 is a flowchart illustrating a detailed processing procedure of the job analysis processing in step S102. 4, when the job analysis unit 4 receives a job from the job management unit 3 (step S201), the job analysis unit 4 analyzes the job (step S202). That is, as shown in FIG. 5, a job ID indicated by a job is assigned, and an application name, an execution option, an input file size, a required memory size, an executor name, an E-mail address, a priority, and the like are obtained.
[0027]
Thereafter, the job analysis result is compared with the corresponding job in the job management database 5 (step S203), and the average job execution time of this job is calculated with reference to the past average job execution time (step S204). ). As a result, a job analysis result to which the job average execution time data shown in FIG. 5 is added is output to the job management unit 3 (step S205), and the process returns to step S102. Note that the activation place name is determined in step S104.
[0028]
Next, with reference to the flowchart shown in FIG. 6, the detailed processing procedure of the processing of acquiring the highest priority job in step S103 will be described. In FIG. 6, the license management unit 6 determines whether the number of contracts of the license software designated by the input job has not exceeded, that is, whether there is a free license (step S301). If there is a vacant license (step S310, Yes), the license is output to the queue with a license (step S302), the order of the queue is updated, and the process proceeds to step S306. This queue with a license is a queue of jobs that are provided in the job management unit 3 and that are executed prior to the queue in the queue management unit 7.
[0029]
On the other hand, if there is no available license (step S310, No), the job is output to the queue managed by the queue management unit 7 (step S304), and the job order in the queue is updated (step S304). Step S305), and then proceed to step S306.
[0030]
In step S306, if there is a queue with a license, the highest priority job is taken out of this queue. If there is no queue with a license, the top priority job is taken out of the queue managed by the queue management unit 7. , And returns to step S103.
[0031]
FIG. 7 is a diagram illustrating an example of a queue managed by the queue management unit 7. The job ID is assigned a number in the order of input of the job, and indicates that the smaller the numerical value of the job ID, the earlier the job is input to the job execution management device 1. Here, the job IDs “0004” and “0008” are jobs that execute the same application “BB” (license software), and the job ID “0004” is earlier than the job ID “0008”. Since the priority “5” of the job ID “0008” is higher than the priority “1” of the job ID “0004”, the order of the queue is changed. FIG. 7 shows the time when the job ID “0009” is input to the queue. When the job ID “0009” is input, the job ID of the same application “AA” is input as indicated by the arrow. Since the job ID “0009” is compared with the job ID “0005” and the job ID “0009” has a higher priority, the order of the queues of the job ID “0009” and the job ID “0005” is changed thereafter. Will be. Here, the order of the queue is changed for each application. In addition, when the order of the queue changes, the job execution start time and the like are changed. Therefore, the job management unit 3 notifies the issue source of each job of time information accompanying the change. Further, the change of the queue order is also caused by the change of the CPU resource and the like, and also in this case, the job management unit 3 notifies the job issuer of the change of the time information.
[0032]
FIG. 8 is a diagram illustrating a specific example of a specific job execution management system. As shown in FIG. 8, the license is usually configured as a network in which LANs such as offices A, B, and C and a head office H are interconnected. The job execution management device 1 is provided in the head office H. In the above-described embodiment, the license management unit 6 has described that all the license software on the network is centrally managed. However, the license management may be managed in a distributed manner. However, the management contents distributed and managed are notified, for example, to the license server of the head office H.
[0033]
For example, the license software AA, BB, CC is managed by a license server on each LAN. The client manages the license software separately into license software that can be exclusively used by client devices in the local LAN and license software that can be shared and used by client devices on each LAN. Is done. In addition, when executing the license software corresponding to the job, in order of the dedicated license software in the own business office, the shared license software in the own business office, the shared license software in the head office, and the shared license software in the other business office In this case, a search is made to determine whether there is a license available.
[0034]
For example, when the client device A1 in the business establishment A issues a job for executing the license software AA, the processing corresponding to the license management unit 6 is performed in a distributed manner. Is searched, and if there is no free space, the shared license software AA in the office A is searched. If there is no free space, the shared license software AA in the head office H is further searched. If not, the shared license software AA in the other establishments B and C is searched. If there is no free space, it is input to the queue. However, the queue is centrally managed by the job execution management device 1 in the head office H.
[0035]
In this embodiment, licenses on the network are centrally managed, and optimal CPU resources are assigned based on the results of job analysis, so that the execution time of the entire licensed software can be optimized. Further, since the license software can be optimized in the entire system, the number of licenses to be contracted can be minimized. Further, the client can grasp the execution time of the requested job almost in real time, and does not affect other work processes in the client.
[0036]
In the above-described embodiment, the job has been described as a job for licensed software. However, the present invention is not limited to this, and a job in which a normal job other than a job for licensed software is mixed can be processed simultaneously.
[0037]
【The invention's effect】
As described above, according to the present invention, the resource management unit manages the state of the CPU resource on the network, and the job management database holds the past job execution information including the average job execution time, When a job is input, job analysis means analyzes the contents of the job with reference to job execution information held in the job management database, and a queue management means determines a CPU resource capable of executing the job. If there is no free space in the job, the job is managed as a queue, and the job management control means controls the job based on the analysis result of the job including the average job execution time corresponding to the job and the state of the CPU resource. Allocate an optimal CPU resource that can execute a job in the shortest time, execute the job, and execute the job. Information is held in the job management database, so that optimal CPU resources are allocated, the execution time of the entire job including the licensed software can be optimized, and efficient job execution can be performed. In addition, job execution can be optimized in the entire system, so that the number of licenses to be contracted, such as licensed software, can be minimized.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a job execution management device according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a job execution management system including the job execution management device shown in FIG.
FIG. 3 is a flowchart illustrating a job management process performed by a job management unit.
FIG. 4 is a flowchart illustrating a detailed processing procedure of a job analysis process in step S102.
FIG. 5 is a diagram showing the contents of a job analysis result.
FIG. 6 is a flowchart illustrating a detailed processing procedure of a top priority job acquisition process in step S103.
FIG. 7 is a diagram illustrating an example of a queue.
FIG. 8 is a block diagram illustrating a specific example of a job execution management system.
[Explanation of symbols]
Reference Signs List 1 job execution management device, 2 communication interface, 3 job management unit, 4 job analysis unit, 5 job management database, 6 license management unit, 7 queue management unit, 8 CPU resource management unit, 9 job execution prediction unit, 10 network , 11 to 13 job execution devices, 21 and 22 client devices.

Claims (6)

ネットワーク上に配置され、クライアントから要求されたジョブを該ネットワーク上の適切なCPUリソースに割り当てて実行させる管理を行うジョブ実行管理装置において、
前記ネットワーク上のCPUリソースの状態を管理するリソース管理手段と、
ジョブ平均実行時間を含む過去のジョブ実行情報を保持するジョブ管理データベースと、
前記ジョブ管理データベースに保持されたジョブ実行情報を参照して前記ジョブの内容を解析するジョブ解析手段と、
前記ジョブの実行が可能なCPUリソースに空きがない場合に該ジョブを待ち行列として管理する待ち行列管理手段と、
前記ジョブに対応する前記ジョブ平均実行時間を含めた前記ジョブの解析結果および前記CPUリソースの状態をもとに該ジョブを最短時間に実行できる最適CPUリソースの割り当てを行い、該ジョブを実行させるとともに、該ジョブの実行情報を前記ジョブ管理データベースに保持させるジョブ管理制御手段と、
を備えたことを特徴とするジョブ実行管理装置。
A job execution management device that is arranged on a network and manages a job requested by a client by allocating the job to an appropriate CPU resource on the network and executing the job.
Resource management means for managing the state of CPU resources on the network;
A job management database that holds past job execution information including an average job execution time;
Job analysis means for analyzing the contents of the job with reference to job execution information held in the job management database,
Queue management means for managing the job as a queue when there is no available CPU resource capable of executing the job;
Based on the analysis result of the job including the job average execution time corresponding to the job and the state of the CPU resource, an optimal CPU resource capable of executing the job in the shortest time is allocated, and the job is executed. A job management control unit for storing execution information of the job in the job management database;
A job execution management device comprising:
前記ジョブは、所定契約数のライセンスソフトウェアを実行するジョブであり、
所定契約数の前記ライセンスソフトウェアの実行状況を管理するライセンス管理手段をさらに備え、
前記ジョブ管理制御手段は、
前記ライセンスソフトウェアのジョブが要求された場合、前記ライセンス管理手段の管理結果をもとに、所定契約数のライセンスソフトウェアに空きがない場合に、該ジョブを前記待ち行列に入力することを特徴とする請求項1に記載のジョブ実行管理装置。
The job is a job for executing a predetermined number of licensed software,
A license management unit that manages the execution status of the license software of a predetermined contract number,
The job management control means includes:
When a job of the license software is requested, based on the management result of the license management means, if there is no free space for a predetermined number of license software, the job is input to the queue. The job execution management device according to claim 1.
前記待ち行列管理手段は、前記ジョブの解析結果および前記CPUリソースの状態をもとに前記待ち行列の順序を更新することを特徴とする請求項1または2に記載のジョブ実行管理装置。3. The job execution management device according to claim 1, wherein the queue management unit updates the order of the queue based on an analysis result of the job and a state of the CPU resource. 前記ジョブ平均実行時間を含めた前記ジョブの解析結果、前記CPUリソースの状態、および前記待ち行列の順序をもとに、該ジョブの実行開始時刻、ジョブ実行時間、またはジョブの実行終了時刻のうち少なくとも1つを予測するジョブ実行予測手段を備え、
前記ジョブ管理制御手段は、ジョブ実行予測手段が予測した予測情報を、前記ジョブを要求したクライアントに通知することを特徴とする請求項1〜3のいずれか一つに記載のジョブ実行管理装置。
Based on the analysis result of the job including the average job execution time, the state of the CPU resource, and the order of the queue, the execution start time, the job execution time, or the job execution end time of the job A job execution prediction unit for predicting at least one of the job execution prediction units;
4. The job execution management device according to claim 1, wherein the job management control unit notifies the client requesting the job of prediction information predicted by the job execution prediction unit.
前記ジョブ管理制御手段は、前記CPUリソースの状態または前記待ち行列の順序に変更が生じた場合、前記ジョブ実行予測手段に対して前記ジョブの予測情報の再予測を行わせ、該再予測した予測情報を、前記クライアントに通知することを特徴とする請求項4に記載のジョブ実行管理装置。The job management control unit, when a change occurs in the state of the CPU resource or the queue order, causes the job execution prediction unit to re-predict the prediction information of the job. The job execution management device according to claim 4, wherein information is notified to the client. 前記ライセンス管理手段は、クライアントが属するグループに割り当てられたライセンスソフトウェア、全体システムに割り当てられた共有のライセンスソフトウェア、他のグループに割り当てられた共有のライセンスソフトウェアの順に、使用可能なライセンスソフトウェアを検索することを特徴とする請求項2〜5のいずれか一つに記載のジョブ実行管理装置。The license management unit searches for available license software in the order of license software assigned to the group to which the client belongs, shared license software assigned to the entire system, and shared license software assigned to another group. The job execution management device according to any one of claims 2 to 5, wherein
JP2003035294A 2003-02-13 2003-02-13 Job execution management device Pending JP2004246592A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003035294A JP2004246592A (en) 2003-02-13 2003-02-13 Job execution management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003035294A JP2004246592A (en) 2003-02-13 2003-02-13 Job execution management device

Publications (1)

Publication Number Publication Date
JP2004246592A true JP2004246592A (en) 2004-09-02

Family

ID=33020758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003035294A Pending JP2004246592A (en) 2003-02-13 2003-02-13 Job execution management device

Country Status (1)

Country Link
JP (1) JP2004246592A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285497A (en) * 2005-03-31 2006-10-19 Nec Corp License management system and method associated with job queue
JP2006330842A (en) * 2005-05-23 2006-12-07 Nec Corp License management system and method and queue system device and its program
JP2008139907A (en) * 2006-11-29 2008-06-19 Fujitsu Ltd Job allocation program and job allocation method
JP2009187415A (en) * 2008-02-08 2009-08-20 Nec Corp Grid computing system and data processing method
JP2010198312A (en) * 2009-02-25 2010-09-09 Nec Corp Job management device, job management method and job management 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
JP2012064249A (en) * 2012-01-04 2012-03-29 Fujitsu Ltd Program, method and device for job assignment
US8510742B2 (en) 2006-12-19 2013-08-13 Fujitsu Limited Job allocation program for allocating jobs to each computer without intensively managing load state of each computer

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285497A (en) * 2005-03-31 2006-10-19 Nec Corp License management system and method associated with job queue
JP2006330842A (en) * 2005-05-23 2006-12-07 Nec Corp License management system and method and queue system device and its program
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
JP2008139907A (en) * 2006-11-29 2008-06-19 Fujitsu Ltd Job allocation program and job allocation method
JP4723465B2 (en) * 2006-11-29 2011-07-13 富士通株式会社 Job allocation program and job allocation method
US8510742B2 (en) 2006-12-19 2013-08-13 Fujitsu Limited Job allocation program for allocating jobs to each computer without intensively managing load state of each computer
JP2009187415A (en) * 2008-02-08 2009-08-20 Nec Corp Grid computing system and data processing method
JP2010198312A (en) * 2009-02-25 2010-09-09 Nec Corp Job management device, job management method and job management system
JP2012064249A (en) * 2012-01-04 2012-03-29 Fujitsu Ltd Program, method and device for job assignment

Similar Documents

Publication Publication Date Title
JP3678414B2 (en) Multiprocessor system
US7316017B1 (en) System and method for allocatiing communications to processors and rescheduling processes in a multiprocessor system
JP3942617B2 (en) Computer resource management method for distributed processing system
KR101555529B1 (en) Scheduler instances in a process
US20090165003A1 (en) System and method for allocating communications to processors and rescheduling processes in a multiprocessor system
JP2004326755A (en) Management of dispatching function in virtual computer environment
JPH11353196A (en) Governor for time-scheduled process management
JP2004038758A (en) Storage controller, control method for storage controller, and program
WO2016145904A1 (en) Resource management method, device and system
JP2008226023A (en) Job allocating device and job allocating method
JP2003196152A (en) Memory pool management method
JP2004246592A (en) Job execution management device
US20170344266A1 (en) Methods for dynamic resource reservation based on classified i/o requests and devices thereof
JP2009205341A (en) Work flow support system, work flow support method, and work flow support program
JP4063651B2 (en) Job scheduling method and apparatus
JP2000172515A (en) System and method for resource priority allocation and recording medium where resource priority allocating program is recorded
JP2000259430A (en) Processing method for computer system
JP4232109B2 (en) Real-time processing system, processing apparatus, real-time processing method, and program
JP2000259591A (en) Distributed processing job execution method and network system
JP5287342B2 (en) Job management apparatus, job management method, and job management system
JP2692647B2 (en) Multitask control method and control system
JP6232127B2 (en) Shared resource update device and shared resource update method
EP1630671A1 (en) Framework for pluggable schedulers
JP2013073570A (en) Image processing system, printing system, control device, image processing method and program
JP5671983B2 (en) Information processing apparatus, device management system, information processing method, and information processing program