(57)【要約】【課題】複数の計算機システムのリソース利用率からばらつきの程度を表わす不均一度を短時間で計算し、リソース利用率の不均一度を所定の近傍値に制御する。【解決手段】リソース制御装置110は、リソースデータ収集プログラム112と、リソース利用率の不均一度計算プログラム113と、リソース利用率の制御目標値計算プログラム114と、リソース利用率の制御プログラム115とを備えている。不均一度計算プログラム113は、収集したリソース利用率を複数のグループに分け、グループ毎に並列処理を行える不均一度の計算方法を導き、不均一度からリソース利用率を容易に逆算できるように、不均一度の計算過程に線形部分を組み込むことにより、リソース利用率の不均一度を算出し、制御プログラム115は、制御対象のリソース利用率を、仮想リソース116、仮想リソースプール117を介して制御する。【選択図】図１
2008234323.tif 000002
【特許請求の範囲】
【請求項１】
システムリソースを持つ複数の制御対象装置のシステムリソースの利用率の不均一度を所定の値に制御するシステムリソース制御装置において、
制御対象装置からシステムリソース利用率を収集する手段と、収集したシステムリソース利用率のばらつきの程度を表わす不均一度に対する所定変位を近似的に実現する複数のシステムリソース利用率の不均一度を算出する手段と、算出したシステムリソース利用率の不均一度に基づいて、システムリソース利用率制御目標値を算出する手段と、前記システムリソースの不均一度を所定値の近傍に制御する手段とを備え、
前記システムリソース利用率の不均一度を算出する手段は、収集したシステムリソース利用率を昇順、あるいは、降順に並び替え、システムリソース利用率の総数が２の累乗である場合、総数よりも小さい２の累乗個でリソース利用率の並びを周期的に区分してグループ化し、グループ別に並列処理を行い、その結果を統合することによってシステムリソース利用率に対する不均一度を計算することを特徴とするシステムリソース制御装置。
【請求項２】
システムリソースを持つ複数の制御対象装置のシステムリソースの利用率の不均一度を所定の値に制御するシステムリソース制御装置において、
制御対象装置からシステムリソース利用率を収集する手段と、収集したシステムリソース利用率のばらつきの程度を表わす不均一度に対する所定変位を近似的に実現する複数のシステムリソース利用率の不均一度を算出する手段と、算出したシステムリソース利用率の不均一度に基づいて、システムリソース利用率制御目標値を算出する手段と、前記システムリソースの不均一度を所定値の近傍に制御する手段とを備え、
前記システムリソース利用率の不均一度を算出する手段は、収集したシステムリソース利用率を昇順、あるいは、降順に並び替え、システムリソース利用率の総数が２の累乗である場合、総数よりも小さい２の累乗個でリソース利用率の並びを周期的に区分してグループ化し、グループ別に並列処理を行い、その結果を統合することによってシステムリソース利用率に対する不均一度を計算し、システムリソース利用率の並び順不変の条件で、所定の不均一度に対する複数のシステムリソース利用率を逆算する際、システムリソース利用率の並びの順序を変えない範囲において、不均一度を所定変位だけ減少させる場合、当該グループのそれぞれにおいて先頭半分のシステムリソース利用率をある変位だけ減少させ、後続半分のシステムリソース利用率をある変位だけ増加させ、不均一度を所定変位だけ増加させる場合、当該グループのそれぞれにおいて先頭半分のシステムリソース利用率をある変位だけ減少させ、後続半分のシステムリソース利用率をある変位だけ増加させ、システムリソース利用率の変位の線形和の組合せで不均一度の所定変位を近似する組合せを算出することを特徴とするシステムリソース制御装置。
【請求項３】
前記システムリソース利用率の不均一度を算出する手段は、収集したシステムリソース利用率の数が２の累乗でない場合、昇順、あるいは、降順に並べられたシステムリソース利用率の並びに対して、不均一度の計算方法から決まる値が相殺される位置にダミーデータを挿入することにより、システムリソース利用度に対する不均一度を並列処理により算出することを特徴とする請求項１記載のシステムリソース制御装置。
【請求項４】
前記システムリソース利用率の不均一度を算出する手段は、複数のシステムリソースに対する予め与えられた優先度ルールに従って、システムリソースを選択し、それらのシステムリソース利用度に対する不均一度を算出することを特徴とする請求項１記載のシステムリソース制御装置。
【請求項５】
前記システムリソース利用率の不均一度を算出する手段は、リソース利用率に対する不均一度の所定変位から、複数のシステムリソースのリソース利用率の変位を求める逆算の過程において、変位を与えるべきシステムリソースの個数を最小とすることを特徴とする請求項２記載のシステムリソース制御装置。
【請求項６】
前記システムリソース利用率の不均一度を算出する手段は、前記グループのいずれかの内部の全てのリソース利用率が所定の許容範囲内にある場合、それらのリソース利用率を等値とみなして、そのグループに対する不均一度の計算を実行することなくシステムリソース利用度に対する不均一度を算出することを特徴とする請求項１記載のシステムリソース制御装置。
【請求項７】
システムリソースを持つ複数の制御対象装置のシステムリソースの利用率の不均一度を所定の値に制御するシステムリソース制御方法において、
制御対象装置からシステムリソース利用率を収集する手段と、収集したシステムリソース利用率のばらつきの程度を表わす不均一度に対する所定変位を近似的に実現する複数のシステムリソース利用率の不均一度を算出する手段と、算出したシステムリソース利用率の不均一度に基づいて、システムリソース利用率制御目標値を算出する手段と、前記システムリソースの不均一度を所定値の近傍に制御する手段とを備え、
前記システムリソース利用率の不均一度を算出する手段は、収集したシステムリソース利用率を昇順、あるいは、降順に並び替え、システムリソース利用率の総数が２の累乗である場合、総数よりも小さい２の累乗個でリソース利用率の並びを周期的に区分してグループ化し、グループ別に並列処理を行い、その結果を統合することによってシステムリソース利用率に対する不均一度を計算することを特徴とするシステムリソース制御方法。
【請求項８】
システムリソースを持つ複数の制御対象装置のシステムリソースの利用率の不均一度を所定の値に制御するシステムリソース制御方法において、
制御対象装置からシステムリソース利用率を収集する手段と、収集したシステムリソース利用率のばらつきの程度を表わす不均一度に対する所定変位を近似的に実現する複数のシステムリソース利用率の不均一度を算出する手段と、算出したシステムリソース利用率の不均一度に基づいて、システムリソース利用率制御目標値を算出する手段と、前記システムリソースの不均一度を所定値の近傍に制御する手段とを備え、
前記システムリソース利用率の不均一度を算出する手段は、収集したシステムリソース利用率を昇順、あるいは、降順に並び替え、システムリソース利用率の総数が２の累乗である場合、総数よりも小さい２の累乗個でリソース利用率の並びを周期的に区分してグループ化し、グループ別に並列処理を行い、その結果を統合することによってシステムリソース利用率に対する不均一度を計算し、システムリソース利用率の並び順不変の条件で、所定の不均一度に対する複数のシステムリソース利用率を逆算する際、システムリソース利用率の並びの順序を変えない範囲において、不均一度を所定変位だけ減少させる場合、当該グループのそれぞれにおいて先頭半分のシステムリソース利用率をある変位だけ減少させ、後続半分のシステムリソース利用率をある変位だけ増加させ、不均一度を所定変位だけ増加させる場合、当該グループのそれぞれにおいて先頭半分のシステムリソース利用率をある変位だけ減少させ、後続半分のシステムリソース利用率をある変位だけ増加させ、システムリソース利用率の変位の線形和の組合せで不均一度の所定変位を近似する組合せを算出することを特徴とするシステムリソース制御方法。
【請求項９】
前記システムリソース利用率の不均一度を算出する手段は、収集したシステムリソース利用率の数が２の累乗でない場合、昇順、あるいは、降順に並べられたシステムリソース利用率の並びに対して、不均一度の計算方法から決まる値が相殺される位置にダミーデータを挿入することにより、システムリソース利用度に対する不均一度を並列処理により算出することを特徴とする請求項７記載のシステムリソース制御方法。
【請求項１０】
前記システムリソース利用率の不均一度を算出する手段は、複数のシステムリソースに対する予め与えられた優先度ルールに従って、システムリソースを選択し、それらのシステムリソース利用度に対する不均一度を算出することを特徴とする請求項７記載のシステムリソース制御方法。
【請求項１１】
前記システムリソース利用率の不均一度を算出する手段は、リソース利用率に対する不均一度の所定変位から、複数のシステムリソースのリソース利用率の変位を求める逆算の過程において、変位を与えるべきシステムリソースの個数を最小とすることを特徴とする請求項８記載のシステムリソース制御方法。
【請求項１２】
前記システムリソース利用率の不均一度を算出する手段は、前記グループのいずれかの内部の全てのリソース利用率が所定の許容範囲内にある場合、それらのリソース利用率を等値とみなして、そのグループに対する不均一度の計算を実行することなくシステムリソース利用度に対する不均一度を算出することを特徴とする請求項７記載のシステムリソース制御方法。
【請求項１３】
システムリソースを持つ複数の制御対象装置のシステムリソースの利用率の不均一度を所定の値に制御するシステムリソース制御プログラムにおいて、
制御対象装置からシステムリソース利用率を収集するステップと、収集したシステムリソース利用率のばらつきの程度を表わす不均一度に対する所定変位を近似的に実現する複数のシステムリソース利用率の不均一度を算出するステップと、算出したシステムリソース利用率の不均一度に基づいて、システムリソース利用率制御目標値を算出するステップと、前記システムリソースの不均一度を所定値の近傍に制御するステップとを、制御装置が有するＣＰＵに実行させ、
前記システムリソース利用率の不均一度を算出するステップは、さらに、収集したシステムリソース利用率を昇順、あるいは、降順に並び替えるステップと、システムリソース利用率の総数が２の累乗である場合、総数よりも小さい２の累乗個でリソース利用率の並びを周期的に区分してグループ化するステップと、グループ別に並列処理を行い、その結果を統合することによってシステムリソース利用率に対する不均一度を計算するステップと、システムリソース利用率の並び順不変の条件で、所定の不均一度に対する複数のシステムリソース利用率を逆算する際、システムリソース利用率の並びの順序を変えない範囲において、不均一度を所定変位だけ減少させる場合、当該グループのそれぞれにおいて先頭半分のシステムリソース利用率をある変位だけ減少させ、後続半分のシステムリソース利用率をある変位だけ増加させるステップと、不均一度を所定変位だけ増加させる場合、当該グループのそれぞれにおいて先頭半分のシステムリソース利用率をある変位だけ減少させ、後続半分のシステムリソース利用率をある変位だけ増加させるステップと、システムリソース利用率の変位の線形和の組合せで不均一度の所定変位を近似する組合せを算出するステップとを有することを特徴とするシステムリソース制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムリソース制御装置及び制御方法に係り、特に、複数のシステムリソースを持つ制御対象としてのシステムのリソース利用率のばらつきの程度を表わす不均一度を所定の近傍値に制御するシステムリソース制御装置及び制御方法に関する。
【背景技術】
【０００２】
近年、ウェブサービス等のインターネット関連技術の進歩により、計算機システムの運用を遠隔監視することが実用的なコストで実現可能になってきた。そのため、計算機システムを有するサイト毎に行っていたシステムの運用監視を集約して、複数サイトをまとめて遠隔監視することも可能になりつつある。このようにすることにより、サイト別に配備されていた運用監視要員を低減して運用コストの削減を見込むことができるので、サイトの統合化が進む方向にある。
【０００３】
しかし、単純な人員削減を行うと、運用監視要員の１人当たりの監視負荷が高くなり、計算機システムの不具合を見落とす可能性が大きくなってしまう。そこで、監視対象である計算機システムから得たモニタ値を何らかの形で統合し、運用状態を示す指標を導き、この指標が所定値の近傍を保つように自動制御する方法が考えられる。この方法を実現するには、運用状態を示す指標及び制御値を高速に計算することが必要となる。すなわち、指標と制御値との計算を短時間に行う方法を提供することが技術的な課題となる。
【０００４】
計算機システムの監視・制御対象として、例えば、ＣＰＵ、メモリ、ディスク等のリソースの利用率がある。通常、リソースの利用率は、０．０から１．０までの正規化された数値により扱うことができる。これらの値のばらつきがどの程度になるかは、計算機システムの状態を示す一種の指標になる。
【０００５】
通常、ばらつきの程度として分散が用いられる。分散を計算する際、並列計算を行うことができれば、処理時間を短縮することが可能になる。このためには、特許文献１に記載されているように、分散が漸化式による定義式が与えられていることが必要であるが、分散は、漸化式により与えることができない。また、分散は。非特許文献１に記載されているように、２次多項式で表わされるので、本質的に非線形の指標である。このため、所定の分散値を実現する計算機システムのリソースの利用率を逆算し、そこから制御値を求めようとしても、繰り返し演算が必至であり、制御値を短時間で求めることが困難である。
【特許文献１】特開平１１−３９２７２号公報
【非特許文献１】奥村晴彦著「Ｃ言語による最新アルゴリズム事典」１９９１年
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述したように、従来技術を利用して、システムのリソース利用率のばらつきの程度を表わす不均一度を所定の近傍値に制御しようしても、繰り返し演算が必至であり、制御値を短時間で求めて、計算機システムを制御することは困難である。
【０００７】
本発明の目的は、前述したような点に鑑み、複数の計算機システムのリソース利用率からばらつきの程度を表わす不均一度を短時間で計算することを可能とし、計算機システムのリソース利用率の不均一度を所定の近傍値に制御することを可能としたシステムリソース制御装置及び制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明によれば前記目的は、システムリソースを持つ複数の制御対象装置のシステムリソースの利用率の不均一度を所定の値に制御するシステムリソース制御装置において、制御対象装置からシステムリソース利用率を収集する手段と、収集したシステムリソース利用率のばらつきの程度を表わす不均一度に対する所定変位を近似的に実現する複数のシステムリソース利用率の不均一度を算出する手段と、算出したシステムリソース利用率の不均一度に基づいて、システムリソース利用率制御目標値を算出する手段と、前記システムリソースの不均一度を所定値の近傍に制御する手段とを備え、前記システムリソース利用率の不均一度を算出する手段は、収集したシステムリソース利用率を昇順、あるいは、降順に並び替え、システムリソース利用率の総数が２の累乗である場合、総数よりも小さい２の累乗個でリソース利用率の並びを周期的に区分してグループ化し、グループ別に並列処理を行い、その結果を統合することによってシステムリソース利用率に対する不均一度を計算し、システムリソース利用率の並び順不変の条件で、所定の不均一度に対する複数のシステムリソース利用率を逆算する際、システムリソース利用率の並びの順序を変えない範囲において、不均一度を所定変位だけ減少させる場合、当該グループのそれぞれにおいて先頭半分のシステムリソース利用率をある変位だけ減少させ、後続半分のシステムリソース利用率をある変位だけ増加させ、不均一度を所定変位だけ増加させる場合、当該グループのそれぞれにおいて先頭半分のシステムリソース利用率をある変位だけ減少させ、後続半分のシステムリソース利用率をある変位だけ増加させ、システムリソース利用率の変位の線形和の組合せで不均一度の所定変位を近似する組合せを算出することにより達成される。
【発明の効果】
【０００９】
本発明によれば、制御対象となる計算機システムのリソース利用率の不均一度の値を並列処理により高速に計算することができ、制御対象システムにおけるリソース利用率の不均一度を所定の近傍値にコントロールすることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明によるシステムリソース制御装置及び制御方法の実施形態を図面により詳細に説明する。以下に説明する本発明の実施形態は、ＬＡＮやＷＡＮ等のネットワークにより接続された複数のサーバやネットワーク機器から構成される情報システムが使用するリソースの利用率の不均一度を算出し、不均一度を所定の近傍値に制御することを可能にしたものである。
【００１１】
図１は本発明の一実施形態によるシステムリソース制御装置を含むシステム構成を示すブロック図である。
【００１２】
図１に示すシステムは、本発明の実施形態によるシステムリソース制御装置１１０と、サーバ等の複数の制御対象装置１０２、１０８とがネットワーク１０１に接続されて構成されている。
【００１３】
制御対象装置１０２は、リソースデータの送信やリソース利用率の制御目標値の受信を行うネットワークインターフェース１０３と、サーバ等の制御対象装置内のＣＰＵ、メモリ、ディスク等のシステムリソース１０６に関する情報を取得するＳＮＭＰエージェントに代表されるリソースデータ提供エージェント１０４と、制御対象装置内のＣＰＵ、メモリ、ディスク等のシステムリソース１６０と、システムリソース１０６の種別毎に未利用のリソースが確保されているリソースプール１０７と、システムリソース１０６とリソースプール１０７との間で、同種のリソースを交換するシステムリソース利用率の制御エージェント１０５とを備えて構成されている。
【００１４】
なお、図１には、制御対象装置１０２と他の制御対象装置１０８として、５台の制御対象装置がネットワーク１０１に接続されているとして示しているが、その台数に制限はなく、本発明の実施形態は、制御対象装置の全体を制御対象システム１０９としてコントロールする。また、他の制御対象装置１０８は、その内部構成を示していないが、制御対象装置１０２と同様である。
【００１５】
システムリソース制御装置１１０は、リソースデータの受信やリソース利用率の制御目標値の送信を行うネットワークインターフェース１１１と、システムリソースデータ収集プログラム１１２と、システムリソース利用率の不均一度計算プログラム１１３と、システムリソース利用率の制御目標値計算プログラム１１４と、システムリソース利用率の制御プログラム１１５とを備えている。また、システムリソース制御装置１１０は、仮想リソース１１６と仮想リソースプール１１７とを有し、これらは、制御対象システム１０９内の全てのシステムリソース１０６とリソースプール１０７とを統合した仮想のリソースであり、システムリソース利用率の制御プログラム１１５により制御される。制御された結果は、直ちに制御対象システム１０９内の全てのシステムリソース利用率の制御エージェント１０５に伝達され、システムリソース１０６とリソースプール１０７に反映される。
【００１６】
また、システムリソース制御装置１１０は、システムリソース利用率の不均一度計算プログラム１１３が参照する情報を記録したダミー挿入ルール定義ファイル１１８と、システムリソース利用率の制御目標値計算プログラム１１４が参照する情報を記録した制御優先度ルール定義ファイル１１９と、システムリソースデータ収集プログラム１１２が集めたデータを保存するシステムリソースデータ蓄積用データベース１２０とを有している。
【００１７】
さらに、システムリソース制御装置１１０には、システムリソース監視装置１２１が接続されており、システムリソース利用率の不均一度計算プログラム１１３により計算された不均一度、システムリソース利用率の制御目標値計算プログラム１１４により計算された制御目標値、及び、この制御目標値を用いてシステムリソース制御対象システム１０９を制御した結果が、システムリソース監視装置１２１に転送され、システムリソース利用率の不均一度表示プログラム１２２により表示される。なお、システムリソース監視装置１２１は、システムリソース制御装置１１０内に一体に構成されていてもよい。
【００１８】
前述において、制御対象装置１０２、１０８、システムリソース制御装置１１０、システムリソース監視装置１２１は、いわゆる情報処理装置であり、図示しないが、ＣＰＵ、メインメモリ、ディスク装置、キーボート、マウス等の入力装置、表示装置、通信装置等のハードウェアを備えて構成されている。そして、制御対象装置１０２、１０８におけるネットワークインタフェース１０３、各エージェント１０４、１０５、システムリソース制御装置１１０におけるネットワークインタフェース１１１、各プログラム１１２〜１１５、仮想リソース１１６、仮想リソースプール１１７、各ファイル１１８、１１９、データベース１２０、及び、システムリソース監視装置１２１におけるプログラム１２２は、それぞれの装置が有するディスク装置に格納されていてよい。そして、処理に動作必要なプログラム、エージェントは、処理動作時に、メインメモリにロードされ、ＣＰＵにより実行されることにより、それぞれ機能を実現する。
【００１９】
図２はシステムリソースデータ蓄積用データベース１２０に保存されるシステムリソースデータの構成を示す図である。システムリソースデータは、個々のリソースを識別するリソースＩＤ２０１、リソース名２０２、リソースが属する制御対象装置を識別する装置ＩＤ２０３、観測時刻における利用率値２０４、及び、観測時刻２０５を列とするデータ形式を持つ複数のデータ列により構成される。
【００２０】
図３は本発明の実施形態によるシステムリソース制御装置における処理動作の概略を説明するフローチャートであり、次に、これについて説明する。なお、各処理の詳細については個別に後述する。
【００２１】
（１）まず、システムリソースデータの収集プログラム１１２は、制御対象システム１０９から各装置のリソース利用率を収集し、収集した利用率を、最小値を０、最大値を１に正規化し、計算結果をシステムリソースデータ蓄積用データベース１２０に格納する（ステップ３０１、３０２）。
【００２２】
（２）次に、リソース利用率の不均一度計算プログラム１１３は、リソース利用率の不均一度を計算し、不均一度が所定の範囲内にあるか否かを判定する（ステップ３０３、３０４）。
【００２３】
（３）ステップ３０４の判定で、不均一度が所定の範囲内にあった場合、監視要員からの監視終了の命令があったか否かを判定し、監視終了の命令があった場合、ここでの処理を終了し、そうでない場合、ステップ３０１からの処理に戻って処理を続ける（ステップ３０７）。
【００２４】
（４）ステップ３０４の判定で、不均一度が所定の範囲内になかった場合、システムリソース利用率の制御目標値計算プログラム１１４は、リソース利用率の制御目標値を計算する（ステップ３０５）。
【００２５】
（５）次に、システムリソース利用率の制御プログラム１１５は、仮想リソース１１６に対するリソース利用率を決定して制御し、ステップ３０１からの処理に戻って処理を続ける（ステップ３０６）。
【００２６】
次に、不均一度の定義と性質とを説明すると共に、不均一度の計算方法及び制御装置の具体例を説明する。なお、不均一度の計算方法は、最小値０と最大値１との間に正規化された数値であれば、リソース利用率以外にも適用可能であるので、以下では単に、データ、あるいは、データ列と表現する。
【００２７】
図４はデータ数が８個の場合における不均一度を決める方法の一例を説明する図である。図４に示す例の場合、８個データを昇順に並べたデータ列４０１（ｘ1〜ｘ8）に対して、順次、外側から差分をとっていき、最後にそれらの差分を合計し、その合計値をペア数で割り、得られた値を不均一度と考える。ペア数で割るのは、不均一度とした値を０から１の範囲に正規化するためである。この不均一度とした値は、データがどのくらい散り散りになっているかを示すもので、一種のデータのばらつきの程度を示す指標と考えてよい。
【００２８】
図５は図４に示す例における不均一度を決める方法を別の観点から説明する図である。図５に示す例は、図４に示すデータの値を矩形の高さで表わして矩形を５０１として示すように高さ順に並べ、右端の矩形と左端の矩形との高さの差をとり、順次、内側の矩形に対して同様の計算を行っていくものである。このような方法でも、図４の場合と同様に、不均一度としての値を得ることができる。いま、データ列ｘ1〜ｘ8を０．１〜０．８までの０．１刻みのデータ列であるとすると、不均一度としての値ｓ1 は、５０２として示すような式により演算して得ることができる。
【００２９】
図６は図５に示す例における不均一度を決める方法を別の観点から説明する図である。図５に示して説明した例は、図６に示すような操作を行うことに等しい。すなわち、初期状態のデータの値を矩形の高さで表わして矩形を６０１として示すように高さ順に並べ、データ列の中点を中心として、先頭４個のデータ列（ドットで示す部分）を反転して後続の４個のデータ列に重ね、重なった部分（灰色で示す部分）を元の矩形部分から切り取る操作を行う。このような操作を行って残った部分（白色で示す部分）の高さを合計し、得られた値をペア数で割ることにより不均一度としての値を得ることができる。この場合も、不均一度としての値ｓ1 は、図５に示したものと同様となる。
【００３０】
図７はデータ数が８個の場合における不均一度を図６により説明した操作を繰り返すことにより決める方法を説明する図である。図６により説明したと同様の操作は、図７に示すように、さらに２回行うことができる。
【００３１】
すなわち、まず、図５に示した場合と同様に、図７（ａ）に初期状態７０１として示すように、データの値を矩形の高さで表わして矩形を高さ順に並べる。次に、図６に示した場合と同様に、図７（ｂ）に第１回目の差７０２として示すように、先頭４個のデータ列（ドットで示す部分）を反転して後続の４個のデータ列に重ね、重なった部分（灰色で示す部分）を元の矩形部分から切り取る操作を行う。そして、残った４個の部分（白色で示す部分）について、図７（ｃ）に第２回目の差７０３として示すように、先頭２個のデータ列（ドットで示す部分）を反転して後続の２個のデータ列に重ね、重なった部分（灰色で示す部分）を元の矩形部分から切り取る操作を行う。さらに、残った２個の部分（白色で示す部分）について、図７（ｄ）に第３回目の差７０４として示すように、先頭１個のデータ（ドットで示す部分）を反転して後続の１個のデータに重ね、重なった部分（灰色で示す部分）を元の矩形部分から切り取る操作を行う。その後、最後に残った部分の高さを合計してペア数で割ることにより、不均一度としての値を得ることができる。
【００３２】
本発明では、前述したような差分をデータ列に課して得られる数値を不均一度と考える。この考え方は、２のｋ乗個のデータがあった場合、前述したような差分をとる操作をｋ回行った後に、どのくらいの矩形部分が残るかに基づいて、ばらつきの程度を測るというもので、差分という一種の付加的な操作にどのくらいデータ列が持ちこたえて値が０にならないかを指標とみなすという考え方である。
【００３３】
次に、前述したような差分を繰り返す方法に基づいて、不均一度の具体的な計算方法と定義式とを説明する。なお、データは、降順であってもよい。その場合、得られた値が負となるので、符号を反転させ、それを不均一度とする。以下では、昇順であるとして説明する。
【００３４】
図８は図７により説明した方法に従った、データ数が１６個の場合の不均一度の計算方法と定義式とを説明する図である。
【００３５】
図７により説明した方法に従うと、上部から昇順に並んだデータ列８０１（ｘ1〜ｕ4）に対して、最大データと最小データとの差分をとり、次に、２番目に大きいデータと最小のデータの次に小さいデータとの差分をとる、という処理をペアがなくなるまで続ける。そして、この差分を第２列に昇順に並べる。このデータ列についても同様にペアをとり、その差分を第３列に昇順に並べる。さらに、第３列のデータ列についても同様にペアをとり、その差分を第４列に昇順に並べる。これらを合計し、ペア数で割って得ることができた値を不均一度とする。ペア数で割るのはは、不均一度を０から１までの数値として正規化するためである。なお、各差分は必ず正になり、不均一度が負になることはない。これは、図７の操作からデータ列が昇順ならば明らかである。そして、データ数が１６個の場合の不均一度の定義式 Ｓ2（１６）は、８０３として示すようなものになる。
【００３６】
図９、図１０、図１１は図７により説明した方法に従った、それぞれデータ数が８個、４個、２個の場合の不均一度の計算方法と定義式とを示す図である。計算方法は、図８に示したデータ数が１６個の場合と同様である。図８、図９、図１０に示すデータ数が１６個、８個、４個の場合の不均一度の定義式８０３、９０３、１００３から式（１）として示すようなデータ数が１６個、８個、４個の場合の不均一度の間に成り立つ関係式を導くことができる。この関係式は、データ数が１６個の不均一度は、先頭８個のデータの不均一度と後続８個のデータの不均一度との平均値になることを示しており、さらに、先頭からデータを４個ずつに分割した、４つのグループの不均一度の平均値にも等しいことを示している。この関係は、データ数が２のｋ乗個（ｋ：自然数）の場合に一般化することができ、その結果は、式（２）として示すような、データ数が２のｋ乗個の不均一度が、データ数が２の（ｋ−１）乗個の不均一度の平均値になることを示すものとなる。なお、式（２）において、添え字のＵ、Ｄは、それぞれ、データ列の先頭半分、後続半分を示す。
【数１】
2008234323.tif 000003
【数２】
2008234323.tif 000004
【００３７】
さらに、図８、図９、図１０に示す不均一度の定義式８０３、９０３、１００３から、データ数が４個以上の場合、不均一度は、偶数番目のデータの平均値と奇数番目のデータの平均値との差分であることも示される。この結果から、不均一度は、やはり、ばらつきの程度を示す指標であると言うことができる。
【００３８】
さて、図７において、第２回目の差分７０３をとり終えた段階で、結果を合計してペア数で割った数値も不均一度として求めてみる。
【００３９】
図１２、図１３、図１４、図１５は図７に示した例において、第２回目の差分７０３をとり終えた段階で、結果を合計してペア数で割って不均一度としての値を求める方法と定義式とをそれぞれデータ数が１６個、８個、４個、２個の場合の例について示す図である。
【００４０】
図１２、図１３、図１４に示す不均一度の定義式１２０３、１３０３、１４０３から、データ数が４個以上の場合、不均一度は、４の倍数の番号のデータと４の倍数に３を加えた番号のデータとの平均値を求め、４の倍数に１を加えた番号のデータと４の倍数に２を加えた番号のデータとの平均値を求め、これら２つの平均値の差分として求めることができることも示される。なお、データ数が２個の場合、このような４を法とする剰余系を考えることができないので、この規則は成り立たない。この結果から、以上のように定義した不均一度も、やはり、ばらつきの程度を示す指標であると言うことができる。さらに、式（１）、式（２）として示したと同様に、データ数が１６個、８個、４個の場合の不均一度の間に成り立つ関係を示す式（３）、データ数が２のｋ乗個の不均一度が、データ数が２の（ｋ−１）乗個の不均一度の平均値になることを示す式（４）として示す関係も成り立つ。ここで、図１５に１５０３として示すような不均一度を考えると、形式上データ数が２の場合でも、式（４）が成立するようになるが、データ数が２個の場合の不均一度を定義するのに、最低でも４個のデータが必要となるという無理があるので除くことにする。
【数３】
2008234323.tif 000005
【数４】
2008234323.tif 000006
【００４１】
図４〜図１５までに説明した結果をまとめると、基本データ長とデータ数とに基づいた不均一度の分類表である表１に示すようなものとなる。この表１において、＊印はデータを表わし、左側から昇順に並んでいるものとする。表の中の記号は、＋側（上側）で矢印の付いたデータ同士で平均値をとり、−側（下側）で矢印の付いたデータ同士で平均値をとり、＋側の平均値から−側の平均値を引くことを示している。これは、不均一度の定義式８０３、９０３、１００３や、定義式１２０３、１３０３、１４０３を模式的に表わしたものである。差分１回、差分２回、差分３回等は、それぞれ、すでに説明した図７において、第１回目の差分、第２回目の差分、第３回目の差分を終えた段階で得られた結果から、不均一度を定義することを意味する。表１には、大きい矢印を使用して差分回数を増やす方向も示している。基本データ長とは、式（２）、式（４）に示した関係式を再帰的に用いることにより、最も長さの短いデータ列（基本データ列）にまで還元できるが、その最小のデータ列の長さのことを指す。
【００４２】
この表１では、基本データ長を２としたときに、データ数が、２、４、８、１６であった場合にどのような演算を行うか、基本データ長を４としたときに、データ数が、４、８、１６であった場合にどのような演算を行うか、基本データ長を８としたときに、データ数が、８、１６であった場合にどのような演算を行うか、基本データ長を１６としたときに、データ数が、１６であった場合にどのような演算を行うかを横方向に示している。なお、表１を横方向に見るとき、表内に記述している差分の回数は無視する。
【表１】
2008234323.tif 000007
【００４３】
表１を縦方向に見ると、差分回数を増やすにつれて、不均一度は、両端のデータ平均値の差分から、より分散した位置のデータに対する平均値の差分へと移っていくことが判る。これから、差分回数が多い方が不均一度の定義として適切であるということができる。また、表１を横方向に見ると、これは、式（２）、式（４）に示した関係式を順次用いることにより、基本データ列に達することが判る。
【００４４】
ここで、基本データ長を変えると、不均一度の定義式が変わることに注意する必要がある。そこで、不均一度の経時変化に注目する場合、当初に決めた基本データ長を途中で変更するべきではない。基本データ長を決める基準として、データ列に含まれるデータが持つ値の最大値に対する最小値の比を使う方法がある。この比が１に近ければ、最小値と最大値とは近く、ばらつきの程度は小さい。従って、基本データ長を大きく、すなわち、図７に示したような差分操作をあまり多く行わないようにする。この場合、ばらつきの程度が小さいのだから、差分操作を数多く行うまでもなく、不均一度は小さい値となって、ばらつきの程度が小さいことを示すようになるためである。逆に、前述の比が０に近ければ、データ列の最小値と最大値とは離れているので、基本データ長を小さくして、不均一度を計算するのが適切である。
【００４５】
式（２）、式（４）に示した関係式が、本発明において不均一度の計算として並列計算が可能であることを示す根拠である。並列計算を行うとき、基本データ列を用いるか、それよりも長いデータ列を用いるかについては任意性がある。いずれにしても、式（２）、式（４）の関係式が主張することは、与えられたデータ列から直接、不均一度を計算するのではなく、それよりも短いデータ列で不均一度を計算し、それらの平均値をとれば、元のデータの不均一度に等しいということである。
【００４６】
図１６はデータ数が１６個の場合の並列計算の効率化について説明する図である。図１６に示す例において、昇順に並んだ１６個のデータ１６０１について、基本データ長を４として、式（４）に示すの関係式に基づいて並列計算を行うものとする。このとき、第１グループ１６０２は、全てのデータの値は等しいものとする。この場合、第１グループ１６０２の不均一度は０になる。従って、あるグループ内でデータが全て等しければ、そのグループの不均一度が０となるので、計算する必要がなくなる。この結果、より効率的な並列計算が可能になる。実際には、グループ内のデータが全て所定の許容範囲内にあるときに、それらを等値とみなすこととする。
【００４７】
次に、基本データ長が４の場合を代表例として、図１２、図１３、図１４、図１５に示した不均一度の定義式１２０３、１３０３、１４０３、１５０３を不均一度の代表として説明する。
【００４８】
まず、この不均一度と分散との関係を説明する。そのためには、データ数が偶数個と奇数個との場合に分けて考えると都合がよい。初めに、偶数個の代表としてデータ数が４個の場合、次に、奇数個の代表としてデータ数が３個の場合について説明する。
【００４９】
図１７はデータ数が４個の場合の不均一度の計算方法と定義式とを不均一度の正規化を別の観点から見直して説明する図である。
【００５０】
前述までは、不均一度の値を０から１までの数値に正規化するために、ペア数で割るとしてきたが、それを別の観点から見直してみる。データ数が４個の場合、不均一度の分子が最小になるのは、全てのデータが等しくなるときで、その値は０である。不均一度の分子が最大になるのは、先頭２個のデータが０、後続２個のデータが１になるときで、分子の最大値は２である。従って、正規化するには、この最大値で割ればよい。このように、ペア数は、不均一度の計算式の分子の最大値ともみなすことができる。
【００５１】
図１８はデータ数が３個の場合の不均一度の計算方法と定義式と示す図である。この例も、不均一度の正規化を別の観点から見直したものであり、この場合の正規化も不均一度の分子の最大値を用いる。但し、この例では、ペアになれないデータが１つ残るが、それを３個のデータの平均値とペアにする。この理由は後述する。不均一度の分子が最小になるのは、やはり、全てのデータが等しくなるときで、その値は０である。不均一度の分子が最大になるのは、先頭２個のデータが０、後続の１個のデータが１になるとき、あるいは、先頭１個のデータが０、後続２個のデータが１になるときで、これは、データが０と１とに２分されるが、それらの個数の差が１になるときである。このとき、不均一度の分子の最大値は、ペア数をデータ数で割った値にペア数を加えた値となる。なお、この例でのペア数は、平均値とペアにする一組を除いた個数とする。データ数が３個の場合、ペア数をこのように定義する。
【００５２】
さて、ここで、不均一度とは別にばらつき度を定義する。すなわち、昇順、あるいは、降順に並んでいるデータに対して、最大データと最小データとの差分をとる、２番目に大きいデータと最小のデータの次に小さいデータとの差分をとる、という処理をペアがなくなるまで行い、データ数が偶数個の場合、差分の総和をペア数で割ったものをばらつき度と定義する。データ数が奇数個の場合、ペアがとれないデータが１つ残るが、これは平均値とペアにして差分をとり、差分の総和を、ペア数をデータ数で割った値に、このペア数を加えた値で割ったものをばらつきと定義する。データ数が奇数の場合、ペア数は、平均値とペアにする一組を除いた個数とする。データが偶数個（２ｍ）、奇数個（２ｍ＋１）の場合の場合のばらつき度の定義式を示すと、それぞれ、式（５）、式（６）に示すようになる。なお、式（５）、式（６）において、ｍはペア数を示している。
【数５】
2008234323.tif 000008
【数６】
2008234323.tif 000009
【００５３】
式（５）、式（６）に示す定義式をみると、データ数が４個の場合の不均一度は、データ数が４個の場合のばらつき度と等しく、データ数が３個の場合の不均一度は、データ数が３個の場合のばらつき度と等しくなる。
【００５４】
しかし、図１２、図１３で示したデータ数が１６個、８個の場合の不均一度は、データ数が１６個、８個の場合のばらつき度と同じにはならない。このことは、表１における対角線上の不均一度がばらつき度と等しいことからも理解することができる。ここで、図１７、図１８を利用し、データ数が４個の場合のばらつき度、データ数が３個の場合のばらつき度と、それぞれの分散との関係を計算すると、式（７）を得ることができる。図１８に説明した例において、ペアになれずに残ったデータを平均値とペアにしたのは、このような分散との関係を導き出すためである。この関係式は、データ数ｎ個の場合に一般化することができ、ばらつき度の下限値と分散との関係式は式（８）に示すようなものとなる。さらに、式（９．１）〜式（９．５）を含む式（９）に示すようにように、ばらつき度の上下限値と分散との関係式も得ることができる。
【数７】
2008234323.tif 000010
【数８】
2008234323.tif 000011
【数９】
2008234323.tif 000012
【数１０】
2008234323.tif 000013
【００５５】
データ数が１６個の場合の不均一度、及び、ばらつき度は、式（１０．１）〜式（１０．４）を含む式（１０）に示すように、それぞれ、分散に対して式（１０．２）、式（１０．３）に示すような関係を持つ。分散に対する変動幅は、不均一度の方が、ばらつき度より小さいことが判る。これをデータ数が２のｋ乗個の場合に一般化したものが式（１０．４）であり、この式から、分散に対する変動幅は、不均一度はデータ数によらず一定であるが、ばらつき度はデータ数が多くなるにつれて、大きくなることがわかる。従って、ばらつき度より不均一度の方が分散に近い振る舞いをするということができる。
【００５６】
前述した図４、図５により説明した方法で不均一度について考察したとき、ばらつき度を考えていたことになる。ばらつき度を用いると、前述のように大きめな分散の値でデータ列のばらつきの程度を評価することになり、好ましくないのである。図７により説明したように、不均一度は、データ数が多くなるにつれて、データに対する差分の回数を増やして、データ数に適合した評価を行う方法である。すなわち、分散に対する変動幅が一定になるように、差分の回数の方を増やしているのである。一方、ばらつき度が、データ数が多くなるにつれて分散に対する変動幅が大きくなってしまうのは、データ数が多くなっても差分の回数を増やさないためである。このように、不均一度とばらつき度とには対照的な性質がある。そして、式（１０）に示した方法を用いると、不均一度の上下限値を分散で評価した結果を各種の不均一度に対して計算することができる。これを示したのが基本データ長別に分散と不均一度との上下限値を示している表である表２である。
【表２】
2008234323.tif 000014
【００５７】
この表２から、不均一度の上下限値は、基本データ長が同じであればデータ数が増えても変わらず、基本データ長を大きくするにつれて上下限値の範囲が次第に広がっていくことが判る。このことから、なるべく基本データ長を大きくしないところで不均一度を用いる方がより好ましいことが判る。
【００５８】
図１９はデータ数が１６個の場合の不均一度の計算方法を説明し、かつ、不均一度の並列計算の仕組みを説明する図であり、次に、これについて説明する。
【００５９】
図１９には、データ数が１６個の場合の不均一度を計算する処理１９０１が示されている。この処理は、まず、データ数が１６個のデータ列を、データ数が４個の４つのグループ１９０２に分け、次に、グループ別に並列計算１９０３により不均一度１９０４を求め、最後に、各グループ別の不均一度の平均値１９０５をとって、元のデータ列に対する不均一度１９０６を求める処理である。図１９に示す例では、基本データ長を４とし、データ数が４個のデータ列を最下位階層としている。あるグループ内のデータが全て所定の許容範囲内にある場合、それらのデータを等値とみなして不均一度を０として、その部分の並列計算は行わない。基本データ長を変えずに、データ数が８個のデータ列を最下位階層として並列計算する方法もある。
【００６０】
一般に、元のデータが２のｋ乗個の場合、データ数が（ｋ−１）乗個以下の２の累乗となるデータを最下位階層にすることができる。最下位階層のデータ列をどれにするかは、前述で提示した表１において、基本データ長を指定した後、表を横方向に見ながら決めることになる。最下位階層のデータ数を基本データ長よりも大きくすれば、並列計算の並列度が低くなる。最も並列度が高いのは、最下位階層のデータ数を基本データ長に一致させたときとなり、実装方法にもよるが、こうするのが望ましい。また、基本データ長によっても、並列計算の並列度は変化する。
【００６１】
さて、前述した並列計算の過程を別の観点から見てみるため、例えば、図１９に示すデータ数が１６個の場合を考える。図１９を見ると、処理が進むにつれてデータに対する符号が交替していることが判る。その様子を示したのがダミーデータを挿入するルールを説明するための表である表３である。
【表３】
2008234323.tif 000015
【００６２】
表３に示す１６個の各データは、各初期状態でデータに−１の０乗という係数が掛かっているとみなす。その初期係数の指数は、１回目の演算、２回目の演算、３回目の演算と処理が進に従ってその値を変化させ、最終的に表３の中の示しているような数値になる。これは、初期係数に−１の０乗、あるいは、１乗を３回掛ける処理に等しい。
【００６３】
図２０はデータ数が２のｋ乗個の場合の不均一度の計算過程の概略を説明する図である。前述したデータ数が１６個の場合を、データ数が２のｋ乗の場合に拡張すれば、図２０に示すように、初期係数２００１に−１の０乗、あるいは、１乗を（ｋ−１）回掛ける（ｋ−１）回の演算２００２を行うことによって、最終的な係数２００３を求め、求められた計算結果の総和をとることにより、データ数が２のｋ乗の場合の不均一度２００４を求めることになる。
【００６４】
表３に示す出力における−１の指数の分布から、例えば、第１データ列を見ると、指数が０になるデータと１になるデータの値が仮に等しかったとすれば、両データは相殺されて０になり、それらは不均一度に寄与しないことが判る。このことから、与えられたデータ列が１６個でなく、例えば、９個だった場合にも、データ数を１６個として前述で説明した通りに並列計算を行うことが可能になる。この理由を図２１により説明する。
【００６５】
図２１は与えられたデータ数が９個で、データ数を１６個にする場合にダミーデータをどこに挿入するべきかを説明する図である。図２１では、平均値データｍu を挿入すると共に、前述した相殺される位置に、等しい値を持つダミーデータ（ｚd、ｙd、ｚd)をペアとして挿入している。このようにすることにより、データ数を１６個にすることができ、かつ、ダミーデータの影響が不均一度に表れないようにすることができる。
【００６６】
いま、データ列を昇順、あるいは、降順に並び替えることを前提にしているので、ダミーデータも挿入する位置の隣のデータと大小関係を合わせてもよいが、結局、ダミーデータは不均一度の計算過程で相殺されてしまうので、ダミーデータと隣のデータとの大小関係は無視し、全てのダミーデータに０を代入しておいても構わない。但し、挿入位置は前述したように決まった位置にしなければならない。
【００６７】
前述したように、与えられたデータ列が２のｋ乗個でない場合、データ列にダミーデータを挿入することにより、２のｋ乗個のデータ列と等価に扱うことが可能になる。そして、ダミーデータの挿入位置には、前述で説明したような一定の規則があり、全てのダミーデータに０を代入しておけばよい。ダミーデータの挿入パターンとして、データの並びの具体例を表４に示す。表４は、基本データ長を４、最下位階層のデータ数を４個とした場合の例である。
【表４】
2008234323.tif 000016
【００６８】
表４に示す挿入パターンは、２のｋ乗の場合に拡張することができ、この拡張したものが図１のダミー挿入ルール定義ファイル１１８として備えられている。表４において、黒丸は与えられたデータ、白丸はダミーデータ、ｍは平均値データ、括弧内は直前のデータ列の別パターンである。また、表４には、図２１により示した平均値ｍを挿入する位置も示している。
【００６９】
次に、図３により説明したシステムリソース制御の処理フローにおけるステップ３０１でのリソース利用率の収集、ステップ３０２でのリソース利用率の正規化、ステップ３０３での不均一度の計算の各処理の詳細を説明する。ここでは、前述で説明したデータ及びデータ列をリソース利用率と読み直す。
【００７０】
ステップ３０１でのリソース利用率の収集の処理は、システムリソースデータ収集プログラム１１２が、制御対象システム１０９のシステムリソース１０６別に異なる時間周期でリソースの利用率を集める処理である。そして、ステップ３０２でのリソース利用率の正規化の処理に移る。ステップ３０３でのリソース利用率の正規化の処理は、システムリソースデータ収集プログラム１１２によって得られたリソース利用率毎の最小値と最大値とを使用し、最小値を０、最大値を１とする線形演算によって正規化を行う処理である。システムリソースデータ蓄積用データベース１２０は、格納したデータが所定容量を越えた場合、最も古いものから消去していく。
【００７１】
図２２は図３に示すステップ３０３での不均一度の計算の処理の詳細を説明するフローチャートであり、次に、これについて説明する。なお、この不均一度の計算の処理は、一定の時間周期で実行される。
【００７２】
（１）この処理が開始されると、リソース利用率の不均一度計算プログラム１１３は、システムリソースデータの収集プログラム１１２により収集され、正規化されてシステムリソースデータ蓄積用データベース１２０に格納されている正規化されたリソース利用率をシステムリソースデータ蓄積用データベース１２０から読み出して、それを昇順、あるいは、降順に並び替える（ステップ２２０１）。
【００７３】
（２）次に、不均一度計算プログラム１１３は、予め決めておいた基本データ長を選択する。これによって、不均一度の計算方法を決定する。リソース利用率は必ずしも２のｋ乗個あるとは限らない（ステップ２２０１）。
【００７４】
（３）そこで、ダミーの挿入が必要であるか否かを、データ数が２のｋ乗個か否かを判定することにより判定する。この判定で、データ数が２のｋ乗個でなかった場合、表４により説明したようなダミー挿入ルール定義ファイル１１８を読み出し、そのファイル中のルールに従ってダミーデータをリソース利用率のデータ列に挿入する（ステップ２２０４）。
【００７５】
（４）ステップ２２０３の判定で、データ数が２のｋ乗個であった場合、あるいは、ステップ２２０４の処理の後、並列計算を行うことにより不均一度を計算する。この計算において、並び順に４つのリソース利用率をグループにして２の（ｋ−２）乗個のグループを並列計算するときが最も並列度が高い。一方、データ数が半分となるようにリソース利用率を並び順に２つのブロックに分け、このブロック別に処理を進めるときが最も並列度が低いときである。並列度に関しては、これだけの任意性がある。これは、実装仕様によって決めるのが適切である（ステップ２２０５）。
【００７６】
（５）ステップ２２０５での並列計算の処理の後、不均一度計算プログラム１１３は、並列計算を行った各ブロックの計算結果の平均値を求める統合処理を行って不均一度を求める（ステップ２２０６）。
【００７７】
前述までで、本発明の第１の実施形態の説明を終了し、次に、本発明の第２の実施形態について説明する。
【００７８】
図２３は隣のデータと並びの順序が変わらない限り、不均一度の計算が線形性を保つことを説明する図である。
【００７９】
前述で説明した本発明の第１の実施形態において、基本データ長が２の場合の不均一度の定義によると、図２３に示したように、昇順に並べたデータ列２３０１の値を変位させた場合、それによって隣のデータと並びの順序が変わらない限り、不均一度の計算２３０３は線形性を保つことができる。不均一度の変化前後の大小関係にも変化がないことも明白である。ところが、データ列内のデータを仮に隣のデータと並びの順序が変わるほど変位させた場合、変化後の不均一度は、変化前の不均一度より大きいのか、小さいのか不明となってしまい、どのくらい値が変化したのかも不明となる。この例を示しているのが式式（１１）である。
【数１１】
2008234323.tif 000017
【００８０】
この式（１１）は、データ数が４個の場合に、データ列の並びが入れ替わるほど、あるデータを変位させたとき、変化の前後で不均一度がどう変化するかを示す式であり、データ数が４個のとき、２番目のものの値を減少させ、１番目のものより小さくした場合である。このことは、表１に示す基本データ長が２の最上段を見ても理解することができる。基本データ長が２の場合、偶数番目のデータの平均値から奇数番目のデータの平均値を引いたものが不均一度だから、隣り合うデータの入れ換えが起きない限り、これらの偶数、奇数の関係は不変で、不均一度の線形性が保たれる。同様に、表１における基本データ長が４以上の場合を見ると、基本データ列内の先頭半分と後続半分とでデータの入れ換えが起きなければ、不均一度の線形性が保たれることが判る。
【００８１】
前述したように、データの値を変化させてもデータの入れ換えが起きないという制約条件の下で、所定の不均一度からデータ列の値を求める逆問題は線形となり、求解が容易になる。不均一度として分散を使用すると、分散は、２次多項式であるから本質的に非線形であり、このような線形になる条件はなく、これほど簡単には求解できない。
【００８２】
さて、次に、不均一度を正の変位分だけ減少させたものを所定値と考え、これに対応するデータ列の値を逆算する例を考える。この変位が大きい場合、データ列のうちの１つだけ値を変更することでは、この所定値を実現することができない場合があり得る。従って、一般的に捉えるには、不均一度の所定変位に対して、複数のデータの値を変更する方法が必要である。まず、データにどの程度の変位を与えるべきかを基本データ長が４の場合を例として説明する。
【００８３】
図２４は基本データ長が４、データ数が４個の場合に不均一度の所定変位を実現するためのデータの変位の組合せを説明する図である。
【００８４】
図２４を見ると、データの位置によって、変位が不均一度に正に寄与する場合と負に寄与する場合がある。図２４（ａ）に示すように不均一度を所定変位だけ減少させる例２４０１の場合、与えられた４個のデータの中央２個のデータについてだけ、変位の和がそのデータの差分以下になるようにする。例えば、そのデータの差分の半分になるように、２つの変位を等しいとしてもよい。先頭と最後尾とのデータの変位は隣のデータとの差分とする。
【００８５】
前述した線形性保持の条件から考えると、先頭と最後尾とのデータの変位は、与えられた４個のデータ全てを中央２個のデータに変位を与えた位置２４０２まで持っていけるはずである。ところが、そうすると、大きな変位を許すことになり、制御装置において、そのような大きい変位は実現できない場合もある。そこで、変位はなるべく大きくしない方法を採ることとする。この方が制御の実現性は高いと考えられるからである。
【００８６】
図２４（ｂ）に示すように、不均一度を所定変位だけ増加させる例２４０３の場合、与えられた４個のデータの先頭と最後尾とのデータについてだけ変位を与える。中央２個のデータの変位は隣のデータとの差分とする。図２４（ｂ）で、中央２個のデータのうち、１番目のデータを先頭データと等しくし、２番目のデータを最後尾データと等しくすることも考えられる。しかし、不均一度を増やすことは、制御対象システム１０９を乱すことにつながるので、容易には乱すことができないように、与えられたとしても小さい変位しか許さない方が望ましい。このような意味から、後者を避け、前者を採るのである。
【００８７】
図２５は基本データ長が８、データ数が８個の場合に不均一度の所定変位を実現するためのデータの変位の組合せを説明する図である。図２５において、図２５（ａ）は図２４（ａ）の場合と同様に、不均一度を所定変位だけ減少させる例２５０１であり、図２５（ｂ）は図２４（ｂ）の場合と同様に、不均一度を所定変位だけ増加させる例２５０２である。基本データ長が８以上の場合も、前述したと同様に変位を与えることができ、やはり、変位はなるべく大きくしないようにする。
【００８８】
前述したようなことから、各データには、隣り合うデータの入れ換えが起きるほどの変位を与えるべきではないという制約条件を課すことにする。
【００８９】
図２６は不均一度の所定変位を実現するためのデータの変位の組合せを説明する図である。図２６に示す例は、基本データ長が４の不均一度、最下位階層のデータ数が４個の場合に、データが４個与えられた例である。
【００９０】
図２６において、いま、不均一度を所定変位だけ減少させる状況２６０１を考える。不均一度の定義から、各データの線形倍が不均一度に寄与することを考えると、この状態を実現するには、データの各変位を線形倍したものの組合せの和が、不均一度に与えた所定変位とおおよそ等しくすることができればよい。なお、不均一度を正の変位分だけ増加する場合もこれと同様である。
【００９１】
与えられたデータが３個の場合、本発明の第１の実施形態で説明したように、平均値を計算して、これを元のデータに挿入し、データが４個あるものとして扱うことになるが、このとき、平均値に対する変位は、３個のデータの変位から従属して決まる。また、与えられたデータが２個で、ダミーデータが２個挿入されて合計４個になっている場合、ダミーデータの変位を考慮せず、データが２個あると考えればよい。これらの点が、データが正味４個の場合と異なるが、やはり、上記の考え方と同様になる。
【００９２】
前述したように考えると、不均一度の所定変位に等しくなるデータの値の変位の組合せを求める問題は、与えられた一定容積の容器の中に異なる容積の物を詰め込む問題とみなすことができる。この問題は、「築山修治著「アルゴリズムとデータ構造の設計法」２００３年」に記述されている「０−１ナップザック問題」と等価である。０−１ナップザックの問題とは、様々な容積の品物が１つずつあり、容積によって品物の値段が異なるとし、一定の容積を持つナップザックに品物を詰め込むときに、その合計の値段が最大になるようにするという組合せ最適化問題であり、分枝限定法や動的計画法等による解法があることが知られているが、その内容については公知なので言及しない。
【００９３】
さて、不均一度の所定変位に対して、複数データの値の変位の組合せを求める問題に、０−１ナップザック問題を適用するには、データの値の変位を、共に容積及び値段とみなしてやればよい。これを定式化して示しているのが式（１２）であり、この式（１２）は、不均一度の所定変位に対する入力データ列の変位の値を逆演算で求める際の組合せ最適化問題の定式化を示している。
【数１２】
2008234323.tif 000018
【００９４】
式（１２）において、係数ａは変位を値段に変換する係数と考えればよい。係数ｃは不均一度への感度を表わす係数である。係数ａと係数ｃとを等しい値にして、どの値段も一定の割合で変位に比例するとしてもよいし、異なる値にして不均一な重みづけを行ってもよい。均一な重みづけを行った場合、データの変位の大きいものを優先的に集めて組合せを求める問題になる。このことは、変位を持たせるデータの個数を最小にすることに等しい。そして、分枝限定法や動的計画法等により求解することができる。実際には、常に、不均一度の所定変位に完全に一致するデータの値の変位の組合せを求めることはできないが、その差異が最も小さい組合せを得ることができ、実用上、これで充分である。
【００９５】
ところで、不均一度の所定変位、データの変位、係数ａ、及び、係数ｃを整数に変換しておくと、０−１ナップザック問題は、その求解が簡素になる。そこで、以下では、これらを全て整数として説明することにする。但し、実装においては、求解前の整数化の変換と求解後のその実数化の変換を行い、データの変位の解はデータと同様に０．０から１．０の値とする。
【００９６】
次に、前述したデータ列、あるいは、データをリソース利用率と読み替えて、システムリソースの制御方法について説明する。
【００９７】
一般に、全てのリソース利用率を制御することができず、その一部しか制御できないことも多い。例えば、運用上の制限から、あるサーバのＣＰＵ利用率をどうしても制御できない場合もある。逆に、運用の効率化の点から、あるサーバのメモリ利用率をどうしても制御したいという場合もある。そこで、本発明では、制御対象として採用するリソースを選択して、前述した組合せ最適化問題に組み入れる変数を限定する方法を提供する。このとき、不均一度の値と変位の組とに応じて、どのシステムリソースを優先的に制御対象とするかを制御優先度ルールとしてあらかじめ定義しておく。優先度ルール間にも優先度があり、優先度の最も高いもので組合せ最適化問題を解くが、これに解がない場合、順次、優先度を下げていくものとする。このようにすることによって、不均一度の値がいくつのとき、どのくらいの変位を与えるかによって、どのシステムリソースを制御対象にするのが適切であるのか、監視要員の経験やノウハウをシステムリソース利用度制御に活用することができる。ここでは、全てのシステムリソースを制御対象にすることを禁じるわけではないので、全てのシステムリソースを制御対象にするルールを採用してもよい。
【００９８】
図２７は図１に示す制御優先度ルール定義ファイル１１９のデータ構成を示す図である。制御優先度ルールは、優先度ルール番号２７０１、不均一度２７０２、目標としての不均一度の変位２７０３、及び、リソースＩＤ２７０４の列を１つのレコードとした複数レコードにより構成されており、優先度ルール番号２７０１の値が小さいものほど優先度が高い。
【００９９】
すでに説明したように、不均一度にあまりに大きな変位を与えると、それを実現することが可能なリソース利用率の変位が存在しないこともあり得る。従って、前述した組合せ最適化問題を解く前に、不均一度について、実現可能な所定変位の上下限値が求められていることが望ましい。このような所定の変位は、図２６に示して説明したような変位の線形和から求めることが可能である。これにより、制御優先度ルールで制御対象としたシステムリソースの変位に対して上下限値を求める。この上下限値が判っていれば、不均一度の変位として、その上下限値内の値を用いる限り、求解は可能であるから、この上下限値内の変位を不均一度の所定変位として用いればよい。また、不均一度の所定変位が、求められた上下限値の範囲外の場合、そのような不均一度を実現する制御は不可能であることも求解前に判明するので、システムリソースの運用状態が芳しくないことを示す警告を発するためのトリガとしても使用することができる。
【０１００】
図２８は図３に示すステップ３０５での制御目標値の計算の処理の詳細を説明するフローチャートであり、次に、これについて説明する。この処理は、ダミーデータが挿入されている場合、ダミーデータを除いて実測したリソース利用率だけを使用するものとする。なお、不均一度に対する所定変位は与えられているものとする。すなわち、図３の不均一度是非の判定３０４における判定基準が与えられているものとする。
【０１０１】
（１）この処理の開始時点で、不均一度は計算済みで、その所定変位が与えられているので、システムリソース利用率の制御目標値計算プログラム１１４は、制御優先度ルール定義ファイル１１９を参照して、制御対象のリソースＩＤ２７０４を特定する（ステップ２８０１）。
【０１０２】
（２）次に、その制御対象のリソース利用率に対して、不均一度変位の上下限値の計算を行う。すなわち、図２４により説明したように、リソース利用率を昇順、あるいは、降順に並び替えたときに、隣り合うデータと順序とが変わらないように変位を決める。この処理は、リソース毎のリソース利用率の変位を小さく留めて変位させる処理である。すなわち、制御対象とするリソースの個数を増加して、不均一度の所定変位を近似しようとする戦略である。そして、リソース利用率の並びの先頭から順に４つのデータ毎にブロックを作り、そのブロックを越えない範囲で隣り合うデータとの差分を勘案して変位を決定する。但し、ダミーデータが含まれる場合、それらに対する変位は考慮せず、平均値が含まれる場合、平均値に対する変位が与えられたデータから従属して決まる点を考慮する。最下位階層のデータ数に対応して、これらのリソース利用率の変位に対する係数が決まるので、決められた変位にその係数を掛けて総和をとり、不均一度の変位に対する上下限値を求める（ステップ２８０２）。
【０１０３】
（３）次に、不均一度の所定変位が前述した上下限値の範囲に入っているか否かを判定する所定変位実現の判定の処理を実行し、この判定の結果、その所定変位が上下限値の範囲に入っていた場合、リソース利用率変位の計算を行う。このリソース利用率変位の計算の処理において、不均一度の所定変位に対するリソース利用率の変位を逆算する。そのために、０−１ナップザック問題という組合せ最適化問題を解く。この準備として、計算対象としたリソース利用率、不均一度の所定変位、及び、前述した各種の係数を整数化する。得られた解は、この整数化の逆変換を行って、０．０から１．０の実数に戻す。この処理の後、ここでの処理を終了する（ステップ２８０、２８０４）。
【０１０４】
（４）ステップ２８０３の判定で、所定変位が上下限値の範囲に入っていなかった場合、制御優先度ルール定義ファイル１１９に現段階よりも優先度の低いルールが残っているか否かを判定し、残っていた場合、ステップ２８０１の制御優先度ルールの選択の処理に戻って、次の優先度の制御対象を特定して処理を続ける（ステップ２８０５）。
【０１０５】
（５）ステップ２８０５の判定で、現段階よりも優先度の低いルールが残っていなかった場合、警告発生のフラグを立て、所定変位が制御不能な範囲に入ったことを、図１のシステムリソース監視装置１２１から警告として発する処理を実行して、ここでの処理を終了する（ステップ２８０６）。
【０１０６】
次に、図３に示すステップ３０６でのリソース利用率の制御について説明する。この制御は、図１におけるシステムリソース利用率の制御エージェント１０５、システムリソース１０６、リソースプール１０７、システムリソース利用率の制御プログラム１１５、仮想リソース１１６、及び、仮想リソースプール１１７に関係する制御である。リソース利用率を増加させるということは、そのシステムリソースの上限値を下げる制御に相当する。メモリを例に考えると、この制御は、メモリにまだ余裕があるから、いくらか返上することを意味する。その逆に、リソース利用率を減少させるということは、そのリソースの上限値を上げる制御に相当する。メモリでいえば、ほぼ使い尽くしているので、メモリを追加することを意味する。そこで、追加すべきシステムリソースを別途用意しておいたり、返上されたときに別途保管しておく貯蔵装置が必要になる。こうしたシステムリソースの貯蔵装置として、仮想リソースプール１１７が用いられる。仮想リソースプール１１７は、システムリソースの種別毎に用意し、初期状態において、所定量のリソースを保管しているものとする。
【０１０７】
制御優先度ルール定義に示している制御対象のリソースＩＤ２７０４のリソース利用率を変えて、仮想リソース１１６内のリソース配分を変更すると、制御対象装置１０２内で、システムリソース利用率の制御エージェント１０５が動作し、対応するシステムリソース１０６とリソースプール１０７との間でリソースの交換を行う。仮想リソース１１６と仮想リソースプール１１７とは、実リソースと実リソースプールとを隠蔽し、システムリソース利用率の制御プログラム１１５が制御対象システム１０９の詳細まで関知しなくても、リソース利用率を制御することができる。
【０１０８】
図２９は図３に示すステップ３０６でのリソース利用率の制御処理の詳細を説明するフローチャートであり、次に、これについて説明する。
【０１０９】
（１）システムリソース利用率の制御プログラム１１５は、この処理を開始すると、まず、図２８に示したフローのステップ２８０６の処理で警告発生フラグが立てられているか否かにより警告の有無を判定し、警告発生フラグが立っていた場合、なにもせずに、ここでの処理を終了する（ステップ２９０１）。
【０１１０】
（２）ステップ２９０１の判定で、警告発生フラグが立っていなかった場合、図２７に示すリソースＩＤ２７０４と図２に示すリソースＩＤ２０１とを参照して、システムリソースの種別毎にリソース利用率の変位を収集し、種別毎にそれらをシステムリソース利用率の制御プログラム１１５に取り込む（ステップ２９０２）。
【０１１１】
（３）その後、図２８に示すフローのステップ２８０４の処理でのリソース利用率変位の計算において求めた制御対象リソースのリソース利用率の変位が正であるか否かを判定する（ステップ２９０３）。
【０１１２】
（４）ステップ２９０３の判定で、制御対象リソースのリソース利用率の変位が正であった場合、仮想リソース１１６の上限値を下げるため、与えられたリソース利用率の変位を実現するように、システムリソース利用率の制御プログラム１１５は、仮想リソース１１６から余剰リソースを回収し、仮想リソースプール１１７に返上する仮想リソースの回収の処理を行う。この処理の結果、制御対象装置１０２におけるシステムリソース利用率の制御エージェント１０５が、リソースＩＤ２０１に従って、対応するシステムリソース１０６から余剰リソースを回収し、リソースプール１０７に返上する実リソース回収の制御を実行する（ステップ２９０４、２９０５）。
【０１１３】
（５）ステップ２９０３の判定で、制御対象リソースのリソース利用率の変位が負であった場合、仮想リソース１１６の上限値を上げるため、与えられたリソース利用率の変位を実現するように、システムリソース利用率の制御プログラム１１５は、仮想リソースプール１１７から必要な量のリソースを仮想リソース１１６に追加する仮想リソースの追加の処理を行う。この処理の結果、制御対象装置１０２におけるシステムリソース利用率の制御エージェント１０５が、リソースＩＤ２０１に従って、必要な量のリソースをリソースプール１０７から取得して対応するシステムリソース１０６に追加する実リソース追加の制御を実行する（ステップ２９０６、２９０７）。
【０１１４】
前述した本発明の各実施形態での各処理は、プログラムにより構成し、本発明が備えるＣＰＵに実行させることができ、また、それらのプログラムは、ＦＤ、ＣＤＲＯＭ、ＤＶＤ等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
【産業上の利用可能性】
【０１１５】
本発明は、測定値のばらつきの程度を数値化し、それを所定の近傍値にコントロールするものであり、物体の形状チェック、ハードウエアやソフトウエアの性能検査、マンパワーの評価等に関係する、品質管理、性能評価、工程監視、リソース管理、経営戦略等の理工学に関連する産業分野だけでなく、経営学に関連する産業分野にも適用することができる。
【図面の簡単な説明】
【０１１６】
【図１】本発明の一実施形態によるシステムリソース制御装置を含むシステム構成を示すブロック図である。
【図２】システムリソースデータ蓄積用データベースに保存されるシステムリソースデータの構成を示す図である。
【図３】本発明の実施形態によるシステムリソース制御装置における処理動作の概略を説明するフローチャートである。
【図４】データ数が８個の場合における不均一度を決める方法の一例を説明する図である。
【図５】図４に示す例における不均一度を決める方法を別の観点から説明する図である。
【図６】図５に示す例における不均一度を決める方法を別の観点から説明する図である。
【図７】データ数が８個の場合における不均一度を図６により説明した操作を繰り返すことにより決める方法を説明する図である。
【図８】図７により説明した方法に従った、データ数が１６個の場合の不均一度の計算方法と定義式とを説明する図である。
【図９】図７により説明した方法に従った、データ数が８個の場合の不均一度の計算方法と定義式とを示す図である。
【図１０】図７により説明した方法に従った、データ数が４個の場合の不均一度の計算方法と定義式とを示す図である。
【図１１】図７により説明した方法に従った、データ数が２個の場合の不均一度の計算方法と定義式とを示す図である。
【図１２】データ数が１６個の場合の別の不均一度の計算方法と定義式とを説明する図である。
【図１３】データ数が８個の場合の別の不均一度の計算方法と定義式とを説明する図である。
【図１４】データ数が４個の場合の別の不均一度の計算方法と定義式とを説明する図である。
【図１５】データ数が２個の場合の別の不均一度の計算方法と定義式とを説明する図である。
【図１６】データ数が１６個の場合の並列計算の効率化について説明する図である。
【図１７】データ数が４個の場合の不均一度の計算方法と定義式とを不均一度の正規化を別の観点から見直して説明する図である。
【図１８】データ数が３個の場合の不均一度の計算方法と定義式と示す図である。
【図１９】データ数が１６個の場合の不均一度の計算方法を説明し、かつ、不均一度の並列計算の仕組みを説明する図である。
【図２０】データ数が２のｋ乗個の場合の不均一度の計算過程の概略を説明する図である。
【図２１】与えられたデータ数が９個で、データ数を１６個にする場合にダミーデータをどこに挿入するべきかを説明する図である。
【図２２】図３に示すステップ３０３での不均一度の計算の処理の詳細を説明するフローチャートである。
【図２３】隣のデータと並びの順序が変わらない限り、不均一度の計算が線形性を保つことを説明する図である。
【図２４】基本データ長が４、データ数が４個の場合に不均一度の所定変位を実現するためのデータの変位の組合せを説明する図である。
【図２５】基本データ長が８、データ数が８個の場合に不均一度の所定変位を実現するためのデータの変位の組合せを説明する図である。
【図２６】不均一度の所定変位を実現するためのデータの変位の組合せを説明する図である。
【図２７】図１に示す制御優先度ルール定義ファイル１１９のデータ構成を示す図である。
【図２８】図３に示すステップ３０５での制御目標値の計算の処理の詳細を説明するフローチャートである。
【図２９】図３に示すステップ３０６でのリソース利用率の制御処理の詳細を説明するフローチャートである。
【符号の説明】
【０１１７】
１０１  ネットワーク
１０２、１０８  制御対象装置
１０３、１１１  ネットワークインターフェース
１０４  リソースデータ提供エージェント
１０５  システムリソース利用率の制御エージェント
１０６  システムリソース
１０７  リソースプール
１０９  制御対象システム
１１０  システムリソース制御装置
１１２  システムリソースデータの収集プログラム
１１３  システムリソース利用率の不均一度計算プログラム
１１４  システムリソース利用率の制御目標値計算プログラム
１１５  システムリソース利用率の制御プログラム
１１６  仮想リソース
１１７  仮想リソースプール
１１８  ダミー挿入ルール定義ファイル
１１９  制御優先度ルール定義ファイル
１２０  システムリソースデータ蓄積用データベース
１２１  システムリソース監視装置
１２２  システムリソース利用率の不均一度表示プログラム
【図１】
2008234323.tif 000019
【図２】
2008234323.tif 000020
【図３】
2008234323.tif 000021
【図４】
2008234323.tif 000022
【図５】
2008234323.tif 000023
【図６】
2008234323.tif 000024
【図７】
2008234323.tif 000025
【図８】
2008234323.tif 000026
【図９】
2008234323.tif 000027
【図１０】
2008234323.tif 000028
【図１１】
2008234323.tif 000029
【図１２】
2008234323.tif 000030
【図１３】
2008234323.tif 000031
【図１４】
2008234323.tif 000032
【図１５】
2008234323.tif 000033
【図１６】
2008234323.tif 000034
【図１７】
2008234323.tif 000035
【図１８】
2008234323.tif 000036
【図１９】
2008234323.tif 000037
【図２０】
2008234323.tif 000038
【図２１】
2008234323.tif 000039
【図２２】
2008234323.tif 000040
【図２３】
2008234323.tif 000041
【図２４】
2008234323.tif 000042
【図２５】
2008234323.tif 000043
【図２６】
2008234323.tif 000044
【図２７】
2008234323.tif 000045
【図２８】
2008234323.tif 000046
【図２９】
2008234323.tif 000047