JP2023548517A - 階層型コンピューティングインフラストラクチャーの為の予測オートスケーラ - Google Patents
階層型コンピューティングインフラストラクチャーの為の予測オートスケーラ Download PDFInfo
- Publication number
- JP2023548517A JP2023548517A JP2023526686A JP2023526686A JP2023548517A JP 2023548517 A JP2023548517 A JP 2023548517A JP 2023526686 A JP2023526686 A JP 2023526686A JP 2023526686 A JP2023526686 A JP 2023526686A JP 2023548517 A JP2023548517 A JP 2023548517A
- Authority
- JP
- Japan
- Prior art keywords
- scaling
- level
- cloud
- computing platform
- resource
- 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
Links
- 238000003860 storage Methods 0.000 claims description 64
- 238000000034 method Methods 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 10
- 230000006399 behavior Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 abstract description 32
- 238000013473 artificial intelligence Methods 0.000 description 54
- 238000004891 communication Methods 0.000 description 35
- 238000012545 processing Methods 0.000 description 31
- 230000002085 persistent effect Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 238000013341 scale-up Methods 0.000 description 14
- 238000013519 translation Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000002567 autonomic effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
クラウド構成、例えば、パブリッククラウド及びプライベートクラウドを包含する該クラウド構成、は、最上位レベル及び任意の数の下位レベルで階層的に編成される。親レベルのクラウドは、夫々の1以上の子レベルのクラウドからリソースワークロードメトリックを受け取り、該メトリックに部分的に基づいて、該子レベルでの将来のリソースニーズについて予測を行う。該親レベルは、ランタイムに変更可能なビジネスルール及びスケーリングプランを該予測に基づいて設定する。該親レベルのクラウドは、該スケーリングプランを夫々の1以上の子レベルに送信する。該親レベルは、該ビジネスルール内に書かれた条件が満たされた場合、子レベルでスケーリングプランを自動的にトリガーする。リソースは、最適なリソース使用率を維持する為に、必要に応じて自動的にスケールアップ又はスケールダウンされる。【選択図】図4
Description
本発明は、一般的に適応型オートノミックコンピューティング(adaptive autonomic computing)の分野に関し、より特には、プライベート若しくはパブリック又はそれらの組み合わせのコンピュータネットワーキングプラットフォームを備えている階層型ハイブリッドコンピューティングインフラストラクチャのデプロイメント(deployment)に関するリソース管理に関する。
ハイブリッドコンピューティング環境において、企業は、相互に連携して動作するパブリックコンピューティングリソースとプライベートコンピューティングリソースとを使用しうる。例えば、企業は、パブリッククラウドインフラストラクチャにおいて或るアプリケーションを実行しながら、クライアントの機密データを社内に保存しうる。該パブリッククラウドインフラストラクチャは、ストレージ及び処理リソースに関する柔軟性を提供し、ワークロードの変動に応じてリソースの割り当てを自動的にスケールアップ又はスケールダウンすることができる。
本発明の観点に従うと、下記の動作(必ずしも下記の順序においてでない)、すなわち、(i)マルチレベルコンピューティングプラットフォームの第1のリソースに関し、第1のワークロードメトリックを受信すること;(ii)該第1のリソースに関し、スケーリング動作を、該第1のワークロードメトリックと所定の基準との組み合わせに基づいて予測すること;(iii)該第1のリソースに関し、予測メトリックをランタイムに変更可能なルールセット(runtime-modifiable rule set)内に該スケーリング動作に基づいて挿入すること;(iv)該第1のリソースに関し、スケーリングプランを該スケーリング動作と該ランタイムに変更可能なルールセットとの組み合わせに基づいて作成すること;(v)該スケーリングプランを、該第1のリソースに関連付けられた該マルチレベルコンピューティングプラットフォームのレベルに送信すること;並びに、(vi)該スケーリングプランの実行を該ランタイムに変更可能なルールセットに基づいてトリガーすることを実行するところの、マルチレベルコンピューティングプラットフォームにおけるオートリソーススケーリングの為の方法、コンピュータプログラム製品若しくはシステム又はそれらの組み合わせが提供される。
本発明の幾つかの実施態様において、クラウド構成、例えば、パブリッククラウド及びプライベートクラウドを包含する該クラウド構成、は、最上位レベル及び任意の数の下位レベルで階層的に編成される。親レベルのクラウドは、夫々の1以上の子レベルのクラウドからリソースワークロードメトリックを受け取り、該子レベルで将来のリソースニーズについて予測を行い、そして、ランタイムに変更可能なビジネスルール及びスケーリングプランを該予測に基づいて設定する。該親レベルのクラウドは、該スケーリングプランを夫々の1以上の子レベルに送信する。該親レベルは、該ビジネスルール内に書かれた条件が満たされた場合、子レベルでスケーリングプランを自動的にトリガーする。リソースは、最適なリソース使用率を維持する為に、必要に応じて自動的にスケールアップ又はスケールダウンされる。
本発明の詳細な説明は、I.ハードウェア及びソフトウェアの環境、II.例示的な実施態様、III.更なるコメント若しくは実施態様又はそれらの組み合わせ、並びにIV.定義に分かれている。
I.ハードウェア及びソフトウェアの環境
本発明は、統合の在りうる任意の技術的詳細レベルでの、システム、方法若しくはコンピュータプログラム製品又はそれらの組み合わせでありうる。該コンピュータプログラム製品は、プロセッサに本発明の観点を実行させる為のコンピュータ可読プログラム命令を有する1以上のコンピュータ可読ストレージ媒体を包含しうる。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用する為の命令を保持且つ記憶することができる有形のデバイスであることができる。該コンピュータ可読ストレージ媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又はこれらの任意の適切な組み合わせでありうるが、これらに限定されない。該コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、下記を包含する:ポータブルのコンピュータディスケット(登録商標)、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、消去可能なプログラム可能な読み取り専用メモリ(EPROM(erasable programmable read-only memory)又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブル・コンパクトディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリスティック、フロッピーディスク、機械的に符号化されたデバイス、例えば、パンチカード若しくは命令が記録されている溝内の隆起構造又はこれらの任意の適切な組み合わせ。本明細書において使用される場合、該コンピュータ可読ストレージ媒体は、一時的な信号それ自体、例えば、電波又は他の自由に伝播する電磁波、導波管若しくは他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して送信される電気信号、であると解釈されるべきでない。
本明細書において記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から夫々のコンピューティングデバイス/処理デバイスに、又はネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク若しくはワイヤレスネットワーク又はそれらの組み合わせ、を介して外部コンピュータ又は外部記憶デバイスにダウンロードされることができる。該ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ若しくはエッジサーバ又はこれらの組み合わせで構成されうる。各コンピューティングデバイス/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そして、該コンピュータ可読プログラム命令を、夫々のコンピューティングデバイス/処理デバイス内にコンピュータ可読ストレージ媒体中に記憶する為に伝送する。
本発明の動作を実行する為のコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の為の構成データ、又は、1以上のプログラミング言語、例えばオブジェクト指向プログラミング言語、例えば、Smalltalk、C++等、慣用的な手続き型プログラミング言語(例えば、「C」プログラミング言語又は同様のプログラミング言語)、の任意の組み合わせで書かれているソースコード又はオブジェクトコードのいずれか、でありうる。該コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に、ユーザのコンピュータ上で部分的に且つリモート・コンピュータ上で部分的に、又はリモート・コンピュータ若しくはサーバ上で全体的に、実行されうる。後者のシナリオにおいて、該リモート・コンピュータは、任意の種類のネットワーク、例えば、ローカルエリアネットワーク(LAN:local area network)若しくはワイドエリアネットワーク(WAN:wide area network)、を介してユーザのコンピュータに接続されうるか、又は該接続は(例えば、インターネットサービスプロバイダを使用したインターネットを通じて)外部コンピュータに対して行われうる。幾つかの実施態様において、電子回路、例えば、プログラム可能な論理回路、フィールドプログラム可能なゲートアレイ(FPGA:field-programmable gate arrays)又はプログラム可能なロジックアレイ(PLA:programmable logic arrays)、は、本発明の観点を実行する為に、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行しうる。
本発明の観点は、本発明の実施態様に従う、方法、装置(システム)及びコンピュータプログラム製品若しくはコンピュータプログラムのフローチャート図若しくはブロック図又はそれらの組み合わせを参照して本明細書において記載されている。該フローチャート図若しくは該ブロック図又はそれらの組み合わせの各ブロック、並びに該フローチャート図若しくは該ブロック図又はそれらの組み合わせにおける複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されることができることが理解されるであろう。
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供され、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート図若しくはブロック図又はこれらの組み合わせの1以上のブロックに指定された機能/行為を実装する手段を作成するように、マシンを作成することができる。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラム可能なデータ処理装置若しくは他の装置又はこれらの組み合わせに特定の方法で機能するように指示できるコンピュータ可読ストレージ媒体に格納することもでき、その中に格納された命令を有するコンピュータ可読ストレージ媒体は、フローチャート図若しくはブロック図又はそれらの組み合わせの1以上の指定された機能/動作の観点を実装する命令を含む製造物品を備えている。
該コンピュータ可読プログラム命令はまた、コンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上で実行される命令が、該フローチャート図若しくはブロック図若しくはそれらの組み合わせの1以上のブロックにおいて特定される機能/動作を実装するように、上記のコンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上にロードされて、コンピュータ、他のプログラム可能な装置又は他のデバイス上で一連の上記の工程を実行させて、コンピュータに実装されたプロセスを生成しうる。
図面中のフローチャート図及びブロック図は、本発明の様々な実施態様に従う、システム、方法及びコンピュータプログラム製品若しくはコンピュータプログラムの在りうる実装の、アーキテクチャ、機能及び動作を示す。これに関連して、該フローチャート図又はブロック図における各ブロックは、命令のモジュール、セグメント、又はその一部を表し得、それは、特定された1以上の論理機能を実装する為の1以上の実行可能命令を含む。幾つかの代替の実装において、該ブロックにおいて示されている機能は、図面中に示されている順序とは異なって生じうる。例えば、連続して示されている2つのブロックは、実際には、関与する機能に依存して、同時に、実質的に同時に、部分的又は全体的に時間的に重複する様式で実行される1つの工程として達成されうるか、又は該ブロックは、逆の順序で実行されうる。該ブロック図若しくはフローチャート図又はこれらの組み合わせの各ブロック、並びに該ブロック図若しくはフローチャート図又はこれらの組み合わせの複数のブロックの組み合わせは、特定された機能又は動作を実行する特別な目的のハードウェアベースのシステムによって実装することができ、又は特別な目的のハードウェアとコンピュータ命令との組み合わせを実行することができることに留意されたい。
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に列挙される教示の実装はクラウドコンピューティング環境に限定されないことが理解されるべきである。寧ろ、本発明の実施態様は、現在知られている又は後に開発される任意の他の種類のコンピューティング環境と組み合わされて実装されることができる。
クラウドコンピューティングは、最小限の管理労力又はサービスのプロバイダとの相互作用で迅速にプロビジョニングされ且つ解放されることができる構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理(processing)、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの便利なオンデマンドネットワークアクセスを可能にする為のサービス提供のモデルである。このクラウドモデルは、少なくとも5つの特徴、少なくとも3つのサービスモデル、及び少なくとも4つのデプロイメントモデル(deployment model)を含みうる。
特徴は下記の通りである。
オンデマンドセルフサービス(On-demand self-service):クラウドコンシューマ(cloud consumer)は、サービスのプロバイダとのヒューマンインターラクション(human interaction)を必要とせずに、自動的に必要に応じて、コンピューティング機能、例えばサーバ時間及びネットワークストレージ、を一方的にプロビジョニングすることができる。
ブロードネットワークアクセス:機能は、ネットワークを介して利用可能であり、及び異種のシン(thin)クライアント・プラットフォーム又はシック(thick)クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
リソースのプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数のコンシューマにサービスを提供する為にプールされ、及び様々な物理リソースと仮想リソースが需要に従って動的に割り当てられ及び再割り当てされる。コンシューマは一般的に、提供されたリソースの正確な場所についての制御又は知識を有していないが、より高いレベルの抽象化での場所(例えば、国、州又はデータセンター)を特定できうるという点で、場所に依存しないといえる。
迅速な順応性:機能は、迅速且つ弾力的にプロビジョニングされ、場合によっては自動的に、迅速にスケールアウトされ、迅速にリリースされて迅速にスケールインされうる。コンシューマにとって、プロビジョニングに利用可能な機能はしばしば、無制限であり及びいつでも任意の量で購入されることができる。
測定されたサービス:クラウド・システムは、サービスの種類(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザアカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御し及び最適化する。リソース使用は監視され、制御され、及び報告されることができ、利用されるサービスのプロバイダ及びコンシューマの両方についての透明性を提供することができる。
サービスモデルは下記の通りである。
サービスとしてのソフトウェア(SaaS:Software as a Service):クラウドインフラストラクチャにおいて実行しているプロバイダのアプリケーションを使用する為に、コンシューマに提供される機能である。該アプリケーションは、シン・クライアント・インタフェース、例えばウェブブラウザ(例えば、ウェブベースの電子メール)、を通じて、様々なクライアント・装置からアクセス可能である。該コンシューマは、制限されたユーザ固有のアプリケーション構成設定の在りうる例外として、基礎をなすクラウドインフラストラクチャ、例えば、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又は個々のアプリケーション機能さえも包含する基礎をなすクラウドインフラストラクチャ、を管理又は制御しない。
サービスとしてのプラットフォーム(PaaS:Platform as a Service):プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウドインフラストラクチャ上にデプロイする為に、該コンシューマに提供される機能である。該コンシューマは、基礎をなすクラウドインフラストラクチャ、例えば、ネットワーク、サーバ、オペレーティングシステム、又はストレージを包含する基礎をなすクラウドインフラストラクチャ、を管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
サービスとしてのインフラストラクチャ(IaaS:Infrastructure as a Service):コンシューマが、オペレーティングシステム及びアプリケーションを含むことができる任意のソフトウェアをデプロイ及び実行することができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティングリソースをプロビジョニングする為に、該コンシューマに提供される機能である。該コンシューマは、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、デプロイされたアプリケーションに対する制御、並びに、場合によっては、ネットワーク・コンポーネント(例えば、ホストのファイアウォール)を選択することの制限された制御を有する。
デプロイメントモデル(Deployment Models)は下記の通りである。
プライベートクラウド:クラウドインフラストラクチャは、ある組織の為のみに運営される。該クラウドインフラストラクチャは、該組織又は第三者によって管理され得、及びオンプレミス(on-premises)又はオフプレミス(off-premises)に存在しうる。
コミュニティクラウド:クラウドインフラストラクチャは、幾つかの組織によって共有され、及び共通の関心事項(例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス考慮事項)を有する特定のコミュニティをサポートする。該クラウドインフラストラクチャは、該組織又は第三者によって管理され得、及びオンプレミス又はオフプレミスに存在しうる。
パブリッククラウド:クラウドインフラストラクチャは、一般公衆又は大規模な業界グループに対して利用可能であり、及びクラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:クラウドインフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術(例えば、クラウド間の負荷分散の為のクラウド・バースティング)によって一緒にされる2以上のクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
クラウドコンピューティング環境は、無国籍性(statelessness)、低結合性、モジュール性、及びセマンティック相互運用性(semantic interoperability)に焦点を有する指向されたサービスである。クラウドコンピューティングの中核(heart)は、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図1を参照すると、例示的なクラウドコンピューティング環境50が図示されている。図示されているように、クラウドコンピューティング環境50は、クラウドコンシューマ、例えば、パーソナルデジタルアシスタント(PDA:personal digital assistant)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C若しくは自動車コンピュータシステム54N等又はそれらの組み合わせ、によって用いられるローカルコンピューティングデバイスが通信しうる1以上のクラウドコンピューティングノード10を備えている。ノード10は、互いに通信しうる。それらは、1以上のネットワーク、例えば、本明細書において記載されている、プライベートクラウド、コミュニティクラウド、パブリッククラウド、若しくはハイブリッドクラウド、又はそれらの組み合わせ、において物理的又は仮想的にグループ化されていてもよい(図示せず)。これにより、クラウドコンピューティング環境50は、クラウドコンシューマがローカルコンピューティングデバイス上のリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム若しくはソフトウェア又はそれらの組み合わせを提供することができる。図示されているコンピューティングデバイス54A~54Nの種類は、例示のみを意図されていること、並びにコンピューティングノード10及びクラウドコンピューティング環境50は、任意の種類のネットワーク若しくはネットワークアドレス可能接続又はそれらの組み合わせを介して(例えば、ウェブブラウザを使用して)任意の種類のコンピュータ化されたデバイスと通信することが理解される。
ここで図2を参照すると、クラウドコンピューティング環境50(図1)によって提供される機能的抽象化層の1組が示されている。図2に示されているコンポーネント、層及び機能は、単に例示であることが意図されていること、並びに本発明の実施態様はそれらに限定されないことが理解されるべきである。図示されている通り、下記の複数の層及び対応する複数の機能が提供される。
ハードウェア及びソフトウェア層60は、ハードウェアコンポーネント及びソフトウェアコンポーネントを包含する。ハードウェアコンポーネントの例は、メインフレーム61、RISC(Reduced Instruction Set Computer(縮小命令セット・コンピュータ))アーキテクチャ・ベースのサーバ62;サーバ63;ブレード・サーバ64;記憶デバイス65;並びに、ネットワーク及びネットワーキングコンポーネント66を包含する。幾つかの実施態様において、ソフトウェアコンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67及びデータベース・ソフトウェア68を包含する。
仮想化層70は、抽象化層を提供し、この抽象化層から、仮想エンティティの下記の例が提供されうる:すなわち、仮想サーバ71;仮想ストレージ72;仮想ネットワーク73;例えば仮想プライベートネットワークを包含する該仮想ネットワーク73;仮想アプリケーション及びオペレーティングシステム74;並びに、仮想クライアント75。
1つの例において、管理層80は、以下で説明される複数の機能を提供しうる。リソース・プロビジョニング81は、クラウドコンピューティング環境内でタスクを実行する為に利用されるコンピューティングリソース及び他のリソースの動的な調達を提供する。計量及び価格決定82は、リソースがクラウドコンピューティング環境内で利用される場合のコスト追跡と、これらのリソースの消費についての課金又は請求とを提供する。1つの例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを包含しうる。セキュリティは、クラウドコンシューマ及びタスクに対する識別検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル83は、コンシューマ及びシステム管理者の為に、クラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されるサービスレベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント(SLA:Service Level Agreement)のプラン及び履行85は、将来の要件がSLAに従って予測されるクラウド・コンピューティング・リソースの為の事前配置及びその調達を提供する。予測オートスケーラ86は、ハイブリッド階層型クラウドコンピューティングプラットフォームの様々なレベルでリソース使用状況を自動的に追跡し、そして、動的に変化するワークロード条件に応答して該リソースのスケーリング(スケールアップ又はスケールダウン)を生じさせる。
ワークロード層90は、該クラウドコンピューティング環境が利用されうる複数の機能の例を提供する。この層から提供されうる複数のワークロード及び複数の機能の例は、マッピング及びナビゲーション91;ソフトウェア開発及びライフサイクル管理92;仮想教室教育の提供93;データ分析処理94;並びに、トランザクション処理95を包含する。
本発明に従う、ソフトウェア若しくは方法又はそれらの組み合わせの為の在りうるハードウェア及びソフトウェア環境の1つの実施態様がここで、添付の図面を参照して詳細に説明されるであろう。図3は、ネットワーク化されたコンピュータシステム100の様々な部分を示す機能ブロック図であり、クラウド管理サブシステム102;ハイブリッドクラウド104;プライベートクラウド106;パブリッククラウド108;通信ネットワーク114;オートスケーリングサーバ200;通信ユニット202;プロセッサセット204;入出力(I/O:input/output)インタフェースセット206;メモリ208;永続的ストレージ210;ディスプレイ212;外部デバイス214;ランダムアクセスメモリ(RAM)230;キャッシュ232;及びオートスケーラプログラム300を備えている。
クラウド管理サブシステム102は、多くの点で、本発明における様々な1以上のコンピュータサブシステムを代表するものである。従って、クラウド管理サブシステム102の幾つかの部分がここで、以下の段落において説明されるであろう。
クラウド管理サブシステム102は、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、パーソナルコンピュータ(PC:personal computer)、デスクトップコンピュータ、パーソナルデジタルアシスタント(PDA:personal digital assistant)、スマートフォン、又は通信ネットワーク114を介してクライアントサブシステムと通信することができる任意のプログラム可能な電子デバイスでありうる。オートスケーラプログラム300は、本発明の詳細な説明の例示的な実施態様の部分項目で、以下において詳細に議論されるであろう或るソフトウェア機能を作成、管理及び制御する為に使用される機械可読命令若しくはデータ並びにそれらの組み合わせの集合体である。
クラウド管理サブシステム102は、通信ネットワーク114を介して他のコンピュータサブシステムと通信することが可能である。通信ネットワーク114は、例えば、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、例えばインターネット、又はその組み合わせであることができ、有線、無線、又は光ファイバ接続を備えていることができる。一般的に、通信ネットワーク114は、サーバとクライアントサブシステムとの間の通信をサポートするであろう接続及びプロトコルの任意の組み合わせであることができる。
クラウド管理サブシステム102は、多くの両矢印を有するブロック図として示されている。これらの両矢印(個別の参照数字はない)は、クラウド管理サブシステム102の様々なコンポーネント間の通信を提供する通信ファブリックを表す。この通信ファブリックは、プロセッサ(例えば、マイクロプロセッサ、通信及びネットワークプロセッサ等)、システムメモリ、周辺装置、及びシステム内の他の任意のハードウェアコンポーネント間でデータ若しくは制御情報又はそれらの組み合わせを渡す為に設計された任意のアーキテクチャで実装されることができる。例えば、該通信ファブリックは、少なくとも部分的に、1以上のバスで実装されることができる。
メモリ208及び永続的ストレージ210は、コンピュータ可読ストレージ媒体である。一般的に、メモリ208は、任意の適切な揮発性又は不揮発性のコンピュータ可読ストレージ媒体を包含することができる。現在若しくは近い将来又はそれらの組み合わせにおいて、(i)外部デバイス214は、クラウド管理サブシステム102の為に、一部又は全てのメモリを供給することができる場合があり、若しくは(ii)クラウド管理サブシステム102の外部のデバイスは、クラウド管理サブシステム102の為にメモリを供給することができる場合があることに更に留意されたい。
オートスケーラプログラム300は、通常、メモリ208のうちの1以上のメモリを介して、夫々のコンピュータプロセッサセット204の1以上によってアクセス若しくは実行又はアクセス且つ実行の為に、永続的ストレージ210内に記憶される。永続的ストレージ210は:(i)送信中の信号よりも少なくとも永続的であり、(ii)プログラム(そのソフトロジック若しくはデータ又はそれらの組み合わせを含む)を、有形媒体(例えば、磁気又は光学ドメイン)上に格納し、及び(iii)永続的ストレージよりも実質的に永続的でない。代替的には、データストレージは、永続的ストレージ210によって提供されるストレージの種類よりもより永続的若しくは永久的又はそれらの組み合わせであってもよい。
オートスケーラプログラム300は、機械可読命令若しくは実体データ(すなわち、データベース中に記憶されるデータの種類)又はそれらの組み合わせと、実行可能な命令若しくは実体データ又はそれらの組み合わせとの両方を包含しうる。この特定の実施態様において、永続的ストレージ210は、磁気ハードディスクドライブを包含する。幾つかの可能な変形例を挙げると、永続的ストレージ210は、ソリッドステートハードドライブ、半導体ストレージデバイス、読み取り専用メモリ(ROM:read-only memory)、消去可能なプログラム可能な読み取り専用メモリ(EPROM:erasable programmable read-only memory)、フラッシュメモリ、又はプログラム命令若しくはデジタル情報を記憶することができる任意の他のコンピュータ可読ストレージ媒体を包含しうる。
永続的ストレージ210によって使用される媒体はまた、リムーバブルであってもよい。例えば、リムーバブルなハードディスクが永続的ストレージ210の為に使用されてもよい。他の例とは、永続的ストレージ210の一部でもある別のコンピュータ可読ストレージ媒体上に転送する為にドライブ内に挿入される、光ディスク及び磁気ディスク、サムドライブ並びにスマートカードを包含する。
これらの例において、通信ユニット202は、クラウド管理サブシステム102の外部の他のデータ処理システム又はデバイスとの通信を提供する。これらの実施例において、通信ユニット202は、1以上のネットワークインタフェースカードを備えている。通信ユニット202は、物理的通信リンク及び無線通信リンクのいずれか又は両方の使用を通じて通信を提供してもよい。本明細書において説明されている任意のソフトウェアモジュールは、通信ユニット(例えば、通信ユニット202)を通じて、永続ストレージデバイス(例えば、永続的ストレージ210)にダウンロードされてもよい。
I/Oインタフェースセット206は、オートスケーリングサーバ200とのデータ通信において、ローカルに接続されうるところの他の装置とのデータの入出力を可能にする。例えば、I/Oインタフェースセット206は、外部デバイス214への接続を提供する。外部デバイス214は典型的には、デバイス、例えば、キーボード、キーパッド、タッチスクリーン若しくは他の何らかの適切な入力デバイス又はそれらの組み合わせ、を包含するであろう。外部デバイス214はまた、ポータブルコンピュータ可読ストレージ媒体、例えば、サムドライブ、ポータブル光ディスク若しくは磁気ディスク、及びメモリカード、を包含することができる。本発明の実施態様を実践する為に使用されるソフトウェア及びデータ、例えばオートスケーラプログラム300、は、そのようなポータブルコンピュータ可読ストレージ媒体上に記憶されることができる。これらの実施態様において、関連するソフトウェアは、I/Oインタフェースセット206を介して永続的ストレージ210へと全体的に又は部分的にロードされてもよい(又はロードされなくてもよい)。I/Oインタフェースセット206はまた、ディスプレイ212とデータ通信で接続する。
ディスプレイ212は、データをユーザに表示する為の機構を提供し、及び例えば、コンピュータのモニタ又はスマートフォンのディスプレイ画面であってもよい。
本明細書に記載されたプログラムは、該プログラムが本発明の特定の実施態様において、実装される用途に基づいて識別される。しかしながら、本明細書における特定の任意のプログラム名称は、単に便宜の為に使用され、従って、本発明は、そのような名称によって識別され若しくは暗示され又は識別且つ暗示される特定の任意の用途のみでの使用に限定されるべきではないことが理解されるべきである。
本発明の様々な実施態様の記載は、例示の目的の為に提示されたものであり、網羅的であること又は開示された実施態様に限定されることが意図されたものでない。多くの修正及び変形が、記載された実施態様の範囲及び精神から逸脱することなしに当業者に明らかであろう。本明細書において使用される語は、実施態様の原理、実用的な用途、又は市場において見られる技術に対する技術的改善を最もよく説明する為に、又は当業者が本明細書において開示されている実施態様を理解することができるようにする為に選択された。
II.例示的な実施態様
図4は、本発明に従う方法を図示するフローチャート図250を示す。図5は、フローチャート250の方法動作の少なくとも幾つかを実行する為のオートスケーラプログラム300を示す。この方法及び関連付けられたソフトウェアは、これから、以下の段落において、図4(方法動作ブロックについて)及び図5(ソフトウェアブロックについて)を広範囲に参照しながら、次に説明されるであろう。図5のオートスケーラプログラム300が格納されうる1つの物理的な場所は、永続的ストレージ210(図3参照)である。
処理は、動作S255で開始され、オートスケーラプログラム300の予測AIオートスケーラモジュール302は、階層的コンピューティングプラットフォームの所定レベル上で動作するリソースに関し、ワークロードメトリックを受信する。幾つかの実施態様において、ワークロードメトリックは、プロセッサ利用率(processor utilization)、メモリ使用率(memory usage)、ストレージ使用率(storage usage)、ネットワーク帯域幅使用率(network bandwidth usage)、到着率(arrival rates)、到着間隔(interarrival times)、応答時間、スループット、若しくはサービスロードパターン又はそれらの組み合わせ等に対応する。
処理は動作S260に進み、そこでは、オートスケーラプログラム300の予測AIオートスケーラモジュール302が、コンピューティングプラットフォームの所定のレベルに関してスケーリング動作を予測する。該予測されたスケーリング動作は、ストレージスペース、メモリ、又は該コンピューティングプラットフォームの所与のレベルで実行されているプロセスに割り当てられた他のリソースを増加又は減少させることなどを含みうる。幾つかの実施態様において、予測AIオートスケーラモジュール302は、過去の性能経験、例えば(これらに限定されない)、該コンピューティングプラットフォームの該所与のレベル上で実行されているアプリケーションタイプの為の時間帯、曜日、又は製品ライフサイクルに関して観察されるワークロード変動に基づいて該スケーリング動作を予測する。
処理は動作S265に進み、そこでは、オートスケーラプログラム300のビジネスルールモジュール306が、予測されたスケーリング動作に少なくとも部分的に基づいてビジネスルールの1組を生成する。ビジネスルールの1組の例は、本発明の詳細な説明における見出しの「更なるコメント若しくは実施態様又はそれらの組み合わせ」中の小見出し「ビジネスルールの例」の下に、以下において与えられている。
処理は動作S270に進み、そこでは、オートスケーラプログラム300の予測AIオートスケーラモジュール302が、動作S260で上記決定された予測されたスケーリング動作に基づいてスケーリングプランを作成する。該スケーリングプランは、該スケーリングプランが実行に移された(トリガーされた)場合に実行されるべき動作の詳細な1組を含む。
処理は動作S275に進み、そこでは、オートスケーラプログラム300の自動化管理モジュール304が、該スケーリングプランを所定のレベルのコンピューティングプラットフォームに送り、ここで、該スケーリングプランは、準備状態(readiness)で保持され、該プランの起動をトリガーする信号を待つ。
処理は動作S280に進み、そこでは、オートスケーラプログラム300の自動化管理モジュール304が、該スケーリングプランをトリガーすることを決定し、そして、その結果、該スケーリングプランの実施をトリガーする信号を該所定のレベルのコンピューティングプラットフォームに送信する。
III.更なるコメント若しくは実施態様又はそれらの組み合わせ
本発明の幾つかの実施態様は、慣用的なオートスケーラの現状に関して、下記の事実、潜在的な問題若しくは潜在的な改善分野又はそれらの組み合わせのうちの1以上を認識しうる:(i)プロバイダのプラットフォーム上にデプロイされるリソースのみをスケーリングすることができる場合がある;(ii)ハイブリッドクラウドのデプロイメントにおいて、該クラウドの各々における夫々のメトリック並びにエンドツーエンド及びサービス品質(QoS:quality of service)メトリック全体を最適化することが困難である場合がある;(iii)或るリソース及びアプリケーションに固有の構成変更に加えて、複数のクラウドプラットフォームにおけるインフラの変更に対応することが困難である場合がある、(iv)(複数のクラウドプロバイダを有する大規模ハイブリッドクラウドとは対照的に)単一のクラウドプロバイダに適応することに注力する、若しくは(v)システムメトリックを常に監視し、そして、その変化にランタイムで対応する必要がある、又は該(i)~(v)のいずれかの組み合わせ。
本発明の幾つかの実施態様は、下記の特徴、特性若しくは利点又はそれらの組み合わせのうちの1以上を包含しうる:(i)ビジネスルールエンジン(BRE:business rule engine)は、クラウドオペレータにとってより容易な方法でオートスケーリング決定を実施する;(ii)人工知能(AI:artificial intelligence)予測モデルは、将来のスケーリングニーズを予測し、そして、将来のスケーリングニーズをBREに伝える;若しくは(iii)自動化マネージャ(以下、「クラウド自動化マネージャ」という場合がある)がBREと連携し、そして、コードとしてのインフラストラクチャ(IaC:infrastructure as code)テンプレートを用いて、ハイブリッドクラウドサービスのスケーリングを効率的に実施する;又はそれ以上の任意の組み合わせ。
幾つかの実施態様において、オートスケーラは、BREを使用して、ハイブリッドクラウドプラットフォームにおいてスケーリング決定を行う為の単純且つ洗練されたルールを可能にする。ビジネスルールの使用は、オートスケーリング要件を単純化し、そして、クラウドオペレータがオートスケーリング要件を理解し且つ実装することを容易にする。該クラウドオペレータは、ハイブリッドクラウド環境における異なるサービスの為に異なるシステム性能若しくはワークロードメトリック又はそれらの組み合わせに基づいてスケーリング決定を行う為の単純なルールの1組を容易に記述することができる。システム性能若しくはワークロードメトリック又はそれらの組み合わせの例は、CPU利用率、メモリ使用率、ストレージ使用率、ネットワーク帯域幅使用率、到着率、到着間隔、応答時間、スループット若しくはサービスロードパターン又はそれらの組み合わせ等を包含する。
本発明の幾つかの実施態様は、階層型構造のプライベートクラウドプラットフォーム及びパブリッククラウドプラットフォームを含むハイブリッドクラウド環境に向けられているが、幾つかの実施態様は、非ハイブリッドパブリッククラウドインフラストラクチャ又はプライベートクラウドインフラストラクチャ、及び他のネットワーク型コンピューティングプラットフォーム、例えば、非クラウドプラットフォーム若しくは他の階層型コンピューティングプラットフォーム又はそれらの組み合わせを包含する該他のネットワーク型コンピューティングプラットフォーム、に向けられていることが理解されるべきである。
幾つかの実施態様において、過去のシステムデータに基づいて、AI予測モデルが、サービスワークロード及びクラウドプラットフォームにおける将来の変化を予測する。該AI予測モデルは、将来の変化をサポートする為の追加のスケーリングの為の必要性を、BREに伝達する。幾つかの実施態様は、該BRE及びAI予測モデルを階層的に組織化し、ここで、(i)夫々のクラウド上に配置されたデプロイメントは各々、ローカルな性能メトリックを維持し;及び(ii)より高いレベルでのデプロイメントは、パブリッククラウド又はプライベートクラウドにかかわらず、夫々のクラウドをすべて管理し、そして、エンドツーエンドのメトリック及びコスト最適化を維持する。
幾つかの実施態様において、クラウド自動化マネージャは、「コードとしてのインフラストラクチャ」(IaC:infrastructure as code)テンプレートを使用して、該ハイブリッドクラウドプラットフォームに追加の(又は余剰の)リソースをデプロイする為のスケーリング決定(又は、予測されたスケーリング動作)を適用する。該クラウド自動化マネージャは、ハイブリッドクラウド環境内のパブリッククラウドプラットフォーム並びにプライベートクラウドプラットフォームにおける複数のサービスの為に異なる種類のリソースのデプロイメント又は解放を自動化及び簡略化する。
図6のブロック図は、本発明の幾つかの実施態様に従う、プロセス及びシステムアーキテクチャを示し、下記を備えている:予測人工知能(AI)オートスケーラ620;レベル1 予測AIモデル621;レベル1 ビジネスルールエンジン(レベル1 BRE 622);ビジネスルール623;ハイブリッドクラウド630;パブリッククラウド631;プライベートクラウド632;マネージドサービス641;レベル2 予測AIモデル642;並びに、レベル2 ビジネスルールエンジン643。ハイブリッドクラウド630は、パブリッククラウド631の任意の数のインスタンスと、プライベートクラウド632の任意の数のインスタンスとを含みうる。パブリッククラウド631及び各プライベートクラウド632の各々は、任意の数のマネージドサービス641を含みうる。
幾つかの実施態様において、予測AIオートスケーラは、階層的且つ分散的であり、ここで、(i)各クラウドレベル(例えば、パブリッククラウド631及びプライベートクラウド632を備えているハイブリッドクラウド630)に関連付けられたオートスケーラ(図示せず)は、関連付けられたクラウドレベルにローカルなメトリックを維持し、(ii)(クラウド階層におけるより高いクラウドレベルでの)予測AIオートスケーラ620は、ハイブリッドクラウド630全体の最適化を維持する。クラウド自動化マネージャ624(本明細書において、クラウド自動化マネージャとして言及されることもある)は、パブリッククラウド631とプライベートクラウド632との両方でサービス(例えば、マネージドサービス641の任意の数のインスタンス)を管理及びデプロイする。予測AIオートスケーラ620のレベル1 予測AIモデル621は、マネージドサービス641のインスタンスからストリーミングされたメトリックを受信する。
レベル1 予測AIモデル621は、異なるタイプのワークロードミックスを解析して、インテリジェントで且つ予測的なスケーリング決定を行う。ストリーミングされたメトリック入力データに基づいて、レベル1 予測AIモデル621は、スケーリング決定を行い、そして、将来の時間に関して予測メトリックを生成し、そして、ハイブリッドクラウド630におけるマネージドサービス641の1以上のインスタンスのスケーリングを基礎付けるところの既存のビジネスルール内に該予測メトリックを挿入する。代替的には、幾つかの実施態様において、予測AIモデル621は、予測メトリックを生成し、そして、予測メトリックの性質若しくは該メトリックが決定される条件又はそれらの組み合わせに基づいて、予測メトリックを将来の時間での既存のビジネスルール内に挿入する。
ビジネスルールは、ランタイムに変更及び修正されることができる。レベル1 BRE 622のステートフル特性は、履歴解析及び時間解析を可能にする。予測スケーリングの場合に、ワークロード条件における或る変化に応じて1以上の対応するビジネスルールをトリガーするところの一連のビジネスルールをレベル1 予測AIモデル621が書き込む(生成する)。このことにより、レベル1 予測AIモデル621は、予測された将来のスケーリングニーズをサポートするプリエンプティブなスケーリング変更を予測し、そして実施することが可能である。レベル1 予測AIモデル621によるビジネスルールの修正に加えて、クラウドオペレータは、ビジネスルール623を直接修正して、現在及び将来のスケーリングニーズに対応しうる。
幾つかの実施態様において、予測AIオートスケーラ620は、クラウド階層の最上位レベルで動作する。予測AIオートスケーラ620は、レベル1 予測AIモデル621、レベル1 BRE 622、及びクラウド自動化マネージャ624を備えている。レベル1 予測AIモデル621は、ハイブリッドクラウド630から、より特にはパブリッククラウド631及びプライベートクラウド632から、ストリーミングされたメトリックを受信する(矢印「1」)。レベル1 予測AIモデル621は、オートスケーリングルールを修正し、そして、該ルールをレベル1 BRE 622に渡す(矢印「2」)。レベル1 BRE 622は、修正されたオートスケーリングルール及びビジネスルール623の組み合わせに応答して、ハイブリッドクラウド630についての構成変更に関して、1以上のプラン(例えば、スケーリングプラン)を開発する。レベル1 BRE 622は、1以上の(クラウド構成変更)プランをクラウド自動化マネージャ624に渡して、プランの実行を開始する(矢印「3」)。クラウド自動化マネージャ624は、パブリッククラウド631若しくはプライベートクラウド632又はそれらの組み合わせに関連付けられたマネージドサービス(例えば、マネージドサービス641)にプランを渡すことによって、該プランを適用する(矢印「4」)。
より低いレベル、例えばパブリッククラウド631でのレベル2、において、レベル2 オートスケーラは、レベル2 予測AIモデル642、及びレベル2 ビジネスルールエンジン643を備えている。該レベル2 オートスケーラは、ローカルメトリック、例えばCPU使用率閾値、を維持し、そして、前の段落で述べられているように、予測AIオートスケーラ620のレベル1 予測AIモデル621にローカルメトリックをストリーミングし、ハイブリッドクラウド630の全体のサービス品質(QoS:quality of service)目標を維持することを含むところの目標を有する連続的なフィードバック及び制御ループを完了させる。
本発明の幾つかの実施態様において、ビジネスルールの1組は、条件付き及び結果的な「いつ-次に」ルールの1組を含み、それは、条件が生じたとき、次に結果又は動作を実行することを意味する、ビジネスルールエンジン(例えば、BRE 622)は、ランタイム環境においてビジネスルールを管理し及び実行する。該ビジネスルールエンジンは、x秒毎にルールを連続的に発射する(ここで、幾つかの実施態様において、xは、ユーザが選択した時間値である)。該ビジネスルールエンジンは、サービス若しくは予測AIモデル又はそれらの組み合わせから性能メトリックを収集し、そして次に、それらのメトリックを使用してオートスケーリング決定を行う。
ビジネスルールの例
次に、ルールの条件が満たされたときにサービスの1組をスケーリングする為の、疑似コードで表現されたハイレベルなビジネスルールの1組は下記の通りである。
ビジネスルール1:スケールアップタイマーの準備
ビジネスルール1は、サービスの平均CPU使用率が閾値を超えたかを判断する。本例の場合、該閾値は40%である。CPU使用率は、ユーザが選択した期間(例えば、過去30秒)にわたって収集された、サービスの平均的な尺度である。次に、該ルールは「スケールアップ」状態(“ScaleUp” state)を挿入して、該スケーリングプロセスを開始する。
ビジネスルール2:スケールアップの準備
更に30秒(「スケールアップ」状態)が経過後、ビジネスルール2は、CPU使用率が引き続き閾値(この場合は40%)を超え続けているかを判断する。この追加の30秒間の期間により、使用率の異常値又はスパイク値に対応して不必要なスケーリング動作が防止される。使用率が40%を引き続き超えている場合(条件が満たされている場合)、該ルールは状態値を「スケールアップ」(“ScaleUp”)から「スケーリング開始」(“start scaling”)に変更する。幾つかの実施態様において、任意の所与の期間における使用率は、様々な方法、例えば、(i)期間中の平均使用率、(ii)全期間中に閾値を超えて残る使用率、(iii)期間の特定のパーセンテージで閾値を超えて残る使用率、若しくは(iv)所定の実行の為に適していると見なされる、他の任意の方法、数値、演算、統計若しくはその他の方法、又はそれらの組み合わせで測定される。
ビジネスルール3:スケールアップ
ビジネスルール3は、「スケールアップ」状態が存在するかを判断し、並びにその値が「完了した」(completed)であるかを判断する。「スケールアップ」状態=「完了した」の場合(条件を満たす)、該ルールはクラウド自動化マネージャ(CAM:cloud automation manager)を呼び出して、スケーリングの為の新しいインスタンスをデプロイする。
下記のコード例は、Drools(RedHatによって開発されたオープンソースのビジネスルールエンジン)で書かれた、上記された疑似コード例に対応するコーディングを示す。(注:該「Drools」若しくは「RedHat」又は「Drools」及び「RedHat」は、世界中の様々な法域で商標権の対象となっている可能性があり、本明細書においてそのような商標権が存在する限りにおいて、該商標によって適切に示される製品又はサービスに関してのみ使用されている)。
ビジネスルール1:スケールアップタイマーの調整
(//の訳:スケールアップ状態をルールエンジンメモリ内に挿入する)
ビジネスルール1は、該サービスの性能指標(この場合、CPUの平均使用率)を含む「メトリック」(Metric)オブジェクトをチェックする。該ルールが一旦満たされると、BREは「状態」(State)オブジェクトを初期化する(State.NOTRUN,バイナリ値)。
ビジネスルール2:スケールアップの調整
(//の訳:状態の値が変更され、そしてメモリ内で更新されて、スケールアップを始める)
ビジネスルール2は、テンポラルな(時間に関連する)特性を使用する。「いつ」(when)ステートメントにおいて、「これ」(this)は状態を表し、「30秒前のメトリック」(before[30s] metric)は現在のメトリック(Metric)オブジェクトよりも30秒以上前に状態(State)が存在していたかを判断する。条件を満たした場合、BREメモリ内の状態のバイナリ値をState.FINISHEDに更新する。
ビジネスルール3:スケールアップ
(//の訳:CAM APIを呼び出す)
(//の訳:デプロイされたリソースの現在の数を得る)
(//の訳:現在のリソース数を1つ増加させる)
(//の訳:クラウド自動化マネージャにAPI要求を送信することによって、デプロイメントをプランする)
ビジネスルール3において、「いつ」(when)ステートメントは、スケールアップ(ScaleUp)状態が「State.FINISHED」に変更されているかを判断し、そして次に進む。「CamJson」は、クラウド自動化マネージャ上の関連付けられたサービスの現在のデプロイメントの詳細を含む。BREは、CamTemplateAPIを通じてCAM APIを呼び出し、そして、JavaScript Object Notation(JSON)ファイル(acme.json)を通じて、サービスのリソース数(web_replica)を増加させる。次に、BREは、acme.jsonファイルを、「.ModifyInstance」と「.ApplyInstance」とを使用して「プラン及び適用」(plan and apply)要求を通じて送信し、それにより、クラウド上に追加リソースをデプロイするプロセスが開始される。
CPU使用率の値が30秒後に40%未満に減少する場合、BREは状態を削除する。このプロセスは、「スケールアップ」でも「スケールダウン」でも同じである。該ビジネスルールは簡単に記述でき、及び柔軟性がある故に、ユーザは予測AIモデルを用いて、CPU使用率若しくは他のメトリックに基づいて、様々なスケーリングユースケースのルールを記述することができる。
注:上記のコード例において、「nnn.nnn.nnn.nnn」はインターネットプロトコル(IP:internet protocol)アドレスを表す。
幾つかの実施態様において、スケールダウンの動作が保証される。高需要期を処理する為に大量のメモリを必要とし及び低需要期にはより少ない量のメモリを必要とするところのトランザクション処理システムを考えてみる。高需要期が終了し、需要が所定の長さの閾値未満になると、該ビジネスルールは、上記の例におけるスケールアップシナリオと同様の様式で応答するが、その代わりにトランザクション処理システムに割り当てられたメモリをスケールダウンさせる。
図7のブロック図700は、本発明の幾つかの実施態様に従うオートスケーラプロセスを示す。オートスケーラ704は、プライベートクラウド若しくはパブリッククラウド、又は他の任意のネットワーク化されたコンピューティングプラットフォームであってもよいところのクラウドレベルで予測人工知能(AI)モデル706及びビジネスルールエンジン(BRE 707)を備えている。本発明の幾つかの実施態様は、複数のレベルで編成されたクラウド階層を備えており、夫々のクラウドは、対応するオートスケーラに関連付けられている。ブロック図700に関して、オートスケーラ704は、下位レベルのクラウド(図示せず)と上位レベルのクラウド(図示せず)との間に位置する中間レベルのクラウド702に関連付けられている。
幾つかの実施態様において、クラウド階層は、入れ子様式で、パブリック又はプライベートでありうるレベル3 クラウド(例えば、クラウド702)を備えている。レベル3 クラウド702は、クラウド702にローカルなメトリックを、レベル2 予測AIモデル(例えば、予測AIモデル642、図6)にストリーミングし、それは、今度は、レベル3 メトリックを、レベル2 ローカルメトリックとともに、レベル1 予測AIモデル(例えば、予測AIモデル621、図6)にストリーミングする。
マネージドサービス705は、クラウド702ローカル性能メトリックを、より上位のクラウド(図示せず)の予測AIモデルオートスケーラ(例えば、レベル1 予測AIモデル621、図6を参照)にストリーミングし(矢印「1」)、及び予測AIモデル706にストリーミングする(矢印「2」)。予測AIモデル706は、メトリック、例えば、CPU、ストレージ、メモリ、及びネットワーク使用率、に基づいてスケーリング決定を予測する。
予測AIモデル706は、クラウド702にローカルなビジネスルールを生成(若しくは修正、又は生成及び修正)し、そして、該生成された又は修正されたビジネスルールをBRE 707に送信する(矢印「3」)。該ビジネスルールを受信したことに応答して、BRE 707は、該ビジネスルールに従ってアプリケーションレベルの構成ファイル及び設定を変更して、最適なシステム性能を維持する。
BRE 707は、アプリケーションレベルの設定変更を下位のクラウドに送信する(矢印「4」)。下位のクラウド自動化マネージャによって提供されるアプリケーションプログラミングインタフェース(API:application programming interface)を使用するBRE 707は、スケーリング変更プランを開始する(矢印「5」)。幾つかの実施態様において、該APIは、レプレゼンテイショナルステートトランスファーAPI(REST API:representational state transfer API)としてコード化される。
幾つかの実施態様において、クラウド自動化マネージャ(CAM、例えば、クラウド自動化マネージャ624(図6及び図8を参照))は、コードとしてのインフラストラクチャ(IaC:infrastructure as code)環境において様々なクラウドプロバイダ上のサービスデプロイメントを自動化する。クラウドオペレータ、プロジェクトチーム、又は自動化されたシステムは、アプリケーションのデプロイメントの詳細に関する高レベルの記述(IaCスクリプト)を書き込む。該CAMは該IaCスクリプトを実行し、そして、該IaCスクリプトに基づいて必要なインフラストラクチャ及びサービスを自動的にデプロイする。該CAMは、パブリッククラウド又はプライベートクラウド上のサービスのデプロイメントを定義し、プロビジョニングし、及び管理する。例えば、デプロイメントに対する更新があった場合、又は設定値が変更された場合、CAMは変更を自動化する。BREがAPIを呼び出し、そして、新しいスケーリングの詳細を初期化すると、CAMはハイブリッドクラウド上で該変更を適用する。このプロセスは、性能メトリックがオートスケーラにストリーミングする故に継続的にループする。
図8は、本発明の幾つかの実施態様に従う、オートスケーラプロセス800を示すハイブリッドフローチャート図である。該オートスケーラプロセスは、コンポーネント、情報フロー、及び操作を含む。該コンポーネントは、予測AIモデル706;クラウドオペレータ802;及びクラウド自動化マネージャ624を備えている。情報フローは、複数の入来するメトリック801;及び要件804を備えている。動作操作は、判断806、808、及び812;操作810(ビジネスルールエンジン);及び操作816(適応環境変化)を包含する。
処理は、予測AIモデル706が、複数の入来するメトリック801を解析して、将来のスケーリング決定が必要であるかを判断することから始まる。将来のスケーリング決定が必要でない場合(判断808,「いいえ」の分岐)、処理は予測AIモデル706に戻る。将来のスケーリング決定が必要である場合(判断808,「はい」の分岐)、処理は操作810に進み、そこでは、予測AIモデル706が将来の時間に関し、予測メトリックを生成し、そして、複数の入来するメトリック801及び要件804の組み合わせに基づいて、予測メトリックを既存のビジネスルール内に挿入する。その上、新しい要件がハイブリッドクラウド環境における変更を必要とする場合、クラウドオペレータ802は、該新しい要件を満たす為にビジネスルールを生成しうる。
処理は、判断812に進み、そこでは、ビジネスルールがトリガーされない場合(判断812,「いいえ」の分岐)、処理は、予測AIモデル706に戻る。ビジネスルールがトリガーされた場合(判断812,「はい」の分岐)、クラウド自動化マネージャ624は、該ビジネスルールを実装する為にレプレゼンテイショナルステートトランスファー(REST)APIを呼び出す。処理は、操作816に進み、そこでは、REST APIを介して、クラウド自動化マネージャ624が、適応環境変化をもたらす。
サービスが修正され、又は新しいサービスがデプロイされる場合に、それらの指標は、予測AIモデルにストリーミングされて、該プロセスを継続する。
幾つかの実施態様において、要件804は、クラウドオペレータ802(それは、自動化されたシステム、又は人間のオペレータであってもよい)が、現在のスケーリング決定が必要であるかを決定するようにトリガーしうる。現在のスケーリング決定が必要でない場合(判断806,「いいえ」の分岐)、処理はクラウドオペレータ802に戻る。現在のスケーリング決定が必要である場合(判断806,「はい」の分岐)、予測AIモデル706は将来の時間に関して予測メトリックを生成し、そして、複数の入来するメトリック801及び要件804の組み合わせに基づいて、該予測メトリックを既存のビジネスルール内に挿入する(動作814)。該予測メトリックを包含するビジネスルールは、ビジネスルールエンジン810に流れる。引き続き、処理は、上述されているように、判断812に進む。
本発明の幾つかの実施態様において、ハイブリッドクラウドデプロイメント用のサービスとしての人工知能対応予測オートスケーラの為の、コンピュータに実装された方法は、下記の工程を含む:(i)単純なローカルメトリックを維持する各クラウドレベルでの第1のオートスケーラと、全体的な最適化を維持する高いレベルでの第2のオートスケーラとの1組を備えているハイブリッドクラウドプラットフォームにおいて;(ii)ストリーミングされた所定のサービスからのメトリックの1組を、該第2のオートスケーラの予測人工知能モデル内に受信すること;(iii)予測スケーリング決定を判断する為に所定の基準を用いて受信したメトリックの1組における様々な種類のワークロードミックス(workload mixes)を解析すること;(iv)予測スケーリング決定を使用してビジネスルールを生成して、ハイブリッドクラウドプラットフォームにおいてサービスをスケーリングすること、ここで、該ルールはランタイムの間、変更され及び修正されることができる;(v)ハイブリッドクラウド環境に対する変更の為のプランを生成すること;(vi)該プランを受領することに応じて、自動化マネージャによってハイブリッドクラウドプラットフォーム内のパブリッククラウド及びプライベートクラウドの両方においてサービスを管理及びデプロイすることによって、該プランを適用すること;(vii)少なくとも1つのマネージドサービスを含む各クラウドレベルについて、性能メトリックを2番目のオートスケーラにストリーミングすること;(viii)夫々の第1オートスケーラの予測人工知能モデル内にストリーミングされた性能メトリクスを受信すること;(ix)単純なメトリック、例えばプロセッサ使用率及びディスク使用率を包含する該メトリック、を使用して、予測されるスケーリングの決定を生成すること;(x)オートスケーリングの為のローカルビジネスルールを生成すること、ここで、該ルールはランタイムの間に変更及び修正されることができる;(xi)ビジネスルールエンジンによるアプリケーションレベル構成ファイル及び設定を修正すること;(xii)ローカルクラウド環境に対する変更の為のローカルプランを生成すること;並びに、(xiii)該ローカルプランの受信に応答して、自動化マネージャによって夫々のクラウドレベルにおいてサービスを管理及びデプロイすることによって、該ローカルプランを適用すること。
IV.定義
語「本発明」:語「本発明」によって記載される主題が、出願時の請求項、又は特許審査後に最終的に発行される請求項のいずれによってもカバーされることを語「本発明」が絶対的に示すものとして捉えられるべきではない。一方、語「本発明」は、読者が、本明細書中のどの開示が新しい可能性を秘めていると考えられるかについて一般的な感触を得るのに役立つ為に使用されており、この理解は、語「本発明」を用いることによって示されているように、暫定的且つ仮のものであり、関連情報が進展され、及び請求項が補正される可能性がある為に特許審査の過程で変更される可能性がある。
語「実施態様」:語「実施態様」は、上記の「本発明」の定義を参照。語「実施態様」にも同様の注意が適用される。
語「及び/又は」:語「及び/又は」は、包含的又は、例えば、A、B、「及び/又は」Cは、A又はB又はCのうち少なくとも1つが真であり且つ適用可能であることを意味する。
語「包含している/包含する/包含する」(including/include/includes):語「包含している/包含する/包含する」は、特に明示的な断りがない限り、「包含するが必ずしもそれに限定されない」という意味である。
語「ユーザ/サブスクライバ」:語「ユーザ/サブスクライバ」は、(i)単一の人間;(ii)ユーザ又はサブスクライバとして行動するのに十分な知能を有する人工知能エンティティ;(iii)関連するユーザ又はサブスクライバのグループ;又はそれらの組み合わせを包含するが、必ずしもこれらに限定されない。
語「データ通信」:語「データ通信」は、現在知られている又は将来開発されるあらゆる種類のデータ通信方式であり、無線通信、有線通信、及び無線部分と有線部分を有する通信経路を包含し;データ通信は下記のもの、すなわち、(i)直接データ通信;(ii)間接データ通信;若しくは(iii)データ通信のフォーマット、パケット化状況、媒体、暗号化状況若しくはプロトコル又はそれらの組み合わせが、該データ通信の全過程にわたって一定であるところのデータ通信;又はそれらの組み合わせであるが必ずしもこれらに限定されない。
語「受信する/提供する/送信する/入力する/出力する/報告する」:語「受信する/提供する/送信する/入力する/出力する/報告する」は、特に明示的な断りがない限り、これらの語は、(i)それらの対象と主体との間の関係に関して何らかの特定の程度の直接性を意味すること;若しくは(ii)それらの対象と主体との間に介在する中間のコンポーネント、行為若しくは事物又はそれらの組み合わせがないこと;又はそれらの組み合わせを意味するとして解釈されるべきではない。
語「実質的に人手を介すること無しに」:語「実質的に人手を介すること無しに」は、人間の入力がほとんど無しに又は全く無しに、自動的に(多くの場合、マシンロジック、例えばソフトウェア、の操作によって)生じうるプロセスをいう。語「実質的に人手を介すること無しに」を包含する例は下記の通りである:(i)コンピュータが複雑な処理を実行しているときに、グリッド電源の停止により人間がコンピュータを別の電源に切り替えて、処理が中断されずに続行されるようにした場合;(ii)コンピュータがリソース集約型の処理を実行しようとしているときに、該リソース集約型の処理が実際に行われるべきであることを人間が確認する場合(この場合、独立して考えられる確認のプロセスは、実質的な人間の介入を伴うが、リソース集約型の処理は人間によって行われる必要がある簡単な「はい/いいえ」形式の確認にもかかわらず、何らの実質的な人間の介入は含まれていない);並びに、(iii)機械論理を使用して、コンピュータが重大な決定(例えば、悪天候を見越して全ての飛行機を運航停止にする決定)を下したが、該重大な決定を実行する前に、該コンピュータは、人間から「はい/いいえ」形式の確認を得なければならない場合。
語「自動的に」:語「自動的に」は、何らの人手を介することの無いことを意味する。
語「モジュール/サブモジュール」:語「モジュール/サブモジュール」は、該モジュールが、(i)単一の局所的な近接状態にあるか;(ii)広域に分散しているか;(iii)ソフトウェアコードのより大きな部分内で単一の近接状態にあるか;(iv)ソフトウェアコードの単一部分内に位置しているか;(v)単一のストレージデバイス、メモリ又は媒体内に位置しているか;(vi)機械的に接続されているか;(vii)電気的に接続されているか、若しくは(viii)データ通信内で接続されているか;又はそれらの組み合わせであるかに関係無しに、ある種の機能を実行する為に動作的に動くハードウェア、ファームウェア若しくはソフトウェア又はそれらの組み合わせの任意の組を意味する。
語「コンピュータ」:語「コンピュータ」は、重要なデータ処理若しくは機械可読命令読み取り機能を有する任意の装置又はそれらの組み合わせであり、それらは、デスクトップコンピュータ、メインフレームコンピュータ、ノートブックコンピュータ、フィールドプログラム可能なゲートアレイ(FPGA:field-programmable gate array)ベースのデバイス、スマートフォン、パーソナルデジタルアシスタント(PDAs:personal digital assistants)、本体装着型又は挿入型のコンピュータ、組み込みデバイス型コンピュータ、特定用途向け集積回路(ASIC:application-specific integrated circuit)ベースの装置を包含するが、これらに限定されない。
Claims (20)
- マルチレベルコンピューティングプラットフォームにおけるオートリソーススケーリングの為の、コンピュータに実装された方法であって、
マルチレベルコンピューティングプラットフォームの第1のリソースに関し、第1のワークロードメトリックを受信すること;
前記第1のリソースに関し、スケーリング動作を、前記第1のワークロードメトリックと所定の基準との組み合わせに基づいて予測すること;
前記第1のリソースに関し、予測メトリックをランタイムに変更可能なルールセット内に前記スケーリング動作に基づいて挿入すること;
前記第1のリソースに関し、スケーリングプランを前記スケーリング動作と前記ランタイムに変更可能なルールセットとの組み合わせに基づいて作成すること;
前記スケーリングプランを、前記第1のリソースに関連付けられた前記マルチレベルコンピューティングプラットフォームのレベルに送信すること;及び、
前記スケーリングプランの実行を前記ランタイムに変更可能なルールセットに基づいてトリガーすること
を含む、前記方法。 - 前記マルチレベルコンピューティングプラットフォームが、階層様式で構築された複数のクラウドレベルを含むハイブリッドクラウドプラットフォームを備えており、ここで、各クラウドレベルは、プライベートクラウドコンピューティングプラットフォーム及びパブリッククラウドコンピューティングプラットフォームから成る群から選択される、請求項1に記載の方法。
- 前記マルチレベルコンピューティングプラットフォームの第2のリソースに関し、第2のワークロードメトリックを受信すること;
第2の予測されたスケーリング決定を前記第2のワークロードメトリックに基づいて作成すること;
前記マルチレベルコンピューティングプラットフォームの夫々のレベルにローカルなランタイムに変更可能なオートスケーリングルールセットを作成すること;
アプリケーションレベル構成ファイル、及びアプリケーションレベルの設定を変更すること;
ローカル構成変更プランを作成すること;並びに、
前記マルチレベルコンピューティングプラットフォームの前記夫々のレベルにおいて動作するサービスを、前記ローカル構成変更プランに基づいてデプロイし及び管理すること
を更に含む、請求項2に記載の方法。 - 前記第1のワークロードメトリックが、プロセッサ利用率、メモリ使用率、ストレージ使用率、ネットワーク帯域幅使用率、到着率、到着間隔、応答時間、スループット、及びサービスロードパターンから成る群から選択される、請求項1に記載の方法。
- 前記第1のリソースが、メモリ、ストレージ、ネットワーク帯域幅、及びプロセッサ利用状態から成る群から選択される、請求項1に記載の方法。
- 前記スケーリングプランの実行をトリガーすることが、
前記第1のワークロードメトリックが、所定の期間、閾値を超えるかを判断すること;及び、
前記第1のワークロードメトリックが、前記所定の期間、前記閾値を超えるとの判断に応じて、前記スケーリングプランをデプロイすること
を更に含む、請求項1に記載の方法。 - 前記スケーリングプランの実行をトリガーすることが、
閾値が、所定の期間、前記第1のワークロードメトリックを超えるかを判断すること;及び、
前記閾値が、前記所定の期間、前記第1のワークロードメトリックを超えるとの判断に応じて、前記スケーリングプランをデプロイすること
を更に含む、請求項1に記載の方法。 - マルチレベルコンピューティングプラットフォームにおけるオートリソーススケーリングの為のコンピュータプログラム製品であって、該コンピュータプログラム製品は、
1以上のコンピュータ可読ストレージ媒体、及び該1以上のコンピュータ可読ストレージ媒体上にまとめて記憶されるプログラム命令を備えており、前記プログラム命令が、
マルチレベルコンピューティングプラットフォームの第1のリソースに関し、第1のワークロードメトリックを受信すること;
前記第1のリソースに関し、スケーリング動作を、前記第1のワークロードメトリックと所定の基準との組み合わせに基づいて予測すること;
前記第1のリソースに関し、予測メトリックをランタイムに変更可能なルールセット内に前記スケーリング動作に基づいて挿入すること;
前記第1のリソースに関し、スケーリングプランを前記スケーリング動作と前記ランタイムに変更可能なルールセットとの組み合わせに基づいて作成すること;
前記スケーリングプランを、前記第1のリソースに関連付けられた前記マルチレベルコンピューティングプラットフォームのレベルに送信すること;及び、
前記スケーリングプランの実行を前記ランタイムに変更可能なルールセットに基づいてトリガーすること
を実行するようにプログラムされた命令を含む、前記コンピュータプログラム製品。 - 前記マルチレベルコンピューティングプラットフォームが、階層様式で構築された複数のクラウドレベルを含むハイブリッドクラウドプラットフォームを備えており、ここで、各クラウドレベルは、プライベートクラウドコンピューティングプラットフォーム及びパブリッククラウドコンピューティングプラットフォームから成る群から選択される、請求項8に記載のコンピュータプログラム製品。
- 前記マルチレベルコンピューティングプラットフォームの第2のリソースに関し、第2のワークロードメトリックを受信すること;
第2の予測されたスケーリング決定を前記第2のワークロードメトリックに基づいて作成すること;
前記マルチレベルコンピューティングプラットフォームの夫々のレベルにローカルなランタイムに変更可能なオートスケーリングルールセットを作成すること;
アプリケーションレベル構成ファイル、及びアプリケーションレベルの設定を変更すること;
ローカル構成変更プランを作成すること;並びに、
前記マルチレベルコンピューティングプラットフォームの前記夫々のレベルにおいて動作するサービスを、前記ローカル構成変更プランに基づいてデプロイし及び管理すること
を実行するようにプログラムされた命令を更に含む、請求項9に記載のコンピュータプログラム製品。 - 前記第1のワークロードメトリックが、プロセッサ利用率、メモリ使用率、ストレージ使用率、ネットワーク帯域幅使用率、到着率、到着間隔、応答時間、スループット、及びサービスロードパターンから成る群から選択される、請求項8に記載のコンピュータプログラム製品。
- 前記第1のリソースが、メモリ、ストレージ、ネットワーク帯域幅、及びプロセッサ利用状態から成る群から選択される、請求項8に記載のコンピュータプログラム製品。
- 前記スケーリングプランの実行をトリガーすることを実行するようにプログラムされた命令が、
前記第1のワークロードメトリックが、所定の期間、閾値を超えるかを判断すること;及び、
前記第1のワークロードメトリックが、前記所定の期間、前記閾値を超えるとの判断に応じて、前記スケーリングプランをデプロイすること
を実行するようにプログラムされた命令を更に含む、請求項8に記載のコンピュータプログラム製品。 - 前記スケーリングプランの実行をトリガーすることを実行するようにプログラムされた命令が、
閾値が、所定の期間、前記第1のワークロードメトリックを超えるかを判断すること;及び、
前記閾値が、前記所定の期間、前記第1のワークロードメトリックを超えるとの判断に応じて、前記スケーリングプランをデプロイすること
を実行するようにプログラムされた命令を更に含む、請求項8に記載のコンピュータプログラム製品。 - マルチレベルコンピューティングプラットフォームにおけるオートリソーススケーリングの為のコンピュータシステムであって、該コンピュータシステムが、
プロセッサセット;及び、
1以上のコンピュータ可読ストレージ媒体
を備えており、
ここで、前記プロセッサセットが、前記1以上のコンピュータ可読ストレージ媒体上に記憶されたプログラム命令を実行するように構造化され、配置され、接続され、若しくはプログラム化され、又はそれらが組み合わされており、並びに、
前記プログラム命令が、
マルチレベルコンピューティングプラットフォームの第1のリソースに関し、第1のワークロードメトリックを受信すること;
前記第1のリソースに関し、スケーリング動作を、前記第1のワークロードメトリックと所定の基準との組み合わせに基づいて予測すること;
前記第1のリソースに関し、予測メトリックをランタイムに変更可能なルールセット内に前記スケーリング動作に基づいて挿入すること;
前記第1のリソースに関し、スケーリングプランを前記スケーリング動作と前記ランタイムに変更可能なルールセットとの組み合わせに基づいて作成すること;
前記スケーリングプランを、前記第1のリソースに関連付けられた前記マルチレベルコンピューティングプラットフォームのレベルに送信すること;及び、
前記スケーリングプランの実行を前記ランタイムに変更可能なルールセットに基づいてトリガーすること
を実行するようにプログラムされた命令を含む、前記コンピュータシステム。 - 前記マルチレベルコンピューティングプラットフォームが、階層様式で構築された複数のクラウドレベルを含むハイブリッドクラウドプラットフォームを備えており、ここで、各クラウドレベルは、プライベートクラウドコンピューティングプラットフォーム及びパブリッククラウドコンピューティングプラットフォームから成る群から選択される、請求項15に記載のコンピュータシステム。
- 前記マルチレベルコンピューティングプラットフォームの第2のリソースに関し、第2のワークロードメトリックを受信すること;
第2の予測されたスケーリング決定を前記第2のワークロードメトリックに基づいて作成すること;
前記マルチレベルコンピューティングプラットフォームの夫々のレベルにローカルなランタイムに変更可能なオートスケーリングルールセットを作成すること;
アプリケーションレベル構成ファイル、及びアプリケーションレベルの設定を変更すること;
ローカル構成変更プランを作成すること;並びに、
前記マルチレベルコンピューティングプラットフォームの前記夫々のレベルにおいて動作するサービスを、前記ローカル構成変更プランに基づいてデプロイし及び管理すること
を実行するようにプログラムされた命令を更に含む、請求項16に記載のコンピュータシステム。 - 前記第1のワークロードメトリックが、プロセッサ利用率、メモリ使用率、ストレージ使用率、ネットワーク帯域幅使用率、到着率、到着間隔、応答時間、スループット、及びサービスロードパターンから成る群から選択される、請求項15に記載のコンピュータシステム。
- 前記第1のリソースが、メモリ、ストレージ、ネットワーク帯域幅、及びプロセッサ利用状態から成る群から選択される、請求項15に記載のコンピュータシステム。
- 前記スケーリングプランの実行をトリガーすることを実行するようにプログラムされた命令が、
前記第1のワークロードメトリックが、所定の期間、閾値を超えるかを判断すること;及び、
前記第1のワークロードメトリックが、前記所定の期間、前記閾値を超えるとの判断に応じて、前記スケーリングプランをデプロイすること
を実行するようにプログラムされた命令を更に含む、請求項15に記載のコンピュータシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/094,856 US11762709B2 (en) | 2020-11-11 | 2020-11-11 | Predictive auto-scaler for a hierarchical computing infrastructure |
US17/094,856 | 2020-11-11 | ||
PCT/CN2021/126859 WO2022100438A1 (en) | 2020-11-11 | 2021-10-28 | Predictive auto-scaler for a hierarchical computing infrastructure |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023548517A true JP2023548517A (ja) | 2023-11-17 |
Family
ID=81454479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023526686A Pending JP2023548517A (ja) | 2020-11-11 | 2021-10-28 | 階層型コンピューティングインフラストラクチャーの為の予測オートスケーラ |
Country Status (6)
Country | Link |
---|---|
US (1) | US11762709B2 (ja) |
JP (1) | JP2023548517A (ja) |
CN (1) | CN116438519A (ja) |
DE (1) | DE112021005219T5 (ja) |
GB (1) | GB2617712A (ja) |
WO (1) | WO2022100438A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11762709B2 (en) | 2020-11-11 | 2023-09-19 | International Business Machines Corporation | Predictive auto-scaler for a hierarchical computing infrastructure |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9251033B2 (en) * | 2011-07-07 | 2016-02-02 | Vce Company, Llc | Automatic monitoring and just-in-time resource provisioning system |
EP2764436A4 (en) | 2011-10-04 | 2015-12-09 | Tier 3 Inc | PREDICTIVE TWO-DIMENSIONAL AUTOSCALING |
US9372735B2 (en) | 2012-01-09 | 2016-06-21 | Microsoft Technology Licensing, Llc | Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool |
US10552745B2 (en) | 2013-10-18 | 2020-02-04 | Netflix, Inc. | Predictive auto scaling engine |
US9300552B2 (en) * | 2013-12-16 | 2016-03-29 | International Business Machines Corporation | Scaling a cloud infrastructure |
US10452992B2 (en) * | 2014-06-30 | 2019-10-22 | Amazon Technologies, Inc. | Interactive interfaces for machine learning model evaluations |
US9547534B2 (en) | 2014-10-10 | 2017-01-17 | International Business Machines Corporation | Autoscaling applications in shared cloud resources |
CN106201718A (zh) | 2016-07-05 | 2016-12-07 | 北京邮电大学 | 一种基于负载预测的云计算资源动态伸缩方法 |
US11010205B2 (en) | 2017-05-30 | 2021-05-18 | Hewlett Packard Enterprise Development Lp | Virtual network function resource allocation |
WO2021026481A1 (en) * | 2019-08-07 | 2021-02-11 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to improve job scheduling efficiency |
CN111491006B (zh) | 2020-03-03 | 2021-11-02 | 天津大学 | 负载感知的云计算资源弹性分配系统及方法 |
US11762709B2 (en) | 2020-11-11 | 2023-09-19 | International Business Machines Corporation | Predictive auto-scaler for a hierarchical computing infrastructure |
-
2020
- 2020-11-11 US US17/094,856 patent/US11762709B2/en active Active
-
2021
- 2021-10-28 JP JP2023526686A patent/JP2023548517A/ja active Pending
- 2021-10-28 GB GB2308635.8A patent/GB2617712A/en active Pending
- 2021-10-28 DE DE112021005219.5T patent/DE112021005219T5/de active Pending
- 2021-10-28 WO PCT/CN2021/126859 patent/WO2022100438A1/en active Application Filing
- 2021-10-28 CN CN202180075777.2A patent/CN116438519A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116438519A (zh) | 2023-07-14 |
GB2617712A (en) | 2023-10-18 |
US20220147401A1 (en) | 2022-05-12 |
DE112021005219T5 (de) | 2023-08-10 |
US11762709B2 (en) | 2023-09-19 |
GB202308635D0 (en) | 2023-07-26 |
WO2022100438A1 (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7257728B2 (ja) | ソフトウェア・アプリケーションのデプロイメント構成の動的選択のための方法、コンピュータ・プログラム及びコンピュータ・システム | |
US11805076B2 (en) | Microservice placement in hybrid multi-cloud using graph matching | |
US10911219B2 (en) | Hierarchical blockchain consensus optimization scheme | |
US11409568B2 (en) | Dynamically scaling out pods using a recursive way | |
Lu et al. | Fault-tolerant service level agreement lifecycle management in clouds using actor system | |
US11704123B2 (en) | Automated orchestration of containers by assessing microservices | |
US20210211363A1 (en) | QoS-OPTIMIZED SELECTION OF A CLOUD MICROSERVICES PROVIDER | |
US20220188172A1 (en) | Cluster selection for workload deployment | |
US10891547B2 (en) | Virtual resource t-shirt size generation and recommendation based on crowd sourcing | |
US10305752B2 (en) | Automatically orchestrating the compliance of cloud services to selected standards and policies | |
JP2023520384A (ja) | 連合学習におけるパラメータ共有 | |
US11216261B1 (en) | Deployment in cloud using digital replicas | |
US11327670B2 (en) | Reducing power consumption in a dispersed storage network | |
US11303712B1 (en) | Service management in distributed system | |
US11588705B2 (en) | Virtual reality-based network traffic load simulation | |
JP2023548517A (ja) | 階層型コンピューティングインフラストラクチャーの為の予測オートスケーラ | |
Sood | Function points‐based resource prediction in cloud computing | |
US20220413989A1 (en) | Cloud service provider selection based on digital twin simulation | |
Askarnejad et al. | Network and application-aware cloud service selection in peer-assisted environments | |
JP2023550445A (ja) | データアナリティクスにおけるデータアクセスポリシの自動調整 | |
US11537445B2 (en) | Dynamic integration flows in hybrid cloud environments | |
CN115668258A (zh) | 远程资源容量和使用管理 | |
US10417055B2 (en) | Runtime movement of microprocess components | |
US20230032748A1 (en) | Interactive augmented reality based optimization of machine learning model execution on hybrid cloud | |
US20240020641A1 (en) | Domain driven secure design of distributed computing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230511 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230524 |
|
RD16 | Notification of change of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7436 Effective date: 20230512 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240319 |