JP2014501994A - 企業アプリケーションのシームレス・スケーリング - Google Patents

企業アプリケーションのシームレス・スケーリング Download PDF

Info

Publication number
JP2014501994A
JP2014501994A JP2013548414A JP2013548414A JP2014501994A JP 2014501994 A JP2014501994 A JP 2014501994A JP 2013548414 A JP2013548414 A JP 2013548414A JP 2013548414 A JP2013548414 A JP 2013548414A JP 2014501994 A JP2014501994 A JP 2014501994A
Authority
JP
Japan
Prior art keywords
resource
resources
cloud
performance
load
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.)
Pending
Application number
JP2013548414A
Other languages
English (en)
Inventor
リ,リ
ウー,トーマス
Original Assignee
アルカテル−ルーセント
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 アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2014501994A publication Critical patent/JP2014501994A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Abstract

さまざまな例示的実施形態は、コンピューティング・システムのリソースをスケーリングする方法であって、この方法は、システム性能のメトリックの閾値をセットするステップと、メトリックの閾値に基づいて少なくとも1つのリソースの理想的リソース負荷を判定するステップと、コンピューティング・システム・リソースの中でシステム作業負荷を分配するステップと、システム作業負荷、理想的リソース負荷、およびリソースの現在の個数に基づいてリソースの個数を調整するステップとを含むことができる。さまざまな例示的実施形態は、クラウド・リソースをスケーリングするコンピューティング・システムにも関する。このコンピューティング・システムは、内部リソースと、ロード・バランサと、性能モニタと、通信モジュールと、ジョブ・ディスパッチング・モジュールと、コントローラとを含むことができる。さまざまな例示的実施形態は、リソース性能メトリックを使用してリソース・スケーリング中に動的ボトルネックを検出する方法および履歴システム性能メトリックを使用してスケーリング閉塞点を検出する方法にも関する。

Description

本明細書で開示されるさまざまな例示的実施形態は、全般的にはネットワーク拡張に関する。
クラウド・コンピューティングは、エンティティが、インターネットなどのネットワーク上のどこかに配置されたコンピュータ・リソースを賃借し、使用することを可能にする。クラウド・リソースを、必要な時にプロバイダから賃借し、さまざまなサービスを実行するために構成することができる。データ・セキュリティを保証するために、データを、仮想プライベート・ネットワーク(VPN)を使用してクラウド・リソースに送信することができる。クラウド・プロバイダは、仮想計算機を使用して、顧客にリソース・オプションのある範囲を提供することができる。クラウド・コンピューティングは、リソースの柔軟性、アジリティ、およびスケーラビリティを可能にする。
1つの現在のクラウド・コンピューティング・モデルが、Amazonのvirtual private cloud(VPC)である。VPCは、顧客が1時間あたりの料金で必要に応じてコンピューティング・リソースを賃借することを可能にする。VPCは、仮想計算機モデルを使用して、実際のコンピュータ・リソースをelastic compute cloud(EC2)に抽象化する。顧客は、EC2を用いて仮想計算機のインスタンスを賃借することができる。顧客は、彼らからの需要の変化に従って、仮想計算機の台数を変更することができる。Amazonは、仮想計算機を監視し、獲得し、または賃借することによってEC2を管理するためのAPIを提供する。
AmazonのVPCなどのクラウド・コンピューティング・システムの利用を望む企業は、複数の懸念事項を有する。第1に、仮想計算機のセキュリティに疑問がある。VPC顧客は、クラウド・リソースの正確な構成を知らず、機密データがクラウド・リソース上で処理されることを望まない場合がある。第2に、企業は、クラウド・リソースの使用について対価を支払わなければならないので、VPC内のクラウド・リソースを獲得する前に、企業自体の内部コンピューティング・リソースを使用することを望む場合がある。企業は、クラウド・リソースのスケールおよびクラウド・リソースと内部リソースとの間の作業の割当てを効率的に制御できなければならない。最後に、追加のコンピューティング・リソースが、必ずすべての性能に関する問題を解決するとは限らない。
前述に鑑みて、賃借されるクラウド・リソースのスケールを制御するシステムおよび方法を提供することが望ましい。具体的には、内部企業リソースに関してクラウド・リソースをスケーリングするシステムを提供することが望ましい。また、システムが、過剰なコストを防ぐためにクラウド・リソースの使用を最適化できたならば、それは望ましいことであろう。
クラウド・リソースのスケールを制御するシステムおよび方法の現在の必要に鑑みて、さまざまな例示的実施形態の短い要約を提示する。次の要約では、いくつかの単純化および省略を行う場合があり、さまざまな例示的実施形態のいくつかの態様を強調し、紹介することが意図されているが、本発明の範囲を限定することは意図されていない。当業者が発明的概念を作り、利用することを可能にするのに適当な好ましい例示的実施形態の詳細な説明を、より後のセクションで続ける。
さまざまな例示的実施形態は、コンピューティング・システムのリソースをスケーリングする方法に関する。この方法は、システム性能の第1のメトリックの閾値をセットするステップと、コンピューティング・システム・リソースの中でシステム作業負荷を分配するステップと、以前の時間間隔中のシステムの性能に基づいてシステム性能の第1のメトリックを測定するステップと、測定された第1のメトリックを第1のメトリックの閾値と比較するステップと、第1のメトリックの閾値に基づいて各リソースの理想的リソース負荷を判定するステップと、システム作業負荷、各リソースの理想的リソース負荷、およびリソースの現在の個数に基づいて、リソースの個数を調整するステップとを含む。コンピューティング・システム・リソースの個数を調整するステップは、各リソースの理想的リソース負荷によってシステム作業負荷を割ることによってリソースの理想的個数を判定するステップと、リソースの理想的個数からリソースの現在の個数を引くことによってリソースの変化を判定するステップと、リソースの変化が負である場合に、少なくとも1つのリソースを解放するステップと、リソースの変化が正である場合に、少なくとも1つの追加リソースを獲得するステップとを含むことができる。この方法は、少なくとも1つのシステム・リソースが悪い領域で動作しつつあることを判定するステップと、追加のシステム・リソースを獲得するのをやめるステップと、サービス要求をシステム作業負荷から除去するステップとをも含むことができる。さまざまな例示的実施形態は、コンピューティング・システムのリソースをスケーリングする命令として機械可読記憶媒体上で符号化された上記の方法に関する。
さまざまな例示的実施形態は、クラウド・リソースをスケーリングするコンピューティング・システムに関する。このコンピューティング・システムは、コンピューティング・タスクを実行する内部リソースと、ロード・バランサと、クラウド・リソースをスケーリングするコントローラとを含むことができる。ロード・バランサは、時間間隔の間の第1の性能メトリックおよびシステム負荷を含むシステム性能メトリックを収集する性能モニタと、クラウド・リソースの量を含むクラウド・リソース情報を収集する通信モジュールと、内部リソースおよびクラウド・リソースにコンピューティング・タスクを向けるジョブ・ディスパッチング・モジュールとを含むことができる。コントローラは、第1の性能メトリックに基づいてクラウド・リソースをスケーリングし、クラウド・リソース情報をロード・バランサに提供することができる。コントローラは、予測されたシステム負荷を理想的リソース負荷によって割ることによってリソースの理想的個数を判定するスケーリング・モジュールと、クラウド・リソースを獲得することまたは解放することによって、リソースの理想的個数と等しくなるようにシステム・リソースの総数を調整するインスタンス・マネージャと含むことができる。さらに、性能モニタは、各リソースの個々のリソース負荷および性能メトリックを測定し、リソースの個々の性能メトリックを個々のリソース負荷に基づく許容可能な性能標準と比較することによって各リソースが悪い領域で動作しつつあるかどうかを判定することができる。
さまざまな例示的実施形態は、内部リソースおよびクラウド・リソースを使用するコンピューティング・システム内で性能ボトルネックを識別する方法に関する。この方法は、各リソースを検査するステップと、リソース特性およびリソース負荷に基づいてリソース性能メトリックの許容可能な値を判定するステップと、リソース性能メトリックを測定するステップと、リソース性能メトリックが許容可能な値を超える場合に、リソースが非効率的に動作しつつあると判定するステップと、少なくともリソースの所定の個数が非効率的に動作しつつある場合に、システムが性能ボトルネックに達したと判定するステップとを含むことができる。
さまざまな例示的実施形態は、クラウド・リソースを使用するコンピューティング・システム内でスケーリングの閉塞点を識別する方法に関する。この方法は、履歴システム・メトリック値を測定するステップと、履歴システム・メトリック値およびリソースの数に基づいて追加リソースを追加するためのシステム・メトリック値利得を推定するステップと、追加クラウド・リソースを追加するステップと、実際のシステム・メトリック値利得を測定するステップと、実際のシステム・メトリック値利得が推定されたシステム・メトリック値利得のセットされたパーセンテージ未満である場合に、コンピューティング・システムが性能ボトルネックに達したと判定するステップとを含むことができる。
このようにして、さまざまな例示的実施形態により、クラウド・リソースの最適化されたスケーリングのためのシステムおよび方法が使用可能となることは明白であるはずである。具体的には、性能メトリックを測定し、メトリックを閾値と比較することによって、この方法およびシステムは、クラウド・リソースをスケーリングするのにシステム・フィードバックを使用することができる。さらに、この方法およびシステムは、リソースが効率の期待されるレベル未満で動作しつつある時を判定することによって、動的ボトルネックを検出することもできる。
さまざまな例示的実施形態をよりよく理解するために、添付図面を参照する。
クラウド・リソースをスケーリングする例示的コンピューティング・システムを示す概略図である。 フィードバックに基づいてクラウド・リソースをスケーリングする例示的方法を示す図である。 クラウド・リソースの個数を調整する例示的方法を示す図である。 クラウド・リソースの理想的個数の変化を判定する例示的方法を示す図である。 リソースの例示的な応答時間を示すグラフである。 リソースの例示的な理想的負荷を示すグラフである。 リソースの例示的な動作領域を示すグラフである。
これから、同様の符号が同様のコンポーネントまたはステップを指す図面を参照して、さまざまな例示的実施形態の広義の態様を開示する。
図1に、クラウド・リソース140をスケーリングする例示的なコンピューティング・システム100の概略図を示す。システム100は、ロード・バランサ110およびコントローラ120を含むことができる。システム100を、内部リソース130およびクラウド・リソース140に接続することができる。システム100は、サービス要求を受信し、処理の要求を内部リソース130またはクラウド・リソース140のいずれかに分配することができる。サービス要求は、システム所有者によって提供されるサービスに応じて変化する可能性がある。たとえば、システム所有者は、テキスト、イメージ、オーディオ、ビデオ、およびゲーミングなどのコンテンツ、販売、計算、およびストレージなどのサービス、またはインターネット上で提供される任意の他のコンテンツもしくはサービスを提供することができる。サービス要求は、企業アプリケーションを含むこともでき、ここで、要求は、内部企業ネットワークから届く可能性がある。サービス要求を、システム作業負荷と考えることができる。システム作業負荷を、サービス要求の到着レートによって測定することができる。システム100は、サービス要求負荷を効率的に管理するためにクラウド・リソース140をスケーリングすることもできる。
ロード・バランサ110は、インターネット上のどこかにいるユーザからサービス要求を受信することができる。ロード・バランサ110は、サービス要求を内部リソース130またはクラウド・リソース140のいずれかに分配することができる。ロード・バランサ110は、完了したサービス要求を受信して、要求しているユーザにその要求を返すこともできる。サービス要求の分配は、さまざまなリソースの性能に依存するものとすることができる。ロード・バランサ110は、総合システム性能ならびに個々の内部リソース130およびクラウド・リソース140の性能を監視することができる。ロード・バランサ110は、クラウド・リソース140のスケーリングが必要であるかどうかの判定を助けるために、コントローラ120に性能データを供給することができる。ロード・バランサ110は、クラウド・リソース140に関する構成情報および性能情報をコントローラ120から受け取ることができる。ロード・バランサ110は、性能モニタ112、ジョブ・ディスパッチャ114、および通信モジュール116を含むことができる。
性能モニタ112は、サービス要求を処理する際に全体としてのシステムの性能を監視するように構成された、ハードウェアおよび/または機械可読記憶媒体上の実行可能命令を含むことができる。性能モニタ112は、システムが適当に実行しつつあるかどうかを評価するのにメトリックを使用することができる。さまざまな例示的実施形態では、性能モニタ112は、システム性能を測定するメトリックとして、ロード・バランサ110でのサービス要求の到着からロード・バランサ110での応答のリターンまでの、システム応答時間を計算することができる。たとえば、性能モニタは、システム性能のメトリックを提供するために、たとえば、第95パーセンタイル内に含まれるサービス要求の応答時間など、サービス要求応答時間のあるパーセンタイルを測定することができる。閾値をまたぐ時に性能が不適切であることを示すために、性能モニタ112をメトリックに関する閾値を用いて構成することができる。性能モニタ112は、システム性能を測定するのに適当である可能性がある他のメトリックを測定することもできる。性能モニタ112は、たとえば、内部リソース130、通信モジュール116、およびコントローラ120などの他のコンポーネントから測定値を収集することもできる。
ジョブ・ディスパッチャ114は、内部リソース130およびクラウド・リソース140の間で着信サービス要求を分配するように構成された、ハードウェアおよび/または機械可読記憶媒体上の実行可能命令を含むことができる。以下でより詳細に説明するように、内部リソース130は、プライベート・リソースを含む複数のタイプのリソースを含むことができる。同様に、クラウド・リソース140は、異なるタイプのリソースを含むことができる。ジョブ・ディスパッチャ114は、サービス要求を、その要求を処理するのに適当なタイプのリソースに分配することができる。ジョブ・ディスパッチャ114は、同一タイプのリソースの間で要求負荷を平衡化することもできる。ジョブ・ディスパッチャ114は、内部リソース130とクラウド・リソース140との間での要求の割当てを判定するのに、ポリシーを使用することができる。たとえば、コストを節約しようとするポリシーは、性能メトリックが閾値以内に留まる限り、クラウド・リソースより内部リソースを優先することができる。代替の例のポリシーは、要求を最もよく処理することができるリソースに要求を割り当てることによって、メトリックを最適化しようと努めることができる。たとえば、加重ラウンド・ロビン、最少接続、または最速応答などの負荷平衡化に関して当技術分野で既知の方法を、ポリシーによって使用して、要求負荷を平衡化することができる。
通信モジュール116は、クラウド・リソースをスケーリングするためにコントローラ120と相互作用するように構成された、ハードウェアおよび/または機械可読記憶媒体上の実行可能命令を含むことができる。通信モジュール116は、性能モニタ112からコントローラ120へ性能メトリックを供給することができる。通信モジュール116を、メトリックが閾値を超える場合にそれらのメトリックを報告するコールバック関数を用いて構成することができる。コントローラ120は、性能モニタ112での収集のためにクラウド・リソース140の性能メトリックを通信モジュール116に送ることができる。通信モジュール116は、たとえば、クラウド・リソースとして使用される計算機または仮想計算機の個数および特性などのクラウド・リソース情報をコントローラ120から受け取ることもできる。通信モジュール116は、有効な性能測定および要求分配を可能にするために、このクラウド・リソース情報を性能モニタ112およびジョブ・ディスパッチャ114に渡すことができる。さまざまな代替実施形態では、コントローラ120を、ロード・バランサ110と統合することができ、その場合には、通信モジュール116を不要とすることができる。
コントローラ120は、クラウド・リソース140を制御することができる。コントローラ120を、二進フィードバック・コントローラ、比例コントローラ(Pコントローラ)、比例積分コントローラ(PIコントローラ)、または比例積分偏差コントローラ(PIDコントローラ)とすることができる。コントローラ120は、通信モジュール116およびクラウド・リソース140から受け取った情報に基づいてクラウド・リソース140の適当なスケールを判定することができる。コントローラ120は、クラウド・リソース140に適当な要求を送信することによって、クラウド・リソースを解放しまたは獲得することができる。コントローラ120は、スケーリング・モジュール122およびインスタンス・マネージャ124を含むことができる。
スケーリング・モジュール122は、性能モニタ112によって供給される性能メトリックに基づいてクラウド・リソース140の適当な個数を判定するように構成されたハードウェアおよび/または機械可読記憶媒体上の実行可能命令を含むことができる。スケーリング・モジュール122は、クラウド・リソースの適当な個数を判定し、その個数をインスタンス・マネージャ124に渡すことができる。スケーリング・モジュール122は、利用すべきクラウド・リソースの個数を判定するのに、性能モニタ112によって供給される性能メトリックおよび他のデータを使用することができる。以下で図4および7に関して説明するように、スケーリング・モジュール122は、システムが閉塞しつつあるかどうかを判定することもできる。システム100は、システムがクラウド・リソースのスケール以外の動的ボトルネックに直面する場合に、閉塞する可能性がある。たとえば、多数の要求が、あまりに多くの帯域幅を使用し、ネットワーク制約が、クラウド・リソースに対してサービス要求をスケーリングする能力を制限する場合がある。スケーリング・モジュール122は、性能モニタ112およびクラウド・リソース140からの情報を使用して、少なくとも1つのリソースが悪い領域で動作しつつあることを性能データが示す場合に、動的ボトルネックがあると判定することができる。スケーリング・モジュール122によって使用される例示的方法を、以下で図3に関してさらに詳細に説明する。
インスタンス・マネージャ124は、スケーリング・モジュール122によって示されるスケールを実施するためにクラウド・リソース140を制御するように構成されたハードウェアおよび/または機械可読記憶媒体上の実行可能命令を含むことができる。さまざまな例示的実施形態では、クラウド・リソース140は、インスタンス・マネージャ124が追加リソースを獲得しまたは不必要なリソースを解放することを可能にするアプリケーション・プログラミング・インターフェース(API)と共に提供される。インスタンス・マネージャ124は、現在賃借されている各リソースを追跡し、賃借が終わる時を知ることができる。インスタンス・マネージャ124は、スケーリング・モジュール122によって示されるものより多くのリソースがある場合に、解放のためにリソースをマークすることができる。インスタンス・マネージャ124は、スケーリング・モジュール122によって示されたクラウド・リソースの個数を実施するために、新しい賃借を獲得すべきかどうか、およびいつ獲得すべきかを判断することができる。インスタンス・マネージャ124は、新しいリソースを獲得するのではなく、削除についてマークされたリソースを再アクティブ化することができる。インスタンス・マネージャ124は、APIを使用してクラウド・リソース140からクラウド・リソース情報を入手し、この情報をスケーリング・モジュール122および通信モジュール116に渡すこともできる。さまざまな代替実施形態では、クラウド・リソース140は、オートスケーラ(auto−scaler)および負荷マネージャを含むことができる。これらの実施形態では、インスタンス・マネージャ124は、クラウド・リソースの所望の個数を達成するために、クラウド・リソース140をオートスケーラとして構成するか、オートスケーラを有効/無効にすることができる。さまざまな代替実施形態では、システム100は、クラウド・リソースの異なるプロバイダと相互作用することができる。これらの実施形態では、異なるクラウド・リソース140を制御する複数のインスタンス・マネージャ124があるものとすることができる。
内部リソース130は、システム所有者によって所有され、運営されるコンピュータ・リソースを含むことができる。内部リソース130は、サービス要求の満足などのさまざまなコンピューティング・タスクを実行することができる。内部リソース130を、複数の層に分割することができる。たとえば、3層システムは、ユーザと通信するフロントエンド・サーバ132、ビジネス・ロジックを実施するアプリケーション・サーバ134、およびデータベース・サーバ136を含むことができる。さまざまな例示的実施形態では、1つまたは複数の層を非公開とすることができる。たとえば、データベース・サーバ136は、法によって所有者が共有してはならない機密非公開情報を含むので、非公開とすることができる。クラウド・リソースなどのデータベース・サーバをインスタンス化することが、高価で時間がかかる場合もある。ロード・バランサ110は、非公開リソースに関する要求をクラウド要求として複製することを回避することができる。ロード・バランサ110は、ある種のサービス要求が非公開リソースへのアクセスを要求する場合に、必ずその要求を内部リソース130に割り当てることができる。
クラウド・リソース140を、クラウド・リソース・プロバイダによって所有され、システム所有者に賃貸されるコンピュータ・リソースとすることができる。さまざまな例示的実施形態では、クラウド・リソースは、仮想計算機として編成される。システム所有者は、内部リソースをエミュレートするために仮想計算機を賃借することができる。たとえば、クラウド・サーバ142が、フロントエンド・サーバ132をエミュレートすることができ、クラウド・サーバ144が、アプリケーション・サーバ134をエミュレートすることができる。クラウド・リソース・プロバイダは、実際には仮想計算機を異なった形で実装することができるが、エミュレートされた内部リソースと同一の性能を保証することができる。システム100は、クラウド・リソース140を、対応する内部リソース130と同一として扱うことができる。システム100は、クラウド・リソース140が、通信遅延に起因して内部リソース130より長い応答時間を有する場合があることを認識する場合もある。クラウド・リソースは、必要に応じて賃借され得るが、仮想計算機がインスタンス化される時に、かなりのスタート・アップ時間を必要とする場合がある。クラウド・リソース・プロバイダは、1時間あたりの料金、実際の使用量、または任意の他の請求方法に基づいて、クラウド・リソースを賃貸することができる。
システム100のコンポーネントを説明したので、例示的実施形態の動作の短い説明を説明する。このプロセスは、内部リソース130がすべてのサービス要求を処理できる、比較的非ビジーの状態で始めることができる。この状態では、ロード・バランサ110は、すべての要求を内部リソース130の間で分配することができる。サービス要求のレートが増える時に、システム性能が劣化する可能性があり、性能メトリックが閾値を超えたことを、性能モニタ112が検出する場合がある。通信モジュール116は、性能メトリックが閾値を超えたことをコントローラ120に知らせ、他のシステム情報を提供することができる。スケーリング・モジュール122は、性能メトリック閾値を満足するために何個のクラウド・リソースが必要であるのかを判定することができる。インスタンス・マネージャ124は、たとえばクラウド・サーバ142などの追加リソースを獲得するために、クラウド・リソース140と通信することができる。各クラウド・リソース140が動作状態になった後に、インスタンス・マネージャ124は、リソースが使用可能であることを通信モジュールに知らせることができる。その後、ジョブ・ディスパッチャ114は、サービス要求を内部リソース130とクラウド・リソース140との両方に割り当てることができる。スケーリング・モジュール122は、何個のクラウド・リソースが必要であるのかを判定し続けることができ、インスタンス・マネージャ124は、必要に応じてリソースを追加しまたは解放することができる。スケーリング・モジュール122は、追加リソースを追加する前に、システム100が閉塞しつつあるかどうかを判定することもできる。このようにして、システム100は、所望の性能メトリックを達成するためにクラウド・リソースをスケーリングすることができる。
図2に、フィードバックに基づいてクラウド・リソース140をスケーリングする例示的方法200の流れ図を示す。方法200を、システム100のコンポーネントによって実行することができる。システム100は、クラウド・リソース140の個数を継続的に調整するために、方法200を繰り返して実行することができる。システム100は、固定された時間間隔中に方法200を実行することができる。さまざまな例示的実施形態では、時間間隔を10秒とすることができるが、任意の時間間隔を選択することができる。
方法200は、ステップ205で開始し、ステップ210に進むことができ、ステップ210では、システム100が、システム100を構成すべきかどうかを判定することができる。方法200が、初めて実行されつつある場合には、システム100は、構成を実行すると判断することができ、この方法は、ステップ215に進むことができる。システム100が既に構成されている場合には、この方法は、ステップ220に進むことができる。
ステップ215では、システム100は、さまざまな閾値をセットすることができる。たとえば、性能モニタ112は、システム応答時間の閾値をセットすることができる。このメトリックは、サービス要求の処理に関する性能目標を表すことができる。性能モニタ112を、システム性能を測定する時間間隔を用いて構成することもできる。システム100は、他の構成タスクを実行することもできる。たとえば、インスタンス・マネージャ124は、各内部リソース130をエミュレートするのに使用すべきクラウド・リソース140の中の仮想計算機を判定することができる。ジョブ・ディスパッチャ114を、サービス要求を処理するのに使用できる内部リソース130の個数を用いて初期化することができる。その後、方法200は、ステップ220に進むことができる。
ステップ220では、ジョブ・ディスパッチャ114が、内部リソース130およびクラウド・リソース140の中で着信サービス要求を分配することができる。ジョブ・ディスパッチャ114は、サービス要求を分配するポリシーを実施することができる。たとえば、ジョブ・ディスパッチャ114は、応答時間が性能閾値を超えない限り、内部リソース130を優先することができる。このポリシーは、クラウド・リソース140の使用およびコストを最小にすることができる。その後、内部リソース130およびクラウド・リソース140は、サービス要求を処理することができる。完了したサービス要求応答を、ロード・バランサ110を介して返すことができる。その後、この方法は、ステップ225に進むことができる。
ステップ225では、性能モニタ112が、たとえばシステム応答時間などのシステム性能メトリックを測定することができる。さまざまな実施形態では、個々のサービス要求応答時間の第95パーセンタイルの測定値を、システム性能の有効な測定値として使用することができる。性能モニタ112は、システム・サービス要求負荷を測定することもできる。他のパーセンタイルまたは性能メトリックを使用することもできる。その後、この方法は、ステップ230に進むことができる。
ステップ230では、性能メトリックを、ステップ215で構成された閾値と比較することができる。測定されたシステム・メトリックが閾値を超える場合には、方法200は、ステップ235に進むことができる。測定されたシステム・メトリックが閾値を超えない場合には、システム100は、リソースの調整が不要であると判定することができ、この方法は、ステップ250に進むことができ、ステップ250では、この方法が終了する。
ステップ235では、スケーリング・モジュール122が、性能閾値を満足するための各リソースの理想的なリソース負荷を判定することができる。図5および図6に関してさらに詳細に説明するように、各リソースの理想的な要求負荷は、リソース特性およびシステム負荷に依存して変化する可能性がある。同一タイプの各リソースの理想的な要求負荷を、同一とすることができる。たとえば、各フロントエンド・サーバ132は、同一の理想的な要求負荷を有することができる。同様に、フロントエンド・サーバ132をエミュレートする各クラウド・サーバ142は、同一の理想的な要求負荷を有することができる。その後、方法200は、ステップ240に進むことができる。
ステップ240では、スケーリング・モジュール122が、クラウド・リソースの正しい個数を判定することができる。コントローラ120が二進フィードバック・コントローラであるさまざまな例示的実施形態では、スケーリング・モジュール122は、測定された性能メトリックがステップ230で判定された閾値を超える場合に、単純に、追加のクラウド・リソースのセットされた個数を追加することができる。その代わりに、スケーリング・モジュール122が、システム性能をより早く向上させるために、クラウド・リソース140の個数を増やすことができる。コントローラ120がPコントローラであるさまざまな例示的実施形態では、スケーリング・モジュール122は、測定されたシステム負荷をステップ235で判定された理想的なリソース負荷によって割ることによって、クラウド・リソース140の正しい個数を判定することができる。これらの実施形態では、クラウド・リソースの変化を、性能を超えるシステム負荷の分数に比例するものとすることができる。コントローラ120がPIコントローラであるさまざまな例示的実施形態では、スケーリング・モジュール122は、理想的なリソース負荷によって割る前に、測定されたシステム負荷に整数成分を加算することによって、クラウド・リソース140の正しい個数を判定することができる。この整数成分は、セットされた時間間隔にわたるシステム負荷の変化の合計とすることができる。スケーリング・モジュール122は、コントローラ120がPIDコントローラであるさまざまな実施形態で、微分成分を使用することもできる。スケーリング・モジュール122の動作を、図3に関して以下でさらに詳細に説明する。その後、方法200は、ステップ245に進むことができる。
ステップ245では、インスタンス・マネージャ124が、ステップ240で判定されたクラウド・リソース140の個数に従ってクラウド・リソースを調整することができる。インスタンス・マネージャ124は、追加のクラウド・リソース140を追加するためにクラウド・リソース・プロバイダと通信することができる。さまざまな実施形態では、インスタンス・マネージャ124は、さらに、追加のクラウド・リソース140を追加する前に、システム100が閉塞しつつあるかどうかを判定するのに性能モニタ112を使用することができる。インスタンス・マネージャ124は、解放のためにクラウド・リソース140をマークすることもできる。インスタンス・マネージャ124の動作を、図3に関して以下でさらに詳細に説明する。インスタンス・マネージャ124がリソースの個数を調整した後に、方法200はステップ250に進むことができ、ここで、この方法は終了する。
図3に、クラウド・リソースの理想的個数の変化を判定する例示的方法300の流れ図を示す。方法300は、方法200のステップ240中のシステム100の動作を説明することができる。
方法300は、ステップ305で開始し、ステップ310に進むことができ、ステップ310では、性能モニタ112が、現在のシステム負荷を判定する。現在のシステム負荷を、前の時間間隔中のサービス要求の到着レートとして測定することができる。現在のシステム負荷は、内部リソース130とクラウド・リソース140との両方によって処理されるサービス要求を含むことができる。代替案では、内部リソース130が固定されているので、内部リソース130に関する負荷を引くことができる。性能モニタ112は、通信モジュール116を介してスケーリング・モジュール122に現在のシステム負荷を送ることができる。この方法は、その後、ステップ315に進むことができる。
ステップ315では、スケーリング・モジュール122が、積分成分に従って現在の負荷を調整する。積分成分を、前の時間間隔にわたるシステム負荷の変化の合計とすることができる。積分成分は、システム負荷の傾向を示すのを助けることができる。積分成分は、重み付け係数を含むこともできる。コントローラ120がPコントローラであるさまざまな例示的実施形態では、ステップ315をオプションとすることができる。さまざまな代替実施形態では、ステップ315は、微分成分に従って現在の負荷を調整することを含むことができる。その後、この方法はステップ320に進むことができる。
ステップ320では、スケーリング・モジュール122が、各サーバの理想的負荷を判定することができる。以下で図5および6に関して説明するように、リソースあたりの理想的負荷を、システム性能メトリック閾値以内に留まりながらリソースが処理できる最大負荷とすることができる。リソースあたりの理想的負荷を、内部リソース130とクラウド・リソース140との両方を含む、同一タイプの各リソースについて同一とすることができる。その後、この方法はステップ325に進むことができる。
ステップ325では、スケーリング・モジュール122が、リソースあたりの理想的負荷によって現在の負荷を割る。その結果は、期待される着信要求負荷を処理するのに必要なリソースの個数を示すことができる。その後、この方法はステップ330に進むことができ、ステップ330では、スケーリング・モジュール122が、クラウド・リソースの個数における必要な変化を判定することができる。スケーリング・モジュール122は、リソースの必要な個数から、内部リソース130の個数およびクラウド・リソース140の現在の個数を引くことができる。代替案では、内部リソースに対する負荷が既に引かれている場合に、スケーリング・モジュール122は、クラウド・リソースの現在の個数だけを引くことができる。スケーリング・モジュール122は、クラウド・リソースの変化をインスタンス・マネージャ124に渡すことができる。方法300は、その後、ステップ335に進むことができ、ここで、この方法は終了する。
図4に、クラウド・リソースの個数を調整する例示的方法400の流れ図を示す。方法400は、方法200のステップ245中のシステム100の動作を説明することができる。方法400は、ステップ405で開始し、ステップ410に進むことができ、ステップ410では、インスタンス・マネージャ124が、クラウド・リソースの変化が正であるかどうかを判定することができる。クラウド・リソースの変化が正である場合には、方法400は、ステップ415に進むことができる。クラウド・リソースの変化が負である場合には、方法400は、ステップ440に進むことができる。
ステップ415では、インスタンス・マネージャ124が、追加のクラウド・リソースを追加する前に、システムが閉塞しつつあるかどうかを判定するのに性能モニタ112を使用することができる。以下で図7に関してさらに詳細に説明するように、性能モニタ112は、個々のリソースのシステム性能メトリックが、システム入力を与えられて期待値を超える場合に、そのリソースが悪い領域で動作しつつあると判定することができる。この性能メトリックの格差は、リソースが非効率的に動作しつつあることを示す可能性がある。性能モニタ112が、少なくとも1つのリソースが悪い領域で動作しつつあると判定する場合には、性能モニタ112は、システムが閉塞しつつあると判定することができる。代替案では、性能モニタ112は、システムが閉塞しつつあると判定する前に、リソースのセットされたパーセンテージが悪い領域で動作しつつあることを要求することができる。さまざまな代替実施形態では、性能モニタ112は、追加リソースのスループット利得を測定することによって、システムが閉塞しつつあるかどうかを判定することができる。性能モニタ112は、測定されたスループット利得を、リソースあたりの履歴最大スループットに基づいて推定された利得と比較することができる。測定されたスループット利得が、推定されたスループット利得のセットされたパーセンテージ未満である場合には、性能モニタ112は、システムが閉塞しつつあると判定することができる。これらの代替実施形態では、性能モニタ112は、測定されたスループットがリソースあたりの履歴最大スループットに基づいて推定されたスループットに達する時に、システムがもはや閉塞してはいないと判定することができる。性能モニタ112が、システムが閉塞しつつあるのではないと判定する場合には、方法400は、ステップ420に進むことができる。性能モニタ112が、システムが閉塞しつつあると判定する場合には、方法400は、ステップ430に進むことができる。
ステップ420では、インスタンス・マネージャ124が、追加のクラウド・リソース140をアクティブ化することができる。既存のクラウド・リソース140のいずれかが解放のためにマークされている場合には、インスタンス・マネージャ124は、そのマークを解除することによって、そのクラウド・リソース140をアクティブ化することができる。解放のためにマークされたクラウド・リソース140がない場合には、インスタンス・マネージャ124は、追加のクラウド・リソース140をインスタンス化するために、クラウド・リソース・プロバイダと通信することができる。インスタンス・マネージャ124は、クラウド・リソースの変化から1を引くこともできる。その後、方法400は、ステップ425に進むことができる。
ステップ425では、インスタンス・マネージャ124は、追加のクラウド・リソースが追加されたことをロード・バランサ110に示すことができる。性能モニタ112は、新しいクラウド・リソースの監視を開始することができる。ジョブ・ディスパッチャ114は、新しいクラウド・リソースにサービス要求を分配することができる。その後、方法400は、ステップ410に戻って、追加のクラウド・リソースを追加するかどうかを判定することができる。
ステップ430では、システムが閉塞するのを防ぐために、ロード・バランサ110が、過剰なサービス要求を除去することができる。システム100は、追加のクラウド・リソース140がシステム性能メトリックを改善しない可能性があると判定したので、ロード・バランサ110は、既存リソースに対するサービス要求負荷を減らすことができる。性能モニタ112は、どのタイプの動的ボトルネックがシステム100を閉塞させつつあるのかを判定することもできる。たとえば、データベース・サーバ136などの非公開リソースの性能メトリックが閾値を超えていると性能モニタ112が判定する場合には、性能モニタ112は、非公開リソースが動的ボトルネックを引き起こしつつあると判定することができる。もう1つの例として、クラウド・リソース140の応答時間が内部リソース130の応答時間よりはるかに長いことを性能モニタ112が検出する場合には、性能モニタ112は、ネットワーク輻輳が動的ボトルネックを引き起こしつつあると判定することができる。性能モニタ112は、システム管理者に動的ボトルネックを報告することができる。その後、方法400は、ステップ450に進むことができ、ここで、この方法は終了する。
ステップ440では、インスタンス・マネージャ124が、クラウド・リソース140の変化が負であるかどうかを判定することができる。クラウド・リソース140の変化が負である場合には、方法400は、ステップ445に進むことができる。クラウド・リソース140の変化が負ではない場合には、インスタンス・マネージャ124は、何もしないものとすることができる。方法400は、ステップ450に進むことができ、ここで、この方法は終了する。
ステップ445では、インスタンス・マネージャ124が、解放のためにクラウド・リソース140をマークすることができる。インスタンス・マネージャ124は、賃借が終りに近づきつつあり、割り当てられたサービス要求を完了する可能性が高い、個々のクラウド・リソース140を選択することができる。インスタンス・マネージャ124は、賃借が満了する時に、マークされたクラウド・リソースを解放することができる。その後、方法400は、ステップ450に進むことができ、ここで、この方法は終了する。
図5に、リソースの例示的な応答時間を示すグラフ500を示す。グラフ500は、サービス要求の到着レート510が増える時に、リソースの応答時間505が増えることを示す。ある点Cap(t)515で、リソースがサービス要求の到着レートを処理することが不可能になる。到着レートがCap(t)515に近付く時に、応答時間505は、劇的に増える。グラフ500は、所与の閾応答時間Thresp525を満足するために、理想的リソース要求負荷λ 520をどのようにして予測できるのかをも示す。
図6に、リソースの例示的な理想的負荷を示すグラフ600を示す。システム到着レートΛsys605がある点を超えて増える時に、理想的リソース要求負荷λ 520が減る。この影響は、多数のサービス要求を分配するためにシステム100によって要求されるオーバーヘッドによって説明することができる。非スケーラブル非公開リソースまたはネットワーク輻輳などの動的ボトルネックは、応答時間を増やし、個々のリソースが閾応答時間内に応答することをより困難にする可能性がある。したがって、理想的リソース要求負荷λ 520が減少することにより、リソースが閾値を満足することを可能にする。
図7に、リソースの例示的な動作領域を示すグラフ700を示す。グラフ700は、たとえば、実際の個々のリソース要求負荷λ510およびシステム到着レートΛsys605など、システム入力を与えられて許容可能な応答レートを示すことができる。応答時間がグラフ700の下にある場合には、リソースが、良い領域で動作しつつある可能性があり、これは、そのリソースが効率的に動作しつつあることを示す。たとえば、リソースが、理想的リソース要求負荷λ 520で動作しつつあり、閾応答時間Thresp525と等しい応答時間を有する場合には、そのリソースは、良い領域の中央で動作しつつある可能性がある。その一方で、応答レートがグラフ700の上にあるか、実際の個々のリソース要求負荷λ510がCap(t)515より大きい場合には、そのリソースは、悪い領域で動作しつつあるか、非効率的に実行しつつある可能性がある。リソースの各タイプに、たとえば、関数またはクリティカル・ポイントのリストなどのグラフ700の表現を与えることができる。代替案では、グラフ700を、テスト・データに基づいて性能モニタ112によって判定することができる。内部リソース130をエミュレートするクラウド・リソース140に、それらがエミュレートするリソースと同一のグラフ700を割り当てることができる。動作領域を、応答時間以外のメトリックを使用して判定できることは明白である。たとえばリソース・スループットなどの他のメトリックについて、より大きいメトリック値が、望ましい場合があり、グラフは、それ相応に変化する可能性がある。
前述によれば、さまざまな例示的実施形態は、クラウド・リソースをスケーリングするシステムおよび方法を提供する。具体的には、性能メトリックを測定し、メトリックを閾値と比較することによって、この方法およびシステムは、クラウド・リソースをスケーリングするフィードバック・コントローラを実施する。さらに、システム負荷および理想的リソース負荷に基づいてクラウド・リソースを調整することによって、調整は、性能を超える負荷の分数に比例する。さらに、この方法およびシステムは、リソースが悪い領域で動作しつつある時を判定することによって、動的ボトルネックをも検出することができる。
前述の説明から、本発明のさまざまな例示的実施形態を、ハードウェアおよび/またはファームウェアで実施できることは明白である。さらに、さまざまな例示的実施形態を、機械可読記憶媒体上に格納された命令として実施することができ、この命令を、本明細書で詳細に説明した動作を実行するために少なくとも1つのプロセッサによって読み取り、実行することができる。機械可読記憶媒体は、パーソナル・コンピュータもしくはラップトップ・コンピュータ、サーバ、または他のコンピューティング・デバイスなどの機械によって可読の形で情報を格納するすべての機構を含むことができる。したがって、機械可読記憶媒体は、読取専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ・デバイス、および類似する記憶媒体を含むことができる。
当業者は、本明細書のすべてのブロック図が、本発明の原理を実施する例示的な回路網の概念図を表すことを理解するはずである。同様に、すべてのフロー・チャート、流れ図、状態遷移図、擬似コード、および類似物が、機械可読媒体内で実質的に表され、コンピュータまたはプロセッサが明示的に図示されようとされまいと、そのようなコンピュータまたはプロセッサによって実行され得るさまざまなプロセスを表すことを了解されたい。
さまざまな例示的実施形態を、そのある種の例示的態様への特定の参照を用いて詳細に説明したが、本発明が、他の実施形態が可能であり、その詳細が、さまざまな明白な面で変更が可能であることを理解されたい。当業者にたやすく理解されるように、本発明の趣旨および範囲の中に留まりながら、変形および変更を行うことができる。したがって、前述の開示、説明、および図面は、例示的であるのみであって、いかなる形でも本発明を限定せず、本発明は、特許請求の範囲のみによって定義される。

Claims (10)

  1. コンピューティング・システムのリソースをスケーリングする方法であって、
    システム性能の第1のメトリックの閾値をセットするステップと、
    前記第1のメトリックの前記閾値に基づいて少なくとも1つのリソースの少なくとも1つの理想的リソース負荷を判定するステップと、
    前記コンピューティング・システム・リソースの中でシステム作業負荷を分配するステップと、
    前記システム作業負荷、前記理想的リソース負荷、およびリソースの現在の個数に基づいて、リソースの個数を調整するステップと
    を含む方法。
  2. コンピューティング・システム・リソースの前記個数を調整する前記ステップは、
    前記理想的リソース負荷によって前記システム作業負荷を割ることによってリソースの理想的個数を判定するステップと、
    リソースの前記理想的個数からリソースの前記現在の個数を引くことによってリソースの変化を判定するステップと、
    リソースの前記変化が負である場合に、少なくとも1つのリソースを解放するステップと、
    リソースの前記変化が正である場合に、少なくとも1つの追加リソースを獲得するステップと
    を含む、請求項1に記載の方法。
  3. 少なくとも1つのリソースを解放する前記ステップは、
    解放のために少なくとも1つのリソースをマークするステップと、
    解放のためにマークされた前記リソースに作業を分配するのをやめるステップと、
    リソースの賃借が満了する時に前記リソースを解放するステップと
    を含む、請求項2に記載の方法。
  4. 少なくとも1つの追加リソースを獲得する前記ステップは、
    解放のためにマークされた少なくとも1つのリソースがあるかどうかを判定するステップと、
    解放のためにマークされた少なくとも1つのリソースがある場合に、前記少なくとも1つのリソースのマークを解除し、前記少なくとも1つのリソースに作業を分配するステップと、
    解放のためにマークされた少なくとも1つのリソースがない場合に、追加リソースを獲得するステップと
    を含む、請求項2に記載の方法。
  5. 各リソースについて、前記リソースの第1の性能メトリックを判定することと、前記リソースの実際の作業負荷を判定することと、前記性能メトリックを前記実際の作業負荷およびシステム作業負荷に基づく許容可能な性能標準と比較することとによって、少なくとも1つのシステム・リソースが悪い領域で動作しつつあることを判定するステップと、
    前記第1の性能メトリックが前記許容可能な性能標準を超える場合に、前記リソースが悪い領域で動作しつつあると判定するステップと、
    追加のシステム・リソースを獲得するのをやめるステップと、
    前記システム作業負荷からサービス要求を除去するステップと
    をさらに含む、請求項1に記載の方法。
  6. コンピューティング・システム・リソースの前記個数を調整する前記ステップは、
    前記システム作業負荷および積分成分の和を各リソースの前記理想的リソース負荷によって割ることによってリソースの理想的個数を判定するステップと、
    リソースの前記理想的個数からリソースの前記現在の個数を引くことによってリソースの変化を判定するステップであって、前記積分成分は、第2の以前の時間間隔にわたるシステム作業負荷の変化の合計である、ステップと
    を含む、請求項1に記載の方法。
  7. コンピューティング・タスクを実行する内部リソースと、
    時間間隔の間の第1の性能メトリックおよびシステム負荷を含むシステム性能メトリックを収集する性能モニタと、クラウド・リソースの量を含むクラウド・リソース情報を収集する通信モジュールと、前記内部リソースおよび前記クラウド・リソースにコンピューティング・タスクを向けるジョブ・ディスパッチング・モジュールとを含むロード・バランサと、
    前記第1の性能メトリックに基づいて前記クラウド・リソースをスケーリングし、クラウド・リソース情報を前記ロード・バランサに提供するコントローラと
    を含む、クラウド・リソースをスケーリングするコンピューティング・システム。
  8. 前記コントローラは、
    予測されたシステム負荷を理想的リソース負荷によって割ることによってリソースの理想的個数を判定するスケーリング・モジュールと、
    クラウド・リソースを獲得することまたは解放することによって、リソースの前記理想的個数と等しくなるようにシステム・リソースの総数を調整するインスタンス・マネージャと
    をさらに含む、請求項7に記載のシステム。
  9. 内部リソースおよびクラウド・リソースを使用するコンピューティング・システム内で性能ボトルネックを識別する方法であって、
    リソースごとに、
    リソース特性およびリソース負荷に基づいてリソース性能メトリックの許容可能な値を判定するステップと、
    前記リソース性能メトリックを測定するステップと、
    前記リソース性能メトリックが前記許容可能な値を超える場合に、前記リソースが非効率的に動作しつつあると判定するステップと、
    少なくとも前記リソースの所定の個数が非効率的に動作しつつある場合に、前記システムが性能ボトルネックに達したと判定するステップと
    を含む方法。
  10. クラウド・リソースを使用するコンピューティング・システム内でスケーリング閉塞点を識別する方法であって、
    履歴システム・メトリック値を測定するステップと、
    前記履歴システム・メトリック値およびリソースの数に基づいて追加リソースを追加するためのシステム・メトリック値利得を推定するステップと、
    前記追加クラウド・リソースを追加するステップと、
    実際のシステム・メトリック値利得を測定するステップと、
    前記実際のシステム・メトリック値利得が前記推定されたシステム・メトリック値利得のセットされたパーセンテージ未満である場合に、前記コンピューティング・システムが性能ボトルネックに達したと判定するステップと
    を含む方法。
JP2013548414A 2011-01-05 2011-12-19 企業アプリケーションのシームレス・スケーリング Pending JP2014501994A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/984,938 2011-01-05
US12/984,938 US20120173709A1 (en) 2011-01-05 2011-01-05 Seamless scaling of enterprise applications
PCT/US2011/065755 WO2012094138A2 (en) 2011-01-05 2011-12-19 Seamless scaling of enterprise applications

Publications (1)

Publication Number Publication Date
JP2014501994A true JP2014501994A (ja) 2014-01-23

Family

ID=45470707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013548414A Pending JP2014501994A (ja) 2011-01-05 2011-12-19 企業アプリケーションのシームレス・スケーリング

Country Status (5)

Country Link
US (1) US20120173709A1 (ja)
EP (1) EP2661690A2 (ja)
JP (1) JP2014501994A (ja)
CN (1) CN103477323A (ja)
WO (1) WO2012094138A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015153402A (ja) * 2014-02-19 2015-08-24 富士通株式会社 管理装置、業務負荷分散管理方法および業務負荷分散管理プログラム

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489647B2 (en) 2008-06-19 2016-11-08 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with self-service portal for publishing resources
US9069599B2 (en) * 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
US10411975B2 (en) 2013-03-15 2019-09-10 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with multi-tier deployment policy
AU2009259876A1 (en) 2008-06-19 2009-12-23 Servicemesh, Inc. Cloud computing gateway, cloud computing hypervisor, and methods for implementing same
US9122537B2 (en) * 2009-10-30 2015-09-01 Cisco Technology, Inc. Balancing server load according to availability of physical resources based on the detection of out-of-sequence packets
US8346935B2 (en) 2010-01-15 2013-01-01 Joyent, Inc. Managing hardware resources by sending messages amongst servers in a data center
JP5501052B2 (ja) * 2010-03-24 2014-05-21 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US8555276B2 (en) 2011-03-11 2013-10-08 Joyent, Inc. Systems and methods for transparently optimizing workloads
US8984104B2 (en) * 2011-05-31 2015-03-17 Red Hat, Inc. Self-moving operating system installation in cloud-based network
US8997107B2 (en) * 2011-06-28 2015-03-31 Microsoft Technology Licensing, Llc Elastic scaling for cloud-hosted batch applications
US20130013767A1 (en) * 2011-07-05 2013-01-10 International Business Machines Corporation System and method for managing software provided as cloud service
US9251033B2 (en) * 2011-07-07 2016-02-02 Vce Company, Llc Automatic monitoring and just-in-time resource provisioning system
WO2013052682A2 (en) * 2011-10-04 2013-04-11 Tier 3, Inc. Predictive two-dimensional autoscaling
US8805986B2 (en) * 2011-10-31 2014-08-12 Sap Ag Application scope adjustment based on resource consumption
US8874733B2 (en) 2011-12-14 2014-10-28 Microsoft Corporation Providing server performance decision support
US20130160024A1 (en) * 2011-12-20 2013-06-20 Sybase, Inc. Dynamic Load Balancing for Complex Event Processing
US8547379B2 (en) 2011-12-29 2013-10-01 Joyent, Inc. Systems, methods, and media for generating multidimensional heat maps
US8782224B2 (en) 2011-12-29 2014-07-15 Joyent, Inc. Systems and methods for time-based dynamic allocation of resource management
EP2828751B1 (en) 2012-03-21 2019-05-01 Tier 3, Inc. Cloud application scaling framework
US9379994B2 (en) 2012-03-22 2016-06-28 Tier 3, Inc. Flexible storage provisioning
CN104067258A (zh) * 2012-04-26 2014-09-24 惠普发展公司,有限责任合伙企业 平台运行时间抽象
US9535749B2 (en) * 2012-05-11 2017-01-03 Infosys Limited Methods for managing work load bursts and devices thereof
US9003406B1 (en) * 2012-06-29 2015-04-07 Emc Corporation Environment-driven application deployment in a virtual infrastructure
US9043786B1 (en) 2012-06-29 2015-05-26 Emc Corporation Blueprint-driven environment template creation in a virtual infrastructure
WO2014024251A1 (ja) * 2012-08-06 2014-02-13 富士通株式会社 クラウドサービス選択装置、クラウドサービス選択システム、クラウドサービス選択方法、およびクラウドサービス選択プログラム
US9161064B2 (en) * 2012-08-23 2015-10-13 Adobe Systems Incorporated Auto-scaling management of web content
US20150304230A1 (en) * 2012-09-27 2015-10-22 Hewlett-Packard Development Company, L.P. Dynamic management of a cloud computing infrastructure
GB2507338A (en) * 2012-10-26 2014-04-30 Ibm Determining system topology graph changes in a distributed computing system
WO2014086043A1 (en) * 2012-12-07 2014-06-12 Hewlett-Packard Development Company, L.P. Network resource management
US20140280912A1 (en) * 2013-03-13 2014-09-18 Joyent, Inc. System and method for determination and visualization of cloud processes and network relationships
US8943284B2 (en) 2013-03-14 2015-01-27 Joyent, Inc. Systems and methods for integrating compute resources in a storage area network
US8677359B1 (en) 2013-03-14 2014-03-18 Joyent, Inc. Compute-centric object stores and methods of use
US8881279B2 (en) 2013-03-14 2014-11-04 Joyent, Inc. Systems and methods for zone-based intrusion detection
US8826279B1 (en) 2013-03-14 2014-09-02 Joyent, Inc. Instruction set architecture for compute-based object stores
US9104456B2 (en) 2013-03-14 2015-08-11 Joyent, Inc. Zone management of compute-centric object stores
US8793688B1 (en) 2013-03-15 2014-07-29 Joyent, Inc. Systems and methods for double hulled virtualization operations
US9092238B2 (en) 2013-03-15 2015-07-28 Joyent, Inc. Versioning schemes for compute-centric object stores
US8775485B1 (en) 2013-03-15 2014-07-08 Joyent, Inc. Object store management operations within compute-centric object stores
US20140297833A1 (en) * 2013-03-29 2014-10-02 Alcatel Lucent Systems And Methods For Self-Adaptive Distributed Systems
GB2512616A (en) * 2013-04-03 2014-10-08 Cloudzync Ltd Resource control system
US9602426B2 (en) 2013-06-21 2017-03-21 Microsoft Technology Licensing, Llc Dynamic allocation of resources while considering resource reservations
US9542294B2 (en) 2013-07-09 2017-01-10 International Business Machines Corporation Method to apply perturbation for resource bottleneck detection and capacity planning
US9396039B1 (en) * 2013-09-20 2016-07-19 Amazon Technologies, Inc. Scalable load testing using a queue
JP6179321B2 (ja) * 2013-09-27 2017-08-16 富士通株式会社 ストレージ管理装置、制御方法及び制御プログラム
US9727332B2 (en) 2013-11-22 2017-08-08 International Business Machines Corporation Information technology resource management
CN104679591B (zh) 2013-11-28 2018-05-25 国际商业机器公司 用于在云环境中进行资源分配的方法和装置
US9329937B1 (en) * 2013-12-31 2016-05-03 Google Inc. High availability architecture
US9886310B2 (en) * 2014-02-10 2018-02-06 International Business Machines Corporation Dynamic resource allocation in MapReduce
JP6273966B2 (ja) 2014-03-27 2018-02-07 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
US9722945B2 (en) 2014-03-31 2017-08-01 Microsoft Technology Licensing, Llc Dynamically identifying target capacity when scaling cloud resources
US9842039B2 (en) 2014-03-31 2017-12-12 Microsoft Technology Licensing, Llc Predictive load scaling for services
US9979617B1 (en) * 2014-05-15 2018-05-22 Amazon Technologies, Inc. Techniques for controlling scaling behavior of resources
US9356883B1 (en) 2014-05-29 2016-05-31 Amazon Technologies, Inc. Allocating cloud-hosted application resources using end-user metrics
US9525727B2 (en) * 2014-06-10 2016-12-20 Alcatel Lucent Efficient and scalable pull-based load distribution
WO2016018438A1 (en) * 2014-07-31 2016-02-04 Hewlett Packard Development Company, L.P. Cloud resource pool
CN104298564B (zh) * 2014-10-15 2017-05-17 中国人民解放军国防科学技术大学 一种动态均衡异构计算系统负载的方法
CN104331326A (zh) * 2014-11-25 2015-02-04 华南师范大学 一种云计算调度方法和系统
JP2016103179A (ja) * 2014-11-28 2016-06-02 株式会社日立製作所 計算機リソースの割り当て方法及び計算機システム
CN105743677B (zh) * 2014-12-10 2019-05-28 中国移动通信集团公司 一种资源配置方法及装置
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US10129156B2 (en) 2015-03-31 2018-11-13 At&T Intellectual Property I, L.P. Dynamic creation and management of ephemeral coordinated feedback instances
US9524200B2 (en) 2015-03-31 2016-12-20 At&T Intellectual Property I, L.P. Consultation among feedback instances
US10277666B2 (en) 2015-03-31 2019-04-30 At&T Intellectual Property I, L.P. Escalation of feedback instances
CN106161512A (zh) * 2015-03-31 2016-11-23 西门子公司 一种用于云计算的方法和装置
US9769206B2 (en) 2015-03-31 2017-09-19 At&T Intellectual Property I, L.P. Modes of policy participation for feedback instances
US9992277B2 (en) 2015-03-31 2018-06-05 At&T Intellectual Property I, L.P. Ephemeral feedback instances
US10129157B2 (en) 2015-03-31 2018-11-13 At&T Intellectual Property I, L.P. Multiple feedback instance inter-coordination to determine optimal actions
US10410155B2 (en) * 2015-05-01 2019-09-10 Microsoft Technology Licensing, Llc Automatic demand-driven resource scaling for relational database-as-a-service
US10277736B2 (en) 2015-07-30 2019-04-30 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for determining whether to handle a request for communication services by a physical telephone number mapping service or a virtual telephone number mapping service
US9888127B2 (en) 2015-07-30 2018-02-06 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for adjusting the use of virtual resources providing communication services based on load
US9866521B2 (en) 2015-07-30 2018-01-09 At&T Intellectual Property L.L.P. Methods, systems, and computer readable storage devices for determining whether to forward requests from a physical telephone number mapping service server to a virtual telephone number mapping service server
US9851999B2 (en) 2015-07-30 2017-12-26 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for handling virtualization of a physical telephone number mapping service
US10067798B2 (en) 2015-10-27 2018-09-04 International Business Machines Corporation User interface and system supporting user decision making and readjustments in computer-executable job allocations in the cloud
CN106685683A (zh) * 2015-11-11 2017-05-17 中兴通讯股份有限公司 管理指示发送、vnf自动伸缩功能的管理方法及装置
US20170147407A1 (en) * 2015-11-24 2017-05-25 International Business Machines Corporation System and method for prediciting resource bottlenecks for an information technology system processing mixed workloads
CN105760224A (zh) * 2016-01-06 2016-07-13 杭州华三通信技术有限公司 一种资源的动态调整方法和装置
MX2018010803A (es) * 2016-03-10 2019-03-28 Velocity Tech Solutions Inc Sistemas y metodos para la administracion de recursos de computacion en la nube para sistemas de informacion.
CN106020955A (zh) * 2016-05-12 2016-10-12 深圳市傲天科技股份有限公司 一种infinite大数据工作流调度平台
US10102040B2 (en) * 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10523568B2 (en) * 2016-12-09 2019-12-31 Cisco Technology, Inc. Adaptive load balancing for application chains
US10375034B2 (en) * 2017-01-30 2019-08-06 Salesforce.Com, Inc. Secured transfer of data between datacenters
US10666714B2 (en) * 2017-04-04 2020-05-26 International Business Machines Corporation Data integration application execution management
US10873541B2 (en) * 2017-04-17 2020-12-22 Microsoft Technology Licensing, Llc Systems and methods for proactively and reactively allocating resources in cloud-based networks
CN106961490A (zh) * 2017-05-11 2017-07-18 郑州云海信息技术有限公司 一种资源监控方法及系统、一种本地服务器
US10887250B2 (en) 2017-11-21 2021-01-05 International Business Machines Corporation Reducing resource allocations and application instances in diagonal scaling in a distributed computing environment
US10721179B2 (en) 2017-11-21 2020-07-21 International Business Machines Corporation Adaptive resource allocation operations based on historical data in a distributed computing environment
US10635501B2 (en) 2017-11-21 2020-04-28 International Business Machines Corporation Adaptive scaling of workloads in a distributed computing environment
US10812407B2 (en) 2017-11-21 2020-10-20 International Business Machines Corporation Automatic diagonal scaling of workloads in a distributed computing environment
US10893000B2 (en) 2017-11-21 2021-01-12 International Business Machines Corporation Diagonal scaling of resource allocations and application instances in a distributed computing environment
US10733015B2 (en) 2017-11-21 2020-08-04 International Business Machines Corporation Prioritizing applications for diagonal scaling in a distributed computing environment
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
CN111240811A (zh) * 2018-11-28 2020-06-05 阿里巴巴集团控股有限公司 集群调度方法、装置和系统以及电子设备
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11943285B2 (en) * 2019-03-22 2024-03-26 International Business Machines Corporation Metering computing resources in cloud computing environments
CN110245019B (zh) * 2019-06-17 2021-07-06 广东金赋科技股份有限公司 一种自适应系统资源的线程并发方法及装置
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11048553B1 (en) * 2020-09-14 2021-06-29 Gunther Schadow Processing of messages and documents carrying business transactions
CN112181664B (zh) * 2020-10-15 2023-07-14 网易(杭州)网络有限公司 负载均衡方法及装置、计算机可读存储介质及电子设备
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446874A (en) * 1993-12-23 1995-08-29 International Business Machines Corp. Automated benchmarking with self customization
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
CA2417509C (en) * 2000-07-27 2013-02-19 Bea Systems, Inc. System and method for concentration and load-balancing of requests
US7660896B1 (en) * 2003-04-15 2010-02-09 Akamai Technologies, Inc. Method of load balancing edge-enabled applications in a content delivery network (CDN)
US7756972B2 (en) * 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
US8849971B2 (en) * 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CSND200800729007; 加藤 孝宏,外1名: 'アーキテクチャきほんのき [第2回] パフォーマンスを向上させる 類似の事例参考に性能指標を見積もっ' 日経SYSTEMS 第187号,2008年11月号, 20081026, pp.90-95, 日経BP社 *
CSNG201000479020; 森川 泰揮,外6名: 'クラウドを考慮したWebサーバ負荷に応じた動的リソース割当て機構の提案' 電子情報通信学会技術研究報告 第109巻 第438号, 20100222, pp.113-118, 社団法人電子情報通信学会 *
JPN6014035481; 森川 泰揮,外6名: 'クラウドを考慮したWebサーバ負荷に応じた動的リソース割当て機構の提案' 電子情報通信学会技術研究報告 第109巻 第438号, 20100222, pp.113-118, 社団法人電子情報通信学会 *
JPN6014035482; 加藤 孝宏,外1名: 'アーキテクチャきほんのき [第2回] パフォーマンスを向上させる 類似の事例参考に性能指標を見積もっ' 日経SYSTEMS 第187号,2008年11月号, 20081026, pp.90-95, 日経BP社 *
JPN6015018062; 木村 英一,外1名: '可用性の確保と負荷分散がカギ Java-DBアプリの安定稼動に最適なシステム構成の設計' DB Magazine 第19巻 第8号, 20091201, pp.021-025, 株式会社翔泳社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015153402A (ja) * 2014-02-19 2015-08-24 富士通株式会社 管理装置、業務負荷分散管理方法および業務負荷分散管理プログラム

Also Published As

Publication number Publication date
CN103477323A (zh) 2013-12-25
US20120173709A1 (en) 2012-07-05
EP2661690A2 (en) 2013-11-13
WO2012094138A3 (en) 2012-11-22
WO2012094138A2 (en) 2012-07-12

Similar Documents

Publication Publication Date Title
JP2014501994A (ja) 企業アプリケーションのシームレス・スケーリング
US8046767B2 (en) Systems and methods for providing capacity management of resource pools for servicing workloads
KR101977726B1 (ko) 가상 데스크탑 서비스 방법 및 장치
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
KR101421848B1 (ko) 엔터프라이즈 네트워크에서 할당된 클라우드 자원의 동적 로드 밸런싱 및 스케일링
US9344380B2 (en) Performance interference model for managing consolidated workloads in QoS-aware clouds
TWI308269B (en) Methods and apparatus for managing computing deployment in presence of variable workload
US8745216B2 (en) Systems and methods for monitoring and controlling a service level agreement
US10684878B1 (en) Virtual machine management
US20160156567A1 (en) Allocation method of a computer resource and computer system
US10069757B1 (en) Reserved network device capacity
KR20170139872A (ko) 멀티 테넌트 기반의 서비스 제공 시스템 및 방법
Kranas et al. Elaas: An innovative elasticity as a service framework for dynamic management across the cloud stack layers
US9342129B2 (en) Computing energy rating for cloud-based software services utilizing configuration parameters
Issawi et al. An efficient adaptive load balancing algorithm for cloud computing under bursty workloads
US8826287B1 (en) System for adjusting computer resources allocated for executing an application using a control plug-in
KR20130114697A (ko) 기업 애플리케이션의 끊김없는 스케일링
Ben Jemaa et al. Analytical models for QoS-driven VNF placement and provisioning in wireless carrier cloud
Gadhavi et al. Efficient resource provisioning through workload prediction in the cloud system
KR101394365B1 (ko) 가상화 환경에서 프로세서를 할당하는 장치 및 방법
Sahai et al. Specifying and guaranteeing quality of service for web services through real time measurement and adaptive control
KR101743028B1 (ko) 가상화 환경에서 네트워크 성능 차등화를 위한 동적 자원 할당 장치 및 방법
Mury et al. Task distribution models in grids: towards a profile‐based approach
KR101584005B1 (ko) 클라우드 컴퓨팅 환경에서 서비스 제공자의 총 경비에 대한 기대값을 고려한 동적 가상 머신 프로비져닝 방법
Bendler et al. Cost-aware on-demand resource provisioning in clouds

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150811

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160303