(57)【要約】【課題】  並列計算機で、並列して実行可能なジョブ数は、使用できるライセンス種類またはライセンス数で制限されており、ライセンスが不足すると投入済みの実行ジョブが終了するまで、新たにジョブを実行することができない。【解決手段】  上記課題を解決するために、ジョブ投入の際にライセンスが不足している場合、優先度の低いジョブのリソースを解放し、解放したリソースを優先度の高いジョブに割当てて優先度の高いジョブを実行させ、リソースの使用効率を向上させる。【選択図】図１
2015530656.tif 000002
【特許請求の範囲】
【請求項１】
実行計算機とユーザ端末に接続するジョブ管理システムであって、
ジョブ管理システムは、
前記実行計算機で実行するジョブの制御を行う制御部と、
前記ジョブの実行情報を格納する記憶部とを備え、
前記制御部は、前記ジョブ毎にジョブを実行させるための実行資源情報及び実行の緊急度情報を設定し、前記設定した実行資源情報及び緊急度情報を前記記憶部に格納し、
前記実行計算機で実行させるジョブでジョブを実行させるのに不足している実行資源を、前記ジョブより前記緊急度が低い実行中の１つ以上のジョブの１つ以上の実行資源を解放し、
前記解放した実行資源を前記実行させるジョブへ割当てて前記実行計算機で実行させる
ことを特徴とするジョブ管理システム。
【請求項２】
請求項１記載のジョブ管理システムで、前記実行資源は前記実行計算機上で実行される論理シミュレータ用ソフトウェアライセンスであることを特徴とするジョブ管理システム。
【請求項３】
請求項１記載のジョブ管理システムで、前記実行資源情報は、
実行資源の解放を要求するジョブが格納される解放要求キュー情報と
前記解放要求キューに対し解放対象キュー種別と、解放対象キュー種別毎に解放優先順位情報で構成された解放対象キュー情報と、
前記解放対象キューを解放する手段の優先度を判定する解放判定優先度とを有し
前記制御部は、前記解放要求キュー情報と解放対象キュー情報により実行資源を解放するキューに格納されるジョブ候補を抽出し、
前記抽出されたジョブ候補を前記解放判定優先度に従い、実行資源を解放するジョブを決定することを特徴とするジョブ管理システム。
【請求項４】
請求項３記載のジョブ管理システムで、前記解放判定優先度は（１）ジョブの中断及び再開、（２）ジョブの停止及び再実行、（３）ジョブ実行時間のいずれか１つ以上で構成されることを特徴とするジョブ管理システム。
【請求項５】
請求項４記載のジョブ管理システムで、前記制御部は、
解放要求キューに格納された実行待ちジョブで緊急度が一番高いジョブを選択し、
前記選択しジョブが複数存在する場合は、実行待ち時間が一番長いジョブを実行資源の解放を要求するジョブとし、
緊急度が一番高い解放要求キューに対する解放キュー優先度が一番高い解放対象キューで実行中のジョブの中で、実行時間が一番短いジョブに対し、前記解放判定優先度の設定内容に従って実行資源を解放することを特徴とするジョブ管理システム。
【請求項６】
請求項５記載のジョブ管理システムで、前記制御部は、前記解放された実行資源を、解放要求キューに格納された実行待ちジョブで緊急度が一番高いジョブに割当てることを特徴とするジョブ管理システム。
【請求項７】
請求項５記載のジョブ管理システムで、前記制御部は、実行資源の解放をジョブの中断及び再開で行う場合、
ジョブ実行の再開を正常にできる中断ポイントを設定し、
前記中断ポイントまでのジョブ実行情報を前記記憶部に格納し、
実行資源を解放し、解放要求キューのジョブに前記解放された実行資源を割り当てて実行させ、
実行資源を解放したジョブを、同一の優先度も持つジョブより優先的に実行を再開させることを特徴とするジョブ管理システム。
【請求項８】
請求項５記載のジョブ管理システムで、前記制御部は、実行資源の解放をジョブの停止及び再実行で行う場合、
ジョブ停止を正常にできる中断ポイントを設定し、
前記中断ポイントまでのジョブ実行情報を前記記憶部から削除し、
実行資源を解放し、解放要求キューのジョブに前記解放された実行資源を割り当てて実行させ、
実行資源を解放したジョブを、同一の優先度も持つジョブより優先的に再実行させることを特徴とするジョブ管理システム。
【請求項９】
請求項５記載のジョブ管理システムで、前記制御部は、所定期間内に実行資源の不足を発生したジョブ数を集計し、予め設定していた閾値を超える場合にはジョブ管理システムまたはユーザ端末にリソース不足通知を実行し、解放したリソースを解放要求キューの実行待ちジョブへの割当てを行った場合には、リソース割当通知を実行することを特徴とするジョブ管理システム。
【請求項１０】
請求項５記載のジョブ管理システムで、前記制御部は、実行資源の解放行うジョブの停止または中断ないし、ジョブの再実行または再開でエラーが発生した場合に障害通知を行うことを特徴とするジョブ管理システム。
【請求項１１】
請求項１記載のジョブ管理システムで、前記実行計算機は実行資源として
複数のマイクロプロセッサと複数のメモリと複数の記憶デバイスを有することを特徴とするジョブ管理システム。
【請求項１２】
ジョブ制御方法であって、
前記ジョブ毎にジョブを実行させるための実行資源情報及び実行の緊急度情報を設定し、
前記実行計算機で実行させるジョブでジョブを実行させるのに不足している実行資源を、前記ジョブより前記緊急度が低い実行中のジョブを終了させて実行資源を解放し、
前記解放された実行資源を用いて前記ジョブを前記実行計算機で実行させることを特徴とするジョブ制御方法。
【請求項１３】
請求項１２記載のジョブ制御方法で、前記実行資源は前記実行計算機上で実行される論理シミュレータ用ソフトウェアライセンスであることを特徴とするジョブ制御方法。
【請求項１４】
請求項１２記載のジョブ制御方法で、前記実行計算機は実行資源として
複数のマイクロプロセッサと複数のメモリと複数の記憶デバイスを有することを特徴とするジョブ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ管理システム及びジョブ制御方法に関する。
【背景技術】
【０００２】
近年、計算機が処理するデータ量が急速な増大に伴い処理を高速化するために、しばしば並列処理機能を有する計算機システムが用いられている。このような複数ジョブの並列処理技術の例として、特許文献１記載のものがある。
【０００３】
なお、並列して実行可能なジョブ数は、ジョブを実行する上で必要なソフトウェアのライセンス種類とそのライセンス種類のライセンス数に応じて限定されている。そのため、従来では、ライセンス数／優先度を考慮してジョブを投入することは可能であった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】日本特許３２１５２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、使用できるライセンス種類またはライセンス数が不足すると、投入済みの実行ジョブが終了するまで、新たにジョブを実行する事ができなかった。
【０００６】
このため、実行中のジョブが優先度の低いジョブで占められていたとしても、緊急度の高いジョブを実行することができなかった。また、緊急度の高いジョブのために、ライセンスを使用せずに空けておくことは、ライセンスの使用効率が悪い。このような課題は、ソフトウェアのライセンスに限らず、計算機の物理的なハードウェア資源にも当てはまる。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明ではジョブ投入の際にライセンスが不足している場合、緊急度の低いジョブのリソースを解放し、解放したリソースを緊急度の高いジョブに割当てて、緊急度の高いジョブを実行させる。
【発明の効果】
【０００８】
本発明では、緊急度の低いジョブを解放し緊急度の高いジョブを投入し実行することができ、リソースの利用効率を向上できる。前述以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の概要と従来技術での課題を示す図である。
【図２】図２は、本発明の計算機システムの全体構成図である。
【図３】図３は、計算機システムの実行計算機の構成図である。
【図４】図４は、計算機システムのジョブ管理システムの構成図である。
【図５】図５は、実行コマンドの構成例を示す図である。
【図６】図６は、リソース解放キュー相関定義情報を示す図である。
【図７】図７は、キュー設定情報を示す図である。
【図８】図８は、リソース管理情報を示す図である。
【図９】図９は、シミュレーション環境情報を示す図である。
【図１０】図１０は、シミュレーションテスト情報を示す図である。
【図１１】図１１は、実行ジョブ情報を示す図である。
【図１２】図１２は、リソース情報を示す図である。
【図１３】図１３は、ライセンス情報を示す図である。
【図１４】図１４は、リソース不足発生履歴を示す図である。
【図１５】図１５は、リソース解放履歴を示す図である。
【図１６】図１６は、リソース解放要求ジョブリストを示す図である。
【図１７】図１７は、解放対象キューリストを示す図である。
【図１８】図１８は、解放対象ジョブリストを示す図である。
【図１９】図１９は、即時ジョブ投入時の第１のジョブ入れ替え動作を示す図である。
【図２０Ａ】図２０Ａは、即時ジョブ投入時の第１のジョブ入れ替え動作を示す図である。
【図２０Ｂ】図２０Ｂは、即時ジョブ投入時の第１のジョブ入れ替えの詳細動作１を示す図である。
【図２０Ｃ】図２０Ｃは、即時ジョブ投入時の第１のジョブ入れ替えの詳細動作２を示す図である。
【図２０Ｄ】図２０Ｄは、即時ジョブ投入時の第１のジョブ入れ替えの詳細動作３を示す図である。
【図２１】図２１は、即時ジョブ投入時の第２のジョブ入れ替え動作を示す図である。
【図２２】図２２は、即時ジョブ投入時の第３のジョブ入れ替え動作を示す図である。
【図２３】図２３は、即時ジョブ投入時の第４のジョブ入れ替え動作を示す図である。
【図２４】図２４は、即時ジョブ投入時の第５のジョブ入れ替え動作を示す図である。
【図２５】図２５は、即時ジョブ投入時の第６のジョブ入れ替え動作を示す図である。
【図２６】図２６は、即時ジョブ投入時の第７のジョブ入れ替え動作を示す図である。
【図２７Ａ】図２７Ａは、リソース解放・割当てジョブの制御処理を示すフローチャート図である。
【図２７Ｂ】図２７Ｂは、リソース解放・割当てジョブの制御処理を示すフローチャート図である。
【図２７Ｃ】図２７Ｃは、リソース解放・割当てジョブの制御処理を示すフローチャート図である。
【図２８】図２８は、リソース解放／割当処理を示すフローチャート図である。
【図２９】図２９は、リソース解放ジョブの中断・停止を制御する処理を示すフローチャート図である。
【図３０Ａ】図３０Ａは、リソース不足監視通知を制御する処理を示すフローチャート図である。
【図３０Ｂ】図３０Ｂは、リソース不足監視通知を制御する処理を示すフローチャート図である。
【図３１】図３１は、管理画面の構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本発明の実施の形態を説明する。なお、以下の説明では、「管理テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「管理テーブル」を「管理情報」と呼ぶことができる。
【００１１】
また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、プロセッサ、例えば、ＭＰ（Micro  Processor）やＣＰＵ（Central  Processing  Unit）によって実行されるもので、定められた処理をするものである。なお、適宜に記憶資源（例えばメモリ）及び通信インターフェース装置（例えば、通信ポート）を用いながら行うため、処理の主語がプロセッサとされてもよい。プロセッサは、ＣＰＵの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各コンピュータにインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアなどで提供されるものであっても良い。
【００１２】
また、各要素、例えば、コントローラは番号などで識別可能であるが、識別可能な情報であれば、名前など他種の識別情報が用いられても良い。本発明の図及び説明において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
【００１３】
＜＜発明概要＞＞
図１は、本発明の概要と従来技術での課題を示す図である。図１で従来技術での課題とそれを解決する本発明の概要を説明する。
【００１４】
図１（２）は、従来のジョブ制御を示す図である。符号１１は、実行中ジョブキューである。符号１２は、実行待ちジョブキューである。丸にアルファベットと数値が記載されているものが、ジョブである。アルファベットが緊急度を表し、“Ｈ”が一番高く、“Ｍ”、“Ｌ”の順に緊急度は低くなる。また、数値は同一緊急度の別のキューを表している。
【００１５】
従来では、ライセンス数／優先度を考慮してジョブを投入することはできたが、並列して実行可能なジョブ数はライセンス数で制限されており、ライセンスが不足すると、投入済みのジョブが終了するまで、新規ジョブを実行中ジョブキュー１１へ投入することができなかった。
【００１６】
つまり、実行中キュー１１は、８つのジョブが実行中でライセンス数の上限に達しているので、新たなジョブを実行させることができない。そのため、実行待ちジョブキュー１２に格納され実行待ち状態となっている緊急度が高い“Ｈ１”ジョブ１４を符号１４ｂのように実行中のジョブと入れ替えて実行させることは、従来技術では出来なかった。
【００１７】
また、緊急度の高いジョブのために、ライセンスを空けておくことはライセンスの使用効率が悪い。特に、大型計算機やストレージ装置などで使用される大規模ＬＳＩ開発では多くの検証ジョブを長時間実行しなければならないため、効率的なジョブ制御が必要となる。
【００１８】
そこで、本発明では、図１（１）に示すように実行中の“Ｌ１”ジョブ１３の実行を中断ないし中止して、符号１３ａのように実行中ジョブキュー１１から実行待ちジョブキュー１２にジョブを移動させる。そして、“Ｌ１”ジョブ１３が使用していたライセンス資源（実行資源）を緊急度が高い“Ｈ１”ジョブ１４で使用できるようにする。そして、“Ｈ１”ジョブ１４を符号１４ａのように実行待ちジョブキュー１２から実行中ジョブキュー１１にジョブを移動させ、実行させる。
【００１９】
このようにして、緊急度や優先度の低いジョブのリソース、すなわちライセンス資源を解放し、その解放されたリソースを使用して緊急度や優先度の高いジョブを実行させることで、緊急度や優先度の高いジョブを即時に実行させることができ、かつライセンスの使用効率を高めることも可能となる。
【００２０】
＜計算機システム＞
図２は、本発明の計算機システムの全体構成図である。
【００２１】
本発明の計算機システム２９は、ジョブ管理システム２と１つ以上の実行計算機２２（実行計算機２２０から２２ｎの総称）、１つ以上のユーザ端末２３（ユーザ端末２３０から２３ｎまでの総称）を備える。なお、実行計算機は、図のように２つ以上の実行計算機２２０から２２ｎまで備えても良い。同じく、ユーザ端末も２つ以上のユーザ端末２３０から２３ｎまで備えても良い。ジョブ管理システム２、実行計算機２２、ユーザ端末２３はネットワーク２４を用い、ＣＩＦＳ（Common  Internet  File  System）やＮＦＳ（Network  File  System）などのネットワークプロトコルで接続される。
【００２２】
ジョブ管理システム２は、制御部２０と記憶部２１を備える。制御部２０は、ＣＰＵ（Central  Processing  Unit）２０１、メモリ２０２、ディスクＩ／Ｆ２０３、ＮＩＣ（Network  Interface  Card）２０４、入力装置２０５、出力装置２０６を備える。記憶部２１は、複数のディスク２１１を備える。
【００２３】
ＣＰＵ２０１は、ジョブ管理システム２全体を制御する。
【００２４】
メモリ２０２は、揮発性メモリ及び／又は不揮発性メモリを有し、ジョブ管理システム２で使用されるプログラム、各種データ、制御情報などの各種情報を記憶するものである。
【００２５】
ディスクＩ／Ｆ２０３は、制御部２０と記憶部２１のディスク２１１とを接続するコントローラである。
【００２６】
ＮＩＣ２０４は、ジョブ管理システム２と実行計算機２２、ユーザ端末２３とを接続する通信コントローラである。
【００２７】
入力装置２０５は、キーボードやマウスなどジョブ管理システム２に対し、リソース解放キュー相関定義情報やキュー設定情報などのキュー定義情報やリソース管理情報を入力する手段である。
【００２８】
出力装置２０６は、表示装置やプリンタなどジョブ管理システム２でのジョブ実行状態やリソース使用状況などの情報を出力する手段である。
【００２９】
ユーザ端末２３の内部構成は図示していないが、ジョブ管理システム２と同様に、制御部としてＣＰＵ、メモリ、ディスクＩ／Ｆ、ＮＩＣ、入力装置、出力装置を、記憶部として複数のディスクを備える。なお、ユーザ端末２３の入力装置でも、前述のリソース解放キュー相関定義情報やキュー設定情報などのキュー定義情報やリソース管理情報を入力することができる。
【００３０】
実行計算機２２の内部構成もジョブ管理システム２と同等の構成である。その詳細な内部構成を図３で説明する。
【００３１】
＜実行計算機＞
図３は、計算機システムの実行計算機の構成図である。
【００３２】
実行計算機２２は、制御部２２０と記憶部２２１を備える。制御部２２０は、演算部２２０１、共有メモリ２２０２、ディスクＩ／Ｆ２２０３、ＮＩＣ２２０４、キャッシュメモリ２２０７を備える。記憶部２２１は、複数のディスク２２１１を備える。
【００３３】
演算部２２０１は、複数のＭＰ（Micro  Processor）を備える。各ＭＰは、実行ジョブに応じて割当てられる。
【００３４】
共有メモリ２２０２は、揮発性メモリ及び／又は不揮発性メモリを有し、実行計算機２２で実行されるジョブの状態や各種動作情報などを記憶するものである。共有メモリは、実行ジョブで必要とされる容量が、実行ジョブに割当てられる。
【００３５】
ディスクＩ／Ｆ２２０３は、制御部２２０と記憶部２２１のディスク２２１１とを接続するコントローラである。
【００３６】
ＮＩＣ２２０４は、実行計算機２２と、ジョブ管理システム２、ユーザ端末２３とを接続する通信コントローラである。
【００３７】
キャッシュメモリ２２０７は、揮発性メモリ及び／又は不揮発性メモリを有し、実行計算機２２で実行されるジョブの状態や各種動作情報などを記憶するものである。キャッシュメモリ２２０７は、共有メモリ２２０２より高速なメモリデバイスを使用し、ＭＰが高速にアクセスする必要のあるデータや情報を格納する。キャッシュメモリは、実行ジョブで必要とされる容量が、実行ジョブに割当てられる。
【００３８】
＜ジョブ管理システム＞
図４は、計算機システムのジョブ管理システムの構成図である。
【００３９】
ジョブ管理システム２は、プログラム３０として、（１）ジョブ実行受付部３１、（２）キュー選択部３２、（３）通常ジョブ制御部３３、（４）リソース解放割当ジョブ制御部３４、（５）リソース管理部３５、（６）キュー／ジョブ管理部３６、（７）リソース不足監視通知部３７、（８）キュー／ジョブ設定部３８の機能を備える。プログラム３０を構成する機能部は、メモリ２０２に格納され、適宜ＣＰＵ２０１で読み出されて実行される。
【００４０】
また、データ３９として、（ｄ１）キュー管理データベース３９１、（ｄ２）ジョブデータベース３９２、（ｄ３）シミュレーションデータエリア３９３、（ｄ４）解放ジョブデータ退避エリア３９４、（ｄ５）リソースデータベース３９５を備える。データ３９を構成する各種データは、記憶部２１のディスク２１１に格納されている。
【００４１】
（１）ジョブ実行受付部３１
【００４２】
ジョブ実行受付部３１は、ユーザ端末２３からジョブ実行コマンドを受け付けた場合、実行コマンドのシミュレーション環境情報の環境名／緊急度の情報を基に、キュー選択部でジョブ実行情報を判定し、通常ジョブ制御部にジョブ実行を命令する。キューなどのパラメータを全てマニュアル指定としてジョブ実行を受け付けた場合は、そのまま通常ジョブ制御部にジョブ実行を命令する。
【００４３】
（２）キュー選択部３２
【００４４】
キュー選択部３２は、シミュレーション環境情報の環境名／緊急度から、実行キューと実行メモリの容量を判定する。なお、シミュレーション環境毎に検証モデルを接続した被検証論理回路を含んだテスト回路が構築されている。そのため、利用する検証モデルのライセンスやシミュレータ、実行メモリ容量は、シミュレーション環境情報によって決定される。また、シミュレーション環境名から該当キューグループを判定し、緊急度から該当キューを判定する。
【００４５】
（３）通常ジョブ制御部３３
【００４６】
通常ジョブ制御部３３は、実行計算機の情報やリソース情報や実行待ちのジョブの優先度を考慮してジョブを実行計算機２２に投入する制御を行う。
【００４７】
（４）リソース解放割当ジョブ制御部３４
【００４８】
リソース解放割当ジョブ制御部３４は、リソース解放キュー相関定義情報に設定されている解放要求キュー毎に、設定されている複数の解放対象キューの実行中ジョブから解放ジョブを判定し、その解放ジョブに対して解放の実行と解放ジョブの再投入を実行する。
【００４９】
解放優先度の高い解放対象キューから順に（同一優先度のキューは同時に)、実行中ジョブから解放可能なジョブがあるか判定する。実行中のジョブから判定する順序は、解放判定優先度に設定された順に判定する。
【００５０】
解放要求キューのジョブが複数種類のライセンスの解放を要求する場合、解放対象キューのジョブが１つでは解放条件を満たせない場合がある為、複数ジョブの組合せで解放可否を判定する。解放可能であれば解放対象ジョブ(１つ以上)のリソースを解放し、リソース解放履歴を更新する。解放不可であればリソース不足発生情報を更新する。リソース解放時は、他のキューのジョブに資源を利用されないよう非アクティブ化し、解放要求ジョブの実行後は元に戻す。
【００５１】
（５）リソース管理部３５
【００５２】
リソース管理部３５は、リソース不足発生履歴などリソース使用状況などを管理する。リソース不足発生履歴は、ジョブ(ジョブＩＤ)単位でエントリする。閾値超過を検出する際に参照されるエントリ項目は、キュー／不足ライセンス／発生日時である。
【００５３】
（６）キュー／ジョブ管理部３６
【００５４】
キュー／ジョブ管理部３６は、リソース解放割当ジョブ制御部から参照されるリソース解放キュー相関定義情報などを管理する。その他、キューの優先度や同時に実行可能なジョブの上限数などの情報に関しても管理する。
【００５５】
（７）リソース不足監視通知部３７
【００５６】
リソース不足監視通知部３７は、リソース不足発生履歴を監視し、キュー毎にリソース不足を通知する。所定期間内にリソース不足が発生したジョブ数をカウントし、リソース不足ジョブ数が閾値を超過した場合、所定期間の解放・割当実績グラフを作成し、リソース不足発生ジョブ数／グラフ／リソース解放キュー相関定義情報を管理者に通知する。
【００５７】
リソース管理情報に“２００＝２４ｈ”、“２０＝１ｈ”と設定されている場合は、“２４時間で２００ジョブ以上”または“１時間で２０ジョブ以上”がリソース不足となっていることを表し、その旨を出力装置などへ通知する。通知方法として、メール、メッセージ表示、音声案内、警告音などである。
【００５８】
（８）キュー／ジョブ設定部３８
【００５９】
キュー／ジョブ設定部３８は、キュー設定、リソース解放キュー相関定義情報の設定、リソース管理情報の設定を行うものである。また、解放要求キューに対し、複数の解放対象キューとその解放実行の優先度の順番を設定する。解放判定優先度に“停止／再実行”または“中断／再開”または“実行時間”を設定する。
【００６０】
リソース管理情報の設定では、コマンドまたは画面操作によりリソース不足の閾値を設定する機能を有する。また、リソース利用効率の向上するためのフィードバック情報（リソース不足状況やリソース解放状況のグラフなど）を表示する画面・コマンドを有する。
【００６１】
（ｄ１）キュー管理データベース３９１
【００６２】
キュー管理データベース３９１には、リソース解放キュー相関定義情報、キュー設定情報、リソース管理情報が格納される。
【００６３】
（ｄ２）ジョブデータベース３９２
【００６４】
ジョブデータベース３９２には、実行ジョブ情報が格納される。
【００６５】
（ｄ３）シミュレーションデータエリア３９３
シミュレーションデータエリア３９３には、シミュレーション環境情報やシミュレーションテスト情報が格納される。
【００６６】
（ｄ４）解放ジョブデータ退避エリア３９４
解放ジョブデータ退避エリア３９４には、中断されたジョブの中断時までの実行結果が格納される。
【００６７】
（ｄ５）リソースデータベース３９５
リソースデータベース３９５には、リソース情報、リソース不足発生履歴、リソース解放履歴が格納される。
【００６８】
前述の各情報の詳細については後述する。
【００６９】
＜＜各種コマンド・情報＞＞
＜実行コマンド＞
図５は、実行コマンドの構成例を示す図である。実行コマンドの種類として（１）通常コマンド、（２）緊急コマンドの２種類がある。通常コマンドの一例として、ＬＳＩの論理変更時に実行されるリグレション用ジョブ実行コマンドがある。同様に、緊急コマンドの一例として、即時の対応が必要なＬＳＩのバグ対策確認用実行コマンドがある。
【００７０】
（１）通常コマンド５０
通常コマンド５０は、パラメータ５０１、設定値５０２、設定５０３、デフォルト動作（デフォルト値の設定動作）５０４を備える。
【００７１】
パラメータ５０１は、シミュレーション環境名、テスト名、緊急度、解放方法、実行メモリの各エントリを有する。
【００７２】
シミュレーション環境名の設定値５０２には、シミュレーションを実行する環境名、例えば、“ＥＮＶ０”と設定する。このシミュレーション環境名への設定は“必須”（設定５０３の内容が“必須”）であるので、デフォルト動作５０４はない。
【００７３】
テスト名の設定値５０２には、テストを区別するためのＩＤ、例えば、“ＴＥＳＴ０”と設定する。このテスト名への設定は“必須”であり、デフォルト動作５０４はない。
【００７４】
緊急度の設定値５０２は、実行させるジョブの緊急度を設定する。なお、緊急度の設定値５０２への設定は“任意”であり、設定しても設定しなくてもよい。設定しない場合、デフォルト動作５０４により、“Ｕ２（通常）”となる。なお、本図では、“Ｕ１（低）”と設定している。
【００７５】
解放方法の設定値５０２には、“停止／再実行”、“中断／再開”、“実行時間”より選択して設定する。なお、解放方法の設定値５０２への設定は“任意”である。設定値５０２に値が設定されていない場合、後述するシミュレーション環境情報での設定値が選択される。
【００７６】
実行メモリの設定値５０２は、ジョブを実行するのに必要なメモリ容量を指定するものである。なお、実行メモリの設定値５０２への設定は“任意”であり、設定しても設定しなくてもよい。設定値５０２に値が設定されていない場合、後述するシミュレーション環境情報での設定値が選択される。
【００７７】
（２）緊急コマンド５１
緊急コマンド５１は、パラメータ５０１、設定値５０２、設定５０３、デフォルト動作５０４を備える。
【００７８】
シミュレーション環境名及びテスト名及び実行メモリは、通常コマンド５０と同じである。
【００７９】
緊急度の設定値５０２の設定は“必須”であり、“Ｕ３（即時）”と設定される。
【００８０】
解放方法の設定値５０２は、解放不要の為設定不要である。
【００８１】
＜リソース解放キュー相関定義情報＞
図６は、リソース解放キュー相関定義情報を示す図である。
【００８２】
本発明は、実行待ちジョブの優先度でジョブ投入する従来技術と異なり、緊急度の高いジョブを即時に実行するため、緊急度の低いジョブのリソースを解放して割当てる制御を行うものである。そこで、リソース解放を要求するジョブがどのジョブを解放できるのかを判定するため、リソース解放キュー相関定義情報６０を用いる。リソース解放キュー相関定義情報６０は、キュー管理データベース３９１に格納される。
【００８３】
リソース解放キュー相関定義情報６０は、解放要求キュー６０１、解放対象キュー６０２、解放判定優先度６０３を備える。解放対象キュー６０２には、解放対象キュー種と解放キュー優先度を備える。
【００８４】
解放要求キュー６０１は、“Ｈ５”から“Ｈ１”まで定義され、それぞれの解放要求キューに対する解放対象キュー６０２と解放判定優先度６０３が設定される。例えば、解放要求キュー６０１が“Ｈ１”であるキューに対する解放対象キュー６０２は“Ｌ１”であり、解放判定優先度６０３は“停止／再実行”、“中断／再開”の順に解放するキューを選択する。
【００８５】
また、解放要求キュー６０１が“Ｈ２” であるキューに対する解放対象キューは“Ｌ１”と“Ｌ２”である。その“Ｌ１”と“Ｌ２”に解放キュー優先度として“１０”、“５”が設定されており、数値が大きい“Ｌ２”を最初の解放対象キューとする。また、同一解放キュー優先度のキューが複数存在する場合には、それらの複数のキューを同時にジョブチェックする解放対象キューとする。解放対象キューの実行中ジョブが複数存在した場合、解放判定優先度６０３の設定内容、すなわち実行時間により解放対象ジョブを絞り込んでゆく。
【００８６】
＜キュー設定情報＞
図７は、キュー設定情報を示す図である。キュー設定情報７０は、キュー管理データベース３９１に格納される。
【００８７】
キュー設定情報７０は、キュー種別７０１、優先度７０２、使用上限本数７０３、ステータス７０４、必要リソース７０５、キューグループ７０６、緊急度７０７を備える。
【００８８】
キュー種別７０１は、緊急度７０７が“Ｕ３（即時）”であるＨ１からＨ５、“Ｕ２（通常）”であるＭ１、Ｍ２、“Ｕ１（低）”であるＬ１からＬ５に分類される。“Ｕ３（即時）”であるジョブは、他のジョブからリソースを奪っても即時に実行したいジョブである。
【００８９】
“Ｕ２（通常）”であるジョブは、優先度の順で実行できればよい（リソースに空きが無ければ待ってもよいが、中断や停止はされたくない）ジョブである。
【００９０】
“Ｕ１（低）”であるジョブは、リソース空き時間帯に実行されていれば良い（緊急度の高いジョブにリソースを譲るため中断や停止後に再投入されていればよい）ジョブである。
【００９１】
キューＨｘには、即時に実行する必要があるジョブ、例えば、バグ対策確認用ジョブやＬＳＩの新機能検証用ジョブなどが格納される。
【００９２】
キューＭｘには、中断や停止はされたくないジョブ、例えば各種コントローラが接続されたシミュレーション環境で各種パラメータを変更して実行するシミュレーションを制御するジョブなどが格納される。
【００９３】
キューＬｘには、停止や中断が可能なジョブ、例えば、論理変更時の論理検証（退行テスト）用ジョブなどが格納される。
【００９４】
優先度７０２は、Ｐ５からＰ１まで５段階のレベルを有する。この優先度を用いて同一キューレベルでの優先順位決める。例えば、キューＨ１の優先度はＰ５と一番高く、Ｈ２の優先度はＰ４と、Ｈ１に比べ１つ優先度が低い。そのため、キューＨ１とキューＨ２にそれぞれ同時にジョブが投入されると、優先度に従いキューＨ１に投入されたジョブが最初に実行されることとなる。
【００９５】
使用上限本数７０３は、各キューにおいて実行できるジョブ数の上限を表す。
【００９６】
ステータス７０４は、 “Ｏｐｅｎ”、“Ｃｌｏｓｅｄ”、“Ａｃｔｉｖｅ”、“Ｉｎａｃｔｉｖｅ”の４つの状態がある。
【００９７】
“Ｏｐｅｎ”は、ジョブの投入を許可する状態を表す。“Ｃｌｏｓｅｄ”は、ジョブの投入を禁止する状態を表す。
【００９８】
“Ａｃｔｉｖｅ”は、実行待ちジョブが実行できる状態に移った場合、実行が可能な状態を表す。“Ｉｎａｃｔｉｖｅ”は、実行待ちジョブが実行できる状態に移った場合でも、実行されない状態、すなわちフリーズ状態を表す。
【００９９】
必要リソース７０５は、各キューで実行するジョブで、実行するのに必要なソフトウェアのライセンスの種類を表す。例えば、キューＨ１では“ＬＩＣ０”のみが必要で、キューＨ２では、“ＬＩＣ０”に加え“ＬＩＣ１”が必要となる。ちなみに、ライセンス情報を纏めたものが図１３である。詳細については後述する。
【０１００】
キューグループ７０６は、グループ化したキューを区別する情報で、シミュレーション環境情報などで使用される。
【０１０１】
緊急度７０７は、“Ｕ３（即時）”、“Ｕ２（通常）”、“Ｕ１（低）”のいずれかがジョブ実行コマンドにより指定される。特に、大型計算機システムやストレージ装置などで使用される大規模ＬＳＩの開発では、多くの検証ジョブを長時間実行しなければならない。そのため、効率的なジョブ制御が必要となるので、上述の緊急度を用いてジョブ制御を行う。
【０１０２】
＜リソース管理情報＞
図８は、リソース管理情報を示す図である。リソース管理情報８０は、キュー管理データベース３９１に格納される。
【０１０３】
リソース管理情報８０は、解放要求キュー８０１、要求リソース８０２、リソース不足通知閾値８０３、管理者情報８０４、通知方法８０５を備える。
【０１０４】
解放要求キュー８０１は、解放を要求するキューを識別するための情報である。
【０１０５】
要求リソース８０２は、解放が必要なリソースを識別するための情報である。
【０１０６】
リソース不足通知閾値８０３は、キュー毎に必要とするリソースが不足するジョブ数が所定時間内に所定値に達したかを判断する閾値である。
【０１０７】
例えば、解放要求キューがＨ１のＬＩＣ０は、２４時間で２００回以上または１時間で２０回以上不足すると、管理者情報８０４に設定された“ｕｓｅｒ１”に、通知方法８０５に設定された“メール”でリソース不足が通知される。なお、通知方法としては、メール以外に出力装置２０６の画面へのメッセージ出力や警告音または音声出力などがある。
【０１０８】
＜シミュレーション環境情報＞
図９は、シミュレーション環境情報を示す図である。シミュレーション環境情報９０は、ジョブデータベース３９２に格納される。
【０１０９】
シミュレーション環境情報９０は、シミュレーションが実行される環境情報を設定するもので、シミュレーション環境名９０１、該当キューグループ９０２、リソース解放手段９０３、実行メモリ９０４、ログ／オプション等９０５を備える。
【０１１０】
シミュレーション環境名９０１は、シミュレーション（ジョブ）を実行する環境を識別する情報である。以下、実行ジョブをシミュレーションとして説明する。
【０１１１】
該当キューグループ９０２は、シミュレーションを実行するキューを識別する情報である。実行コマンドでのシミュレーション環境名により該当キューグループが決まる。この該当キューグループと実行コマンドの緊急度を、キュー設定情報７０に照し合せて該当キューを決定する。
【０１１２】
リソース解放手段９０３は、解放対象キューのジョブに対するリソースの解放手段を設定するもので、“停止／再実行”、“中断／再開”を設定する。なお、リソース解放手段９０３への設定は、設定コマンドや入力画面を用いて行う。
【０１１３】
“停止／再実行”とは、シミュレーションを停止、すなわち終了させリソースを解放する。そして、再度リソースを取得出来た時に、シミュレーションを最初から実行するものである。
【０１１４】
“中断／再開”とは、シミュレーションを一旦中断し、中断したポイントまでのシミュレーション実行結果を解放ジョブデータ退避エリア３９４に退避し格納する。そして、再度リソースを取得出来た時に、解放ジョブデータ退避エリア３９４に退避したシミュレーション実行結果を読み出して、中断ポイントから再開するものである。なお、リソース解放手段９０３が設定されない場合、リソース解放手段９０３にはデフォルトとして“停止／再実行”が設定される。
【０１１５】
実行メモリ９０４は、シミュレーションを実行するのに必要な実行計算機２２の共有メモリ２２０２などの容量を設定するもので、デフォルト値として“４ＧＢ”が設定されている。
【０１１６】
ログ／オプション等９０５は、シミュレーションのログの出力方法や実行結果の波形出力有無を設定するものである。
【０１１７】
＜シミュレーションテスト情報＞
図１０は、シミュレーションテスト情報を示す図である。シミュレーションテスト情報１００は、ジョブデータベース３９２に格納される。
【０１１８】
シミュレーションテスト情報１００は、シミュレーションテスト毎の実行状況の情報が格納されるものであり、シミュレーション環境名１００１、シミュレーションテスト名１００２、ステータス１００３、リソース解放手段１００４を備える。
【０１１９】
シミュレーション環境名１００１には、シミュレーションテストが実行されている環境名が格納される。通常コマンド５０や緊急コマンド５１のパラメータ５０１にあるシミュレーション環境名のエントリに対応する設定値５０２の情報を、このシミュレーション環境名１００１に格納する。
【０１２０】
シミュレーションテスト名１００２は、各テストを識別する情報を格納する。通常コマンド５０や緊急コマンド５１のパラメータ５０１にあるテスト名のエントリに対応する設定値５０２の情報を、このシミュレーションテスト名１００２に格納する。
【０１２１】
ステータス１００３は、シミュレーションテストのジョブの実行状況を格納するもので、“実行中”、“実行待ち”、“投入済”の状態がある。“投入済”とは、ジョブは投入されたが“実行中”状態にも、“実行待ち”状態にも遷移していない状態を示す。
【０１２２】
リソース解放手段１００４は、通常コマンド５０のパラメータ５０１にある解放方法のエントリに対応する設定値５０２の情報を格納する。もし、解放方法のエントリに対応する設定値５０２の情報が未設定であれば、シミュレーション環境情報９０のリソース解放手段９０３に設定されている内容が、このリソース解放手段１００４に格納される。なお、リソース解放手段１００４への設定は、ジョブ実行コマンドの内容が反映される。
【０１２３】
図１１は、実行ジョブ情報を示す図である。実行ジョブ情報１１０は、ジョブデータベース３９２に格納される。実行ジョブ情報１１０は、キューに投入された実行中ないし実行待ちジョブの状態を管理する情報である。
【０１２４】
実行ジョブ情報１１０は、ジョブＩＤ１１０１、ユーザ１１０２、シミュレーション環境名１１０３、テスト名１１０４、キュー１１０５、ステータス１１０６、ＰＥＮＤ１１０７、ＲＵＮ１１０８、ＰＳＵＳＰ１１０９、ＵＳＵＳＰ１１１０、ＳＳＵＳＰ１１１１、合計１１１２を備える。
【０１２５】
ジョブＩＤ１１０１は、ジョブを識別する情報で、ジョブを投入した順番で通し番号が付与される。
【０１２６】
ユーザ１１０２は、ユーザ端末２３からジョブを投入したユーザを識別する情報である。
【０１２７】
シミュレーション環境名１１０３及びテスト名１１０４は、通常コマンド５０や緊急コマンド５１のパラメータ５０１にあるシミュレーション環境名及びテスト名が格納される。
【０１２８】
キュー１１０５は、実行するキューを格納するものである。キュー１１０５の内容は、シミュレーション環境名１１０３とシミュレーション環境情報９０により特定される該当キューグループ９０２と、通常コマンド５０または緊急コマンド５１のパラメータ５０１にある緊急度とで、キュー設定情報７０を参照することにより該当キューが決定される。
【０１２９】
ジョブＩＤ１１０１が“１０００”で、テスト名１１０４が“ＴＥＳＴ０”であるジョブは、シミュレーション環境名１１０３が“ＥＮＶ０”であり、シミュレーション環境情報９０により該当キューグループ９０２を“Ｇｒｏｕｐ１”と特定できる。更に、特定した該当キューグループ“Ｇｒｏｕｐ１”と、緊急度“Ｕ１（低）”とで、キュー設定情報７０を参照するとキューは“Ｌ１”と特定できる（図５（１）通常コマンド５０参照）。
【０１３０】
同じく、ジョブＩＤ１１０１が“１００１”で、テスト名１１０４が“ＴＥＳＴ１”であるジョブであるジョブは、シミュレーション環境名１１０３が“ＥＮＶ０”であり、シミュレーション環境情報９０により該当キューグループ９０２を“Ｇｒｏｕｐ１”と特定できる。更に、特定した該当キューグループ“Ｇｒｏｕｐ１”と、緊急度“Ｕ３（即時）”とで、キュー設定情報７０を参照するとキューは“Ｈ１”と特定できる（図５（２）緊急コマンド５１参照）。
【０１３１】
ステータス１１０６は、投入されたジョブの実行状態を示す情報で、実行中を示す“ＲＵＮ”と実行待ち状態を示す“ＰＥＮＤ”の２つの状態がある。
【０１３２】
ＰＥＮＤ１１０７は、ジョブの実行待ち時間（ｓｅｃ）を示す。
【０１３３】
ＲＵＮ１１０８は、ジョブの実行時間（ｓｅｃ）を示す。
【０１３４】
ＰＳＵＳＰ１１０９は、ジョブ管理システム２の制御プログラムによりシミュレーションジョブがサスペンドした時間（ｓｅｃ）を示す。
【０１３５】
ＵＳＵＳＰ１１１０は、ユーザによりシミュレーションジョブがサスペンドした時間（ｓｅｃ）を示す。
【０１３６】
ＳＳＵＳＰ１１１１は、ジョブ管理システム２によりシミュレーションジョブがサスペンドした時間（ｓｅｃ）を示す。
【０１３７】
合計１１１２は、ＰＥＮＤ１１０７からＳＳＵＳＰ１１１１までの合計時間である。
【０１３８】
図１２は、リソース情報を示す図である。図１３は、ライセンス情報を示す図である。リソース情報１２０は、リソースデータベース３９５に格納される。
【０１３９】
リソース情報１２０は、ライセンス種別１２０１毎に使用できるライセンス数の上限１２０２と、使用しているライセンス数１２０３、空きライセンス数１２０４を備える。例えば、ライセンス種別１２０１が“ＬＩＣ０”であるライセンスは、上限が“３０”であり、使用中が“２８”、空き（未使用）が“２”となっていることがリソース情報１２０から分かる。
【０１４０】
ライセンス情報１３０は、ライセンス種別１３０１毎のライセンス内容１３０２を示す情報である。例えば、ライセンス“ＬＩＣ０”はシミュレータ本体である“シミュレータ０”で、ライセンス“ＬＩＣ１”はシミュレータが使用するモデル、例えば、ＰＣＩ−ｅ（登録商標）などのバスモデル、メモリモジュールモデル、各種コントローラモデル、シリアルＩ／Ｆモデルなどの検証ＩＰである。なお、ジョブ管理システム２は、リソース情報１２０を用いて、１つ以上のシミュレーション用ジョブを実行計算機２２で実行させる。この時、ジョブ管理システム２は、前述の各シミュレータと複数のモデル（検証ＩＰ）とを組み合わせたジョブを並列に実行計算機２２で実行させることができる。
【０１４１】
図１４は、リソース不足発生履歴を示す図である。リソース不足発生履歴１４０は、リソースデータベース３９５に格納される。
【０１４２】
リソース不足発生履歴１４０は、解放要求キューに格納されているジョブ毎に発生したリソース不足を管理するものである。リソース不足発生履歴１４０は、ジョブＩＤ１４０１、解放要求キュー１４０２、不足リソース１４０３、発生日時１４０４、ユーザ１４０５、シミュレーション環境名１４０６、テスト名１４０７を備える。
【０１４３】
ジョブＩＤ１４０１は、実行待ち状態であるジョブを識別する情報である。
【０１４４】
解放要求キュー１４０２は、実行待ち状態であるジョブでのキューを識別する情報である。
【０１４５】
不足リソース１４０３は、実行待ち状態であるジョブで不足している（必要としている）リソースの情報である。
【０１４６】
発生日時１４０４は、リソース不足が発生した日時情報である。
【０１４７】
ユーザ１４０５、シミュレーション環境名１４０６、テスト名１４０７は、前述の図１１と同じである。
【０１４８】
なお、リソース不足発生時の履歴更新は同一ジョブＩＤに上書きして、経過情報はリソースデータベース３９５に保存しない。
【０１４９】
図１５は、リソース解放履歴を示す図である。リソース解放履歴１５０は、リソースデータベース３９５に格納される。
【０１５０】
リソース解放履歴１５０は、解放要求キューに格納されている実行待ち状態のジョブにより、解放されたリソース情報を管理するものである。リソース解放履歴１５０は、ジョブＩＤ１５０１、解放要求キュー１５０２、解放対象キュー１５０３、不足リソース１５０４、発生日時１５０５、ユーザ１５０６、シミュレーション環境名１５０７、テスト名１５０８を備える。
【０１５１】
特定のジョブＩＤ１５０１が格納された解放要求キュー１５０２に解放対象キュー１５０３と不足リソース（解放リソース）１５０４が対応する。例えば、ジョブＩＤ１５０１が“１００８”のジョブは、解放要求キュー１５０２が“Ｈ１”で、解放対象キュー１５０３が“Ｌ１”の不足リソース（解放リソース）１５０４が“ＬＩＣ０”を、発生日時１５０５が“２０１２／５／１４  １５：１６”に解放したことが、リソース解放履歴１５０より分かる。
【０１５２】
なお、リソース不足発生履歴１４０及びリソース解放履歴１５０は、時系列の不足発生グラフ／解放実績グラフとしてジョブ管理システム２の出力装置などに表示できる。詳細については後述する（図３１）。
【０１５３】
図１６は、リソース解放要求ジョブリストを示す図である。リソース解放要求ジョブリスト１６０は、リソースデータベース３９５に格納される。
【０１５４】
リソース解放要求ジョブリスト１６０は、解放要求ジョブの状態を示すリストである。リソース解放要求ジョブリスト１６０は、ジョブＩＤ１６０１、ユーザ１６０２、シミュレーション環境名１６０３、テスト名１６０４、解放要求キュー１６０５、ＰＥＮＤ時間（実行待ち時間）１６０６、不足リソース１６０７、解放対象キュー１６０８を備える。なお、リソース解放要求ジョブリスト１６０は、ＰＥＮＤ時間（実行待ち時間）１６０６が長い（大きい）ジョブから短い（小さい）ジョブへと整列させている。
【０１５５】
図１７は、解放対象キューリストを示す図である。解放対象キューリスト１７０は、リソースデータベース３９５に格納される。
【０１５６】
解放対象キューリスト１７０は、解放対象キューの状態を示すリストである。解放対象キューリスト１７０は、シミュレーション環境名１７０１、テスト名１７０２、キュー１７０３、実行時間１７０４を備える。
【０１５７】
図１８は、解放対象ジョブリストを示す図である。解放対象ジョブリスト１８０は、リソースデータベース３９５に格納される。
【０１５８】
解放対象ジョブリスト１８０は、解放対象のジョブの状態を示す情報である。解放対象ジョブリスト１８０は、ジョブＩＤ１８０１、ユーザ１８０２、シミュレーション環境名１８０３、テスト名１８０４、解放対象キュー１８０５、実行時間１８０６、充当リソース１８０７、リソース解放手段１８０８を備える。なお、解放対象ジョブリスト１８０は、実行時間１８０６が短い（小さい）ジョブから長い（大きい）ジョブへと整列させている。
【０１５９】
＜＜リソース解放とジョブ入れ替え＞＞
＜入れ替え動作１＞
【０１６０】
次に、実行中のジョブのリソース解放と実行ジョブの入れ替え動作について説明する。なお、処理の主体は、リソース解放割当ジョブ制御部３４とするが、ＣＰＵ２０１でもよい。
【０１６１】
いま、ライセンスＬＩＣ０の使用上限数が１０、ライセンスＬＩＣ１及びＬＩＣ３の使用上限数がそれぞれ５であるとする。また、ジョブ列の上側にあるジョブ程、実行時間が長いジョブであるとする。
【０１６２】
図１９は、即時ジョブ投入時の第１のジョブ入れ替え動作を示す図である。ライセンスＬＩＣ０を使用した実行状態のジョブ数は４個であり、この状態で新規に即時ジョブであるキューＨ１のＪＯＢ４（Ｈ１ＪＯＢ４と表記）が投入されたものとする。ライセンスＬＩＣ０の空きが６個あるので、Ｈ１ＪＯＢ４は、符号１９１１に示すように即座に実行することができる。このような場合は、リソース解放割当ジョブ制御部３４ではなく、通常ジョブ制御部３３で、ジョブが処理される。
【０１６３】
図２０Ａは、即時ジョブ投入時の第１のジョブ入れ替え動作を示す図である。図２０Ａ（１）ではライセンスＬＩＣ０を使用した実行状態のジョブ数は１０個であり、この状態で新規に即時ジョブであるＨ１ＪＯＢ１０が投入されたものとする。この状態では、他のジョブのリソースを解放しないとＨ１ＪＯＢ１０は実行できない。
【０１６４】
そこで、リソース解放割当ジョブ制御部３４は一旦、Ｈ１ＪＯＢ１０を実行待ちジョブのキューに格納する。キューＨ１は、リソース解放キュー相関定義情報６０よりキューＬ１が解放可能であるので、リソース解放割当ジョブ制御部３４はキューＬ１のジョブＬ１ＪＯＢ２、Ｌ１ＪＯＢ３、Ｌ１ＪＯＢ７を選択する。
【０１６５】
リソース解放割当ジョブ制御部３４は、この選択したジョブの内、実行時間が短い（ジョブ列の下に位置するジョブ）を選択する。その結果、リソース（ライセンスＬＩＣ０）を解放されるジョブＬ１ＪＯＢ７が選ばれる。リソース解放割当ジョブ制御部３４は、符号２０１１に示すようにジョブＬ１ＪＯＢ７の実行を中断ないし停止して、実行待ちジョブ列に移動し、リソースを解放する。
【０１６６】
リソース解放割当ジョブ制御部３４は、ジョブＨ１ＪＯＢ１０へ解放されたリソースを割当て、符号２０１２に示すように実行中ジョブ列へ投入し実行状態とする。ちなみに、新規に投入したジョブＨ１ＪＯＢ１０は実行時間が一番短いので、リソース解放割当ジョブ制御部３４は、実行中ジョブ列の最後尾（一番下）であるジョブＨ２ＪＯＢ９の後に配置する。
【０１６７】
このようにして、リソース解放を要求するキューの実行待ちジョブに対して、解放対象のキューの実行中ジョブのリソースを割当てることにより、緊急性の高いジョブを即座に実行することができる。
【０１６８】
図２０Ａ（２）は、図２０Ａ（１）と同様に、ライセンスＬＩＣ０を使用した実行状態のジョブ数は１０個であり、この状態で新規に即時ジョブであるＨ１ＪＯＢ１３が投入されたものとする。ジョブの入れ替え動作は図２０Ａ（１）と同じであるが、リソースを解放したＬ１ＪＯＢ７の実行待ちジョブ列への移動先が異なる。
【０１６９】
まず、リソース解放割当ジョブ制御部３４は、新規に投入したジョブＨ１ＪＯＢ１３を、実行待ちジョブ列でＭ１ＪＯＢ１０、Ｌ２ＪＯＢ１１、Ｌ１ＪＯＢ１２の後ろに配置する。そして、リソース解放割当ジョブ制御部３４は、ジョブＬ１ＪＯＢ７のリソース解放後、ジョブＨ１ＪＯＢ１３を、符号２０２２のように実行中ジョブ列へ投入し実行させる。
【０１７０】
次に、リソース解放割当ジョブ制御部３４は、ジョブＬ１ＪＯＢ７を符号２０２１のように同一優先度“Ｐ１”を有するキューＬ１及びＬ２のジョブの先頭へ移動する。すなわち、ジョブ実行待ちの順番は、Ｍ１ＪＯＢ１０、Ｌ１ＪＯＢ７（リソース解放ジョブ）、Ｌ２ＪＯＢ１１、Ｌ１ＪＯＢ１２とし、リソース解放割当ジョブ制御部３４は、実行中にリソースが解放されたジョブが優先的に再開ないし再実行されるような優先制御を実施する。
【０１７１】
図２０Ａ（３）は、図２０Ａ（２）と同様に、ライセンスＬＩＣ０を使用した実行状態のジョブ数は１０個であり、この状態で即時ジョブであるＨ２ＪＯＢ１３とＨ１ＪＯＢ１４とが同時に投入されたものとする。
【０１７２】
まず、リソース解放割当ジョブ制御部３４は、ジョブＨ２ＪＯＢ１３の優先度“Ｐ４”と、ジョブＨ１ＪＯＢ１４の優先度“Ｐ５”を比較し、優先度が“Ｐ５”と高いジョブＨ１ＪＯＢ１４の実行処理を優先的に実施する。
【０１７３】
次に、リソース解放割当ジョブ制御部３４は、ライセンスＬＩＣ０のみを使用しているキューがＬ１であるジョブの内、実行時間が一番短いＬ１ＪＯＢ５とジョブＨ１ＪＯＢ１４とを符号２０３１、符号２０３２に示すように入れ替える。この場合も、リソース解放割当ジョブ制御部３４は、図２０Ａ（２）のようにリソースが解放されたジョブＬ１ＪＯＢ５を、同じ優先度Ｐ１を有するキューより優先させて実行待ちジョブ列に配置する。
【０１７４】
次に、リソース解放割当ジョブ制御部３４は、ジョブＨ２ＪＯＢ１３が必要とするライセンスＬＩＣ０及びＬＩＣ１を有する実行中のジョブ候補を選び出す。ジョブ候補としてはＬ２ＪＯＢ４とＬ２ＪＯＢ８であるが、リソース解放割当ジョブ制御部３４は、実行時間が短いジョブＬ２ＪＯＢ８を選択し、符号２０３３及び符号２０３４のようにジョブの入れ替えを実行する。
【０１７５】
以上のように、リソース解放とジョブ入れ替え制御は、リソース解放割当ジョブ制御３４がリソース解放キュー相関定義情報６０を用いて実行される。
【０１７６】
図２０Ｂは、即時ジョブ投入時の第１のジョブ入れ替えの詳細動作１を示す図である。図２０Ｃは、即時ジョブ投入時の第１のジョブ入れ替えの詳細動作２を示す図である。図２０Ｄは、即時ジョブ投入時の第１のジョブ入れ替えの詳細動作３を示す図である。
【０１７７】
図２０Ｂから図２０Ｄは、図２０Ａ（１）から図２０Ａ（３）のリソース解放とジョブ入れ替え制御を時系列毎に表現したものである。
【０１７８】
＜入れ替え動作２＞
図２１は、即時ジョブ投入時の第２のジョブ入れ替え動作を示す図である。
【０１７９】
図２１で、ライセンスＬＩＣ０を使用した実行状態のジョブ数は１０個でありライセンスの空きがない状態で、新規にジョブＨ１ＪＯＢ１０が投入されたものとする。このジョブＨ１ＪＯＢ１０の解放要求キューＨ１に対し、解放対象キューがリソース解放キュー相関定義情報６０に定義されていない。
【０１８０】
この状態では、実行中ジョブのリソースを解放しジョブの入れ替えを実行することができない。そこで、リソース解放割当ジョブ制御３４は、リソース不足監視通知３７にこの状態を通知して、リソース不足通知メッセージ等を出力装置２０６に表示させる。詳細については後述する（図３１）。また、このジョブＨ１ＪＯＢ１０の解放要求キューＨ１に対する解放対象キューがリソース解放キュー相関定義情報６０に定義されていても、実行中のジョブがなければ同様の処理を行う。
【０１８１】
＜入れ替え動作３＞
図２２は、即時ジョブ投入時の第３のジョブ入れ替え動作を示す図である。
【０１８２】
ライセンスＬＩＣ０を使用した実行中のジョブ数は９個で、ライセンスＬＩＣ１を使用した実行中のジョブ数は３個で、この状態で新規に即時ジョブであるキューＨ２のＪＯＢ９（Ｈ２ＪＯＢ９と表記）が投入されたものとする。
【０１８３】
ライセンスＬＩＣ０及びライセンスＬＩＣ１の空きはあるので、Ｈ２ＪＯＢ９は、符号２２０１及び符号２２０２のように即座に実行することができる。このような場合は、リソース解放割当ジョブ制御部３４ではなく、通常ジョブ制御部３３で処理される。
【０１８４】
＜入れ替え動作４＞
図２３は、即時ジョブ投入時の第３のジョブ入れ替え動作を示す図である。図２３の例では、ライセンスＬＩＣ０及びＬＩＣ１が必要な即時ジョブＨ２ＪＯＢ９（解放要求キューＨ２）が新規に投入された場合を示す。
【０１８５】
＜ライセンスＬＩＣ０不足１＞
まず、図２３（１）は、ライセンスＬＩＣ１に２つの空きライセンスが、ライセンスＬＩＣ０には空きが無い例である。そのため、リソース解放割当ジョブ制御３４は、ジョブＨ２ＪＯＢ１０を実行させるため、ライセンスＬＩＣ０を使用して実行中のジョブのリソースを解放する。まず、リソース解放キュー相関定義情報６０の解放対象キュー６０２の内容“Ｌ２＝１０、Ｌ１＝５”から、リソース解放割当ジョブ制御３４は、優先度が“１０”と高いキューＬ２を解放対象キュー候補とし、実行時間が一番短いＬ２ＪＯＢ８を選ぶ。
【０１８６】
そして、リソース解放割当ジョブ制御３４は、符号２３１１及び符号２３１２のようにジョブＬ２ＪＯＢ８を実行待ちジョブ列に移動し、ライセンスＬＩＣ０及びＬＩＣ１を解放してジョブＨ２ＪＯＢ１０に割当てる。解放されたライセンスＬＩＣ０及びＬＩＣ１を割当てられたジョブＨ２ＪＯＢ１０は、リソース解放割当ジョブ制御３４により、符号２３１３及び符号２３１４のように実行ジョブ列ＬＩＣ０及びＬＩＣ１へ格納され実行状態となる。
【０１８７】
＜ライセンスＬＩＣ０不足２＞
図２３（２）は、図２３（１）と同様にライセンスＬＩＣ０には空きライセンスがなく、ライセンスＬＩＣ１のみ２つの空きライセンスがある例である。そのため、リソース解放割当ジョブ制御３４は、ジョブＨ２ＪＯＢ１０を実行させるため、実行中のジョブが使用しているライセンスＬＩＣ０（リソース）を解放する。
【０１８８】
まず、リソース解放キュー相関定義情報６０の解放対象キュー６０２の内容“Ｌ２＝１０、Ｌ１＝５”から、リソース解放割当ジョブ制御３４は、優先度が“１０”と高いキューＬ２を解放対象キュー候補とする。しかしながら、Ｌ２キューは実行されていないのでリソースを解放することは出来ない。そこで、リソース解放割当ジョブ制御３４は、優先度が“５”であるキューＬ１を解放対象キュー候補とする。キューＬ１であるジョブは、Ｌ１ＪＯＢ２、Ｌ１ＪＯＢ３、Ｌ１ＪＯＢ７の３つある。
【０１８９】
そこで、リソース解放割当ジョブ制御３４は、リソース解放キュー相関定義情報６０の解放判定優先度６０３の内容“実行時間、中断／再開、停止／再実行”から、実行時間を基準としてリソースを解放できるジョブを抽出する。
【０１９０】
リソース解放割当ジョブ制御３４は、実行時間が一番短いジョブＬ１ＪＯＢ７をリソース解放対象とする。そして、リソース解放割当ジョブ制御３４は、符号２３２１のようにジョブＬ１ＪＯＢ７を実行待ちジョブ列に移動し、ライセンスＬＩＣ０を解放してジョブＨ２ＪＯＢ１０に割当てる。
【０１９１】
解放されたライセンスＬＩＣ０を割当てられたジョブＨ２ＪＯＢ１０は、リソース解放割当ジョブ制御３４により、符号２３２２及び符号２３２３のように実行ジョブ列ＬＩＣ０及びＬＩＣ１へ格納され実行状態となる。
【０１９２】
＜ライセンスＬＩＣ１不足＞
図２３（３）は、ライセンスＬＩＣ１には空きライセンスが無い場合の例である。図２３（３）の場合も図２３（２）と同様のリソース解放とジョブの入れ替えを行う。
【０１９３】
リソース解放割当ジョブ制御３４は、ライセンスＬＩＣ１を使用した実行中ジョブで実行時間が一番短いジョブＬ２ＪＯＢ７をリソース解放対象とする。そして、リソース解放割当ジョブ制御３４は、ジョブＬ２ＪＯＢ７を符号２３３１及び符号２３３２のように実行待ちジョブ列に移動し、ライセンスＬＩＣ０及びライセンスＬＩＣ１を解放してジョブＨ２ＪＯＢ９に充当する。
【０１９４】
解放されたライセンスＬＩＣ１を供与されたジョブＨ２ＪＯＢ９は、リソース解放割当ジョブ制御３４により、符号２３３３及び符号２３３４のように実行ジョブ列ＬＩＣ０及びＬＩＣ１に格納され実行状態となる。
【０１９５】
＜入れ替え動作５＞
図２４は、即時ジョブ投入時の第５のジョブ入れ替え動作を示す図である。
【０１９６】
図２４ではライセンスＬＩＣ０を使用して実行中のジョブ数は９個で、空きライセンスが１個ある。しかしながら、ライセンスＬＩＣ１を使用して実行中のジョブ数は５個で空きライセンスはない。また、新規に投入されたジョブＨ２ＪＯＢ９の解放要求キューＨ２に対し、解放可能な解放対象キューがリソース解放キュー相関定義情報６０に定義されていない。
【０１９７】
この状態では、実行中ジョブのリソースを解放しジョブの入れ替えを実行することができない。そこで、リソース解放割当ジョブ制御３４は、リソース不足監視通知３７にこの状態を通知して、リソース不足監視通知３７はリソース不足通知メッセージ等を出力装置２０６に表示させる。この動作は図２１と同様である。
【０１９８】
＜入れ替え動作６＞
図２５は、即時ジョブ投入時の第６のジョブ入れ替え動作を示す図である。
【０１９９】
図２５ではライセンスＬＩＣ０を使用して実行中のジョブ数は１０個、ライセンスＬＩＣ１を使用して実行中のジョブ数は５個で、ＬＩＣ０及びＬＩＣ１に空きライセンスはない。この状態で新規にジョブＨ２ＪＯＢ１０が投入されても実行できない。
【０２００】
そこで、リソース解放割当ジョブ制御３４は、ライセンスＬＩＣ０及びライセンスＬＩＣ１のリソース解放を行う。具体的には図２３（３）と同様の動作である。
【０２０１】
＜入れ替え動作７＞
図２６は、即時ジョブ投入時の第７のジョブ入れ替え動作を示す図である。
【０２０２】
図２６（１）ではライセンスＬＩＣ０を使用して実行中のジョブ数が１０個で、ライセンスＬＩＣ１を使用して実行中のジョブ数が５個であり、ＬＩＣ０及びＬＩＣ１に空きがない。また、新規に投入されたジョブＨ２ＪＯＢ９の解放要求キューＨ２に対し、解放可能な解放対象キューがリソース解放キュー相関定義情報６０に定義されていない。
【０２０３】
この状態では、実行中ジョブのリソースを解放しジョブの入れ替えを実行することができない。そこで、リソース解放割当ジョブ制御３４は、リソース不足監視通知３７にこの状態を通知して、リソース不足通知メッセージ等を出力装置２０６に表示させる。この動作は図２１、図２４と同様である。また、このジョブＨ２ＪＯＢ９の解放要求キューＨ２に対する解放対象キューがリソース解放キュー相関定義情報６０に定義されていても、実行中のジョブがなければ同様の処理を行う。
【０２０４】
図２６（２）は、３つのライセンス（ＬＩＣ０、ＬＩＣ１、ＬＩＣ３）が必要なジョブＨ５ＪＯＢ１０が新規に投入された場合のジョブ入れ替えを示す図である。
【０２０５】
図２６（２）ではライセンスＬＩＣ０を使用して実行中のジョブ数が１０個、ライセンスＬＩＣ１を使用して実行中のジョブ数及びライセンスＬＩＣ３を使用して実行中のジョブ数がそれぞれ５個であり、３つのライセンス共に空きがない。そこで、リソース解放割当ジョブ制御部３４は、ライセンスＬＩＣ０、ＬＩＣ１及びＬＩＣ３のリソース解放を行う。
【０２０６】
まず、リソース解放割当ジョブ制御部３４は、リソース解放キュー相関定義情報６０で、解放要求キュー６０１が“Ｈ５”である解放対象キュー６０２の内容“Ｌ５＝１０、Ｌ４＝５，Ｌ２＝５”から、解放キュー優先度が“１０“と一番高いキューＬ５を解放対象キュー候補とする。しかしながら、Ｌ５キューのジョブは実行されていないのでリソースを解放することは出来ない。
【０２０７】
そこで、リソース解放割当ジョブ制御部３４は、解放キュー優先度が“５”であるキューＬ４及びＬ２を解放対象キュー候補とする。キューＬ４であるジョブは、Ｌ４ＪＯＢ６、Ｌ４ＪＯＢ８の２つあるので、リソース解放キュー相関定義情報６０の解放判定優先度６０３の内容“実行時間”から、リソース解放割当ジョブ制御部３４は、実行時間でリソースを解放できるジョブを抽出する。そして、リソース解放割当ジョブ制御部３４は、抽出したジョブの中で一番実行時間が短いジョブ、すなわち、ジョブＬ４ＪＯＢ８を選択する。
【０２０８】
リソース解放割当ジョブ制御部３４は、このジョブＬ４ＪＯＢ８を中断ないし停止させて、符号２６０３及び符号２６０４のように実行待ちジョブ列へ格納する。これにより、リソース解放割当ジョブ制御部３４は、ライセンスＬＩＣ０及びライセンスＬＩＣ３というリソースを解放できる。
【０２０９】
次に、リソース解放割当ジョブ制御部３４は、ライセンスＬＩＣ１のリソース解放を行う。ライセンスＬＩＣ１のみを使用するキューはないので、リソース解放割当ジョブ制御部３４は、ライセンスＬＩＣ１を使用して実行しているキューＬ２のジョブを選択する。
【０２１０】
該当するジョブはＬ２ＪＯＢ０及びＬ２ＪＯＢ１であるので、リソース解放割当ジョブ制御部３４は、実行時間が短いＬ２ＪＯＢ１を中断し符号２６０１及び符号２６０２のように実行待ちジョブ列へ移動して、ライセンスＬＩＣ１のリソースを解放する。但し、ライセンスＬＩＣ０のリソースも同時に解放されるので、ライセンスＬＩＣ０が１つ余分に解放されたことになる。
【０２１１】
以上のジョブＬ４ＪＯＢ８及びＬ２ＪＯＢ１のリソースを解放することにより、ライセンスＬＩＣ０、ＬＩＣ１、ＬＩＣ３をジョブＨ５ＪＯＢ１０で使用できるようになるので、符号２６０５から符号２６０７のように実行中ジョブ列に投入できる。
【０２１２】
リソースを解放されたジョブＬ２ＪＯＢ１及びＬ４ＪＯＢ８の優先度は同じ“Ｐ１”であるので、リソース解放割当ジョブ制御部３４は、実行時間が長かったジョブが優先的に再開されるよう実行待ちジョブの順番を決定する。すなわち、リソース解放割当ジョブ制御部３４は、ジョブＬ２ＪＯＢ１、Ｌ４ＪＯＢ８の順に実行待ちジョブ列へ格納する。
【０２１３】
以上のように、リソース解放割当ジョブ制御部３４がリソース解放キュー相関定義情報６０を用いて、緊急性の低いキューの１つ以上のジョブのリソースを解放し緊急性の高いキューのジョブへ充当することができる。そのため、緊急性の高いキューのジョブを即座に実行することができ、リソース利用効率も向上できる。また、リソース不足状態の把握も容易になるのでライセンスのリソース管理も向上する。
【０２１４】
＜リソース解放と割当てのジョブ制御＞
図２７Ａから図２７Ｃは、リソース解放・割当てジョブの制御動作を示すフローチャート図である。以下の説明では、処理の主体は、リソース解放割当ジョブ制御部３４またはリソース不足監視通知部３７とするが、ＣＰＵ２０１でもよい。
【０２１５】
また、１つの解放要求ジョブに対して、解放対象ジョブのリソース解放処理を行う。すなわち、１回の解放対象リストの作成で、解放対象ジョブを解放し同時に別の解放要求ジョブに対する解放対象ジョブの解放処理は行わない。
【０２１６】
これは、ジョブ解放処理を行っている間にも新規に通常ジョブが投入されるなどして、リソース使用状況が変化する事が考えられる。そのため、空いていたライセンスが使用され、後続ジョブの要求リソースの再判定が必要な場合がある。そこで、１つの解放要求ジョブに対してのみ、解放対象ジョブのリソース解放処理を行う。
【０２１７】
Ｓ２７０１で、リソース解放割当ジョブ制御部３４は、リソース解放割当ジョブ制御の処理を開始する。
【０２１８】
Ｓ２７０２で、リソース解放割当ジョブ制御部３４は、リソース解放キュー相関定義情報６０（図６）をキュー管理データベース３９１から読み込む。
【０２１９】
Ｓ２７０３で、リソース解放割当ジョブ制御部３４は、リソース解放キュー相関定義情報６０で、解放要求キューが定義されているかを判断する。解放要求キューが定義されている場合（Ｓ２７０３：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、処理Ｓ２７０４を実行する。解放要求キューが定義されていない場合（Ｓ２７０３：ＮＯ）、リソース解放割当ジョブ制御部３４は、処理Ｓ２７０２を再び実行する。
【０２２０】
Ｓ２７０４で、リソース解放割当ジョブ制御部３４は、キュー設定情報７０（図７）をキュー管理データベース３９１から読み込む。
【０２２１】
Ｓ２７０５で、リソース解放割当ジョブ制御部３４は、リソース情報１２０（図１２）をリソースデータベース３９５から読み込む。
【０２２２】
Ｓ２７０６で、リソース解放割当ジョブ制御部３４は、全解放要求キュー（ｎ）のジョブのチェックが完了したかを判断する。チェックが完了している場合（Ｓ２７０６：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、処理Ｓ２７０２を再び実行する。チェックが完了していない場合（Ｓ２７０６：ＮＯ）、リソース解放割当ジョブ制御部３４は、処理Ｓ２７０７を実行する。
【０２２３】
Ｓ２７０７で、リソース解放割当ジョブ制御部３４は、実行ジョブ情報１１０（図１１）をジョブデータベース３９２から読み込む。
【０２２４】
Ｓ２７０８で、リソース解放割当ジョブ制御部３４は、解放要求キュー（ｎ）の実行待ちジョブをチェックする。つまり、リソース解放割当ジョブ制御部３４は、キュー設定情報７０の優先度７０２の内容を確認する。
【０２２５】
Ｓ２７０９で、リソース解放割当ジョブ制御部３４は、次解放要求キュー（ｎ＋１）の優先度と、解放要求キュー（ｎ）の優先度が同じであるかを判断する。優先度が同じであれば（Ｓ２７０９：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、処理Ｓ２７１０を実行する。優先度が同じでなければ（Ｓ２７０９：ＮＯ）、リソース解放割当ジョブ制御部３４は、処理Ｓ２７１１を実行する。
【０２２６】
Ｓ２７１０で、リソース解放割当ジョブ制御部３４は、ｎに１を加え、Ｓ２７０７以降の処理を再度実行する。
【０２２７】
以上のＳ２７０７からＳ２７１０の処理で、リソース解放割当ジョブ制御部３４（ジョブ管理システム２）は、優先度が一番高い実行待ちジョブのキューを特定できる。
【０２２８】
Ｓ２７１１で、リソース解放割当ジョブ制御部３４は、解放要求キューを持つ実行待ちジョブが有るかを判断する。実行待ちジョブが無い場合（Ｓ２７１１：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２７０７からの次解放要求キュー（ｎ＋１）の処理を実行する。実行待ちジョブが有る場合（Ｓ２７１１：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２７１２を実行する。
【０２２９】
Ｓ２７１２で、リソース解放割当ジョブ制御部３４は、リソース解放要求キューの実行待ちジョブを実行待ち時間が長い方から短い方へと整列させる。
【０２３０】
Ｓ２７１３で、リソース解放割当ジョブ制御部３４は、整列させたリソース解放要求キューのジョブ情報をリソース解放要求キュー要求ジョブリスト１６０に書き込む。
【０２３１】
Ｓ２７１４で、リソース解放割当ジョブ制御部３４は、全ての解放対象キューのジョブをチェックしたかを判断する。チェックを完了した場合（Ｓ２７１４：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２７２５を実行する。チェックを完了していない場合（Ｓ２７１４：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２７１５を実行する。
【０２３２】
Ｓ２７１５で、リソース解放割当ジョブ制御部３４は、実行ジョブ情報１１０を読み込む。
【０２３３】
Ｓ２７１６で、リソース解放割当ジョブ制御部３４は、解放対象キュー（ｍ）の実行中ジョブをチェックする。そして、リソース解放割当ジョブ制御部３４は、解放対象キューリスト１７０を作成ないしは更新する。
【０２３４】
Ｓ２７１７で、リソース解放割当ジョブ制御部３４は、次解放対象キュー（ｍ＋１）の優先度と、解放対象キュー（ｍ）の解放キュー優先度とをリソース解放キュー相関定義情報６０を用いて比較し同じかを判断する。解放キュー優先度が同じである場合（Ｓ２７１７：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２７２１を実行する。優先度が同じでない場合（Ｓ２７１７：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２７１８を実行する。
【０２３５】
Ｓ２７１８で、リソース解放割当ジョブ制御部３４は、リソース解放キュー相関定義情報６０の解放優先判定度６０３に“停止”または“中断”が設定されているかを判断する。  設定されている場合（Ｓ２７１８：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２７２２を実行する。設定されていない場合（Ｓ２７１８：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２７１９を実行する。
【０２３６】
Ｓ２７１９で、リソース解放割当ジョブ制御部３４は、リソース解放対象キューの実行中ジョブを実行時間が短い方から長い方へと整列させる。
【０２３７】
Ｓ２７２０で、リソース解放割当ジョブ制御部３４は、整列したリソース解放対象キューのジョブ情報をリソース解放対象ジョブリスト１８０（図１８）に書き込む。
【０２３８】
Ｓ２７２１で、リソース解放割当ジョブ制御部３４は、ｍに１を加え、再びＳ２７１４以降の処理を繰り返す。
【０２３９】
Ｓ２７２２で、リソース解放割当ジョブ制御部３４は、シミュレーション環境情報９０でのリソース解放ジョブ候補のリソース解放手段情報９０３を読み込む。 
【０２４０】
Ｓ２７２３で、リソース解放割当ジョブ制御部３４は、シミュレーションテスト情報１００でのリソース解放ジョブ候補のリソース解放手段情報１００４を読み込む。 
【０２４１】
Ｓ２７２４で、リソース解放割当ジョブ制御部３４は、解放対象キューの実行中ジョブを整列させる。リソース解放手段情報９０３またはリソース解放手段情報１００４に“中断／再開”、“停止／再実行”という順にリソース解放手段が設定されている場合、リソース解放割当ジョブ制御部３４は、まず、“中断／再開”と設定されたジョブに対して、実行時間が短いジョブから長いジョブへと整列させる。中断ポイントまでのシミュレーション情報を退避させるため、実行時間の短いジョブを停止させる方が、記憶資源を効率良く利用できるためである。
【０２４２】
次に、“停止／再実行”と設定されたジョブに対して、実行時間が短いジョブから長いジョブへと整列させる。停止／再実行の場合、シミュレーションを最初からやり直すため、実行時間が短いジョブを停止させる方が、ライセンスやメモリ等のリソースを効率良く利用できるためである。
【０２４３】
リソース解放手段情報９０３またはリソース解放手段情報１００４に“停止／再実行”、“中断／再開”という順にリソース解放手段が設定されている場合、リソース解放割当ジョブ制御部３４は、まず、“停止／再実行”と設定されたジョブに対して、実行時間が短いジョブから長いジョブへと整列させる。
【０２４４】
次に、“中断／再開”と設定されたジョブに対して、実行時間が短いジョブから長いジョブへと整列させる。Ｓ２７２０で、リソース解放割当ジョブ制御部３４は、整列したリソース解放対象キューのジョブ情報をリソース解放対象ジョブリスト１８０に書き込む。
【０２４５】
Ｓ２７１４からＳ２７２４までの処理で、リソース解放割当ジョブ制御部３４（ジョブ管理システム２）は、リソースを解放するジョブの候補を抽出できる。
【０２４６】
Ｓ２７２５で、リソース解放割当ジョブ制御部３４は、リソース解放要求キューが要求するリソースを持つリソース解放対象キューのジョブを抽出する。
【０２４７】
Ｓ２７２６で、リソース解放割当ジョブ制御部３４は、リソース解放対象ジョブ（該当ジョブ）が有るかを判断する。該当するジョブが無い場合（Ｓ２７２６：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２７３０を実行する。該当するジョブが有る場合（Ｓ２７２６：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２７２７を実行する。
【０２４８】
Ｓ２７２７で、リソース解放割当ジョブ制御部３４は、リソース解放対象ジョブがリソース解放要求ジョブのリソース要件を満足しているかを判断する。満足するリソース解放対象ジョブが存在する場合（Ｓ２７２７：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２７２８のリソース解放処理を実行する。満足するリソース解放対象ジョブが存在しない場合（Ｓ２７２７：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２７２５を再び実行する。
【０２４９】
１つの解放要求キューのジョブＨ５ＪＯＢ１０が実行するには、複数のライセンス、すなわちライセンスＬＩＣ０、ＬＩＣ１、ＬＩＣ３が必要であると図２６（２）で説明した。１つの解放要求キューのジョブの実行で必要なライセンスを１つの解放対象ジョブで充当することもできるが、２つ以上の解放対象ジョブで充当しなければならないケースもある。そこで、Ｓ２７２５からＳ２７２７の処理で、リソース解放割当ジョブ制御部３４は、リソースを充当できるジョブが存在するかを判断している。
【０２５０】
Ｓ２７２８で、リソース解放割当ジョブ制御部３４は、リソース解放対象ジョブに対しリソース解放（図２８）を実行する。
【０２５１】
Ｓ２７２９で、リソース解放割当ジョブ制御部３４は、リソース解放履歴１５０（図１５）を更新し、処理をＳ２７０２に戻し以降の処理を再度実行する。
【０２５２】
Ｓ２７３０で、リソース解放割当ジョブ制御部３４は、リソース不足発生履歴１４０（図１４）を更新し、Ｓ２７０７からの次解放要求キュー（ｎ＋１）の処理を実行する。
【０２５３】
＜リソース解放／割当＞
図２８は、リソース解放／割当処理を示すフローチャート図である。このリソース解放／割当処理は、図２７ＣのＳ２７２８により実行される。
【０２５４】
Ｓ２８０１で、リソース解放割当ジョブ制御部３４は、解放要求ジョブのキュー以外のキューを非アクティブ化し、他のキューのジョブにリソースを利用されないようにする。        
【０２５５】
Ｓ２８０２で、リソース解放割当ジョブ制御部３４は、Ｓ２７２５からＳ２７２７で抽出した解放対象ジョブを全て解放したかについて判断する。解放可能なジョブが有る場合（Ｓ２８０２：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２８０３を実行する。解放可能なジョブが無い場合（Ｓ２８０２：ＮＯ）、すなわち、割当リソースを確保できた場合、リソース解放割当ジョブ制御部３４は、Ｓ２８０７を実行する。Ｓ２８０７で、リソース解放割当ジョブ制御部３４は、解放されたリソースを解放要求ジョブへの割当てを実行する。そして、割当て完了後に、リソース解放割当ジョブ制御部３４は、解放要求キューのジョブを実行させる。その後、リソース解放割当ジョブ制御部３４は、Ｓ２８０４を実行する。
【０２５６】
Ｓ２８０３で、リソース解放割当ジョブ制御部３４は、図２９のリソース解放ジョブの中断／停止制御を行う。リソース解放ジョブの中断／停止制御の処理が完了すると、リソース解放割当ジョブ制御部３４は、再びＳ２８０２を実行する。
【０２５７】
Ｓ２８０４で、リソース解放割当ジョブ制御部３４は、リソースを割当てられた解放要求ジョブの状態をチェックし、タイムアウトになっているかを判断する。タイムアウトになっている場合（Ｓ２８０４：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２８０６を実行する。タイムアウトになっていない場合（Ｓ２８０４：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２８０５を実行する。
【０２５８】
Ｓ２８０５で、リソース解放割当ジョブ制御部３４は、Ｓ２８０１で非アクティブ化としたキューをアクティブ化する。
【０２５９】
Ｓ２８０６で、リソース解放割当ジョブ制御部３４は、障害通知を行う。具体的には、リソース解放割当ジョブ制御部３４は、障害情報を出力装置２０６に表示するか、ユーザ端末２３へメールでメッセージを送信し、システム管理者やユーザに知らしめる。
【０２６０】
Ｓ２８０５の処理を実行後、リソース解放割当ジョブ制御部３４は、処理をＳ２７２９へ遷移させ、リソース解放履歴１５０を更新する。
【０２６１】
＜ジョブ中断停止制御＞
図２９は、リソース解放ジョブの中断／停止を制御する処理を示すフローチャート図である。
【０２６２】
Ｓ２９０１で、リソース解放割当ジョブ制御部３４は、リソース解放対象ジョブが、中断／再開が可能なジョブであるかを、シミュレーション環境情報９０のリソース解放手段９０３またはシミュレーションテスト情報１００のリソース解放手段１００４で判断する。
【０２６３】
可能なジョブである場合（Ｓ２９０１：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２９０２を実行する。可能なジョブでない場合（Ｓ２９０１：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２９１３を実行する。
【０２６４】
Ｓ２９０２で、リソース解放割当ジョブ制御部３４は、 シミュレーションを正常に終了できる、かつシミュレーションを正常に継続して実行を再開できるシミュレーション中断ポイントを特定し、その中断ポイントまでシミュレーションが実行されたかを監視する。なお、Ｓ２９１３の処理内容は、シミュレーションを正常に終了できる、シミュレーション中断ポイントを特定することである。
【０２６５】
Ｓ２９０３で、リソース解放割当ジョブ制御部３４は、 シミュレーションを正常に再開できる中断ポイントまでのシミュレーションの実行情報を解放ジョブデータ退避エリア３９４ないしシミュレーションデータエリア３９３の退避エリアに退避する。
【０２６６】
Ｓ２９０４で、リソース解放割当ジョブ制御部３４は、シミュレーションを停止（終了）する。   
【０２６７】
Ｓ２９０５で、リソース解放割当ジョブ制御部３４は、シミュレーションの停止（終了）でエラーが発生したかを判断する。エラーが発生した場合（Ｓ２９０５：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２９１４の障害通知を実行する。エラーが発生していない場合（Ｓ２９０５：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２９０６を実行する。
【０２６８】
Ｓ２９０６で、リソース解放割当ジョブ制御部３４は、解放対象ジョブのリソース解放を実行する。その動作は、図２０Ａ等で説明した動作である。
【０２６９】
Ｓ２９０７で、リソース解放割当ジョブ制御部３４は、 シミュレーション環境情報９０のログ／オプション等を読み込む。
【０２７０】
Ｓ２９０８で、リソース解放割当ジョブ制御部３４は、シミュレーションを中断したジョブが中断／再開が可能なジョブであるかを、シミュレーション環境情報９０のリソース解放手段９０３またはシミュレーションテスト情報１００のリソース解放手段１００４で判断する。
【０２７１】
中断／再開が可能なジョブであれば（Ｓ２９０８：ＹＥＳ）、リソース解放割当ジョブ制御部３４は、Ｓ２９０９を実行する。中断／再開が可能なジョブでなければ（Ｓ２９０８：ＮＯ）、リソース解放割当ジョブ制御部３４は、Ｓ２９１５を実行する。リソース解放割当ジョブ制御部３４は、Ｓ２９１５は再開せず再実行するため、中断ポイントまでの不要なシミュレーション結果ファイルを削除する。また、シミュレーション結果ファイルの削除後に、リソース解放割当ジョブ制御部３４は、ジョブ実行で使用していたメモリ２０２や記憶部２１（データ３９）上のワークエリアを解放する。
【０２７２】
Ｓ２９０９で、リソース解放割当ジョブ制御部３４は、 中断ポイントまでのシミュレーション結果ファイルを、解放ジョブデータ退避エリア３９４ないしシミュレーションデータエリア３９３の退避エリアに退避する。また、シミュレーション結果ファイルの退避後に、リソース解放割当ジョブ制御部３４は、ジョブ実行で使用していたメモリ２０２や記憶部２１（データ３９）上のワークエリアを解放する。
【０２７３】
Ｓ２９１０で、リソース解放割当ジョブ制御部３４は、 再開用のシミュレーションにおけるシミュレーションパラメータの変更とシミュレーション実行シナリオ（テストプログラムなどの入力スティミュラス）の変換を行う。
【０２７４】
Ｓ２９１２で、リソース解放割当ジョブ制御部３４は、リソースを解放したジョブの再投入の制御を行う。
【０２７５】
具体的には、実行待ちジョブのキュー列にリソースを解放したジョブを配置する。この場合、リソース解放割当ジョブ制御部３４は、リソースを解放したジョブが優先的に実行されるよう制御する。
【０２７６】
以上のように、リソース解放割当ジョブ制御部３４が、緊急性の低いキューのリソースを解放し緊急性の高いキューのジョブへ充当することができる。そのため、緊急性の高いキューのジョブを即座に実行することができ、リソース利用効率も向上できる。  
【０２７７】
＜リソース不足通知＞
図３０Ａ及び図３０Ｂは、リソース不足監視通知を制御する処理を示すフローチャート図である。
【０２７８】
Ｓ３００１で、リソース不足監視通知部３７は、リソース不足監視通知処理を開始する。 
【０２７９】
Ｓ３００２で、リソース不足監視通知部３７は、キュー管理データベース３９１に格納されているリソース管理情報８０を読み込む。
【０２８０】
Ｓ３００３で、リソース不足監視通知部３７は、リソース管理情報８０に所定の内容が定義されているかを判断する。定義されていない場合（Ｓ３００３：ＮＯ）、リソース不足監視通知部３７は、Ｓ３００２を再び実行する。定義されている場合（Ｓ３００３：ＹＥＳ）、リソース不足監視通知部３７は、Ｓ３００４を実行する。
【０２８１】
Ｓ３００４で、リソース不足監視通知部３７は、リソースデータベース３９５からリソース不足発生履歴１４０を読み込む。
【０２８２】
Ｓ３００５で、リソース不足監視通知部３７は、 所定期間内でのキュー（ｉ）のリソース（ｊ）が不足したジョブ数をカウントする。
【０２８３】
Ｓ３００６で、リソース不足監視通知部３７は、カウントしたリソース不足のジョブ数がリソース不足通知条件（ｋ）の閾値を超過したかを判断する。ジョブ数が閾値を超過していない場合（Ｓ３００６：ＮＯ）、リソース不足監視通知部３７は、Ｓ３０１２を実行する。ジョブ数が閾値を超過している場合（Ｓ３００６：ＹＥＳ）、リソース不足監視通知部３７は、Ｓ３００７を実行する。
【０２８４】
Ｓ３００７で、リソース不足監視通知部３７は、所定期間（例えば、過去２週間）のリソース不足の発生グラフを作成する。
【０２８５】
Ｓ３００８で、リソース不足監視通知部３７は、キュー管理データベース３９１からリソース解放キュー相関定義６０を読み込む。
【０２８６】
Ｓ３００９で、リソース不足監視通知部３７は、該当キュー（ｉ）のリソース解放定義が有るかを判断する。リソース解放定義が無い場合（Ｓ３００９：ＮＯ）、リソース不足監視通知部３７は、Ｓ３０１８を実行する。リソース解放定義が有る場合（Ｓ３００９：ＹＥＳ）、リソース不足監視通知部３７は、Ｓ３００９１を実行する。Ｓ３０１８で、リソース不足監視通知部３７は、該当キュー（ｉ）の不足したリソース数、リソース不足発生グラフを管理者に通知する。 
【０２８７】
Ｓ３００９１で、リソース不足監視通知部３７は、リソース解放履歴１５０（図１５）を読み込む。そして、Ｓ３０１０で、リソース不足監視通知部３７は、所定期間（例えば、過去２週間）のリソース解放・割当の実績グラフを作成する。
【０２８８】
Ｓ３０１１で、リソース不足監視通知部３７は、 不足したリソース数、リソース不足グラフ、リソース解放・割当の実績グラフ、リソース解放キュー相関定義をシステム管理者に通知し、設定見直しなどを推奨する。
【０２８９】
Ｓ３０１２で、リソース不足監視通知部３７は、 全てのリソース不足通知条件（ｋ）のチェックが完了したかを判断する。チェックが完了した場合（Ｓ３０１２：ＹＥＳ）、リソース不足監視通知部３７は、Ｓ３０１４を実行する。チェックが完了しない場合（Ｓ３０１２：ＮＯ）、リソース不足監視通知部３７は、Ｓ３０１３を実行する。
【０２９０】
Ｓ３０１３で、リソース不足監視通知部３７は、ｋを１つ増やし、次のリソース不足通知条件（ｋ）で、Ｓ３００４以降のリソース不足の発生履歴のチェック処理を実行する。 
【０２９１】
Ｓ３０１４で、リソース不足監視通知部３７は、全てのリソース（ｊ）のチェックが完了したかを判断する。チェックが完了した場合（Ｓ３０１４：ＹＥＳ）、リソース不足監視通知部３７は、Ｓ３０１６を実行する。チェックが完了しない場合（Ｓ３０１４：ＮＯ）、リソース不足監視通知部３７は、Ｓ３０１５を実行する。
【０２９２】
Ｓ３０１５で、リソース不足監視通知部３７は、ｊを１つ増やし、次のリソース（ｊ）で、Ｓ３００４以降のリソース不足の発生履歴のチェック処理を実行する。
【０２９３】
Ｓ３０１６で、リソース不足監視通知部３７は、全てのキュー（ｉ）をチェックが完了したかを判断する。チェックが完了した場合（Ｓ３０１６：ＹＥＳ）、リソース不足監視通知部３７は、再びＳ３００２以降の処理を実行する。チェックが完了しない場合（Ｓ３０１６：ＮＯ）、リソース不足監視通知部３７は、Ｓ３０１７を実行する。
【０２９４】
Ｓ３０１７で、リソース不足監視通知部３７は、ｉを１つ増やし、次のキュー（ｉ）で、Ｓ３００４以降のリソース不足の発生履歴のチェック処理を実行する。
【０２９５】
以上の処理で、リソース不足監視通知部３７（ジョブ管理システム２）は、リソース不足の監視と不足リソース情報の通知をシステム管理者などへ行うことができる。そのため、システム管理者はライセンスのリソース不足への対応を迅速に行うことができるので、リソースの利用効率の向上やシミュレーション待ち時間やサスペンド時間の短縮を図ることができる。
【０２９６】
＜管理画面＞
図３１は、管理画面の構成例を示す図である。管理画面には、（１）通知メッセージ、（２）発生グラフ／実績グラフを表示する。また、管理画面とは、ジョブ管理システム２の出力装置２０６やユーザ端末２３の表示画面（図示なし）などである。
【０２９７】
（１）通知メッセージ
リソース不足監視通知部３７は、符号３１０１のような“２０１２／４／２０  １７:００  キューＨ１のリソース解放要求定義は未定義です。設定を推奨します。”というメッセージを管理画面に表示することができる。これにより、ジョブ管理システム２は、未定義のリソース解放要求の発生を防止できる。
【０２９８】
同じく、リソース不足監視通知部３７は、符号３１０２のような“２０１２／４／２１  １０:００  キューＨ１のリソース解放要求定義は下記です。設定見直しを推奨します。”というメッセージを設定情報と共に表示することもできる。これにより、ジョブ管理システム２は、リソース解放要求の見直しをシステム管理者に推奨できる。
【０２９９】
また、リソース不足監視通知部３７は、符号３１０３のような“２０１２／５／１５ １６:００ キューＨ１のライセンスＬＩＣ０の不足が３１回／１ｈで、リソース不足条件（２０回／１ｈ）を超過し、１５５％です。”というリソース不足通知メッセージを表示できる。これにより、ジョブ管理システム２は、リソース不足が発生したライセンスの種類、リソース不足が発生した回数、リソース不足が発生した回数の閾値に対する割合などの定量的データをシステム管理者に提供できる。
【０３００】
また、リソース不足監視通知部３７は、符号３１０４のような“２０１２／５／１５  １６：０１ キューＬ０を解放し、解放したリソースＬＩＣ０をキューＨ１に割当てました。” というリソース解放割当不足の通知メッセージを表示できる。これにより、ジョブ管理システム２は、リソースの解放状況と割当状況をシステム管理者に提供できる。
【０３０１】
（２）発生グラフ／実績グラフ
更に、リソース不足監視通知部３７は、上記メッセージに加え、リソース不足が発生したジョブ数を時系列的に纏めた「リソース不足発生グラフ」（２−１）も表示できる。
【０３０２】
加えて、リソース不足監視通知部３７は、解放要求キューのライセンス毎のリソース不足に対し解放したキューのジョブ数の実績を示す「リソース解放・割当実績グラフ」（２−２）を管理画面に表示することができる。このリソース解放割当実績グラフは、どの解放キューから解放したライセンスを割当て利用したかをグラフ化したものである。このグラフで表示している閾値（２０個）は、管理画面と入力装置２０５を用いて所定の値を入力することができる。
【０３０３】
以上のように、未定義のキューにおけるリソース解放要求の定義の設定や設定見直しの推奨で、ライセンスのリソースを効率的に使用することが可能となる。また、リソース不足の通知でリソース不足状態を迅速に把握できる。
【０３０４】
更に、リソース不足やリソース解放割当の実績グラフによる可視化により、長期的または慢性的なリソース不足の状態を把握できるので、リソース補強によるリソースの利用効率を向上できる。
【０３０５】
以上説明したように、緊急性の高いジョブを即時に実行させるため、リソース解放を要求キューの実行待ちジョブに対して、緊急度の低い解放対象キューのジョブのリソースを解放し、前述のジョブに解放リソースを割当てる。これにより、従来、使用できるライセンス種類またはライセンス数が不足すると、投入済みの実行ジョブが終了するまで、新たにジョブを投入することができなかったという課題を解決できる。更に、緊急度の高いジョブのために、ライセンスを使用せず空けておく必要がなく、ライセンスの使用効率も向上できる。
【０３０６】
また、以上の説明では、ジョブを実行させるための実行資源として、実行計算機２２上で動作するソフトウェアのライセンスについて行ったが、図３記載の実行計算機２２のハードウェア資源である演算部２２０１のＭＰ、共有メモリ２２０２、キャッシュメモリ２２０７、記憶部２２１のディスク２２１１等の物理的な実行資源でも本発明を適用できる。
【０３０７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。    また、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０３０８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【０３０９】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置いてもよい。
【０３１０】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０３１１】
２  ジョブ管理システム
１１  実行中ジョブキュー
１２  実行待ちジョブキュー
１３  実行中ジョブ
１４  実行待ちジョブ
２２  実行計算機
２３  ユーザ端末
３４  リソース解放割当ジョブ制御部
３７  リソース不足監視通知部
６０  リソース解放キュー相関定義情報
７０  キュー設定情報
【図１】
2015530656.tif 000003
【図２】
2015530656.tif 000004
【図３】
2015530656.tif 000005
【図４】
2015530656.tif 000006
【図５】
2015530656.tif 000007
【図６】
2015530656.tif 000008
【図７】
2015530656.tif 000009
【図８】
2015530656.tif 000010
【図９】
2015530656.tif 000011
【図１０】
2015530656.tif 000012
【図１１】
2015530656.tif 000013
【図１２】
2015530656.tif 000014
【図１３】
2015530656.tif 000015
【図１４】
2015530656.tif 000016
【図１５】
2015530656.tif 000017
【図１６】
2015530656.tif 000018
【図１７】
2015530656.tif 000019
【図１８】
2015530656.tif 000020
【図１９】
2015530656.tif 000021
【図２０Ａ】
2015530656.tif 000022
【図２０Ｂ】
2015530656.tif 000023
【図２０Ｃ】
2015530656.tif 000024
【図２０Ｄ】
2015530656.tif 000025
【図２１】
2015530656.tif 000026
【図２２】
2015530656.tif 000027
【図２３】
2015530656.tif 000028
【図２４】
2015530656.tif 000029
【図２５】
2015530656.tif 000030
【図２６】
2015530656.tif 000031
【図２７Ａ】
2015530656.tif 000032
【図２７Ｂ】
2015530656.tif 000033
【図２７Ｃ】
2015530656.tif 000034
【図２８】
2015530656.tif 000035
【図２９】
2015530656.tif 000036
【図３０Ａ】
2015530656.tif 000037
【図３０Ｂ】
2015530656.tif 000038
【図３１】
2015530656.tif 000039
【国際調査報告】
2015530656.tif 000040
2015530656.tif 000041