(57)【要約】【課題】コマンド配信先ノードの負荷を軽減しながら、コマンド配信先への負荷の集中を防ぎ、これにより、最適な負荷分散を行うことができるコンピュータシステムを提供する。【解決手段】本発明のコンピュータシステムは、コマンドを配信するためのコマンド配信元ノード１と、コマンドを受け取って実行するコマンド配信先ノード２とを備えている。当該コンピュータシステムでは、コマンド配信先ノード２で自己の負荷を測定する動作を行わずにコマンド配信元ノード１がコマンド配信先ノード２の負荷を検出する。コマンド配信元ノード１は、検出された負荷に応じてコマンドのコマンド配信先ノード２への配信を制御するように構成されている。【選択図】図１
2010122818.tif 000002
【特許請求の範囲】
【請求項１】
コマンドを配信するための第１ノードと、
前記コマンドを受け取って実行する第２ノード
とを備え、
前記第２ノードが自己の負荷を測定する動作を行わずに前記第１ノードが前記第２ノードの負荷を検出し、
前記第１ノードが、前記検出された負荷に応じて前記コマンドの前記第２ノードへの配信を制御するように構成された
コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムであって、
前記第１ノードは、過去に前記第２ノードにおいて前記コマンドを実行するために実際に要したコマンド実行時間を算出し、前記コマンド実行時間に基づいて前記第２ノードの負荷を検出するように構成された
コンピュータシステム。
【請求項３】
請求項２に記載のコンピュータシステムであって、
前記第２ノードは、前記コマンドを受け取って実行した後、実行結果を前記第１ノードに返却するように構成されており、
前記第１ノードは、前記実行結果を前記第２ノードから受け取った時刻から前記コマンド実行時間を算出する
コンピュータシステム。
【請求項４】
請求項２に記載のコンピュータシステムであって、
前記第２ノードは、前記コマンドを受け取って実行した後、実行結果を前記第１ノードに返却するように構成されており、
前記実行結果には、前記第２ノードが前記実行結果を前記第１ノードに返却する返却時刻が記述され、
前記第１ノードは、前記実行結果に記述されている前期返却時刻から前記コマンド実行時間を算出する
コンピュータシステム。
【請求項５】
請求項２乃至４のいずれか１項に記載のコンピュータシステムであって、
前記第１ノードは、前記コマンド実行時間のうちの所定の標準時間時間を超過する部分である超過時間に基づいて、前記第２ノードの負荷を検出するように構成された
コンピュータシステム。
【請求項６】
請求項１乃至４のいずれか１項に記載のコンピュータシステムであって、
前記コマンドのそれぞれには動作属性が設定され、
前記第１ノードが、前記コマンドのそれぞれの前記動作属性に基づいて、前記第２ノードの負荷に応じて前記コマンドの送信を待ち合わせる動作、前記第２ノードの負荷に応じて前記コマンドの操作を取りやめる動作、及び検出された前記第２ノードの負荷に無関係に前記コマンドを前記第２ノードに送る動作を選択して行うように構成された
コンピュータシステム。
【請求項７】
コマンドをコマンド配信先ノードに配信するための配信手段と、
前記コマンド配信先ノードの負荷を検出する負荷検出手段
とを備え、
前記配信手段は、前記検出された負荷に応じて前記コマンドの前記第２ノードへの配信を制御するように構成され、
前記負荷検出手段は、コマンド配信先ノードが自己の負荷を測定した結果を用いずに前記コマンド配信先ノードの前記負荷を検出する
コンピュータ。
【請求項８】
請求項７に記載のコンピュータであって、
前記負荷検出手段は、過去に前記コマンド配信先ノードにおいて前記コマンドを実行するために実際に要したコマンド実行時間を算出し、前記コマンド実行時間に基づいて前記第２ノードの負荷を検出するように構成された
コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに関し、特に、一のノードから他のノードにコマンドを配信するように構成されたコンピュータシステムに関する。
【背景技術】
【０００２】
複数のノード（例えば、コンピュータ）からなる分散処理システムでは、１つの業務を複数のノード上で処理するために、あるノードから別のノードに対してコマンドを送信して実行するような制御が行われることがある。このようなコンピュータシステムは、例えば、特開平１１−３２８１２７号公報（特許文献１）に開示されている。
【０００３】
特許文献１の分散処理システムでは、マネージャマシンからエージェントマシンにコマンドが送られて業務が実行される。このとき、業務の内容によっては、複数のノードに同時にコマンドを配信したり、複数のノードから任意のノードを選択して配信したりするなどのコマンド要求も発生し得る。このような要求に応えるために、特許文献１の分散処理システムでは、マネージャマシンから複数のエージェントマシンに対するコマンド送信、実行を簡単に行うための特別な工夫がなされている。
【０００４】
しかし、あるノードから別のノードにコマンドを送信する分散処理システムでは、業務処理の集中により一時的に高負荷状態になっているノードにコマンドを配信する結果、そのノードの資源を圧迫して業務遅延を引き起こしてしまうという問題が発生し得る。
【０００５】
負荷の集中の問題を解決するための一つの手法は、コマンド配信先の選択の優先順位を、適宜に切り換える手法である。このような手法は、例えば、特開平６−１１９２８２号公報（特許文献２）に開示されている。
【０００６】
負荷の集中の問題を解決するための他の一つの手法は、コマンド配信先の負荷を検出し、その検出結果に応じてコマンド配信先を決定する手法である。このような手法は、例えば、特開平１１−２５００２３号公報（特許文献３）に開示されている。この文献に開示された分散処理システムでは、各処理装置が自身の負荷レベルを測定して処理分配機に送信する。各処理装置は、各時刻において処理分配機に負荷レベルを通知するか否かを、負荷レベルの値と、前回に負荷レベルを通知してからの経過時間に応じて決定する。一方、処理分配機は、過去に送られてきた負荷レベルと、その時点からの経過時間を利用することにより、現在の各処理装置の負荷レベルを範囲を持って推定する。処理分配機は、この推定値に応じて負荷分散の処理を行う。各ノードにおいて負荷を検出する手法については、他にも、特開平１１−１４３８３８号公報（特許文献４）、特開２００２−７１４４号公報（特許文献５）にも開示されている。
【０００７】
しかしながら、コマンドを実行するノード自身が負荷を検出する構成では、負荷検出のための負荷が各ノードにかかるため、コマンドを実行する各ノードの業務を圧迫するという問題がある。
【特許文献１】特開平１１−３２８１２７号公報
【特許文献２】特開平６−１１９２８２号公報
【特許文献３】特開平１１−２５００２３号公報
【特許文献４】特開平１１−１４３８３８号公報
【特許文献５】特開２００２−７１４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の目的は、コマンド配信先ノードの負荷を軽減しながら、コマンド配信先への負荷の集中を防ぎ、これにより、最適な負荷分散を行うことができるコンピュータシステムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明のコンピュータシステムは、コマンドを配信するための第１ノードと、前記コマンドを受け取って実行する第２ノードとを備えている。当該コンピュータシステムでは、前記第２ノードが自己の負荷を測定する動作を行わずに前記第１ノードが前記第２ノードの負荷を検出する。前記第１ノードは、前記検出された負荷に応じて前記コマンドの前記第２ノードへの配信を制御するように構成されている。
【発明の効果】
【００１０】
本発明によれば、コマンド配信先ノードの負荷を軽減しながら、コマンド配信先への負荷の集中を防ぎ、これにより、最適な負荷分散を行うことができるコンピュータシステムが提供される。
【発明を実施するための最良の形態】
【００１１】
（第１の実施形態）
図１を参照すると、第１の実施形態のコンピュータシステムは、コマンド配信元ノード１と、コマンド配信先ノード２と、コマンド配信元ノード１とコマンド配信先ノード２を接続するネットワーク３とを含む。図１では、３つのコマンド配信先ノード２が図示されており、必要がある場合、符号２Ａ、２Ｂ、２Ｃによって参照されて区別される。コマンド配信元ノード１は、コマンドをコマンド配信先ノード２に配信し、コマンド配信先ノード２に所望の処理をさせる。配信されるコマンドとしては、例えば、ファイル操作コマンド（ファイル初期化や削除など）や、データ収集・照会コマンド、バッチ処理の開始や動作変更を指示するコマンドなどが挙げられる。コマンド配信元ノード１には、端末１１が接続されており、ユーザは、端末１１を操作することによって所望のコマンドをコマンド配信先ノード２に配信する動作をコマンド配信元ノード１に実行させることができる。
【００１２】
図２は、コマンド配信元ノード１と、コマンド配信先ノード２の構成の例を示すブロック図である。コマンド配信元ノード１は、アプリケーションプログラム１２と、コマンド受付手段１３と、コマンドキュー１５と、キュー管理手段１６と、負荷評価手段１７と、コマンド配信手段１８とを備えている。図１には、コマンドキュー１５が１つしか図示されていないが、実際には、コマンドキュー１５は、コマンド配信先ノード２ごとに用意される。即ち、３つのコマンド配信先ノード２が存在する場合には、３つのコマンドキュー１５がコマンド配信元ノード１に用意される。コマンド受付手段１３と、コマンドキュー１５と、キュー管理手段１６と、負荷評価手段１７と、コマンド配信手段１８は、ソフトウェア、ハードウェア、及びこれらの組み合わせのいずれの形態でコマンド配信元ノード１に実装されてもよい。
【００１３】
加えて、コマンド配信元ノード１の記憶装置には、コマンド属性情報ファイル１４と、実行結果リスト１９とが用意される。コマンド属性情報ファイル１４とは、コマンドごとにその動作属性などをあらかじめ定義しておくための情報（即ち、コマンド属性情報）を格納するファイルである。また、実行結果リスト１９には、当該コマンド配信元ノード１からの指示に応答してコマンド配信先ノード２により実行されたコマンドの実行時刻や実行結果が記録される。
【００１４】
コマンド配信先ノード２は、複数存在することができ、それぞれ少なくともコマンド実行手段２１と、コマンド処理プログラム２２とを備えている。コマンド配信先ノード２は、コマンド処理プログラム２２以外の業務処理を実行することもできるように構成されてもよい。また、コマンド実行手段２１は、ソフトウェア、ハードウェア、及びこれらの組み合わせのいずれの形態でコマンド配信元ノード１に実装されてもよい。
【００１５】
コマンド配信元ノード１及びコマンド配信先ノード２は、概略的には、下記のように動作する：
コマンド配信元ノード１のコマンド受付手段１３は、端末１１またはアプリケーションプログラム１２からコマンドテキストとその宛先情報などを含むコマンド配信要求を受け取ると、該コマンド配信要求の宛先情報またはコマンド属性情報ファイル１４の対応するコマンド属性情報に基づいてコマンド配信先ノード２を決定し、当該コマンド配信先ノード２に対応するコマンドキュー１５にコマンド配信要求を登録する。
【００１６】
キュー管理手段１６は、コマンドキュー１５を監視し、コマンドキュー１５にコマンド配信要求が登録されるとそれを１件ずつ取り出して、負荷評価手段１７によりコマンド配信先ノード２の負荷状況を調べ、その結果負荷が高いと判断された場合には所定時間待ち合わせた後に、負荷が高いと判断されなかった場合には即時に、コマンド配信手段１８を起動してコマンド配信先ノード２へのコマンド配信を行う。
【００１７】
負荷評価手段１７は、実行結果リスト１９を参照して、現在時刻から所定時間前までの間に当該コマンド配信先ノード２に配信し実行されたすべてのコマンドについて実際のコマンド実行時間と当該コマンドの標準実行時間の情報を取得し、実際のコマンド実行時間が標準実行時間を所定以上に超過している場合には負荷が高いと判断する。
【００１８】
コマンド配信手段１８は、コマンド配信要求に含まれるコマンドテキストをコマンド配信先ノード２に配信するとともに、実行結果リスト１９にコマンド配信要求またはコマンド属性情報に示された当該コマンドの標準実行時間、およびコマンド配信時刻を記録する。さらに、コマンド配信先ノード２からコマンドの実行結果を受け取り、受け取った実行結果および受け取った時刻を実行結果リスト１９に登録するとともに、コマンド配信要求で実行結果の返却が指示されていた場合は実行結果を端末１１またはアプリケーションプログラム１２に返却する。
【００１９】
コマンド実行手段２１は、コマンド配信手段１８によって配信されたコマンドを受け取り、該当するコマンド処理プログラム２２を実行する。コマンド実行が終了すると、コマンド実行手段２１は実行結果をコマンド配信手段１８に返却する。
【００２０】
次に、図２〜図４を参照して本実施形態のコンピュータシステムの動作について詳細に説明する。
図３は、図２の実行結果リスト１９の構造例および実行結果リスト１９への記録例を示したものである。実行結果リスト１９はコマンド配信先ノード２ごとに用意されており、コマンド名３１の項目と、コマンドの標準的な実行時間である標準実行時間３２の項目と、コマンドの実行開始時刻である開始時刻３３の項目と、コマンドの実行終了時刻である終了時刻３４の項目と、実行結果３５の項目とを含む。一つのコマンドに実行結果リスト１９の一つのエントリーが割り当てられ、各エントリーには、これらの項目の情報が記述される。図３において、符号４１〜４７は、各エントリーを示している。
【００２１】
一方、図４は、端末１１またはアプリケーションプログラム１２から出されるコマンド配信要求の構造の例を示したものである。コマンド配信要求は、１つ以上のコマンド配信先ノード２を直接的または間接的に示す宛先情報５１と、コマンド配信先ノード２の負荷が高い場合に待ち合わせを行う（「待ち合わせ可」）か、エラーを返却する（「エラー」）か、負荷状況に関わらず強制的に実行する（「強制実行」）かを示す動作属性５２と、コマンドの標準実行時間を示す標準実行時間５３と、コマンドの実行結果の返却が必要か否かを示す結果返却方法情報５４と、コマンド名およびコマンドの実行条件などを指定したコマンドパラメータを含むコマンドテキスト５５とを含む。ただし、宛先情報５１と動作属性５２と標準実行時間５３と結果返却方法情報５４とは、あらかじめコマンド名ごとに定義してコマンド属性情報ファイル１４に登録することができ、コマンド属性情報ファイル１４に登録されている項目についてはコマンド配信要求では省略することができる。
【００２２】
コマンド受付手段１３は、端末１１またはアプリケーションプログラム１２からコマンド配信要求を受け取ると、コマンド配信要求の宛先情報５１と動作属性５２と標準実行時間５３と結果返却方法情報５４の一部またはすべての項目が省略されている場合に、コマンドテキスト５５内のコマンド名に対応するコマンド属性情報のうち省略された項目の情報をコマンド属性情報ファイル１４から取得して、コマンド配信要求の該当する項目に設定する。次に、コマンド受付手段１３は、宛先情報５１に基づいてコマンド配信先ノード２を決定する。さらに、コマンド配信要求の動作属性５２が「待ち合わせ可」の場合に、コマンド受付手段１３は当該コマンド配信先ノード２に対応するコマンドキュー１５にコマンド配信要求を登録する。また、動作属性５２が「エラー」の場合には、コマンド受付手段１３は負荷評価手段１７によりコマンド配信先ノード２の負荷状況を調べ、負荷が高い場合には端末１１またはアプリケーションプログラム１２にエラーを返却し、そうでない場合にはコマンド配信手段１８を起動し、コマンド配信手段１８にコマンド配信要求を受け渡す。また、動作属性５２が「強制実行」の場合には、コマンド受付手段１３は無条件でコマンド配信手段１８を起動し、コマンド配信手段１８にコマンド配信要求を受け渡す。
【００２３】
キュー管理手段１６は、コマンドキュー１５を監視し、コマンドキュー１５にコマンド配信要求が登録されると、これを取り出して負荷評価手段１７によりコマンド配信先ノード２の負荷状況を調べる。調べた結果、負荷が高いと判断された場合には、キュー管理手段１６は、所定時間の待ち合わせを行った後にコマンド配信手段１８を起動して前記コマンド配信手段１８にコマンド配信要求を受け渡す。一方、負荷状況を調べた結果、負荷が高いと判断されなかった場合には、キュー管理手段１６は、即時にコマンド配信手段１８を起動して、コマンド配信手段１８にコマンド配信要求を受け渡す。なお、コマンドキュー１５に同時に複数のコマンド配信要求が登録されていた場合には、キュー管理手段１６は登録順序の古いものから順に１件ずつ取り出して前述の処理を行い、コマンド配信手段１８を起動したら次のコマンド配信要求を取り出す。
【００２４】
負荷評価手段１７は、コマンド配信先ノード２の負荷状況を調べる機能を有している。本実施形態では、コマンド配信先ノード２の負荷状況は、当該コマンド配信先ノード２に配信し各コマンドの実行に実際に要した時間であるコマンド実行時間に基づいて判断される。より具体的には、本実施形態では、負荷評価手段１７は、下記のようにして各コマンド配信先ノード２の負荷の状況を調べる。負荷評価手段１７は、実行結果リスト１９を参照して、現在時刻から所定時間前までの間に当該コマンド配信先ノード２に配信し実行された各コマンドについてコマンドの実際のコマンド実行時間と標準実行時間３２を取得する。ここで、コマンド実行時間は、コマンドの実行の開始時刻３３と終了時刻３４とから算出される。更に、負荷評価手段１７は、実際のコマンド実行時間が標準実行時間３２を所定以上に超過している場合には負荷が高いと判断する。
【００２５】
コマンド配信手段１８はコマンド配信要求を受け取ると、そのコマンドテキスト５５をコマンド配信先ノード２に配信するとともに、実行結果リスト１９に新しいエントリーを作成し、作成したエントリーのコマンド名３１にコマンドテキスト５５から取り出したコマンド名を、標準実行時間３２にコマンド配信要求の標準実行時間５３を、また、開始時刻３３にコマンド配信時刻を記録する。コマンド配信先ノード２では、コマンド実行手段２１がコマンドを受け取り、該当するコマンド処理プログラム２２を実行する。コマンド実行が終了すると、コマンド実行手段２１はコマンドの実行結果をコマンド配信手段１８に返却する。コマンド配信手段１８は実行結果リスト１９の終了時刻３４として実行結果を受け取った時刻を記録し、実行結果リスト１９の実行結果３５として返却された実行結果の内容を記録するとともに、コマンド配信要求の結果返却方法情報５４で実行結果の返却が指示されていた場合は返却された実行結果を端末１１またはアプリケーションプログラム１２に返却する。なお、コマンド配信先ノード２においてコマンド実行手段２１がコマンドを受け付けた時刻が開始時刻３３として実行結果リスト１９に記録され、また、コマンド処理プログラム２２が終了してコマンド配信手段１８に実行結果を返却するときの時刻が終了時刻３４として実行結果リスト１９に記録されてもよい。この場合、コマンド実行手段２１は、コマンド終了時にコマンド配信手段１８に対し、コマンドの実行結果に加えてコマンド実行手段２１がコマンドを受け付けた時刻と、コマンド処理プログラム２２が終了してコマンド配信手段１８に実行結果を返却するときの時刻を返答する。コマンド配信手段１８は、これら返答された時刻をそれぞれ開始時刻３３と終了時刻３４として記録する。
【００２６】
コマンドを配信する動作は、コマンド配信要求に記述された動作属性５２の内容によって異なる。以下では、動作属性５２の内容に依存したコマンド配信動作について詳細に説明する。
【００２７】
（１）動作属性が「待ち合わせ可」である場合：
例えば、コマンド配信元ノード１のコマンド受付手段１３が、アプリケーションプログラム１２から宛先情報５１がコマンド配信先ノード２Ａであり、動作属性５２が「待ち合わせ可」であるコマンド配信要求を受け取った場合、コマンド受付手段１３は、コマンド配信先ノード２Ａに対応するコマンドキュー１５にコマンド配信要求を登録する。このとき、コマンド配信要求に標準実行時間５３と結果返却方法情報５４が指定されていなかった場合は、コマンド属性情報ファイル１４から該当の情報を取得してコマンド配信要求に設定しておく。
【００２８】
キュー管理手段１６は、コマンド配信先ノード２Ａのコマンドキュー１５から前記コマンド配信要求を取り出すと、負荷評価手段１７を呼び出す。負荷評価手段１７は、コマンド配信先ノード２Ａに対応する実行結果リスト１９を参照し、図５の動作にしたがってコマンド配信先ノード２Ａの負荷の評価を行う。
【００２９】
より具体的には、図５に示されているように、負荷評価手段１７が、現在時刻からあらかじめ定義された検証時間を差し引いて基準時刻を求め（Ｓ０１）、実行結果リスト１９の最新のエントリー（図３ではエントリー４７）から、基準時刻までのエントリーを順次参照していく（Ｓ０２〜Ｓ０５）。個々のエントリーについては、まず、実行結果リスト１９の開始時刻３３と基準時刻（例えば１０：０５：００）を比較し、基準時刻の方が開始時刻よりも時間軸上で後になったら、実行結果リスト１９の参照を終了する（Ｓ０３のＮＯ）。そうでない場合は、終了時刻３４から開始時刻３３を引いてコマンド実行時間を求め、さらにこのコマンド実行時間を標準実行時間３２と比較することにより超過時間（実行時間のうち標準実行時間３２を超える部分の時間）を求める（Ｓ０４）。実行結果リスト１９内の対象エントリーの参照が終了したら、超過時間の総和とあらかじめ定義された基準値とを比較する（Ｓ０８）。超過時間の総和の方が大きい場合には高負荷フラグにＯＮを設定し（Ｓ０９）、そうでない場合には高負荷フラグにＯＦＦを設定して（Ｓ１０）、キュー管理手段１６に高負荷フラグを返却する。
【００３０】
次に、負荷評価手段１７から返却された高負荷フラグがＯＮだった場合、キュー管理手段１６は、所定時間分の待ち合わせを行い、待ち合わせ終了後にコマンド配信手段１８を起動してコマンド配信手段１８にコマンド配信要求を受け渡す。また、負荷評価手段１７から返却された高負荷フラグがＯＦＦだった場合、キュー管理手段１６は、即時にコマンド配信手段１８を起動してコマンド配信手段１８にコマンド配信要求を受け渡す。
【００３１】
コマンド配信先ノード２Ａの負荷の評価が、コマンド配信元ノード１に設けられた負荷評価手段１７によって行われることに留意されたい。コマンド配信先ノード２Ａは、自身の負荷を測定する動作を行わない。これは、コマンド配信先ノード２Ａに余計な負荷をかけないためである。負荷を測定する動作は、それ自体がコマンド配信先ノード２Ａに負荷をかける。そこで、本実施形態のコンピュータシステムでは、コマンド配信元ノード１に設けられた負荷評価手段１７によって負荷が評価され、コマンド配信先ノード２Ａの負荷が軽減されている。
【００３２】
コマンド配信要求を受け取ると、コマンド配信手段１８は、コマンド配信要求に含まれるコマンドテキスト５５をコマンド配信先ノード２Ａに配信するとともに、コマンド配信先ノード２Ａに対応する実行結果リスト１９に新しいエントリーを作成して、コマンド名３１にコマンド配信要求のコマンドテキスト５５から取り出したコマンド名を設定し、標準実行時間３２に、コマンド配信要求の標準実行時間５３を設定し、開始時刻３３にコマンド配信時刻を記録する。コマンド配信先ノード２Ａでは、コマンド実行手段２１がコマンドテキスト５５を受け取り、該当するコマンド処理プログラム２２を実行する。コマンド実行が終了すると、コマンド実行手段２１はコマンドの実行結果をコマンド配信手段１８に返却する。コマンド配信手段１８は、実行結果リスト１９の当該コマンド配信時に作成したエントリーの終了時刻３４に実行結果を受け取った時刻を記録し、実行結果リスト１９の実行結果３５に返却された実行結果の内容を記録する。さらに、コマンド配信要求の結果返却方法情報５４で実行結果の返却が指示されていた場合は、返却された実行結果をアプリケーションプログラム１２に返却する。
【００３３】
（２）動作属性が「エラー」である場合：
次に、例えば、コマンド配信元ノード１のコマンド受付手段１３がアプリケーションプログラム１２から、宛先情報５１がコマンド配信先ノード２Ａ、動作属性５２が「エラー」であるコマンド配信要求を受け取った場合の動作について説明する。コマンド受付手段１３は、コマンド配信要求の項目のうち省略されているものについてコマンド属性情報ファイル１４から値を取得、設定した後に、負荷評価手段１７を呼び出してコマンド配信先ノード２Ａの負荷状況を調べる。負荷評価手段１７の動作は、動作属性５２が「待ち合わせ可」の場合の例と同様である。負荷評価手段１７から返却された高負荷フラグがＯＮだった場合、コマンド受付手段１３はアプリケーションプログラム１２にエラーを返却する。また、負荷評価手段１７から返却された高負荷フラグがＯＦＦだった場合は、コマンド受付手段１３はコマンド配信手段１８を起動してコマンド配信手段１８にコマンド配信要求を受け渡す。コマンド配信手段１８は、前記動作属性５２が「待ち合わせ可」の場合の例と同様にコマンド配信先ノード２Ａへのコマンド配信および実行結果リスト１９への記録を行う。
【００３４】
（３）動作属性が「強制実行」である場合：
次に、例えば、コマンド配信元ノード１のコマンド受付手段１３がアプリケーションプログラム１２より、宛先情報５１がコマンド配信先ノード２Ａ、動作属性５２が「強制実行」のコマンド配信要求を受け取った場合の動作について説明する。コマンド受付手段１３は、コマンド配信要求の項目のうち省略されているものについてコマンド属性情報ファイル１４から値を取得、設定した後、無条件でコマンド配信手段１８を起動してコマンド配信手段１８にコマンド配信要求を受け渡す。コマンド配信手段１８は、前記動作属性５２が「待ち合わせ可」の場合の例と同様にコマンド配信先ノード２Ａへのコマンド配信および実行結果リスト１９への記録を行う。
【００３５】
本実施形態のコンピュータシステムには、下記の２つの利点がある。第１の利点は、業務処理の集中により一時的に高負荷状態になっているコマンド配信先ノード２に対してコマンドを配信するような場合、該当のノードの資源を圧迫せずに業務処理を向上させることができることである。この利点は、負荷の検出および待ち合わせをコマンド配信元ノード１で行うことにより、余計な負荷をコマンド配信先ノード２に発生しないようにコンピュータシステムが構成されていることによるものである。
【００３６】
第２の利点は、動作属性としてコマンド配信先ノードの負荷状況に関わらず強制的に実行する、および、負荷が高い場合には待ち合わせを行わずにエラーを返却したりするという選択を用意しているので、コマンドの性質に応じた動作が可能となっていることである。さらに、これらの動作属性のコマンドが実行された場合にもその実行結果を実行結果リスト１９に記録しているので、実行結果リスト１９による負荷状況の判定をより正確に行うことができる。
【００３７】
（第２の実施形態）
図６は、本発明の第２の実施形態のコンピュータシステムの構成を示すブロック図である。第２の実施形態のコンピュータシステムの構成は、概ね、第１の実施形態のコンピュータシステムと同様である。相違点は、コマンド配信元ノード１に標準実行時間算定手段２０が追加されていることにある。標準実行時間算定手段２０は、各コマンド名のコマンドの過去の実際の実行時間に基づいて、各コマンド名のそれぞれについて標準実行時間を算定し、コマンド属性情報ファイル１４に登録する機能を有している。
【００３８】
標準実行時間算定手段２０による標準実行時間の算定を可能にするために、第２の実施形態では、実行結果リスト１９の構造が第１の実施形態と異なっている。図７は、第２の実施形態における実行結果リスト１９の構造の例である。図７を参照すると、実行結果リスト１９は、コマンド名３１の項目と、標準実行時間３２の項目と、開始時刻３３の項目と、終了時刻３４の項目と、実行結果３５の項目に加え、フラグ３６を含んでいる。フラグ３６は、いずれのコマンドの開始時刻３３及び終了時刻３４を標準実行時間算定手段２０による標準実行時間の算定に使用するかを指定するために使用される。後述されるように、フラグ３６がＯＮであるコマンドは、標準実行時間の算定には使用されない。
【００３９】
以下では、第２の実施形態のコンピュータシステムの動作について説明する。コマンド受付手段１３、キュー管理手段１６、コマンド配信手段１８およびコマンド実行手段２１の動作は、第１の実施形態（図１）と同様である。したがって、以下では、負荷評価手段１７および標準実行時間算定手段２０の動作について説明する。
【００４０】
負荷評価手段１７は、コマンド受付手段１３またはキュー管理手段１６から呼び出されると、各コマンド配信先ノード２の負荷を評価する。具体的には、負荷評価手段１７は、実行結果リスト１９を参照して、現在時刻から所定時間前までの間に当該コマンド配信先ノード２に配信し実行されたすべてのコマンドについて、コマンドの実際のコマンド実行時間と標準実行時間３２を取得する。コマンド実行時間は、各コマンドの実行の開始時刻３３と終了時刻３４から算出される。更に負荷評価手段１７は、コマンド実行時間と標準実行時間３２との比較により超過時間を求める。現在時刻から所定時間前までの間に当該コマンド配信先ノード２に配信し実行されたすべてのコマンドについて超過時間を算出すると、負荷評価手段１７は、算出された超過時間の総和とあらかじめ定義された基準値とを比較し、超過時間の総和の方が大きい場合には当該コマンド配信先ノード２の負荷が高いと判断する。
【００４１】
コマンド配信先ノード２の負荷が高いと判断した場合、負荷評価手段１７は、現在時刻から所定時間前までの間に当該コマンド配信先ノード２に配信し実行されたすべてのコマンドのフラグ３６をＯＮにするとともに、高負荷フラグをＯＮにしてコマンド受付手段１３またはキュー管理手段１６に返却する。結果として、当該コマンド配信先ノード２の負荷が高い状態でコマンドが処理されると、そのコマンドに対応するフラグ３６がＯＮに設定され、標準実行時間の算定から排除されることになる。
【００４２】
一方、コマンド配信先ノード２の負荷が高くないと判断した場合、負荷評価手段１７は、高負荷フラグにＯＦＦを設定して、キュー管理手段１６に高負荷フラグを返却する。
【００４３】
標準実行時間算定手段２０は、利用者からの指示やあらかじめ定められたタイミングで起動されると、特定のコマンドまたはすべてのコマンドについて標準実行時間を算定する。詳細には、標準実行時間算定手段２０は、算定の対象のコマンドについて実行結果リスト１９から実際のコマンド実行時間を取得する。コマンド実行時間は、コマンドの実行の開始時刻３３と終了時刻３４から算出される。更に、標準実行時間算定手段２０は、実際のコマンド実行時間に基づいて当該コマンドの標準実行時間を算定し、算定した標準実行時間をコマンド属性情報ファイル１４に登録する。ただし、実行結果リスト１９のフラグ３６にＯＮが設定されているコマンド、および、実際の実行時間が実行結果リスト１９の標準実行時間３２を所定の算定基準値以上に超過しているコマンドについては標準実行時間の算定には使用されない。
【００４４】
このように、本実施形態では、標準実行時間算定手段２０によって標準実行時間が算出され、コマンド属性情報ファイル１４に登録される。このような構成では、実際のコマンド実行時間に即して算出された標準実行時間に基づいて各コマンド配信先ノード２の負荷が評価されるため、各コマンド配信先ノード２の負荷をより適正に評価することができる。このとき、コマンド配信先ノード２の負荷が高い状態で実行されたコマンドが標準実行時間の算定から排除されることにより、標準実行時間を適正に算定することができる。
【図面の簡単な説明】
【００４５】
【図１】図１は、本発明の第１の実施形態のコンピュータシステムの構成を示すブロック図である。
【図２】図２は、図１のコンピュータシステムのコマンド配信元ノードとコマンド配信先ノードの構成を示すブロック図である。
【図３】図３は、第１の実施形態における実行結果リストの内容を示す表である。
【図４】図４は、コマンド配信要求の内容の例を示したものである。
【図５】図５は、コマンド配信元ノードの負荷評価手段が、コマンド配信先ノードの負荷を検出する手順の例を示すフローチャートである。
【図６】図６は、本発明の第２の実施形態のコンピュータシステムの構成を示すブロック図である。
【図７】図７は、第２の実施形態における実行結果リストの内容を示す表である。
【符号の説明】
【００４６】
１：コマンド配信元ノード
２、２Ａ〜２Ｃ：コマンド配信先ノード
３：ネットワーク
１１：端末
１２：アプリケーションプログラム
１３：コマンド受付手段
１４：コマンド属性情報ファイル
１５：コマンドキュー
１６：キュー管理手段
１７：負荷評価手段
１８：コマンド配信手段
１９：実行結果リスト
２０：標準実行時間算定手段
２１：コマンド実行手段
２２：コマンド処理プログラム
３１：コマンド名
３２：標準実行時間
３３：開始時刻
３４：終了時刻
３５：実行結果
３６：フラグ
４１〜４７：エントリー
５１：宛先情報
５２：動作属性
５３：標準実行時間
５４：結果返却方法情報
５５：コマンドテキスト
【図１】
2010122818.tif 000003
【図２】
2010122818.tif 000004
【図３】
2010122818.tif 000005
【図４】
2010122818.tif 000006
【図５】
2010122818.tif 000007
【図６】
2010122818.tif 000008
【図７】
2010122818.tif 000009