JP2010507146A - 分散システムの能力計画及びリソース最適化を行う方法と装置 - Google Patents

分散システムの能力計画及びリソース最適化を行う方法と装置 Download PDF

Info

Publication number
JP2010507146A
JP2010507146A JP2009532500A JP2009532500A JP2010507146A JP 2010507146 A JP2010507146 A JP 2010507146A JP 2009532500 A JP2009532500 A JP 2009532500A JP 2009532500 A JP2009532500 A JP 2009532500A JP 2010507146 A JP2010507146 A JP 2010507146A
Authority
JP
Japan
Prior art keywords
measurements
invariant
component
model
distributed system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2009532500A
Other languages
English (en)
Inventor
グオフェイ ジアン、
ハイフェン イー. チェン、
健治 吉平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Laboratories America Inc
Original Assignee
NEC Laboratories America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of JP2010507146A publication Critical patent/JP2010507146A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

分散システムにおいて能力計画及びリソース最適化を実行する方法及び装置が開示される。特に、分散システムから収集された測定値間の関係を用いて、分散システム内の個々のコンポーネント(例えば、サーバ、オペレーティングシステム、CPU、アプリケーションソフトウェア、メモリ、ネットワークデバイス、記憶装置など)の能力ニーズを解析することができる。不変式と呼ばれるこのような測定値間の関係は、経時的に変化することはない。これらの測定値から、不変式のネットワークが決定される。不変式のネットワークは、測定値間の関係を特徴づける。分散システムにおける少なくとも1つのコンポーネントについての能力ニーズをこの不変式のネットワークから決定することができる。

Description

本発明は、概して、分散システム(distributed system)に関し、特に、分散システムにおける能力計画(capacity planning)及びリソース最適化(resource optimization)に関する。
インターネット上に拠点を有する会社は、一般に、ユーザが閲覧し、トランザクションを実行するための単一のウェブサイトを備えている。ユーザには単一のウェブサイトが見えるだけかもしれないが、通常は、大規模な分散システムが、そのウェブサイトによって提供されるサービスを実行している。大規模な分散システムとは、サーバ、オペレーティングシステム、中央処理装置(CPU;central processing unit)、メモリ、アプリケーションソフトウェア、ネットワークデバイス及び記憶装置のような複数(例えば、何千もの)のコンポーネントを含んだシステムである。これらの大規模な分散システムは、多くの場合、大量のトランザクション要求を同時に処理することができる。例えば、大きなインターネット検索サイトは数千もののサーバを備えて、毎日、数百万ものユーザクエリを処理している。
顧客は、オンライントランザクションサービスに対し、短い待ち時間(レイテンシ)及び高い可用性のような高いサービス品質(QoS;quality of service)を期待している。顧客は、信頼度の低いサービスによってまたは応答時間の数秒の遅延によってすら、容易に不満を抱く可能性がある。ユーザ負荷及び挙動のダイナミクス及び不確定性の結果として、分散システムのいくつかのコンポーネントが性能上のボトルネックになり、システムのQoSを低下させることもあり得る。これらの問題は、一般的に、分散システムにおける1または2以上のコンポーネントに対する不十分な能力計画が招く結果である。したがって、任意のユーザ負荷に対するシステムの許容可能なQoSを維持するために、各コンポーネントの正確な能力計画を行うことが望ましい。
能力計画とリソース(すなわちコンポーネント)最適化とは、しばしば、釣り合いをとるようなものである。一方では、十分なハードウェアリソースが、顧客のQoSに対する期待を満たすように配置されなければならない。他方、特大の(oversized)スケーラブルなシステムは、ハードウェアリソースを浪費し、情報技術(IT;information technology)コストを増加させ、利益を減少させることもあり得るであろう。分散システムでは、一般に、分散配置された複数のコンポーネント全体にわたってリソースのバランスをとり、システムレベルでの最大の能力を達成することが重要である。さもないと、コンポーネントの能力の不整合がシステムのいくつかのセグメントで性能ボトルネックを招く一方、他のセグメントではリソースの浪費を招き得る。このように、分散システムにおいて個々のコンポーネントについての能力ニーズ(能力に対する要求;capacity needs)を正確かつ系統的に解析することは一般に難しい。
一般に、設計者らは、分散システムのコンポーネントの能力を設計する間に、多くの手順を実行する。これらの手順は、しばしば、分散システムでのコンポーネントの能力を整合させる試行錯誤の戦略の結果である。設計者らは、通常、自らの直観、実際的経験、または経験則に基づいて、リソースを割り当てる。例えば設計者らは、ウェブページに関連付けられたユーザトランザクションを処理する分散システムの一部として、10台のサーバを設けることができる。このサーバを10台設置しようとする判断は、類似の形態のウェブページにおける以前の経験に基づいていてもよい。ウェブページがクラッシュしあるいは多数のユーザ要求を処理できない場合には、システムは過負荷になりやすく、ユーザが不満を抱くことになるであろう。設計者らは、システムに1台の追加のサーバを付加し、それが上記の問題を解決するかどうかを確かめることにより、後追いでこの問題に対処することもできる。設計者らは、問題が解決されるまで、追加のサーバを付加し続けてもよい。さらなるクラッシュはユーザを一層苛立たせるであろう。また、最初のサーバ10台中の1台のサーバが過負荷になる可能性があるので(例えば、データベースサーバは、多数のユーザ要求に関連付けられた多数のデータベース読み取り値を処理できない可能性がある)、その1台のサーバが問題の原因であるかもしれず、システム全体に対して追加のサーバを加えることが実際にはリソースを浪費しているにすぎない可能性もある。
したがって、分散システムにおける個々のコンポーネントの能力のニーズを系統的かつ正確に解析する必要性が依然として存在する。
US 2007/0179746号公報 US 2008/0027688号公報
分散システムのコンポーネントの能力ニーズは、一般に、サービスを要求するユーザの数に依存している。経時的に顧客数が変化する場合には(例えば、ユーザ数は、ホリデーシーズンの商戦期間中により多くなる)、能力計画を定期的にやり直して、新規のユーザニーズに適合するようにシステム能力をアップグレードする必要がある。
本発明の例示実施形態によれば、分散システム内の個々のコンポーネント(例えば、サーバ、オペレーティングシステム、CPU、アプリケーションソフトウェア、メモリ、ネットワークデバイス、記憶装置など)の能力ニーズは、分散システムから収集された測定値間の関係を用いて解析される。不変式(invariants)と呼ばれるこのような測定値間の関係は、経時的に変化することはない。これらの測定値から、不変式のネットワークが決定される。不変式のネットワークは測定値間の関係を特徴づける。分散システムにおけるコンポーネントの能力ニーズは、不変式のネットワークから決定される。
一例示実施形態では、システムでのコンポーネントの使用は、コンポーネントの推定された能力ニーズを現在のコンポーネントの割り当てと比較することにより、最適化される。
一例示実施形態では、測定値は、フロー強度(flow intensity)測定値である。フロー強度は、それによって内部測定値がユーザ負荷の大きさに反応する強度である。次に、これらのフロー強度測定値から不変式を自動的に抽出することができる。この抽出は、複数のモデルを生成することを含んでいてもよい。ここで各モデルは、少なくとも2つの測定値から生成される。次に、モデルが測定値にどの程度近似しているかをテストすることにより、各モデルの適合スコア(fitness score)を計算することができる。モデルが所望するように機能しない場合(例えば、適合スコア未満である場合)には、このモデルを廃棄することができる。一例示実施形態では、次に、信頼度スコア(confidence score)が不変式のネットワークの各ノードに対して決定される。信頼度スコアは、不変式のロバスト性を測定するものであり、コンポーネントの能力ニーズを決定するのに使用することができる。いったんコンポーネントの能力ニーズが決定されると、システムのリソースを最適化することができる。
本発明のこれら及びその他の利点は、以下の詳細な説明及び添付の図面を参照することにより、当業者に明白になるであろう。
図1は、能力計画モジュールを有する分散システムと通信しているクライアントのブロック図である。 図2は、分散システム内のコンポーネントの能力要件を決定するために能力計画モジュールによって実行されるステップを説明する、ハイレベルでのフローチャートを示している。。 図3は、図1の分散システムのような3階層(three-tier)ウェブシステムから収集された、HTTP要求及びSQLクエリの強度のグラフを示している。 図4は。本発明の例示実施形態による不変式のネットワークのブロック図を示している。 図5Aは、不変式を抽出するために実行されるステップのさらなる詳細を説明するフローチャートを示している。 図5Bは、不変式抽出アルゴリズムの擬似コードを示している。 図6は、不変式ネットワークのブロック図を示している。 図7Aは、分散システムの1または2以上のコンポーネントの能力ニーズを決定するフローチャートを示している。 図7Bは、分散システムの1または2以上のコンポーネントの能力ニーズを決定するアルゴリズムの擬似コードを示している。 図8Aは、コンポーネントの能力ニーズに基づいてリソースを最適化するために実行されるステップを説明するフローチャートである。 図8Bは、リソース最適化アルコリズムの擬似コードである。 図9は、オーバーシュートを有するシステム応答のグラフを示している。 図10は、本発明の例示実施形態に使用できるコンピュータシステムのハイレベルでのブロック図を示している。
スタンドアロンのソフトウェアに対しては、しばしば、CPU周波数及び記憶容量のような、ソフトウェアを実行するシステムのハードウェア要件を特定する定数が用いられる。しかしながら、それらのシステム要件は主として外部要因すなわちユーザ負荷の大きさによって決まるので、オンラインサービスに対するそのような仕様値を得るのは困難である。本発明の例示実施形態によれば、定数ではなくモデルまたは関数が、分散システムの各コンポーネントの能力ニーズを解析するのに用いられる。従来、待ち行列モデルのようなモデルが性能モデリングに適用されているが、これらのモデルは、しばしば、種々の仮定の下で、限られた数のコンポーネントを解析するのに使用される(例えば、待ち行列モデルでは、作業負荷(workload)はポアソン分布のような特定の分布に従い、かつ定常でなければならない、というようないくつかの仮定がある)。このような仮定は、分散システムにおけるコンポーネントについての能力ニーズを決定する場合には用いることができない。
動作中、分散システムは、伝統的には、大量の監視データを生成して、それらの動作ステータスを追跡する。本発明の例示実施形態によれば、この監視データは分散システムの種々のコンポーネントから収集される。CPU使用量、ネットワークトラフィック量及びSQLクエリ数は、収集できる監視データの例である。
システム不変式及び能力計画:
大量のユーザ要求がシステム内の種々のコンポーネントを流れている間、リソース消費に関連する多くの測定値が、ユーザ負荷の強度にしたがって応答する。フロー強度とは、本明細書で用いているように、それによって内部測定値がユーザ負荷の大きさ(すなわち、数)に応答する強度を指している。次に、フロー強度間の恒常的関係がシステム全体にわたって種々の点(ポイント)で決定される。このような関係が経時的に種々の作業負荷の下で常に保持される場合、この関係をここでは分散システムの不変式(invariants)と呼ぶ。一例示実施形態では、コンピュータがこれらの不変式を自動的に検索し抽出する。多くの不変式を分散システムから抽出した後、任意の大きさのユーザ負荷が与えられると、その不変関係が順次適用され、個々のコンポーネントの能力ニーズを推定することができる。現在のリソースの割り当てを推定された能力ニーズと比較することにより、システム性能を低下させる可能性のある、システムの最弱ポイントの位置を見つけ、順位付けすることができる。操作者はこのような解析結果を使用してリソースの割り当てを最適化し、潜在的な性能ボトルネックを取り除くことができる。
図1は、ネットワーク115を介してウェブサーバ110と通信しているクライアント105の例示実施形態のブロック図を示している。例えば、クライアント105は、ウェブサーバ110によって提供されたウェブページを、ネットワーク115を介して閲覧しているかもしれない。ウェブサーバ110は、アプリケーションサーバ120、データベースサーバ125及び1または2以上のデータベース(不図示)のような、1または2以上の他のサーバ及びコンポーネントとも通信している。これらのサーバ110,120,125は、ウェブページ及びこのウェブページに関連付けられたトランザクションを生成し管理するのに使用される分散システム130を形成している。
1つのウェブサーバ110、1つのアプリケーションサーバ120及び1つのデータベースサーバ125により示しているが、任意の数のこれらのサーバ110,120,125が分散システム130に含まれていてもよい。分散システム130は、この分散システム130に必要とされるリソースを決定する能力計画モジュール135も含んでいる。能力計画モジュール135は、サーバ110,120,125のうちの1つのサーバの部分であってもよく、またはそれ自身のサーバ上で動作してもよい。
能力計画(capacity planning)は、図1に示した3階層システムだけでなく、他の多くの分散されたシステムにも適用することができる。このように、3階層システムは一般的な分散システムの例である。
図2は、分散システム130におけるコンポーネントの能力要件を決定する能力計画モジュール135によって実行されるステップを説明するハイレベルのフローチャートを示している。能力計画モジュール135は、ステップ205において、分散システム130の種々のコンポーネント(例えば、ウェブサーバ110及びアプリケーションサーバ120)からデータを収集する。特に、分散システム130は、典型的には、ログファイルのような大量の監視データを生成して、それらの動作ステータスを追跡する。
ステップ210において、能力計画モジュール135は、収集されたデータからフロー強度測定値を決定する。オンラインサービスについては、大量のユーザ要求が種々のコンポーネントのアプリケーションのロジックにしたがってそれらのコンポーネントを流れている間、多くの内部測定値がユーザ負荷の強度にしたがってそれに反応する。例えば、ネットワークトラフィック量及びCPU使用量は、通常、ユーザ要求の量にしたがって変化する。これは、特に、リソース消費に関連する測定値の多くに当てはまる。というのはそれらの測定値が主としてユーザ負荷の強度によって駆動されるからである。上述のように、ここでは、フロー強度を使用して、このような内部測定値がユーザ要求の量に反応する強度を測定する。例えば、(サンプリング単位ごとの)SQLクエリ数及び平均CPU使用量は、このようなフロー強度測定値である。
一般に、強い相関関係がこれらのフロー強度測定値間に存在している。時間経過に対してこれらのフロー強度測定値をグラフによって表した場合、測定値は主として同一の外部要因すなわちユーザ要求の量に応答するので、これらのグラフは類似したものになるであろう。図3は、分散システム130のような3階層ウェブシステムから収集された、HTTP要求及びSQLクエリの強度のグラフ300,305をそれぞれ示している。グラフ300及びグラフ305の曲線は互いに類似している。システム130のような分散システムは、これらの内部測定値間の関係に多くの制約を課している。そのような制約は、ハードウェア能力、アプリケーションソフトウェアのロジック、システムアーキテクチャ及び機能性のような多くの要因から生じ得るであろう。
例えばウェブシステムでは、特定のHTTP要求xが常に2つの関連するSQLクエリyをもたらす場合、2つのSQLクエリを生じさせる命令がシステムのアプリケーションソフトウェアに記述されているので、関数I(y)=2I(x)は常に正確となるであろう。なおここで、I(x)及びI(y)はそれぞれ点x及び点yで測定されたフロー強度を表すのに使用されていることに留意されたい。フロー強度I(x),I(y)がユーザ負荷の変化にしたがってどれほど変化しようとも、上記の関係I(y)=2I(x)は常に一定である。測定値間のこのような恒常的関係を、ここでは、基礎をなすシステム(underlying system)の不変式と呼ぶ。なお、関係I(y)=2I(x)(ただし、測定値ではない)は不変式と考えられることに留意されたい。
ステップ215において、このような不変式が、分散システム130全体にわたる種々の位置で収集された複数の測定値から自動的に抽出される。これらの不変式は、種々のフロー強度測定値間の恒常的関係を特徴づけている。
次にステップ220において、不変式のネットワークが編成される。そのようなネットワークの例を図4に示している。このネットワークでは、各ノード(例えば、ノード404,408)は測定値を表し、一方、各エッジ(例えば、エッジ412)は、2つの関連付けられた測定値間の不変関係(例えば、y=f(x))を表している。以下にさらに詳細に説明するように、不変式ネットワークを使用して、能力計画及びリソース最適化のサービスをプロファイリングすることができる。
不変式の有効性はユーザ負荷の変化による影響を受けないので、一例示実施形態では、ステップ225において、起点ノードとしてユーザ要求の量を選択し、不変式ネットワークのエッジを順次追跡して、分散システム内の種々のコンポーネントの能力ニーズを決定する。ユーザ要求の量(起点)を作業負荷の履歴及び傾向分析(trend analysis)に基づいて予測することができる。上記の例において、HTTP要求の予測数をI(x1)とすると、不変関係I(y)=2I(x)を用いて、結果的に発生するSQLクエリ数が2I(x1)であると結論付けることができる。
コンポーネントの能力ニーズは、これらのリソース消費に関連する測定値によって定量的に表される。例えば、ユーザ負荷が最大であるとした場合、サーバは、2つの1GHzのCPU、4GBのメモリ、及び100MB/秒のネットワーク帯域幅、等を有する必要があるであろう。これらの数値は、この負荷の下で予想されるCPU使用量及びメモリ使用量、及びネットワーク帯域幅からそれぞれ導き出すことができる。現在のリソースの割り当てを推定された能力ニーズと比較することによって、性能ボトルネックになる可能性がある最弱ポイントを見つけ出すことができる。このように、システムの種々のコンポーネントの能力ニーズを用いて、分散システムのリソースを最適化することができる(ステップ230)。したがって、任意の大きさのユーザ負荷が与えられると、操作者は、上記のような不変式のネットワークを使用して、種々のコンポーネントの能力ニーズを推定し、リソースの割り当て間のバランスをとり、潜在的な性能ボトルネックを取り除くことができる。
フロー強度の相関関係:
システムにまたがって種々の点で測定されたフロー強度を用いて、これらの測定値間の関係をモデル化することが重要である。すなわち、測定値x,yを用いて、y=f(x)を与える関数fを決定することが重要である。上述のように、リソース消費に関連する測定値の多くはユーザ要求の量にしたがって変化する。時系列として、これらの測定値は時間tに沿って類似の発展曲線(evolving curve)を描く傾向がある。したがって、測定値の多くは線形の関係を有すると仮定できる。一例示実施形態では、外部入力付自己回帰モデル(ARX;autoregressive model with exogenous input)を用いて測定値間の線形関係を決定する。
時刻tにおいて、コンポーネントの入力及び出力で測定されたフロー強度は、それぞれ、x(t)及びy(t)によって表される。ARXモデルでは2つのフロー強度間の以下の関係を記述している。
Figure 2010507146
ここで、[n,m,k]はモデルの次数であり、このモデルは、先行する何個のステップが現在の出力に影響を及ぼしているかどうかを判断する。ai及びbjは、先行するステップがどれくらい強く現在の出力に影響を及ぼしているかを反映する係数パラメータである。以下のように表わすこととする。
Figure 2010507146
すると、式(1)は次のように書き換えることができる。
Figure 2010507146
2つの測定値が時間期間1≦t≦Nにわたって観測されていると仮定して、この観測を以下のように表すこととする。
Figure 2010507146
所与のθについて、観測された入力x(t)を用いて、式(1)にしたがってシミュレートされた出力
Figure 2010507146
を計算することができる。したがって、シミュレートされた出力を観測された出力と比較して、以下の式によって推定誤差をさらに定義することができる。
Figure 2010507146
最小二乗法(LSM;Least Squares Method)により、推定誤差EN(θ,ON)を最小化する次の
Figure 2010507146
を以下のように見つけることができる。
Figure 2010507146
決定されたモデルが真の観測値にどの程度よく適合しているかを評価する基準がいくつかある。一例示実施形態では、以下の式を用いて、モデル検証に対する正規化適合スコアを計算する。
Figure 2010507146
ここで、
Figure 2010507146
は実出力y(t)の平均値である。式(8)は、メトリックを導入して、決定されたモデルが実データにどの程度よく近似しているかを評価する。より高い適合スコアは、モデルが観測されたデータにより良く適合することを示し、その上限は1である。2つのフロー強度の観測値が与えられると、たとえこのモデルがそれらの真の関係を反映していなくても、式(7)を用いてモデルを決定することができる。したがって、高い適合スコアを有するモデルは、データの関係を特徴づける点で、意味がある。定数ではなく、一連の次数[n,m,k]を設定して、モデル候補のリストを決定することができる。その後、最も高い適合スコアを持つモデルを選択することができる。最小記述長(MDL;minimum description length)のような他の基準もモデルを選択するのに使用することができる。なお、ARXモデルを用いて2つの測定値間の長期にわたる関係を決定できること、すなわち、モデルy=f(x)がそれらの関係の主な特徴を捉えることに留意されたい。2つの測定値間の正確な関係は、y=f(x)+εで表すことができ、ここで、εはモデル化誤差である。なお、高い適合スコアを有するモデルについては、通常の場合、εは小さいことに留意されたい。
不変式の抽出:
上記の説明は、2つの測定値が与えられた場合に自動的にモデルを決定する方法を示している。実際、リソース消費に関連する多くの測定値を複合システムから収集することができるが、それら測定値の対には線形関係はなくてもよい。システムのダイナミクス及び不確定性により、決定されたモデルの中には経時的にはロバストではないものがある可能性がある。
図2のステップ215に関するさらなる詳細において及び一例示実施形態では、多数の測定値から不変式を抽出するために、いくつかの関係を事前のシステム知識から構築することができる。他の例示実施形態では、測定値から不変式を自動的に検索し抽出するアルゴリズムを用いることができる。
なお、能力計画の目的のために、リソース消費に関連する測定値の中から不変式が検索されることに留意されたい。Ii(1≦i≦m)によって表されるm個の測定値を仮定する。一例示実施形態では、総当たり検索を行って、まず不変式のすべての仮説を構築し(これらの仮説を検証するのに十分な運用システムからの監視データがあるので)、次に、動作中に、順次、これらの仮説の有効性をテストする。式(8)によって与えられる適合スコアFk(θ)を用いて、決定されたモデルがk番目の時間窓中に観測されたデータとどの程度適合するかを評価することができる。この窓の長さはlによって表される。すなわち各窓は、測定値のl個のサンプリング点を含んでいる。上述のように、2つの測定値が与えられると、式(7)を用いてモデルを決定することもできる。しかしながら、低い適合スコアを有するモデルはあまり良好には実データの関係を特徴づけないので、しきい値
Figure 2010507146
を選択して、順次のテストにおいてそのようなモデルをフィルタリング除去する。Mkによって、時刻t=k・l(すなわち、k個の時間窓の後)における有効モデルの集合を表す。順次のテスト中、いったん
Figure 2010507146
になると、このモデルのテストは中止され、それはMkから取り除かれる。
このようなk個の窓の監視データ(すなわち、全部でk・l個のサンプリング点)を受け取った後、信頼度スコアを以下の式を用いて計算することができる。
Figure 2010507146
事実、pk(θ)は、k個の時間窓に対する平均的な適合スコアである。集合Mkは有効モデルしか含んでいないので、
Figure 2010507146
を得る。
図5Aは、(図2のステップ215に関して最初に上で説明したように)不変式を抽出するアルゴリズムのさらなる詳細を説明するフローチャートを示している。能力計画モジュール135は、ステップ505において、分散システム130の種々のコンポーネントから測定値を得る。一例示実施形態では、能力計画モジュール135は、定期的に測定値を得る。あるいは能力計画モジュール135は、所定期間が経過した後の測定値を取得してもよいし、設定された回数だけ測定値を取得してもよいし、アクションまたはイベントが生じた後に測定値を取得してもよい。能力計画モジュール135は、次にステップ510において、取得された測定値から2つずつ測定値を選択する。一例示実施形態では、この選択は無作為抽出である。他の例示実施形態では、選択は前もって決められている(例えば、まず第1及び第2の測定値を選択し、次に第1及び第3の測定値を選択するなど。これは総当たり検索なので、2つの測定値の対ごとにモデルを学習する)。ステップ515において、能力計画モジュール135は選択された測定値のモデルを構築し、次にステップ520において、新しい観測値を用いてモデルを評価する。適合スコアも、ステップ520においてモデルに対して計算される。次にステップ525において、適合スコアがしきい値より大きいかどうかが判断される。大きくなければ、そのモデルはステップ528において廃棄される。適合スコアがステップ525においてしきい値より大きい場合、モデルに対して長期にわたりさらなるテストが行われ、ステップ530において、そのモデルが不変関係を記述するかどうかを判断する。例えば、さらなるテストを設定されたデータ点の数または設定期間に対して行うことができる。
図5Bは、図5Aの不変式抽出アルゴリズムの例示実施形態を説明する擬似コード(pseudo code)550を示している。上述のようにアルゴリズム550は、ブロック560において、(上の式(7)を用いて)任意の2つの測定値のモデルを決定し、次に、新しい観測値を用いてこれらのモデルを増分的(incrementally)に検証する。各ステップでは、各モデルを評価して、各モデルが新しい時間窓の間に収集された監視データにどの程度適合するかを判断する。モデルの適合スコアがしきい値より低い場合、このモデルは、さらなるテストを受けなければならない不変式の候補の集合から取り除かれる(ブロック570)。
一例示実施形態では、アルゴリズム550を用いて抽出された不変式は、可能性のある不変式であると考えられる。上述のように、モデルが経時的に不変のままである場合に、そのモデルを基礎をなすシステムの不変式と見なすことができる。しかしながら、たとえモデルの有効性が長い間(例えば、数日のような所定量の時間)にわたって順次にテストされたとしても、これはこのモデルが常に有効であるということを保証しているわけではない。したがって、可能性のある不変式としてこれらの有効モデルを考える方が、より正確である。各信頼度スコアpk(θ)は、監視データの履歴に基づいて、不変式のロバスト性を評価することができる。なお、2つの測定値が与えられた場合、複合システムにおいてどの測定値が入力または出力(すなわち、式(1)のxまたはy)として選ばれるべきかということは、論理的には不明であることに留意されたい。したがって一例示実施形態では、逆の入力及び出力を有する2つのモデルが構築される。2つの決定されたモデルが異なる適合スコアを有する場合、ARXモデルでなくAR(Auto Regressive:自己回帰)モデルが構築された。2つの測定値間の強い相関関係が興味の対象であるので、それらのARモデルは、両方のモデルの適合スコアにしきい値を越えるように要求することにより、フィルタリング除去される。したがって、一例示実施形態では、2つの測定値間の不変関係は双方向である。
フロー強度及び不変式の抽出のさらなる詳細は、"Automated Modeling and Tracking of Transaction Flow Dynamics for Fault Detection in Complex Systems"と題する米国特許出願第11/275,796号(US 2007/0179746号公報)、及び"Method and System for Modeling Likely Invariants in Distributed Systems"と題する米国特許出願第11/685,805号(US 2008/0027688号公報)に説明されており、その両方は参照によりここに組み込まれている。
能力ニーズの推定:
上述のように、アルゴリズム550は、測定値Ii(1≦i≦m)の中から可能性のある不変式を自動的に検索し、抽出する。さらに、これらの測定値及び不変式は、体系的にサービスをプロファイリングするモデルとして使用可能な関係ネットワークを編成する。少量のユーザ要求の下では、システムのサービス品質がクライアントの期待を満たしている場合には、不変式のネットワークがそのシステムから決定される。したがって、一例示実施形態では、システムが所定の状態であるときには、そのシステムをプロファイリングすることができる。リソース消費に関連する測定値がシステム130から10個(すなわち、m=10)収集され、さらに図6に示すように、アルゴリズム550がこれらの測定値から不変式ネットワーク600を抽出すると仮定する。このネットワーク600で、数iを付された各ノード(例えば、ノード605)は測定値Iを表し、各エッジ(例えば、エッジ610)は、(例えば、ノード605,615によって表された)2つの関連付けられた測定値間の不変関係を表している。
しきい値
Figure 2010507146
を用いて上記の低い適合スコアを有するモデルをフィルタリング除去できる場合、測定値対の中には不変関係を持たないものもある。例えば、切断された2つのサブネットワーク、及びノード1 620のような分離されたノードが存在する。分離されたノードは、この測定値が他の測定値とはいかなる線形関係にもないことを示唆している。2つのモデルが2つの測定値間で(逆の入力及び出力を有して)構築されるので、エッジは双方向である。
3の測定値{I10,I3,I4}間の三角関係を考える。I3=f(I10),I4=g(I3)と仮定する。ここで、f及びgはいずれも式(1)で示すような一次関数である。三角関係に基づいて、I4=g(I3)=g(f(I10))を決定することができる。関数f,gの線形特性によると、関数g(f(・))も線形のはずであり、これは測定値I10とI4との間に不変関係が必ず存在することを示唆している。しきい値を用いてそれらの低い適合スコアを有するモデルをフィルタリング除去するので、そのような線形関係は、モデル化誤差により、不変式と考えられるほどにはロバストではないかもしれない。これは、エッジがI10とI4との間にない理由を説明している。
上述のように、不変式は、測定値間での長期にわたって一定である関係を特徴づけており、それらの有効性は、基礎をなすシステムが正常に動作する場合、長期にわたるユーザ負荷のダイナミクスによって影響を受けることはない。各不変式がその関連付けられた測定値間のいくつかの局所的関係をモデル化する一方、不変式のネットワークは、分散システム全体の根底にある多くの不変制約を捉えることができる。1またはいくつかの解析モデルを用いてサービスをプロファイリングするのではなく、多くの不変式のモデルを組み合わせてネットワークを構築し、能力ニーズを解析し、リソースの割り当ての最適化を行う。実際、傾向分析または他の統計的方法を用いて、ユーザ要求の量を予測することもできる。
時刻t(例えば、1か月またはセールス期間中)において、ユーザ要求の最大量がxまで増加すると予測されるものとする。図6において、(ノード625によって表された)測定値I10がユーザ要求の量を表すのに使用される。すなわち、I10=xである。
ネットワーク600内の他のノードの能力は、この量のユーザ要求をサービスするようにアップグレードされる。なお、システムコンポーネントの能力ニーズは、リソース消費に関連した測定値により、定量的に特定されることに留意されたい。例えば、ネットワークの帯域幅(ビット/秒)を用いて、ネットワークの能力を特定することができる。
ノード625(すなわち、I10=x)から始まり、次にエッジ(例えば、エッジ630)が続いて、不変式ネットワーク600内の他のノードの能力ニーズを推定する。1回のホップ(hop)でノード{I3,I5,I7}に到達することができる。I10=xとすると、問題なのは、いかにして不変式を追ってこれらの測定値を推定するかである。上述のように、一例示実施形態では、式(1)で示されるモデルを用いて測定値間の不変関係を検索するので、すべての不変式をこのモデルテンプレートのインスタンスと考えることができる。モデルの線形特性によれば、ユーザ負荷の量が増加するにつれて、システムコンポーネントの能力ニーズは単調に増加する。したがって、一例示実施形態では、ユーザ負荷は上下に不規則に変化するが、能力解析ではユーザ負荷の最大量が使用される。ここで、xはI10の最大値を表すのに使用される。式(1)において、入力x(t)がすべての時間ステップでxに設定される場合、出力y(t)は、定数値y(t)=yに収束すると予想され、ここで、yは以下の式から導き出すことができる。
Figure 2010507146
一例示実施形態では、f(θij)はIiからIjへの伝播関数(propagation function)、すなわち
Figure 2010507146
を表すのに使用され、ここで式(2)に示すように、すべての係数パラメータはベクトルθijからのものである。
入力xが与えられると、式(10)に基づいて、出力yを不変式の係数パラメータによって一意に決定することができる。不変式の線形特性によれば、xが入力の最大値の場合、yは出力測定値の最大値となる。したがって、入力測定値の値が与えられると、式(10)を使用して出力測定値の値を推定することができる。例えば、I10=xが与えられると、不変式を使用してI3,I5,I7の値を導き出すことができる。これらの測定値は他の不変式への入力であるので、それらの値をノードI4,I6のようなネットワーク内の他のノードに対して同様に伝播させることができる。
図6に示すように、I4,I7のようないくつかのノードは、複数の経路を通って起点ノードI10から到達することができる。同一の2つのノード間では、複数の経路は異なる数のエッジを含んでいてもよく、各不変式(エッジ)も、2つのノードの関係をモデル化する際に質が異なっていてもよい。したがって、ノードの能力ニーズは異なる精度を有して異なる経路を通して推定することができる。各ノードについて、問題なのは、ユーザ負荷の量を起点ノードから伝播させるための最良の経路の位置をどのように見つけかである。一例示実施形態では、最短経路(すなわち、最小ホップ数を有する)が、この値を伝播するために選ばれる。上述のように、各不変式は、2つの測定値間の関係を特徴づけるとき、いくばくかのモデル化誤差εを含んでいてもよい。これらのモデル化誤差は経路に沿って累積する場合があり、より長い経路は、通常、より大きな推定誤差をもたらすことになる。信頼度スコアpk(θ)を使用して不変式のロバスト性を評価することができる。信頼度スコアの定義によれば、より高い適合スコアを有する不変式は、能力推定におけるより高い精度をもたらすことができる。一例示実施形態では、pijが測定値IiとIjとの間のpk(θ)を表すのに使用され、IiとIjとの間に関係がない場合、pijは0に設定される。特定の経路sが与えられると、累積されたスコア
Figure 2010507146
を導き出して、この経路全体の精度を評価することができる。したがって、同数のエッジを含む複数の経路については、最も高いスコアqsを有する経路を選択して能力ニーズを推定する。
また、ノードの中には、起点ノードから到達可能でないものもある。しかしながら、ユーザ負荷に応答するための、類似してはいるが非線形または確率的なやり方があるかもしれないので、これらの測定値はなお他のノードの集合との線形関係を持つことができる。性能モデリングにおいて、待ち行列モデルのようなモデル(例えば、利用法則(utilization law)、サービス需要の法則(service demand law)、及び/または強制フローの法則(forced flow low)など法則にしたがうもの)が、個々のコンポーネントを特徴づけるのに開発されている。これらの法則及び古典的理論にしたがうと、非線形モデルまたは確率モデルを手動で構築して、切断されたサブネットワークにおける測定値(これらの測定値には式(1)に示すような線形関係はなくてもよいが)を接続することができる。他の例示実施形態では、境界解析(bound analysis)を使用して測定値間の大まかな関係を導き出す。したがって、一例示実施形態では、ユーザ負荷の量をこれらの分離されたノードに伝播することができる。
例えば、任意の2つのノードに対し、2つの切断されたサブネットワークから手動でブリッジを架けることができる場合、ユーザ負荷の量をさらにいくつかのホップにより伝播することができる。この場合でも、2つの切断されたサブネットワーク間のどこにブリッジを架ければよいかについてのガイダンスを提供することができるので、抽出された不変式ネットワークはなお有用であろう。例えば、システム依存性は局所的文脈においてより直接的であるので、通常、同一タイプの個々のコンポーネントから測定値間のモデルを構築する方が容易である。分散された複数のシステム全体にわたってモデルを構築するのではなく、いくつかの局所モデルを手動で構築して、切断されたサブネットワークを接続することができる。一例示実施形態では、このような複雑なモデルは、システム知識から、他のクラスの不変式であると考えられ、区別されない。
図2のステップ225に関するさらなる詳細において、図7Aは、分散システム130の1または2以上のコンポーネントの能力ニーズを決定するフローチャートを示している。不変式のネットワークは、上述のように、抽出された不変式から取得される(ステップ705)。ステップ710において、起点ノードから不変式ネットワークの各ノードまでの最短経路が決定される。最短経路がいくつかある場合、ステップ715において、起点ノードを現在のノードに接続する経路ごとに信頼度スコアが決定され、ステップ720において、各ノード(すなわち、コンポーネント)の能力ニーズが、最も高い信頼度スコアを有する最良の経路によって決定される。特に、この最良の経路に沿って累積された関係(例えば、y=f(x)かつx=g(z)ならばy=g(f(z))、ここで、zはここでの起点である)を用いて、所与の作業負荷下での能力ニーズを推定する。信頼度スコアは、経路の品質を判断することはできるが、一般的には、能力ニーズを計算することには使用することができない。経路に沿った関数を用いて能力ニーズの伝播を計算する。
図7Bは、分散システムの1または2以上のコンポーネントの能力ニーズを決定するアルゴリズム750の擬似コードを示している。図7Bのアルゴリズムは、図7Aで示したステップの擬似コードである。以下の変数がアルゴリズム750に対して定義される。
i:個々の測定値であって、1≦i≦N;
U:すべての測定値の集合、すなわち、U=Ii
M:すべての不変式の集合、すなわち、M={θij}であり、ここでθijは測定値IiとIjとの間の不変式モデルである;
ij:モデルθijの信頼度スコア。なお、測定値IiとIjとの間に不変式(エッジ)がない場合、pij=0であることに留意されたい;
P:すべての信頼度スコアの集合、すなわちP={pij};
x:ユーザ負荷の予測された最大量;
1:不変式ネットワークの起点ノード、すなわちI1=x;
k:I1からのk番目のホップでのみ到達可能であってそれ以前のホップでは到達できないノードの集合;
k:k番目のホップまででアクセスされたすべてのノードの集合;
R:Iiから到達可能なすべてのノードの集合;
φ:空集合;
f(θij):IiからIjへの伝播関数;
s:起点ノードI1からIsまでの最良の経路の最大累積信頼度スコア。
図5に関して上述したように、アルゴリズム550は、順次のテスト段階ののちに、自動的に、ロバストな不変式を抽出する。図7Bに示すように、アルゴリズム750は、M及びPによって特定された抽出された不変式ネットワークをたどって能力ニーズを推定する。起点ノードから他のノードへと伝播する最短経路を選ぶことができるので、アルゴリズム750は、各ステップにおいて、さらなる伝播のために、これまでアクセスされていないノードだけを検索する。これは、このステップの以前に既にアクセスされたすべてのノードは既に起点ノードへのそれぞれの最短経路を有しているからである。さらに、これらの新しくアクセスされたノードだけをいくつかのアクセスされていないノードに接続することができるので、アルゴリズム750は、各ステップにおいて、これらの新しくアクセスされたノードを使用して、それらの次のホップを検索する。起点ノードへの同じ長さの複数の経路を有するノードについては、一例示実施形態では、最も高い累積信頼度スコアを有する最良の経路を選択して能力ニーズを推定する。このようにアルゴリズム750は、動的プログラミングに基づいたグラフアルゴリズムである。これらの新しくアクセスされたノードの能力ニーズは増分的に推定され、起点ノードから到達可能なノードがそれ以上見つからなくなるまで、それらの累積信頼度スコアが各ステップで計算される。
リソース最適化:
上述のように、アルゴリズム750は、所与の量のユーザ負荷によってもたらされるリソースの消費に関連する測定値を順次に推定する。これらの測定値をさらに用いて、分散システムにおけるそれらの関連するコンポーネントの能力ニーズを評価することができる。多数の(例えば、数千もの)サーバを備える大規模分散システムについては、一般的に、コンポーネントの能力を正確に計画し、リソースの割り当てを最適化することが重要事項である。ユーザ負荷のダイナミクス及び不確定性により、十分な能力を持たないシステムはシステム性能を低下させ、それによりユーザの不満を招くおそれがある。逆に、「過大能力の」システムは、リソースを浪費し、ITコストを増加させる可能性がある。大規模な分散システムにおける1つの課題は、どのようにしてシステム内の種々のコンポーネントの能力を整合させて潜在的な性能ボトルネックを取り除き、システムレベルでの最大能力を達成するかである。システムコンポーネントの能力の不整合は、システムの1つのセグメントで性能ボトルネックをもたらし、他のセグメントではリソースを浪費をもたらす可能性がある。
分散システムの現在のリソース構造に関する情報が収集されたものとする。例えばこの情報は、システムが配置またはアップグレードされたときに記録されていてもよい。各測定値Iiについては、関連するリソース構造をCiで表すことができる。一例示実施形態では、この構成情報は、データベース接続の最大数のようなソフトウェア構成だけでなく、メモリサイズのようなハードウェア仕様も含んでいる。ユーザ負荷の量xが与えられると、アルゴリズム750を使用してIiの値を推定できる。ここで、すべての測定値Ii(1≦i≦N)が起点ノードから到達可能であるものとする。測定値が起点ノードから到達可能でない場合、それらの到達不能な測定値は能力解析から取り除かれる、すなわち
Figure 2010507146
の場合、Iiを取り除く。IiをCiと比較することによって、潜在的な性能ボトルネックに関する情報の位置を見つけ、リソースの割り当てのバランスをとることができる。
図8Aは図2のステップ230のさらなる詳細を示し、コンポーネントの能力ニーズに基づいてリソースを最適化するために行われるステップを説明するフローチャートである。上述(図7A及び図7B)のように、不変式のネットワークを使用して、所与のユーザ負荷に対するシステムのコンポーネントの能力ニーズを決定する(ステップ805)。能力計画モジュール135は、次にステップ810において、所与のユーザ負荷に対する能力がコンポーネントにおいて不足しているかどうかを判断する。コンポーネントにおいて所与のユーザ負荷に対する能力が不足している場合、ステップ815において、追加リソースをコンポーネントに割り当てて性能ボトルネックを取り除くことができる。
ステップ810において所与のユーザ負荷に対する能力がコンポーネントに不足していない場合、ステップ820において、所与のユーザ負荷に対してコンポーネントが過大な能力をもっていないかどうかが判断される。能力が過剰でない場合、コンポーネントの能力は調整されない(ステップ825)。能力が過剰な場合、ステップ830においていくつかのリソースがコンポーネントから取り除かれる。
図8Bは、本発明の例示実施形態に基づくリソース最適化アルコリズム850を示す擬似コードである。アルゴリズム850では、
Figure 2010507146
であり、ここでOiはリソース不足または利用可能なマージンの割合を表している。ユーザ負荷の量が与えられた場合、負のOiを有するコンポーネントは能力が不足しているので、より多くのリソースを割り当てて性能ボトルネックを取り除くことができる。逆に、正のOiを持つコンポーネントについては、そのコンポーネントは、上記のユーザ負荷の量をサービスするには過剰な能力を有するので、いくつかのリソースをこれらのコンポーネントから取り除いてITコストを下げることができる。アルゴリズム850において、Oiの値は、リソースの割り当て及び最適化の優先順位をリストアップするためにソートされる。
なお、最大量のユーザ負荷xが、能力ニーズを推定するために、不変式ネットワークを通して伝播されることに留意されたい。アルゴリズム750から生じるIiはすべて、この最大量のユーザ負荷をサービスする種々のコンポーネントの能力ニーズを表している。ステップ入力x(t)=xが与えられると、その安定出力y(t)=yが式(10)を用いて導き出される。しかしながら、安定値yに収束する以前の、y(t)の過渡応答は考慮されていない。図9は、基準値y 910を上回るオーバーシュート905を有するシステム応答のグラフ900を示している。図示のように、理論的には、y(t)はオーバーシュート905に応答する可能性があり、その過渡値は安定値y 910より大きいかもしれない。システムコンポーネントは、ユーザ負荷の急な変化に対してはあまり迅速に応答しないので、オーバーシュート905が発生する。例えば、3階層ウェブシステムでは、ユーザ負荷が突然増加すると、アプリケーションサーバはしばらくの時間をかけてより多くのエンタープライズジャバビーンズ(EJB;Enterprise JavaBeans)のインスタンスを初期化し、より多くのデータベース接続を生成することかもしれない。このオーバーシュートの期間中には、ユーザ要求へのより長いレイテンシ(待ち時間)が観測されるだろう。
機械システムと異なってコンピューティングシステムは、多くの場合、ユーザ負荷のダイナミクスに迅速に応答する。したがってたとえオーバーシュートが存在していても、一般にはそれは短時間しか継続しない。多くのインスタンスでは、オーバーシュート応答を観測することはできない。一例示実施形態では、システムにオーバーシュートを処理するのに十分な能力があることを確保するために、オーバーシュートの量を計算することができ、安定値yでなくこれらのオーバーシュート値を伝播して能力ニーズを推定することができる。n,m≦2である低次のARXモデルについては、古典制御理論を用いてオーバーシュートを計算することができる。高次のARXモデルについては、入力x(t)=xが与えられると、一例示実施形態では、過渡応答y(t)をシミュレートすることができ、式(1)を用いてオーバーシュートを推定することができる。アルゴリズム750の各ステップにおいて、関数f(θij)を用いて安定値Ijを推定するのではなく、シミュレーション結果を用いて過渡的Iiを推定し、さらにオーバーシュート値を伝播して他のノードの能力ニーズを推定することができる。アルゴリズム750の他のすべての部分は同じままである。
コンピュータ実装:
本明細書での記載は、本発明の例示実施形態を実施するのに必要とされる処理ステップによって本発明を説明している。これらのステップは適切にプログラミングされたコンピュータによって実行することができ、そのコンピュータの構成は当技術分野においてよく知られている。適切なコンピュータは、例えば、よく知られているコンピュータプロセッサ、メモリ装置、記憶装置、コンピュータソフトウェア、及び他のモジュールを使用して実装されてもよい。このようなコンピュータのハイレベルでのブロック図を図10に示している。コンピュータ1000は、そのコンピュータ1000の全体的動作を定義したコンピュータプログラム命令を実行することによって、そのような全体的動作を制御するプロセッサ1004を含んでいる。コンピュータプログラム命令は記憶装置1008(例えば、磁気ディスク)に格納されており、コンピュータプログラム命令の実行が所望される場合にメモリ1012にロードされることができる。コンピュータ1000は、(例えば、ローカルにまたはネットワークを介して)他の装置と通信するための1または2以上のインタフェース1016も含んでいる。コンピュータ1000は、そのコンピュータ1000とのユーザの相互作用を可能にする装置を代表するI/O(入出力装置)1020(例えば、表示装置、キーボード、マウス、スピーカ、ボタン等)も含んでいる。コンピュータ1000は、能力計画モジュールを表していてもよく、及び/または上述のアルゴリズムを実行してもよい。
当業者は、実際のコンピュータの実装は他の要素も含んでおり、図10は、例示のためにそのようなコンピュータの要素のいくつかをハイレベルに表現したものであることを認識するであろう。さらに当業者は、本明細書で説明した処理ステップも専用ハードウェアを使用して実装でき、その専用ハードウェアの回路を特にそのような処理ステップの実行用に構成できることを認識するであろう。あるいは、処理ステップはハードウェアとソフトウェアとの種々の組み合わせを使用して実装されてもよい。また、処理ステップはコンピュータで行われてもよいし、またはより大きいマシンの一部であってもよい。
以上の「発明を実施するための形態」は、あらゆる面で例示的なものであって、限定するためのものではなく、本明細書に開示された発明の範囲は、「発明を実施するための形態」から決定されるものではなく、特許法によって認められる全幅にしたがって解釈されるように請求項から決定されるものであることは理解されるべきであろう。本明細書に示し説明した例示実施形態は、本発明の原理の例示にすぎず、種々の修正が当業者によって本発明の範囲及び精神から逸脱することなく実行されてもよいことは理解されるべきであろう。当業者は、本発明の範囲及び精神から逸脱することなく種々の他の特徴の組み合わせを実行することができるであろう。
本出願は、2006年10月12日に出願された米国仮出願第60/829,186号の利益を主張し、それは参照によりここに組み込まれている。

Claims (25)

  1. 分散システムにおける少なくとも1つのコンポーネントについての能力ニーズを決定する方法であって、
    収集された複数の測定値から、前記測定値間の関係を特徴づける不変式のネットワークを決定すること、
    前記不変式のネットワークから前記少なくとも1つのコンポーネントについての能力ニーズを決定すること、
    を含む方法。
  2. 前記少なくとも1つのコンポーネントの前記能力ニーズを現在のコンポーネントの割り当てと比較することにより、前記分散システムにおけるコンポーネントの使用を最適化することをさらに含む、請求項1に記載の方法。
  3. 前記少なくとも1つのコンポーネントは、オペレーティングシステム、アプリケーションソフトウェア、中央処理装置(CPU)、メモリ、サーバ、ネットワークデバイス及び記憶装置のうちの少なくとも1つをさらに含む、請求項1に記載の方法。
  4. 前記分散システムの種々のコンポーネントから前記複数の測定値を収集することをさらに含む、請求項1に記載の方法。
  5. 前記測定値はフロー強度測定値である、請求項1に記載の方法。
  6. 前記複数の測定値から自動的に不変式を抽出することをさらに含む、請求項1に記載の方法。
  7. 前記自動的に不変式を抽出することは、前記複数の測定値の中の少なくとも2つの測定値からモデルを生成することをさらに含む、請求項6に記載の方法。
  8. 前記モデルが前記測定値にどの程度近似しているかをテストすることにより、前記モデルの適合スコアを計算することをさらに含む、請求項7に記載の方法。
  9. 前記適合スコアがしきい値未満である場合に、可能性のある不変式としての前記モデルを削除することをさらに含む、請求項8に記載の方法。
  10. 前記モデルは外部入力付自己回帰モデル(ARX)である、請求項7に記載の方法。
  11. 前記不変式のネットワークにおける各経路の信頼度スコアを計算することをさらに含む、請求項1に記載の方法。
  12. 分散システムにおける少なくとも1つのコンポーネントについての能力ニーズを決定する装置であって、
    収集された複数の測定値から、前記測定値間の関係を特徴づける不変式のネットワークを決定する手段と、
    前記不変式のネットワークから前記少なくとも1つのコンポーネントについての能力ニーズを決定する手段と、
    を有する装置。
  13. 前記少なくとも1つのコンポーネントの前記能力ニーズを現在のコンポーネントの割り当てと比較することにより、前記分散システムにおけるコンポーネントの使用を最適化する手段をさらに有する、請求項12に記載の装置。
  14. 前記少なくとも1つのコンポーネントは、オペレーティングシステム、アプリケーションソフトウェア、中央処理装置(CPU)、メモリ、サーバ、ネットワークデバイス及び記憶装置のうちの少なくとも1つをさらに含む、請求項12に記載の装置。
  15. 前記分散システムの種々のコンポーネントから前記複数の測定値を収集する手段をさらに有する、請求項12に記載の装置。
  16. 前記複数の測定値から自動的に不変式を抽出する手段をさらに有する、請求項12に記載の装置。
  17. 前記複数の測定値の中の少なくとも2つの測定値からモデルを生成する手段をさらに有する、請求項16に記載の装置。
  18. 前記モデルが前記測定値にどの程度近似しているかをテストすることにより、前記モデルの適合スコアを計算する手段をさらに有する、請求項17に記載の装置。
  19. 前記適合スコアがしきい値未満である場合に、可能性のある不変式としての前記モデルを削除する手段をさらに有する、請求項18に記載の装置。
  20. 前記不変式のネットワークにおける各経路の信頼度スコアを計算する手段をさらに有する、請求項12に記載の装置。
  21. プロセッサで実行可能なコンピュータプログラム命令を有するコンピュータ可読媒体であって、前記コンピュータプログラム命令は、
    分散システムから収集された複数の測定値から、該測定値間の関係を特徴づける不変式のネットワークを決定するステップと、
    前記不変式のネットワークから、前記分散システムの少なくとも1つのコンポーネントの能力ニーズを決定するステップと、
    を規定する、コンピュータ可読媒体。
  22. 前記少なくとも1つのコンポーネントの前記能力ニーズを現在のコンポーネントの割り当てと比較することにより、前記分散システムにおけるコンポーネントの使用を最適化するステップを規定するコンピュータプログラム命令をさらに含む、請求項21に記載のコンピュータ可読媒体。
  23. 前記少なくとも1つのコンポーネントは、オペレーティングシステム、アプリケーションソフトウェア、中央処理装置(CPU)、メモリ、サーバ、ネットワークデバイス及び記憶装置のうちの少なくとも1つをさらに含む、請求項21に記載のコンピュータ可読媒体。
  24. 前記分散システムの種々のコンポーネントから前記複数の測定値を収集するステップを規定するコンピュータプログラム命令をさらに含む、請求項21に記載のコンピュータ可読媒体。
  25. 前記複数の測定値から自動的に不変式を抽出するステップを規定するコンピュータプログラム命令をさらに含む、請求項21に記載のコンピュータ可読媒体。
JP2009532500A 2006-10-12 2007-10-01 分散システムの能力計画及びリソース最適化を行う方法と装置 Ceased JP2010507146A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US82918606P 2006-10-12 2006-10-12
US11/860,610 US20080228459A1 (en) 2006-10-12 2007-09-25 Method and Apparatus for Performing Capacity Planning and Resource Optimization in a Distributed System
PCT/US2007/080057 WO2008045709A1 (en) 2006-10-12 2007-10-01 Method and apparatus for performing capacity planning and resource optimization in a distributed system

Publications (1)

Publication Number Publication Date
JP2010507146A true JP2010507146A (ja) 2010-03-04

Family

ID=39283189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009532500A Ceased JP2010507146A (ja) 2006-10-12 2007-10-01 分散システムの能力計画及びリソース最適化を行う方法と装置

Country Status (3)

Country Link
US (1) US20080228459A1 (ja)
JP (1) JP2010507146A (ja)
WO (1) WO2008045709A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016177425A (ja) * 2015-03-19 2016-10-06 公益財団法人鉄道総合技術研究所 プログラム及び抽出装置
JP2022543994A (ja) * 2019-08-05 2022-10-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散処理システムのリソース評価方法、システム、プログラム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8098585B2 (en) * 2008-05-21 2012-01-17 Nec Laboratories America, Inc. Ranking the importance of alerts for problem determination in large systems
US8219368B1 (en) * 2009-05-18 2012-07-10 Bank Of America Corporation Capacity modeling system
US9098342B2 (en) * 2009-09-18 2015-08-04 Nec Laboratories America, Inc. Extracting overlay invariants network for capacity planning and resource optimization
US8700726B2 (en) * 2009-12-15 2014-04-15 Symantec Corporation Storage replication systems and methods
US8458334B2 (en) * 2010-02-11 2013-06-04 International Business Machines Corporation Optimized capacity planning
JP5485740B2 (ja) * 2010-02-12 2014-05-07 株式会社Nttドコモ 故障検出装置
US8434088B2 (en) * 2010-02-18 2013-04-30 International Business Machines Corporation Optimized capacity planning
US8712950B2 (en) 2010-04-29 2014-04-29 Microsoft Corporation Resource capacity monitoring and reporting
US8621080B2 (en) 2011-03-07 2013-12-31 Gravitant, Inc. Accurately predicting capacity requirements for information technology resources in physical, virtual and hybrid cloud environments
US20130179144A1 (en) * 2012-01-06 2013-07-11 Frank Lu Performance bottleneck detection in scalability testing
US9323628B2 (en) * 2012-10-09 2016-04-26 Dh2I Company Instance level server application monitoring, load balancing, and resource allocation
US11138537B2 (en) * 2014-09-17 2021-10-05 International Business Machines Corporation Data volume-based server hardware sizing using edge case analysis
US9906405B2 (en) * 2014-10-20 2018-02-27 Ca, Inc. Anomaly detection and alarming based on capacity and placement planning
US10289471B2 (en) * 2016-02-08 2019-05-14 Nec Corporation Ranking causal anomalies via temporal and dynamical analysis on vanishing correlations
US10581665B2 (en) * 2016-11-04 2020-03-03 Nec Corporation Content-aware anomaly detection and diagnosis
US10812336B2 (en) * 2017-06-19 2020-10-20 Cisco Technology, Inc. Validation of bridge domain-L3out association for communication outside a network
US10674374B2 (en) * 2018-08-08 2020-06-02 General Electric Company Portable spectrum recording and playback apparatus and associated site model
US11586422B2 (en) 2021-05-06 2023-02-21 International Business Machines Corporation Automated system capacity optimization

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408424A (en) * 1993-05-28 1995-04-18 Lo; James T. Optimal filtering by recurrent neural networks
US5715516A (en) * 1995-10-18 1998-02-03 Cellular Telecom, Ltd. Method and apparatus for wireless communication employing collector arrays
US20040095237A1 (en) * 1999-01-09 2004-05-20 Chen Kimball C. Electronic message delivery system utilizable in the monitoring and control of remote equipment and method of same
EP1069729B1 (en) * 1999-07-13 2005-09-14 International Business Machines Corporation Network capacity planning based on buffers occupancy monitoring
US7051188B1 (en) * 1999-09-28 2006-05-23 International Business Machines Corporation Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6745160B1 (en) * 1999-10-08 2004-06-01 Nec Corporation Verification of scheduling in the presence of loops using uninterpreted symbolic simulation
US6751573B1 (en) * 2000-01-10 2004-06-15 Agilent Technologies, Inc. Performance monitoring in distributed systems using synchronized clocks and distributed event logs
JP4433560B2 (ja) * 2000-04-11 2010-03-17 ソニー株式会社 端末装置、情報処理方法
US6968542B2 (en) * 2000-06-16 2005-11-22 Hewlett-Packard Development Company, L.P. Method for dynamically identifying pseudo-invariant instructions and their most common output values on frequently executing program paths
US6636585B2 (en) * 2000-06-26 2003-10-21 Bearingpoint, Inc. Metrics-related testing of an operational support system (OSS) of an incumbent provider for compliance with a regulatory scheme
US7193628B1 (en) * 2000-07-13 2007-03-20 C4Cast.Com, Inc. Significance-based display
US7580876B1 (en) * 2000-07-13 2009-08-25 C4Cast.Com, Inc. Sensitivity/elasticity-based asset evaluation and screening
US20030110206A1 (en) * 2000-11-28 2003-06-12 Serguei Osokine Flow control method for distributed broadcast-route networks
WO2002065278A2 (en) * 2001-02-12 2002-08-22 Lto Limited A presentation server which enables a client device to run a network based application
US6804492B2 (en) * 2001-04-04 2004-10-12 Hughes Electronics Corporation High volume uplink in a broadband satellite communications system
US20020178254A1 (en) * 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
SE0103853D0 (sv) * 2001-11-15 2001-11-15 Ericsson Telefon Ab L M Method and system of retransmission
AU2002315983A1 (en) * 2002-06-20 2004-01-06 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for resource allocation
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7545736B2 (en) * 2003-03-31 2009-06-09 Alcatel-Lucent Usa Inc. Restoration path calculation in mesh networks
WO2004107682A1 (ja) * 2003-05-29 2004-12-09 Fujitsu Limited ネットワーク制御プログラム、ネットワーク制御装置およびネットワーク制御方法
US7146353B2 (en) * 2003-07-22 2006-12-05 Hewlett-Packard Development Company, L.P. Resource allocation for multiple applications
US7577091B2 (en) * 2004-02-04 2009-08-18 Telefonaktiebolaget Lm Ericsson (Publ) Cluster-based network provisioning
US7957266B2 (en) * 2004-05-28 2011-06-07 Alcatel-Lucent Usa Inc. Efficient and robust routing independent of traffic pattern variability
JP4126702B2 (ja) * 2004-12-01 2008-07-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 制御装置、情報処理システム、制御方法、及びプログラム
US20060224046A1 (en) * 2005-04-01 2006-10-05 Motorola, Inc. Method and system for enhancing a user experience using a user's physiological state
FR2885475B1 (fr) * 2005-05-09 2007-07-27 Radiotelephone Sfr Procede et systeme de planification de puissance des porteuses dans un reseau cellulaire de telecommunication
US20060291477A1 (en) * 2005-06-28 2006-12-28 Marian Croak Method and apparatus for dynamically calculating the capacity of a packet network
WO2007050997A2 (en) * 2005-10-26 2007-05-03 Cellscient, Inc. Wireless interactive communication system
US7590513B2 (en) * 2006-01-30 2009-09-15 Nec Laboratories America, Inc. Automated modeling and tracking of transaction flow dynamics for fault detection in complex systems
US7412448B2 (en) * 2006-05-17 2008-08-12 International Business Machines Corporation Performance degradation root cause prediction in a distributed computing system
US20080005224A1 (en) * 2006-05-17 2008-01-03 Ferguson William H System for vending electronic guide devices
US20080071533A1 (en) * 2006-09-14 2008-03-20 Intervoice Limited Partnership Automatic generation of statistical language models for interactive voice response applications
US7873441B2 (en) * 2006-09-25 2011-01-18 Andreas Joanni Synesiou System for execution of a load operating plan for load control

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
CSNG200300638013; 鶴正人(外1名): '「インターネットの特性計測技術とその研究開発動向」' 情報処理 Vol.42, No.2, 20010215, 第192〜197頁, 社団法人情報処理学会 *
CSNG200700359007; 中台慎二(外1名): '「サービスレベル管理のための優先制御機能を有したヘテロジニアス環境適応型サーバ容量計画法」' 情報処理学会研究報告 Vol.2006, No.42(2006-DSM-41), 20060511, 第49〜54頁, 社団法人情報処理学会 *
JPN6012011617; 中台慎二(外1名): '「サービスレベル管理のための優先制御機能を有したヘテロジニアス環境適応型サーバ容量計画法」' 情報処理学会研究報告 Vol.2006, No.42(2006-DSM-41), 20060511, 第49〜54頁, 社団法人情報処理学会 *
JPN6012050663; 鶴正人(外1名): '「インターネットの特性計測技術とその研究開発動向」' 情報処理 Vol.42, No.2, 20010215, 第192〜197頁, 社団法人情報処理学会 *
JPN6012050664; Grabarnik, G., et.al.: '"COMPUTER PERFORMANCE INVARIANT AND ITS APPLICATION TO THE RESOURCE MANAGEMENT"' Proceedings of the IADIS International Conference Applied Computing 2006 , 200602, p.177-184, [online] *
JPN6012050665; Arlitt, M. F., et.al.: '"Web Server Workload Characterization: The Search for Invariants (Extended Version)"' [online] , 1996 *
JPN6012050666; Williams, A., et.al.: '"Chapter 1 WEB WORKLOAD CHARACTERIZATION: TEN YEARS LATER"' in "Web Content Delivery" , 2005, p.1-19 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016177425A (ja) * 2015-03-19 2016-10-06 公益財団法人鉄道総合技術研究所 プログラム及び抽出装置
JP2022543994A (ja) * 2019-08-05 2022-10-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散処理システムのリソース評価方法、システム、プログラム
JP7461696B2 (ja) 2019-08-05 2024-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散処理システムのリソース評価方法、システム、プログラム

Also Published As

Publication number Publication date
US20080228459A1 (en) 2008-09-18
WO2008045709A1 (en) 2008-04-17

Similar Documents

Publication Publication Date Title
JP2010507146A (ja) 分散システムの能力計画及びリソース最適化を行う方法と装置
US20200293835A1 (en) Method and apparatus for tuning adjustable parameters in computing environment
JP5313990B2 (ja) 応答時間に基づいてサービスリソース消費を推定すること
US9658936B2 (en) Optimization analysis using similar frequencies
US9767006B2 (en) Deploying trace objectives using cost analyses
Gokhale et al. A time/structure based software reliability model
EP2956858B1 (en) Periodicity optimization in an automated tracing system
US9208053B2 (en) Method and system for predicting performance of software applications on prospective hardware architecture
US9280436B2 (en) Modeling a computing entity
US9021447B2 (en) Application tracing by distributed objectives
Hu et al. Web service recommendation based on time series forecasting and collaborative filtering
US20130283102A1 (en) Deployment of Profile Models with a Monitoring Agent
US20130283246A1 (en) Cost Analysis for Selecting Trace Objectives
US8069240B1 (en) Performance tuning of IT services
US8954910B1 (en) Device mismatch contribution computation with nonlinear effects
CN106776288B (zh) 一种基于Hadoop的分布式系统的健康度量方法
CN110502431B (zh) 系统服务评测方法、装置及电子设备
Avritzer et al. The role of modeling in the performance testing of e-commerce applications
Su et al. Reliability of run-time quality-of-service evaluation using parametric model checking
JP6658507B2 (ja) 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム
US9188968B2 (en) Run-time characterization of on-demand analytical model accuracy
Willnecker et al. Optimization of deployment topologies for distributed enterprise applications
Haak et al. Autonomic benchmarking for cloud infrastructures: an economic optimization model
Jiang et al. Profiling services for resource optimization and capacity planning in distributed systems
Huang et al. An adaptive performance modeling approach to performance profiling of multi-service web applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121002

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20130226