JP2004246592A - Job execution management device - Google Patents
Job execution management device Download PDFInfo
- 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
Links
Images
Abstract
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
[0016]
The job
[0017]
The
[0018]
A
[0019]
A job execution prediction unit 9 is connected to the
[0020]
The
[0021]
Here, a job execution management control process centered on the
[0022]
Thereafter, a process of acquiring the highest priority job from the queue managed by the
[0023]
Thereafter, the
[0024]
The
[0025]
Thereafter, when receiving the job end notification, the
[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
[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
[0031]
FIG. 7 is a diagram illustrating an example of a queue managed by the
[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
[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
[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]
Claims (6)
前記ネットワーク上の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.
前記ジョブ管理制御手段は、ジョブ実行予測手段が予測した予測情報を、前記ジョブを要求したクライアントに通知することを特徴とする請求項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.
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)
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 |
-
2003
- 2003-02-13 JP JP2003035294A patent/JP2004246592A/en active Pending
Cited By (9)
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 |