JP2020064676A - リソース配置を最適化するための適時性リソース移行 - Google Patents
リソース配置を最適化するための適時性リソース移行 Download PDFInfo
- Publication number
- JP2020064676A JP2020064676A JP2020002627A JP2020002627A JP2020064676A JP 2020064676 A JP2020064676 A JP 2020064676A JP 2020002627 A JP2020002627 A JP 2020002627A JP 2020002627 A JP2020002627 A JP 2020002627A JP 2020064676 A JP2020064676 A JP 2020064676A
- Authority
- JP
- Japan
- Prior art keywords
- resources
- resource
- placement
- migration
- candidate
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/783—Distributed allocation of resources, e.g. bandwidth brokers
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
わたって動的に共有するための近年の技術革新は、コンピューティングの信頼性、スケー
ラビリティ、及びコスト効率性を向上させている。より具体的には、仮想化の出現を通じ
て仮想コンピューティングリソース及びストレージを要求に応じて提供する能力によって
、処理リソース及びストレージの消費者が、知覚されるコンピューティング及びストレー
ジの必要性に迅速に応答して、彼らのコンピューティング及びストレージコストを柔軟に
構築することが可能となっている。仮想化は、ハードウェアの製造及び展開の遅延及びコ
ストによって必要とされる供給サイクル内の固定ハードウェアを、購入または貸借するの
ではなく、必要な時に顧客がプロセッササイクル及びストレージを購入できるようにする
。コンピューティング及びストレージの利用可能性を判断するために、将来の需要の予測
精度に依存するのではなく、ユーザが、必要に応じて比較的即時にコンピューティング及
びストレージリソースの使用権を購入することが可能である。
び耐久性に関して様々な保証を提供し得る。複数のリソースホスト間でコンピューティン
グリソースを分散させることが、異なる利用可能性及び耐久性の特性をもたらし得る。例
えば、仮想コンピューティングリソースは、ブロックベースストレージを提供してもよい
。このようなブロックベースストレージは、一連の標準化されたストレージコールを通じ
て様々なコンピューティング仮想化とやり取りすることが可能なストレージシステムを提
供する。一連の標準化されたストレージコールは、ブロックベースストレージがサポート
するボリューム、及びブロックベースストレージがストレージ利用可能性を提供する仮想
化上で実行するオペレーティングシステムの構造的及び機能的詳細に対し、ブロックベー
スストレージを機能的に依存させない。ブロックベースストレージを提供するために、様
々な異なる配置最適化及び/または制約が性能保証を提供するために実装されてもよい。
リソースホスト間にブロックベースストレージリソースを配置するとき、ストレージを配
置するための最適化及び/または制約を満たす異なる配置オプションの中から選択するこ
とが、困難であると証明し得る。
されるが、当業者は、実施形態が、説明する実施形態または図面に限定されないことを認
識するであろう。図面及びその詳細な説明は、開示される特定の形態に実施形態を限定す
ることを意図するものではなく、むしろ、意図することは、添付の特許請求の範囲によっ
て定義される思想及び範囲内に入る全ての修正物、均等物及び代替物を含めることを理解
されたい。本明細書で用いられる見出しは、構造化の目的のみのためであり、説明の範囲
または特許請求の範囲を限定するために用いられることを意味しない。本出願全体を通し
て用いられる、「may(してもよい)」という語は、義務的な意味(即ち、しなければ
ならないという意味)ではなく、許容的な意味(即ち、可能性を有するという意味)で用
いられる。同様に、「include(含む)」、「including(含んでいる)
」、及び「includes(含む)」という語は、含んでいるが限定はされないことを
意味する。
実装してもよい。分散型システムは、異なるシステム、サービス、アプリケーション、及
び/または機能を実行または実装するための様々なリソースをホストしてもよい。いくつ
かのリソースは、異なるリソースホスト間の複数のリソースに位置する、より大きな分散
型リソースの一部であってもよい。他のリソースは、個別またはスタンドアロンであって
もよい。リソースは、様々な種類の物理的な、または仮想化されたコンピューティングリ
ソース、ストレージリソース、もしくはネットワーキングリソースのうちの1つなどの、
多くの異なる種類のリソースのうちの1つであってもよい。例えば、ストレージサービス
は、いくつかの異なるリソースホストにわたってデータの異なる複製をホストしてもよい
。
よい。しかしながら、動作を開始するためにリソースが配置される必要があるため、最適
な位置が利用可能になるまでリソースの配置を待機することが難しい場合がある。その代
わりに、リソースホストにおけるリソースの初期配置が、最良の利用可能な配置に従って
行われてもよい。時間につれて、最適以下の配置は(配置が、たとえ初期配置の時にリソ
ースについての最良の位置であるとしても)、結局、未活用のリソースホスト、分散型リ
ソースについての非効率的な、もしくは耐久性の低い構成、及び/またはリソースもしく
は分散型システム全体についての様々な他の種類の無駄もしくは非効率性などの、大きな
コストとなり得る。
、個別のリソースのため、及び分散型システム全体にわたるリソースの配置のための、最
良または最適な配置位置を判断するために使用されてもよい。例えば、利用可能性、耐久
性、及び/またはリソースの他の性能特性を提供し、または改善するために、配置基準は
、リソースが配置されるべき特定の位置(例えば、ネットワークルータまたはブリックな
どの異なる基盤区域)を判断するために使用されてもよい。そのような位置が利用可能で
ない場合、配置基準は、リソースを配置するのにあまり最適でない位置(例えば、配置さ
れるリソースが通信する別のリソースとは異なるネットワークルータまたはブリックなど
の、あまり効率的でない基盤区域にあるリソースホスト)を示してもよい。分散型リソー
ス、利用可能なバイト、IOPs、またはスロット、IOPsバランスに対するバイトな
どのリソース利用バランスの一部が、容量フラグメンテーション、ハードウェア/ソフト
ウェア特性、及び/または様々な所望の位置ベースの構成に影響を与える場合、配置基準
は、他のリソースを伴うリソースの構成を含んでもよいが、限定はされない。
移行についての論理ブロック図を示す。分散型システムにおけるリソースが、個別のリソ
ース、及び/または分散型システムにおけるリソースの配置全体のいずれかについてより
良い配置である他のリソースホストに移行されてもよいように、適時性リソース配置12
0は、適時性リソース移行(複数可)140を実行するために、現在配置されているリソ
ース100を評価してもよい。1つまたは複数のコンピューティングシステム、ノード、
もしくはデバイス(例えば、下記の図10におけるシステム1000)であり得るリソー
スホストが、分散型システムのリソースをホストし、または実装するように構成されても
よい。
能特性などの個別または一部)に関する情報、リソースホスト(ホストされたリソースの
数、リソース利用率(例えば、処理、ネットワーク、ストレージ、帯域幅など)、ハード
ウェア/ソフトウェア構成、またはホストするためのリソースホストの状態及びそのケイ
パビリティを判断するための任意の他のデータ)に関する情報などの、現在配置されてい
るリソースに関する情報を取得してもよい。コスト利益移行分析130は、適時性移行の
ための候補リソースとしてリソースを識別するために実行されてもよい。コスト利益移行
分析130は、予想される移行が、移行されるリソースの配置を改善することとなる移行
のための候補リソース、移行されない他のリソース、及び/または分散型システムにおけ
るリソースのより全体的な配置を識別するように実行されてもよい。例えば、配置データ
110は、リソース112a、112b、112c、112d、及び112eの最適性を
示す。グラフは、最適な配置118と比較されるリソースの現在の配置116のスコア、
パーセンテージ、または他の標識を表す。少なくともいくつかの実施形態では、配置スコ
ア、または他のメトリックが、各リソース112に対して生成されてもよい。同様の評価
が、リソースをホストするのに利用可能であり得るリソースホストに関して行われてもよ
い。利用可能なリソースホストにおけるリソースの可能な配置の効果が、仮定ではリソー
スを含む利用可能なリソースホストについての配置スコアを生成することによって判断さ
れてもよい。このリソースの配置スコアについての移行の効果114は、各リソース11
2についてのグラフに対する追加(例えば、改善)として示される。
、より良好に配置された位置にリソースを移動するための移行動作を実行するコストは、
移行によってもたらされる利益に不利に働くことがある。例えば、移行動作の利益が、移
行を実行するためのコストを上回っているリソースを識別することができる改善最適化閾
値が、実装されてもよい。リソース112bは、他のリソース112に関して現在の配置
が最も悪いが、配置を改善する移行の効果が、リソース112a、112c、及び112
eなどの他のリソースとは同程度にならないことがある。リソース112b(及び112
d)についての改善量は、改善閾値を超えないことがある場合がある。
ず)に関して、同様の分析が行われてもよい。例えば、配置全体についての移行スコアに
対する、リソース112などのリソースを移行する効果は、全体的な配置に対する利益が
、移行動作を実行するためのコストに値するかどうかを判断するために、最適化閾値と比
較されてもよい。同様に、他の個別の、またはグループのリソースに対する移行の影響に
関して同じ分析が行われてもよく、1つのリソースの予想される移行が、移行を実行する
ための改善閾値を超えて、別のリソースの配置を改善するかどうかを検査する。
されている候補リソースに対して実行されてもよい。適時性リソース移行(複数可)14
0は、リソース自体の動作を妨害しないような方法でスケジュールされ、または指示され
てもよい(例えば、適時性リソース移行(複数可)140が、バックグラウンドプロセス
またはサービスの一部として実行されてもよい)。少なくともいくつかの実施形態では、
より大きな、またはより有益な効果を有する移行が、より早く(例えば、リソース112
eについての移行の前に、リソース112cについての移行)実行されるように、優先度
が、移行に割り当てられてもよい。
リソースの配置を最適な位置に再調整して、より大きな効率性、耐久性、利用可能性、ま
たは配置基準がリソース及び分散型システムに対して達成するように設計される任意の他
の性能目標を達成し得る。例えば、分散型リソース(例えば、マスタ及びスレーブペア、
またはピアノードのグループ)が、適時的なリソース移行の結果として最終的に達成され
得る、初期配置において達成されない、分散型リソースの他のメンバに関する最適な構成
を有してもよい。さらに、そのような最適な配置に対する障壁が、(移行がいくつかのリ
ソースまたは分散型システム全体にとってより良い場合に、他のリソースにとってあまり
最適でない位置に対してであっても)他のリソースを移行することによって除去されても
よい。例えば、追加のリソースをホストすることができないリソースホストが、現在最適
以下である他のリソースについて最適な配置を提供し得る位置として識別されてもよい。
(ホストから移動されるリソースが、同じレベルの最適性、またはあまり最適でない位置
に配置され得るとしても)他のリソースをホストすることによって、リソースは、候補リ
ソースとして識別され、最適以下の配置を矯正するために、リソースホストを利用可能に
するように移行されてもよい。個別のリソースにとって望ましい構成もまた、得られても
よい。いくつかの実施形態では、基盤区域に関する配置が、非常に望ましい場合があり、
適時性リソース移行を実装することによって、異なるリソースホストへの移行が、最適な
基盤区域にリソースを位置させることを可能にし得る。
性リソース移行の一実施例として提供されることに留意されたい。様々なコンポーネント
が、リソース配置を実行してもよい。異なる数または種類のリソース及び配置データが、
採用されてもよい。
クは、ブロックベースストレージサービスを介して供給されるデータボリュームのための
適時性移行などの、プロバイダネットワーク内の1つまたは複数のネットワークベースサ
ービスを介して供給されるリソース配置のための適時性リソース移行を実装してもよい。
次いで、ブロックベースストレージサービスにおけるデータボリュームについてのボリュ
ーム配置の一部として採用され得る、異なるコンポーネント/モジュール、またはコンポ
ーネント/モジュールの配列を含む、ブロックベースストレージサービスの様々な実施例
が、説明される。次いで、リソース配置のための適時性リソース移行を実装する、いくつ
かの異なる方法及び技術が、説明され、そのうちのいくつかが、添付のフローチャートに
示される。最後に、様々なコンポーネント、モジュール、システム、デバイス、及び/ま
たはノードが実装され得るコンピューティングシステムの実施例の説明が提供される。明
細書全体を通して、様々な実施例が提供される。
する、ブロックベースストレージサービスを含む複数のネットワークベースサービスを実
装するプロバイダネットワークを示すブロック図である。プロバイダネットワーク200
は、インターネット及び/または他のネットワークを介してクライアント210にアクセ
ス可能な1つまたは複数のサービス(様々な種類のクラウドベースコンピューティングま
たはストレージなど)を提供するように、会社または公共部門組織などの実体によってセ
ットアップされてもよい。プロバイダネットワーク200は、物理的な、及び/または仮
想化されたコンピュータサーバ、ストレージデバイス、ネットワーキング機器(例えば、
図10に関して後述するコンピューティングシステム1000)などの、プロバイダネッ
トワーク200によって供給されるインフラ及びサービスを実装し、分散させる必要があ
る、様々なリソースプールをホストする多数のデータセンタを含んでもよい。いくつかの
実施形態では、プロバイダネットワーク200は、仮想コンピュートサービス230、ブ
ロックベースストレージサービス220及び(オブジェクト/キーバリューベースのデー
タストア、または様々な種類のデータベースシステムなどの、様々なストレージタイプを
含み得る)他のストレージサービス240などのストレージサービス、ならびに/または
任意の他の種類のネットワークベースサービス250などの、コンピューティングリソー
スを提供してもよい。クライアント210は、ネットワーク260を介して、プロバイダ
ネットワーク200によって供給されるこれらの様々なサービスにアクセスしてもよい。
同様に、ネットワークベースサービスそれ自体が、異なるサービスを提供するために、互
いに通信し、及び/または互いを利用してもよい。例えば、仮想または物理コンピュート
インスタンス、またはストレージインスタンスなどの、「インスタンス」と呼ばれる単位
で、クライアント210に供給されるコンピューティングリソースは、特定のデータボリ
ューム226を利用して、コンピュートインスタンスに対する仮想ブロックストレージを
提供してもよい。
をクライアント210に供給してもよい。仮想コンピュートインスタンスは、例えば、(
CPUの種類及び数、メインメモリサイズなどを示すことによって指定され得る)指定さ
れた計算容量、ならびに(例えば、特定のバージョンのオペレーティングシステムであっ
て、ハイパーバイザのトップで動作し得る)指定されたソフトウェアスタックを有する1
つまたは複数のサーバを含んでもよい。いくつかの異なる種類のコンピューティングデバ
イスは、単独で、または組み合わせて使用され、専用コンピュータサーバ、ストレージデ
バイス、ネットワークデバイスなどを含む、異なる実施形態において仮想コンピュートサ
ービス230のコンピュートインスタンスを実装してもよい。いくつかの実施形態では、
インスタンスクライアント210またはその他の任意の他のユーザが、コンピュートイン
スタンスに対してネットワークトラフィックを指示するように構成され(及び/または認
可され)てもよい。様々な実施形態では、コンピュートインスタンスは、様々な動作を実
行するための永続ブロックベースストレージを取得するために、ブロックベースストレー
ジサービス220によって提供される1つまたは複数のデータボリューム226にアタッ
チ、またはマッピングしてもよい。
ト210を必要とすることなくクライアントアプリケーションを実行するのに適した、ア
プリケーションサーバインスタンス、Java(商標)仮想マシン(JVM)、専用オペ
レーティングシステム、Ruby、Perl、Python、C、C++などの様々なイ
ンタプリタ型もしくはコンパイル型プログラミング言語をサポートするプラットフォーム
、または高性能コンピューティングプラットフォームなどの、多様な異なるプラットフォ
ームを動作させ、または実装してもよい。いくつかの実施形態では、コンピュートインス
タンスは、所期の稼働率に基づいて、異なる種類または構成を有する。特定のコンピュー
トインスタンスの稼働率は、インスタンスが予約されている総時間量に対する、インスタ
ンスがアクティブ化されている時間量の比率として定義されてもよい。いくつかの実施態
様では、稼働率は、利用率とも呼ばれ得る。クライアントが、インスタンスが予約される
時間の比較的短い部分(例えば、年間予約の30%〜35%)の間コンピュートインスタ
ンスを使用することを予期する場合、クライアントは、低稼働率インスタンスとしてイン
スタンスを予約し、関連する価格決定方針に従って、値引きされた時間使用料を支払うよ
うに決定してもよい。クライアントが、時間のほとんどのインスタンスを必要とする、定
常状態の作業負荷を有することを予期する場合、クライアントは、高稼働率インスタンス
を予約し、より低い時間使用料であっても潜在的に支払い得るが、いくつかの実施形態で
は、実際の使用時間数にかかわらず、価格決定方針に従って、予約の全期間について時間
料金が請求されてもよい。中稼働率についての選択肢が、対応する価格決定方針を用いて
同様にいくつかの実施形態でサポートされてもよく、その場合、前払いのコスト及び時間
ごとのコストは、対応する高稼働率及び低稼働率のコストの間にある。
トラフィックウェブアプリケーション、広告提供、バッチ処理、ビデオ符号化、分散解析
学、高エネルギー物理学、ゲノム分析、及び計算流体力学)についての計算作業負荷、グ
ラフィック集中型の作業負荷(例えば、ゲームストリーミング、3Dアプリケーションス
トリーミング、サーバサイドグラフィックス作業負荷、レンダリング、ファイナンシャル
モデリング、及びエンジニアリング設計)、メモリ集中型の作業負荷(例えば、高性能デ
ータベース、分散型メモリキャッシュ、インメモリ解析、ゲノムアセンブリ及び分析)、
ならびに、ストレージ最適化作業負荷(例えば、データウェアハウジング及びクラスタフ
ァイルシステム)などの、汎用的な、または特定の目的を有するコンピュートインスタン
スを含んでもよい。特定の数の仮想CPUコア、メモリ、キャッシュ、ストレージ、及び
任意の他の性能特性などの、コンピュートインスタンスのサイズ。コンピュートインスタ
ンスの構成は、また、それらの位置、特定のデータセンタ内、利用可能区域、地理的位置
など、及び(予約されたコンピュートインスタンスの場合)予約期間の長さを含んでもよ
い。
めのブロックベースストレージサービス220を実装してもよい。ブロックベースストレ
ージサービス220は、複数の独立したリソースホスト224a、224b、224c〜
224nのプール(例えば、サーバブロックデータストレージシステム)からなるストレ
ージシステムであり、リソースホストは、1つまたは複数のデータボリュームデータボリ
ューム(複数可)のセット226a、226b、226c〜226nを記憶するためのブ
ロックレベルストレージを提供する。データボリューム226は、特定のクライアント(
例えば、仮想コンピュートサービス230の仮想コンピュートインスタンス)にマッピン
グされて、仮想ブロックベースストレージ(例えば、ハードディスクストレージまたは他
の永続ストレージ)を論理ブロックの連続したセットとして提供してもよい。いくつかの
実施形態では、データボリューム226は、スナップショット動作または複製動作などの
他のブロックストレージ動作を実行するための(1つまたは複数のデータブロックを含む
)複数のデータチャンクまたはパーティションに分割されてもよい。データボリューム2
26のボリュームスナップショットは、データボリューム226の状態の固定時点の表現
であってもよい。いくつかの実施形態では、ボリュームスナップショットは、別のストレ
ージサービス240内など、データボリュームを保持するリソースホスト224から離れ
て記憶されてもよい。スナップショット動作は、他のストレージサービス240内のリモ
ートスナップショットデータストアなどの、別のストレージ位置に所与のデータボリュー
ムのスナップショットを送信し、コピーし、及び/または保存するために実行されてもよ
い。
0の動作を支援するブロックベースストレージサービス制御プレーン222を実装しても
よい。様々な実施形態では、ブロックベースストレージサービス制御プレーン222は、
仮想コンピュートサービス230及び/もしくはプロバイダネットワーク200内に位置
する他のネットワークベースサービスによって提供されるコンピュータインスタンス上で
実行するプログラム、ならびに/または任意で、1つまたは複数の他のデータセンタ内に
位置するコンピューティングシステム(図示せず)、もしくはネットワーク260を介し
て利用可能なプロバイダネットワーク200の外部にある他のコンピューティングシステ
ムなどの、クライアントに対するブロックデータストレージの利用可能性を管理すること
を支援する。データボリューム226へのアクセスは、ブロックデータトランザクション
命令に応答して、プロバイダネットワーク200内の内部ネットワーク上で、またはネッ
トワーク260を介して外部から提供されてもよい。
例えば、作成、削除、課金、支払いの徴収など)を含む、ブロックレベルストレージの機
能性を提供することに関係する多様なサービスを提供してもよい。ブロックベースストレ
ージサービス制御プレーン222は、設定要求に応答して、データボリューム226の作
成、使用及び削除に関係するサービスをさらに提供してもよい。少なくともいくつかの実
施形態では、ブロックベースストレージサービス制御プレーン222は、図3に関連して
さらに詳細に後述するように、ボリューム配置228を実装してもよい。ブロックベース
ストレージサービス制御プレーン222は、また、他のストレージサービス240上のボ
リュームスナップショットの作成、使用及び削除に関係するサービスを提供してもよい。
ブロックベースストレージサービス制御プレーン222は、また、データボリューム22
6及びそれらのボリュームのスナップショットの使用に関係する性能及び検査データの収
集及び処理に関係するサービスを提供してもよい。
0を実装してもよい。他のストレージサービス240は、ブロックベースストレージサー
ビス220によって提供されるのと同一の、または異なる種類のストレージを提供しても
よい。例えば、いくつかの実施形態では、他のストレージサービス240は、データをデ
ータオブジェクトとして記憶し管理し得る、オブジェクトベースストレージサービスを提
供してもよい。例えば、様々なデータボリューム226のボリュームスナップショットは
、特定のデータボリューム226についてのスナップショットオブジェクトとして記憶さ
れてもよい。他のストレージサービス240に加えて、プロバイダネットワーク200は
、クライアント210及びプロバイダネットワーク200の他のサービス(例えば、ブロ
ックベースストレージサービス220、仮想コンピュートサービス230、及び/または
他のストレージサービス240)が、様々なタスクを実行または要求できるようにする、
様々な異なる種類の分析、計算、ストレージ、または他のネットワークベースシステムを
含み得る、他のネットワークベースサービス250を実装してもよい。
能な任意の種類のクライアントを包含してもよい。例えば、所与のクライアント210は
、適当なバージョンのウェブブラウザを含んでもよく、または、ウェブブラウザによって
提供される実行環境の拡張として、もしくは実行環境の範囲内で実行するように構成され
た、プラグインモジュールもしくは他の種類のコードモジュールを含んでもよい。代替的
に、クライアント210は、データベースアプリケーション(もしくは、そのユーザイン
タフェース)、メディアアプリケーション、オフィスアプリケーション、または、様々な
動作を実行するためにコンピュートインスタンス、データボリューム226、もしくはプ
ロバイダネットワーク200内の他のネットワークベースサービスを利用し得る任意の他
のアプリケーションなどのアプリケーションを包含してもよい。いくつかの実施形態では
、そのようなアプリケーションは、全ての種類のネットワークベースのデータについての
完全なブラウザサポートを必ずしも実装することなくネットワークベースサービス要求を
生成及び処理するのに十分な(例えば、適当なバージョンのハイパーテキスト転送プロト
コル(HTTP)のための)プロトコルサポートを含んでもよい。いくつかの実施形態で
は、クライアント210は、REST(Representational State
Transfer)型のネットワークベースサービスアーキテクチャ、ドキュメントベ
ースもしくはメッセージベースのネットワークベースサービスアーキテクチャ、または別
の適当なネットワークベースサービスアーキテクチャに従って、ネットワークベースサー
ビス要求を生成するように構成されてもよい。いくつかの実施形態では、クライアント2
10(例えば、計算クライアント)は、コンピュートインスタンスによって提供される計
算リソースまたはデータボリューム226によって提供されるブロックストレージを利用
するクライアント210上で実装するアプリケーションにトランスペアレントなやり方で
、コンピュートインスタンスまたはデータボリューム226へのアクセスを提供するよう
に構成されてもよい。
0にネットワークベースサービス要求を伝達してもよい。様々な実施形態では、外部ネッ
トワーク260は、クライアント210及びプロバイダネットワーク200間でネットワ
ークベース通信を確立するのに必要なネットワーキングハードウェア及びプロトコルの任
意の適当な組み合わせを包含してもよい。例えば、ネットワーク260は、概して、集合
的にインターネットを実装する、様々な遠距離通信ネットワーク及びサービスプロバイダ
を包含してもよい。ネットワーク260は、また、ローカルエリアネットワーク(LAN
)または広域ネットワーク(WAN)などの私設ネットワーク、及び公衆または私設無線
ネットワークを含んでもよい。例えば、所与のクライアント210及びプロバイダネット
ワーク200の両方が、それ自体の内部ネットワークを有する企業内でそれぞれ供給され
てもよい。そのような実施形態では、ネットワーク260は、所与のクライアント210
及びインターネット間、ならびにインターネット及びプロバイダネットワーク200間で
、ネットワーキングリンクを確立するのに必要なハードウェア(例えば、モデム、ルータ
、スイッチ、負荷分散装置、プロキシサーバなど)及びソフトウェア(例えば、プロトコ
ルスタック、会計ソフトウェア、ファイアウォール/セキュリティソフトウェアなど)を
含んでもよい。いくつかの実施形態では、クライアント210は、公衆インターネットで
はなく、私設ネットワークを用いてプロバイダネットワーク200と通信してもよいこと
に留意されたい。
移行を実装するボリューム配置を示す論理ブロック図である。上述のように、リソースホ
スト300などの複数のリソースホストが、ブロックベースストレージサービスを提供す
るために実装されてもよい。リソースホストは、ストレージサーバまたは他のコンピュー
ティングシステム(例えば、図10に関連して後述するコンピューティングシステム10
00)などの、1つまたは複数のコンピューティングシステムまたはデバイスであっても
よい。各リソースホストは、データボリュームのそれぞれの複製を保持してもよい。いく
つかの実施形態では、いくつかのデータボリュームは、他のデータボリュームとはサイズ
が異なってもよい。リソースホストは、また、マルチテナント型ストレージを提供しても
よい。例えば、いくつかの実施形態では、1つのリソースホストが、ブロックベーススト
レージサービス220の1つのアカウントについてのデータボリュームを保持してもよく
、一方、同一リソースホストにおいて保持される別のデータボリュームが、異なるアカウ
ントについて保持されてもよい。リソースホストは、各リソースホストを実装するコンピ
ューティングシステムまたはデバイスに直接取り付けられ得る1つまたは複数のブロック
ベースストレージデバイス(例えば、ハードディスクドライブ、ソリッドステートドライ
ブなど)において、それらのそれぞれのデータボリュームを永続させてもよい。リソース
ホストは、異なる永続ストレージデバイスを実装してもよい。例えば、いくつかのリソー
スホストは、永続ブロックストレージのためのソリッドステートドライブ(SSD)を実
装してもよく、一方、他のリソースホストは、ハードディスクドライブ(HDD)または
他の磁気ベース永続ストレージデバイスを実装してもよい。このように、異なるボリュー
ムタイプ、仕様、及び他の性能特性は、リソースホストにおいて実装される永続ストレー
ジデバイスに従って提供されてもよい。
を管理及び保持してもよい。異なる耐久性の方式が、データボリュームの異なるパーティ
ションにおいてデータボリュームの同一の複製を保持する分散型リソースとして、2つ以
上のリソースホスト間のいくつかのデータボリュームに対し実装されてもよい。例えば、
データボリュームについての単一障害点を除去することなどによって、データボリューム
の耐久性を向上させるために、異なるタイプのミラーリング及び/または複製技術(例え
ば、RAID1)が実装されてもよい。データボリュームへのアクセスを提供するために
、リソースホストは、そのときに、データボリュームの複製を保持する2つ以上のリソー
スホスト間で、書き込み要求などのI/O要求を協調させてもよい。例えば、所与のデー
タボリュームについて、1つのリソースホストが、マスタリソースホストとして機能して
もよい。様々な実施形態では、マスタリソースホストが、データボリュームのクライアン
トから要求(例えば、I/O要求)を受信し、処理してもよい。したがって、マスタリソ
ースホストは、そのときに、書き込み要求などのI/O要求の複製、またはスレーブリソ
ースホストとして機能する1つもしくは複数の他のリソースホストに対するデータボリュ
ームへの任意の他の変更もしくは修正を協調させてもよい。したがって、書き込み要求が
、マスタリソースホストにおけるデータボリュームについて受信されるとき、マスタリソ
ースホストは、書き込み要求をスレーブリソースホスト(複数可)に転送してもよく、ス
レーブリソースホスト(複数可)が、マスタリソースホストにおいて書き込み要求を完了
する前に完了として書き込み要求を確認応答するまで待機してもよい。マスタリソースホ
ストが、スナップショット動作、または他のI/O動作(例えば、読み取り要求を出すこ
と)のような、データボリュームに対する他の動作を指示してもよい。
ームごとに割り当てられてもよいことに留意されたい。例えば、1つのリソースホストに
おいて保持されるデータボリュームについて、リソースホストが、マスタリソースホスト
として機能してもよい。別のデータボリュームが、同一のリソースホストにおいて保持さ
れる間、リソースホストが、スレーブリソースホストとしてサービスしてもよい。リソー
スホストは、それぞれのI/Oマネージャを実装してもよい。I/Oマネージャは、特定
のリソースホストにおいて保持されるデータボリュームに向けられるI/O要求をハンド
リングしてもよい。したがって、I/Oマネージャは、例えば、リソースホストにおける
ボリュームへの書き込み要求を処理し、ハンドリングしてもよい。I/Oマネージャは、
ブロックベースストレージサービスのアプリケーションプログラミングインタフェース(
API)、及び/または、インターネットスモールコンピュータシステムインタフェース
(iSCSI)などの他の通信プロトコルに従って、I/O要求を処理するように構成さ
れてもよい。
、ネットワーキングスイッチ、ルータ、もしくは他のコンポーネントなどのデバイス、電
源(もしくは他のリソースホストサプライヤ)または物理的もしくは地理的位置(例えば
、特定の通り、部屋、建物、データセンタ、フォールトトレラント区域などにおける位置
)によって定義されてもよい。リソースホスト(及び、リソースホスト上に実装されるデ
ータボリュームの複製)が、特定のネットワークルータまたはブリック、特定の部屋の位
置、特定のサイトなどの、複数の異なる種類の基盤区域内にあり得るように、基盤区域が
、範囲内で変化してもよい。
ューム配置228を実装してもよい。ボリューム配置228は、1つまたは複数のコンピ
ューティングノード、システム、またはデバイス(例えば、図10におけるシステム10
00)において実装されてもよい。少なくともいくつかの実施形態では、ボリューム配置
228は、情報、メトリック、メタデータ、またはボリューム配置を実行するための任意
の他の情報を収集するために、配置データ収集320を実装してもよい。配置データ収集
320は、情報、メトリック、またはメタデータのためのクエリで、リソースホスト(複
数可)300を周期的にスイープしてもよい。例えば、リソースホストは、現在の利用メ
トリック、進行中のタスクまたは動作(例えば、移行または再ミラータスクなど)、及び
リソースホストに存在するボリュームについてのボリューム固有情報を含む、リソースホ
ストについての任意の他の状態情報を提供してもよい。いくつかの実施形態では、配置デ
ータ収集320は、基盤区域、パーティション、リソースホスト、またはブロックベース
ストレージサービス220についての他の粒度に従って、データを集計してもよい。配置
データ収集320は、収集したデータを永続的に保持し得るボリューム/サービス状態ス
トア322において、データを記憶してもよい。いくつかの実施形態では、ボリューム/
サービス状態ストア322は、ボリューム配置228の他のコンポーネントまたはブロッ
クベースストレージサービス制御プレーン226へのアクセスを提供するために、データ
ベースまたは検索可能な/クエリ可能なストレージシステムとして実装されてもよい。
よい。配置エンジン310は、新たなデータボリュームの複製、または移行中の現在配置
されているデータボリュームなどの、リソースについての配置位置を識別するために、様
々な種類の分析を実行してもよい。分析は、上述した配置基準について実行されて、個別
のリソースまたはブロックベースストレージサービス全体について最適であり得る配置位
置を判断してもよい。例えば、配置エンジン310は、データボリュームのマスタ、スレ
ーブ(複数可)の配置などの、分散型リソース内のリソースの全ての予想される配置構成
を評価する、構成分析312を実装してもよい。いくつかの実施形態では、クライアント
または分散型リソース(または分散型リソースのリソース)の他のユーザは、構成分析(
例えば、データボリュームにアタッチされる仮想インスタンスを含む配置構成を評価する
こと)において考慮されてもよい。構成分析312は、分散型リソースの他のリソースに
対しより良い構成を提供することとなるリソースホストにおける空間を開放するために、
現在配置されているリソースを他のリソースホストに移行することの影響を考慮してもよ
い。例えば、これは、スレーブボリューム(例えば、リソース)を別のリソースホストに
移動して、そのホストの異なるスレーブボリュームのための場所を開けることを含み得る
。それは、ボリュームのマスタまたはボリュームのクライアントと同じ基盤区域内に別の
スレーブボリュームを作ることになる。いくつかの状況では、この構成(例えば、クライ
アントと同じネットワークルータに接続されているなど、同じ基盤区域内にマスタまたは
スレーブボリュームを有すること)は、改善された性能を提供し、最適な構成であっても
よい。
ボリューム/サービス状態322にアクセスすることによって、予想される配置を判断し
てもよい。利用可能であり、いかなる配置制約にも違反しないリソースホストが、評価さ
れてもよい(例えば、データボリュームの2つのパーティションが、同一のリソースホス
ト、十分な容量を有するリソースホスト、または特定のハードウェア及び/もしくはソフ
トウェアを実装するリソースホストによってホストされることができない)。いくつかの
実施形態では、(利用可能なリソースホストの非常に大きなプールを評価することは、計
算上コストが掛かりすぎるため)利用可能なリソースホストのサブセットが、配置決定に
ついて評価されてもよい。予想される配置構成が、リソースについての利用可能なリソー
スホストに基づいて生成され、または識別されてもよい。データボリュームの他の複製が
、実際の、または仮定の配置位置に基づいて評価されてもよい。
ビス状態332に基づいて、分散型の異なる予想される配置構成について判断されてもよ
い。例えば、メタデータは、データボリュームの異なる複製のリソースホストが、どのネ
ットワークブリックまたはルータに接続されているかを示してもよい。少なくともいくつ
かの実施形態では、予想される配置構成(配置されるべきリソースが、異なる利用可能な
リソースホストに位置される)の基盤区域のローカリティについて、スコアが生成されて
もよい。配置エンジン310は、多くの他のメトリック、データ、または基盤区域のロー
カリティ以外の考慮に基づいて、構成分析312を実行してもよい。例えば、少なくとも
いくつかの実施形態では、分析は、データボリュームの複製をホストするリソースホスト
の異なる性能メトリックに関して、予想される構成について実行されてもよい。例えば、
ストレージ容量、作業負荷、または1秒当たりの入出力動作(IOPs)が、データボリ
ューム全体について評価されてもよい。異なるパーティションが、データボリュームに対
しデータの異なる部分を保持するように、いくつかのデータボリュームが区画されてもよ
い。例えば、データボリュームは、3セットのマスタ−スレーブ複製のペアに区画されて
もよい。構成分析312は、複製されるデータボリュームの各部分(例えば、各マスタ−
スレーブ複製のペア)、またはデータボリュームパーティションの全て(例えば、3つ全
てのマスタ−スレーブ複製のペア)についての配置構成に基づいて実行されてもよい。
てもよい。例えば、スコアは、特定のリソースホストが、接触された、または接触した最
終時間に基づき、配置について生成されてもよい。分析は、複数のマスタ−スレーブ複製
のペアを識別し、同じ2つのリソースホストに配置されることを防止するように実行され
てもよい。いくつかの実施形態では、パーティションをホストし、未活用の空間を最小量
にしておくことが可能な、リソースホスト上のリソースの配置を最適化するために、リソ
ースホストフラグメンテーション分析が実行されてもよい。上記構成分析と同様に、上記
で与えられる分析例が、移行された場合に移動されなかった他のリソースのより良い配置
を提供し得る、いくつかのリソースについて配置位置を決定するために実行されてもよい
。
装してもよい。リソース(例えば、データボリューム)についての配置が、より最適であ
り、及び/またはリソースホスト(複数可)310間のリソースの配置が、(移行の結果
、移行されたリソースについての同一の、もしくはあまり最適でない新たな配置が生じる
場合であっても)全体としてより最適であるように、適時性配置マネージャ330は、動
的に、または積極的に、現在配置されているリソース(例えば、ボリュームの複製)を、
1つのリソースホストから別のリソースホストへ移行してもよい。例えば、適時性配置マ
ネージャ330は、図6及び図7に関して後述するように、最適以下(例えば、低いスコ
アが付けられている基盤区域のカテゴリ)に配置されるように決定されるリソースについ
ての配置を、配置エンジン310から要求するように移行動作スケジューリング332を
実装してもよい。移行動作スケジューリング332は、次いで、実行される場合にどの配
置が、移行最適化閾値または他の改善閾値(例えば、現在の配置スコアと新たな配置スコ
アとの差)を超えるかを判断してもよい。配置最適化閾値を超えることとなる、可能な配
置を有するリソースについて、移行動作スケジューリング332は、移行動作キュー33
6内のパーティションに対し、移行動作を配置してもよい。いくつかの実施形態では、よ
り有益な移行動作がより早く実行されるように、移行動作スケジューリング332は、移
行動作に優先度を割り当ててもよい。
実行は、非同期式であってもよい。異なる移行動作のスケジューリング及び/または実行
を協調させるために、スケジューリング構造または他のデータセットが保持されてもよい
。いくつかの実施形態では、移行動作キュー336などの移行動作のキューが実装されて
もよい。図4は、いくつかの実施形態による、楽観的なリソース移行のための移行キュー
を示す論理ブロック図である。
持されてもよい。少なくともいくつかの実施形態では、データベースシステムまたはトラ
ンザクション制御を提供する他のストレージシステムが、移行動作キューを保持するため
に利用されてもよい。例えば、移行動作キュー400は、他のストレージサービス240
の一部として実装されたNoSQLデータストアなど、別のネットワークベースサービス
内にデータベーステーブルとして保持されてもよい。移行動作スケジューリング332は
、図6〜9に関連して後述する様々な技術に従って、移行動作キュー400を周期的に更
新してもよい。例えば、移行動作404は、完了するように「進行中」から変更された状
態を有してもよい。ボリューム識別子、行先ホストの位置、状態、最終更新時間、及び/
または優先度値などの、移行動作のための様々なメタデータ及び情報が、保持されてもよ
い。
移行動作(例えば、移行動作404及び408)などの移行動作をキュー400から削除
してもよい。まだ実行されていない移行動作は、キュー内に記憶される更新された優先度
(例えば、優先度値を上昇、または低下)を有してもよい。最終更新時間は、キュー内の
移行動作に対する更新が最後に行われた時を示してもよい。例えば、移行動作502は、
他の移行動作504、506、及び508より後の更新時間(14:34:06)を有し
、したがって、より最近の/関連のあるデータを有すると考えられてもよい。図7に関連
して後述するように、優先度値は、移行動作を適時的にスケジュールするために、移行動
作に割り当てられてもよい。少なくともいくつかの実施形態では、移行動作キュー400
は、優先度キューとして実装されてもよく、したがって、優先度が最も高い移行動作が、
実行のために選択されてもよい。
もよい。移行ワーカ(複数可)340は、実行する移行動作について、適時性配置マネー
ジャ330に要求を送信してもよい。適時性配置マネージャ330は、移行動作を移行動
作キュー336から取り出し、移行動作を指示するために移行ワーカ340に割り当てて
もよい。代替的に、いくつかの実施形態において、移行ワーカは、実行する移行動作を識
別するために移行動作キュー336に直接アクセスしてもよい。移行ワーカ(複数可)3
40は、いくつかの実施形態では、(例えば、状態を「準備中」から「進行中」に変更す
るように)移行動作キュー336内の移行動作についてのメタデータを更新してもよい。
めに実装されてもよい。配置データ収集320は、ネットワーク利用率、リソースホスト
利用率、または任意の他の動作メトリックなどの他のデータと共に、リソースホスト(複
数可)310において進行中の現在の移行動作を追跡し、保持し、または監視し、ボリュ
ーム/サービス状態322を更新してもよい。移行ワーカ(複数可)340は、いくつか
の移行制限に従って、移行動作が抑制されるべきかどうかを判断するために、ボリューム
/サービス状態322にアクセスしてもよい。例えば、いくつかの実施形態では、1つま
たは複数のリソースホスト(複数可)310、ネットワーキングデバイス(複数可)、ル
ータ(複数可)、スイッチ、電源(複数可)または仮想ブロックベースストレージサービ
スの他のコンポーネントもしくはデバイスを含み得る、ネットワークローカリティが、識
別されたリソース移行動作を実行する効果に関して評価されてもよい。異なる移行制限(
例えば、移行動作の数、ネットワーク利用率、リソースホスト利用率など)が、ネットワ
ークローカリティに関して実施されてもよい。移行動作が、異なるネットワークローカリ
ティのうちの1つについての制限を超える場合、移行ワーカは、移行動作の実行を抑制し
てもよい(例えば、移行動作が、拒否または遅延されてもよい)。いくつかの実施形態で
は、移行動作抑制が、特定の基盤区域またはネットワークローカリティに(例えば、移行
動作の現在の及び行先リソースホストを含む区域などの、移行の実行に関わることとなる
基盤区域またはネットワークローカリティに)制限されてもよい。いくつかの実施形態で
は、適時性配置管理330は、移行ワーカ(複数可)340に加えて、または移行ワーカ
(複数可)340の代わりに、抑制する移行動作を実行してもよい。
するために、上記及び下記で説明する様々な技術を実行し得る配置エンジン310から、
移行されるべきリソースについての更新された配置を要求してもよい。
移行するためのインタラクションを示す論理ブロック図である。上述のように、配置デー
タ収集320は、ボリュームサービス状態322を更新するために、リソースホスト(複
数可)500からホスト/ボリュームデータをスイープまたは要求502してもよい。リ
ソースホスト(複数可)は、ホスト/ボリュームデータを配置データ収集320に送信5
02し、配置データ収集320は、ボリューム/サービス状態506を集計し、及び/ま
たは更新してもよい。適時性配置管理330は、配置エンジン310からボリューム配置
(複数可)を要求508してもよい。配置エンジン310は、図3に関連して上述した技
術に従うなどして、配置位置を決定してもよい。ボリューム配置(複数可)は、適時性配
置管理330に提供512されてもよい。移行最適化閾値を超えるボリューム(または、
リソース)について、移行動作キューは、新たな移行動作を追加するように更新514さ
れてもよい。陳腐化した、または完了した移行動作は、移行キュー336から削除されて
もよい。
6してもよい。適時性配置マネージャ330は、候補移行動作(複数可)を取得518す
るために移行動作キュー336を評価してもよい。移行動作キュー336からの移行動作
(複数可)520は、移行ワーカ(複数可)340に返され522てもよい。次いで、移
行ワーカ(複数可)340は、影響を受けるリソースホスト(複数可)500に対し移行
動作を指示524してもよい。いくつかの実施形態では、移行ワーカ(複数可)340は
、中継として動作してもよく、リソースを行先リソースホストに送信する前に、元のリソ
ースホストからリソースを取得してもよい。図5で提供される様々なインタラクション及
び例示は、様々な標準の、またはカスタマイズされた通信技術を用いて通信されてもよい
。例えば、配置エンジン310、適時性配置管理330、移行動作キュー336、ボリュ
ームサービス状態322、リソースホスト(複数可)500などのための様々な内部AP
Iは、それぞれのインタフェース(例えば、APIなどのプログラムによるインタフェー
ス)をそれぞれ有してもよく、図5におけるそれぞれの通信は、それに応じてフォーマッ
トされてもよい。
ロックベースストレージサービス、及び/または他のネットワークベースサービスに関連
して示されている。リソースホストに分散型リソースのリソースを配置する、様々な他の
種類または構成の分散型システムが、これらの技術を実装してもよい。例えば、バックア
ップまたはアーカイブの分散型ストレージシステムは、現在配置されているデータについ
てより最適な配置を決定してもよい。リソース配置のための適時性リソース移行を実装し
得る、上述した様々なモジュール、コンポーネント、システム、及びまたはサービスの異
なる構成が、リソースの現在の配置を評価し、候補リソースを識別し、候補リソースを移
行するように構成されてもよい。図6は、いくつかの実施形態による、リソース配置を最
適化する適時性リソース移行のための様々な方法及び技術を示すハイレベルフローチャー
トである。これらの技術は、図2〜5に関連して上述したように、制御プレーン、適時性
配置マネージャ、または現在配置されているリソースを分散型システム内の他のリソース
ホストに配置するための他のコンポーネントを用いて実装されてもよい。
、ストレージリソース、またはネットワーキングリソースのうちの1つなどの、多くの異
なる種類のリソースのうちの1つであってもよい。いくつかのリソースは、分散型リソー
スを構成するリソースのグループの一部であってもよい。例えば、図2〜5に関連して上
述したブロックベースストレージサービスのデータボリュームは、マスタ複製及び1つま
たは複数の複製スレーブとして実装される、分散型リソースであってもよい。リソースホ
ストにおけるリソースの初期配置は、最適な配置位置が利用できないときに行われてもよ
い。ボリュームをより良い位置に適時的に移行することによって、様々な設計目標、保証
、または分散型システムにおけるリソースについての他の望ましい属性に従って、個々の
リソース性能及び/または分散型システム性能が改善され得る。
れるリソースの現在の配置が、異なるリソースホスト間のリソース配置を改善し、または
最適化する配置基準に従って評価されてもよい。配置基準は、リソースホストにおけるリ
ソースの配置、及び/または(個々の配置が最適より劣っているとしても)リソースホス
ト全体の間のリソースの配置の好適性、または最適性を判断するための様々な分析、検査
、計算であってもよい。例えば、配置基準は、リソースの現在の配置が、現在のリソース
ホストにおけるリソースの利用に関して最適である(例えば、リソースのIOPs要件が
、他のタスクを実行し、または他のリソースをホストするためのIOPs要件を満たすリ
ソースホストの能力に負担をかける)かどうかを判断するために、リソースホストにおけ
るリソース利用(例えば、ストレージリソース、処理リソース、ネットワーキングリソー
スなど)を評価してもよい。
他のリソースに関して判断されてもよい。リソースが、1つまたは複数の1次的複製が故
障している場合に、データへのアクセスリクエストを提供するデータの2次的またはバッ
クアップの複製として動作するシナリオを考える。このようなシナリオでは、1次的複製
との共通の障害に左右されない位置に、リソースを配置することが望ましい場合がある。
例えば、リソースが、現在、複製リソースをホストする別のリソースホストと同一の電源
に接続されたリソースホストに配置されていた場合、リソース(マスタまたはスレーブ)
のうちの1つが、他のリソースホストと同一の電源に接続されたリソースホストにもう配
置されないように、分散型リソース全体の構成の評価は、リソースについての移行が分散
型リソースについてのそのリソースの配置を最適化することを示してもよい。配置基準は
、様々な実行、障害、及び他のシナリオをサポートし、防止し、または説明するように適
合され得るため、分散型リソース、利用可能なバイト、IOPs、またはスロット、IO
Psバランスへのバイトなどのリソース利用バランスの一部が、容量フラグメンテーショ
ン、ハードウェア/ソフトウェア特性、及び/または様々な所望の位置ベースの構成に影
響を与える場合、配置基準の数及び種類が、他のリソースを伴うリソースの構成を含むが
、これに限定されず変化してもよい。図7に関連して後述するように、いくつかの実施形
態では、現在の配置適合性のスコアまたは他の指標が、潜在的な行先リソースホストのス
コアと共に判断されてもよい。
ホストしているそれぞれのリソースホスト(複数可)から行先リソースホスト(複数可)
に適時的に移行するために、候補リソース(複数可)を識別する。様々な実施形態では、
識別された候補リソース(複数可)は、改善閾値を超える予想される移行を有してもよい
。例えば、候補リソースは、配置基準(例えば、異なる配置基準のうちの1つまたは複数
における最適な配置についてのテストに失敗すること、分析、または閾値)に関して、最
適以下として識別されてもよい。リソースを受信するために利用可能なリソースホストは
、(例えば、テストに失敗すること、分析、または閾値を直すことができる位置を提供す
る)配置基準に関してどれが最適かを識別されてもよい。ペアリングは、識別されること
によって、改善閾値を超えてもよい。いくつかの実施形態では、改善閾値は、初期コスト
利益分析決定として作用して、選択され移行が実行された場合に大きな配置改善を経験す
ることとなるリソースを、候補リソースとして識別するだけであってもよい。改善閾値は
また、候補移行が、分散型システム全体のリソースの最適化を改善するか否かを判断する
ために実装されてもよい。例えば、候補リソースは、他のリソースを移行することなく他
のリソースの配置における改善をもたらすこととなる移行動作を実行するために識別され
てもよい。識別される候補リソース(複数可)は、後述するように、移行キュー、または
移行動作をスケジューリングするための他のデータ構造に入力される、対応する移行動作
エントリを有してもよい。このように、移行動作は、より良い位置が利用可能であるとき
にリソースを移行するように適時的に発生してもよい。
ソース配置を改善するように、候補リソース(複数可)のうちの少なくとも1つが、行先
リソースホスト(複数可)に移行されてもよい。改善は、移行されたリソースの配置、及
び/または分散型システム全体におけるリソースの配置(例えば、ある位置に集中してい
ないリソース)についてであってもよい。移行動作を適時的に実行することによって、他
のリソースが移行のために識別された後で識別され得る候補リソースのために、いくつか
の移行動作が実行されることが可能であってもよい。例えば、いくつかの実施形態では、
優先度または順序付け方式が、識別される候補リソースについての移行動作の実行を選択
するために適用されてもよい。優先度は、リソース、リソースがその一部である分散型リ
ソース、または分散型システム全体に対してより大きな差をもたらす移行動作が、配置に
対してより小さな改善をもたらす移行よりも早く実行されることを可能にしてもよい。
ストに指示することによって実行されてもよい。いくつかの実施形態では、図3のワーカ
(複数可)340などの中継が、行先リソースホストにリソースを送信する前にリソース
を指示し、及び/または受信してもよい。少なくともいくつかの実施形態では、リソース
は、物理的に移行されず、論理的に移行されてもよい(例えば、現在のホストからリソー
スを無効にし、または削除し、かつ行先ホストにおいてリソースをインスタンス生成し、
または作成する)。いくつかのシナリオでは、候補リソースホストが識別された時点で識
別される行先リソースホストは、もはや最適ではない(または、その間に他のリソースが
追加され得るために利用可能ですらない)ことがある。したがって、いくつかの実施形態
では、新たな行先リソースホストが識別されてもよい。いくつかの実施形態では、分散型
リソースの一部であるリソースについて、分散型リソース内の別のリソースが現在移行さ
れている場合、リソースは、選択されなくともよい。図3に関連して上述したように、移
行動作を制限するために抑制する技術もまた、実装されてもよい。
を識別する様々な方法及び技術を示すハイレベルフローチャートである。710で示すよ
うに、リソースホストにおけるリソースの現在の配置に対する配置スコアが、1つまたは
複数の配置基準に関して生成されてもよい。配置基準は、上述のように、分散型システム
におけるリソースの配置を最適化するために使用されてもよい。例えば、分散型リソース
、利用可能なバイト、IOPs、またはスロット、IOPsバランスに対するバイトなど
のリソース利用バランスの一部が、容量フラグメンテーション、ハードウェア/ソフトウ
ェア特性、及び/または様々な所望の位置ベースの構成に影響を与える場合、配置基準は
、他のリソースを伴うリソースの構成を含んでもよい。リソースが、分散型リソースを構
成する複数のリソースのうちの1つ(例えば、上述のようにデータボリュームのマスタま
たはスレーブ複製)であるシナリオを考える。分散型リソースの他のリソースと同一の基
盤区域(例えば、同一ネットワークルータに接続されている)内にリソースを配置するこ
とが最適であってもよい。配置スコアは、現在の配置がより最適なシナリオ(例えば、同
一ネットワークルータ)に関してどのくらい近くにあるかについてのスコアに反映されて
もよい。スコアは、リソース、リソースホスト、及び/または分散型システム全体への影
響を考慮して、複数の異なる配置基準の複合であってもよい。
に最初に評価されてもよい。例えば、ある条件を満たさないホストは、考慮から除去され
てもよい。そのような条件は、論理グループ(例えば、リソースが配置されるべき特定の
サーバプールを識別すること)、リソースをホストするためのケイパビリティまたは容量
(例えば、データを記憶するのに十分なバイト、十分なIOP帯域幅、インストールされ
た適切なハードウェア及び/もしくはソフトウェアなど)、位置もしくは多様性の制約(
例えば、分散型リソースの一部であるリソースは、分散型リソースの別のリソースをホス
トする別のリソースホストと同一のサーバラックにあるリソースホスト上に配置されるこ
とができない)、ならびに/または明示的に除外されるリソースホスト(例えば、ブラッ
クリスト)を含むが、これらに限定されない。次いで、リソースをホストすることが可能
な残りの利用可能なリソースホストが、潜在的な行先ホストとして評価されてもよい。例
えば、720に示すように、配置スコア(複数可)が、可能な行先リソースホスト(複数
可)におけるリソースの配置に対して生成されてもよい。少なくともいくつかの実施形態
では、利用可能なリソースホストのサブセットが、可能な配置として生成されたスコアを
有してもよく、一方、他の実施形態では、全ての利用可能なリソースホストが、配置スコ
アを生成することによって考慮されてもよい。710においてスコアを生成するために使
用される同一の配置基準は、720においてスコアを生成するために使用されてもよい(
例えば、分散型リソース、利用可能なバイト、IOPs、またはスロット、IOPsバラ
ンスに対するバイトなどのリソース利用バランスの一部が、容量フラグメンテーション、
ハードウェア/ソフトウェア特性、及び/または様々な所望の位置ベースの構成に影響を
与える場合の、他のリソースを伴うリソースの考慮)。
が判断され、最適化閾値と比較されてもよい。例えば、差は、閾値(差>0.3である)
と比較される値であってもよい。730からの否定的出口によって示すように、可能な配
置のうちのいずれかの差が最適化閾値を超えない場合、780に示すように、別のリソー
スが、評価するために選択されてもよい。しかしながら、任意の配置の差が、リソースを
超える場合、リソースは、移行のための候補リソースとして識別されてもよい。(1つよ
り多くの行先ホストが評価された場合、)最も大きな差を生む可能な行先が、行先ホスト
として識別されてもよい。
ソースの移行を実行するための優先度が、割り当てられてもよい。優先度係数は、割り当
てられる優先度を、スコア付けし、重み付けし、生成し、または示すために使用されても
よい。例えば、優先度係数は、現在の行先及び可能な行先の間の差の値(例えば、より大
きな改善を行う移行を実行することを優先すること)、リソースの年式または履歴(例え
ば、より新しいリソースは、長く存在する見込みが少なく、したがって、移行が重要でな
いことがある)、移行を実行するサイズまたはコスト(例えば、リソースが、大きなデー
タボリューム、複雑なコンポーネントもしくはサービス、または他のリソース集約型移行
の場合に移行を遅延する)、及び/またはローカルネットワークの状態(サービングクラ
イアント要求などの前述の処理による、ネットワークもしくは他のリソース制約下にあり
得る分散型システム内の位置における実行から移行動作を遅延すること)を含んでもよい
。その他に加えて、これらの係数は、移行動作のための優先度を決定するために、重み付
けされ、結合され、順序付けされ、選択的に適用されてもよい。
行する優先度と共に、実行されるべき移行動作を示すために保持されてもよい。図7に関
連して説明する技術は、周期的に、または非周期的に移行キューを更新するために使用さ
れてもよい。例えば、分散型システム内のリソースホストの利用は、いくつかのやり方で
追加され、削除され、または変更されているリソースに起因して変化してもよい。移行の
決定は、結果として変化してもよい。図7の技術を周期的に実行することは、分散型シス
テムのリソースホストにおいて発生する変更に従って、移行キュー内の移行動作を更新し
、または再度優先度を付けるために使用されてもよい。750に示すように、リソースに
ついての移行動作が移行キューに位置するかどうかに関して、判断が行われてもよい。位
置する場合、750からの肯定的出口によって示すように、移行キュー内のリソースにつ
いての移行動作が更新されてもよい。例えば、優先度割り当てが、740における新たな
分析に従って変更されてもよく、移行動作の状態(例えば、待機中、進行中、完了)、タ
イムスタンプ、新たな行先ホスト、または他の情報などの移行動作メタデータが、変化し
てもよい。いくつかの実施形態では、進行中の移行動作が、(例えば、移行キュー内にあ
る後続の分析のためにメタデータを保存するために)更新されなくてもよい。リソースが
、移行キュー内にない場合、要素750からの否定的出口によって示すように、リソース
を行先リソースホストに移行するために、移行動作が追加されてもよい。次いで780に
示すように、別のリソース配置が、評価するために選択されてもよい。
ールし、実行するために利用されてもよい。例えば、いくつかの移行動作の実行が、他の
移行動作よりも、(リソースの動作または分散型システムのいずれかに対して)大きな利
益をもたらしてもよい。図8は、いくつかの実施形態による、候補リソースを選択及び移
行するための様々な方法及び技術を示すハイレベルフローチャートである。
ューが、評価されてもよい。移行のために保持される様々な情報は、現在実行される必要
がない(例えば、移行動作が、既に進行中である、失敗している、または実行準備がされ
ていない)動作を除去するために使用されてもよい。いくつかの実施形態では、移行動作
が特定の数に抑制され、または制限される分散型システムの位置において、いくつかの移
行動作が実行されてもよい。いくつかの実施形態では、820に示すように、少なくとも
一部評価に基づいて、移行キュー内の移行動作に割り当てられたそれぞれの優先度に従っ
て、移行動作が、実行するためにキューから選択されてもよい。例えば、移行キューは、
優先度キューであってもよく、したがって、最も高い優先度の移行動作が、移行キューか
ら選択されてもよい。移行動作の実行をスケジュールするための様々な他の優先度、また
は順序付け方式(例えば、先入れ先出し方式)が、実装されてもよい。
施形態で、移行動作の候補リソースを受信するために識別されてもよい。例えば、移行動
作が移行キューに追加された時に選択された行先リソースホストを使用する代わりに、要
求は、配置エンジン、または現在のデータに基づいて新たなもしくは異なる行先リソース
ホストを提供し得る他のシステム、サービス、もしくはデバイスに対して行われてもよい
。代替的に、移行キュー内の移行動作エントリにおいて示す行先リソースホストが、行先
リソースホストとして識別されてもよい。
移行動作が、指示されてもよい。例えば、コマンドまたは命令が、候補リソースを行先リ
ソースホストに送信し、コピーし、通信し、または移転する現在位置のリソースホストに
送信されてもよい。いくつかの実施形態では、現在のリソースホストは、さらなる指示な
しでこの移転を実行するように構成されてもよい。少なくともいくつかの実施形態では、
リソースは、まず、現在のリソースホストから取得され、次いで、移行ワーカ(複数可)
340などの中継を経由して移転されてもよい。リソースホストを移行することは、行先
リソースホストにおける様々な構成動作を実行すること、または指示することを含んでも
よい。例えば、図2〜5に関連して上述したように、スレーブ複製及びマスタ複製を伴う
データボリュームの複製の移行は、移行される複製の種類によりデータボリュームの複製
についてのスレーブまたはマスタとして動作するように、行先リソースホストを構成する
ことを伴ってもよい。
てもよい。例えば、図3における330などの適時性移行マネージャは、移行キューの評
価を実行し、実行する移行動作を選択してもよく、一方、図3における340などの移行
ワーカ(複数可)は、移行動作の一部としてリソースを受信する行先リソースホストの識
別を実行し、移行動作を指示してもよい。移行は、非同期式で実行されてもよいため、移
行ワーカは、リソースの移行動作を指示し、次いで、別の移行動作を取得及び指示しても
よい。いくつかの実施形態では、単一の移行マネージャが上述の様々な技術の全てを実行
してもよい。代替的には、移行ワーカが、上記技術を実行してもよい。よって、前述の実
施例は、限定であることを意図されない。
他の構造は、候補リソースについての状態情報を保持してもよい。移行キュー内の状態情
報の変更は、移行キュー内のいくつかの移行動作を廃止してもよい。図9は、いくつかの
実施形態による、候補リソースを移行キューから削除するための様々な方法及び技術を示
すハイレベルフローチャートである。910に示すように、リソースを行先リソースホス
トに移行するための移行動作のキュー(例えば、図4の移行キュー400)内の移行動作
が、評価されてもよい。例えば、移行キュー内の各エントリは、移行キューから削除され
るべき移行動作を識別するために評価されてもよい。要素920及び930は、移行動作
の削除をトリガし得る条件の実施例を提供する。
成され、削除され、またはリソースホストの動作もしくは利用において変化してもよい。
この動的な状況は、リソースを移行するための以前の決定を変更してもよい。例えば、上
記図7で述べたように、移行の優先度が、候補リソースについて変化した場合、移行キュ
ーに含まれる優先度が、移行についての現在の優先度を反映するように更新されてもよい
。いくつかの実施形態では、いくつかの移行動作が、もはや最適ではないことがある。9
20に示すように、次いで、移行動作が、920からの肯定的出口によって示すように陳
腐化した場合、移行動作は、950に示すようにキューから削除されてもよい。
はや実行するのに最適でない場合がある動作であってもよい。例えば、陳腐化した移行動
作は、新たな優先度または状態情報で更新されていなくてもよい。優先度及び/または移
行動作の他の状態情報が、移行キューの優先度付けスイープが実行された最終時間を更新
されなかった場合、移行動作は、もはや実行するのに最適でない場合があることを示して
もよい。タイムスタンプまたは他の標識が、最終更新時間を示す移行動作について保持さ
れてもよい。いくつかの実施形態では、更新されたタイムスタンプを有しない場合がある
、「進行中」状態における移行動作については除外されてもよい。いくつかの実施形態で
は、比較は、タイムスタンプと生存時間閾値との間であってもよく、閾値を超える場合、
移行動作が陳腐化していることを示している。いくつかの実施形態では、マーカまたは他
の標識(例えば、廃棄標識)は、移行キュー内の移行動作についてのエントリに配置され
て、移行動作が陳腐化し削除されるべきであることを示してもよい。いくつかのシナリオ
では、移行動作は、(例えば、「移行中」状態の時間を移行時間閾値と比較することによ
り)移行動作が開始されたが失敗した、または完了しなかったことを示す。
移行動作は、950に示すように移行キューから削除されてもよい。例えば、移行動作状
態は、移行キューの優先度スイープの間に変更されて、移行動作の状態を完了に更新して
もよい。
ースは、他のリソースよりも大きい場合がある)ため、移行動作は、要素920及び93
0によって示すような削除条件が満たされるまで、移行キュー内に残っていてもよい。し
たがって、削除条件が満たされない場合、940に示すように、キュー内の別の移行動作
が、評価するために選択されてもよい。図9に示す技術は、移行キュー内の移行動作の全
てが評価されるまで、実行されてもよい。移行キューが再び評価されて移行動作が削除さ
れる前に、ある期間が経過してもよい。
1.複数のリソースのうちの1つまたは複数をそれぞれがホストする複数のリソースホス
トと、
1つまたは複数の配置基準に従って、前記複数のリソースの現在の配置を評価し、前
記1つまたは複数の配置基準が、分散型システムについて前記複数のリソースホスト間の
リソース配置を改善し、
前記評価に少なくとも一部基づいて、1つまたは複数の候補リソースを現在ホストす
る前記それぞれのリソースホストから、前記複数のリソースホストのそれぞれの行先リソ
ースホストに移行するために、前記複数のリソースのうちの前記1つまたは複数の候補リ
ソースを識別し、前記複数のリソースのうちの前記1つまたは複数の候補リソースの予想
される前記移行が、前記1つまたは複数の配置基準に関する改善閾値を越え、
前記1つまたは複数の候補リソースのうちの少なくとも1つを前記それぞれの行先リ
ソースホストに移行するように移行動作に指示し、前記少なくとも1つの候補リソースの
前記それぞれの行先リソースホストへの前記移行が、前記改善閾値を越えて、前記複数の
リソースホストのリソース配置を改善するように構成される、
適時性配置マネージャと、
を備える分散型システム。
、前記適時性配置マネージャが、
前記1つまたは複数の候補リソースの移行について、それぞれの優先度を決定し、
前記1つまたは複数の候補リソースのためのそれぞれの移行動作をキューに配置するよ
うに構成され、
前記適時性配置マネージャが、
前記キューの評価に少なくとも一部基づいて、前記1つまたは複数の候補リソースに割
り当てられる前記それぞれの優先度に従って移行するために、前記少なくとも1つの候補
リソースを選択するようにさらに構成される、条項1に記載のシステム。
前記移行動作に前記少なくとも1つの候補リソースを移行するように指示するために、
前記適時性配置マネージャが、実行するために前記移行動作を前記複数の移行ワーカのう
ちの1つに送信するように構成される、条項2に記載のシステム。
のリソースが、前記仮想ブロックベースストレージサービスの複数のクライアントのため
に保持される複数のデータボリュームである、条項1に記載のシステム。
ちのそれぞれの1つにおいてホストされる複数のリソースの現在の配置を評価することで
あって、前記1つまたは複数の配置基準が、前記分散型システムについて前記複数のリソ
ースホスト間のリソース配置を改善する、前記評価することと、
前記評価に少なくとも一部基づいて、1つまたは複数の候補リソースを現在ホストする
前記それぞれのリソースホストから、前記複数のリソースホストのそれぞれの行先リソー
スホストに移行するために、前記複数のリソースのうちの前記1つまたは複数の候補リソ
ースを識別することであって、前記複数のリソースのうちの前記1つまたは複数の候補リ
ソースの予想される前記移行が、改善閾値を越える、前記識別することと、
前記1つまたは複数の候補リソースのうちの少なくとも1つを前記それぞれの行先リソ
ースホストに移行することであって、前記少なくとも1つの候補リソースの前記それぞれ
の行先リソースホストへの前記移行が、前記改善閾値を越えて、前記複数のリソースのリ
ソース配置を改善する、前記移行することと、
を1つまたは複数のコンピューティングデバイスによって実行することを含む、方法。
記1つまたは複数の候補リソースの移行を実行するためのそれぞれの優先度を割り当てる
ことを含み、
前記方法が、前記1つまたは複数の候補リソースに割り当てられた前記それぞれの優先
度に従って移行するために、前記少なくとも1つの候補リソースを選択することをさらに
含む、条項5に記載の方法。
候補リソースの前記それぞれの優先度を更新することと、
前記1つまたは複数の候補リソースの前記更新されたそれぞれの優先度に従って移行す
るために、前記1つまたは複数の候補リソースのうちの別の1つを選択することと、
をさらに含む、条項6に記載の方法。
、前記1つまたは複数の候補リソースのためのそれぞれの移行動作をキューに配置するこ
とをさらに含み、
前記1つまたは複数の候補リソースに割り当てられた前記それぞれの優先度に従って移
行するために、前記少なくとも1つの候補リソースを選択することが、前記キューの評価
に基づいて実行される、条項6に記載の方法。
つまたは複数の候補リソースのうちの少なくとも1つを削除することをさらに含む、条項
8に記載の方法。
ースホストのうちの前記それぞれの1つにおいてホストされる前記複数のリソースの現在
の配置を評価することが、
前記1つまたは複数の配置基準に従って、前記複数のリソースの前記現在の配置に対し
て、それぞれの配置スコアを生成することを含み、
前記複数のリソースのうちの前記1つまたは複数の候補リソースを識別することが、
前記1つまたは複数の配置基準に従って、前記複数のリソースの前記1つまたは複数
の可能な配置に対して、それぞれの配置スコアを生成することと、
前記現在の配置に対する前記それぞれの配置スコアと、1つまたは複数の可能な配置
に対する前記それぞれの配置スコアとの間のそれぞれのスコア差を計算することと、
前記1つまたは複数の候補リソースとして、前記改善閾値を超えるそれぞれのスコア
差を有するリソースを決定することと、
を含む、条項5に記載の方法。
、前記1つまたは複数の配置基準が、前記分散型リソースの前記複数のリソースについて
の現在の配置構成の評価を含む、条項5に記載の方法。
行先リソースホストに移行することが、前記行先リソースホストを識別することを含む、
条項5に記載の方法。
することが、前記複数のリソースの別のリソースのための配置を改善する、条項5に記載
の方法。
スが、前記ネットワークベースサービスの複数のクライアントに対し、前記ネットワーク
ベースサービスにおいて保持され、
前記評価すること、前記識別すること、前記移行することが、前記ネットワークベース
サービスについてのバックグラウンドサービスの一部として実行される、条項5の記載の
方法。
1つまたは複数のコンピューティングデバイスに、
1つまたは複数の配置基準に従って、分散型システムの複数のリソースホストのうちの
、それぞれの1つにおいてホストされる複数のリソースの現在の配置を評価することであ
って、前記1つまたは複数の配置基準が、前記分散型システムについて前記複数のリソー
スホスト間のリソース配置を改善する、前記評価することと、
前記評価に少なくとも一部基づいて、1つまたは複数の候補リソースを現在ホストする
前記それぞれのリソースホストから、前記複数のリソースホストのそれぞれの行先リソー
スホストに移行するために、前記複数のリソースのうちの前記1つまたは複数の候補リソ
ースを識別することであって、前記複数のリソースのうちの前記1つまたは複数の候補リ
ソースの予想される前記移行が、改善閾値を越える、前記識別することと、
前記1つまたは複数の候補リソースのうちの少なくとも1つを前記それぞれの行先リソ
ースホストに移行することであって、前記少なくとも1つの候補リソースの前記それぞれ
の行先リソースホストへの前記移行が、前記改善閾値を越えて、前記複数のリソースのリ
ソース配置を改善する、前記移行することと、
を実装させるプログラム命令を記憶する、非一時的コンピュータ可読記憶媒体。
記プログラム命令が、前記1つまたは複数のコンピューティングデバイスに、前記1つま
たは複数の候補リソースの移行を実行するためのそれぞれの優先度を割り当てることを実
装させ、
前記プログラム命令が、前記1つまたは複数のコンピューティングデバイスに、前記1
つまたは複数の候補リソースに割り当てられた前記それぞれの優先度に従って移行するた
めに、前記少なくとも1つの候補リソースを選択することをさらに実装させる、条項15
に記載の非一時的コンピュータ可読記憶媒体。
前記複数のリソースの前記現在の配置の別の評価に従って、前記1つまたは複数の候補
リソースの前記それぞれの優先度を更新することと、
前記1つまたは複数の候補リソースの前記更新されたそれぞれの優先度に従って移行す
るために、前記1つまたは複数の候補リソースのうちの別の1つを選択することと、
をさらに実装させる、条項16に記載の非一時的コンピュータ可読記憶媒体。
、前記プログラム命令が、前記1つまたは複数のコンピューティングデバイスに、前記1
つまたは複数の候補リソースのためのそれぞれの移行動作をキューに配置することをさら
に実装させ、
前記1つまたは複数の候補リソースに割り当てられる前記それぞれの優先度に従って移
行するために、前記少なくとも1つの候補リソースを選択することが、前記キューの評価
に基づいて実行される、条項16に記載の非一時的コンピュータ可読記憶媒体。
前記少なくとも1つの候補リソースのための前記それぞれの移行動作が、完了したこと
を判断することと、
前記それぞれの移行動作が完了したことを判断することに応答して、前記それぞれの移
行動作を前記移行キューから削除することと、
を実装させる、条項18に記載の非一時的コンピュータ可読記憶媒体。
ースホストのうちの前記それぞれの1つにおいてホストされる前記複数のリソースの現在
の配置を評価する際に、前記プログラム命令が、前記1つまたは複数のコンピューティン
グデバイスに、前記1つまたは複数の配置基準に従って、前記複数のリソースの前記現在
の配置に対するそれぞれの配置スコアを生成することを実装させ、
前記複数のリソースのうちの前記1つまたは複数の候補リソースを識別する際に、前記
プログラム命令が、前記1つまたは複数のコンピューティングデバイスに、
前記1つまたは複数の配置基準に従って、前記複数のリソースの1つまたは複数の可
能な配置に対して、それぞれの配置スコアを生成することと、
前記現在の配置に対する前記それぞれの配置スコアと、1つまたは複数の可能な配置
に対する前記それぞれの配置スコアとの間のそれぞれのスコア差を計算することと、
前記1つまたは複数の候補リソースとして、前記改善閾値を超えるそれぞれのスコア
差を有するリソースを決定することと、
を実装させる、条項15に記載の非一時的コンピュータ可読記憶媒体。
数のリソースが、前記仮想ブロックベースストレージサービスの複数のクライアントのた
めに保持されるデータボリュームである、条項15に記載の非一時的コンピュータ可読記
憶媒体。
の組み合わせによって実装されてもよい。例えば、一実施形態では、方法は、プロセッサ
に連結されるコンピュータ可読記憶媒体上に記憶されたプログラム命令を実行する、1つ
または複数のプロセッサを含むコンピュータシステム(例えば、図10におけるコンピュ
ータシステム)によって実装されてもよい。プログラム命令は、本明細書で説明する機能
性(例えば、本明細書で説明するブロックベースストレージサービスを実装するものなど
の、様々なサーバ、リソースホスト、制御プレーン、マネージャ及び/または他のコンポ
ーネントの機能性)を実装するように構成されてもよい。図に示され、本明細書で説明さ
れる様々な方法は、方法の実施形態の実施例を表す。任意の方法の順序は、変更されても
よく、様々な要素が追加され、再配列され、結合され、省略され、修正されるなどしても
よい。
は、様々な他のデバイスとやり取りし得る1つまたは複数のコンピュータシステム上で実
行されてもよい。図10は、様々な実施形態による、コンピューティングシステムの実施
例を示すブロック図である。例えば、コンピュータシステム1000は、異なる実施形態
において、コンピュートクラスタのストレージ及び/もしくはコンピュートノード、デー
タストア、ならびに/またはクライアントを実装するように構成されてもよい。コンピュ
ータシステム1000は、パーソナルコンピュータシステム、デスクトップコンピュータ
、ラップトップもしくはノートブックコンピュータ、メインフレームコンピュータシステ
ム、ハンドヘルドコンピュータ、ワークステーション、ネットワークコンピュータ、コン
シューマデバイス、アプリケーションサーバ、ストレージデバイス、電話、携帯電話、ま
たは概して任意の種類のコンピューティングデバイスを含むが、これらに限定されない、
様々な種類のデバイスのうちのいずれかであってもよい。
してシステムメモリ1020に連結される1つまたは複数のプロセッサ1010(シング
ルまたはマルチスレッドであってもよい、マルチコアを含み得るもののいずれか)を含む
。コンピュータシステム1000は、I/Oインタフェース1030に連結されるネット
ワークインタフェース1040をさらに含む。様々な実施形態では、コンピュータシステ
ム1000は、1つのプロセッサ1010を含むユニプロセッサシステム、または複数(
例えば、2個、4個、8個、もしくは別の適当な数)のプロセッサ1010を含むマルチ
プロセッサシステムであってもよい。プロセッサ1010は、命令を実行可能な任意の適
当なプロセッサであってもよい。例えば、様々な実施形態では、プロセッサ1010は、
x86、PowerPC、SPARC、もしくはMIPS ISA、または任意の他の適
当なISAなどの多様な命令セットアーキテクチャ(ISA)のいずれかを実装する汎用
または組み込みプロセッサであってもよい。マルチプロセッサシステムでは、プロセッサ
1010のそれぞれは、一般に、しかし必須ではなく、同一のISAを実装してもよい。
コンピュータシステム1000は、また、他のシステム及び/またはコンポーネントと通
信ネットワーク(例えば、インターネット、LANなど)を介して通信するための、1つ
または複数のネットワーク通信デバイス(例えば、ネットワークインタフェース1040
)を含む。
の永続ストレージデバイス1060、及び/または1つもしくは複数のI/Oデバイス1
080を含む。様々な実施形態では、永続ストレージデバイス1060は、ディスクドラ
イブ、テープドライブ、ソリッドステートメモリ、他の大容量ストレージデバイス、ブロ
ックベースストレージデバイス、または任意の他の永続ストレージデバイスに対応しても
よい。コンピュータシステム1000(または、その上で動作する分散型アプリケーショ
ン、もしくはオペレーティングシステム)は、所望により、命令及び/またはデータを永
続ストレージデバイス1060に記憶してもよく、記憶された命令及び/またはデータを
必要に応じて取得してもよい。例えば、いくつかの実施形態では、コンピュータシステム
1000は、ストレージシステムサーバノードをホストしてもよく、永続ストレージ10
60は、そのサーバノードに取り付けられたSSDを含んでもよい。
能な命令及びデータを記憶するように構成される、1つまたは複数のシステムメモリ10
20を含む。様々な実施形態では、システムメモリ1020は、任意の適当なメモリ技術
(例えば、キャッシュ、スタティックランダムアクセスメモリ(SRAM)、DRAM、
RDRAM、EDO RAM、DDR 10 RAM、同期式動的RAM(SDRAM)
、ラムバスRAM、EEPROM、不揮発性/フラッシュ型メモリ、または任意の他の種
類のメモリのうちの1つまたは複数)を用いて実装されてもよい。システムメモリ102
0は、本明細書で説明する方法及び技術を実装するために、プロセッサ(複数可)101
0によって実行可能なプログラム命令1025を含んでもよい。様々な実施形態では、プ
ログラム命令1025は、プラットフォームネイティブのバイナリ、JAVA(商標)バ
イトコードなどの任意のインタプリタ型言語、もしくはC/C++、Java(商標)な
どの任意の他の言語で、またはそれらの任意の組み合わせで、符号化されてもよい。例え
ば、例示された実施形態では、プログラム命令1025は、異なる実施形態で、リソース
ホストの機能性を実装するために実行可能なプログラム命令を含む。いくつかの実施形態
では、プログラム命令1025は、複数の別個のクライアント、ノード、及び/または他
のコンポーネントを実装してもよい。
UX、Solaris(商標)、MacOS(商標)、Windows(商標)などの様
々なオペレーティングシステムのうちのいずれかであり得る、オペレーティングシステム
(図示せず)を実装するために実行可能な命令を含んでもよい。プログラム命令1025
のうちのいずれかまたは全てが、命令をその上に記憶している非一時的コンピュータ可読
記憶媒体を含み得るコンピュータプログラム製品、またはソフトウェアとして提供されて
もよく、命令は、様々な実施形態に従ってプロセスを実行するコンピュータシステム(ま
たは他の電子デバイス)をプログラムするために使用されてもよい。非一時的コンピュー
タ可読記憶媒体は、機械(例えば、コンピュータ)によって可読の形式(例えば、ソフト
ウェア、処理アプリケーション)で、情報を記憶するための任意の機構を含んでもよい。
概して言うと、非一時的コンピュータアクセス可能媒体が、I/Oインタフェース103
0を介してコンピュータシステム1000に連結される、例えば、ディスクまたはDVD
/CD−ROMといった磁気または光学媒体などの、コンピュータ可読記憶媒体またはメ
モリ媒体を含んでもよい。非一時的コンピュータ可読記憶媒体は、また、システムメモリ
1020または別の種類のメモリとしてコンピュータシステム1000のいくつかの実施
形態に含まれ得る、RAM(例えば、SDRAM、DDR SDRAM、RDRAM、S
RAMなど)、ROMなどの任意の揮発性または不揮発性媒体を含んでもよい。他の実施
形態では、プログラム命令は、ネットワークインタフェース1040を介して実装され得
るような、ネットワーク及び/またはワイヤレスリンクなどの通信媒体を介して伝達され
る、光学、音響、または他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信
号など)を用いて通信されてもよい。
もよく、データストア1045は、本明細書で説明するように構成されてもよい。概して
、システムメモリ1020(例えば、システムメモリ1020内のデータストア1045
)、永続ストレージ1060、及び/またはリモートストレージ1070は、データブロ
ック、データブロックの複製、データブロックに関連付けられるメタデータ及び/もしく
はそれらの状態、構成情報、ならびに/または本明細書で説明する方法及び技術を実装す
るのに利用可能な任意の他の情報を記憶してもよい。
40または他の周辺インタフェースを通じて含む、システム内のプロセッサ1010、シ
ステムメモリ1020、及び任意の周辺デバイスの間のI/Oトラフィックを協調させる
ように構成されてもよい。いくつかの実施形態では、I/Oインタフェース1030は、
データ信号を1つのコンポーネント(例えば、システムメモリ1020)から、別のコン
ポーネント(例えば、プロセッサ1010)による使用に適したフォーマットに変換する
ために、任意の必要なプロトコル、タイミングまたは他のデータ変換を実行してもよい。
いくつかの実施形態では、I/Oインタフェース1030は、例えば、周辺構成要素相互
接続(PCI)バス規格またはユニバーサルシリアルバス(USB)規格の変形などの、
様々な種類の周辺バスを通じて取り付けられたデバイスのためのサポートを含んでもよい
。いくつかの実施形態では、I/Oインタフェース1030の機能は、例えば、ノースブ
リッジ及びサウスブリッジなどの2つ以上の別々のコンポーネントに分割されてもよい。
さらに、いくつかの実施形態では、システムメモリ1020へのインタフェースなどのI
/Oインタフェース1030の機能性のうちのいくつかまたは全てが、プロセッサ101
0に直接組み込まれてもよい。
他のコンピュータシステム1090などの、ネットワークに取り付けられる他のデバイス
との間でデータが交換されることを可能にするように構成されてもよい。さらに、ネット
ワークインタフェース1040は、コンピュータシステム1000と、様々なI/Oデバ
イス1050及び/またはリモートストレージ1070との間での通信を可能にするよう
に構成されてもよい。入力/出力デバイス1050は、いくつかの実施形態では、1つま
たは複数のディスプレイ端末、キーボード、キーパッド、タッチパッド、スキャニングデ
バイス、音声または光認識デバイス、または、1つもしくは複数のコンピュータシステム
1000によってデータを入力もしくは取得するのに適した任意の他のデバイスを含んで
もよい。複数の入力/出力デバイス1050は、コンピュータシステム1000内に存在
してもよく、またはコンピュータシステム1000を含む分散型システムの様々なノード
上に分散されてもよい。いくつかの実施形態では、同様の入力/出力デバイスは、コンピ
ュータシステム1000とは別個であってもよく、ネットワークインタフェース1040
を介するなど、有線または無線接続を通じてコンピュータシステム1000を含む分散型
システムの1つまたは複数のノードとやり取りしてもよい。ネットワークインタフェース
1040は、一般に、1つまたは複数の無線ネットワーキングプロトコル(例えば、Wi
−Fi/IEEE802.11、または別の無線ネットワーキング規格)をサポートして
もよい。しかしながら、様々な実施形態では、ネットワークインタフェース1040は、
例えば、他の種類のイーサネット(登録商標)ネットワークなどの、任意の適当な有線ま
たは無線汎用データネットワークを介して通信をサポートしてもよい。追加的に、ネット
ワークインタフェース1040は、ファイバチャネルSANなどのストレージエリアネッ
トワークを介して、または任意の他の適当な種類のネットワーク及び/もしくはプロトコ
ルを介して、アナログ音声ネットワークまたはデジタルファイバ通信ネットワークなどの
、遠距離通信/電話通信ネットワークを介した通信をサポートしてもよい。様々な実施形
態では、コンピュータシステム1000は、図10に示すもの(例えば、ディスプレイ、
ビデオカード、オーディオカード、周辺デバイス、ATMインタフェース、イーサネット
インタフェース、フレームリレーインタフェースなどの他のネットワークインタフェース
など)より多くの、少ない、または異なるコンポーネントを含んでもよい。
ントのいずれかが、1つまたは複数のネットワークベースサービスとして実装されてもよ
いことに留意されたい。例えば、コンピューティングサービス内のコンピュートクラスタ
は、コンピューティング及び/もしくはストレージサービス、ならびに/または本明細書
で説明する分散型コンピューティングシステムをネットワークベースサービスとしてクラ
イアントに採用する、他の種類のサービスを提示してもよい。いくつかの実施形態では、
ネットワークベースサービスは、ネットワーク上で相互運用可能なマシンツーマシンイン
タラクションをサポートするように設計されるソフトウェア及び/またはハードウェアシ
ステムによって実装されてもよい。ネットワークベースサービスは、ウェブサービス記述
言語(WSDL)などのマシン処理可能なフォーマットで記載されたインタフェースを有
してもよい。他のシステムは、ネットワークベースサービスのインタフェースの仕様によ
って規定されたやり方で、ネットワークベースサービスと対話してもよい。例えば、ネッ
トワークベースサービスは、他のシステムが呼び出し得る様々な動作を定義してもよく、
他のシステムが様々な動作を要求するときに従うことを期待され得る、特定のアプリケー
ションプログラミングインタフェース(API)を定義してもよい。
求に関連するパラメータ及び/またはデータを含むメッセージの使用を通じて要求され、
または呼び出されてもよい。そのようなメッセージは、拡張マークアップ言語(XML)
などの特定のマークアップ言語に従ってフォーマットされてもよく、及び/または簡易オ
ブジェクトアクセスプロトコル(SOAP)などのプロトコルを用いてカプセル化されて
もよい。ネットワークベースサービス要求を実行するために、ネットワークベースサービ
スクライアントは、要求を含むメッセージを集め、ハイパーテキスト転送プロトコル(H
TTP)などのインターネットベースのアプリケーション層転送プロトコルを用いて、ネ
ットワークベースサービスに対応するアドレス指定可能なエンドポイント(例えば、ユニ
フォームリソースロケータ(URL))にメッセージを伝達してもよい。
はなく、REST(「RESTful」)技術を用いて実装されてもよい。例えば、RE
STful技術に従って実装されたネットワークベースサービスは、SOAPメッセージ
内にカプセル化されるのではなく、PUT、GET、またはDELETEなどのHTTP
方式に含まれるパラメータを通じて呼び出されてもよい。
れば当業者には明らかとなるような、多くの変形及び修正が行われてもよい。以下の特許
請求の範囲は、そのような修正及び変更の全てを包含するように解釈され、従って、上記
の説明は、限定的な意味ではなく、例示的な意味にみなされるべきであると意図される。
Claims (15)
- 複数のリソースのうちの1つまたは複数をそれぞれがホストする複数のリソースホストであって、前記複数のリソースホストは、それぞれの前記リソースがネットワークを通じて、前記複数のリソースホストとは異なるリソースホスト上で動作するクライアントにアクセス可能であるようにする、前記複数のリソースホストと、
1つまたは複数の配置基準に従って、前記複数のリソースの現在の配置を評価し、前記1つまたは複数の配置基準が、前記クライアントに関して、分散型システムの前記複数のリソースホスト間で全体として前記複数のリソースのリソース配置を少なくとも改善するための、前記複数のリソースの現在の配置構成の評価を含み、
前記評価に少なくとも一部基づいて、1つまたは複数の候補リソースを現在ホストする前記のリソースホストのそれぞれから、前記複数のリソースホストのそれぞれの行先リソースホストに移行するために、前記複数のリソースのうちの前記1つまたは複数の候補リソースを識別し、前記複数のリソースのうちの前記1つまたは複数の候補リソースの予想される前記移行が、前記1つまたは複数の配置基準に関する改善閾値を越え、
前記1つまたは複数の候補リソースのうちの少なくとも1つを前記それぞれの行先リソースホストに移行するように移行動作に指示し、前記少なくとも1つの候補リソースの前記それぞれの行先リソースホストへの前記移行が、前記改善閾値を越えて、前記複数のリソースホストのリソース配置を改善するように構成される、
適時性配置マネージャと、
を備える分散型システム。 - 前記複数のリソースのうちの前記1つまたは複数の候補リソースを識別するために、前記適時性配置マネージャが、
前記1つまたは複数の候補リソースの移行について、それぞれの優先度を決定し、
前記1つまたは複数の候補リソースのためのそれぞれの移行動作をキューに配置するように構成され、
前記適時性配置マネージャが、
前記キューの評価に少なくとも一部基づいて、前記1つまたは複数の候補リソースに割り当てられる前記それぞれの優先度に従って移行するために、前記少なくとも1つの候補リソースを選択するようにさらに構成される、請求項1に記載のシステム。 - 複数の移行ワーカをさらに備え、
前記移行動作に前記少なくとも1つの候補リソースを移行するように指示するために、前記適時性配置マネージャが、実行するために前記移行動作を前記複数の移行ワーカのうちの1つに送信するように構成される、請求項2に記載のシステム。 - 1つまたは複数の配置基準に従って、分散型システムの複数のリソースホストのうちのそれぞれの1つにおいてホストされる複数のリソースの現在の配置を評価することであって、前記複数のリソースは、それぞれコンピューティングリソース、ストレージリソース、またはネットワーキングリソースを含み、前記複数のリソースホストは、前記複数のリソースのそれぞれのリソースがネットワークを通じてアクセス可能であるようにし、前記1つまたは複数の配置基準が、前記複数のリソースホストとは異なるリソースホスト上で動作するクライアントに関して、分散型システムの前記複数のリソースホスト間で全体として前記複数のリソースのリソース配置を少なくとも改善するための、前記複数のリソースの現在の配置構成の評価を含む、前記評価することと、
前記評価に少なくとも一部基づいて、1つまたは複数の候補リソースを現在ホストする前記リソースホストのそれぞれから、前記複数のリソースホストのそれぞれの行先リソースホストに移行するために、前記複数のリソースのうちの前記1つまたは複数の候補リソースを識別することであって、前記複数のリソースのうちの前記1つまたは複数の候補リソースの予想される前記移行が、改善閾値を越える、前記識別することと、
前記1つまたは複数の候補リソースのうちの少なくとも1つを前記それぞれの行先リソースホストに移行することであって、前記少なくとも1つの候補リソースの前記それぞれの行先リソースホストへの前記移行が、前記改善閾値を越えて、前記複数のリソースのリソース配置を改善する、前記移行することと、
を1つまたは複数のコンピューティングデバイスによって実行することを含む、方法。 - 前記複数のリソースのうちの1つまたは複数の候補リソースを識別することが、前記1つまたは複数の候補リソースの移行を実行するためのそれぞれの優先度を割り当てることを含み、
前記方法が、前記1つまたは複数の候補リソースに割り当てられた前記それぞれの優先度に従って移行するために、前記少なくとも1つの候補リソースを選択することをさらに含む、請求項4に記載の方法。 - 前記複数のリソースの前記現在の配置の別の評価に従って、前記1つまたは複数の候補リソースの前記それぞれの優先度を更新することと、
前記1つまたは複数の候補リソースの前記更新されたそれぞれの優先度に従って移行するために、前記1つまたは複数の候補リソースのうちの別の1つを選択することと、
をさらに含む、請求項5に記載の方法。 - 前記複数のリソースのうちの前記1つまたは複数の候補リソースを識別することが、前記1つまたは複数の候補リソースのためのそれぞれの移行動作をキューに配置することをさらに含み、
前記1つまたは複数の候補リソースに割り当てられた前記それぞれの優先度に従って移行するために、前記少なくとも1つの候補リソースを選択することが、前記キューの評価に基づいて実行される、請求項5に記載の方法。 - 前記複数のリソースの前記現在の配置の別の評価に従って、前記キューから前記1つまたは複数の候補リソースのうちの少なくとも1つを削除することをさらに含む、請求項7に記載の方法。
- 前記1つまたは複数の配置基準に従って、前記分散型システムの前記複数のリソースホストのうちの前記それぞれの1つにおいてホストされる前記複数のリソースの現在の配置を評価することが、
前記1つまたは複数の配置基準に従って、前記複数のリソースの前記現在の配置に対して、それぞれの配置スコアを生成することを含み、
前記複数のリソースのうちの前記1つまたは複数の候補リソースを識別することが、
前記1つまたは複数の配置基準に従って、前記複数のリソースの1つまたは複数の可能な配置に対して、それぞれの配置スコアを生成することと、
前記現在の配置に対する前記それぞれの配置スコアと、1つまたは複数の可能な配置に対する前記それぞれの配置スコアとの間のそれぞれのスコア差を計算することと、
前記1つまたは複数の候補リソースとして、前記改善閾値を超える、それぞれのスコア差を有するリソースを決定することと、
を含む、請求項4に記載の方法。 - 前記リソースが、分散型リソースを実装する複数のリソースのうちの1つであり、前記1つまたは複数の配置基準が、前記分散型リソースの前記複数のリソースについての現在の配置構成の評価を含む、請求項4に記載の方法。
- 前記分散型システムが、ネットワークベースサービスであり、前記複数のリソースが、前記ネットワークベースサービスの複数のクライアントに対し、前記ネットワークベースサービスにおいて保持され、
前記評価すること、前記識別すること、前記移行することが、前記ネットワークベースサービスについてのバックグラウンドサービスの一部として実行される、請求項4の記載の方法。 - 1つまたは複数のコンピューティングデバイスによって実行されるときに、前記1つまたは複数のコンピューティングデバイスに、
1つまたは複数の配置基準に従って、分散型システムの複数のリソースホストのうちのそれぞれの1つにおいてホストされる複数のリソースの現在の配置を評価することであって、前記複数のリソースは、それぞれコンピューティングリソース、ストレージリソース、またはネットワーキングリソースを含み、前記複数のリソースホストは、前記複数のリソースのそれぞれのリソースがネットワークを通じてアクセス可能であるようにし、前記1つまたは複数の配置基準が、前記複数のリソースホストとは異なるリソースホスト上で動作するクライアントに関して、分散型システムの前記複数のリソースホスト間で全体として前記複数のリソースのリソース配置を少なくとも改善するための、前記複数のリソースの現在の配置構成の評価を含む、前記評価することと、
前記評価に少なくとも一部基づいて、1つまたは複数の候補リソースを現在ホストする前記リソースホストのそれぞれから、前記複数のリソースホストのそれぞれの行先リソースホストに移行するために、前記複数のリソースのうちの前記1つまたは複数の候補リソースを識別することであって、前記複数のリソースのうちの前記1つまたは複数の候補リソースの予想される前記移行が、改善閾値を越える、前記識別することと、
前記1つまたは複数の候補リソースのうちの少なくとも1つを前記それぞれの行先リソースホストに移行することであって、前記少なくとも1つの候補リソースの前記それぞれの行先リソースホストへの前記移行が、前記改善閾値を越えて、前記複数のリソースのリソース配置を改善する、前記移行することと、
を実装させるプログラム命令を記憶する、非一時的コンピュータ可読記憶媒体。 - 前記複数のリソースのうちの1つまたは複数の候補リソースを識別する際に、前記プログラム命令が、前記1つまたは複数のコンピューティングデバイスに、前記1つまたは複数の候補リソースの移行を実行するためのそれぞれの優先度を割り当てることを実装させ、
前記プログラム命令が、前記1つまたは複数のコンピューティングデバイスに、前記1つまたは複数の候補リソースに割り当てられた前記それぞれの優先度に従って移行するために、前記少なくとも1つの候補リソースを選択することと、
前記複数のリソースの前記現在の配置の別の評価に従って、前記1つまたは複数の候補リソースの前記それぞれの優先度を更新することと、
前記1つまたは複数の候補リソースの前記更新されたそれぞれの優先度に従って移行するために、前記1つまたは複数の候補リソースのうちの別の1つを選択することと、
をさらに実装させる、請求項12に記載の非一時的コンピュータ可読記憶媒体。 - 前記1つまたは複数の配置基準に従って、前記分散型システムの前記複数のリソースホストのうちの前記それぞれの1つにおいてホストされる前記複数のリソースの現在の配置を評価する際に、前記プログラム命令が、前記1つまたは複数のコンピューティングデバイスに、前記1つまたは複数の配置基準に従って、前記複数のリソースの前記現在の配置に対して、それぞれの配置スコアを生成することを実装させ、
前記複数のリソースのうちの前記1つまたは複数の候補リソースを識別する際に、前記プログラム命令が、前記1つまたは複数のコンピューティングデバイスに、
前記1つまたは複数の配置基準に従って、前記複数のリソースの前記1つまたは複数の可能な配置に対して、それぞれの配置スコアを生成することと、
前記現在の配置に対する前記それぞれの配置スコアと、1つまたは複数の可能な配置に対する前記それぞれの配置スコアとの間のそれぞれのスコア差を計算することと、
前記1つまたは複数の候補リソースとして、前記改善閾値を超える、それぞれのスコア差を有するリソースを決定することと、
を実装させる、請求項12に記載の非一時的コンピュータ可読記憶媒体。 - 前記分散型システムが、仮想ブロックベースストレージサービスであり、前記複数のリソースが、前記仮想ブロックベースストレージサービスの複数のクライアントのために保持されるデータボリュームである、請求項12に記載の非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/642,445 US10715460B2 (en) | 2015-03-09 | 2015-03-09 | Opportunistic resource migration to optimize resource placement |
US14/642,445 | 2015-03-09 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017546817A Division JP2018514018A (ja) | 2015-03-09 | 2016-03-09 | リソース配置を最適化するための適時性リソース移行 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020064676A true JP2020064676A (ja) | 2020-04-23 |
JP7138126B2 JP7138126B2 (ja) | 2022-09-15 |
Family
ID=55590159
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017546817A Pending JP2018514018A (ja) | 2015-03-09 | 2016-03-09 | リソース配置を最適化するための適時性リソース移行 |
JP2020002627A Active JP7138126B2 (ja) | 2015-03-09 | 2020-01-10 | リソース配置を最適化するための適時性リソース移行 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017546817A Pending JP2018514018A (ja) | 2015-03-09 | 2016-03-09 | リソース配置を最適化するための適時性リソース移行 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10715460B2 (ja) |
EP (1) | EP3268860A1 (ja) |
JP (2) | JP2018514018A (ja) |
KR (1) | KR102031471B1 (ja) |
CN (1) | CN107430528B (ja) |
AU (2) | AU2016229135A1 (ja) |
CA (1) | CA2978889C (ja) |
SG (1) | SG11201707091TA (ja) |
WO (1) | WO2016145091A1 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10505862B1 (en) * | 2015-02-18 | 2019-12-10 | Amazon Technologies, Inc. | Optimizing for infrastructure diversity constraints in resource placement |
US10721181B1 (en) * | 2015-03-10 | 2020-07-21 | Amazon Technologies, Inc. | Network locality-based throttling for automated resource migration |
US11336519B1 (en) * | 2015-03-10 | 2022-05-17 | Amazon Technologies, Inc. | Evaluating placement configurations for distributed resource placement |
US10491667B1 (en) | 2015-03-16 | 2019-11-26 | Amazon Technologies, Inc. | Customized memory modules in multi-tenant service provider systems |
US9740510B2 (en) * | 2015-03-31 | 2017-08-22 | Alcatel Lucent | Minimizing overhead over-provisioning costs in machine configurations |
WO2016163025A1 (ja) * | 2015-04-10 | 2016-10-13 | 株式会社日立製作所 | データ量削減機能に関する課金額を算出する方法及び管理システム |
US9710178B2 (en) * | 2015-04-10 | 2017-07-18 | International Business Machines Corporation | Optimizing volume placement based upon desired response time and priority |
US10216744B2 (en) * | 2015-05-01 | 2019-02-26 | Microsoft Technology Licensing, Llc | Data migration to a cloud computing system |
US10938655B2 (en) * | 2016-01-26 | 2021-03-02 | International Business Machines Corporation | Enterprise cloud garbage collector |
CN107181774B (zh) * | 2016-03-09 | 2020-11-20 | 伊姆西Ip控股有限责任公司 | 分布式数据中心之间的数据移动 |
US10455007B2 (en) * | 2016-07-14 | 2019-10-22 | International Business Machines Corporation | Managing asset placement with respect to a distributed computing environment having a set of hosts |
US10353736B2 (en) | 2016-08-29 | 2019-07-16 | TidalScale, Inc. | Associating working sets and threads |
US10484015B2 (en) | 2016-12-28 | 2019-11-19 | Amazon Technologies, Inc. | Data storage system with enforced fencing |
US10514847B2 (en) | 2016-12-28 | 2019-12-24 | Amazon Technologies, Inc. | Data storage system with multiple durability levels |
US20180321981A1 (en) * | 2017-05-04 | 2018-11-08 | Huawei Technologies Co., Ltd. | System and method for self organizing data center |
US10579274B2 (en) | 2017-06-27 | 2020-03-03 | TidalScale, Inc. | Hierarchical stalling strategies for handling stalling events in a virtualized environment |
US10817347B2 (en) | 2017-08-31 | 2020-10-27 | TidalScale, Inc. | Entanglement of pages and guest threads |
CN108228326A (zh) * | 2017-12-29 | 2018-06-29 | 深圳乐信软件技术有限公司 | 批量任务处理方法和分布式系统 |
US20190306236A1 (en) * | 2018-03-29 | 2019-10-03 | Servicenow, Inc. | Insight for cloud migration and optimization |
US11567664B2 (en) | 2018-04-16 | 2023-01-31 | International Business Machines Corporation | Distributing data across a mixed data storage center |
US10768835B1 (en) * | 2018-06-27 | 2020-09-08 | Amazon Technologies, Inc. | Opportunistic storage service |
US11121981B1 (en) * | 2018-06-29 | 2021-09-14 | Amazon Technologies, Inc. | Optimistically granting permission to host computing resources |
CN109120678B (zh) * | 2018-07-26 | 2021-05-14 | 北京百度网讯科技有限公司 | 用于分布式存储系统的服务托管的方法和装置 |
CN109325016B (zh) * | 2018-09-12 | 2021-04-20 | 杭州朗和科技有限公司 | 数据迁移方法、装置、介质及电子设备 |
JP6842447B2 (ja) | 2018-09-12 | 2021-03-17 | 株式会社日立製作所 | リソース割当ての最適化を支援するシステム及び方法 |
US11113119B2 (en) | 2018-09-17 | 2021-09-07 | International Business Machines Corporation | Managing computer resources |
US11188368B2 (en) | 2018-10-31 | 2021-11-30 | Nutanix, Inc. | Asynchronous workload migration control |
US11194620B2 (en) | 2018-10-31 | 2021-12-07 | Nutanix, Inc. | Virtual machine migration task management |
CN113678415B (zh) * | 2019-02-27 | 2024-06-07 | 新加坡电信有限公司 | 用于优化数据通信的系统 |
US10949241B2 (en) * | 2019-03-08 | 2021-03-16 | Google Llc | Cost-efficient high-availability multi-single-tenant services |
KR102427473B1 (ko) * | 2020-09-29 | 2022-08-01 | 한국전자기술연구원 | 마이크로 데이터센터내 가용 자원상태 기반 워크로드 예측 정확도 증가 방법 |
US11375006B1 (en) | 2020-12-28 | 2022-06-28 | Pensando Systems, Inc. | Methods and systems for rating workloads based on network interface device resources and for optimal scheduling |
US11586466B2 (en) * | 2021-01-20 | 2023-02-21 | EMC IP Holding Company LLC | Centralized high-availability flows execution framework |
US11894985B1 (en) * | 2022-12-20 | 2024-02-06 | Starbucks Corporation | Optimizing locations of physical objects in a network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140356A (ja) * | 2007-12-07 | 2009-06-25 | Hitachi Ltd | 管理装置及び管理方法 |
WO2010016104A1 (ja) * | 2008-08-04 | 2010-02-11 | 富士通株式会社 | マルチプロセッサシステム,マルチプロセッサシステム用管理装置およびマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体 |
JP2013152553A (ja) * | 2012-01-24 | 2013-08-08 | Nippon Telegr & Teleph Corp <Ntt> | リソース管理装置、リソース管理システム、リソース管理方法およびリソース管理プログラム |
Family Cites Families (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784883A (ja) | 1993-09-17 | 1995-03-31 | Hitachi Ltd | 仮想計算機システムのアドレス変換バッファパージ方法 |
US6463509B1 (en) | 1999-01-26 | 2002-10-08 | Motive Power, Inc. | Preloading data in a cache memory according to user-specified preload criteria |
US6922724B1 (en) | 2000-05-08 | 2005-07-26 | Citrix Systems, Inc. | Method and apparatus for managing server load |
JP2001337790A (ja) * | 2000-05-24 | 2001-12-07 | Hitachi Ltd | 記憶システム及びその階層管理制御方法 |
US7032119B2 (en) | 2000-09-27 | 2006-04-18 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
CA2322601A1 (en) | 2000-10-06 | 2002-04-06 | Ibm Canada Limited-Ibm Canada Limitee | System and method for generating a filtered product list from a master product list in a contract |
US7958199B2 (en) | 2001-11-02 | 2011-06-07 | Oracle America, Inc. | Switching systems and methods for storage management in digital networks |
US7392390B2 (en) | 2001-12-12 | 2008-06-24 | Valve Corporation | Method and system for binding kerberos-style authenticators to single clients |
US7146522B1 (en) | 2001-12-21 | 2006-12-05 | Network Appliance, Inc. | System and method for allocating spare disks in networked storage |
CA2380762A1 (en) | 2002-04-04 | 2003-10-04 | Intrinsyc Software, Inc. | Internet-enabled device provisioning, upgrade and recovery mechanism |
US7072815B1 (en) | 2002-08-06 | 2006-07-04 | Xilinx, Inc. | Relocation of components for post-placement optimization |
US6760899B1 (en) | 2002-08-08 | 2004-07-06 | Xilinx, Inc. | Dedicated resource placement enhancement |
CN1182465C (zh) * | 2002-12-04 | 2004-12-29 | 联想(北京)有限公司 | 动态迁移数据的方法及其装置 |
US7484208B1 (en) * | 2002-12-12 | 2009-01-27 | Michael Nelson | Virtual machine migration |
JP4257834B2 (ja) | 2003-05-06 | 2009-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 磁気ディスク装置、ファイル管理システム及びその方法 |
US7302536B2 (en) | 2003-06-17 | 2007-11-27 | Hitachi, Ltd. | Method and apparatus for managing replication volumes |
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
JP4418286B2 (ja) * | 2003-07-14 | 2010-02-17 | 富士通株式会社 | 分散型ストレージシステム |
US7426570B2 (en) | 2003-07-25 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Determining placement of distributed application onto distributed resource infrastructure |
US7277960B2 (en) | 2003-07-25 | 2007-10-02 | Hewlett-Packard Development Company, L.P. | Incorporating constraints and preferences for determining placement of distributed application onto distributed resource infrastructure |
CN101566931B (zh) | 2003-08-14 | 2011-05-18 | 克姆佩棱特科技公司 | 虚拟磁盘驱动系统和方法 |
US8825591B1 (en) | 2003-12-31 | 2014-09-02 | Symantec Operating Corporation | Dynamic storage mechanism |
US7328265B2 (en) | 2004-03-31 | 2008-02-05 | International Business Machines Corporation | Method and system to aggregate evaluation of at least one metric across a plurality of resources |
US7209967B2 (en) | 2004-06-01 | 2007-04-24 | Hitachi, Ltd. | Dynamic load balancing of a storage system |
US20060069761A1 (en) * | 2004-09-14 | 2006-03-30 | Dell Products L.P. | System and method for load balancing virtual machines in a computer network |
US20070083482A1 (en) * | 2005-10-08 | 2007-04-12 | Unmesh Rathi | Multiple quality of service file system |
US20110010518A1 (en) * | 2005-12-19 | 2011-01-13 | Srinivas Kavuri | Systems and Methods for Migrating Components in a Hierarchical Storage Network |
US7711711B1 (en) | 2006-03-29 | 2010-05-04 | Emc Corporation | Networked storage system employing information lifecycle management in conjunction with a distributed global file system |
US7653832B2 (en) | 2006-05-08 | 2010-01-26 | Emc Corporation | Storage array virtualization using a storage block mapping protocol client and server |
JP4749255B2 (ja) | 2006-07-03 | 2011-08-17 | 株式会社日立製作所 | 複数種類の記憶デバイスを備えたストレージシステムの制御装置 |
US20080052026A1 (en) | 2006-08-23 | 2008-02-28 | Qurio Holdings, Inc. | Configuring a content capture device for one or more service providers |
US8738749B2 (en) | 2006-08-29 | 2014-05-27 | Digimarc Corporation | Content monitoring and host compliance evaluation |
US8046767B2 (en) | 2007-04-30 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | Systems and methods for providing capacity management of resource pools for servicing workloads |
US20080291204A1 (en) | 2007-05-22 | 2008-11-27 | International Business Machines Corporation | Coupled placement of items using stable marriage techniques |
US7827286B1 (en) * | 2007-06-15 | 2010-11-02 | Amazon Technologies, Inc. | Providing enhanced access to stored data |
CN101632068B (zh) | 2007-12-28 | 2015-01-14 | 株式会社东芝 | 半导体存储装置 |
US8230069B2 (en) | 2008-03-04 | 2012-07-24 | International Business Machines Corporation | Server and storage-aware method for selecting virtual machine migration targets |
JP5642338B2 (ja) | 2008-03-10 | 2014-12-17 | 富士通株式会社 | ジョブ管理プログラムおよびジョブ管理方法 |
US8336094B2 (en) | 2008-03-27 | 2012-12-18 | Juniper Networks, Inc. | Hierarchical firewalls |
WO2009126154A1 (en) * | 2008-04-10 | 2009-10-15 | Hewlett-Packard Development Company, L.P. | Virtual machine migration according to environmental data |
KR20110031441A (ko) | 2008-06-06 | 2011-03-28 | 피봇3 | 분산 raid 구현을 위한 방법 및 시스템 |
US8019732B2 (en) | 2008-08-08 | 2011-09-13 | Amazon Technologies, Inc. | Managing access of multiple executing programs to non-local block data storage |
US8015343B2 (en) * | 2008-08-08 | 2011-09-06 | Amazon Technologies, Inc. | Providing executing programs with reliable access to non-local block data storage |
US8725967B2 (en) | 2008-08-08 | 2014-05-13 | Amazon Technologies, Inc. | Providing executing programs with access to stored block data of others |
US8285687B2 (en) | 2008-08-27 | 2012-10-09 | Netapp, Inc. | System and method for file system level compression using compression group descriptors |
US8365183B2 (en) | 2008-09-02 | 2013-01-29 | Ca, Inc. | System and method for dynamic resource provisioning for job placement |
US8307177B2 (en) | 2008-09-05 | 2012-11-06 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
WO2010033497A1 (en) | 2008-09-18 | 2010-03-25 | Marvell World Trade Ltd. | Preloading applications onto memory at least partially during boot up |
JP5234342B2 (ja) | 2008-09-22 | 2013-07-10 | 株式会社日立製作所 | 計算機システム及びその制御方法 |
US7984151B1 (en) | 2008-10-09 | 2011-07-19 | Google Inc. | Determining placement of user data to optimize resource utilization for distributed systems |
US7996719B2 (en) | 2008-10-24 | 2011-08-09 | Microsoft Corporation | Expressing fault correlation constraints |
US8190832B2 (en) | 2009-01-29 | 2012-05-29 | International Business Machines Corporation | Data storage performance enhancement through a write activity level metric recorded in high performance block storage metadata |
US8321862B2 (en) | 2009-03-20 | 2012-11-27 | Oracle America, Inc. | System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy |
US8930539B1 (en) * | 2009-03-26 | 2015-01-06 | Symantec Corporation | Method and apparatus for optimizing resource utilization within a cluster and facilitating high availability for an application |
US8117613B2 (en) | 2009-04-08 | 2012-02-14 | Microsoft Corporation | Optimized virtual machine migration mechanism |
JP5781925B2 (ja) | 2009-04-23 | 2015-09-24 | 株式会社日立製作所 | 計算機システム及びその制御方法 |
US8190811B2 (en) | 2009-06-09 | 2012-05-29 | Seagate Technology, Llc | Defragmentation of solid state memory |
US8489744B2 (en) * | 2009-06-29 | 2013-07-16 | Red Hat Israel, Ltd. | Selecting a host from a host cluster for live migration of a virtual machine |
US8407190B2 (en) * | 2009-06-30 | 2013-03-26 | Commvault Systems, Inc. | Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer |
US8140812B2 (en) | 2009-07-01 | 2012-03-20 | International Business Machines Corporation | Method and apparatus for two-phase storage-aware placement of virtual machines |
US8234377B2 (en) * | 2009-07-22 | 2012-07-31 | Amazon Technologies, Inc. | Dynamically migrating computer networks |
US8914598B2 (en) * | 2009-09-24 | 2014-12-16 | Vmware, Inc. | Distributed storage resource scheduler and load balancer |
US20110078303A1 (en) * | 2009-09-30 | 2011-03-31 | Alcatel-Lucent Usa Inc. | Dynamic load balancing and scaling of allocated cloud resources in an enterprise network |
US8307362B1 (en) * | 2009-12-18 | 2012-11-06 | Emc Corporation | Resource allocation in a virtualized environment |
US8402140B2 (en) | 2010-01-13 | 2013-03-19 | Nec Laboratories America, Inc. | Methods and apparatus for coordinated energy management in virtualized data centers |
US9342801B2 (en) * | 2010-03-29 | 2016-05-17 | Amazon Technologies, Inc. | Managing committed processing rates for shared resources |
US9197514B2 (en) | 2010-03-31 | 2015-11-24 | Paypal, Inc. | Service level agreement based storage access |
US8799413B2 (en) * | 2010-05-03 | 2014-08-05 | Panzura, Inc. | Distributing data for a distributed filesystem across multiple cloud storage systems |
US8504689B2 (en) | 2010-05-28 | 2013-08-06 | Red Hat, Inc. | Methods and systems for cloud deployment analysis featuring relative cloud resource importance |
US8479211B1 (en) * | 2010-06-29 | 2013-07-02 | Amazon Technologies, Inc. | Dynamic resource commitment management |
US8539197B1 (en) * | 2010-06-29 | 2013-09-17 | Amazon Technologies, Inc. | Load rebalancing for shared resource |
US8812653B2 (en) * | 2010-08-05 | 2014-08-19 | Novell, Inc. | Autonomous intelligent workload management |
US8826292B2 (en) * | 2010-08-06 | 2014-09-02 | Red Hat Israel, Ltd. | Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines |
US8583867B1 (en) | 2010-09-08 | 2013-11-12 | Netapp, Inc. | Non-disruptive data migration between processing systems that do not share storage |
US8612330B1 (en) * | 2010-09-14 | 2013-12-17 | Amazon Technologies, Inc. | Managing bandwidth for shared resources |
US8533103B1 (en) * | 2010-09-14 | 2013-09-10 | Amazon Technologies, Inc. | Maintaining latency guarantees for shared resources |
US8484353B1 (en) | 2010-09-28 | 2013-07-09 | Amazon Technologies, Inc. | Resource placement templates for virtual networks |
US9304867B2 (en) | 2010-09-28 | 2016-04-05 | Amazon Technologies, Inc. | System and method for providing flexible storage and retrieval of snapshot archives |
US10013662B2 (en) * | 2010-09-30 | 2018-07-03 | Amazon Technologies, Inc. | Virtual resource cost tracking with dedicated implementation resources |
US8645529B2 (en) * | 2010-10-06 | 2014-02-04 | Infosys Limited | Automated service level management of applications in cloud computing environment |
US8589538B2 (en) * | 2010-10-22 | 2013-11-19 | International Business Machines Corporation | Storage workload balancing |
US8924539B2 (en) * | 2010-11-24 | 2014-12-30 | Red Hat, Inc. | Combinatorial optimization of multiple resources across a set of cloud-based networks |
US9329886B2 (en) * | 2010-12-10 | 2016-05-03 | Amazon Technologies, Inc. | Virtual machine morphing for heterogeneous migration environments |
US8615579B1 (en) * | 2010-12-28 | 2013-12-24 | Amazon Technologies, Inc. | Managing virtual machine migration |
WO2012105980A1 (en) | 2011-02-03 | 2012-08-09 | Empire Technology Development Llc | Improving reliability in distributed environments |
US8738972B1 (en) | 2011-02-04 | 2014-05-27 | Dell Software Inc. | Systems and methods for real-time monitoring of virtualized environments |
US9223616B2 (en) * | 2011-02-28 | 2015-12-29 | Red Hat Israel, Ltd. | Virtual machine resource reduction for live migration optimization |
US8832219B2 (en) * | 2011-03-01 | 2014-09-09 | Red Hat, Inc. | Generating optimized resource consumption periods for multiple users on combined basis |
US8452819B1 (en) * | 2011-03-22 | 2013-05-28 | Amazon Technologies, Inc. | Methods and apparatus for optimizing resource utilization in distributed storage systems |
US8949688B2 (en) | 2011-04-01 | 2015-02-03 | Cleversafe, Inc. | Updating error recovery information in a dispersed storage network |
JP5691062B2 (ja) * | 2011-04-04 | 2015-04-01 | 株式会社日立製作所 | 仮想計算機の制御方法及び管理計算機 |
KR101544485B1 (ko) * | 2011-04-25 | 2015-08-17 | 주식회사 케이티 | 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치 |
US9021475B2 (en) | 2011-05-04 | 2015-04-28 | Citrix Systems, Inc. | Systems and methods for SR-IOV pass-thru via an intermediary device |
US8806015B2 (en) | 2011-05-04 | 2014-08-12 | International Business Machines Corporation | Workload-aware placement in private heterogeneous clouds |
US8719627B2 (en) * | 2011-05-20 | 2014-05-06 | Microsoft Corporation | Cross-cloud computing for capacity management and disaster recovery |
US8706869B2 (en) | 2011-06-14 | 2014-04-22 | International Business Machines Corporation | Distributed cloud placement software |
US8615589B1 (en) * | 2011-06-27 | 2013-12-24 | Amazon Technologies, Inc. | Resource optimization recommendations |
WO2013001392A1 (en) * | 2011-06-29 | 2013-01-03 | International Business Machines Corporation | Managing organizational computing resources in accordance with computing environment entitlement contracts |
CN103649910A (zh) * | 2011-07-11 | 2014-03-19 | 惠普发展公司,有限责任合伙企业 | 虚拟机放置 |
WO2013019185A1 (en) * | 2011-07-29 | 2013-02-07 | Hewlett-Packard Development Company, L.P. | Migrating virtual machines |
US9229777B2 (en) * | 2011-08-08 | 2016-01-05 | International Business Machines Corporation | Dynamically relocating workloads in a networked computing environment |
US8949431B2 (en) * | 2011-08-24 | 2015-02-03 | Radware, Ltd. | Method for live migration of virtual machines |
US8661448B2 (en) * | 2011-08-26 | 2014-02-25 | International Business Machines Corporation | Logical partition load manager and balancer |
US9026837B2 (en) | 2011-09-09 | 2015-05-05 | Microsoft Technology Licensing, Llc | Resource aware placement of applications in clusters |
EP2744186B1 (en) * | 2011-09-14 | 2016-05-25 | Nec Corporation | Resource optimization method, ip network system and resource optimization program |
US9009317B2 (en) * | 2011-10-10 | 2015-04-14 | Verizon Patent And Licensing Inc. | System for and method of managing network resources |
US8782242B2 (en) | 2011-10-13 | 2014-07-15 | Vmware, Inc. | Software application placement using computing resource containers |
US8914515B2 (en) * | 2011-10-28 | 2014-12-16 | International Business Machines Corporation | Cloud optimization using workload analysis |
US8898505B2 (en) * | 2011-12-01 | 2014-11-25 | International Business Machines Corporation | Dynamically configureable placement engine |
US8886781B2 (en) * | 2011-12-13 | 2014-11-11 | Microsoft Corporation | Load balancing in cluster storage systems |
KR101343617B1 (ko) * | 2011-12-28 | 2013-12-20 | 대전대학교 산학협력단 | 클라우드 환경에서 서비스품질 보장을 위한 서비스수준협약 관리방법 |
US8788658B2 (en) * | 2012-02-03 | 2014-07-22 | International Business Machines Corporation | Allocation and balancing of storage resources |
CN103365781B (zh) * | 2012-03-29 | 2016-05-04 | 国际商业机器公司 | 用于动态地重新配置存储系统的方法和设备 |
CN104303168B (zh) * | 2012-04-25 | 2016-12-07 | 英派尔科技开发有限公司 | 用于灵活资源需求应用的认证 |
US9619292B2 (en) | 2012-04-30 | 2017-04-11 | Alcatel Lucent | Resource placement in networked cloud based on resource constraints |
WO2013171787A2 (en) * | 2012-05-15 | 2013-11-21 | Hitachi, Ltd. | File storage system and load distribution method |
CN102821158B (zh) * | 2012-08-20 | 2015-09-30 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
US8856386B2 (en) | 2012-08-21 | 2014-10-07 | Cisco Technology, Inc. | Cloud resource placement using placement pivot in physical topology |
US8745261B1 (en) * | 2012-10-02 | 2014-06-03 | Nextbit Systems Inc. | Optimized video streaming using cloud computing platform |
WO2014073024A1 (en) | 2012-11-09 | 2014-05-15 | Hitachi, Ltd. | Management computer, computer system, and instance management method |
US9317223B2 (en) * | 2012-12-17 | 2016-04-19 | International Business Machines Corporation | Method and apparatus for automated migration of data among storage centers |
US20140250440A1 (en) * | 2013-03-01 | 2014-09-04 | Adaptive Computing Enterprises, Inc. | System and method for managing storage input/output for a compute environment |
WO2014192132A1 (ja) * | 2013-05-31 | 2014-12-04 | 株式会社日立製作所 | 負荷分散装置及び方法 |
US9185960B2 (en) | 2013-11-08 | 2015-11-17 | Julep Beauty, Inc. | Stylus for cosmetics, nail polish applicator and systems and kits based thereon |
US9396009B2 (en) | 2014-01-30 | 2016-07-19 | International Business Machines Corporation | Optimized global capacity management in a virtualized computing environment |
US9582303B2 (en) | 2014-03-03 | 2017-02-28 | Vmware, Inc. | Extending placement constraints for virtual machine placement, load balancing migrations, and failover without coding |
WO2015186248A1 (ja) * | 2014-06-06 | 2015-12-10 | 株式会社日立製作所 | ストレージシステム、計算機システム及びデータ移行方法 |
US9477743B2 (en) * | 2014-07-02 | 2016-10-25 | Oracle International Corporation | System and method for load balancing in a distributed system by dynamic migration |
US9526012B2 (en) | 2014-07-03 | 2016-12-20 | Alcatel Lucent | Efficient evaluation of hotspots for metrocell deployment |
US9395967B2 (en) | 2014-11-03 | 2016-07-19 | International Business Machines Corporation | Workload deployment density management for a multi-stage computing architecture implemented within a multi-tenant computing environment |
US10162656B2 (en) * | 2014-11-26 | 2018-12-25 | Vmware, Inc. | Minimizing guest operating system licensing costs in a processor based licensing model in a virtual datacenter |
US9886296B2 (en) | 2014-12-01 | 2018-02-06 | International Business Machines Corporation | Managing hypervisor weights in a virtual environment |
JP6356599B2 (ja) * | 2014-12-26 | 2018-07-11 | 株式会社日立製作所 | 監視支援システム、監視支援方法、および監視支援プログラム |
US9870244B2 (en) * | 2014-12-29 | 2018-01-16 | International Business Machines Corporation | Optimized migration of virtual objects across environments in a cloud computing environment |
-
2015
- 2015-03-09 US US14/642,445 patent/US10715460B2/en active Active
-
2016
- 2016-03-09 CA CA2978889A patent/CA2978889C/en active Active
- 2016-03-09 AU AU2016229135A patent/AU2016229135A1/en not_active Abandoned
- 2016-03-09 JP JP2017546817A patent/JP2018514018A/ja active Pending
- 2016-03-09 EP EP16711747.2A patent/EP3268860A1/en not_active Withdrawn
- 2016-03-09 KR KR1020177024942A patent/KR102031471B1/ko active IP Right Grant
- 2016-03-09 WO PCT/US2016/021580 patent/WO2016145091A1/en active Application Filing
- 2016-03-09 SG SG11201707091TA patent/SG11201707091TA/en unknown
- 2016-03-09 CN CN201680014429.3A patent/CN107430528B/zh active Active
-
2019
- 2019-04-17 AU AU2019202695A patent/AU2019202695A1/en not_active Abandoned
-
2020
- 2020-01-10 JP JP2020002627A patent/JP7138126B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140356A (ja) * | 2007-12-07 | 2009-06-25 | Hitachi Ltd | 管理装置及び管理方法 |
WO2010016104A1 (ja) * | 2008-08-04 | 2010-02-11 | 富士通株式会社 | マルチプロセッサシステム,マルチプロセッサシステム用管理装置およびマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体 |
JP2013152553A (ja) * | 2012-01-24 | 2013-08-08 | Nippon Telegr & Teleph Corp <Ntt> | リソース管理装置、リソース管理システム、リソース管理方法およびリソース管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
KR102031471B1 (ko) | 2019-11-08 |
AU2019202695A1 (en) | 2019-05-09 |
CA2978889C (en) | 2021-01-26 |
EP3268860A1 (en) | 2018-01-17 |
WO2016145091A1 (en) | 2016-09-15 |
CN107430528A (zh) | 2017-12-01 |
CN107430528B (zh) | 2021-06-04 |
JP2018514018A (ja) | 2018-05-31 |
US10715460B2 (en) | 2020-07-14 |
CA2978889A1 (en) | 2016-09-15 |
US20160269313A1 (en) | 2016-09-15 |
SG11201707091TA (en) | 2017-09-28 |
AU2016229135A1 (en) | 2017-09-21 |
JP7138126B2 (ja) | 2022-09-15 |
KR20170110708A (ko) | 2017-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7138126B2 (ja) | リソース配置を最適化するための適時性リソース移行 | |
JP6928055B2 (ja) | データボリュームの動的な構成 | |
US9207976B2 (en) | Management of prioritizing virtual machines in an operating environment | |
US10057187B1 (en) | Dynamic resource creation to connect client resources in a distributed system | |
US10616134B1 (en) | Prioritizing resource hosts for resource placement | |
US10154091B1 (en) | Deploying infrastructure units according to resource hosting constraints | |
US10505862B1 (en) | Optimizing for infrastructure diversity constraints in resource placement | |
US10990464B1 (en) | Block-storage service supporting multi-attach and health check failover mechanism | |
US10776173B1 (en) | Local placement of resource instances in a distributed system | |
Hsieh et al. | The incremental load balance cloud algorithm by using dynamic data deployment | |
US10812408B1 (en) | Preventing concentrated selection of resource hosts for placing resources | |
US10594620B1 (en) | Bit vector analysis for resource placement in a distributed system | |
US11336519B1 (en) | Evaluating placement configurations for distributed resource placement | |
US11080092B1 (en) | Correlated volume placement in a distributed block storage service | |
Wang et al. | Provision of storage QoS in distributed file systems for clouds | |
US11121981B1 (en) | Optimistically granting permission to host computing resources | |
US10721181B1 (en) | Network locality-based throttling for automated resource migration | |
US11381468B1 (en) | Identifying correlated resource behaviors for resource allocation | |
US11048554B1 (en) | Correlated volume placement in a distributed block storage service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210323 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210623 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210917 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220614 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220614 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220621 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220705 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220905 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7138126 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |