(57)【要約】【課題】  複数のコンピュータを用いてジョブを実行させる際に、効率的にジョブが実行されるように、最適なコンピュータを選んでジョブを実行させる。【解決手段】  ジョブ分類とコンピュータリソース情報が格納されたジョブ特性情報データベース７ｂと、複数の実行コンピュータに係るコンピュータリソース情報が蓄積されたコンピュータリソース情報データベース７ａとを設ける。ユーザ端末３からジョブが投入されると、ジョブ振分サーバ１は、投入されたジョブの特性を、ジョブ特性情報データベース７ｂから判断する。そして、投入されたジョブの特性と、コンピュータリソース情報データベース７ａとを比較し、そのジョブを実行するのに最適なリソースを有する実行コンピュータをコンピュータリソース情報データベース７ａの中から選択する。【選択図】        図１
2006053654.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末から投入されたジョブを実行するための実行コンピュータを、ネットワーク上に通信可能に接続された複数の実行コンピュータから選択して前記ジョブを投入するジョブ振分装置であって、
前記ジョブが用いるアプリケーションの分類に係るジョブ分類情報と、前記アプリケーションの実行に必要なコンピュータリソース情報とを取得する取得部と、
前記ジョブ分類とコンピュータリソース情報が格納されたジョブ特性情報データベースと、
複数の前記実行コンピュータに係るコンピュータリソース情報が蓄積されたコンピュータリソース情報データベースと、
前記ジョブ特性情報データベース及び前記コンピュータリソース情報データベースを参照し、投入された前記ジョブをその実行に適した実行コンピュータに割振るジョブ割振部と
を有することを特徴とするジョブ振分装置。
【請求項２】
前記取得部は、予めジョブ分類とアプリケーションの実行に必要なコンピュータリソース情報を収集するためのジョブを複数の前記実行コンピュータ上で実行させて前記ジョブ分類と前記ジョブ特性情報を収集し、このジョブ分類とジョブ特性情報とを関連付けて、前記ジョブ特性情報データベースに格納することを特徴とする請求項１に記載のジョブ振分装置。
【請求項３】
前記ジョブ割振部は、前記ユーザ端末から投入されたジョブのジョブ分類を判別し、このジョブ分類に合致したアプリケーションの実行に必要なコンピュータリソース情報を前記ジョブ特性情報データベース内から得、更に、このジョブ特性情報を基に、前記コンピュータリソース情報データベースから前記ジョブの実行に適した前記実行コンピュータにジョブを割振ることを特徴とする請求項１に記載のジョブ振分装置。
【請求項４】
前記取得部は、前記ジョブ実行中の第１の実行コンピュータの前記ジョブ分類と前記アプリケーションの実行に必要なコンピュータリソース情報を収集し、
前記ジョブ割振部は、これらの取得された情報に基づいて前記第１の実行コンピュータの適否を判定し、前記第１の実行コンピュータとは異なる、前記ジョブの実行に適した第２の実行コンピュータがあるとき、前記第１の実行コンピュータによる前記ジョブの実行を停止し、前記第２の実行コンピュータに前記ジョブを投入することを特徴とする請求項１に記載のジョブ振分装置。
【請求項５】
前記取得部は、前記ジョブの実行が完了した際に、該当ジョブのジョブ分類とアプリケーションの実行に必要なコンピュータリソース情報を取得し、取得したジョブ分類が新規分類の時は、取得したジョブ分類とアプリケーションの実行に必要なコンピュータリソース情報を関連付けて前記ジョブ特性情報データベースに追加登録し、ジョブ分類が既に存在する分類の時は、前記ジョブ特性情報データベースの内容を更新することを特徴とする請求項１に記載のジョブ振分装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータを効率的に使ってジョブを実行させるためのジョブ振分装置に関する。
【背景技術】
【０００２】
電子機器を設計する上で、例えば特許文献１に示されるように、設計した回路の動作状態をコンピュータ上でシミュレーションして確認する作業は、不可欠な作業である。コンピュータでの電子回路のシミュレーションとしては、アナログ回路のトランジェント解析、ＡＣ(Alternating Current)解析、ＤＣ(Direct Current)解析や、ディジタル回路の論理シミュレーション等、多数のものがある。開発現場には、このような各種のシミュレーションを行うコンピュータが用意されており、電子機器の開発者は、そのコンピュータにジョブを投入して、回路シミュレーションを行っている。
【０００３】
このような電子回路のシミュレーションは、複数の演算を繰り返し実行するもので、一般に、膨大な処理時間を要する。そこで、従来では、開発現場に電子回路のシミュレーションを行うためのコンピュータが複数用意され、開発者は、空いている任意のコンピュータにジョブを投入して、回路のシミュレーションを行っている。
【特許文献１】特開２００３−１５０６６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザが空いている任意のコンピュータにジョブを投入してしまうと、そのジョブを実行している間、そのコンピュータは、他のジョブを実行できなくなる。したがって、各コンピュータが効率的に使用されないと、シミュレーションを行うのに無駄な時間がかかり、開発に支障を来す。
【０００５】
例えば、アナログ回路のトランジェント解析は、高速な演算を必要とする。更に、オプションとして与えられるステップ時間や終了時間によっては、演算量は膨大となり、高速演算が必要である。このため、このような演算は、高速のＣＰＵ(Central Processing Unit)が備えられた実行コンピュータで実行する必要がある。これに対して、簡単な演算は、どのコンピュータでジョブを実行しても、実行時間は大差ない。したがって、複数の実行コンピュータがある場合には、高速演算が必要で、多大なリソースを要求するものは、演算能力の高いコンピュータで実行させ、簡単な演算は、それ以外のコンピュータで実行させた方が効率的である。
【０００６】
本発明は、上述の従来の技術を鑑み、複数のコンピュータを用いてジョブを実行させる際に、ジョブを実行する際に要求されるリソースから最適なコンピュータを選んで、ジョブを実行させるようにしたジョブ振分装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するために、請求項１の発明は、ユーザ端末から投入されたジョブを実行するための実行コンピュータを、ネットワーク上に通信可能に接続された複数の実行コンピュータから選択してジョブを投入するジョブ振分装置であって、ジョブが用いるアプリケーションの分類に係るジョブ分類情報と、アプリケーションの実行に必要なコンピュータリソース情報とを取得する取得部と、ジョブ分類とコンピュータリソース情報が格納されたジョブ特性情報データベースと、複数の実行コンピュータに係るコンピュータリソース情報が蓄積されたコンピュータリソース情報データベースと、ジョブ特性情報データベース及びコンピュータリソース情報データベースを参照し、投入されたジョブをその実行に適した実行コンピュータに割振るジョブ割振部とを有することを特徴とする。
【０００８】
請求項２の発明では、前記取得部は、予めジョブ分類とアプリケーションの実行に必要なコンピュータリソース情報を収集するためのジョブを複数の前記実行コンピュータ上で実行させて前記ジョブ分類と前記ジョブ特性情報を収集し、このジョブ分類とジョブ特性情報とを関連付けて、前記ジョブ特性情報データベースに格納することを特徴とする。
【０００９】
請求項３の発明では、前記ジョブ割振部は、前記ユーザ端末から投入されたジョブのジョブ分類を判別し、このジョブ分類に合致したアプリケーションの実行に必要なコンピュータリソース情報を前記ジョブ特性情報データベース内から得、更に、このジョブ特性情報を基に、前記コンピュータリソース情報データベースから前記ジョブの実行に適した前記実行コンピュータにジョブを割振ることを特徴とする。
【００１０】
請求項４の発明では、前記取得部は、前記ジョブ実行中の第１の実行コンピュータの前記ジョブ分類と前記アプリケーションの実行に必要なコンピュータリソース情報を収集し、
前記ジョブ割振部は、これらの取得された情報に基づいて前記第１の実行コンピュータの適否を判定し、前記第１の実行コンピュータとは異なる、前記ジョブの実行に適した第２の実行コンピュータがあるとき、前記第１の実行コンピュータによる前記ジョブの実行を停止し、前記第２の実行コンピュータに前記ジョブを投入することを特徴とする。
【００１１】
請求項５の発明では、前記取得部は、前記ジョブの実行が完了した際に、該当ジョブのジョブ分類とアプリケーションの実行に必要なコンピュータリソース情報を取得し、取得したジョブ分類が新規分類の時は、取得したジョブ分類とアプリケーションの実行に必要なコンピュータリソース情報を関連付けて前記ジョブ特性情報データベースに追加登録し、ジョブ分類が既に存在する分類の時は、前記ジョブ特性情報データベースの内容を更新することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ジョブ分類とコンピュータリソース情報が格納されたジョブ特性情報データベースと、複数の実行コンピュータに係るコンピュータリソース情報が蓄積されたコンピュータリソース情報データベースとが設けられ、ユーザ端末からジョブが投入されると、ジョブ特性情報データベース及びコンピュータリソース情報データベースが参照され、投入されたジョブを実行するのに適した実行コンピュータにそのジョブが送られ、そのジョブが実行される。このため、ジョブを実行させる際に要求されるリソースに基づきネットワーク上に接続された複数のコンピュータの中から最適なコンピュータが選ばれ、ジョブが実行され得る。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について図面を参照しながら説明する。図１は、本実施の形態の全体構成図を示している。図１において、１はジョブ振分サーバである。ジョブ振分サーバ１は、インターネット等のネットワーク２を介して、実行コンピュータ群４（実行コンピュータ４ａ、４ｂ、４ｃ）と接続し、ユーザ端末３からのジョブの投入を受付け、そのジョブを実行させるのに最適な実行コンピュータを判断し、最適と判断された実行コンピュータにジョブを投入する。
【００１４】
ジョブ振分サーバ１は、実行コンピュータへのジョブ投入に係る処理を制御する制御部６を有し、制御部６の下に、メモリ７、取得部８及びジョブ割振部９が備えられている。メモリ７、取得部８及びジョブ割振部９については後述する。
【００１５】
この例では、コンピュータリソース情報データベース７ａとジョブ特性情報データベース７ｂは、共に、ジョブ振分サーバ１内のメモリ７に格納されているが、ジョブ振分サーバ１以外のコンピュータ、例えば、実行コンピュータ群４に、コンピュータリソース情報データベース７ａとジョブ特性情報データベース７ｂが備わっていても良い。
【００１６】
３は、ユーザがジョブを投入するためのユーザ端末である。ジョブを実行する際には、ユーザはこのユーザ端末３を通して、ジョブ振分サーバ１にジョブを投入する。ユーザは、実行コンピュータ群４のどの実行コンピュータが空いているのか、どの実行コンピュータの処理能力が高いのかなどを調べてからジョブを投入する必要はなく、単に、ユーザ端末３を通じてジョブを投入するだけで良い。
【００１７】
実行コンピュータ群４は、ジョブを実行する複数のコンピュータからなる。この例では３台の実行コンピュータ４ａ〜４ｃが設置されているが、この台数に限らず、更に多数の実行コンピュータを備えても良い。
【００１８】
次に、ジョブ振分サーバ１について詳述する。ジョブ振分サーバ１は、制御部６と、メモリ７と、取得部８とジョブ割振部９とが備えられている。
【００１９】
メモリ７には、コンピュータリソース情報データベース７ａと、ジョブ特性情報データベース７ｂとが設けられている。コンピュータリソース情報データベース７ａは、図２に示すように、利用可能な実行コンピュータ４ａ〜４ｃのコンピュータリソース、例えば、表中に示したような、ＣＰＵの種類、クロック周波数、メモリ容量、ディスク量、更に、利用できるアプリケーションの種類が纏められている。
【００２０】
ジョブ特性情報データベース７ｂは、図３に示すように、実行するジョブが必要とするコンピュータリソース、例えば、表中に示したような、メモリ使用量、ＣＰＵ使用率、ディスクＩ／Ｏ頻度、ＳＷＡＰ使用率を、実行するジョブの実行オプションと対応して纏めたものである。
【００２１】
ここで、ジョブ特性情報データベース７ｂに蓄積する情報は、予めジョブ分類とジョブ特性情報を収集するためのジョブを制御部６により実行し、そのジョブが実行されている時にそのジョブが使用しているコンピュータリソース情報を収集し蓄積しても良い。また、ユーザ端末３から入力されたジョブが実行される度毎に、そのジョブが実行されている時にそのジョブが使用しているコンピュータリソース情報を収集し蓄積しても良い。
【００２２】
なお、ジョブの実行時にジョブが使用しているコンピュータリソース情報は、ｓａｒ（ＯＳがＵＮＩＸ（登録商標）の場合の例）などコンピュータシステムで用意されている、コンピュータリソース情報を取得するコマンドを用いて取得する。
【００２３】
取得部８は、ジョブが用いるアプリケーションの分類に係るジョブ分類情報と、アプリケーションの実行に必要なコンピュータリソース情報とを取得するものである。
【００２４】
ジョブ割振部９は、コンピュータリソース情報データベース７ａ及びジョブ特性情報データベース７ｂを参照し、投入されたジョブをその実行に適した実行コンピュータに割振るものである。
【００２５】
次に、本実施の形態による処理の流れを、図４のフローチャートを用いて説明する。先ず、ジョブを実行したいユーザは、ユーザ端末３をジョブ振分サーバ１に接続し、ジョブ振分サーバ１に対してジョブを投入する（ステップＳ１）。
【００２６】
ユーザによりジョブがジョブ振分サーバ１に投入されると、投入されたジョブのアプリケーション名、実行オプション等のジョブ分類情報がジョブ割振部９に送られ、このジョブ分類情報を基に、ジョブ割振部９は、ジョブ特性情報データベース７ｂ（図３）を参照し、投入されたジョブが必要としているコンピュータリソースを判断する（ステップＳ２）。
【００２７】
更に、ジョブ割振部９は、判断結果たる実行に必要なコンピュータリソースと、コンピュータリソース情報データベース７ａ（図２）とを比較し、ユーザが投入したジョブを実行するのに最適な実行コンピュータを、実行コンピュータ群４から選択する（ステップＳ３）。
【００２８】
Ｓ２、Ｓ３の処理については、具体的には次のように行う。例えば、ユーザ端末３から「Ａｐｌ  −ｌ  −ｔ  −Ｉ」のジョブが投入されたとする。ジョブ割振部９は、先ず、図２のデータベースを参照して、そのコマンドが実行できる実行コンピュータを選ぶ。
【００２９】
図２より、このコマンドＡｐｌ  −ｌのジョブを実行できるのは、実行コンピュータ４ａと実行コンピュータ４ｃである。よって、実行コンピュータ４ａと実行コンピュータ４ｃとが候補となる。
【００３０】
次に、ＣＰＵの種類やクロックについて、要求されるリソースを満足するかどうかが調べられる。ユーザ端末３から投入されたジョブ「Ａｐｌ  −ｌ  −ｔ  −Ｉ」を実行するためには、図３より、ＣＰＵの種類がＰIVで、クロック周波数が２ＧＨｚ以上必要である。図２に示すように、実行コンピュータ４ａは、ＣＰＵの種類が「ＰIV」で、クロック周波数が３．０ＧＨｚであり、その条件を満足している。実行コンピュータ４ｃは、ＣＰＵの種類が「ＰIV」で、クロック周波数が２．０ＧＨｚであり、その条件を満足している。
【００３１】
次に、メモリ容量について、要求されるリソースを満足するかどうかが調べられる。ユーザ端末３から投入されたジョブ「Ａｐｌ  −ｌ  −ｔ  −Ｉ」を実行するためには、図３より、メモリ使用量が２．１ＧＢ必要である。これに対して、図２に示すように、コンピュータ４ａのメモリ容量は１．０ＧＢであり、コンピュータ４ｃのメモリ容量は４．０ＧＢである。したがって、このジョブを実行するのに、実行コンピュータ４ｃはメモリ容量が十分あるが、実行コンピュータ４ａはメモリ容量が不足する。
【００３２】
以上のように、ＣＰＵの種類やクロックについて要求されるリソースを満足し、メモリ容量について要求されるリソースを満足するのは、実行コンピュータ４ｃである。よって、ジョブ「Ａｐｌ  −ｌ  −ｔ  −Ｉ」を実行するためには、実行コンピュータ４ｃが最適であると判断される。
【００３３】
実行コンピュータ４ａ〜４ｃの選択は、必ずしも最適な実行コンピュータではなくても良く、実行コンピュータ４ａ〜４ｃに実行するための優先度を付け、この優先度にしたがって実行コンピュータ４ａ〜４ｃを順次選択しても良い。つまり、実行コンピュータ４ａ〜４ｃの稼働状況を加味して下位の優先度の実行コンピュータを選択しても良い。
【００３４】
また、最適な実行コンピュータ４ａ〜４ｃを選択するときに、全ての利用可能な実行コンピュータ４ａ〜４ｃにジョブを投入し、一定時間経過後に、それぞれの実行コンピュータの稼動状況とコンピュータリソースとから、最適な実行コンピュータを選定し、それ以外の実行コンピュータで実行している該当ジョブを削除しても良い。
【００３５】
実行コンピュータを選択すると、ジョブ割振部９は、制御部６を介して、その実行コンピュータへジョブを投入し、選択されたコンピュータでジョブを実行させる（ステップＳ４）。
【００３６】
ここで、取得部８は、ジョブが実行されると一定時間間隔で、ジョブが使用しているコンピュータリソースを取得し、一時的にその情報を保存する（ステップＳ５）。
【００３７】
また、ジョブ割振部９は、ジョブ実行中に一定時間間隔で取得部８により取得された、ジョブが実行されている実行コンピュータのコンピュータリソース情報を基に、現在ジョブを実行している実行コンピュータが最適ではなく、他の実行コンピュータの方が最適な実行コンピュータであると判断した場合、ジョブの実行を中断し、他の最適な実行コンピュータを選択し、選択された実行コンピュータでジョブを再実行させるようにしても良い。
【００３８】
ジョブが終了したかどうかが判断され（ステップＳ６）、ジョブが終了していなければ、ステップＳ５にリターンされる。
【００３９】
ステップＳ６で、実行コンピュータに投入されたジョブが終了したと判断されると、取得部８は、ジョブ実行時に取得したコンピュータリソース情報の平均値、もしくは最大値を、ジョブ分類情報が既にジョブ特性情報データベース７ｂに存在する場合は、その値を置き換え、存在しない場合はジョブ特性情報データベース７ｂに追加保存する（ステップＳ７）。このように、ジョブを実行する都度、新しいジョブ特性情報を追加もしくは書換えをすることで、ジョブ特性情報データベース７ｂを充実させる。
【００４０】
また、ステップＳ６で、実行コンピュータに投入されたジョブが終了すると、制御部６は、ユーザ端末３に、電子メール等でその完了通知を通知する（ステップＳ８）。
【００４１】
以上説明したように、本発明の実施形態では、利用可能な実行コンピュータ４ａ〜４ｃのコンピュータリソースが納められているコンピュータリソース情報データベース７ａと、実行するジョブが必要とするコンピュータリソースが納められているジョブ特性情報データベース７ｂが用意され、ユーザ端末３からジョブが投入されると、ジョブ振分サーバ１は、投入されたジョブの特性をメモリ７に格納されているジョブ特性情報データベース７ｂから判断し、そして、投入されたジョブの特性と、コンピュータリソース情報データベース７ａとを比較し、そのジョブを実行するのに最適なリソースを有する実行コンピュータをコンピュータリソース情報データベース７ａの中から選択している。このため、ジョブを実行する際に要求されるリソースに基づき、ネットワーク上に接続された複数の中から最適なコンピュータが選ばれ、ジョブを実行させることができる。
【００４２】
本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【産業上の利用可能性】
【００４３】
本発明は、電子回路のシミュレーション等、複数のコンピュータを効率的に使ってジョブを実行させるのに用いられる。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態の全体構成を示すブロック図である。
【図２】コンピュータリソース情報データベースの説明に用いる図である。
【図３】ジョブ特性情報データベースの説明に用いる図である。
【図４】本発明の実施形態の説明に用いるフローチャートである。
【符号の説明】
【００４５】
１・・・ジョブ振分サーバ、２・・・ネットワーク、３・・・ユーザ端末、４・・・実行コンピュータ群、４ａ〜４ｃ・・・実行コンピュータ、６・・・制御部、７ａ・・・コンピュータリソース情報データベース、７ｂ・・・ジョブ特性情報データベース、８・・・取得部、９・・・ジョブ割振部
【図１】
2006053654.tif 000003
【図２】
2006053654.tif 000004
【図３】
2006053654.tif 000005
【図４】
2006053654.tif 000006