(57)【特許請求の範囲】
【請求項１】
実行処理の性能及び資源消費の少なくとも一方をある測定頻度で測定し、前記性能及び前記資源消費の少なくとも一方に関して、所定の例外の発生の有無を検出する処理を監視処理として、前記実行処理ごとに実行する監視処理手段と、
前記実行処理及び前記監視処理のそれぞれが利用する資源と前記実行処理及び前記監視処理の相互間の依存関係とを示す資源利用構造と、前記所定の例外の発生の有無とに基づいて、前記監視処理ごとの前記測定頻度を変更するための見積値を算出する判定手段と、
前記見積値に基づいて前記監視処理ごとの前記測定頻度を更新する測定頻度変更手段と、
を含み、
前記判定手段は、
前記所定の例外が発生したことを検出した前記監視処理について、対応する前記測定頻度より高い測定頻度の見積値である増加測定頻度を算出し、
前記監視処理と資源を共有しており、かつ前記監視処理との依存関係がない、前記所定の例外を検出しない前記監視処理について、対応する前記測定頻度より低い測定頻度の見積値である減少測定頻度を算出する、情報処理システム。
【請求項２】
前記監視処理手段は、前記監視処理を起動するインターバルタイマを含み、
前記測定頻度変更手段は、前記増加測定頻度及び前記減少測定頻度のそれぞれに基づいて、前記インターバルタイマを利用して待機する時間の設定値を変更する
請求項１記載の情報処理システム。
【請求項３】
前記判定手段は、
前記測定頻度の値及び前記測定頻度の値の更新量を示す測定頻度制御情報と、前記資源利用構造と、前記所定の例外の発生の有無と、に基づいて、前記増加測定頻度を算出する測定頻度見積手段と、
前記測定頻度制御情報と、前記資源利用構造と、前記所定の例外の発生の有無と、に基づいて、前記減少測定頻度を算出する負荷均衡見積手段と、を含む請求項１または２記載の情報処理システム。
【請求項４】
すべての前記実行処理及び前記監視処理による資源消費を監視する資源消費監視処理手段を更に含み、
前記測定頻度制御情報は、前記資源消費に関する条件を含み、
前記判定手段は、前記資源消費に更に基づいて、前記減少測定頻度を算出する
請求項３に記載の情報処理システム。
【請求項５】
前記測定頻度制御情報を記憶する第１の記憶手段を更に含む
請求項３または４に記載の情報処理システム。
【請求項６】
前記資源利用構造は、前記実行処理及び前記監視処理のそれぞれに対する前記資源の割り当て量と、前記割り当て量の更新量とを更に含み、
前記負荷均衡見積手段は、更に、前記減少測定頻度を算出する対象の前記監視処理を検出できない場合に、前記監視処理に基づいて、前記実行処理のいずれかに対応する前記資源の割り当て量より少ない値を含む前記資源の割り当て量である減少割り当て量を算出し、
前記減少割り当て量に基づいて、前記実行処理のへの前記資源の割り当てを変更する資源割り当て変更手段を更に含む
請求項３乃至５のいずれか１項に記載の情報処理システム。
【請求項７】
前記資源利用構造を記憶する第２の記憶手段を更に含む
請求項１乃至６のいずれか１項に記載の情報処理システム。
【請求項８】
実行処理の性能及び資源消費の少なくとも一方をある測定頻度で測定し、前記性能及び前記資源消費の少なくとも一方に関して、所定の例外の発生の有無を検出する処理を監視処理として、前記実行処理ごとに実行し、
前記実行処理及び前記監視処理のそれぞれが利用する資源と前記実行処理及び前記監視処理の相互間の依存関係とを示す資源利用構造と、前記所定の例外の発生の有無とに基づいて、前記監視処理ごとの前記測定頻度を変更するための見積値を算出し、
前記見積値に基づいて前記監視処理ごとの前記測定頻度を更新し、
前記見積値の算出は、
前記所定の例外が発生したことを検出した前記監視処理について、対応する前記測定頻度より高い測定頻度の見積値である増加測定頻度を算出し、
前記監視処理と資源を共有しており、かつ前記監視処理との依存関係がない、前記所定の例外を検出しない前記監視処理について、対応する前記測定頻度より低い測定頻度の見積値である減少測定頻度を算出する、
測定方法。
【請求項９】
実行処理の性能及び資源消費の少なくとも一方をある測定頻度で測定し、前記性能及び前記資源消費の少なくとも一方に関して、所定の例外の発生の有無を検出する処理を監視処理として、前記実行処理ごとに実行する処理と、
前記実行処理及び前記監視処理のそれぞれが利用する資源と前記実行処理及び前記監視処理の相互間の依存関係とを示す資源利用構造と、前記所定の例外の発生の有無とに基づいて、前記監視処理ごとの前記測定頻度を変更するための見積値を算出する処理と、
前記見積値に基づいて前記監視処理ごとの前記測定頻度を更新する処理と、をコンピュータに実行させ、
前記見積値を算出する処理は、
前記所定の例外が発生したことを検出した前記監視処理について、対応する前記測定頻度より高い測定頻度の見積値である増加測定頻度を算出し、
前記監視処理と資源を共有しており、かつ前記監視処理との依存関係がない、前記所定の例外を検出しない前記監視処理について、対応する前記測定頻度より低い測定頻度の見積値である減少測定頻度を算出する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置における処理の負荷や性能などを測定する技術に関する。
【背景技術】
【０００２】
計算機（情報処理装置とも呼ばれる）及び計算機を中核として構成されるシステム上で実行される処理が、所望の性能を達成できるよう、処理資源の割り当てを制御する技術の開発が行われてきた。
【０００３】
そのような技術の一例として特許文献１がある。特許文献１は、プロセスの性能を処理時間として定義し、同処理時間内に完了しなかったプロセスを、その実行に必要な計算資源を有する計算機に移動させることで性能を担保する技術を開示する。
【０００４】
また、そのような技術の他の一例として特許文献２がある。特許文献２は、プロセスの性能を実行所要時間として定義し、同時間が要件に合致するように必要な計算資源を予約することにより性能を担保する技術を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２２６５８７号公報
【特許文献２】特開２０１０−２７７５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した先行技術文献に記載された技術においては、その性能の測定処理の負荷により測定対象処理の性能が低下するという問題点がある。その理由を、以下に説明する。
【０００７】
上述した先行技術文献に記載された技術においては、以下の特徴が共通する。処理の性能（ｐｅｒｆｏｒｍａｎｃｅ）及び計算機資源の消費の双方またはいずれかが測定される。次に、測定された結果に基づいて、性能達成に必要な資源が算出され、資源割り当て制御に反映される。
【０００８】
ここで上記測定は、典型的には測定のための処理（測定処理）により実行される。この測定処理は、計算機がハードウェアとして備える機能により実行される場合もあるが、多くの用途では、測定処理の全部または一部が、計算機上で動作するプログラムにより実現される。
【０００９】
一例として、アプリケーションの応答時間を性能指標として、それを測定するプログラムを考えることができる。応答時間として、アプリケーションがある入力に対して応答を送出するまでの時間を、そのアプリケーションの入出力を捕捉するプログラムにより測定することができる。
【００１０】
測定方法は、アプリケーションの構造や入出力のインタフェースにより異なる。例えば、ネットワークを介してメッセージ交換を行うアプリケーションは、第１に、ネットワークインタフェースを通過するメッセージやパケットを取得する。第２に、そのアプリケーションは、測定対象のメッセージを識別して、入力メッセージと応答メッセージが各々観測された時刻の差を取る。こうすることで、そのアプリケーションは、応答時間を算出することができる。
【００１１】
また、他の一例として、アプリケーションの処理レートを性能指標として、それを測定するプログラムを考えることができる。処理レートとして、アプリケーションが一定時間内に所定の処理を何回実行したかを、実行記録などを読み出して計数するプログラムにより測定することができる。
【００１２】
計数方法はアプリケーションの構造や処理の内容により異なる。例えば、ファイル中に記載された一連の数値の統計値を計算して別のファイルに書き込むアプリケーションは、書き込み先のファイルを所定の間隔を置いて読み出す。そして、そのアプリケーションは、増加した計算結果の数を調べることで処理レートを算出することができる。
【００１３】
更に、他の一例として、アプリケーションのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）消費量を資源消費の指標として、それを測定するプログラムを考えることができる。ＣＰＵ消費量として、一定時間の間にアプリケーションの処理に費やされたＣＰＵサイクル数、または、アプリケーションの処理がＣＰＵを占有していた時間を測定することができる。システムソフトウエアによりアプリケーションプログラムの実行が開始される時点と停止した時点との、ＣＰＵが備えるクロックサイクルカウンタの値、または時刻の差を取ることで、これらを算出することができる。
【００１４】
これらのような測定処理は、典型的には、測定対象の処理（測定対象処理）が実行されていない時間に実行されるか、測定対象処理を中断して実行される。或いは、複数のＣＰＵを搭載する計算機では、その測定処理は、測定対象処理が実行されるのとは異なるプロセッサで実行されるのが典型的である。測定処理が継続的に行われると、測定対象処理や他の処理に割り当てられる資源が減少するため、通常は間欠的に測定が行われる。例えば、応答時間の測定では、一定時間経過する毎に１回、測定が行われる。
【００１５】
一方で、性能や負荷などを測定し、資源割り当て制御を実行して所望の性能を達成し続けるには、性能や負荷などの変化を迅速に検出し、その結果を資源割り当て制御に反映させる必要がある。例えば、性能や負荷などの測定が遅れると、制御に遅れが伝搬し、性能未達の可能性が高くなる。特に、性能や負荷などの変動が急激である場合には、その傾向は顕著になる。
【００１６】
その性能未達の可能性が高くなるという問題点に対しては、性能測定の頻度を高めることで対処できる。しかしながら、前述の通り、測定処理自体がプログラムの動作による、計算樹の資源を用いて実行される処理であることから、測定処理の実行間隔を短くすると、測定処理自体が負荷の発生源となり、所望の処理の性能の達成を阻害する可能性がある。
【００１７】
これは、所望の処理の性能の達成のために測定処理の精度を高める場合、その測定処理自身の資源の消費を無視することができないことを意味する。即ち、性能を達成すべき処理自体への資源の割り当てに加え、測定処理への資源の割り当てを適切に行う必要があるという課題がある。
【００１８】
ここで、測定対象処理が複数存在する場合がある。例えば、複数のプログラムが計算機内の複数のＣＰＵで実行される場合に、それらのプログラムについて測定すべき性能指標が異なっている場合がある。この場合、複数の測定処理が並行して実行される。そして、測定精度の向上のためにそれらの測定間隔が一様に短くされると、前述の問題点はより顕著になる。
【００１９】
上述の課題についての具体的な状況の一例を、図２６、図２７及び図２８を用いて更に説明する。図２６は、関連技術における計算機の構成を示すブロック図である。図２７は、図２６に示す計算機上での、処理の経過に伴う性能の変化を示すグラフである。図２７に示すグラフにおいて、横軸は時刻（ミリ秒）を示し、縦軸は処理毎の性能を示す。図２８は、図２６に示す計算機上での、処理の経過に伴う資源消費の変化を示すグラフである。図２８に示すグラフにおいて、横軸は図２７と同じ時刻を示し、縦軸はＣＰＵ使用率とその処理毎の内訳を示している。
【００２０】
本例では、性能に影響ある資源としてＣＰＵ１個を備える計算機上で、２つのプログラムＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）  ＰｒｏｘｙとＳＩＰ  ＩＭ（Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｅ）が動作している場合を考える。また、各々の性能を測定する測定処理としてＰｒｏｘｙ応答監視処理とＩＭスループット監視処理とが動作しているものとする。
【００２１】
ＳＩＰ  Ｐｒｏｘｙの性能指標は、入力に対する応答時間（ミリ秒）である。ＳＩＰ  ＩＭの性能指標は、メッセージ処理レート（メッセージ／秒）である。Ｐｒｏｘｙ応答監視処理及びＩＭスループット監視処理のそれぞれの性能は、前述の各性能指標の測定頻度（測定／秒）である。また、各処理の資源消費は、ＣＰＵ使用比率で表される。
【００２２】
図２７及び図２８に示すように、時刻４００から９００の間では、ＳＩＰ  ＰｒｏｘｙはＣＰＵ使用率とＳＩＰ  Ｐｒｏｘｙ応答時間とが共に上昇している。一方、ＳＩＰ  ＩＭについては、メッセージ処理レートの性能はやや変化しているが、ＣＰＵ使用率には大きな変化はない。
【００２３】
Ｐｒｏｘｙ応答監視処理については、ＳＩＰ  Ｐｒｏｘｙの性能低下を反映して測定頻度を大きくしたことで、時刻７００からＣＰＵ使用率が上昇している。ＩＭスループット監視処理についてはＳＩＰ  ＩＭの性能を反映して、ＣＰＵ使用率には変化はない。そして、時刻１３００において、ＣＰＵ使用率は、総計として１００％に達している。
【００２４】
このような過負荷への対策は、（１）一部の処理を他の計算機に移す、（２）現時点の過負荷への対策を断念して次回の過負荷に備えて資源を予約する、或いは（３）一部の処理の性能を低下させることを許容して資源の割り当てを変更する、ことである。特許文献１では上記（１）の方式、特許文献２では上記（２）の方式が採用されている。
【００２５】
しかし、本例のように、1秒未満のような期間で急激に負荷が変動するため、処理を移動させる時間的余裕がない場合、その処理の性能を維持するには、上記（３）の方式を選択せざるを得ない。
【００２６】
先行技術文献のいずれにも、上記（３）の方式を実現するための手段は開示されておらず、またそのような関連技術は存在していない。
【００２７】
本発明の目的は、測定処理の負荷により測定対象処理の性能が低下するという問題点を解決する情報処理装置、測定方法及びそのためのプログラムを提供することである。
【課題を解決するための手段】
【００２８】
本発明の一様態における情報処理システムは、実行処理の性能及び資源消費の少なくともいずれかを測定する時間間隔を示す測定頻度に基づく契機において、前記性能及び前記資源消費の少なくともいずれかに関して、所定の例外が発生したことを検出する監視処理手段と、前記実行処理及び前記監視処理手段のそれぞれが利用する資源と前記実行処理及び前記監視処理手段の相互間の依存関係とを示す資源利用構造と、前記所定の例外とに基づいて、前記所定の例外が発生したことを検出した前記監視処理手段に対応する前記測定頻度より高い値を含む増加測定頻度と、前記所定の例外が発生したことを検出した前記監視処理手段以外の前記監視処理手段に対応する前記測定頻度より低い値を含む減少測定頻度と、を算出する判定手段と、前記増加測定頻度及び前記減少測定頻度のそれぞれに基づいて、前記所定の例外が発生したことを検出した前記監視処理手段、及び、前記所定の例外が発生したことを検出した前記監視処理手段以外の前記監視処理手段、のそれぞれに対応する前記測定頻度を更新する測定頻度変更手段と、を含む。
【００２９】
本発明の一様態における測定方法は、実行処理の性能及び資源消費の少なくともいずれかを測定する時間間隔を示す測定頻度に基づく契機において、前記性能及び前記資源消費の少なくともいずれかに関して、所定の例外が発生したことを検出し、前記実行処理及び前記所定の例外の発生を検出する処理のそれぞれが利用する資源と前記実行処理及び前記所定の例外の発生を検出する処理の相互間の依存関係とを示す資源利用構造と、前記所定の例外とに基づいて、前記所定の例外が発生したことを検出した処理に対応する前記測定頻度より高い値を含む増加測定頻度と、前記所定の例外が発生したことを検出した処理以外の前記所定の例外の発生を検出する処理に対応する前記測定頻度より低い値を含む減少測定頻度と、を算出し、前記増加測定頻度及び前記減少測定頻度のそれぞれに基づいて、前記所定の例外が発生したことを検出した処理、及び、前記所定の例外が発生したことを検出した処理以外の前記所定の例外の発生を検出する処理、のそれぞれに対応する前記測定頻度を更新する。
【００３０】
本発明の一様態におけるプログラムは、実行処理の性能及び資源消費の少なくともいずれかを測定する時間間隔を示す測定頻度に基づく契機において、前記性能及び前記資源消費の少なくともいずれかに関して、所定の例外が発生したことを検出する処理と、前記実行処理及び前記所定の例外の発生を検出する処理のそれぞれが利用する資源と前記実行処理及び前記所定の例外の発生を検出する処理の相互間の依存関係とを示す資源利用構造と、前記所定の例外とに基づいて、前記所定の例外が発生したことを検出した処理に対応する前記測定頻度より高い値を含む増加測定頻度と、前記所定の例外が発生したことを検出した処理以外の前記所定の例外の発生を検出する処理に対応する前記測定頻度より低い値を含む減少測定頻度と、を算出する処理と、前記増加測定頻度及び前記減少測定頻度のそれぞれに基づいて、前記所定の例外が発生したことを検出した処理、及び、前記所定の例外が発生したことを検出した処理以外の前記所定の例外の発生を検出する処理、のそれぞれに対応する前記測定頻度を更新する処理と、をコンピュータに実行させる。
【発明の効果】
【００３１】
本発明は、測定処理の負荷により測定対象処理の性能が低下することをより好適に防止することが可能になるという効果がある。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１の実施形態に係る計算機の構成の一例を示すブロック図である。
【図２】第１の実施形態に係る計算機の具体的な構成の一例を示すブロック図である。
【図３】第１の実施形態における監視処理部の構成の一例を示すブロック図である。
【図４】第１の実施形態における例外条件の一例を示す図である。
【図５】第１の実施形態における例外情報の一例を示す図である。
【図６】第１の実施形態における判定部の構成の一例を示すブロック図である。
【図７】第１の実施形態における測定頻度制御情報の表現の一例とその具体例を示す図である。
【図８】第１の実施形態における資源利用構造の表現の一例とその具体例を示す図である。
【図９】第１の実施形態における制御部の構成の一例を示すブロック図である。
【図１０】第１の実施形態における動作の概要を示すフローチャートである。
【図１１】第１の実施形態における監視処理部の動作を示すフローチャートである。
【図１２】第１の実施形態における判定部の動作を示すフローチャートである。
【図１３】第１の実施形態における測定頻度制御情報の一例を示す図である。
【図１４】第１の実施形態における制御部の動作を示すフローチャートである。
【図１５】本発明の第２の実施形態における資源利用構造の一例を示す図である。
【図１６】第２の実施形態における判定部の動作を示すフローチャートである。
【図１７】第２の実施形態における制御部の構成一例を示すブロック図である。
【図１８】本発明の第３の実施形態における測定頻度制御情報の表現の一例とその具体例を示す図である。
【図１９】本発明の第４の実施形態に係る計算機の具体的な構成の一例を示すブロック図である。
【図２０】第４の実施形態における測定頻度制御情報の一例を示す図である。
【図２１】本発明の第５の実施形態における測定頻度制御情報の一例を示す図である。
【図２２】第５の実施形態における例外情報の一例を示す図である。
【図２３】本発明の第６の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２４】第６の実施形態に係る情報処理装置を実現するコンピュータのハードウェア構成を示すブロック図である。
【図２５】第６の実施形態における変形例の構成を示すブロック図である。
【図２６】関連技術の一例の構成を示すブロック図である。
【図２７】関連技術の動作の一例を示すシーケンス図である。
【図２８】関連技術の動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【００３３】
次に、本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
［第１の実施形態］
［構成の説明］
図１は、本発明の第１の実施形態に係る計算機１００（情報処理システムとも呼ばれる）の構成を示すブロック図である。
【００３４】
図１に示すように、本実施形態に係る計算機１００は、資源１１０と、処理部１２０と、監視処理部１３０と、判定部１４０と、制御部１５０とを含む。尚、図１に示す例に係わらず、計算機１００は、任意の数の処理部１２０及び任意の数の監視処理部１３０を含んでよい。
【００３５】
図２は、資源１１０に含まれる資源、処理部１２０及び監視処理部１３０の具体例を示すブロック図である。
【００３６】
＝＝＝資源１１０＝＝＝
資源１１０は、処理部１２０や監視処理部１３０の動作に必要で、かつ処理部１２０の性能の維持や監視処理部１３０の実行に影響を及ぼす計算機１００内の共有部分である。資源１１０は、例えば、ＣＰＵサイクルや、メモリの一部、ディスクの読み書き操作などの任意の資源を含んでよい。
【００３７】
図２に示すように、資源１１０は、ＣＰＵ＃１、ＣＰＵ＃２、ディスク＃１、及びディスク＃２を含む。図２に示す例に係わらず、計算機１００は、任意の資源を計算機１００として含んでよい。
【００３８】
＝＝＝処理部１２０＝＝＝
処理部１２０は、資源１１０上で動作するプログラムであって、典型的にはアプリケーションプログラムである。この資源１１０上で動作するプログラムは、「実行処理」とも呼ばれる。また、性能や資源消費を測定される対象の実行処理を測定対象処理と呼ぶ。  図２に示すように、計算機１００は、処理部１２０としてＳＩＰ  Ｐｒｏｘｙ１２０１及びＳＩＰ  ＩＭ１２０２を含む。図２に示す例に係わらず、計算機１００は、任意の種類と数の、処理部１２０を含んでよい。ＳＩＰ  Ｐｒｏｘｙ１２０１及びＳＩＰ  ＩＭ１２０２は、「実行処理」であり「測定対象処理」である。
【００３９】
＝＝＝監視処理部１３０＝＝＝
監視処理部１３０は、資源１１０上で動作する、例えば所定の測定対象処理の性能や、資源１１０の消費状況などを測定するプログラムである。この資源１１０上で動作するプログラムは、「監視処理」とも呼ばれる。尚、実行処理と監視処理とを総称して、単に「処理」とも呼ぶ。
【００４０】
監視処理部１３０は、測定頻度に基づく契機において、測定対象処理の性能及び資源消費の少なくともいずれかに関して、所定の例外が発生したことを検出する。ここで、測定頻度は、その測定対象処理の性能及び資源消費の少なくともいずれかを測定する時間間隔を示す。
【００４１】
図２に示すように、計算機１００は、監視処理部１３０として、Ｐｒｏｘｙ応答監視処理１３０１及びＩＭスループット監視処理１３０２を含む。図２に示す例に係わらず、計算機１００は、任意の種類と数の、監視処理部１３０を含んでよい。Ｐｒｏｘｙ応答監視処理１３０１及びＩＭスループット監視処理１３０２は、「監視処理」である。
【００４２】
図３は、監視処理部１３０の構成の一例を示すブロック図である。図３に示すように、監視処理部１３０は、内部に情報抽出部１３２、例外条件１３４、例外検出部１３３、インターバルタイマ１３１を含む。例外条件１３４は、計算機１００の図示しない記憶手段に保持されてよい。
【００４３】
情報抽出部１３２は、測定対象処理の性能と、その測定対象処理の資源１１０の消費とのいずれか、または両方を、測定する。具体的には、情報抽出部１３２は、その測定対象処理の入出力データや管理情報などの、計算機１００内で取得可能な情報源から、その性能やその消費を、測定値として取得する。
【００４４】
一例として、監視処理は、アプリケーション（測定対象処理）の応答時間とＣＰＵ使用率を取得する。例えば、監視処理は、応答時間を、そのアプリケーションの入出力の捕捉によって取得する。また、監視処理は、ＣＰＵ使用率を、システムソフトウエアの管理情報の読み出しによって取得する。
【００４５】
例外検出部１３３は、所定の条件が満たされた場合、例外が発生したと判断して判定部１４０にその例外に関する情報（以後、例外情報と呼ぶ）を送信する。
【００４６】
所定の条件は、典型的には測定値が所定の閾値を超過するか下回る場合が当てはまり、例外条件１３４に予め格納されている。ここで、測定値は、監視処理部１３０により測定された値である。
【００４７】
例外条件１３４は、典型的には測定値と比較可能な定数が閾値として設定される。またその他に、例外条件１３４は、測定値の変化量や累積値、直前の所定の数の測定値のうちで、所定の値を超過した測定値の個数などに対して設定された閾値であってもよい。
【００４８】
判定部１４０が受信する例外情報は、例えば、例外を検出した監視処理の名称、その例外の発生例外条件及び測定値を少なくとも含む。
【００４９】
例外条件１３４の一例を図４に、例外情報の一例を図５に示す。図４の例外条件１３４は、Ｐｒｏｘｙ応答監視処理１３０１の例外条件として設定された２件の、応答時間とＣＰＵ使用率の組み合わせによる例外条件を示す。また、図５は、Ｐｒｏｘｙ応答監視処理１３０１が送信する例外情報の一例を示す図である。図５に示すように、例外情報は、例外を検出した監視処理の監視処理名称、検出した例外の発生例外条件及び実際の測定値を含む。
【００５０】
インターバルタイマ１３１は、所定の間隔で監視処理部１３０の情報抽出部１３２を起動する。インターバルタイマ１３１は、監視処理部１３０のそれぞれが個別に含んでもよいし、任意の監視処理部１３０によって共通に利用されてもよい。
【００５１】
＝＝＝判定部１４０＝＝＝
判定部１４０は、監視処理部１３０が検出した例外を契機として、その例外に対応する監視処理の測定頻度を調整するための判定を行う。図６は、判定部１４０の構成の一例を示すブロック図である。図６に示すように、判定部１４０は、測定頻度見積部１４１と、資源利用構造１４４と、測定頻度制御情報１４２と、負荷均衡見積部１４３とを含む。
【００５２】
測定頻度見積部１４１は、例外を送信した監視処理の所要測定頻度より高い見積値（増加測定頻度とも呼ばれる）を算出する。
例えば、測定頻度見積部１４１は、測定対象処理の応答時間や、スループット、資源消費などの指標のいずれかが増大して例外条件１３４が示す閾値を超えたとき、その測定対象処理に対応する測定頻度を高める（増加させる）ための見積値を算出する。
【００５３】
計算機１００は、この見積値に基づいて測定頻度を高めることで、増大する指標の変化動向を、より細粒度で検出でき、資源割り当て調整の機会をより早くできる。尚、測定対象処理に対する資源割り当ての方法は、本発明の特徴となる要素ではないため、ここでは説明しない。
【００５４】
測定頻度制御情報１４２は、各監視処理の個々の測定頻度と、その測定頻度を調整する場合の調整操作を含む。測定頻度制御情報１４２は、判定部１４０内の図示しない記憶手段（第１の記憶手段）に記憶されてよい。
【００５５】
測定頻度制御情報１４２の表現の一例を図７の（Ａ）に示す。また、図７の（Ａ）に示す表現で表された、測定頻度制御情報１４２の具体的な一例を図７の（Ｂ）に示す。図７に示すように、測定頻度制御情報１４２は、監視処理毎に、監視処理名、測定対象処理名、指標、測定頻度、頻度更新量を含む。
【００５６】
図７の（Ｂ）は、図２に示す計算機１００に対応する、測定頻度制御情報１４２の一例を示す。この測定頻度制御情報１４２は、ＳＩＰ  Ｐｒｏｘｙ１２０１とＳＩＰ  ＩＭ１２０２を測定対象処理とし、Ｐｒｏｘｙの応答時間（平均応答時間）及びＩＭのメッセージスループット（メッセージ処理レート）を指標として監視する監視処理に関する。そして、この測定頻度制御情報１４２は、２つの監視処理（Ｐｒｏｘｙ応答監視処理１３０１及びＩＭスループット監視処理１３０２）が、合わせて５つの指標の測定を行うことを示す。そして、この測定頻度制御情報１４２は、各測定頻度を毎秒の回数、測定更新量を、測定頻度の増減率で指定する場合の一例である。
【００５７】
例えば、図７の（Ｂ）の先頭行はＰｒｏｘｙ応答監視処理１３０１の、平均応答時間の測定項目であって、同項目の現在の測定頻度は毎秒１０回、測定頻度を調整する場合は、増減いずれも５０％ずつ変化させることを示す。
【００５８】
測定頻度は、平均応答時間に限るものでなく、例えば、ＣＰＵ使用率や、メッセージのサンプルレート（何個のメッセージ毎に1個を測定対象とするか）などでもよい。また頻度更新量は、より複雑な、頻度更新量を算出するための関数であっても良い。
【００５９】
資源利用構造１４４は、監視処理と測定対象処理とのそれぞれが利用する資源１１０及び、監視処理及び測定対象処理の相互間の依存関係の情報を、少なくとも含む。資源利用構造１４４は、判定部１４０内の図示しない記憶手段（第２の記憶手段）に記憶されてよい。
【００６０】
資源利用構造１４４の表現の一例を図８の（Ａ）に示す。また、図８の（Ａ）に示す表現で表された、資源利用構造１４４の具体的な一例を図８の（Ｂ）に示す。
【００６１】
図８の（Ｂ）は、図２に示す計算機１００に対応する、資源利用構造１４４の一例を示す。この資源利用構造１４４は、測定対象処理と監視処理とを合計した４個の処理に関する。例えば、この資源利用構造１４４は、ＳＩＰ  Ｐｒｏｘｙ１２０１がＣＰＵ＃1とディスク＃1を使って実行されることを示す。また、この資源利用構造１４４は、Ｐｒｏｘｙ応答監視処理１３０１がＣＰＵ＃２とディスク＃１を使って実行され、ＳＩＰ  Ｐｒｏｘｙ１２０１の応答性能を監視するためにＳＩＰ  Ｐｒｏｘｙ１２０１に依存していることを示す。尚、図８の（Ｂ）において空欄は、その処理名の処理に依存先の処理が存在しないこと、或いは、その欄に対応する資源をその処理名の処理が使用しないことを示す。
【００６２】
ここでは簡易的に表現する表形式の資源利用構造１４４を説明したが、このような依存関係は抽象的には有向グラフとして表現、保持されてもよい。
【００６３】
負荷均衡見積部１４３は、特定の監視処理の測定頻度を高める上で、資源利用構造１４４が含む依存関係に基づいて、他の監視処理の測定頻度より低い見積値（減少測定頻度とも呼ばれる）を算出する。その他の監視処理は、前述の増大する指標の変化動向への影響がないか、或いはその影響が小さい、一つ以上の監視処理である。また、その見積値（減少測定頻度）は、その他の監視処理にとって許容可能な測定頻度の見積値である。
【００６４】
具体的には、負荷均衡見積部１４３は、このような負荷の均衡を図るために、資源利用構造１４４を参照して、その特定の監視処理と資源１１０を共有しており、かつその特定の監視処理との依存関係がない、他の監視処理を選択する。計算機１００は、そのような他の監視処理への資源割り当てを減らすことで、計算機１００内の全処理の資源１１０の消費を均衡させる。
【００６５】
＝＝＝制御部１５０＝＝＝
制御部１５０は、判定部１４０が算出する増加測定頻度及び減少測定頻度に基づいて、監視処理の測定頻度を調整する。図９は、制御部１５０の構成の一例を示すブロック図である。図９に示すように、制御部１５０は、測定頻度変更部１５１を含む。
【００６６】
測定頻度変更部１５１は、増大測定頻度に基づいて、所定の例外が発生したことを検出した監視処理の測定頻度を更新する。また、測定頻度変更部１５１は、減少測定頻度のそれぞれに基づいて、その所定の例外が発生したことを検出した監視処理以外の、他の監視処理の測定頻度を変更する。具体的には、測定頻度変更部１５１は、各監視処理のインターバルタイマ１３１を用いた待機時間の設定値を変更する。
［動作の説明］
次に本実施形態の動作について、図面を参照して詳細に説明する。
【００６７】
図１０は、本実施形態における計算機１００全体の動作を示すフローチャートである。
【００６８】
図１０に示すように、最初に、計算機１００は、インターバルタイマ１３１を起動する（ステップＳ０１０）。次に、計算機１００は、監視処理１３０が例外を検出し（ステップＳ１１０）、判定部１４０が測定頻度の調整を決定し（ステップＳ１２０）、制御部１５０がその調整を反映する（ステップＳ１３０）、という動作を繰り返す。
【００６９】
尚、計算機１００は、例えば、計算機１００の電源が投入され、初期設定が完了したことを契機に、図１０に示す動作を開始する。また、計算機１００は、後述する図２７に示す入力部７０４を介して操作者から指示を受けたことを契機に、図１０に示すフローチャートの動作を開始してもよい。或いは、計算機１００は、後述する図２７に示す通信部７０６を介して、外部から要求を受信したことを契機に、図１０に示すフローチャートの動作を開始してもよい。
【００７０】
次に、ステップＳ１１０、ステップＳ１２０及びステップＳ１３０のそれぞれの動作について、詳細に説明する。尚、本実施形態の動作には処理部１２０の動作は直接には含まれないため、処理部１２０の動作の説明を省略する。
【００７１】
図１１は、ステップＳ１１０における、一つの監視処理部１３０の動作を示すフローチャートである。
【００７２】
監視処理部１３０は、インターバルタイマ１３１の割り込みを契機として、図１１に示す動作を開始する。
【００７３】
監視処理部１３０は、予め設定されている待機時間が経過したか否かを判定する（ステップＳ１１１）。例えば、監視処理部１３０は、動作を開始した回数を計数し、インターバルタイマ１３１の割り込みの間隔にその回数を乗じた時間を、その待機時間と比較することにより、その待機時間が経過したか否かを判定する。また、監視処理部１３０は、その経過時間が経過したときの時刻を前回動作時刻として記憶し、動作を開始したときの時刻と比較して、その待機時間が経過したか否かを判定してもよい。監視処理部１３０は、これらの例に係わらず、任意の手法でその経過時間が経過したか否かを判定してよい。
【００７４】
待機時間が経過した場合（ステップＳ１１１でＹＥＳ）、監視処理部１３０の情報抽出部１３２が、測定対象処理の性能または資源消費の情報を、測定対象処理から測定値として取得する（ステップＳ１１２）。
【００７５】
待機時間が経過していない場合（ステップＳ１１１でＮＯ）、監視処理部１３０は、動作を終了する。
【００７６】
次に、例外検出部１３３が、例外条件１３４に含まれる条件が、その測定値により満たされるか否かに基づいて、例外の発生を検出する（ステップＳ１１３）。
【００７７】
例外の発生が検出された場合（ステップＳ１１４でＹＥＳ）、例外検出部１３３は、その例外に対応する例外情報を判定部１４０へ送信する（ステップＳ１１５）。そして、監視処理部１３０は、動作を終了する。
【００７８】
例外の発生が検出されなかった場合（ステップＳ１１４でＮＯ）、監視処理部１３０は、動作を終了する。
【００７９】
尚、測定対象処理、即ち性能または資源消費の情報の抽出対象の処理、が複数ある場合には、各々の測定対象処理についての監視処理の間隔が異なっていてもよい。その場合、例えば、インターバルタイマ１３１をその間隔の公約数となる時間に設定し、待機が完了した時点で、前回の測定時刻からの経過時間を調べ、必要な監視処理を選択するようにする。
【００８０】
或いは、各測定対象処理に対応する監視処理のそれぞれが、インターバルタイマ１３１を持ち、それらのインターバルタイマ１３１のそれぞれにその監視処理の間隔の時間が設定されてもよい。この場合、測定頻度変更部１５１は、増大測定頻度及び減少測定頻度のそれぞれに基づいて、各監視処理のインターバルタイマ１３１のタイムアウト時間を再設定するようにしてよい。
【００８１】
次に、判定部１４０の動作を、図１２を用いて説明する。
【００８２】
判定部１４０は、監視処理部１３０からの例外情報の受信を契機に、図１２に示す動作を開始する。ここでは、監視処理部１３０のＰｒｏｘｙ応答監視処理１３０１（図１２においては、監視処理Ｍ１と記載する）により例外情報が送信されたものとして、説明する。
【００８３】
判定部１４０は、例外を検出したＰｒｏｘｙ応答監視処理１３０１と指標とを、その例外情報に基づいて特定する。続けて、判定部１４０は、測定頻度制御情報１４２のＰｒｏｘｙ応答監視処理１３０１のその指標に対応する測定頻度と頻度更新量とに基づいて、新たな測定頻度（図１２においては、所要測定頻度Ｆ１と記載する）を算出する。更に、判定部１４０は、その新たな測定頻度で測定頻度制御情報１４２のＰｒｏｘｙ応答監視処理１３０１のその指標に対応する測定頻度を更新する（ステップＳ１２２）。
【００８４】
例えば、測定頻度制御情報１４２が図７に示す測定頻度制御情報１４２であり、例外情報が図５に示す例外情報である場合、判定部１４０は、以下のように動作する。第１に、判定部１４０は、例外を検出した監視処理がＰｒｏｘｙ応答監視処理１３０１であることと、その指標が平均応答時間であることを特定する。第２に、判定部１４０は、測定頻度制御情報１４２に基づいて、現在の測定頻度「毎秒２０回」を５０％増加させた、本指標の新たな測定頻度「毎秒３０回」を算出する。第３に、判定部１４０は、図１３に示す測定頻度制御情報１４２のように、Ｐｒｏｘｙ応答監視処理１３０１の指標「平均応答時間」に対する測定頻度を「毎秒３０回」に更新する。
【００８５】
次に、負荷均衡見積部１４３は、以下のステップＳ１２３、ステップＳ１２４及びステップＳ１２５において、計算機１００の負荷を均衡させるために、負荷を低減させる処理を選定する。即ち、Ｐｒｏｘｙ応答監視処理１３０１の測定頻度を高めることにより計算機１００の負荷が増加することが予想されるので、負荷均衡見積部１４３は、例えば、測定頻度を減少させる他の監視処理を選定する。
【００８６】
負荷均衡見積部１４３は、資源利用構造１４４を参照して、資源１１０の内の、Ｐｒｏｘｙ応答監視処理１３０１が利用する資源（説明の便宜上、資源Ｒ１と呼ぶ）を特定する。次に、負荷均衡見積部１４３は、資源Ｒ１を利用する他の処理の集合Ｓ１を求める（ステップＳ１２３）。
【００８７】
ここで、資源Ｒ１に不足を来さないようにするためには、集合Ｓ１のいずれかの処理の資源消費を減らす必要がある。但し、その処理の資源消費を減らした結果、Ｐｒｏｘｙ応答監視処理１３０１或いはＰｒｏｘｙ応答監視処理１３０１が監視対象とするＳＩＰ  Ｐｒｏｘｙ１２０１自身の性能が低下すると、Ｐｒｏｘｙ応答監視処理１３０１による監視自体の意味が失われる。このため、Ｐｒｏｘｙ応答監視処理１３０１、ＳＩＰ  Ｐｒｏｘｙ１２０１及びＳＩＰ  Ｐｒｏｘｙ１２０１が性能面で依存する処理は、資源消費を減らす対象から除外する。
【００８８】
負荷均衡見積部１４３は、集合Ｓ１から「資源消費を減らす対象から除外する処理」を除いて、残った処理の集合を集合Ｓ２とする（ステップＳ１２４）。本実施形態では、負荷均衡見積部１４３は監視処理の資源消費を減らす、ものとする。そのため、負荷均衡見積部１４３は、集合Ｓ２からＩＭスループット監視処理１３０２（図１２においては、監視処理Ｍ２と記載する）を選択する（ステップＳ１２５）。
【００８９】
次に、負荷均衡見積部１４３は、測定頻度制御情報１４２のＩＭスループット監視処理１３０２の測定間隔と変更量とに基づいて、ＩＭスループット監視処理１３０２の新たな測定頻度（図１２においては、測定頻度Ｆ２と記載する）を算出する。更に、負荷均衡見積部１４３は、そのＩＭスループット監視処理１３０２の新たな測定頻度で、測定頻度制御情報１４２を更新する（ステップＳ１２６）。
【００９０】
具体的には、負荷均衡見積部１４３は、ステップＳ１２３からＳ２６において、以下のように動作する。
【００９１】
例外情報が図４に示す例外情報の場合、ステップＳ１２２において、Ｐｒｏｘｙ応答監視処理１３０１の測定頻度が高められる。資源利用構造１４４が図８の（Ｂ）に示す資源利用構造１４４である場合、Ｐｒｏｘｙ応答監視処理１３０１に割り当てられている資源１１０はＣＰＵ♯２、ディスク＃２である。従って、ステップＳ１２３において、負荷均衡見積部１４３は、ＳＩＰ  ＩＭ１２０２、Ｐｒｏｘｙ応答監視処理１３０１、ＩＭスループット監視処理１３０２を集合Ｓ１に含める。
【００９２】
次に、ステップＳ１２４において、資源利用構造１４４の処理名と依存先処理名の列とに基づいて、負荷均衡見積部１４３は、ＳＩＰ  ＩＭ１２０２とＩＭスループット監視処理１３０２とを集合Ｓ２に含める。
【００９３】
次に、ステップＳ１２５において、負荷均衡見積部１４３は、集合Ｓ２から、監視処理であるＳＩＰ  ＩＭ１２０２を選択する。
【００９４】
次に、ステップＳ１２６において、測定頻度制御情報１４２が図７の（Ｂ）に示す測定頻度制御情報１４２である場合、負荷均衡見積部１４３は、ＳＩＰ  ＩＭ１２０２の変更後の測定頻度を「毎秒５回」と算出する。そして、判定部１４０は、図１３に示す測定頻度制御情報１４２のようにＩＭスループット監視処理１３０２の指標「メッセージ処理レート」に対する測定頻度を「毎秒５回」に更新する。
【００９５】
次に、負荷均衡見積部１４３は、更新した測定頻度のそれぞれを制御部１５０に送信する（ステップＳ１２７）。
【００９６】
これにより、ＩＭスループット監視処理１３０２が消費する資源１１０が減少するため、Ｐｒｏｘｙ応答監視処理１３０１の測定頻度を安定的に高めることができる資源配分がなされると期待できる。
【００９７】
以上、本実施形態における、測定頻度制御情報１４２による単一の監視処理の測定頻度の変更、及び、負荷均衡見積部１４３による単一の処理の資源割り当ての変更について説明した。しかし、前述の例に係わらず、本実施形態の計算機１００は、候補となる処理が複数ある場合、その複数の処理(監視処理も含む)に対して、測定頻度制御情報１４２及び負荷均衡見積部１４３による制御を実行してよい。
【００９８】
図１４は、制御部１５０の動作を示すフローチャートである。
【００９９】
制御部１５０は、判定部１４０から、測定頻度を受信したことを契機に、図１４に示す動作を開始する。
【０１００】
制御部１５０は、受信した測定頻度のそれぞれに基づいて、監視処理部１３０の測定頻度を調整する（ステップＳ１３１）。
【０１０１】
具体的には、制御部１５０は、各監視処理のインターバルタイマ１３１を用いた待機時間の設定値を変更することで、各監視処理の測定頻度を変更する。
【０１０２】
以上で、本実施形態の一連の動作が完了する。
【０１０３】
尚、以上説明した動作は必ずしも１回で終了する必要はない。例えば、測定頻度制御情報１４２に記載された測定頻度の変更量が大きいと、測定頻度の変動が大きくなり、計算機１００の動作が不安定になる可能性がある。そこで、１回の変更量を小さくすることが考えられる。こうした場合、次回の監視処理の動作でも例外が発生する可能性が高くなる。そのため、小さい変更量の変更によって再度上記の動作を行い、変更動作を早期に開始しつつ、安定的に目標とする資源配分に近づけることができる。
【０１０４】
このような方法は、装置の制御では一般的に行われているものであるが、本実施形態にもまた適用可能である。
【０１０５】
ここで、監視処理部１３０に設定する例外条件１３４、判定部１４０に設定する測定頻度の変化量、及び資源利用構造１４４の作成は、各監視処理の性能設計者が行うことを想定しており、本実施形態では、その値の決定方法は特に説明しない。
【０１０６】
以上により、本実施形態の計算機１００は、図２７に示すように、特定の処理の負荷が高まったために、その処理に対する監視処理の測定頻度を高める場合に、計算機１００全体の資源１１０が不足しないように他の処理の資源割り当てを調整する。
［効果の説明］
上述した本実施形態における効果は、監視処理部１３０（測定処理）の負荷により測定対象処理の性能が低下することをより好適に防止することが可能になる点である。換言すると、その効果は、処理性能や資源消費の変動に際して監視処理の測定頻度を高めても、測定対象処理の性能を維持できることである。
【０１０７】
その理由は、以下のような構成を含むからである。即ち、第１に、監視処理部１３０が測定頻度に基づいて、処理の性能及び資源消費の少なくともいずれかに関して、例外が発生したことを検出する。第２に、判定部１４０が、資源利用構造１４４に基づいて、例外が発生した処理に対応する監視処理の増大測定頻度と、その処理の性能の維持に影響のない他の監視処理の減少測定頻度を算出する。第３に、制御部１５０がその増大測定頻度とその減少測定頻度とを監視処理部１３０に設定する。
【０１０８】
換言すると、計算機１００が、資源利用構造１４４に基づいて例外が発生した処理の性能の維持に影響のない他の監視処理の測定頻度を小さくするからである。こうすることにより、その監視処理の資源使用量を減らして、測定頻度を高めた監視処理がその資源を利用できるようにすることで、測定対象の処理への影響を抑制できるためである。
［第２の実施形態］
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【０１０９】
第１の実施形態では、監視処理の測定頻度を調整することで、特定の処理の負荷の変動を吸収したが、本実施形態では、処理の資源割り当ても変更の対象とする。
【０１１０】
第１の実施形態の判定部１４０の動作において、集合Ｓ１から集合Ｓ２を作成するときに図１２のステップＳ１２５、集合Ｓ２が空であった場合（すなわち、測定頻度を下げられる監視処理がない場合）は、負荷の調整を別の手段で行う必要がある。
【０１１１】
この場合、本実施形態では、監視処理以外の処理（即ち、実行処理）の資源割り当てを減らすことで、負荷の調整を図るものとする。
【０１１２】
本実施形態は、第１の実施形態と比べて、判定部１４０及び制御部１５０の動作が第１の実施形態と異なる。
【０１１３】
まず判定部１４０について、図１５、図１６を用いて説明する。
【０１１４】
図１５は、本実施形態における資源利用構造１４４の一例を示す図である。図１５に示すように、本実施形態の資源利用構造１４４は、図８に示す資源利用構造１４４に比べて、各処理に割り当てられた資源１１０の割り当て量（割り当ての割合）、及び各資源１１０の割り当て量の増減方法を示す割り当て更新量を含む。尚、図１５において、空欄は、その処理名の処理に依存先の処理が存在しないこと、或いは、その欄に対応する資源をその処理名の処理が使用しないことを示す。
【０１１５】
判定部１４０の負荷均衡見積部１４３は、資源利用構造１４４に基づいて、実行処理のいずれかに対応する資源の割り当て量より少ない値を含む、その資源の割り当て量である、減少割り当て量を算出する。次に、負荷均衡見積部１４３は、算出した減少割り当て量を制御部１５０へ送信する。
【０１１６】
図１６は、本実施形態における、判定部１４０の動作を示すフローチャートである。
【０１１７】
ステップＳ１２２からステップＳ１２４までは、図１２に示すステップＳ１２２からステップＳ１２４と同様である。
【０１１８】
次に、負荷均衡見積部１４３は、処理の集合Ｓ２に監視処理が含まれているか否かを確認する（ステップＳ１２５）。集合Ｓ２に監視処理が含まれている場合（ステップＳ１２５でＹＥＳ）、負荷均衡見積部１４３は、図１２に示すＳ２６と同様の動作を実行する（ステップＳ１２６）。
【０１１９】
監視処理が集合Ｓ２に一つも含まれない場合（ステップＳ１２５でＮＯ）は、負荷均衡見積部１４３は、実行処理であるＳＩＰ  ＩＭ１２０２（図１６においては、処理Ｐ２と記載する）を選択する。続けて、負荷均衡見積部１４３は、資源Ｒ１に含まれる資源のうちＳＩＰ  ＩＭ１２０２への割り当て量より少ない値を含む、その資源の割り当て量である、減少割り当て量を算出する（ステップＳ１２８）。
【０１２０】
次に、負荷均衡見積部１４３は、ステップＳ１２２及びステップＳ１２６で更新した測定頻度、及びステップＳ１２８で算出した減少割り当て量を、制御部１５０へ送信する（ステップＳ１２９）。
【０１２１】
次に本実施形態の制御部１５０について図１７を用いて説明する。
【０１２２】
図１７は、本実施形態の制御部１５０の構成の一例を示すブロック図である。本実施形態の制御部１５０は、図９に示す第１の実施形態の制御部１５０に比べて、資源割り当て変更部１５２を更に含む。
【０１２３】
資源割り当て変更部１５２は、判定部１４０が選択した一つ以上の実行処理の資源割り当てを変更する。具体的には、資源割り当て変更部１５２は、各処理部に割り当てられる資源量を、システムソフトウエアなどの資源割り当て管理情報を操作することで変更する。資源割り当て管理情報は、典型的には、アプリケーションプロセスの優先度、ＣＰＵ利用時間の上限などの変更が該当する。
［効果の説明］
上述した本実施形態における効果は、第１の実施形態の効果に加えて、監視処理の測定頻度の調整によらない負荷の調整を実現することが可能になる点である。
【０１２４】
その理由は、負荷均衡見積部１４３が資源利用構造１４４に基づいて、減少割り当て量を算出し、制御部１５０が、その減少割り当て量に基づいて実行処理の資源割り当てを変更するからである。
【０１２５】
換言すると、資源利用構造１４４に基づいて、例外が発生した処理の性能の維持に影響が小さい実行処理を判定し、その実行処理への資源割り当てを減らし、監視処理への資源の割り当てを増加することで、測定対象の処理への影響を抑制できるためである。
［第３の実施形態］
次に、本発明の第３の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【０１２６】
本実施形態は、第１の実施形態と比べて、判定部１４０の動作が異なる。
【０１２７】
具体的には、本実施形態では、負荷の調整のために測定頻度を低下させる監視処理の選択に明示的な優先度が導入される。本実施形態の判定部１４０を、図１８を用いて説明する。
【０１２８】
図１８は、本実施形態における測定頻度制御情報１４２の一例を示す図である。図１８の（Ａ）は、本実施形態における測定頻度制御情報１４２の表現の一例を示す。図１８の（Ｂ）は、本実施形態における測定頻度制御情報１４２の具体的な一例を示す。図１８に示すように、測定頻度制御情報１４２は、指標毎の優先度の情報を含む。本実施形態では、優先度は全順序で予め与えられているものとする。
【０１２９】
本実施形態の判定部１４０の負荷均衡見積部１４３は、集合Ｓ２から監視処理を選択するさいに、優先度がもっとも低い監視処理を選択する。
［効果の説明］
上述した本実施形態における効果は、測定頻度を小さくする監視処理を意図的に制御することが可能になる点である。
【０１３０】
その理由は、測定頻度制御情報１４２が指標毎の優先度の情報を含み、負荷均衡見積部１４３がその優先度に基づいて集合Ｓ２から監視処理を選択するからである。
［第４の実施形態］
次に本発明の第４の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【０１３１】
本実施形態は、第１の実施形態に対して、計算機１００内の資源１１０の利用動向により負荷均衡見積の振る舞いを変える動作を追加したものである。
【０１３２】
図１９は、本実施形態に係る計算機４００の構成を示すブロック図である。本実施形態の計算機４００は、図１に示す第１の実施形態の計算機１００と比べて、監視処理部１３０として、資源消費量監視処理１３０３を更に含む点が異なる。
【０１３３】
資源消費量監視処理１３０３は、特定の処理の性能及び資源１１０の消費ではなく、全処理による資源１１０の消費量を指標として監視する。資源消費量監視処理１３０３は、例外の発生の有無にかかわらず、測定結果を判定部１４０へ送信する。尚、判定部１４０は、その測定結果をシステム負荷情報として、図示しない記憶手段に保持してよい。
【０１３４】
図２０は、本実施形態における測定頻度制御情報１４２の具体例を示す図である。図２０に示すように、本実施形態における測定頻度制御情報１４２は、ＣＰＵ使用率の合計が８０％以上の場合に測定頻度を減少させる更新を行うことを示す、条件を頻度更新量の定義に含む。
【０１３５】
判定部１４０の負荷均衡見積部１４３は、その頻度更新量の定義に含まれる条件が満たされた場合に、減少測定頻度を算出する。
［効果の説明］
上述した本実施形態における効果は、第１の実施形態の効果に加えて、システム全体の負荷が低ければ、他の指標の測定頻度の減少を行うことなく、所望の指標の測定頻度を高めることが可能になる点である。
【０１３６】
その理由は、測定頻度制御情報１４２が頻度更新量の定義に条件を含み、資源消費量監視処理１３０３が全処理による資源１１０の消費量の測定結果を示し、判定部１４０が測定頻度制御情報１４２とその測定結果とに基づいて、減少測定頻度を算出するからである。
［第５の実施形態］
次に、本発明の第５の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【０１３７】
本実施形態は、第１の実施形態において、監視処理自身についても測定対象処理とする実施形態である。
【０１３８】
図２１は、本実施形態における測定頻度制御情報１４２の具体例を示す図である。図２１に示すように、本実施形態の測定頻度制御情報１４２は、Ｐｒｏｘｙ応答監視処理１３０１の測定対象処理にＰｒｏｘｙ応答監視処理１３０１自身を含む。そして、図２１に示す測定頻度制御情報１４２は、その指標としてＰｒｏｘｙ応答監視処理１３０１の平均ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）及びＣＰＵ使用率を含む。
【０１３９】
これらの指標で発生する例外の例外情報の一例を図２２に示す。図２２は、Ｐｒｏｘｙ応答監視処理１３０１の平均ＴＡＴの増大かつＣＰＵ使用率の減少により資源割り当ての不足によるＰｒｏｘｙ応答監視処理１３０１の停滞を示唆する、例外情報を示す。
【０１４０】
このような例外が発生した場合、Ｐｒｏｘｙ応答監視処理１３０１の測定頻度増による間接的な資源割り当ての増加、または、資源割り当ての直接的な増加を行うことでＰｒｏｘｙ応答監視処理１３０１の性能を維持する。
［効果の説明］
上述した本実施形態における効果は、第１の実施形態の効果に加えて、監視処理自身を測定対象処理として扱うことが可能になる点である。
【０１４１】
その理由は、測定頻度制御情報１４２が監視処理の測定対象処理にその監視処理自身を含むようにしたからである。
【０１４２】
＜＜＜第６の実施形態＞＞＞
次に、本発明の第６の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【０１４３】
図２３は、本発明の第６の実施形態に係る情報処理システム６００の構成を示すブロック図である。
【０１４４】
図２３に示すように、本実施形態における情報処理システム６００は、監視処理部１３０と判定部１４０と測定頻度変更部１５１とを含む。図２３に示す例に係わらず、情報処理システム６００は、任意の数の監視処理部１３０を含んでよい。
【０１４５】
＝＝＝監視処理部１３０＝＝＝
監視処理部１３０は、測定頻度に基づく契機において、実行処理の性能及びその実行処理の資源消費の少なくともいずれかに関して、所定の例外が発生したことを検出する。その測定頻度は、その実行処理の性能及び資源消費の少なくともいずれかを測定するための、時間間隔を示す。
【０１４６】
＝＝＝判定部１４０＝＝＝
判定部１４０は、例えば図８に示すような資源利用構造１４４と、その所定の例外とに基づいて、増加測定頻度と減少測定頻度と、を算出する。
【０１４７】
その資源利用構造１４４は、その実行処理及び監視処理部１３０のそれぞれが利用する資源と、その実行処理及び監視処理部１３０の依存関係と、を示す。
【０１４８】
増加測定頻度は、その所定の例外が発生したことを検出した監視処理部１３０に対応する測定頻度より高い値を含む、測定頻度である。減少測定頻度は、その所定の例外が発生したことを検出した監視処理部１３０以外の、監視処理部１３０に対応する測定頻度より低い値を含む測定頻度である。
【０１４９】
＝＝＝測定頻度変更部１５１＝＝＝
測定頻度変更部１５１は、増加測定頻度に基づいて、その所定の例外が発生したことを検出した監視処理部１３０に対応する測定頻度を更新する。また、測定頻度変更部１５１は、減少測定頻度に基づいて、その所定の例外が発生したことを検出した監視処理部１３０以外の監視処理部１３０に対応する測定頻度を更新する。
【０１５０】
次に、本実施形態をコンピュータで実現する場合のハードウェア単位の構成要素について、説明する。この場合、図２３に示す構成要素は、コンピュータ装置の機能単位に分割された構成要素である。
【０１５１】
図２４は、本実施形態における情報処理システム６００を実現するコンピュータ７００のハードウェア構成を示す図である。
【０１５２】
図２４に示すように、コンピュータ７００は、プロセッサ７０１、メモリ７０２、記憶装置７０３、入力部７０４、出力部７０５及び通信部７０６を含む。更に、コンピュータ７００は、外部から供給される記録媒体（または記憶媒体）７０７を含む。例えば、記録媒体７０７は、情報を非一時的に記憶する不揮発性記録媒体（非一時的記録媒体）である。また、記録媒体７０７は、情報を信号として保持する、一時的記録媒体であってもよい。
【０１５３】
プロセッサ７０１は、オペレーティングシステム（不図示）を動作させて、コンピュータ７００の全体の動作を制御する。例えば、プロセッサ７０１は、記憶装置７０３に装着された記録媒体７０７から、そのプログラムやデータを読み込み、読み込んだそのプログラムやそのデータをメモリ７０２に書き込む。ここで、そのプログラムは、例えば、後述の図１１、図１２、図１４及び図１６などに示すフローチャートの動作をコンピュータ７００に実行させるためのプログラムである。
【０１５４】
そして、プロセッサ７０１は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、図２３に示す監視処理部１３０、判定部１４０及び測定頻度変更部１５１して各種の機能を実現する。
【０１５５】
尚、プロセッサ７０１は、通信網（不図示）に接続される外部コンピュータ（不図示）から、メモリ７０２にそのプログラムやそのデータをダウンロードしてもよい。
【０１５６】
メモリ７０２は、そのプログラムやそのデータを記憶する。メモリ７０２は、例外条件１３４、測定頻度制御情報１４２及び資源利用構造１４４を記憶してよい。メモリ７０２は、監視処理部１３０、判定部１４０及び測定頻度変更部１５１の一部として含まれてよい。即ち、メモリ７０２は、測定頻度制御情報１４２を記憶する第１の記憶手段、及び資源利用構造１４４を記憶する第２の記憶手段であってよい。
【０１５７】
記憶装置７０３は、例えば、媒体を含む、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ及び磁気光ディスクドライブや、フラッシュメモリなどの半導体記憶装置、などである。記憶装置７０３は、そのプログラムをコンピュータ読み取り可能に記憶する。記憶装置７０３は、例外条件１３４、測定頻度制御情報１４２及び資源利用構造１４４を記憶してよい。記憶装置７０３は、監視処理部１３０、判定部１４０及び測定頻度変更部１５１の一部として含まれてよい。即ち、記憶装置７０３は、測定頻度制御情報１４２を記憶する第１の記憶手段、及び資源利用構造１４４を記憶する第２の記憶手段であってよい。
【０１５８】
入力部７０４は、オペレータによる操作の入力や外部からの情報の入力を受け付ける。入力操作に用いられるデバイスは、例えば、マウスや、キーボード、内蔵のキーボタン及びタッチパネルなどである。入力部７０４は、監視処理部１３０、判定部１４０及び測定頻度変更部１５１の一部として含まれてよい。
【０１５９】
出力部７０５は、例えばディスプレイで実現される。出力部７０５は、例えばＧＵＩ（ＧＲＡＰＨＩＣＡＬ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）によるオペレータへの入力要求や、オペレータに対する出力提示などのために用いられる。出力部７０５は、監視処理部１３０、判定部１４０及び測定頻度変更部１５１の一部として含まれてよい。
【０１６０】
通信部７０６は、外部とのインタフェースを実現する。通信部７０６は、監視処理部１３０、判定部１４０及び制御部１５０の一部として含まれてよい。
【０１６１】
以上説明したように、図２３に示す情報処理システム６００の機能単位の各構成要素は、図２４に示すハードウェア構成のコンピュータ７００によって実現される。但し、コンピュータ７００が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ７００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【０１６２】
尚、上述のプログラムのコードを記録した記録媒体７０７が、コンピュータ７００に供給される場合、プロセッサ７０１は、記録媒体７０７に格納されたそのプログラムのコードを読み出して実行してもよい。或いは、プロセッサ７０１は、記録媒体７０７に格納されたそのプログラムのコードを、メモリ７０２、記憶装置７０３またはその両方に格納してもよい。すなわち、本実施形態は、コンピュータ７００（プロセッサ７０１）が実行するそのプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体７０７の実施形態を含む。尚、情報を非一時的に記憶する記録媒体は、不揮発性記録媒体とも呼ばれる。
【０１６３】
以上が、本実施形態における情報処理システム６００を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【０１６４】
図１に示す計算機１００及び図１９に示す計算機４００のそれぞれは、コンピュータ７００であってよい。
【０１６５】
また、図２３に示す判定部１４０及び測定頻度変更部１５１は、ハードウェア単位の回路でも、マイクロチップに含まれるモジュールでも、コンピュータ装置の機能単位に分割された構成要素でもよい。尚、図２３に示す情報処理システム６００は、あるサーバに実装され、ネットワークを介して利用可能にされてよいし、図２３に示す各構成要素がネットワーク上に分散して設置されて利用可能にされてもよい。
【０１６６】
また、図１に示す計算機１００に含まれる資源１１０及び図１９に示す計算機４００に含まれる資源１１０のそれぞれが、コンピュータ７００であってもよい。この場合、判定部１４０及び測定頻度変更部１５１は、コンピュータ７００である資源１１０上で動作するプログラムで実現されてよいし、コンピュータ７００以外のハードウェアで実現されてもよい。
［効果の説明］
上述した本実施形態における効果は、第１の実施形態と同様に、監視処理の負荷により測定対象処理の性能が低下することをより好適に防止することが可能になる点である。
【０１６７】
その理由は、以下のような構成を含むからである。即ち、第１に、監視処理部１３０が測定頻度に基づいて、実行処理の性能及び資源消費の少なくともいずれかに関して、例外が発生したことを検出する。第２に、判定部１４０が、資源利用構造１４４に基づいて、例外が発生した実行処理に対応する監視処理の増大測定頻度と、その実行処理の性能の維持に影響のない他の監視処理の減少測定頻度を算出する。第３に、測定頻度変更部１５１がその増大測定頻度とその減少測定頻度とを監視処理部１３０に設定する。
【０１６８】
＜＜＜第６の実施形態の変形例＞＞＞
図２５は、第６の実施形態の変形例である情報処理システム６０１を示す図である。図に示すように、情報処理システム６０１は、図２３に示す情報処理システム６００の判定部１４０及び制御部１５０と、資源１１０と記憶装置６０３と、を含む。資源１１０上では、処理部１２０（図２５では不図示）及び監視処理部１３０（図２５では不図示）が動作する。
【０１６９】
判定部１４０、制御部１５０、資源１１０及び記憶装置６０３は、ネットワーク６０９を介して接続されている。尚、判定部１４０、制御部１５０、資源１１０及び記憶装置６０３の任意の組み合わせは、１台の図２４に示すようなコンピュータ７００であってよい。また、判定部１４０、制御部１５０、資源１１０及び記憶装置６０３の任意のいずれかどうしは、ネットワークを介することなく直接接続されてもよい。即ち、判定部１４０、制御部１５０、資源１１０及び記憶装置６０３は、任意に、ネットワーク６０９を介して接続されてよい。
【０１７０】
＝＝＝記憶装置６０３＝＝＝
記憶装置６０３は、例外条件１３４、測定頻度制御情報１４２及び資源利用構造１４４を記憶する。
【０１７１】
上述した本実施形態における変形例の効果は、情報処理システム６０１の構築を柔軟に実現することが可能になる点である。
【０１７２】
その理由は、判定部１４０、測定頻度変更部１５１、資源１１０及び記憶装置６０３を、任意に、ネットワーク６０９を介して接続するからである。
【０１７３】
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０１７４】
本発明は、動向を予測することが困難な入力や負荷を短時間で緻密に把握した上で、適切に制御することが必要とされる装置を汎用計算機とプログラムとを用いて実現する場合などに、好適である。その装置は、典型的には、通信網に設置されるメッセージ中継装置や制御信号の処理装置などである。本発明は、上述の装置に係わらず、利用可能な任意の装置やシステムなどに適用されてよい。
【符号の説明】
【０１７５】
１００    計算機
１１０    資源
１２０    処理部
１２０１    ＳＩＰ  Ｐｒｏｘｙ
１２０２    ＳＩＰ  ＩＭ
１３０    監視処理部
１３０１    Ｐｒｏｘｙ応答監視処理
１３０２    ＩＭスループット監視処理
１３０３    資源消費量監視処理
１３１    インターバルタイマ
１３２    情報抽出部
１３３    例外検出部
１３４    例外条件
１４０    判定部
１４１    測定頻度見積部
１４２    測定頻度制御情報
１４３    負荷均衡見積部
１４４    資源利用構造
１５０    制御部
１５１    測定頻度変更部
１５２    資源割り当て変更部
４００    計算機
６００    情報処理システム
６０１    情報処理システム
６０３    記憶装置
６０９    ネットワーク
７００    コンピュータ
７０１    プロセッサ
７０２    メモリ
７０３    記憶装置
７０４    入力部
７０５    出力部
７０６    通信部
７０７    記録媒体
【図１】
0006547387.tif 000002
【図２】
0006547387.tif 000003
【図３】
0006547387.tif 000004
【図４】
0006547387.tif 000005
【図５】
0006547387.tif 000006
【図６】
0006547387.tif 000007
【図７】
0006547387.tif 000008
【図８】
0006547387.tif 000009
【図９】
0006547387.tif 000010
【図１０】
0006547387.tif 000011
【図１１】
0006547387.tif 000012
【図１２】
0006547387.tif 000013
【図１３】
0006547387.tif 000014
【図１４】
0006547387.tif 000015
【図１５】
0006547387.tif 000016
【図１６】
0006547387.tif 000017
【図１７】
0006547387.tif 000018
【図１８】
0006547387.tif 000019
【図１９】
0006547387.tif 000020
【図２０】
0006547387.tif 000021
【図２１】
0006547387.tif 000022
【図２２】
0006547387.tif 000023
【図２３】
0006547387.tif 000024
【図２４】
0006547387.tif 000025
【図２５】
0006547387.tif 000026
【図２６】
0006547387.tif 000027
【図２７】
0006547387.tif 000028
【図２８】
0006547387.tif 000029