JP6132766B2 - データセンタサービスの制御された自動復旧 - Google Patents

データセンタサービスの制御された自動復旧 Download PDF

Info

Publication number
JP6132766B2
JP6132766B2 JP2013528254A JP2013528254A JP6132766B2 JP 6132766 B2 JP6132766 B2 JP 6132766B2 JP 2013528254 A JP2013528254 A JP 2013528254A JP 2013528254 A JP2013528254 A JP 2013528254A JP 6132766 B2 JP6132766 B2 JP 6132766B2
Authority
JP
Japan
Prior art keywords
application
data center
component
resource
application component
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.)
Active
Application number
JP2013528254A
Other languages
English (en)
Other versions
JP2014506342A (ja
JP2014506342A5 (ja
Inventor
エー.デュールノフ パーベル
エー.デュールノフ パーベル
シュ ハイチ
シュ ハイチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014506342A publication Critical patent/JP2014506342A/ja
Publication of JP2014506342A5 publication Critical patent/JP2014506342A5/ja
Application granted granted Critical
Publication of JP6132766B2 publication Critical patent/JP6132766B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、データセンタサービスの制御された自動復旧に関する。
データセンタは、クラウドと呼ばれることがある、ネットワーク化されたコンピュータリソース(例えば、サーバ、ディスク、仮想マシンなど)からなり、これらのリソースは、ホストされたアプリケーションを配置するために活用される。そうすることで、分散アプリケーションは、基になるハードウェアの可用性よりも高い可用性のレベルを達成することができる。すなわち、場合によっては、基になるハードウェアは、アプリケーションがリソースに割り振られ、リソースを利用中である間の時間に、障害のある状態(例えば、調査または修復)に入ることがある。
したがって、アプリケーションを、障害のあるリソースから障害のないリソースへ再割り当てするために、適切な手段を有し、それにより、アプリケーションが可用性を維持できるようにすることが有用である。また、移動中でも、アプリケーションが使用可能なままであることを可能にする方法で、アプリケーションを再割り当てすることが有用である。
本発明の実施形態は、以下の特許請求の範囲によって定義され、この概要によって定義されない。本明細書で説明する主題の高レベルの概観を、そのためにここで提供して、本開示の概観を提供し、詳細な説明のセクションでさらに後述する概念の選択を紹介する。この概要は、特許請求の範囲に記載された主題の主要な特徴または必須の特徴を識別するように意図されておらず、特許請求の範囲に記載された主題の範囲を決定するための分離の助けとして使用されるようにも意図されていない。
本明細書で説明する主題は、アプリケーションコンポーネントを、障害のあるデータセンタリソースから障害のないデータセンタリソースへ再割り当てすることを対象とする。バックグラウンドモニタは、障害のあるデータセンタリソースを識別し、アプリケーションコンポーネントの、障害のあるデータセンタリソースから障害のないデータセンタリソースへの移行をスケジュールする。移行は、アプリケーションが使用可能なままであることを可能にする、自動的な方法で実施される。しきい値は、移行のレートを制御するため、ならびに、リソースエラーが、データセンタ全体の処理またはアプリケーションエラーの結果として生じている可能性がある場合を検出するために、適切である。
本発明の例示的実施形態を、添付の図面を参照して詳細に後述する。
本発明の実施形態による使用のために適した、例示的コンピューティングデバイスを示すブロック図である。 本発明の一実施形態による例示的動作環境のブロック図である。 本発明の一実施形態による例示的流れ図である。 本発明の一実施形態による例示的流れ図である。
主題を、本明細書で、法定要件を満たすために、特定性を有して説明する。しかし、その説明自体は、必ずしも特許請求の範囲の範囲を限定するように意図されているとは限らない。むしろ、特許請求の範囲に記載された主題が、他の現在または将来の技術と共に、他の方法で実施されて、異なるステップ、または、本書で説明するステップに類似したステップの組み合わせを含むようにしてもよい。用語は、個々のステップの順序が明記されない限り、および、明記される場合を除いて、本明細書で開示する様々なステップ間のいかなる特定の順序を含意するようにも解釈されるべきではない。
全体として、本発明の一実施形態は、アプリケーションコンポーネントを、障害のあるデータセンタリソースから障害のないデータセンタリソースへ再割り当てすることを、対象とする。本明細書で使用される場合、「アプリケーションコンポーネント」は、データセンタリソース上で配置され、および、1つまたは複数の他のアプリケーションコンポーネントと共に実行されて、アプリケーションの所望の機能性が達成される、アプリケーションの少なくとも一部を説明する。アプリケーションコンポーネントは、「インスタンス」、「ロールインスタンス」または「アプリケーションロールインスタンス」と呼ばれることがある。「データセンタリソース」には、サーバ(「ノード」とも呼ばれる)、ディスクまたは仮想マシン(VM)など、データセンタのコンピューティングリソースが含まれる。典型的には、データセンタは、接続されて、リソースのネットワークが形成される、ある量の(例えば、数千の)個々のリソースを含む。
アプリケーションは、そのアプリケーションがどのようにリソースのネットワークの中で配置されるべきであるかを規定する、命令(「アプリケーションモデル」または「アプリケーション配置パラメータ」とも呼ばれる)を含むことが多い。例えば、命令は、アプリケーションを、50個のロールインスタンス(すなわち、アプリケーションコンポーネント)として、各々が別々の電源を含む5個の異なるデータセンタリソース(例えば、サーバ)の中に、均等に配置(配置)することを、指示してもよい。それに応じて、10個のロールインスタンスが、5個のリソースの各々において配置されるようになる。10個のロールインスタンスの各セットを、それぞれの仮想グループ(「アップグレードドメイン」とも呼ばれる)として指定してもよい。アプリケーションモデルの可用性制約に基づいて、複数の仮想グループは、同時にアップグレードまたは移行可能としないことが多い。
この例を続けると、5個のリソースのうち1個がエラーを起こす場合、本発明の一実施形態は、10個のアプリケーションコンポーネントを、エラーが起こったリソースから正常なリソースへ移行させる。また、10個のアプリケーションコンポーネントが、アプリケーションモデルに整合する方法で、再割り当てされる。すなわち、10個のアプリケーションコンポーネントの移行は、任意の他のアプリケーションコンポーネントの再割り当てまたは任意の他のメンテナンス動作が開始される前に完了され、それにより、仮想グループ移行要件に従う。加えて、10個のアプリケーションコンポーネントを受け入れる正常なリソース(複数可)は、その上で他の40個のアプリケーションコンポーネントが配置される4個のリソースのうち1個ではなく、それにより、5個の異なるデータセンタリソースを必要とするパラメータに従う。
実施形態を簡単に説明したが、図1を次に説明し、図1では、本発明の実施形態を実施するための例示的動作環境が示され、全体としてコンピューティングデバイス100として指定される。コンピューティングデバイス100は、しかし、適切なコンピューティング環境の一例であり、本発明の実施形態の使用または機能性の範囲についてのいかなる限定を示唆するようにも意図されていない。コンピューティングデバイス100はまた、例示されたコンポーネントのいずれか1つまたは組み合わせに関係する、いかなる依存性または要件を有するように解釈されるべきでない。
本発明の実施形態は、一般に、コンピュータ、または、パーソナルデータアシスタントもしくは他のハンドヘルドデバイスなど、他のマシンによって実行される、プログラムモジュールなど、コンピュータ実行可能命令を含む、コンピュータコードまたはマシン使用可能命令との関連で説明されうる。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラムモジュールは、特定のタスクを行うか、または、特定の抽象データ型を実装する、コードを指す。本発明の実施形態は、ハンドヘルドデバイス、消費者向け電子機器、汎用コンピュータ、より専門のコンピューティングデバイスなどを含む、様々なシステム構成で実施されてもよい。本発明の実施形態はまた、通信ネットワークを通してリンクされるリモート処理デバイスによってタスクが行われる、分散コンピューティング環境で実施されてもよい。
本発明の実施形態は、とりわけ、方法、システム、または、1つもしくは複数のコンピュータ可読メディア上で実施された命令のセットとして、実施されてもよい。コンピュータ可読メディアは、揮発性および不揮発性メディア、リムーバブルおよびノンリムーバブルメディアを共に含み、データベース、スイッチ、および、様々な他のネットワークデバイスによって可読なメディアを企図する。例として、コンピュータ可読メディアは、情報を保存するための任意の方法または技術において実装されたメディアを含む。保存された情報の例には、コンピュータ使用可能命令、データ構造、プログラムモジュール、および、他のデータ表現が含まれる。メディアの例には、情報配信メディアに限定されないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、ホログラフィックメディアまたは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置および他の磁気記憶装置が含まれる。これらの技術は、データを瞬間的に、一時的に、または永続的に保存することができる。
図1を参照すると、コンピューティングデバイス100は、以下のデバイスを直接または間接的に結合するバス110を含み、これらのデバイスは、メモリ112、1つまたは複数のプロセッサ114、1つまたは複数の提示コンポーネント116、入出力ポート118、入出力コンポーネント120、および、電源装置122である。バス110は、1つまたは複数のバス(アドレスバス、データバス、または、それらの組み合わせなど)でありうる物を表す。図1の様々なブロックを、明快にするために線で示すが、実際には、様々なコンポーネントを図で表すことは、それほど明快ではなく、比喩的には、これらの線は、より正確には、どっちつかずで不明瞭となる。例えば、ディスプレイデバイスなど、提示コンポーネントを、I/Oコンポーネントであると見なすことができる。また、プロセッサも、メモリを有する。我々は、そのようなことが当技術分野の性質であると認識し、図1の図が、本発明の1つまたは複数の実施形態に関連して使用されうる、例示的コンピューティングデバイスを例示するのみであることを、繰り返し述べる。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などのようなカテゴリ間の区別は行われず、その理由は、すべてが図1および「コンピューティングデバイス」への言及の範囲内で企図されるからである。
コンピューティングデバイス100は典型的には、様々なコンピュータ可読メディアを含む。例として、コンピュータ可読メディアには、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電子的消去可能プログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、CDROM、デジタル多用途ディスク(DVD)もしくは他の光もしくはホログラフィックメディア、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、搬送波、または、所望の情報を符号化するために使用でき、コンピューティングデバイス100によってアクセス可能な、任意の他のメディアが含まれてもよい。
メモリ112には、揮発性および/または不揮発性メモリの形態の、コンピュータ記憶メディアが含まれる。このメモリは、リムーバブル、ノンリムーバブル、または、それらの組み合わせであってもよい。例示的ハードウェアデバイスには、ソリッドステートメモリ、ハードドライブ、光ディスクドライブなどが含まれる。コンピューティングデバイス100は、メモリ112またはI/Oコンポーネント120など、様々なエンティティからデータを読み取る、1つまたは複数のプロセッサ114を含む。提示コンポーネント(複数可)116は、ユーザまたは他のデバイスに、データ指示を提示する。例示的提示コンポーネントには、ディスプレイデバイス、スピーカ、印刷コンポーネント、振動コンポーネントなどが含まれる。
I/Oポート118は、コンピューティングデバイス100を、I/Oコンポーネント120を含む他のデバイスに論理的に結合できるようにし、I/Oコンポーネント120のうちいくつかは、組み込まれてもよい。例示的コンポーネントには、マイクロホン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ、プリンタ、ワイヤレスデバイスなどが含まれる。
次に図2を参照すると、本発明の一実施形態を実施するために適した例示的動作環境が、全体として参照番号210によって示され、識別される。環境210は、ネットワーク化されたデータセンタコンピュータリソース212およびコントローラ214のセットを含み、コントローラ214は、リソース212の監視、維持および割り振りを行って、データセンタ内で配置されたアプリケーションをホストする。
リソース212は、リソースA216、リソースB218、リソースC220、および、リソースD222を含む。リソースA〜Dを、例示の目的で示すが、リソース212は、省略符号224で示すように、いくつかの他のリソース(例えば、数千)を含んでもよい。
図2では、アプリケーションは、リソースA216およびリソースB218を使用して配置されている。リソースA216は、アプリケーションロールインスタンス1 226、および、アプリケーションロールインスタンス2 228を含み、リソースB218は、アプリケーションロールインスタンス3 230、および、アプリケーションロールインスタンス4 232を含む。すなわち、アプリケーション(例えば、アプリケーションモデル250内で識別された「アプリケーション例」)が、リソースA216およびリソースB218を使用して配置されており、このアプリケーションは、少なくとも4個のロールインスタンスを含む。また、これらの4個のロールインスタンス(すなわち、226、228、230および232)は、仮想グループ(例えば、アップグレードドメイン)に分割される。例えば、仮想グループA1は、ロールインスタンス1 226、および、ロールインスタンス2 228を含み、仮想グループB1は、ロールインスタンス3 230、および、ロールインスタンス4 232を含む。4個のロールインスタンスのみを、例示の目的で図2に示すが、アプリケーションは、他のリソースの中に配置され、より大きい、より多数の仮想グループに分割された、いくつかの他のロールインスタンスを含んでもよい。
リソースA216およびリソースB218は、障害のある状態を示すために、影付きである。リソースは、様々な理由のために、障害のある状態を含むと見なされることがあり、リソースが、手動調査状態(例えば、HumanInvestigative(HI)状態)、または、修復状態(例えば、「OutForRepair」)である場合などである。リソース212はまた、リソースC220およびリソースD222をも含み、リソースC220およびリソースD222は共に、障害のない状態を示すために、影付きではない。また、リソースC220およびリソースD222の各々は、空のボックス236、238、240および242によって示すように、アプリケーションコンポーネント(例えば、アプリケーションロールインスタンス)を受け入れるための可用性を含む。
コントローラ214(例えば、ファブリックコントローラ)は、互いに通信し、ならびに、ネットワーク化されたコンピュータリソースインベントリ244、アプリケーション情報データストア246、および、アプリケーションコンポーネントリアロケータ(reallocator)248を含む、様々なコンポーネントを含む。以前に示したように、コントローラ214は、リソース212の監視、維持および割り振りを行って、データセンタ内に配置されたアプリケーションをホストする。したがって、インベントリ244は、リソース212の中に含まれたすべてのリソースのリスト、ならびに、各リソースの正常性または状況の指示を含む。例えば、インベントリ244は、リソースAをリストし、リソースAが障害のある状況を含むことを指示する。すなわち、インベントリ244内にリストされた「リソースA」は、リソース212の中で示されたリソースA216に対応する。同様に、インベントリ244はまた、リソースB〜D、ならびに、それぞれの状況の指示をもリストする。
アプリケーション情報データストア246は、リソース212を使用して配置するアプリケーションに関連する情報を保存する。データストア246内に保存された情報の例示的タイプには、アプリケーションモデル250およびアプリケーション正常性履歴252が含まれる。本明細書の例示の目的のために、データストア246内に保存された情報は、リソースA216およびリソースB218上に配置されるとして説明される、同じアプリケーションに関連する。すなわち、情報254の分解図において識別された「アプリケーション例」は、リソースA216およびリソースB218を使用して配置される。アプリケーションモデル250は、配置される場合、アプリケーション例が、2個のサーバの中で分割された4個のインスタンスを含むことになることを指示する。アプリケーション正常性履歴252は、アプリケーションがある期間の全体を通じて再割り当てされた回数または機会の数、ならびに、特定のアプリケーションコンポーネント(例えば、インスタンス)がある期間の全体を通じて再割り当てされた回数を追跡する。以下でより詳細に説明するように、そのようなメトリックスは、アプリケーションおよび/または、およびアプリケーションコンポーネントが、基になるハードウェアに対立するように、障害のある状況を引き起こしている可能性がある場合を識別するために、有用である。
コントローラ214はまた、アプリケーションコンポーネントリアロケータ248をも含む。リアロケータ248は、様々なモニタを含み、これらのモニタは、共に機能して、障害のあるリソースを識別し、使用可能で適切な(すなわち、アプリケーションモデルに整合する)障害のないリソースを決定し、アプリケーションモデル250に従って、アプリケーションコンポーネントを、障害のあるリソースから障害のないリソースへ移行させる。
コンポーネントリアロケータ248は、リソース状況バックグラウンドモニタ256を含み、リソース状況バックグラウンドモニタ256は、障害のある状態を含むリソース(例えば、サーバ、ディスクまたはVM)を識別する。一実施形態では、リソース状況バックグラウンドモニタ256がウェイクアップする場合、リソース状況バックグラウンドモニタ256は、インベントリ244を参照して、障害のある状況を含むリソースを識別する。例えば、リソース状況バックグラウンドモニタ256は、インベントリ244を参照して、リソースA216が障害のある状況を含むと決定してもよい。以前に説明したように、リソースA216は、アプリケーションロールインスタンス1 226、および、アプリケーションロールインスタンス2 228をホストする。リソースA216はエラーを起こしているので、アプリケーションロールインスタンス1 226、および、アプリケーションロールインスタンス2 228を再割り当てして、アプリケーション例が可用性を維持できるようにすることが望ましい。
障害のあるリソースを識別すると、リソース状況バックグラウンドモニタ256は、サービス復旧タスク260を生成し、サービス復旧タスク260は、復旧タスクキュー262内で維持される。サービス復旧タスク260は、アプリケーションコンポーネントが、識別された障害のあるリソースから再割り当てされる必要があるという、命令を含む。例えば、図2に示すように、サービス復旧タスク260は、アプリケーションロールインスタンス1 226がリソースAから再割り当てされる必要があるという、命令を含んでもよい。明確に示されていないが、タスク260は同様に、ロールインスタンス2 228がリソースBから再割り当てされる必要があるという、命令を含んでもよい。
リソースは、データセンタ制御ソフトウェアアップグレードの配置におけるエラー、構成変更、または、大きいハードウェアエラーなど、グループ全体の状態(すなわち、ネットワーク全体の状態)により、障害のある状況に入る可能性がある。そのようなシナリオでは、コントローラ214の少なくともいくつかの動作を一時停止して、調査を可能にするか、または、そうでない場合、アプリケーションコンポーネントを保護することが、望ましいことがある。したがって、再割り当ては望ましくないことがあり、その理由は、再割り当てが、調査を妨げる可能性があり、障害のないノードから再割り当てする可能性があり、または、そうでない場合、アプリケーションに割り当てられたリソースの正常性を復元できない可能性があるからである。したがって、リソース状況バックグラウンドモニタ256は、グループ正常性依存ディスエイブラ(disabler)258を含む。サービス復旧タスク(例えば、260)を生成する前に、ディスエイブラ258は、リソースのグループの中の障害のあるリソースの数が、グループ正常性しきい値を超えるかどうかを判定する。グループ正常性しきい値は、構成可能であり、障害のあるリソースのしきい値数、または、障害のあるリソースと障害のないリソースの比を含んでもよい。したがって、ディスエイブラ258は、インベントリ244から、障害のあるリソースの量を決定し、その量を、グループ正常性しきい値と比較する。その量がしきい値未満である場合、リソース状況バックグラウンドモニタ256は、続行する。しかし、その量がしきい値を超える場合、リソース状況バックグラウンドモニタ256は、無効化され、それにより、復旧動作が中断される。
アプリケーション欠陥は、リソースを障害のある状態に入らせ、アプリケーションの連続的な再割り当てが後続のリソースに悪影響を与えるようになる可能性もある。したがって、リソース状況バックグラウンドモニタ256は、アプリケーション復旧レート依存ディスエイブラ264を含む。サービス復旧タスク(例えば、260)が生成される前に、ディスエイブラ264は、アプリケーションの復旧頻度(すなわち、アプリケーションが所与の期間内に何回復旧されたか)を決定する。例えば、アプリケーション正常性履歴252が参照されて、アプリケーションがある期間内に何回復旧されたかが決定されてもよい。ディスエイブラ264は、アプリケーションの復旧頻度を、アプリケーション復旧レートしきい値と比較する。アプリケーションの復旧頻度が、アプリケーション復旧レートしきい値未満である場合、リソース状況バックグラウンドモニタ256は、続行する。しかし、アプリケーションの復旧頻度が、アプリケーション復旧レートしきい値を超える場合、ディスエイブラ264は、アプリケーションのためのさらなる復旧の試行を無効化する。加えて、アラームまたは通知が送出され、アプリケーションが調査されるべきであることが指示されてもよい。
アプリケーション復旧レートしきい値は、様々な方法を使用して決定されてもよい。例えば、アプリケーション復旧レートしきい値は、経験に基づいて、ヒューリスティックに決定されてもよい。代替として(または、加えて)、アプリケーション復旧レートしきい値は、リソース(例えば、サーバ)が、アプリケーション欠陥によって引き起こされない、障害のある状態に入る、計算された確率に基づいてもよい。一実施形態では、計算された確率は、ポワソン分布を使用して決定される。すなわち、ポワソン分布は、あるイベント(例えば、リソースが障害のある状態に入ること)が、その最後のイベント以来の時間にかかわらず、そのイベントが既知の平均レートで発生する場合、固定された期間内で発生する確率を表す。したがって、あるアプリケーションが5個のノード上でホストされる場合、ポワソン分布が使用されて、それらの5個のノードが、独立してランダムに引き起こされる(すなわち、アプリケーション欠陥によって引き起こされない)障害のある状態に入る、頻度が示唆される。ポワソン分布によって示唆された頻度よりも多い、それらの5個のノードによるエラーは、アプリケーション欠陥がそれらのエラーを引き起こしている可能性があることを指示する。したがって、ポワソン分布頻度(Poisson distribution frequency)を、アプリケーション復旧レートしきい値として使用することができ、または、アプリケーション復旧レートしきい値を示唆するために使用することができる。
アプリケーション欠陥が、リソースを障害のある状態に入らせることと同様に、アプリケーションコンポーネント(例えば、インスタンス)は、リソースを障害のある状態に入らせる欠陥を含むことがある。したがって、リソース状況バックグラウンドモニタ256は、アプリケーション復旧レート依存ディスエイブラ264と同様に機能する、コンポーネント復旧レート依存ディスエイブラ266を含む。すなわち、サービス復旧タスク(例えば、260)が生成される前に、ディスエイブラ266は、コンポーネントの復旧頻度(すなわち、コンポーネントが所与の期間内に何回復旧されたか)を決定する。例えば、アプリケーション正常性履歴252が参照されて、コンポーネントがある期間内に何回復旧されたかが決定されてもよい。ディスエイブラ266は、コンポーネントの復旧頻度を、コンポーネント復旧レートしきい値と比較する。コンポーネントの復旧頻度が、コンポーネント復旧レートしきい値未満である場合、リソース状況バックグラウンドモニタ256は、続行する。しかし、コンポーネントの復旧頻度が、コンポーネント復旧レートしきい値を超える場合、ディスエイブラ266は、コンポーネントのアプリケーションのためのさらなる復旧の試行を無効化する。加えて、アラームまたは通知が送出され、アプリケーションコンポーネントが調査されるべきであることが指示されてもよい。
チェックされない場合、アプリケーションコンポーネントリアロケータ248による再割り当ては、コントローラ214のワークロードを考慮に入れることなく、多数のタスクを生成することがある。したがって、しきい値は、再割り当てセッション内で生成されるタスクの数を制限するために、確立されてもよい。すなわち、リソース状況バックグラウンドモニタ256は、部分的には、休止状態からウェイクすること、障害のあるリソースを識別すること、サービス復旧タスクを作成すること、および、休止状態へ戻ることによって、機能する。リソース状況バックグラウンドモニタ256がウェイクアップするたびに、リソース状況バックグラウンドモニタ256は、再割り当てセッションを開始する。
したがって、コントローラ214のワークロードを管理するために、リソース状況バックグラウンドモニタ256が所与の再割り当てセッション内で再割り当て可能にされる、アプリケーションの概数に、上限が設定されてもよい。したがって、セッションごとのスロットル268は、再割り当てセッション内で再割り当て可能にされる、アプリケーションの数を制御する。セッションごとのスロットル268が、セッションごとの上限を確立する場合、リソース状況バックグラウンドモニタ256は、次のリソース境界に丸められた、ほぼ、セッションごとの上限で再割り当てするようになる。例えば、リソース状況バックグラウンドモニタ256は、ウェイクアップし、各リソースが8個のアプリケーションをホストする、障害のある3個のリソースを、識別することがある。セッションごとのスロットル268が、再割り当ての上限を10個のアプリケーションに定める場合、3個のリソースのうち2個(すなわち、16個のアプリケーション)が再割り当てされ、残りの1つのリソースは、後続のセッション内で再割り当てされる。すなわち、セッションごとの上限(例えば、10)が超えられる場合、最大で次のリソース境界までのリスト(例えば、16個のアプリケーション)が再割り当てされるようになるが、それより多くは再割り当てされないようになる。
コンポーネント再配置バックグラウンドモニタ270は、サービス復旧タスクを使用し、アプリケーションコンポーネントが移行されうる先の障害のないリソースを識別する。例えば、サービス復旧タスク260を受け入れると、コンポーネント再配置バックグラウンドモニタ270は、インベントリ244を参照して、アプリケーションロールインスタンス1 226を受け入れるために使用可能であるリソースを識別してもよい。
使用可能な障害のないリソースを識別することに加えて、コンポーネント再配置バックグラウンドモニタ270は、アプリケーションロールインスタンス1 226の、特定の障害のないリソースへの移行が、アプリケーションモデル250に適合することを保証する。例えば、アプリケーションモデル250は、アプリケーション例が2個のサーバを使用して配置されることになることを、規定する。したがって、単一のサーバが、アプリケーションロールインスタンス1〜4の各々をホストするために使用可能であった場合でも、コンポーネント再配置バックグラウンドモニタ270は、それらのアプリケーションコンポーネントのすべてがその単一のサーバへ再割り当てされるように、スケジュールするようにはならない。
コンポーネント再配置バックグラウンドモニタ270が、アプリケーションコンポーネントが再割り当てされうる先の、使用可能で適切なリソースを識別した後、コンポーネント再配置バックグラウンドモニタ270は、アップグレードタスク272を生成する。例えば、アップグレードタスク272は、アプリケーションロールインスタンス1 226の、リソースC220への再割り当てを命令する。明確に示されていないが、タスク272は同様に、ロールインスタンス2 228が、使用可能で適切なリソースへ再割り当てされる必要があるという、命令を含んでもよい。アプリケーションロールインスタンス2 228に関連するアップグレードタスク(例えば、272)は、アプリケーションモデル250への適合が維持される限り、アプリケーションロールインスタンス2 228がリソースC220またはリソースD220のいずれかに移行されるべきであることを、命令してもよい。アップグレードタスクは、ローリングアップグレードタスクキュー276内で優先される。
コンポーネント再配置モニタ270はまた、セッションごとのスロットル274をも含んでもよく、セッションごとのスロットル274は、セッションごとのスロットル268と同様に機能する。すなわち、セッションごとのスロットル274は、再割り当てセッション内で再割り当て可能なアプリケーションの数を制御する。セッションごとのスロットル274が、セッションごとの上限を確立する場合、ウェイクすると、コンポーネント再配置バックグラウンドモニタ270は、上限にほぼ等しい数のサービス復旧タスクを処理する。すなわち、コンポーネント再配置バックグラウンドモニタ270は、リソース状況バックグラウンドモニタ256と同様に、次のリソース境界に丸められた数を処理してもよい。
ローリングアップグレードバックグラウンドモニタ278は、アップグレードタスクを使用し、アプリケーションコンポーネントの再割り当てを実行する。例えば、ローリングアップグレードバックグラウンドモニタ278は、アプリケーションロールインスタンス1 226をリソースCへ再割り当てる。一実施形態では、ローリングアップグレードバックグラウンドモニタ278は、仮想グループルールを適用する。例えば、ローリングアップグレードバックグラウンドモニタ278は、あるアプリケーションの別の仮想グループ(例えば、仮想グループB1)の移行を開始する前に、同じアプリケーションのある仮想グループ(例えば、仮想グループA1)全体が新しいリソースに移行するのを、待機してもよい。この点において、ローリングアップグレードタスクキューは、先入先出処理スキームに従わない。
ローリングアップグレードバックグラウンドモニタ278はまた、セッションごとのスロットル280をも含んでもよく、セッションごとのスロットル280は、セッションごとのスロットル268およびセッションごとのスロットル274と同様に機能する。すなわち、セッションごとのスロットル280は、再割り当てセッション内で再割り当て可能にされる、アプリケーションの数を制御する。セッションごとのスロットル280が、セッションごとの上限を確立する場合、ウェイクすると、ローリングアップグレードバックグラウンドモニタ278は、上限にほぼ等しい数のアップグレードタスクを処理する。すなわち、ローリングアップグレードバックグラウンドモニタ278は、リソース状況バックグラウンドモニタ256およびコンポーネント再配置モニタ270と同様に、次のリソース境界に丸められた数を処理してもよい。
図3を参照すると、本発明の一実施形態で行われる方法の概略を述べる、流れ図が示される。この方法は全体として、参照番号310によって示され、図3を説明する場合、図2もまた参照されることがある。この方法は、その上で実施されるコンピュータ実行可能命令を有する、1つまたは複数のコンピュータ可読メディア上で実施されてもよく、その命令は、実行される場合、アプリケーションコンポーネントを、障害のあるデータセンタリソースから障害のないデータセンタリソースへ再割り当てする方法を実施する。
方法310は、312で、その上でアプリケーションコンポーネント(例えば、インスタンス226および228)がホストされる、障害のあるデータセンタリソース(例えば、サーバ、ディスク、仮想マシン)を識別することを含む。例えば、障害のあるデータセンタリソースは、リソース状況バックグラウンドモニタがウェイクアップし、インベントリ244を参照する場合、識別される。ステップ314は、アプリケーションコンポーネントを、障害のあるデータセンタリソースから移動することを命令する、サービス復旧タスク(例えば、260)を生成することを含む。例えば、障害のあるデータセンタリソースを識別した後、リソース状況バックグラウンドモニタ256は、サービス復旧タスクを生成してもよい。
ステップ316で、方法310は、サービス復旧タスクを使用し、アプリケーションコンポーネントを受け入れるために使用可能な、障害のないデータセンタリソースを識別する、コンポーネント再配置バックグラウンドモニタを実行することを含む。例えば、出願人モデル250がチェックされて、アプリケーションコンポーネントを再割り当てする場合に満たされることになるパラメータが決定されてもよい。例示的パラメータは、その中でアプリケーションコンポーネントが配分されることになる、リソース(例えば、サーバ)の総数を含む。インベントリ244が参照されて、どのリソースに障害がないか、および、それらのパラメータに適合する、選択された使用可能な障害のないリソースが、決定されてもよい。
ステップ318は、アプリケーションコンポーネントが、障害のないデータセンタリソースへ移動されることになることを命令する、ローリングアップグレードタスク(例えば、272)を生成することを含む。加えて、ステップ320は、ローリングアップグレードタスクを使用し、アプリケーションコンポーネントを障害のないデータセンタリソースへ再割り当てする、ローリングアップグレードバックグラウンドモニタを実行することを含む。以前に説明したように、方法310を実行する場合、様々なしきい値が利用されて、ワークロードが制御されてもよく(例えば、セッションごとのスロットル)、ならびに、リソースエラーが、データセンタ全体の処理(例えば、グループ正常性しきい値)またはアプリケーションエラー(例えば、アプリケーション復旧レートしきい値)の結果として生じている可能性がある場合が、検出されてもよい。
次に図4を参照すると、本発明の一実施形態で行われる方法の概略を述べる、別の流れ図が示される。この方法は全体として、参照番号410によって示され、図4を説明する場合、図2もまた参照されることがある。この方法は、その上で実施されるコンピュータ実行可能命令を有する、1つまたは複数のコンピュータ可読メディア上で実施されてもよく、その命令は、実行される場合、アプリケーションコンポーネントを、障害のあるデータセンタリソースから障害のないデータセンタリソースへ再割り当てする方法を実施する。
動作412で、方法410は、データセンタリソースのグループの中で、障害のあるデータセンタリソースを含む、そのグループの部分を決定することを含む。加えて、ステップ414は、その部分を、グループ正常性しきい値と比較することを含む。例えば、グループ正常性依存ディスエイブラ258は、障害のあるリソースの部分が高すぎないことを確認してもよく、その確認は、サービス復旧が継続する前に、ネットワーク全体の状態が考慮に入れられるべきであることを、示唆することがある。
動作416は、その部分がグループ正常性しきい値未満である場合、その上でアプリケーションコンポーネントが配置されている障害のあるデータセンタリソースを識別することを含み、アプリケーションコンポーネントは、所与の期間内である回数の量(quantity of times)だけ再割り当てされている。また、ステップ418は、その回数の量を、別のしきい値と比較することを含む。別のしきい値には、アプリケーション復旧レートしきい値、コンポーネント復旧レートしきい値、または、アプリケーション復旧レートしきい値およびコンポーネント復旧レートしきい値の両方が含まれてもよい。例えば、アプリケーション復旧レート依存ディスエイブラ264は、その回数の量が高すぎないことを確認してもよく、その理由は、高い再割り当てレートが、アプリケーションがリソースエラーの根本原因であることを示唆するためである。さらに、動作420は、その量が別のしきい値未満である場合、アプリケーションコンポーネントを、障害のあるデータセンタリソースから障害のないデータセンタリソースへ再割り当てすることを含む。
示された様々なコンポーネントの多数の異なる配置、ならびに、図示されないコンポーネントは、以下の特許請求の範囲の範囲から逸脱することなく、可能である。本発明の実施形態を、限定的ではなく、例示的であるように意図して、説明した。代替的実施形態は、本開示を読んだ後、および、本開示を読むことにより、本開示の読者には明らかになるであろう。上記を実施する代替手段は、以下の特許請求の範囲の範囲から逸脱することなく、完成されうる。ある特徴およびサブコンビネーションは、他の特徴およびサブコンビネーションに関係なく有益であり、採用可能であり、特許請求の範囲の範囲内で企図される。

Claims (12)

  1. アプリケーションコンポーネントを、障害のあるデータセンタリソースから障害のないデータセンタリソースへ再割り当てする方法であって、
    前記アプリケーションコンポーネントが配置されている前記障害のあるデータセンタリソースを識別するステップであって、前記アプリケーションコンポーネントは、アプリケーションの少なくとも一部を含み、前記アプリケーションを実行する複数のアプリケーションコンポーネントとともに実行されるステップと、
    所与の期間内で前記アプリケーションコンポーネントが複数のデータセンタリソース間で再割り当てされた機会の数を示すアプリケーション履歴をデータストアで参照するステップと、
    前記機会の数が、計算される確率分布頻度を超えるか判断するステップであって、前記計算される確率分布頻度は、前記複数のデータセンタリソースの各障害状態に入ることが前記アプリケーションにより生じたことの計算される確率を含むステップと、
    前記機会の数が前記計算される確率分布頻度を超える場合、サービス復旧動作を中断するステップと、
    前記機会の数が前記計算される確率分布頻度を超えない場合、前記アプリケーションコンポーネントを再割り当てするステップであって、前記再割り当てするステップは、
    サービス復旧タスクを生成するステップであって、前記サービス復旧タスクは、前記アプリケーションコンポーネントを、前記障害のあるデータセンタリソースから移動するタスクである、ステップと、
    コンポーネント再配置バックグラウンドモニタを実行するステップであって、前記コンポーネント再配置バックグラウンドモニタが前記サービス復旧タスクを使用して、前記アプリケーションコンポーネントを受け入れるために使用可能な前記障害のないデータセンタリソースを識別する、ステップと、
    ローリングアップグレードタスクを生成するステップであって、前記ローリングアップグレードタスクは前記アプリケーションコンポーネントを、前記障害のないデータセンタリソースへ移動することになることを命令するタスクである、ステップと、
    ローリングアップグレードバックグラウンドモニタを実行するステップであって、前記ローリングアップグレードバックグラウンドモニタが前記ローリングアップグレードタスクを使用して、前記アプリケーションコンポーネントを前記障害のないデータセンタリソースへ再割り当てする、ステップとにより行われるステップと
    備えることを特徴とする方法。
  2. 前記アプリケーションコンポーネントは、アプリケーションコンポーネントのセットのうちの1つのコンポーネントであり、
    前記セットが、2つ以上の仮想グループの間で分割され、前記アプリケーションコンポーネントは1つの仮想グループ内にあり、前記セットの別のアプリケーションコンポーネントは別の仮想グループ内にあるようにすることを特徴とする請求項1に記載の方法。
  3. 前記1つの仮想グループおよび前記別の仮想グループが、それぞれ障害のあるデータセンタリソース上で割り当てられており、
    前記ローリングアップグレードタスクに従った、前記アプリケーションコンポーネントの再割り当ての開始は、前記別の仮想グループ内の前記別のアプリケーションコンポーネントの再割り当ての完了を条件とすることを特徴とする請求項2に記載の方法。
  4. 前記障害のないデータセンタリソースを識別するために、前記コンポーネント再配置バックグラウンドモニタは、ネットワーク化されたコンピュータリソースコントローラによって維持されるリソースのインベントリを参照することを特徴とする請求項1に記載の方法。
  5. 前記障害のあるデータセンタリソースが、複数のデータセンタリソースのネットワーク内に含まれ、
    前記障害のあるデータセンタリソースを識別するステップに先立って、前記複数のうち、障害のあるデータセンタリソースを含む部分が識別され、
    前記部分がしきい値部分を超える場合、前記サービス復旧タスクが生成されないことを特徴とする請求項1に記載の方法。
  6. プリケーションコンポーネントを、障害のあるデータセンタリソースから障害のないデータセンタリソースへ再割り当てするシステムであって、
    一以上の処理ユニットと、
    コンピュータ読み取り可能記憶メモリであって、前記一以上の処理ユニットに
    前記アプリケーションコンポーネントが配置されている前記障害のあるデータセンタリソースを識別するステップであって、前記アプリケーションコンポーネントはアプリケーションの少なくとも一部を含み、前記アプリケーションを実行する複数のアプリケーションコンポーネントとともに実行されるステップと、
    所与の期間内で前記アプリケーションコンポーネントが複数のデータセンタリソース間で再割り当てされた機会の数を示すアプリケーション履歴をデータストアで参照するステップと、
    前記機会の数が、計算される確率分布頻度を超えるか判断するステップであって、前記計算される確率分布頻度は、前記複数のデータセンタリソースの各障害状態に入ることが前記アプリケーションにより生じたことの計算される確率を含むステップと、
    前記機会の数が前記計算される確率分布頻度を超える場合、サービス復旧動作を中断するステップと、
    前記機会の数が前記計算される確率分布頻度を超えない場合、前記アプリケーションコンポーネントを再割り当てするステップであって、前記再割り当てするステップは、
    サービス復旧タスクを生成するステップであって、前記サービス復旧タスクは、前記アプリケーションコンポーネントを、前記障害のあるデータセンタリソースから移動するタスクである、ステップと、
    コンポーネント再配置バックグラウンドモニタを実行するステップであって、前記コンポーネント再配置バックグラウンドモニタが前記サービス復旧タスクを使用して、前記アプリケーションコンポーネントを受け入れるために使用可能な前記障害のないデータセンタリソースを識別する、ステップと、
    ローリングアップグレードタスクを生成するステップであって、前記ローリングアップグレードタスクは前記アプリケーションコンポーネントを、前記障害のないデータセンタリソースへ移動することになることを命令するタスクである、ステップと、
    ローリングアップグレードバックグラウンドモニタを実行するステップであって、前記ローリングアップグレードバックグラウンドモニタが前記ローリングアップグレードタスクを使用して、前記アプリケーションコンポーネントを前記障害のないデータセンタリソースへ再割り当てする、ステップとにより行われるステップと、
    を実行させるコンピュータプログラムを記憶したコンピュータ読み取り可能記憶メモリと
    を備えることを特徴とするシステム。
  7. データセンタリソースのグループの中で障害のあるデータセンタリソースの割合を決定するグループ正常性依存ディスエイブラさらに備え、
    前記割合がしきい値の割合を超える場合、障害のあるデータセンタリソースを識別するリソース状況バックグラウンドモニタが無効化されることを特徴とする請求項6に記載のシステム。
  8. 前記アプリケーションコンポーネントを所与の期間内で復旧する回数を追跡するコンポーネント復旧レート依存ディスエイブラをさらに備え、
    前記回数がコンポーネントごとの復旧頻度しきい値を超える場合、前記アプリケーションを復旧することを目的とする動作が無効化されることを特徴とする請求項6に記載のシステム。
  9. セッションごとのスロットルをさらに備え、当該セッションごとのスロットルが、
    障害のあるデータセンタリソースを識別するリソース状況バックグラウンドモニタが、単一の再割り当てセッション内で処理可能なアプリケーションコンポーネントの数、
    前記コンポーネント再配置バックグラウンドモニタが、単一の再割り当てセッション内で処理可能なアプリケーションコンポーネントの数、
    アップグレードバックグラウンドモニタが、単一の再割り当てセッション内で処理可能なアプリケーションコンポーネントの数、または、
    それらの組み合わせを
    制御することを特徴とする請求項6に記載のシステム。
  10. プリケーションコンポーネントを、障害のあるデータセンタリソースから障害のないデータセンタリソースへ再割り当てするコンピュータプログラムであって、コンピュータに、
    データセンタリソースのグループの中で、前記グループの部分であって、障害のあるデータセンタリソースを含む部分を決定するステップと、
    前記部分を、グループ正常性しきい値と比較するステップと、
    前記部分が前記グループ正常性しきい値未満である場合、その上で前記アプリケーションコンポーネントが配置されている前記障害のあるデータセンタリソースを識別するステップとを実行させ、
    前記アプリケーションコンポーネントはアプリケーションの少なくとも一部を含み、前記アプリケーションを実行する複数のアプリケーションコンポーネントとともに実行され、
    前記アプリケーションコンポーネントが、所与の期間内である回数の量だけ再割り当てされ、
    前記回数の量をポワソン分布頻度と比較するステップであって、前記ポワソン分布頻度は前記複数のデータセンタリソースの各障害状態に入ることが前記アプリケーションにより生じたことの計算される確率を含むステップと、
    前記量が前記ポワソン分布頻度未満である場合、前記アプリケーションコンポーネントを、前記障害のあるデータセンタリソースから前記障害のないデータセンタリソースへ再割り当てするステップと
    を実行させることを特徴とするコンピュータプログラム
  11. 前記アプリケーションコンポーネントは、アプリケーションコンポーネントのセットのうちの1つのコンポーネントであり、
    前記セットが、2つ以上の仮想グループの間で分割され、前記アプリケーションコンポーネントは1つの仮想グループ内にあり、前記セットの別のアプリケーションコンポーネントは別の仮想グループ内にあるようにすることを特徴とする請求項10に記載のコンピュータプログラム
  12. 前記1つの仮想グループおよび前記別の仮想グループが、それぞれ障害のあるデータセンタリソース上で割り当てられ、
    前記アプリケーションコンポーネントを再割り当てするステップは、前記別の仮想グループ内の前記別のアプリケーションコンポーネントの再割り当ての完了を条件とすることを特徴とする請求項11に記載のコンピュータプログラム
JP2013528254A 2010-09-10 2011-09-06 データセンタサービスの制御された自動復旧 Active JP6132766B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/879,412 2010-09-10
US12/879,412 US8365009B2 (en) 2010-09-10 2010-09-10 Controlled automatic healing of data-center services
PCT/US2011/050572 WO2012033773A2 (en) 2010-09-10 2011-09-06 Controlled automatic healing of data-center services

Publications (3)

Publication Number Publication Date
JP2014506342A JP2014506342A (ja) 2014-03-13
JP2014506342A5 JP2014506342A5 (ja) 2014-09-25
JP6132766B2 true JP6132766B2 (ja) 2017-05-24

Family

ID=45807841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013528254A Active JP6132766B2 (ja) 2010-09-10 2011-09-06 データセンタサービスの制御された自動復旧

Country Status (7)

Country Link
US (1) US8365009B2 (ja)
EP (1) EP2614436B1 (ja)
JP (1) JP6132766B2 (ja)
KR (1) KR101804605B1 (ja)
CN (1) CN102385541B (ja)
AU (1) AU2011299337B2 (ja)
WO (1) WO2012033773A2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120263191A1 (en) * 2011-04-12 2012-10-18 Red Hat Israel, Inc. Mechanism For Managing Quotas In a Distributed Virtualization Environment
US8832687B2 (en) * 2011-04-20 2014-09-09 Red Hat Israel, Ltd. Managing quotas in a distributed virtualization environment
US8984325B2 (en) * 2012-05-30 2015-03-17 Symantec Corporation Systems and methods for disaster recovery of multi-tier applications
WO2013188883A2 (en) 2012-06-15 2013-12-19 Alderman Ian Method and system for automatically detecting and resolving infrastructure faults in cloud infrastructure
US8756689B2 (en) * 2012-06-29 2014-06-17 Intel Corporation Method, system, and device for securely handling virtual function driver communications with a physical function driver
WO2014058439A1 (en) * 2012-10-14 2014-04-17 Empire Technology Development, Llc Error-capturing service replacement in datacenter environment for simplified application restructuring
US9201896B2 (en) 2012-11-26 2015-12-01 Red Hat, Inc. Managing distributed storage quotas
US9141487B2 (en) * 2013-01-15 2015-09-22 Microsoft Technology Licensing, Llc Healing cloud services during upgrades
US9317350B2 (en) 2013-09-09 2016-04-19 International Business Machines Corporation Method and apparatus for faulty memory utilization
US9807014B2 (en) 2013-09-27 2017-10-31 International Business Machines Corporation Reactive throttling of heterogeneous migration sessions in a virtualized cloud environment
US9578091B2 (en) * 2013-12-30 2017-02-21 Microsoft Technology Licensing, Llc Seamless cluster servicing
US9430318B2 (en) 2014-01-27 2016-08-30 Microsoft Technology Licensing, Llc Health monitoring and recovery for infrastructure devices
US10263836B2 (en) 2014-03-24 2019-04-16 Microsoft Technology Licensing, Llc Identifying troubleshooting options for resolving network failures
US9665432B2 (en) * 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US10110445B2 (en) 2014-09-27 2018-10-23 At&T Global Network Services France, Sas Closed control loops for data centers
US20160092801A1 (en) * 2014-09-30 2016-03-31 International Business Machines Corporation Using complexity probability to plan a physical data center relocation
US9513835B2 (en) 2015-01-09 2016-12-06 International Business Machines Corporation Impact-based migration scheduling from a first tier at a source to a second tier at a destination
US10721181B1 (en) 2015-03-10 2020-07-21 Amazon Technologies, Inc. Network locality-based throttling for automated resource migration
US9952932B2 (en) * 2015-11-02 2018-04-24 Chicago Mercantile Exchange Inc. Clustered fault tolerance systems and methods using load-based failover
US10025654B2 (en) * 2016-04-01 2018-07-17 T-Mobile Usa, Inc. Diagnostic and workflow engine with system integration
CN105975047B (zh) * 2016-04-29 2019-03-01 北京百度网讯科技有限公司 云数据中心功耗调节方法和系统
CN109196807B (zh) * 2016-06-01 2021-09-24 瑞典爱立信有限公司 网络节点以及操作网络节点以进行资源分发的方法
US10390114B2 (en) * 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center
US9785497B1 (en) * 2016-09-26 2017-10-10 International Business Machines Corporation Performing self-healing tasks using information technology management data
JP6792409B2 (ja) 2016-10-25 2020-11-25 キヤノン株式会社 プログラム、システム及び情報処理方法
JP6942458B2 (ja) * 2016-10-25 2021-09-29 キヤノン株式会社 プログラム、システム及び情報処理方法
CN109697120B (zh) * 2017-10-20 2023-06-27 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
CN109697121B (zh) * 2017-10-20 2023-05-05 伊姆西Ip控股有限责任公司 用于向应用分配处理资源的方法、设备和计算机可读介质
CN109697115B (zh) * 2017-10-20 2023-06-06 伊姆西Ip控股有限责任公司 用于调度应用的方法、装置以及计算机可读介质
US11150886B2 (en) 2019-09-03 2021-10-19 Microsoft Technology Licensing, Llc Automatic probabilistic upgrade of tenant devices
US20230319080A1 (en) * 2022-03-31 2023-10-05 Fortinet, Inc. Ai (artificial intelligence) driven dynamic self-remediation for wireless networks by dispatching robots

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0250737A (ja) * 1988-08-12 1990-02-20 Fuji Electric Co Ltd 二重化システム
US7165108B2 (en) 2001-03-19 2007-01-16 Sun Microsystems, Inc. Method and apparatus for providing application specific strategies to a JAVA platform including load balancing policies
US6918051B2 (en) * 2001-04-06 2005-07-12 International Business Machines Corporation Node shutdown in clustered computer system
US7594230B2 (en) * 2001-06-11 2009-09-22 Microsoft Corporation Web server architecture
US6944785B2 (en) 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7403996B2 (en) * 2002-02-21 2008-07-22 Bea Systems, Inc. Systems and methods for migratable services
WO2004001585A1 (en) * 2002-06-24 2003-12-31 Docomo Communications Laboratories Usa, Inc. Mobile application environment
US7356613B2 (en) 2004-08-17 2008-04-08 International Business Machines Corporation Routable application partitioning
US8122280B2 (en) 2004-08-26 2012-02-21 Open Invention Network, Llc Method and system for providing high availability to computer applications
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7877755B2 (en) 2005-07-25 2011-01-25 International Business Machines Corporation Dynamic application placement with allocation restrictions and even load distribution
US7681075B2 (en) * 2006-05-02 2010-03-16 Open Invention Network Llc Method and system for providing high availability to distributed computer applications
US7454661B2 (en) * 2005-10-06 2008-11-18 International Business Machines Corporation Minimizing software downtime associated with software rejuvenation in a single computer system
KR100672313B1 (ko) * 2005-12-12 2007-01-24 엘지전자 주식회사 전자앨범 기능을 갖는 디스플레이 장치 및 그 방법
JP4821426B2 (ja) * 2006-05-11 2011-11-24 富士ゼロックス株式会社 エラー回復プログラム、エラー回復装置及びコンピュータシステム
CN100451967C (zh) * 2007-02-14 2009-01-14 威盛电子股份有限公司 基本输入输出系统文件切换方法及可支持其切换的控制器
US8122281B2 (en) 2007-04-13 2012-02-21 International Business Machines Corporation System and method for dependent failure-aware allocation of distributed data-processing systems
US7966516B2 (en) 2007-04-27 2011-06-21 Oracle International Corporation Automatic JTA migration
JP2009059084A (ja) * 2007-08-30 2009-03-19 Denso Corp 制御システム,電子機器およびプログラム
US8112758B2 (en) 2008-01-08 2012-02-07 International Business Machines Corporation Methods and apparatus for resource allocation in partial fault tolerant applications
US7886183B2 (en) 2008-08-07 2011-02-08 Symantec Operating Corporation Providing fault tolerant storage system to a cluster
JP5232602B2 (ja) * 2008-10-30 2013-07-10 株式会社日立製作所 ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
CN101715001A (zh) * 2009-10-21 2010-05-26 南京邮电大学 一种控制网格任务执行的方法

Also Published As

Publication number Publication date
EP2614436A4 (en) 2015-12-02
KR101804605B1 (ko) 2017-12-04
WO2012033773A2 (en) 2012-03-15
US20120066541A1 (en) 2012-03-15
WO2012033773A3 (en) 2012-05-24
AU2011299337A1 (en) 2013-03-21
EP2614436A2 (en) 2013-07-17
CN102385541B (zh) 2016-08-03
KR20130136449A (ko) 2013-12-12
JP2014506342A (ja) 2014-03-13
EP2614436B1 (en) 2017-08-09
AU2011299337B2 (en) 2014-05-15
CN102385541A (zh) 2012-03-21
US8365009B2 (en) 2013-01-29

Similar Documents

Publication Publication Date Title
JP6132766B2 (ja) データセンタサービスの制御された自動復旧
US8635493B2 (en) High availability system allowing conditionally reserved computing resource use and reclamation upon a failover
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
JP5289557B2 (ja) 分散データストレージシステムの信頼性の動的定量化と改善
US9477460B2 (en) Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method
US10467048B2 (en) Techniques for virtual machine migration
JP2014506342A5 (ja)
JP4669487B2 (ja) 情報処理システムの運用管理装置および運用管理方法
US20140215481A1 (en) Assigning nodes to jobs based on reliability factors
JP2016526735A (ja) 仮想ハドゥープマネジャ
WO2017049617A1 (en) Techniques to select virtual machines for migration
JPWO2010122709A1 (ja) 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法
US10102041B2 (en) Controlling workload placement to manage wear of a component nearing end of life
CN113886089B (zh) 一种任务处理方法、装置、系统、设备及介质
US9541980B2 (en) Operation management device, operation management method, and recording medium
US9158470B2 (en) Managing CPU resources for high availability micro-partitions
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
CN110659108B (zh) 一种云系统虚拟机任务迁移方法及装置、服务器
CN102576294B (zh) 含有多个存储装置的存储系统和方法
JP5040970B2 (ja) システム制御サーバ、ストレージシステム、設定方法および設定プログラム
US20140068214A1 (en) Information processing apparatus and copy control method
US11824922B2 (en) Operating cloud-managed remote edge sites at reduced disk capacity
KR101974091B1 (ko) 머신러닝 기반 쓰레드풀을 관리하는 방법 및 이를 사용한 컴퓨팅 장치
JP6798900B2 (ja) 制御装置、情報システムおよび制御方法
US20190229979A1 (en) Takeover method of process, cluster construction program and cluster construction apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140811

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140811

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160517

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160816

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: 20170321

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170418

R150 Certificate of patent or registration of utility model

Ref document number: 6132766

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250