(57)【要約】【課題】  リソース不足によるアプリケーションの途中停止が起きる可能性を小さくし、また、リソース不足が解消された際には処理の継続を実現できるようにする。【解決手段】  アプリケーション１１０が確保したリソースに係るリソース量を含むリソース情報を保持するリソース情報管理テーブル１３２と、アプリケーション１１０を監視し、リソース情報管理テーブル１３２の更新を行うとともにアプリケーションごとの最大使用リソース量を得る処理を行う監視部１３１と、リソース情報管理テーブル１３２のリソース情報及びアプリケーションごとの最大使用リソース量に基づいて、利用可能なリソース量を算出する算出部１３３と、算出された利用可能なリソース量と実行対象のアプリケーションにおける最大使用リソース量とに基づいて、アプリケーション１１０の実行を制御する制御部１３４を具備する。【選択図】  図１
2010102404.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの実行に係る処理を行う情報処理装置であって、
前記アプリケーションが確保したリソースに係る情報であって当該リソースのリソース量を含むリソース情報を保持するリソース情報管理テーブルと、
前記アプリケーションを監視し、前記リソース情報管理テーブルの更新を行うとともに前記アプリケーションごとの最大使用リソース量を得る処理を行う監視手段と、
前記リソース情報管理テーブルのリソース情報および前記アプリケーションごとの前記最大使用リソース量に基づいて、利用可能なリソース量を算出する算出手段と、
前記利用可能なリソース量と実行対象の前記アプリケーションにおける前記最大使用リソース量とに基づいて、前記アプリケーションの実行を制御する制御手段と
を有することを特徴とする情報処理装置。
【請求項２】
一連の前記アプリケーションをジョブとして定義し、当該一連のアプリケーションをジョブとして処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記監視手段は、
前記アプリケーションごとに前記最大使用リソース量を保持し、
前記アプリケーションが前記リソースを確保または開放した際に、前記リソース情報管理テーブルを更新するものであり、
前記リソース情報管理テーブルのリソース情報から前記アプリケーションの使用リソース量を得る処理を行い、当該使用リソース量が前記アプリケーションの前記最大使用リソース量を超えた場合に、前記保持した前記最大使用リソース量を前記使用リソース量で更新する処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記算出手段は、
実行中の前記アプリケーションおよび前記リソース情報管理テーブルのリソース情報に基づいて、前記アプリケーションの実行が終了したリソース量を合計して残存使用リソース量を求め、
前記実行中のアプリケーションごとの前記最大使用リソース量を合計し、当該合計した最大使用リソース量と前記残存使用リソース量との和である合計最大使用リソース量を求め、
あらかじめ定めた許容量と前記合計最大使用リソース量との差を前記利用可能なリソース量として算出することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記ジョブの前記アプリケーションごとにチェックポイントが設けられており、
前記監視手段は、
前記ジョブごとに通過した前記チェックポイントの数と予定最大使用リソース量とを関連付けて保持するとともに、前記チェックポイントごとに最大使用リソース量を保持し、
前記アプリケーションが前記リソースの確保を行ったことを検知した際に、使用リソース量を得る処理を行うとともに、前記通過したチェックポイントの数と前記アプリケーションごとのチェックポイントから、前記ジョブの当該チェックポイントの最大使用リソース量を得る処理を行い、前記使用リソース量が当該最大使用リソース量を超えた場合に、前記保持した前記最大使用リソース量を前記使用リソース量で更新する処理を行い、
前記チェックポイントを通過することを検知した際、前記保持した前記通過したチェックポイントの数を更新し、当該通過したチェックポイントの数と前記アプリケーションごとのチェックポイントから、通過予定のチェックポイントを得る処理を行い、当該通過予定のチェックポイントのうち、前記最大使用リソース量が最大のもので、前記保持した前記予定最大使用リソース量を更新する処理を行い、
前記算出手段は、
実行中の前記ジョブに基づいて残存使用リソース量を求めるとともに、当該残存使用リソース量と前記実行中のジョブにおける前記予定最大使用リソース量の合計との和を合計最大使用リソース量として求め、あらかじめ定めた許容量と前記合計最大使用リソース量との差を前記利用可能なリソース量として算出することを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記制御手段は、前記実行対象のアプリケーションにおける前記最大使用リソース量が前記利用可能なリソース量を超えた場合、警告或いはエラーを報知する処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記実行対象のアプリケーションとして複数のアプリケーションの実行を待ち合わせており、
前記制御手段は、前記利用可能なリソース量が、前記複数のアプリケーションのうちの１つのアプリケーションにおける前記最大使用リソース量を超えている場合、当該アプリケーションの提示或いは選択実行の制御を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記制御手段は、
前記実行対象のアプリケーションにおける前記最大使用リソース量が前記利用可能なリソース量を超えている場合に、当該実行対象のアプリケーションの実行を待ち合わせる処理を行い、
実行中の前記アプリケーションの実行が終了した際に得られた残存使用リソースの開放を行った後、当該残存使用リソースのリソース量を考慮した前記利用可能なリソース量が前記実行対象のアプリケーションにおける前記最大使用リソース量を超えた場合に、当該実行対象のアプリケーションを実行する制御を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記制御手段は、前記実行中のアプリケーションの実行が終了したことを検知する検知手段を含み構成されており、
前記検知手段で前記実行中のアプリケーションの実行が終了したことを検知した場合に、前記残存使用リソースの開放を行うことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記ジョブの前記アプリケーションごとにチェックポイントが設けられており、
前記制御手段は、
実行対象の前記ジョブにおける最大使用リソース量が前記利用可能なリソース量を超えている場合に、当該実行対象のジョブにおける前記チェックポイントの通過を待ち合わせる処理を行い、
前記チェックポイントの通過を検知した後、当該チェックポイントの通過を考慮した前記利用可能なリソース量が前記実行対象のジョブにおける最大使用リソース量を超えた場合に、当該実行対象のジョブを実行する制御を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項１１】
当該情報処理装置が半導体露光装置として用いられることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
アプリケーションの実行に係る処理を行うものであり、前記アプリケーションが確保したリソースに係る情報であって当該リソースのリソース量を含むリソース情報を保持するリソース情報管理テーブルを備える情報処理装置の制御方法であって、
前記アプリケーションを監視し、前記リソース情報管理テーブルの更新を行うとともに前記アプリケーションごとの最大使用リソース量を得る処理を行う監視ステップと、
前記リソース情報管理テーブルのリソース情報および前記アプリケーションごとの前記最大使用リソース量に基づいて、利用可能なリソース量を算出する算出ステップと、
前記利用可能なリソース量と実行対象の前記アプリケーションにおける前記最大使用リソース量とに基づいて、前記アプリケーションの実行を制御する制御ステップと
を有することを特徴とする情報処理装置の制御方法。
【請求項１３】
アプリケーションの実行に係る処理を行うものであり、前記アプリケーションが確保したリソースに係る情報であって当該リソースのリソース量を含むリソース情報を保持するリソース情報管理テーブルを備える情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、
前記アプリケーションを監視し、前記リソース情報管理テーブルの更新を行うとともに前記アプリケーションごとの最大使用リソース量を得る処理を行う監視ステップと、
前記リソース情報管理テーブルのリソース情報および前記アプリケーションごとの前記最大使用リソース量に基づいて、利用可能なリソース量を算出する算出ステップと、
前記利用可能なリソース量と実行対象の前記アプリケーションにおける前記最大使用リソース量とに基づいて、前記アプリケーションの実行を制御する制御ステップと
をコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの実行に係る処理を行う情報処理装置及びその制御方法、当該制御方法をコンピュータに実行させるためのプログラム、並びに、当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【０００２】
一般に、情報処理装置において、アプリケーションを実行する時に、それらのアプリケーションを実行する際には、多数のリソース（メモリ、ディスク、デバイス等）を使用する。例えば、ソフトウェアプログラミングにおいて、アプリケーションの実行時に、一時的な作業領域やデータ保存領域としてメモリ領域を確保し、不要になった時点で再びメモリ領域を解放するといったことが行われる。
【０００３】
しかしながら、アプリケーションの実行時に、必要としているリソースを確保することができないと、動作が遅くなる恐れ、或いはアプリケーションが途中停止してしまう恐れがある。また、複数のアプリケーションを実行する場合、一度、リソース不足が起こると、途中停止したアプリケーションのみでなく、他の実行中のアプリケーションにおいても連鎖的にリソース不足が発生する恐れがある。そのような場合には、システムの性能と安定性を回復するために、アプリケーションの強制終了や、システムを再起動する措置を取らなければならない。
【０００４】
しかしながら、アプリケーションの強制終了や、システムの再起動が大きな損害を伴う装置（情報処理装置）も存在する。例えば、半導体露光装置のように複数のウェハからなるロット単位で作業内容の指示が行なわれる場合、ロットを処理中にアプリケーションの強制終了を行うと、ロット中の一部のウェハを破棄せざるを得ない事態が生じる。また、半導体露光装置は、一旦生産計画に基づき生産を開始すると、数週間に渡って稼動し続けることを前提としており、安易にシステムを再起動することはできない。これは、半導体露光装置を再起動すると初期化処理やハードウェアの調整処理を行う必要があり、その間、工場ラインの他の装置も一時停止して生産量の調整を行わなければならないためである。このように、アプリケーションの実行中にリソース不足が発生し、情報処理装置が途中で停止すると、顧客は大きな損害を被る。
【０００５】
従来、このリソース不足によるアプリケーションの途中停止を防ぐ技術としては、例えば、下記の特許文献１に示すものが提案されている。具体的に、特許文献１では、アプリケーション起動時に、アプリケーション毎の最大メモリ使用量を求め、この最大メモリ使用量の和がアプリケーション全体で使用できるメモリの総量を超えたか否かを元にアプリケーションの起動の可否を判定するものである。
【０００６】
【特許文献１】特開２００６−２８５８７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術に係る情報処理装置では、以下に示すような問題点があった。
【０００８】
第１に、起動対象のアプリケーションのみで判定を行っているため、例えば、半導体露光装置のように複数のアプリケーションが連続して起動することでジョブとして１つの機能を実現している場合、あるアプリケーションが起動しても、後続するアプリケーションが起動しなければ、ジョブとしては途中で停止してしまう可能性があるにもかかわらず、アプリケーションを起動可能としてしまうという問題があった。
【０００９】
また、第２に、アプリケーション毎の最大メモリ使用量の和とアプリケーション全体で使用できるメモリの総量のみで起動の可否の判定を行うため、例えば、半導体露光装置のように１つの機能を構成する複数のアプリケーションの間で共有するメモリや、開放忘れメモリなどが存在した場合、リソース不足になる可能性があるにもかかわらず、アプリケーションを起動可能と判断してしまうという問題があった。
【００１０】
また、第３に、アプリケーションを起動不可能と判断した場合、警告或いはエラーを報知した後にアプリケーションをどのように制御するのかについてはユーザの判断に任せられていたため、バッチ処理などを行う場合、他のアプリケーションが終了し、アプリケーションが起動可能になったにもかかわらず、そこで処理が停止したままになってしまうという問題があった。
【００１１】
そこで、本発明は、リソース不足によるアプリケーションの途中停止が起きる可能性を小さくし、また、リソース不足が解消された際には処理の継続を実現できる情報処理装置及びその制御方法、プログラム、並びに記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の情報処理装置は、アプリケーションの実行に係る処理を行う情報処理装置であって、前記アプリケーションが確保したリソースに係る情報であって当該リソースのリソース量を含むリソース情報を保持するリソース情報管理テーブルと、前記アプリケーションを監視し、前記リソース情報管理テーブルの更新を行うとともに前記アプリケーションごとの最大使用リソース量を得る処理を行う監視手段と、前記リソース情報管理テーブルのリソース情報および前記アプリケーションごとの前記最大使用リソース量に基づいて、利用可能なリソース量を算出する算出手段と、前記利用可能なリソース量と実行対象の前記アプリケーションにおける前記最大使用リソース量とに基づいて、前記アプリケーションの実行を制御する制御手段とを有する。
【００１３】
本発明の情報処理装置の制御方法は、アプリケーションの実行に係る処理を行うものであり、前記アプリケーションが確保したリソースに係る情報であって当該リソースのリソース量を含むリソース情報を保持するリソース情報管理テーブルを備える情報処理装置の制御方法であって、前記アプリケーションを監視し、前記リソース情報管理テーブルの更新を行うとともに前記アプリケーションごとの最大使用リソース量を得る処理を行う監視ステップと、前記リソース情報管理テーブルのリソース情報および前記アプリケーションごとの前記最大使用リソース量に基づいて、利用可能なリソース量を算出する算出ステップと、前記利用可能なリソース量と実行対象の前記アプリケーションにおける前記最大使用リソース量とに基づいて、前記アプリケーションの実行を制御する制御ステップと
を有する。
【００１４】
本発明のプログラムは、アプリケーションの実行に係る処理を行うものであり、前記アプリケーションが確保したリソースに係る情報であって当該リソースのリソース量を含むリソース情報を保持するリソース情報管理テーブルを備える情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、前記アプリケーションを監視し、前記リソース情報管理テーブルの更新を行うとともに前記アプリケーションごとの最大使用リソース量を得る処理を行う監視ステップと、前記リソース情報管理テーブルのリソース情報および前記アプリケーションごとの前記最大使用リソース量に基づいて、利用可能なリソース量を算出する算出ステップと、前記利用可能なリソース量と実行対象の前記アプリケーションにおける前記最大使用リソース量とに基づいて、前記アプリケーションの実行を制御する制御ステップとをコンピュータに実行させるためのである。
【００１５】
本発明のコンピュータ読み取り可能な記憶媒体は、前記プログラムを記憶する。
【発明の効果】
【００１６】
本発明によれば、リソース不足によるアプリケーションの途中停止が起きる可能性を小さくし、また、リソース不足が解消された際には処理の継続を実現することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しながら、本発明を実施するための最良の形態について説明する。
なお、以下に示す本発明の実施形態においては、本発明に係る情報処理装置として、半導体露光装置を適用した例について説明を行う。
【００１８】
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。
図１は、本発明の第１の実施形態に係る情報処理装置（半導体露光装置）の概略構成の一例を示すブロック図である。なお、上述したように、本実施形態に係る情報処理装置としては、半導体露光装置を適用する。
【００１９】
図１に示すように、情報処理装置（半導体露光装置）１００は、アプリケーション群１１０と、リソース群１２０と、アプリケーション管理部１３０と、（半導体露光装置の）メインアプリケーション１４０を有して構成されている。また、アプリケーション管理部１３０は、アプリケーション監視部１３１と、リソース情報管理テーブル１３２と、リソース量算出部１３３と、アプリケーション終了検知部１３４１を具備するアプリケーション制御部１３４を有して構成されている。
【００２０】
アプリケーション群１１０は、対象装置上で実行中もしくは実行待ちのアプリケーションを含むものであり、それぞれ、実行中アプリケーション１１１、実行待ちアプリケーション１１２に分けられる。
【００２１】
リソース群１２０は、対象装置上におけるリソースの集まりであり、このリソースとは、メモリ、ディスク、デバイス等などが適用される。
【００２２】
アプリケーション監視部１３１は、アプリケーション群１１０のアプリケーションの実行に係るリソースの確保、開放を監視し、そのリソースに係るリソース情報をリソース情報管理テーブル１３２に記録し更新する。また、アプリケーション監視部１３１は、アプリケーションごとの最大使用リソース量等を得る処理を行う。この際、アプリケーション監視部１３１は、自身でこの最大使用リソース量等を求めて最大使用リソース量を得るようにしてもよいし、リソース量算出部１３３に最大使用リソース量等を求めさせて最大使用リソース量を得るようにしてもよい。
【００２３】
リソース情報管理テーブル１３２には、アプリケーション監視部１３１等により得られた情報（リソース情報）を、テーブルとして記録し管理するものである。
【００２４】
図２は、図１に示すリソース情報管理テーブル１３２に記録される情報であって、図１に示すアプリケーション監視部１３１で得た情報のテーブルの一例を示す模式図である。
図２に示す情報としては、アプリケーション群１１０のアプリケーションに係るアプリケーションＩＤ、リソース種別、システムリソースＩＤ、リソース量の各情報がアプリケーションに対応付けられて設定されている。
【００２５】
リソース量算出部１３３は、リソース情報管理テーブル１３２に記録（保持）されているリソース情報及びアプリケーションごとの最大使用リソース量に基づいて、利用可能なリソース量を算出する。なお、リソース量算出部１３３は、必要に応じて、アプリケーション監視部１３１から要求があった場合にアプリケーションごとの最大使用リソース量を含む各種のリソース量の算出処理を行う。更に、リソース量算出部１３３は、必要に応じて、アプリケーション制御部１３４から要求があった場合に各種のリソース量の算出処理を行う。
【００２６】
アプリケーション制御部１３４は、当該半導体露光装置のメインアプリケーション１４０から実行待ちアプリケーション１１２の実行要求を受け付け、リソース量算出部１３３で算出された算出結果に基づき、アプリケーション群１１０を制御する。
【００２７】
ここで、アプリケーションとは、情報処理装置１００において１つの機能を実現するためのプログラム群を指しており、オペレーティングシステムの実行切り替え、即ち、スケジューリング単位であるタスク、スレッド或いはプロセスなどとは独立した存在である。つまり、１つのアプリケーションが単一タスクで実現されていることもマルチタスクで実現されているということもあり得る。このとき、各アプリケーションがどのタスクから構成されているかという情報は、例えば情報処理装置１００のオペレーティングシステム（不図示）などにより保持される。また、情報処理装置１００でどのアプリケーションが実行中かという情報も、当該オペレーティングシステムなどにより保持される。さらに、同一アプリケーションを複数同時に実行させることもできる。
【００２８】
なお、本実施形態に係る半導体露光装置では、予め露光処理の処理手順などを記述したレシピをジョブとして実行することで処理が行われる。そして、ジョブが実行されると、本実施形態に係る半導体露光装置は、処理手順に対応したアプリケーションを順次起動し、アプリケーション間で情報を受け渡しながら全体として１つの機能を実現する。このとき、メインアプリケーション１４０は、実行ジョブ毎に一意の実行ＩＤを割り振り、各ジョブの状態を管理する。
【００２９】
図３は、本発明の第１の実施形態に係る情報処理装置（半導体露光装置）で用いる、当該情報処理装置における処理手順及び露光パラメータが記述されたレシピの一例を示す模式図である。
図３に示すレシピには、実行ＩＤ、ジョブ名、レシピＩＤ、レチクルＩＤ、ウェハ枚数、装置状態変数Ａ及び装置状態変数Ｂが各レシピごとに予め設定されている。
【００３０】
図４は、本発明の第１の実施形態に係る情報処理装置（半導体露光装置）で用いる、当該情報処理装置におけるジョブを管理するためのテーブルの一例を示す模式図である。
図４に示すジョブの管理テーブルには、レシピＩＤ、処理１、処理２、・・・、パラメータＡ、パラメータＢ、・・・が設定されている。ジョブの状態は、例えば、図４に示すように、図３に示す実行ＩＤごとに対応するレシピや装置状態変数値を管理するテーブルとなっている。
【００３１】
この際、本情報処理装置で管理する対象としてジョブ内の個々のアプリケーションではなく、実行ＩＤを元にジョブとして管理することで、後続するアプリケーションの起動も含めてアプリケーションの起動の可否を判断することができる。これにより、アプリケーションのリソース不足による、ジョブとしての途中停止を防止し、システムダウンまたはアプリケーションの途中停止を防止することができる。
【００３２】
次に、本実施形態におけるアプリケーション監視処理の処理手順について説明する。
図５は、本発明の第１の実施形態に係る情報処理装置（半導体露光装置）によるアプリケーション監視処理の処理手順の一例を示すフローチャートである。この図５に示す処理は、主として、アプリケーション監視部１３１で行われる。また、この図５に示す処理は、アプリケーション群１１０のアプリケーションが、リソースの確保もしくは開放を行うたびに起動される。
【００３３】
図５のステップＳ１０１において、アプリケーション監視部１３１は、監視対象のアプリケーションがリソースの取得（確保）を行ったか否かを判断する。
【００３４】
ステップＳ１０１の判断の結果、監視対象のアプリケーションがリソースの取得（確保）を行った場合には、ステップＳ１０２に進む。
ステップＳ１０２に進むと、アプリケーション監視部１３１は、リソースの取得（確保）を行ったアプリケーションから、アプリケーション名、アプリケーションＩＤ、リソースの種別、システムリソースＩＤ及びリソース量などの情報を受け取る。
【００３５】
ここで、システムリソースＩＤは、オペレーティングシステムが提供するシステムコールを実行することでリソース群１２０を確保した場合には、システムコールの戻り値になる。このシステムコールの戻り値は、ファイルの場合にはファイルディスクリプタ、メモリの場合には確保領域の先頭アドレスなどに対応する値である。
【００３６】
また、ここでのリソース量は、一度に確保したリソースの量となる。例えば、メモリなどを確保する場合、複数のアドレスをまとめて１つのブロックとして一度に確保することができるので、この場合のリソース量としては確保したメモリのバイト数などが考えられる。
【００３７】
また、アプリケーション名は、アプリケーションの種類を表すものであり、実際のプログラム名等が考えられ、オペレーティングシステムにより管理される。管理する対象としてジョブを管理する場合には、実行中のジョブに対して本半導体露光装置のメインアプリケーション１４０により管理されるジョブ名をアプリケーション名として用いてもよい。
【００３８】
アプリケーションＩＤは、実行中のアプリケーションに対してオペレーティングシステムにより一意に割り振られ、同一のアプリケーションが複数起動している場合には、別の値が割り振られるものとする。このとき、アプリケーション名は、同じものとなる。なお、一度使用されたアプリケーションＩＤでリソース情報管理テーブル１３２に存在するアプリケーションＩＤは、再利用しないことを前提とする。そして、再利用しないことが保証できない場合には、アプリケーションの終了時、終了したアプリケーションのアプリケーションＩＤを管理する必要がある。また、管理する対象としてジョブを管理する場合には、実行中のジョブに対して本半導体露光装置のメインアプリケーション１４０により一意に割り振られた実行ＩＤをアプリケーションＩＤとして用いてもよい。
【００３９】
続いて、ステップＳ１０３において、アプリケーション監視部１３１は、ステップＳ１０２で受け取った情報（リソース情報）をリソース情報管理テーブル１３２に追加して保持する処理を行う。このリソース情報管理テーブル１３２は、図２に示すように、アプリケーションＩＤと関連付けて、リソース種別、システムリソースＩＤ及びリソース量の情報を管理できればよく、フォーマットなどは、特に限定されない。
【００４０】
続いて、ステップＳ１０４において、アプリケーション監視部１３１は、ステップＳ１０２で受け取ったリソース情報のアプリケーションＩＤに基づいて、使用リソース量の更新処理を行う。具体的に、アプリケーション監視部１３１は、当該アプリケーションＩＤを元に、リソースの確保を行ったアプリケーションの現在の使用リソース量を得て、ステップＳ１０２で受け取ったリソース量との和を求め、これを新しく使用リソース量として更新する。この際の使用リソース量は、アプリケーションが現在使用しているリソース、より正確には、確保を行ったが開放を行っていないリソースの量である。
【００４１】
図６は、本発明の第１の実施形態に係る情報処理装置（半導体露光装置）で用いる、アプリケーションＩＤごとに使用リソース量を保持するテーブルの一例を示す模式図である。この図６に示すテーブルは、例えばリソース情報管理テーブル１３２に保持される。ステップＳ１０４で更新する使用リソース量は、例えば、図６に示すように、アプリケーションＩＤごとにテーブルで管理するか、もしくは図２に示すテーブルからその都度求めてもよい。この際、テーブルで管理する際のフォーマットなどは、特に限定されない。
【００４２】
続いて、ステップＳ１０５において、アプリケーション監視部１３１は、まず、ステップＳ１０２で受け取ったアプリケーション名の情報を元に、当該アプリケーションの最大使用リソース量を得る処理を行う。ここで、最大使用リソース量は、アプリケーションの使用リソース量がもっとも多くなったときの値である。同一のアプリケーションが複数起動されている場合でも、アプリケーションの最大使用リソース量は等しくする。これは、各々のアプリケーションが、それぞれ最大使用リソース量までリソースを増やす可能性があるからである。
【００４３】
図７は、本発明の第１の実施形態に係る情報処理装置（半導体露光装置）で用いる、アプリケーションごとに最大使用リソース量を保持するテーブルの一例を示す模式図である。この図７に示すテーブルは、例えばリソース情報管理テーブル１３２に保持される。また、図７に示す最大使用リソース量は、例えば、図７に示すように、アプリケーション名ごとに最大使用リソース量を管理できればよく、フォーマットなどは、特に限定されない。
【００４４】
更に、ステップＳ１０５において、アプリケーション監視部１３１は、ステップＳ１０４で更新した使用リソース量がアプリケーションの最大使用リソース量を上回っている（超えている）か否かを判断する。
【００４５】
ステップＳ１０５の判断の結果、ステップＳ１０４で更新した使用リソース量がアプリケーションの最大使用リソース量を上回っている（超えている）場合には、ステップＳ１０６に進む。
ステップＳ１０６に進むと、アプリケーション監視部１３１は、ステップＳ１０５で得たアプリケーションの最大使用リソース量を、ステップＳ１０４で更新した使用リソース量で更新する処理を行う。その後、図５に示すフローチャートの処理を終了する。
【００４６】
また、ステップＳ１０５の判断の結果、ステップＳ１０４で更新した使用リソース量がアプリケーションの最大使用リソース量を上回っていない（超えていない）場合には、図５に示すフローチャートの処理を終了する。
【００４７】
また、ステップＳ１０１の判断の結果、監視対象のアプリケーションがリソースの取得（確保）を行っていない場合には、ステップＳ１０７に進む。
ステップＳ１０７に進むと、アプリケーション監視部１３１は、監視対象のアプリケーションがリソースの開放を行ったか否かを判断する。
【００４８】
ステップＳ１０７の判断の結果、監視対象のアプリケーションがリソースの開放を行った場合には、ステップＳ１０８に進む。
ステップＳ１０８に進むと、アプリケーション監視部１３１は、リソースの開放を行うリソース開放処理を行う。その後、図５に示すフローチャートの処理を終了する。
【００４９】
また、ステップＳ１０７の判断の結果、監視対象のアプリケーションがリソースの開放を行っていない場合には、図５に示すフローチャートの処理を終了する。
【００５０】
以上の図５に示すフローチャートの処理は、同一アプリケーションが同時に複数起動されている場合でも成立する。この場合、起動しているアプリケーションごとにリソース使用量を求め、それらを当該アプリケーションの唯一の最大使用リソース量と比較し、使用リソース量が最大使用リソース量を超えた場合、当該アプリケーションの唯一の最大使用リソース量とすればよい。
【００５１】
次に、図５に示すステップＳ１０８のリソース開放処理における詳細な処理手順について説明する。
図８は、図５に示すステップＳ１０８のリソース開放処理における詳細な処理手順の一例を示すフローチャートである。
【００５２】
まず、ステップＳ１０８１において、アプリケーション監視部１３１は、リソースの開放を行ったアプリケーションから、アプリケーション名、アプリケーションＩＤ、リソース種別及びシステムリソースＩＤなどの情報を受け取る。
【００５３】
続いて、ステップＳ１０８２において、アプリケーション監視部１３１は、ステップＳ１０８１で受け取った情報を元に、リソース情報管理テーブル１３２内の情報（図２）を検索し、該当するリソース情報を削除する。その際、該当するリソース情報のリソース量に係る情報を開放リソース量として一時的に記憶する。
【００５４】
続いて、ステップＳ１０８３において、アプリケーション監視部１３１は、ステップＳ１０８１で受け取ったアプリケーションＩＤを元に、アプリケーションの使用リソース量とステップＳ１０８２で記憶した開放リソース量との差を求める処理を行う。この際、アプリケーションの使用リソース量とステップＳ１０８２で記憶した開放リソース量との差の算出は、リソース量算出部１３３で行うようにしてもよい。そして、アプリケーション監視部１３１は、得られたアプリケーションの使用リソース量と開放リソース量との差を、新しく使用リソース量として更新する処理を行う。
【００５５】
以上のステップＳ１０８１〜Ｓ１０８３の処理を経ることで、図５に示すステップＳ１０８のリソース開放処理がなされる。
【００５６】
次に、本実施形態におけるアプリケーション制御処理の処理手順について説明する。
図９は、本発明の第１の実施形態に係る情報処理装置（半導体露光装置）によるアプリケーション制御処理の処理手順の一例を示すフローチャートである。この図９に示す処理は、主として、アプリケーション制御部１３４で行われる。
【００５７】
まず、ステップＳ２０１において、アプリケーション制御部１３４は、当該半導体露光装置のメインアプリケーション１４０から、実行するアプリケーションのアプリケーションＩＤを受け取る。
【００５８】
続いて、ステップＳ２０２において、アプリケーション制御部１３４は、ステップＳ２０１で受け取ったアプリケーションＩＤを元に、実行対象となるアプリケーションのアプリケーション名を取得する。そして、アプリケーション制御部１３４は、例えばリソース量算出部１３３を制御して、取得したアプリケーション名に基づく最大使用リソース量を得る処理を行う。
【００５９】
続いて、ステップＳ２０３において、アプリケーション制御部１３４は、例えばリソース量算出部１３３に、利用可能なリソース量の算出処理を行わせる。ここで、図１０のフローチャートを用いて、ステップＳ２０３の利用可能なリソース量の算出処理における詳細な処理手順について説明する。
【００６０】
図１０は、本発明の第１の実施形態を示し、図９に示すステップＳ２０３の利用可能なリソース量の算出処理における詳細な処理手順の一例を示すフローチャートである。
【００６１】
まず、ステップＳ２０３１において、アプリケーション制御部１３４は、全ての実行中アプリケーション１１１のアプリケーションＩＤを取得する処理を行う。
【００６２】
続いて、ステップＳ２０３２において、アプリケーション制御部１３４は、例えばリソース量算出部１３３を制御して、残存使用リソース量を得る制御を行う。具体的に、例えばリソース量算出部１３３は、リソース情報管理テーブル１３２に存在するリソース情報（図２）のうち、ステップＳ２０３１で取得された実行中アプリケーション１１１のアプリケーションＩＤとは異なるアプリケーションＩＤを持つリソース情報のリソース量を、終了したアプリケーションのリソース量として合計して、残存使用リソース量を算出する。これは、ジョブを構成するアプリケーションの間で共有されているリソースか、もしくはジョブが終了したにもかかわらず開放し忘れてしまったリソースが存在する可能性があることを考慮したものである。
【００６３】
続いて、ステップＳ２０３３〜Ｓ２０３５は、各実行中アプリケーションごとの処理を全ての実行中アプリケーションに対して行うループとなる。
【００６４】
ステップＳ２０３４では、アプリケーション制御部１３４は、例えばリソース量算出部１３３を制御して、実行中アプリケーション１１１のアプリケーション名を元に、最大使用リソース量を得る制御を行う。これは、それぞれのアプリケーションが、最大使用リソース量までリソースを増やす可能性があることを考慮したものである。
【００６５】
そして、ステップＳ２０３４の処理が全ての実行中アプリケーション１１１に対して行われると、ステップＳ２０３６に進む。
【００６６】
ステップＳ２０３６に進むと、アプリケーション制御部１３４は、例えばリソース量算出部１３３を制御して、ステップＳ２０３４で求められた全ての実行中アプリケーション１１１の最大使用リソース量の値を合計する処理を行う。そして、アプリケーション制御部１３４は、例えばリソース量算出部１３３を制御して、当該合計により得られた値とステップＳ２０３２で求められた残存使用リソース量との和を合計最大使用リソース量として得る処理を行う。
【００６７】
続いて、ステップＳ２０３７において、アプリケーション制御部１３４は、例えばリソース量算出部１３３を制御して、所定の許容量とステップＳ２０３６で求めた合計最大使用リソース量との差を求めさせ、これを利用可能なリソース量とする。ここで、所定の許容量とは、物理的なリソースの量を元に、オペレーティングシステムで使用するリソース量などを差し引いたものが考えられる。
【００６８】
以上のステップＳ２０３１〜Ｓ２０３７の処理を経ることにより、図９に示すステップＳ２０３の利用可能なリソース量の算出処理が行われる。これにより、複数のアプリケーションの間で共有するリソースや、開放忘れリソースなどが存在した場合にも、利用可能なリソースを精度よく求めることができる。
【００６９】
ここで、再び、図９の説明に戻る。
ステップＳ２０３の処理が終了すると、ステップＳ２０４に進む。
ステップＳ２０４に進むと、アプリケーション制御部１３４は、ステップＳ２０３で算出された利用可能なリソース量が、ステップＳ２０２で取得した実行対象となるアプリケーションの最大使用リソース量を上回っている（超えている）か否かを判断する。
【００７０】
ステップＳ２０４の判断の結果、ステップＳ２０３で算出された利用可能なリソース量がステップＳ２０２で取得した実行対象となるアプリケーションの最大使用リソース量を上回っている（超えている）場合には、ステップＳ２０５に進む。
ステップＳ２０５に進むと、アプリケーション制御部１３４は、ステップＳ２０４の判断により、実行に必要なリソースが確保できると判定し、実行対象のアプリケーションを起動する制御を行う。その後、図９に示すフローチャートの処理を終了する。
【００７１】
一方、ステップＳ２０４の判断の結果、ステップＳ２０３で算出された利用可能なリソース量がステップＳ２０２で取得した実行対象となるアプリケーションの最大使用リソース量を上回っていない（超えていない）場合には、ステップＳ２０６に進む。
ステップＳ２０６に進むと、アプリケーション制御部１３４は、ステップＳ２０４の判断により、実行に必要なリソースが確保できないと判定し、アプリケーションの制御処理を行う。その後、図９に示すフローチャートの処理を終了する。ここで、図１１〜１４を用いて、ステップＳ２０３の利用可能なリソース量の算出処理における詳細な処理手順について説明する。
【００７２】
図１１は、本発明の第１の実施形態を示し、図９に示すステップＳ２０６のアプリケーション制御処理における詳細な処理手順の一例を示すフローチャートである。この図１１に示すフローチャートは、警告或いはエラーを報知する時のアプリケーションの制御処理を示している。
【００７３】
この場合、ステップＳ２０６１１において、アプリケーション制御部１３４は、アプリケーションの制御処理として、実行対象のアプリケーションの実行に必要なリソースが確保できない旨の警告或いはエラーを報知する処理を行う。その後、図１１に示すフローチャートの処理を終了する。
【００７４】
図１２は、本発明の第１の実施形態を示し、図９に示すステップＳ２０６のアプリケーション制御処理における詳細な処理手順の一例を示すフローチャートである。この図１２に示すフローチャートは、他の実行待ちアプリケーション１１２に対し、再判定を行う時のアプリケーションの制御処理である。
【００７５】
まず、ステップＳ２０６２１において、アプリケーション制御部１３４は、他の（１つの）実行待ちアプリケーション１１２が存在するか否かを判断する。
【００７６】
ステップＳ２０６２１の判断の結果、他の実行待ちアプリケーション１１２が存在する場合には、ステップＳ２０６２２に進む。
ステップＳ２０６２２に進むと、アプリケーション制御部１３４は、ステップＳ２０３で算出された利用可能なリソース量がステップＳ２０６２１で判断した実行待ちアプリケーション１１２の最大使用リソース量を上回っている（超えている）か否かを判断する。
【００７７】
ステップＳ２０６２２の判断の結果、ステップＳ２０３で算出された利用可能なリソース量がステップＳ２０６２１で判断した実行待ちアプリケーション１１２の最大使用リソース量を上回っていない場合には、ステップＳ２０６２１に戻る。
【００７８】
一方、ステップＳ２０６２２の判断の結果、ステップＳ２０３で算出された利用可能なリソース量がステップＳ２０６２１で判断した実行待ちアプリケーション１１２の最大使用リソース量を上回っている場合には、ステップＳ２０６２３に進む。
ステップＳ２０６２３に進むと、アプリケーション制御部１３４は、アプリケーションの提示或いは選択実行の制御を行う。この時、選択実行を行う形態は、ユーザの選択指示による実行であっても、自動で選択して実行してもよい。また、自動で選択する際には、例えば、最初に見つかったものを実行するなどの方法が考えられる。
【００７９】
ステップＳ２０６２３の処理が終了した場合、或いは、ステップＳ２０６２１で他の実行待ちアプリケーション１１２が存在しないと判断された場合には、図１２に示すフローチャートの処理を終了する。
【００８０】
以上の処理により、現在のリソース量で実行可能な実行待ちアプリケーション１１２があるにもかかわらず、全ての実行待ちアプリケーション１１２の起動ができなくなるといった不具合を回避することができる。
【００８１】
図１３は、本発明の第１の実施形態を示し、図９に示すステップＳ２０６のアプリケーション制御処理における詳細な処理手順の一例を示すフローチャートである。この図１３に示すフローチャートは、残存使用リソースの開放を行う時のアプリケーションの制御処理である。
【００８２】
まず、ステップＳ２０６３１において、アプリケーション制御部１３４は、残存使用リソース量が存在しているか否かを判断する。
【００８３】
ステップＳ２０６３１の判断の結果、残存使用リソース量が存在している場合には、ステップＳ２０６３２に進む。
ステップＳ２０６３２に進むと、アプリケーション制御部１３４は、残存使用リソースの開放処理を行う。このステップＳ２０６３２では、具体的に、リソース情報管理テーブル１３２のリソース情報（図２）を元に、例えばアプリケーション群１１０を制御して、残存使用リソースの開放処理を行う。
【００８４】
続いて、ステップＳ２０６３３において、アプリケーション制御部１３４は、例えばリソース量算出部１３３に、利用可能なリソース量の算出処理を行わせる。このステップＳ２０６３３における利用可能なリソース量の算出処理は、図９のステップＳ２０３と同様であるため、その説明は省略する。
【００８５】
続いて、ステップＳ２０６３４において、アプリケーション制御部１３４は、ステップＳ２０６３３で算出された利用可能なリソース量がステップＳ２０６２１で判断した実行待ちアプリケーション１１２の最大使用リソース量を上回っているか否かを判断する。
【００８６】
ステップＳ２０６３４の判断の結果、ステップＳ２０６３３で算出された利用可能なリソース量がステップＳ２０６２１で判断した実行待ちアプリケーション１１２の最大使用リソース量を上回っていない場合には、ステップＳ２０６３１に戻る。
【００８７】
一方、ステップＳ２０６３４の判断の結果、ステップＳ２０６３３で算出された利用可能なリソース量がステップＳ２０６２１で判断した実行待ちアプリケーション１１２の最大使用リソース量を上回っている場合には、ステップＳ２０６３５に進む。
ステップＳ２０６３５に進むと、アプリケーション制御部１３４は、当該アプリケーションの実行処理を行う。
【００８８】
ステップＳ２０６３５の処理が終了した場合、或いは、ステップＳ２０６３１で残存使用リソース量が存在していないと判断された場合には、図１３に示すフローチャートの処理を終了する。
【００８９】
この図１３に示すフローチャートにおける残存使用リソースの開放処理では、ジョブが終了しているにもかかわらず、存在するリソースが開放忘れリソースである可能性が高いとして、優先的に開放するなどが考えられる。このように、使用されていない可能性が高いリソースを積極的に開放することで、リソースを効率的に利用することができる。そして、使用されていないリソースがあるにもかかわらず、リソース不足によりアプリケーションが起動できなくなるといった不具合を回避することができる。
【００９０】
図１４は、本発明の第１の実施形態を示し、図９に示すステップＳ２０６のアプリケーション制御処理における詳細な処理手順の一例を示すフローチャートである。この図１４に示すフローチャートは、実行中アプリケーション１１１が終了するまで実行対象のアプリケーションの待ち合わせを行う時のアプリケーションの制御処理である。
【００９１】
まず、ステップＳ２０６４１において、アプリケーション制御部１３４は、現在、実行中の実行中アプリケーション１１１が存在するか否かを判断する。
【００９２】
ステップＳ２０６４１の判断の結果、現在、実行中の実行中アプリケーション１１１が存在する場合には、ステップＳ２０６４２に進む。
ステップＳ２０６４２に進むと、アプリケーション制御部１３４は、実行中アプリケーション１１１の終了の待ち合わせ処理を行う。このステップＳ２０６４２では、具体的に、アプリケーション終了検知部１３４１により、実行中アプリケーション１１１が、少なくとも１つ終了するのを待ち合わせる。
【００９３】
その後、ステップＳ２０６４３〜Ｓ２０６４５の処理が行われるが、これらの処理に関しては、上述した図１３のステップＳ２０６３３〜Ｓ２０６３５の処理と基本的に同様の主旨の処理であるため、その説明を省略する。
【００９４】
ステップＳ２０６４５の処理が終了した場合、或いは、ステップＳ２０６４１で現在、実行中の実行中アプリケーション１１１が存在しないと判断された場合には、図１４に示すフローチャートの処理を終了する。
【００９５】
以上の処理により、リソース不足が解消された際には、実行待ちアプリケーション１１２を実行することが可能となるとなるため、リソース不足が解消したにもかかわらず、アプリケーションの起動が行われないといった不具合を回避することができる。
【００９６】
本実施形態によれば、後続するアプリケーションの起動も含めてアプリケーションの起動の可否を判断することができ、利用可能なリソースを精度よく求めることができる。これにより、リソース不足によるアプリケーションの途中停止が起きる可能性を小さくし、また、リソース不足が解消された際には処理の継続を実現することができる。
そして、リソース不足が解消された際には処理を継続することが可能となるとなるため、具体的に、情報処理装置として半導体露光装置を適用した場合には、当該半導体露光装置の駆動率を上げ、その生産性を向上させることができる。また、アプリケーションのリソース不足が原因によるシステムダウンやアプリケーションの途中停止が起きる可能性を小さくすることができるため、半導体露光装置による生産性を向上させることができる。
【００９７】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
第２の実施形態では、ジョブの進捗を管理するチェックポイントを設け、ジョブの進捗により、ジョブが使用するリソースの見積もり量を変化させる。本実施形態によれば、ジョブが使用するリソース量をより正確に見積もることができ、ジョブを早期に実行できる可能性がある。この様子を図１５及び図１６に示す。
【００９８】
図１５は、本発明の第２の実施形態におけるチェックポイントを設けた場合と設けない場合に見積もるリソース量の一例を示す模式図である。また、図１６は、本発明の第１の実施形態と第２の実施形態における実行対象の実行可能となる時間の比較例を示す模式図である。
【００９９】
図１７は、本発明の第２の実施形態に係る情報処理装置（半導体露光装置）の概略構成の一例を示すブロック図である。なお、上述したように、本実施形態に係る情報処理装置としても、半導体露光装置を適用する。
【０１００】
図１７に示す情報処理装置（半導体露光装置）２００の各構成は、図１に示す情報処理装置（半導体露光装置）１００の各構成に対して、実行対象単位をアプリケーションからジョブに変更したものであり、その主旨は同じである。この際、一連のアプリケーションをジョブとして定義する。
【０１０１】
具体的に、図１に示すアプリケーション群１１０が図１７に示すジョブ群２１０に対応し、また、図１に示す実行中アプリケーション１１１及び実行待ちアプリケーション１１２が、それぞれ図１７に示す実行中ジョブ２１１及び実行待ちジョブ２１２に対応する。また、図１に示すリソース群１２０が図１７に示すリソース群２２０に対応し、図１に示すメインアプリケーション１４０が図１７に示すメインプログラム２４０に対応する。
【０１０２】
また、図１に示すアプリケーション管理部１３０が図１７に示すジョブ管理部２３０に対応する。具体的に、図１に示すアプリケーション監視部１３１が図１７に示すジョブ監視部２３１に対応し、図１に示すリソース情報管理テーブル１３２が図１７に示すリソース情報管理テーブル２３２に対応する。また、図１に示すリソース量算出部１３３が図１７に示すリソース量算出部２３３に対応し、図１に示すアプリケーション制御部１３４が図１７に示すジョブ制御部２３４に対応する。また、図１に示すアプリケーション終了検知部１３４１が図１７に示すジョブ終了検知部２３４１に対応する。
【０１０３】
このように、図１７に示す情報処理装置（半導体露光装置）２００の各構成は、図１に示す情報処理装置（半導体露光装置）１００の各構成に対応するため、その詳細な説明については省略する。
【０１０４】
本実施形態では、図１に示すアプリケーション監視部１３１に対応する示すジョブ監視部２３１に、チェックポイント通過検知部２３１１が設けられている。このチェックポイント通過検知部２３１１は、実行中ジョブ２１１がチェックポイントを通過したことを検知する手段である。
【０１０５】
ここで、チェックポイントとは、ジョブが典型的なシーケンスで遷移した場合に必ず起きる、順番が保証されたイベントのことを指すものである。このイベントとしては、メッセージ通信であったり、ある処理の開始や終了であったりする。また、チェックポイントを条件分岐内に設けることは、チェックポイントを通らない可能性があるので、望ましくない。
【０１０６】
本半導体露光装置において、管理対象としてジョブを管理した場合、露光処理の処理手順ごとにジョブ内の個々のアプリケーションを順次起動終了するので、ジョブ内の個々のアプリケーションが終了するごとにチェックポイントを設けるものとする。
【０１０７】
図１８は、本発明の第２の実施形態に係る情報処理装置（半導体露光装置）で用いる、アプリケーションごとにチェックポイントを設けて最大使用リソース量を保持するテーブルの一例を示す模式図である。この図１８に示すテーブルは、例えばリソース情報管理テーブル２３２に保持される。この図１８に示すテーブルは、例えば、図１８に示すように、ジョブ名ごとに、チェックポイントの順序、チェックポイント名、チェックポイント間の最大使用リソース量等を管理できればよく、そのフォーマットなどは特に限定されない。
【０１０８】
次に、本実施形態におけるジョブ監視処理の処理手順について説明する。
図１９は、本発明の第２の実施形態に係る情報処理装置（半導体露光装置）によるジョブ監視処理の処理手順の一例を示すフローチャートである。この図１９に示す処理は、主として、ジョブ監視部２３１で行われる。また、この図１９に示す処理は、ジョブにチェックポイントを設けた場合のジョブを監視する処理であり、また、ジョブ内の個々のアプリケーションが、リソースの確保、開放、もしくはチェックポイントの通過を行うたびに起動される。
【０１０９】
図１９のステップＳ３０１において、ジョブ監視部２３１は、監視対象のジョブ内のアプリケーションがリソースの取得（確保）を行ったか否かを判断する。
【０１１０】
ステップＳ３０１の判断の結果、監視対象のジョブ内のアプリケーションがリソースの取得（確保）を行った場合には、ステップＳ３０２に進む。
ステップＳ２０２に進むと、ジョブ監視部２３１は、リソースの取得（確保）を行ったアプリケーション或いは当該アプリケーションにおけるジョブから、ジョブ名、実行ＩＤ、リソース種別、システムリソースＩＤ及びリソース量の情報を受け取る。更に、ジョブ監視部２３１は、必要に応じて、アプリケーション名、アプリケーションＩＤなどの情報も受け取る。
【０１１１】
続いて、ステップＳ３０３において、ジョブ監視部２３１は、ステップＳ１０２で受け取った情報（リソース情報）をリソース情報管理テーブル２３２に追加して保持する処理を行う。
【０１１２】
続いて、ステップＳ３０４において、ジョブ監視部２３１は、ステップＳ１０２で受け取った情報に基づいて、使用リソース量の更新処理を行う。このステップＳ３０４の処理に関しては、第１の実施形態における図５に示すステップＳ１０４の処理と基本的に同様の主旨の処理（アプリケーションをジョブに対応させた処理）であるため、その説明を省略する。
【０１１３】
続いて、ステップＳ３０５において、ジョブ監視部２３１は、まず、ステップＳ３０２で受け取った実行ＩＤを元に、通過したチェックポイントの数を得る。更に、ステップＳ３０５において、ジョブ監視部２３１は、当該通過したチェックポイントの数とステップＳ３０２で受け取ったジョブ名から、当該ジョブの当該チェックポイントの最大使用リソース量を得る。そして、ステップＳ３０５において、ジョブ監視部２３１は、ステップＳ３０４で更新した使用リソース量が、当該チェックポイントの最大使用リソース量を上回っている（超えている）か否かを判断する。
【０１１４】
図２０は、本発明の第２の実施形態に係る情報処理装置（半導体露光装置）で用いる、アプリケーションごとに予定最大使用リソース量と通過チェックポイントの数を保持するテーブルの一例を示す模式図である。
この図２０に示すテーブルは、例えばリソース情報管理テーブル２３２に保持される。ステップＳ３０５の通過したチェックポイントの数は、例えば、図２０に示すように、実行ＩＤと関連付けて通過したチェックポイントの数を管理できればよく、そのフォーマットなどは特に限定されない。
【０１１５】
ステップＳ３０５の判断の結果、ステップＳ３０４で更新した使用リソース量が当該チェックポイントの最大使用リソース量を上回っている（超えている）場合には、ステップＳ３０６に進む。
ステップＳ３０６に進むと、ジョブ監視部２３１は、ステップＳ３０５で得た当該チェックポイントの最大使用リソース量を、ステップＳ３０４で更新した使用リソース量で更新する処理を行う。その後、図１９に示すフローチャートの処理を終了する。
【０１１６】
また、ステップＳ３０１の判断の結果、監視対象のジョブ内のアプリケーションがリソースの取得（確保）を行っていない場合には、ステップＳ３０７に進む。
ステップＳ３０７に進むと、ジョブ監視部２３１は、監視対象のジョブ内のアプリケーションがリソースの開放を行ったか否かを判断する。
【０１１７】
ステップＳ３０７の判断の結果、監視対象のジョブ内のアプリケーションがリソースの開放を行った場合には、ステップＳ３０８に進む。
ステップＳ３０８に進むと、ジョブ監視部２３１は、リソースの開放を行うリソース開放処理を行う。このステップＳ３０８の処理に関しては、第１の実施形態における図５に示すステップＳ１０８の処理と基本的に同様の主旨の処理（アプリケーションをジョブに対応させた処理）であるため、その説明を省略する。その後、図１９に示すフローチャートの処理を終了する。
【０１１８】
ステップＳ３０７の判断の結果、監視対象のジョブ内のアプリケーションがリソースの開放を行っていない場合には、ステップＳ３０９に進む。
ステップＳ３０９に進むと、ジョブ監視部２３１は、監視対象のジョブ内のアプリケーションがチェックポイント通過を行ったか否かを判断する。
【０１１９】
ステップＳ３０９の判断の結果、監視対象のジョブ内のアプリケーションがチェックポイント通過を行った場合には、ステップＳ３１０に進む。
ステップＳ３１０に進むと、ジョブ監視部２３１は、チェックポイント通過を行ったジョブから、実行ＩＤ及びジョブ名の情報を受け取る。
【０１２０】
続いて、ステップＳ３１１において、ジョブ監視部２３１は、ステップＳ３１０で受け取った実行ＩＤを元に通過したチェックポイントの数を求め、１つ増やして更新する。
【０１２１】
続いて、ステップＳ３１２において、ジョブ監視部２３１は、ステップＳ３１１で更新したチェックポイントの数とステップＳ３１０で受け取ったジョブ名を元に、通過予定のチェックポイントを参照する。
【０１２２】
続いて、ステップＳ３１３において、ジョブ監視部２３１は、ステップＳ３１２で得た通過予定のチェックポイントのうち、最大使用リソース量が最大のもので当該ジョブの予定最大使用リソース量の更新処理を行う。
【０１２３】
ここで、予定最大使用リソース量は、ジョブがこの先とり得るリソース量のうち最大のものである。具体的に、以下に説明する。
まず、ジョブを複数のチェックポイントで分割し、各チェックポイント間におけるリソース量の最大値を記録する。次に、ジョブがチェックポイントを通過するたびに予定最大使用リソース量を更新する。これはジョブが、未だ通過していないチェックポイントの中からリソース量の最大値がもっとも多いものを選ぶことで、この先とり得るリソース量のうち最大のものとなる。また、同一のジョブが複数起動されている場合でも、ジョブのチェックポイントまでの間における最大使用リソース量は等しくする。これは、各々のジョブが、それぞれ当該チェックポイントを通過するまでの間、チェックポイント間の最大使用リソース量までリソースを増やす可能性があるからである。通過したチェックポイントの数及び予定最大使用リソース量は、例えば、図２０に示すように。実行ＩＤごとに予定最大使用リソース量、通過したチェックポイントの数を管理できればよく、フォーマットなどは特に限定されない。
【０１２４】
ステップＳ３１３の処理が終了した場合、或いは、ステップＳ３０９で監視対象のジョブ内のアプリケーションがチェックポイント通過を行っていないと判断された場合には、図１９に示すフローチャートの処理を終了する。
【０１２５】
以上の図１９に示すフローチャートの処理は、同一ジョブが同時に複数起動されている場合でも成立する。そして、この場合、起動しているジョブごとに使用リソース量を求め、それらを当該ジョブの当該チェックポイントでの唯一の最大使用リソース量と比較する。そして、使用リソース量がチェックポイントの最大使用リソース量を超えた場合、当該ジョブの当該チェックポイントでの唯一の最大使用リソース量とすればよい。
【０１２６】
第２の実施形態におけるジョブ制御部２３４によるジョブ制御処理の処理に関しては、第１の実施形態における図２の処理と基本的に同様の主旨の処理（アプリケーションをジョブに対応させた処理）となる。ここで、図２１を用いて、チェックポイントを設けた時の図２のステップＳ２０３に示す利用可能なリソース量の算出処理について説明する。
【０１２７】
図２１は、本発明の第２の実施形態を示し、図１７に示すジョブ制御部２３４の制御により行われる利用可能なリソース量の算出処理における詳細な処理手順の一例を示すフローチャートである。
【０１２８】
ここで、図２１のフローチャートの処理に関しては、第１の実施形態における図１０に示すフローチャートの処理と基本的に同様の主旨の処理（アプリケーションをジョブに対応させた処理）となる。即ち、図２１のフローチャートの処理は、本実施形態に対応させた図２のステップＳ２０３における処理の詳細な処理に対応するものである。
【０１２９】
まず、ステップＳ４０１において、ジョブ制御部２３４は、全ての実行中ジョブ２１１の実行ＩＤを取得する処理を行う。
【０１３０】
続いて、ステップＳ４０２において、ジョブ制御部２３４は、例えばリソース量算出部２３３を制御して、残存使用リソース量を求める制御を行う。このステップＳ４０２の処理に関しては、第１の実施形態における図１０に示すステップＳ２０３２の処理と基本的に同様の主旨の処理（アプリケーションをジョブに対応させた処理）であるため、その詳細な説明は省略する。
【０１３１】
続いて、ステップＳ４０３〜Ｓ４０５は、各実行中ジョブごとの処理を全ての実行中ジョブに対して行うループとなる。
【０１３２】
ステップＳ４０４では、ジョブ制御部２３４は、例えばリソース量算出部２３３を制御して、実行中ジョブ２１１の実行ＩＤを元に、予定最大使用リソース量を求める制御を行う。これは、それぞれのジョブが、予定最大使用リソース量までリソースを増やす可能性があることを考慮したものである。
【０１３３】
そして、ステップＳ４０４の処理が全ての実行中ジョブ２１１に対して行われると、ステップＳ４０６に進む。
【０１３４】
ステップＳ４０６に進むと、ジョブ制御部２３４は、例えばリソース量算出部２３３を制御して、ステップＳ４０４で求められた全ての実行中ジョブ２１１の予定最大使用リソース量の値を合計する処理を行う。そして、ジョブ制御部２３４は、例えばリソース量算出部２３３を制御して、当該合計した値とステップＳ４０２で求めた残存使用リソース量との和を合計最大使用リソース量として求める処理を行う。
【０１３５】
続いて、ステップＳ４０７において、ジョブ制御部２３４は、例えばリソース量算出部２３３を制御して、所定の許容量とステップＳ４０６で求めた合計最大使用リソース量との差を求め、これを利用可能なリソース量とする。その後、図２１の処理を終了する。
【０１３６】
次に、図２２を用いて、実行中ジョブ２１１がチェックポイントを通過するまで実行対象のジョブの待ち合わせを行う時のジョブ制御処理について説明する。
【０１３７】
図２２は、本発明の第２の実施形態を示し、図１７に示すジョブ制御部２３４で行われるジョブ制御処理の処理手順の一例を示すフローチャートである。
【０１３８】
ここで、図２２のフローチャートの処理に関しては、第１の実施形態における図１４に示すフローチャートの処理と基本的に同様の主旨の処理（アプリケーションをジョブに対応させた処理）となる。即ち、図２２のフローチャートの処理は、本実施形態に対応させた図２のステップＳ２０６における処理の詳細な処理に対応するものである。
【０１３９】
まず、ステップＳ５０１において、ジョブ制御部２３４は、現在、実行中の実行中ジョブ２１１が存在するか否かを判断する。
【０１４０】
ステップＳ５０１の判断の結果、現在、実行中の実行中ジョブ２１１が存在する場合には、ステップＳ５０２に進む。
ステップＳ５０２に進むと、ジョブ制御部２３４は、チェックポイント通過検知部２３１１から、実行中ジョブ２１１が少なくとも１つチェックポイントを通過した旨の通知がされるのを待ち合わせる。これにより、リソース不足が解消されたかどうかの判定をさらに効率よく行うことが可能となるため、リソース不足が解消したにもかかわらず、ジョブの起動が行われないといった不具合をより回避することができる。
【０１４１】
その後、ステップＳ５０３〜Ｓ５０５の処理が行われて、図２２のフローチャートの処理が終了する。このステップＳ５０３〜Ｓ５０５の処理に関しては、第１の実施形態における図１４に示すステップＳ２０６４３〜Ｓ２０６４５の処理と基本的に同様の主旨の処理（アプリケーションをジョブに対応させた処理）であるため、その詳細な説明は省略する。
【０１４２】
このように、本実施形態によれば、ジョブにチェックポイントを設けることでジョブの処理の進み具合により、使用する可能性があるリソースの量を正確に求めることができる（例えば、図１５参照）。即ち、ジョブが最初に大量にリソースを使用し、ある時点から終了までにはほとんどリソースを使用しない場合、ある時点を通過すれば、使用するリソースとして見積もる量を少なくでき、リソースの量をより正確に見積もることができる。これにより、リソースが十分余っているにもかかわらず、新たなジョブの起動ができなくなるといった不具合を回避することができる。
【０１４３】
（本発明の他の実施形態）
前述した本発明の各実施形態に係る情報処理装置を構成する図１及び図７の各構成部（各手段）は、コンピュータのＣＰＵがＲＡＭやＲＯＭなどに記憶されたプログラムを実行することによって実現できる。また、前述した本発明の各実施形態に係る情報処理装置の制御方法を示す図５、図８〜図１４、図１９、図２１及び図２２の各ステップは、コンピュータのＣＰＵがＲＡＭやＲＯＭなどに記憶されたプログラムを実行することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【０１４４】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１４５】
なお、本発明は、前述した各実施形態の機能を実現するソフトウェアのプログラム（具体的には図５、図８〜図１４、図１９、図２１及び図２２のフローチャートに対応したプログラム）を、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１４６】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１４８】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１４９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１５０】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１５１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１５２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１５３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１５４】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【０１５５】
【図１】本発明の第１の実施形態に係る情報処理装置（半導体露光装置）の概略構成の一例を示すブロック図である。
【図２】図１に示すリソース情報管理テーブルに記録される情報であって、図１に示すアプリケーション監視部で得た情報のテーブルの一例を示す模式図である。
【図３】本発明の第１の実施形態に係る情報処理装置（半導体露光装置）で用いる、当該情報処理装置における処理手順及び露光パラメータが記述されたレシピの一例を示す模式図である。
【図４】本発明の第１の実施形態に係る情報処理装置（半導体露光装置）で用いる、当該情報処理装置におけるジョブを管理するためのテーブルの一例を示す模式図である。
【図５】本発明の第１の実施形態に係る情報処理装置（半導体露光装置）によるアプリケーション監視処理の処理手順の一例を示すフローチャートである。
【図６】本発明の第１の実施形態に係る情報処理装置（半導体露光装置）で用いる、アプリケーションＩＤごとに使用リソース量を保持するテーブルの一例を示す模式図である。
【図７】本発明の第１の実施形態に係る情報処理装置（半導体露光装置）で用いる、アプリケーションごとに最大使用リソース量を保持するテーブルの一例を示す模式図である。
【図８】図５に示すステップＳ１０８のリソース開放処理における詳細な処理手順の一例を示すフローチャートである。
【図９】本発明の第１の実施形態に係る情報処理装置（半導体露光装置）によるアプリケーション制御処理の処理手順の一例を示すフローチャートである。
【図１０】本発明の第１の実施形態を示し、図９に示すステップＳ２０３の利用可能なリソース量の算出処理における詳細な処理手順の一例を示すフローチャートである。
【図１１】本発明の第１の実施形態を示し、図９に示すステップＳ２０６のアプリケーション制御処理における詳細な処理手順の一例を示すフローチャートである。
【図１２】本発明の第１の実施形態を示し、図９に示すステップＳ２０６のアプリケーション制御処理における詳細な処理手順の一例を示すフローチャートである。
【図１３】本発明の第１の実施形態を示し、図９に示すステップＳ２０６のアプリケーション制御処理における詳細な処理手順の一例を示すフローチャートである。
【図１４】本発明の第１の実施形態を示し、図９に示すステップＳ２０６のアプリケーション制御処理における詳細な処理手順の一例を示すフローチャートである。
【図１５】本発明の第２の実施形態におけるチェックポイントを設けた場合と設けない場合に見積もるリソース量の一例を示す模式図である。
【図１６】本発明の第１の実施形態と第２の実施形態における実行対象の実行可能となる時間の比較例を示す模式図である。
【図１７】本発明の第２の実施形態に係る情報処理装置（半導体露光装置）の概略構成の一例を示すブロック図である。
【図１８】本発明の第２の実施形態に係る情報処理装置（半導体露光装置）で用いる、アプリケーションごとにチェックポイントを設けて最大使用リソース量を保持するテーブルの一例を示す模式図である。
【図１９】本発明の第２の実施形態に係る情報処理装置（半導体露光装置）によるジョブ監視処理の処理手順の一例を示すフローチャートである。
【図２０】本発明の第２の実施形態に係る情報処理装置（半導体露光装置）で用いる、アプリケーションごとに予定最大使用リソース量と通過チェックポイントの数を保持するテーブルの一例を示す模式図である。
【図２１】本発明の第２の実施形態を示し、図１７に示すジョブ制御部の制御により行われる利用可能なリソース量の算出処理における詳細な処理手順の一例を示すフローチャートである。
【図２２】本発明の第２の実施形態を示し、図１７に示すジョブ制御部で行われるジョブ制御処理の処理手順の一例を示すフローチャートである。
【符号の説明】
【０１５６】
１００  情報処理装置（半導体露光装置）
１１０  アプリケーション群
１１１  実行中アプリケーション
１１２  実行待ちアプリケーション
１２０  リソース群
１３０  アプリケーション管理部
１３１  アプリケーション監視部
１３２  リソース情報管理テーブル
１３３  リソース量算出部
１３４  アプリケーション制御部
１３４１  アプリケーション終了検知部
１４０  メインアプリケーション
【図１】
2010102404.tif 000003
【図２】
2010102404.tif 000004
【図３】
2010102404.tif 000005
【図４】
2010102404.tif 000006
【図５】
2010102404.tif 000007
【図６】
2010102404.tif 000008
【図７】
2010102404.tif 000009
【図８】
2010102404.tif 000010
【図９】
2010102404.tif 000011
【図１０】
2010102404.tif 000012
【図１１】
2010102404.tif 000013
【図１２】
2010102404.tif 000014
【図１３】
2010102404.tif 000015
【図１４】
2010102404.tif 000016
【図１５】
2010102404.tif 000017
【図１６】
2010102404.tif 000018
【図１７】
2010102404.tif 000019
【図１８】
2010102404.tif 000020
【図１９】
2010102404.tif 000021
【図２０】
2010102404.tif 000022
【図２１】
2010102404.tif 000023
【図２２】
2010102404.tif 000024