(57)【要約】【課題】  従来技術で規定したSLAレベルは、二元的であり、クラウド環境などで提供されているサービスはより定量的が決められることが多く、実際に協議されているSLA（Service Level Agreement）定量的な情報をより確実に反映されるコンピュータにおけるコンピューティングリソースの割当処理を行うことが困難であった。【解決手段】  本発明では、上記の課題を解決するためにSLAの定量的な情報及び過去処理情報を活かしながら、リソース利用時間をより的確に計算し既存リース提供サービスに必要な時間帯及びリソース量をスケジューリング化する。本スケジューリングシステムはSLA協議内容に応じてリソースを最大限に活用できるように計算されているため、未使用リソース量及び時間帯を簡単に把握でき、新規サービスなどを対応可否がより簡単かつ短期間で判断することを支援する。【選択図】  図２
2013190888.tif 000002
【特許請求の範囲】
【請求項１】
所定のサービスを実現する情報処理を実行するコンピュータのリソースを管理するコンピュータリソース管理方法において、
前記情報処理におけるバッチジョブ処理時間を特定し、
前記バッチジョブ処理時間から重回帰分析法に基づいてバッチジョブ実行予測時間を示す数式に対して、前記サービスにおけるSLAで定められたバッチジョブ完了時間に関するパラメータを反映して、バッチジョブ実行予測時間を算出し、
算出されたバッチジョブ実行予測時間に応じて、当該バッチジョブ実行予測時間に関するバッチジョブを実行するため前記コンピュータで割り当てるリソースを特定するリソース割り当て処理を実行することを特徴とするコンピュータリソース管理方法。
【請求項２】
請求項１に記載のコンピュータリソース管理方法において、
前記リソース割り当て処理の結果に応じて、リソース追加要否およびリソース追加タイミングを判定することを特徴とするコンピュータリソース管理方法。
【請求項３】
請求項１または２のいずれかに記載のコンピュータリソース管理方法において、
前記コンピュータは、クラウドコンピューティングを実現するコンピュータであることを特徴とするコンピュータリソース管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータリソースの管理に関し、その中でも特に、いわゆるクラウド環境における管理に関する。
【背景技術】
【０００２】
現在、コンピュータシステムでの情報処理量は増加しており、これに伴いリソース管理が必要になってきている。このような背景において、リソース管理に関し、特許文献１が提案されている。特許文献１では、リソース不足状態の発生を監視するリソース監視手段、リソース不足が発生されている場合のリソース回収処理手段及びSLA情報のレベル（HIGH,LOW）に基づいて必要なリソースを割当てる割当手段を開示されてる。このように特許文献１では、システムに使われている性能状態の監視技術及びリソース過不足の判断技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２９３２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ただし、上記のシステムで定義されているSLAのレベルは「HIGH」、「LOW」のみで区別されているため、クラウド環境などで提供されているサービスはより定量的が決められることが多く、実際に協議されているSLA（Service Level Agreement）定量的な情報をより確実に反映され、コンピューティングリソースの割当処理を行うことが難しい。
【０００５】
また、上記のシステムではリソース利用要求が発生されてから、リソース過不足を計算し計算された結果に応じリソース回収及びリソース割当を実行されているため、随時に新しいリソース提供サービスの要求に対して既存リソースで対応可否または追加必要なリソース量及び時間帯を判断することに関しては、上記のリソース割当システムを用いて他システムとの連携で検討すること必要となり対応期間の長期化になる可能性がある。よりスピーディ及びより的確に対応できるようにすることが課題となっている。
【課題を解決するための手段】
【０００６】
本発明では、上記の課題を解決するためにSLAの定量的な情報及び過去処理情報を活かしながら、リソース利用時間をより的確に計算し既存リース提供サービスに必要な時間帯及びリソース量をスケジューリング化する。本スケジューリングシステムはSLA協議内容に応じてリソースを最大限に活用できるように計算されているため、未使用リソース量及び時間帯を簡単に把握でき、新規サービスなどを対応可否がより簡単かつ短期間で判断することを支援する。
【０００７】
また、本発明は、クラウド環境でのバッチジョブ処理時間の過去統計データを重回帰分析法に基づいて求められたバッチジョブ実行予測時間の数式にSLAで定められたバッチジョブ完了時間を考慮したパラメタ設定可能な定数を加えて、クラウドサービスで提供されるコンピューティングリソースをより柔軟的かつ効率的に割当し、随時新規バッチジョブ処理サービスの要求があった場合にも提供可否・リソース追加要否及びリソース追加タイミングを容易に判断することを支援するものでもある。
【発明の効果】
【０００８】
本発明によれば、特に、クラウドで提供されているバッチジョブ実行サービスのSLA内容（バッチジョブ実行完了時間）を確実に保証できるように必要な計算コア数と実行開始すべき時間・スケジューリングが求められる。数字化されたSLA内容をリソース利用量の計算数式に反映されていることでSLA保証率とリソース活用効率を両面を考慮できるようになる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態におけるＳＬＡの概要を示す図。
【図２】本発明の一実施形態のシステム構成図。
【図３】本発明の一実施形態の処理内容を示す概要フローチャート。
【図４】本発明の一実施形態のＳ２５の詳細処理内容を示すフローチャート。
【図５】本発明の一実施形態のＳ２７の詳細処理内容を示すフローチャート。
【図６】本発明の一実施形態のＳ２８の詳細処理内容を示すフローチャート。
【図７】本発明の一実施形態のＳ２９の詳細処理内容を示すフローチャート。
【図８】本発明の一実施形態のＳ２７６の詳細処理内容を示すフローチャート。
【図９】本発明の一実施形態で用いるデータテーブル（データベース）を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態について、図面を用いて説明する。
まず、前提として、図１にSLAとシステムでの負荷(コア数)の関係を示す概念図を示す。つまり、サービスＡ、Ｂについて、その処理時間(提供時間)を短くしようとすると、必要となるコア数が増加し、負荷も増えることになる。このように、サービスについて変動が起こると、コア数(システム)負荷もそれに合せて変動し、SLAを維持できるかが問題になってくる。この点を解消するために、本実施形態では、図２に示すシステムバッチ処理情報取得システム１０、バッチ処理時間予測システム２０およびリソーススケジューリングシステム３０を用いて、その処理時間等を予測し、ＳＬＡを維持できるか判断する。さらには、SLAを維持できるように制御するものである。以下、その詳細を説明する。
【００１１】
まず、前提処理として、図9に示す各種データを、図1に示す各DBに格納する。例えば、バッチ処理データ登録を行う。これは、バッチ処理情報システム(10）が、クラウドでのバッチ処理を実行監視ソフトウエアを用いて以下の統計データ取得し、BatchProcessedTbl（T1000）に保存する。その内容は、バッチジョブ（件数）、バッチジョブのデータ量（GB）、実行リソースのメモリ量（GB）、CPU性能（GHz）、バッチジョブ再開できるまでのMTTR、バッチジョブ開始時間、および、バッチジョブ完了時間からなる。これらのデータは、あるバッチジョブ処理については、以下の数値を取ることもある。
バッチジョブ（件数）＝  100件
バッチジョブのデータ量（GB）＝  120GB
実行リソースのメモリ量（GB）＝  3.5GB
CPU性能（GHz）＝  100GHz
つまり、図9に示すテーブルT1000に、バッチジョブの件数、データ量、処理CPU及び処理用のメモリ量がそれぞれ100,120,3.5,100と登録される。
【００１２】
バッチジョブ処理にかかっていた時間を以下の方式（数１）で求められた結果をT1000に「処理時間」項目に登録する。エラーが発生されシステム再開までのMTTRを考慮する必要があるため、以下の数式で計算する。
処理時間＝バッチジョブ完了時間−バッチジョブ開始時間−MTTR…(数１)
次に、図３以降のフローチャートを用いて、処理の内容を説明する。まず、S21において、バッチ処理データ取得する。これは、上述したテーブルに登録したデータを取得lする。つまり、保存されたバッチ処理統計データを取得するプロセスになるが、過去データ中にシステムダウンなど原因によってバッチ処理時間のデータが平常時と異質を持っているため、重回帰分析には不適切なデータとしてT1000の「除外フラグ」が「ON」（S2762）になっているデータ列を取り除く必要があるため、本処理は以下のデータを取得する。  そして、T1000の「除外フラグ」が「ON」以外のデータから「バッチジョブの件数、バッチジョブのデータ量、CPU性能、リソースのメモリ量」のデータを抽出する。
【００１３】
次に、S22において、関数の相関値の計算を行なう。ここでは、バッチ処理時間を予測するための数式を求めるために、バッチ処理ジョブの量を示すバッチジョブの件数とバッチジョブのデータ量及びコンピュータの実行能力を示すCPU性能と性能に関わる提供されているリソースのメモリ量を活用し重回帰分析を行う。
【００１４】
重回帰分析の多重共線性（ある独立変数が残りの変数によってほとんど説明されてしまう状態）を防ぐために、重回帰分析を実行する前に上記に抽出されたデータ（重回帰分析では独立変数と呼ぶ）の相関関係を公知のPearson相関ツール（201）を使うことによって計算する。
【００１５】
ここで、計算された相関値を0.8以上の変数ペア（S23）があった場合、重回帰解析に1つの変数だけ使うため使わない変数を判定するS24に進める。各変数ペアの相関値が0.8以下なるまで23を続けるが、0.8以下になったらS25の重回帰解析に進む。S24では、他関数との相関値の合計を高いほうの変数をT2000に「0」と登録する。
【００１６】
次に、S25において、重回帰分析処理を行う。ここでは、T2000に登録された係数が0以外の変数「バッチジョブの件数、データ量、処理CPU及び処理用のメモリ量」それぞれの組合せと「処理時間」を用いて重回帰分析を行う。つまり、図４に示す以下の処理を行う。
【００１７】
（１）前処理で保存された「バッチジョブの件数、データ量、処理CPU及び処理用のメモリ量」の係数データを取得する（S251）。
（２）T2000の係数が「0」であるかを判定して（S252）、「0」以外の変数を数えていく（S253）
（３）組合せパターンを計算ツール（S201）で計算する（S254）。これは、現在知られている公知の技術で実現かのうであり、その詳細は省く。
（４）各パターンに対して、T2000の「数式ID」に連番をR001から登録しておく。前処理のデータより、「バッチデータ量」と「メモリ量」の係数が「0」になっているため「バッチジョブ件数」と「CPU」の以下の組合せパターンをT2000登録する。
（ア）バッチジョブ件数のみの変数パターンにR001を「数式ID」に登録
（イ）CPU変数パターンにR002を登録
（ウ）バッチ件数とCPU のパターンにR003を「数式ID」に登録
（５）公知計算ツール（201）を利用して前処理の組合せパターンに対するモデル（数式）を求める（S255）。
【００１８】
次に、S26において、重回帰結果登録処理を実行する。つまり、各々のパターンに対して求められたデータ（S255）をT2000の該当項目に登録する。S26の登録内容は、以下になる。
（ア）回帰決定係数及び調整済み決定係数（モデルの説明力を表す）：「説明力」
（イ）偏回帰係数（各変数の影響力を表す）：「各変数の係数」
（ウ）有意確立（各変数の影響力が統計的に有意であるのか検定する）：「有意水準」
（エ）従属変数の平均値：「平均値」
（オ）従属変数の標準偏差値：「標準偏差値」
（カ）モデルの定数：「定数」。
【００１９】
次に、S27において、適用モデル決定処理を行う。本処理では、前処理に求められた数式を設定されたパラメータ（説明力及び有意水準）と比べて、バッチ処理時間の予測するための適用数式を決定する。本システムは柔軟性を持たせるため、標準の説明力と有意水準のデフォールト値以外にユーザ設定機能を提供する。
【００２０】
ModelParameterTbl（T3000）の「説明力」と「有意水準」にデフォールト値が「50%」と「5%」それぞれ登録されている（重回帰分析に一般的に使われている数字）。ユーザがパラメータ登録プログラム（202）を使うことによって各自の基準に応じた上記のパラメータとSLA_IDを登録する。
【００２１】
本処理フローの詳細は、図５に示すように以下のとおりになる。
（１）T3000から「説明確立」と「有意水準」の値を抽出する。S271
（２）T2000から同じ日付の数式を「説明力」の一番高い数式データを抽出する。S272
（３）設定パラメータと比較する。S273
（４）パラメタ条件を満たす数式をT3000の「数式ID」に登録する。S274
（５）上記パラメタ設定値に満たさない場合、次の説明力の高い数式データを抽出する。S275
（６）上記パラメタ設定値に満たす数式がない場合は、統計データの外れ値処理に進む。S276。
【００２２】
次に、S28において、SLA対応調整処理を行う。本処理では、SLAで合意された内容（T4000に登録されている内容）に応じてバッチ処理時間予測数式を最適化する。この内容は、図６に示すように以下のとおりになる。
【００２３】
202を使って各々のバッチ処理サービスのSLA内容をBatchSLATbl（T4000）の以下の項目に登録する。S281
SLA_ID
バッチ完了時間
バッチ完了遵守率
バッチ完了時刻
次に、前処理に重回帰分析によって求められた数式（T3000）は正規分布の性質を持っているため、この数式を利用して予測されたバッチ処理時間を確率的に示すことも可能である。ここで、バッチジョブ完了時間内で100%保証しようとしたら、正規分布の確立が100%になるように計算することが可能であるが、計算リソースの効率的に割当にならないためSLAで定義されているSLA完了時間の遵守率を保証しながら、いかにリソース適用効率を向上させることが課題となっている。
【００２４】
そこで、本処理では、バッチジョブ完了遵守率を保証できる処理予測数式の求め方を以下に示す方法で行う。
（１）T4000から「SLA_ID」と「遵守率」を取得する。S281
（２）T3000の該当「SLA_ID」をキーとして「数式ID」を取得する。S282
（３）「数式ID」をキーとしてT2000の「平均値」、「標準偏差」を取得する。S283
（３）表計算ツールで用いられるような計算機能を用いて、遵守率、平均値、標準偏差の値を求める。S284
（４）S284から求められた数字をEstimationTbl（T5000）の「定数」に登録する。S285。
【００２５】
次に、S29の処理であるバッチ処理時間・コア計算を、図７を用いて説明する。
202を用いてバッチ処理パラメータ（バッチジョブ件数、データ量、メモリ量、CPU）をT5000の該当SLAに登録する。S291
・T5000のSLA_IDから前処理で登録された数式情報をT5000の定数、T2000の係数及び定数を取得する。S292
・S292で得られた数式をT5000のパラメタデータで計算する。S293
・S293の計算結果をT5000「処理予測時間」に登録する。S294
T4000からSLA_IDの「バッチ完了時間」を取得する。S295
・そして、「バッチ完了時間」295を満たすために最低のコア数を計算する。S296
・S295の計算結果をT5000の「コア数」に登録する。S297。
【００２６】
S276において、外れ値除外処理を実行する。この内容は、図8に示すとおりであり、以下のとおり処理する。
・計算ツールの2014を利用して変数の散布図を作成する。S2761
・散布図データから外れ値の確認及び原因調査を実施する。S2762
・T1000の該当データの「除外フラグ」を「ON」と登録する。S2763
・T1000の「除外グラグ」が「ON」以外のデータで20システムをスタートする。S2764
この結果、リソース割当支援システム３０と連携して、リソースの割り当てを行う。その内容は、以下に示すとおりである。
【００２７】
20で計算されたバッチ処理時間をコア数との組合せでリソース割当を効率的に実施可能になる。
【００２８】
各サービスのバッチ処理の条件である（１）必要な最低計算リソースのコア数、（２）開始時刻、（３）終了時刻の範囲以内でスケジューリングに柔軟に調整することができる。
・リソース利用状況を示すグラフを使うことによってリソース割当が安易に把握することができる以外にも新しいサービスを追加する際、当初のスケジューリングを動かすだけで対応できるか、またはサービス提供するのにリソースの追加が必要となるか迅速に判断することが可能になる。
【符号の説明】
【００２９】
１０…バッチ処理情報取得システム１０、２０…バッチ処理時間予測システム、３０…リソーススケジューリングシステム
【図１】
2013190888.tif 000003
【図２】
2013190888.tif 000004
【図３】
2013190888.tif 000005
【図４】
2013190888.tif 000006
【図５】
2013190888.tif 000007
【図６】
2013190888.tif 000008
【図７】
2013190888.tif 000009
【図８】
2013190888.tif 000010
【図９】
2013190888.tif 000011