(57)【要約】  複数のコンピューティング・ノードを含むコンピューティング・システムをメンテナンスするための方法が開示される。本方法は、限度数を超えないコンピューティング・ノードのメンテナンス・サブセットに対するメンテナンス活動の適用を並行に生じさせるステップ、メンテナンス活動の適用の間にコンピューティング・システムの１つまたは複数の状態インジケータを監視するステップ、および状態インジケータに従って限度数を更新するステップ、を含む。また、本方法を遂行するためのコンピュータ・プログラムおよびコンピュータ・プログラム製品も開示される。さらに、対応する制御計算機が開示される。【選択図】図４
2021532460.tif 000002
【特許請求の範囲】
【請求項１】
制御計算機の制御下でコンピューティング・システムをメンテナンスするための方法であって、前記コンピューティング・システムが、前記コンピューティング・システムの動作に寄与する複数のコンピューティング・ノードを含み、前記方法が、
前記制御計算機によって、前記コンピューティング・ノードの限度数を初期化することとであって、前記初期化することが、
前記制御計算機によって、前記限度数を超えない前記コンピューティング・ノードのメンテナンス・サブセットに対するメンテナンス活動の適用を並行に生じさせるステップ、
前記制御計算機によって、前記メンテナンス活動の前記適用の間に１つまたは複数の状態インジケータを監視するステップであって、前記状態インジケータが前記コンピューティング・システムの状態を示す、前記監視するステップ、および
前記制御計算機によって、前記メンテナンス活動の前記適用の間に監視される前記状態インジケータの監視値に従って前記限度数を更新するステップ、
によって行われる、前記初期化することと、
前記メンテナンス活動が前記複数のコンピューティング・ノードの全てに適用されるまで、前記生じさせるステップ、前記監視するステップおよび前記更新するステップを繰り返すことと、
を含む方法。
【請求項２】
前記監視するステップが、
前記制御計算機によって、前記コンピューティング・ノードの状態を示す１つまたは複数のノード状態インジケータを含む前記状態インジケータを監視することを含む、請求項１に記載の方法。
【請求項３】
前記監視するステップが、
前記制御計算機によって、前記コンピューティング・ノード上で実行する１つまたは複数のソフトウェア・プログラムの状態を示す１つまたは複数のプログラム状態インジケータを含む前記状態インジケータを監視することを含む、請求項１に記載の方法。
【請求項４】
前記監視するステップが、
前記制御計算機によって、前記コンピューティング・システムの１つまたは複数のシステム・インフラストラクチャの状態を示す１つまたは複数のインフラストラクチャ状態インジケータを含む前記状態インジケータを監視することを含む、請求項１に記載の方法。
【請求項５】
前記監視するステップが、
前記制御計算機によって、前記コンピューティング・システムの臨界条件の１つまたは複数の表示を含む前記状態インジケータを監視することを含む、請求項１に記載の方法。
【請求項６】
前記更新するステップが、
前記制御計算機によって、前記監視値によって規定された監視点と、前記メンテナンス活動の前記適用が行われない基準条件における前記コンピューティング・システムの状態の基準表現との比較に従って前記限度数を更新することを含む、請求項１に記載の方法。
【請求項７】
前記方法が、
前記制御計算機によって、前記基準条件における前記状態インジケータを測定することと、
前記制御計算機によって、前記基準条件において測定された前記状態インジケータの測定値に従って前記基準表現を規定することと、
を含む、請求項６に記載の方法。
【請求項８】
前記更新するステップが、
前記制御計算機によって、前記監視点と、前記基準表現の対応する基準値によって規定された基準点との比較に従って前記限度数を更新することを含む、請求項６に記載の方法。
【請求項９】
前記更新するステップが、
前記制御計算機によって、前記基準表現からの前記監視点の距離に従って前記限度数を更新することを含む、請求項６に記載の方法。
【請求項１０】
前記更新するステップが、
前記制御計算機によって、前記監視点の時間の経過に伴う勾配に従って前記限度数を更新することを含む、請求項６に記載の方法。
【請求項１１】
前記方法が、前記限度数の低減に応じて、
前記制御計算機によって、前記コンピューティング・ノードのうちの１つまたは複数に対する前記メンテナンス活動の前記適用の完了を待つこと、または
前記制御計算機によって、前記コンピューティング・ノードのうちの１つまたは複数に対する前記メンテナンス活動の前記適用をロール・バックすること、あるいは
その両方、
を含む、請求項１に記載の方法。
【請求項１２】
前記方法が、
前記制御計算機によって、前記メンテナンス活動の前記適用の間における前記限度数の１つまたは複数の値に基づく基準数を保存することと、
前記制御計算機によって、前記基準数に従って次のメンテナンス活動のための前記限度数を初期化することと、
を含む、請求項１に記載の方法。
【請求項１３】
前記コンピューティング・システムがクラウド型である、請求項１に記載の方法。
【請求項１４】
コンピューティング・システムの動作に寄与する複数のコンピューティング・ノードを含む前記コンピューティング・システムをメンテナンスするためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品がコンピュータ可読記憶媒体を含み、前記コンピュータ可読記憶媒体が、それに組み込まれたプログラム命令を有し、前記プログラム命令が、制御計算機によって、前記制御計算機に方法を遂行させるよう実行可能であり、前記方法が、
前記コンピューティング・ノードの限度数を初期化することとであって、前記初期化することが、
前記限度数を超えない前記コンピューティング・ノードのメンテナンス・サブセットに対するメンテナンス活動の適用を並行に生じさせるステップ、
前記メンテナンス活動の前記適用の間に１つまたは複数の状態インジケータを監視するステップであって、前記状態インジケータが前記コンピューティング・システムの状態を示す、前記監視するステップ、および
前記メンテナンス活動の前記適用の間に監視される前記状態インジケータの監視値に従って前記限度数を更新するステップ、
によって行われる、前記初期化することと、
前記メンテナンス活動が前記複数のコンピューティング・ノードの全てに適用されるまで、前記生じさせるステップ、前記監視するステップ、および前記更新するステップを繰り返すことと、
を含むコンピュータ・プログラム製品。
【請求項１５】
前記更新するステップが、
前記制御計算機によって、前記監視値によって規定された監視点と、前記メンテナンス活動の前記適用が行われない基準条件における前記コンピューティング・システムの状態の基準表現との比較に従って前記限度数を更新することを含む、請求項１４に記載のコンピュータ・プログラム製品。
【請求項１６】
前記方法が、
前記制御計算機によって、前記基準条件における前記状態インジケータを測定することと、
前記制御計算機によって、前記基準条件において測定された前記状態インジケータの測定値に従って前記基準表現を規定することと、
を含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１７】
前記更新するステップが、
前記制御計算機によって、前記監視点と、前記基準表現の対応する基準値によって規定された基準点との比較に従って前記限度数を更新することを含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１８】
前記更新するステップが、
前記制御計算機によって、前記基準表現からの前記監視点の距離に従って前記限度数を更新することを含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１９】
前記更新するステップが、
前記制御計算機によって、前記監視点の時間の経過に伴う勾配に従って前記限度数を更新することを含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項２０】
コンピューティング・システムの動作に寄与する複数のコンピューティング・ノードを含む前記コンピューティング・システムをメンテナンスするための制御計算機であって、前記制御計算機が、
前記コンピューティング・ノードの限度数を初期化するための回路機構と、
前記限度数を超えない前記コンピューティング・ノードのメンテナンス・サブセットに対するメンテナンス活動の適用を並行に生じさせるための回路機構と、
前記メンテナンス活動の前記適用の間に１つまたは複数の状態インジケータを監視するための回路機構であって、前記状態インジケータが前記コンピューティング・システムの状態を示す、前記回路機構と、
前記メンテナンス活動の前記適用の間に監視される前記状態インジケータの監視値に従って前記限度数を更新するための回路機構と、
を備える制御計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報技術分野に関する。より詳細には、本開示は、コンピューティング・システムのメンテナンスに関する。
【背景技術】
【０００２】
以下において、本開示の背景が、その文脈に関連する技術の説明と共に紹介される。しかし、たとえ、この説明が、文献、行為（act）、人工物（artifact）、および同様のものに言及するときでも、それは、説明される技術が従来技術の一部であるか、または本開示に関連する分野における共通の一般知識であることを示唆することも意味することもしていない。
【０００３】
全てのコンピューティング・システムは、一般的に、経時的にメンテナンス活動（maintenance activity）を受ける。例えば、メンテナンス活動は、バグを修正するためのパッチをインストールするためや、ソフトウェア・プログラムを、それらの動作を改善するか、または新たな機能性を追加するためにアップグレードするためなどにコンピューティング・システム上で実行するソフトウェア・プログラムに定期的に適用される。
【０００４】
メンテナンス活動の適用は、コンピューティング・システムの動作に悪影響を及ぼす場合がある。実際に、ソフトウェア・プログラムは、それに対するメンテナンス活動の適用の間は（または少なくともその一部の間は）利用不可能である。いずれにせよ、メンテナンス活動は、コンピューティング・システムの（ひいては、その上で実行する任意の他のソフトウェア・プログラムの）動作を遅くする。さらに、メンテナンス活動は、コンピューティング・システムを（例えば、そのリブートが、メンテナンス活動を有効にするために必要とされる時に）オフラインにすることを必要とし得る。
【０００５】
特定のシナリオは、コンピューティング・システムが、（外部からそれに送信された対応する要求に応じてサービスを提供する単一の論理エンティティの役割を果たす）その動作に寄与する複数のコンピューティング・ノードを含む場合である。例えば、コンピューティング・ノードは、クラスタ・アーキテクチャで編成され得て、コンピューティング・システムは、それらの取り扱いに最もふさわしいコンピューティング・ノード（全てが同じタスクを遂行する）に自動的に要求を割り当てる。これは、コンピューティング・システムの並列処理、または高い可用性、あるいはその両方をもたらす。典型的な例は、コンピューティング・システムがクラウド型であるときである。この場合には、対応するコンピューティング・リソースを要求に応じてプロビジョニング、構成、および解放するクラウド・プロバイダによって、対応するユーザにクラウド・サービスが提供される（それらの実際の実施はユーザに対して完全に不透明である）。クラウド・サービスの、それらの実施からのこの切り離し（de-coupling）は、対応するコンピューティング・リソースの無限の能力の幻想をもたらし、特に、高ピーク負荷条件のためのそれらの活用を（規模の経済によって）改善し、さらに、ユーザはこれでコンピューティング・リソースの管理から解放され、ユーザは、それらのコストおよび複雑さのゆえに（特に、個人および小企業にとって）以前には実施可能でなかったタスクを（ペイ・パー・ユース方式で）遂行し得る。
【０００６】
コンピューティング・ノードに基づく上述のコンピューティング・システムでは、全てのメンテナンス活動がコンピューティング・ノードのサブセットに並列に順次適用され得る。このように、コンピューティング・システムはメンテナンス活動の間にオンライン状態のままとどまる（それに送信された要求は、引き続き利用可能なコンピューティング・ノードによって取り扱われる）。
【０００７】
しかし、利用可能であるコンピューティング・ノードの数の低減は、コンピューティング・システムの性能の劣化をもたらし得て、最悪の場合には、コンピューティング・システムの性能は、外部から完全に利用不可能に見えるほど低下し得る。これはいくつかの状況では受け入れられない可能性がある。典型的な例は、既定のサービス・レベルが、クラウド型のコンピューティング・システムによって提供されるクラウド・サービスに要求される場合である。サービス・レベルは、クラウド・サービスによって満たされるべき１つまたは複数の目標メトリック（最大応答時間など）に関して、各ユーザと、対応するクラウド・プロバイダとの間で取り決められたサービス品質保証（Service Level Agreement、ＳＬＡ）において規定され得る。
【０００８】
さらに、コンピューティング・ノードへのメンテナンス活動の漸次的な適用は、それをコンピューティング・システム全体に適用するために必要とされる時間を増大させる。これは、コンピューティング・システム（すなわち、そのコンピューティング・ノード上にインストールされた同じソフトウェア・プログラムの異なるインスタンス）が一貫的に最新のものになっていない時間を増大させる。
【発明の概要】
【０００９】
本開示の単純化された概要が、その基本的理解をもたらすために本明細書において提示される。しかし、本概要の唯一の目的は、本開示のいくつかの概念を、その以下のより詳細な説明への前置きとして、単純化された形で提示することであり、それは、その主要要素の識別として解釈されるべきでなく、その範囲の描写として解釈されるべきでもない。
【００１０】
一般的に、本開示は、並行にメンテナンスされるべきコンピューティング・ノードの数を動的な仕方で更新するという思想に基づく。
【００１１】
具体的には、一態様は、複数のコンピューティング・ノードを含むコンピューティング・システムをメンテナンスするための方法を提供する。本方法は、限度数を超えないコンピューティング・ノードのメンテナンス・サブセットに対するメンテナンス活動の適用を並行に生じさせるステップ、メンテナンス活動の適用の間にコンピューティング・システムの１つまたは複数の状態インジケータ（status indicator）を監視するステップ、および状態インジケータに従って限度数を更新するステップ、を含む。
【００１２】
さらなる態様は、本方法を実施するためのコンピュータ・プログラムを提供する。
【００１３】
さらなる態様は、本方法を実施するためのコンピュータ・プログラム製品を提供する。
【００１４】
さらなる態様は、対応するシステムを提供する。
【００１５】
さらなる態様は、対応する制御計算機を提供する。
【００１６】
より具体的には、本開示の１つまたは複数の態様は独立請求項において提示され、その有利な特徴は従属請求項において提示され、全ての請求項の表現は本明細書において参照により逐語的に組み込まれる（任意の特定の態様を参照して提供される任意の有利な特徴は、必要な変更を加えることで全ての他の態様に適用される）。
【００１７】
本開示の解決策、ならびにそのさらなる特徴および利点は、添付の図面と併せて読むべき、純粋に非限定的な指示として与えられる、以下のその詳細な説明を参照して最も深く理解されるであろう（簡単にするために、対応する要素は同等または同様の参照符号を用いて示され、それらの説明は繰り返されず、各エンティティの名称は、値、内容、および表現のような、その種類およびその属性の両方を示すために総称的に用いられる）。
【図面の簡単な説明】
【００１８】
【図１】実施され得る本開示の一実施形態に係るコンピューティング・インフラストラクチャの概略ブロック図を示す。
【図２Ａ】本開示の一実施形態に係る一般原理を示す図である。
【図２Ｂ】本開示の一実施形態に係る一般原理を示す図である。
【図２Ｃ】本開示の一実施形態に係る一般原理を示す図である。
【図２Ｄ】本開示の一実施形態に係る一般原理を示す図である。
【図３Ａ】本開示の一実施形態に係る適用の一例を示す図である。
【図３Ｂ】本開示の一実施形態に係る適用の一例を示す図である。
【図４】本開示の一実施形態に係る、用いることができる主要ソフトウェア・コンポーネントを示す図である。
【図５Ａ】本開示の一実施形態に係る一実装形態に関連する活動のフローを説明する活動図を示す図である。
【図５Ｂ】本開示の一実施形態に係る一実装形態に関連する活動のフローを説明する活動図を示す図である。
【発明を実施するための形態】
【００１９】
本発明のいくつかの実施形態が技術的改善を示し得る１つの様態は、それがクラウド・インフラストラクチャを監視し、仮想環境の状態の概要を示すパラメータをリアル・タイムで変更するコグニティブな仕方で、クラウド・インフラストラクチャのための是正措置を与えることを提供することである。本開示のいくつかの実施形態は、システムが、最適な動作を確実にするべく各パラメータを安全に更新するために、人工知能として能動的に絶えず学習するので、コンピュータが単にツールとして呼び出されるのみである思想ではなく、コンピュータ能力の特定の改善を示し得る。
【００２０】
図１を具体的に参照すると、実施され得る本開示の例示的実施形態に係るコンピューティング・インフラストラクチャ１００の概略ブロック図が示されている。
【００２１】
コンピューティング・インフラストラクチャ１００は、１つまたは複数のクラウド・プロバイダ１０５（図には１つのみ示されている）を含む。各クラウド・プロバイダ１０５は、クラウド・サービスとしてのコンピューティング・リソースのプール（すなわち、非常に迅速にプロビジョニング、構成、および解放され得る共有コンピューティング・リソース）を提供するエンティティであり、クラウド・サービスのコンピューティング・リソース（一般的に、仮想型のもの、すなわち、物理コンピューティング・リソースのソフトウェアによるエミュレーション）が要求に応じてクラウド・プロバイダ１０５のユーザに提供され、これにより、各ユーザはこれらのコンピューティング・リソースを単独制御する（このとき、これらは、ちょうど、あたかもそれらが専用物理コンピューティング・リソースであるかのように用いられ得る）。クラウド・サービスは、いくつかのサービス・モデル、具体的には、Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、もしくはＩａａＳ（仮想マシン、ファイアウォールを有する仮想ディスク、ロード・バランサなどの、対応するストレージおよび管理ソフトウェアを有するコンピューティング・リソースを提供する）、Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、もしくはＰａａＳ（データベース、ウェブ・サーバなどの、ソフトウェア・プラットフォームを提供する）、Ｓｏｆｔｗａｒｅ  Ａｓ  ａ  Ｓｅｒｖｉｃｅ、もしくはＳａａＳ（ＣＡＤ、オフィス・スイートなどの、ソフトウェア・アプリケーションを提供する）、およびＮｅｔｗｏｒｋ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、もしくはＮａａＳ（ＶＰＮ、ＩＰアドレスなどの、接続サービスを提供する）に従って提供され得る。さらに、クラウド・サービスは、異なる展開モデル、具体的には、パブリック・クラウド（すなわち、公衆向け）、プライベート・クラウド（すなわち、単一の組織向け）、コミュニティ・クラウド（すなわち、いくつかの組織向け）、またはハイブリッド・クラウド（異なる展開モデルの組み合わせに基づく）に従って提供され得る。
【００２２】
ユーザは、（通信）ネットワーク１１５を介して、対応するクライアント計算機、または単にクライアント（例えば、シン・タイプの）１１０を用いてクラウド・プロバイダ１０５に接続する。例えば、ネットワーク１１５は、パブリック／コミュニティ・クラウドのためのインターネット、またはプライベート・クラウドのためのＬＡＮであり得る。この目的のために、クラウド・プロバイダ１０５は、（例えば、クライアント１１０のウェブ・ブラウザを介して）それにアクセスするためにフロント・エンド・コンポーネントを公開し、フロント・エンド・コンポーネントは、クラウド・サービスを実際に実施するバック・エンド・コンポーネントとインターフェースする（バック・エンド・コンポーネントは外部からアクセス可能でなく、このため、ユーザはその場所および構成について完全に不可知である）。
【００２３】
クラウド・サービスは、コンピューティング・ノード１２０、例えば、仮想マシン（全てのコンピューティング・ノード１２０が同じタスクを遂行する単一の論理エンティティの役割を果たす）のクラスタ（または２つ以上のクラスタ）によって提供される。本開示の一実施形態に係る解決策では、クラウド・プロバイダ１０５は、コンピューティング・ノード１２０のメンテナンスを制御する制御計算機、または単に制御機、１２５（例えば、別の仮想マシン）をさらに含む。
【００２４】
コンピューティング・ノード１２０および制御機１２５は、１つまたは複数のサーバ・ファーム１３０によって形成されたクラウド・プロバイダ１０５のコンピューティング・システムによって実施される。各サーバ・ファーム１３０は、いくつかのサーバ計算機、もしくは単にサーバ（例えば、ラックもしくはブレード型のもの）１３５、およびそのマス・メモリを実装する記憶ディスク１４０（例えば、ＲＡＩＤ型のもの）を含み、次いで、各サーバ１３５は、その動作を制御する１つまたは複数のマイクロプロセッサ（μＰ）、そのブートストラップのための基本コードを記憶するための不揮発性メモリ（ＲＯＭ）、およびマイクロプロセッサによってワーキング・メモリとして用いられる揮発性メモリ（ＲＡＭ）を含む（図には示されていない）。サーバ・ファーム１３０は、また、それを制御するためのコンソール１４５（例えば、ＤＶＤのような光ディスクなどの、取り外し可能な記憶ユニット１５０に対する読み出し／書き込みのためのドライブをさらに設けられた、パーソナル・コンピュータ）を含む。スイッチ／ルータ・サブシステム１５５が、サーバ１３５、ディスク１４０、およびコンソール１４５の間、ならびにネットワーク１１５との任意の通信を管理し、この目的のために、サーバ１３５、ディスク１４０、およびコンソール１４５はケーブル布線サブシステム１６０を介してスイッチ／ルータ・サブシステム１５５に（対応するネットワーク・アダプタを通じて）接続されている。
【００２５】
次に図２Ａ〜図２Ｄを参照すると、本開示の例示的実施形態に係る一般原理が示されている。
【００２６】
図２Ａから開始すると、メンテナンス活動がコンピューティング・ノード１２０に（例えば、その上にインストールされた同じソフトウェア・プログラムの対応するインスタンスをパッチまたはアップグレードするために）適用されることになる。メンテナンス活動は、コンピューティング・ノード１２０の（メンテナンス）サブセットに並列に順次適用される。この目的のために、最初に、（メンテナンス活動が最大限並行に適用され得る）コンピューティング・ノード１２０の限度数が既定値に初期化される。次に、メンテナンス活動が（制御機１２５によって）コンピューティング・ノード１２０の（現在の）メンテナンス・サブセット２０５に対して並行に適用され、メンテナンス・サブセット２０５は、限度数を超えない（すなわち、できるだけそれに等しい）カーディナリティ（cardinality）を有する。
【００２７】
図２Ｂに移ると、本開示の一実施形態によれば、１つまたは複数の状態インジケータが監視される。状態インジケータは、メンテナンス活動の適用の間における（コンピューティング・ノード１２０が実施された）クラウド・プロバイダのコンピューティング・システムの状態を示し、例えば、状態インジケータは、そのコンピューティング・ノード１２０、コンピューティング・ノード１２０上で実行するソフトウェア・プログラム、およびコンピューティング・システムのシステム・インフラストラクチャの観点から、コンピューティング・システムの性能を表す。
【００２８】
図２Ｃに移ると、限度数が状態インジケータに従って更新される。例えば、状態インジケータが、コンピューティング・システムの性能が所望どおりであることを表すときには、限度数は可能な限り増大させられ、状態インジケータが、コンピューティング・システムの性能が低すぎることを表すときには、限度数は減少させられる。
【００２９】
図２Ｄに移ると、メンテナンス・サブセット２０５が、そのカーディナリティが（更新された）限度数を超えないよう更新される。例えば、（図に示されるように）限度数が減少させられたときには、１つまたは複数のコンピューティング・ノード１２０に対するメンテナンス活動の完了後にメンテナンス・サブセット２０５のカーディナリティが限度数に達するまで、メンテナンス活動はこれ以上のコンピューティング・ノード１２０に適用されず、逆に、限度数が増大させられたときには、メンテナンス・サブセット２０５のカーディナリティが可能な限り限度数に達するまで、メンテナンス活動は１つまたは複数のさらなるコンピューティング・ノード１２０に適用される（図には示されていない）。
【００３０】
メンテナンス活動がコンピューティング・ノード１２０の全てに適用されるまで、同じ動作が継続的に繰り返される。
【００３１】
このように、メンテナンス活動が並行に適用されるコンピューティング・ノード１２０の数はコンピューティング・システムの状態に動的に自己適応する。
【００３２】
特に、引き続き利用可能なコンピューティング・ノード１２０の数は、コンピューティング・システムの許容可能な性能レベルを確実にする（そのダウンタイムをできるだけ回避する）。特に、このように、任意の適用可能なＳＬＡによって要求されるコンピューティング・システムのサービス・レベル（その最大応答時間など）を維持することが可能である。
【００３３】
同時に、メンテナンス活動をコンピューティング・システム全体に適用するために必要とされる時間（ひいては、同じソフトウェア・プログラムの異なるインスタンスが一貫的に最新のものになっていない時間）が減少する。
【００３４】
その結果、コンピューティング・システムへのメンテナンス活動の適用は、その動作に著しく影響を及ぼすことなく、可能な限り速くなる。
【００３５】
次に図３Ａ〜図３Ｂを参照すると、例示的実施形態に係る本開示の適用の一例が示されている。
【００３６】
図３Ａから開始すると、状態インジケータが、Ｓ１、Ｓ２およびＳ３を用いて示される、３つのみである、非常に単純なシナリオが考えられる（例えば、性能が増大する順序で（in increasing order of performance）、Ｓ１はコンピューティング・ノードのためのものであり、Ｓ２はソフトウェア・プログラムのためのものであり、Ｓ３はシステム・インフラストラクチャのためのものである）。状態インジケータＳ１〜Ｓ３は、コンピューティング・システムが、メンテナンス活動の適用を全く行わずに通常どおり動作する、基準条件において繰り返し測定される。基準条件において測定された状態インジケータＳ１〜Ｓ３の（測定）値は、測定値を対応するデカルト軸上にプロットする（３次元）散布図内において、対応する（測定）点３０５を用いて表され得る。測定点３０５は基準面３１０によってフィッティングされ、基準面３１０は、このとき、コンピューティング・システムの基準条件を表す。
【００３７】
図３Ｂに移ると、基準区域（reference area）３１５が、同じ散布図内において、基準面３１０の若干内側、およびいずれにせよ、その外側に規定される。このとき、基準区域３１５は、コンピューティング・システムの性能が（基準条件におけるものよりもせいぜい若干低いだけであるため）所望どおりである（状態インジケータＳ１〜Ｓ３の対応する値によって規定された）点を含む。さらに、低性能区域（low performance area）３２０が基準区域３１５の内側に規定される。このとき、低性能区域３２０は、コンピューティング・システムの性能が（基準条件におけるものとは悪い方へ著しく異なるため）低すぎる点を含む。次いでは、劣悪性能区域（bad performance area）３２５が低性能区域３２０の内側に規定される。このとき、劣悪性能区域３２５は、コンピューティング・システムの性能が（基準条件におけるものとは悪い方へ過度に異なるため）容認しがたいほど劣悪である点を含む。
【００３８】
任意のメンテナンス活動の適用の間に監視される状態インジケータＳ１〜Ｓ３の（監視）値は、同じ散布図内において、対応する（監視）点を用いて表され、このとき、これらの点は、コンピューティング・システムの現在の条件を表す。限度数は、基準面３１０に対する監視点の位置に従って、および具体的には、（基準／低性能／劣悪性能）区域３１５〜３２５によって規定されるとおりの基準面３１０からのそれらの距離、および監視点の時間の経過に伴う勾配に従って更新され得る。例えば、時間ｔ１において、監視点Ｐ１は基準区域３１５内にある。次の時間ｔ２において、監視点Ｐ２は依然として、基準区域３１５内の点Ｐ１近くにあり、この場合には、限度数は、（その可能な最高値にまだ達していない可能性が高く、このときには、コンピューティング・システムの性能に悪影響を及ぼすことなく限度数を再び増大させ得ると考えられるため）増大させられる。次の時間ｔ３において、監視点Ｐ３は、依然として、基準区域３１５内の点Ｐ２近くにあり、この場合には、限度数は再び増大させられる。次の時間ｔ４において、監視点Ｐ４は依然として基準区域３１５内にあるが、今度は、内方に移動して監視点Ｐ３から著しく離れており、この場合には、限度数は（その可能な最高値に達したに違いなく、限度数のさらなる増大はコンピューティング・システムの性能を過度に低くする可能性が高いため）そのままにしておかれる。他方で、一般的な時間（generic time）ｔ５において、監視点Ｐ５は低性能区域３２０内にあり、この場合には、（コンピューティング・システムの性能が低すぎるため）１つまたは複数のコンピューティング・ノードに対するメンテナンス活動の適用が完了された時に、限度数はできるだけ速やかに減少させられる。さらに、一般的な時間ｔ６において、監視点Ｐ６は劣悪性能区域３２５内にあり、この場合には、（コンピューティング・システムの性能が容認しがたいほど劣悪であるため）限度数は、１つまたは複数のコンピューティング・ノードに対するメンテナンス活動の適用をロール・バックすることによって、即時に減少させられる。
【００３９】
次に図４を参照すると、本開示の一実施形態に係る、用いられ得る主要ソフトウェア・コンポーネントが示されている。
【００４０】
具体的には、全てのソフトウェア・コンポーネント（プログラムおよびデータ）は、全体として参照符号４００を用いて示されている。ソフトウェア・コンポーネントは、通例、マス・メモリ内に記憶され、プログラムが実行する時には、対応するオペレーティング・システム（図には示されていない）と共に、制御機１２５およびコンピューティング・ノード１２０のワーキング・メモリ内に（少なくとも部分的に）ロードされる。プログラムは、最初に、例えば、取り外し可能記憶ユニットから、またはネットワークから、マス・メモリ内にインストールされる。この点において、各プログラムは、指定された論理機能を実施するための１つまたは複数の実行可能命令を含む、コードのモジュール、セグメント、または部分であり得る。
【００４１】
制御機１２５から開始すると、それは以下のソフトウェア・コンポーネントを含む。メンテナンス・マネージャ４０５が、クラウド・プロバイダのコンピューティング・システムの、および特に、そのコンピューティング・ノード上にインストールされたソフトウェア・プログラムのメンテナンスを管理する。例えば、メンテナンス・マネージャ４０５は、コンピューティング・ノード１２０に対して課されることになる（ソフトウェア・プログラムの目標状態を規定する）ポリシーに基づき得る。メンテナンス・マネージャ４０５は、１つまたは複数の構成パラメータに従って動作し、例えば、メンテナンス活動ごとに、構成パラメータは、（メンテナンス活動が最大限並行に適用され得るコンピューティング・ノード１２０の）限度数、メンテナンス活動を各コンピューティング・ノード１２０に適用するためのタイムアウト、カナリア（canary）（メンテナンス活動がその大規模適用の前に初期に適用されるコンピューティング・ノード１２０）の数、個々のコンピューティング・ノード１２０上においてメンテナンス活動の適用が失敗したことを宣言するまでの再試行の数を含む。
【００４２】
本開示の一実施形態に係る解決策では、メンテナンス・コントローラ４１０が、メンテナンス・マネージャ４０５の構成、および特に、その限度数を制御する。メンテナンス・コントローラ４１０は、基準数ファイル４１５に（読み出しモードで）アクセスし、コンピューティング・システムに適用され得る各メンテナンス活動（例えば、対応するソフトウェア・プログラムの固有のコードによって識別される各々のもの）について、またはそれら見境なく全てについて、基準数ファイル４１５は、限度数を初期化するために用いられる基準数を記憶する。状態分析器４２０が、その状態インジケータによって規定されたコンピューティング・システムの状態を分析する。この目的のために、状態分析器４２０は、（例えば、プローブを活用すること、またはレジスタ、ログのようなメモリ構造にアクセスすること、あるいはその両方によって）コンピューティング・システムの対応する状態インジケータを監視する、ノード・モニタ４２５、プログラム・モニタ４３０、およびインフラストラクチャ・モニタ４３５を活用する。具体的には、ノード・モニタ４２５は、コンピューティング・ノード１２０のハードウェア／ソフトウェア・リソースなどの、コンピューティング・ノード１２０の状態を示す１つまたは複数の（ノード）状態インジケータを監視する（例えば、利用可能な処理能力、利用可能なワーキング・メモリ、リスタート数、エラー）。プログラム・モニタ４３０は、クラウド・サービスを実施するソフトウェア・プログラムなどの、コンピューティング・ノード１２０上で実行する１つまたは複数のソフトウェア・プログラムの状態を示す１つまたは複数の（プログラム）状態インジケータを監視する（例えば、消費された処理能力、消費されたワーキング・メモリ、ユーザ・チケット（user ticket）、エラー）。インフラストラクチャ・モニタ４３５は、コンピューティング・ノード１２０の間で共有されたハードウェア／ソフトウェア・リソースなどの、コンピューティング・システムの１つまたは複数のシステム・インフラストラクチャの状態を示す１つまたは複数の（インフラストラクチャ）状態インジケータを監視する（例えば、ネットワーク・スループット、ネットワーク・トラフィック、エラー）。状態分析器４２０は、時間わたり収集された各メンテナンス活動（例えば、最後のもの）のための１つまたは複数の監視点を記憶する監視点ログ４４０に（読み出し／書き込みモードで）アクセスする。状態分析器４２０は、状態インジケータの（基準）値によって規定された基準点を記憶する基準点ファイル４４５に（読み出し／書き込みモードで）アクセスする。基準点は、（対応する基準区域、低性能区域、および劣悪性能区域が上述のとおり規定され得る）コンピューティング・システムの基準条件を（単純化された形で）表し、基準点の利用は、本開示の計算の複雑さを、その精度に著しく影響を及ぼすことなく低減する。
【００４３】
各コンピューティング・ノード１２０（図には１つのみ示されている）に移ると、それは以下のソフトウェア・コンポーネントを含む。１つまたは複数のソフトウェア・プログラム４５０がコンピューティング・ノード１２０上にインストールされ、例えば、ソフトウェア・プログラム４５０は、オペレーティング・システム、および対応するクラウド・サービスを実施するソフトウェア・アプリケーションを含む。メンテナンス・エージェント４５５が、任意の必要なメンテナンス活動をソフトウェア・プログラム４５０に（それらを、問題となっている例における関連ポリシーに準拠させることによって）適用する。この目的のために、メンテナンス・エージェント４５５は、制御機１２５のメンテナンス・マネージャ４０５と対話する。
【００４４】
次に図５Ａ〜図５Ｂを参照すると、例示的実施形態に係る本開示の一実装形態に関連する活動のフローを説明する活動図が示されている。
【００４５】
具体的には、活動図は、方法５００を用いてコンピューティング・ノード上にインストールされた同一ソフトウェア・プログラムの複数のインスタンスをメンテナンスするために用いられ得る例示的なプロセスを表す。この点において、各ブロックは、指定された論理機能を制御計算機上で実施するための１つまたは複数の実行可能命令に対応し得る。
【００４６】
プロセスは、構成イベントに応じてブロック５０３からブロック５０６へ進み、例えば、これは、ソフトウェア・プログラムがコンピューティング・ノードへ展開された時に初めて、および場合によっては、後で、（例えば、コンピューティング・システムの大幅な変更ごとに）自動的に、または（例えば、システム・アドミニストレータの要求に応じて）手動で行われる。いずれにせよ、（コンピューティング・システムが所望どおり動作することが検証されると）、状態分析器は、ノード・モニタに、ノード状態インジケータを測定すること、プログラム・モニタに、プログラム状態インジケータを測定すること、およびインフラストラクチャ・モニタに、インフラストラクチャ状態インジケータを測定することを要求することによって、状態インジケータの測定値を収集する。状態分析器は、Ｎ次元空間における対応する測定点を得るために、測定値を（例えば、コンピューティング・システムの性能を増大させるために、０〜１の範囲に）正規化する。ここで、Ｎは状態インジケータの数に等しい。活動のフローは、ブロック５０９において、収集された測定点の数に従って分岐する。測定点の数が、（５０〜１００などの、許容可能な正確度をもたらすために必要とされる）（構成）閾値よりも（場合によっては、厳密に）低い場合には、プロセスはブロック５０６へ戻り、同じ動作を繰り返す。逆に、必要な数の測定点が利用可能になると、プロセスはブロック５１２内へ降り、状態分析器は、測定点を（例えば、対応する測定値を平均することによって）基準点に集約する。状態分析器は、ブロック５１５において、基準点を（その可能な以前のバージョンを置き換えることによって）対応するファイル内に保存する。次に、プロセスはブロック５０３へ戻り、次の構成イベントを待つ。
【００４７】
完全に独立した様態で、ソフトウェア・プログラムに対する任意のメンテナンス活動を（例えば、そのバージョン／リリースを変更するべく、またはサービス・パックもしくは個々のパッチを適用するべく）遂行するために、メンテナンス要求が（例えば、システム・アドミニストレータによって、または自動的に）送信されるたびに、プロセスは、ブロック５１８からブロック５２１へ進む。それに応じて、メンテナンス・コントローラは、限度数を（対応するファイルから取得された）基準値に初期化する。次に、メンテナンス・コントローラは、ブロック５２４において、メンテナンス・マネージャに、メンテナンス活動をコンピューティング・ノードに対して適用することを開始するよう指令する。
【００４８】
それに応じて、メンテナンス・マネージャは、ブロック５２７において、メンテナンス活動の適用が進行中のメンテナンス・サブセットのコンピューティング・ノードの（進行）数を検証する（最初は０）。進行数が限度数よりも（厳密に）低い場合には、メンテナンス・マネージャは、ブロック５３０において、メンテナンス活動が依然として適用されるべきである（残りの）コンピューティング・ノードの（残りの）数を検証する。残りの数が０よりも（厳密に）高い場合には、メンテナンス・マネージャは、ブロック５３３において、残りのコンピューティング・ノードの中から任意の仕方で選択された（新たな）コンピューティング・ノードへのメンテナンス活動の適用を指令する。具体的には、メンテナンス・マネージャは、新たなコンピューティング・ノード上で実施される任意のクラウド・サービスを、現在オンラインである（すなわち、メンテナンス活動が進行中でない）他の（オンラインの）コンピューティング・ノードへ移動させ、新たなコンピューティング・ノードをオフラインにし、メンテナンス・マネージャは、新たなコンピューティング・ノードのメンテナンス・エージェントに、メンテナンス活動を開始するよう指令する。その後、メンテナンス活動の適用は、各コンピューティング・ノード上で独立して継続し、メンテナンス活動の適用が任意のコンピューティング・ノード上で完了されると、メンテナンス・マネージャは、対応するクラウド・サービスをそれに返し、コンピューティング・ノードを再びオンラインにする。次に、プロセスはブロック５２４へ戻り、（メンテナンス活動を、限度数にできるだけ等しいカーディナリティでコンピューティング・ノードのメンテナンス・サブセットに並行に適用するために）同じ動作を繰り返す。
【００４９】
活動のフローは、（メンテナンス活動が、現在のところ、これ以上のコンピューティング・ノードに適用されなくてもよいため）代わりに、いかなるアクションも遂行することなく、（進行数が限度数以上である場合には）ブロック５２７から、または（残りの数が０に等しい場合には）ブロック５３０からブロック５３６内へ降りる。この時点において、状態分析器は、ノード・モニタに、ノード状態インジケータを測定すること、プログラム・モニタに、プログラム状態インジケータを測定すること、およびインフラストラクチャ・モニタに、インフラストラクチャ状態インジケータを測定することを要求することによって、状態インジケータの監視値を収集する。状態分析器は、ブロック５３９において、測定値がコンピューティング・システムのいずれかの臨界条件（例えば、重度のエラー、または対応する苦情（complaint）のためにチケットがクラウド・サービスのユーザによって開かれたこと）を示すかどうかを検証する。
【００５０】
示さない場合には、状態分析器は、ブロック５４２において、同じＮ次元空間における対応する監視点を得るために、監視値を上述のように正規化する。状態分析器は、ブロック５４５において、対応する基準値−対応する監視値に等しい（そのため、コンピューティング・システムの性能が低下する場合には、正になる）、基準点からの監視点の各次元（すなわち、状態インジケータ）に沿った内方変位を算出する。状態分析器は、ブロック５４８において、（全ての次元に沿った変位の最大値に等しい）最大変位を、基準点に対する基準区域を規定する低性能閾値（例えば、０．１〜０．２）と比較する。
【００５１】
最大変位が低性能閾値よりも（場合によっては、厳密に）低い場合には、監視点は基準区域内にある。したがって、状態分析器は、ブロック５５１において、存在する場合には、対応するログから抽出された、監視点の、その以前のバージョンからの勾配（Ｎ次元空間におけるそれらのユークリッド距離に等しい）を算出する。活動のフローは、ブロック５５４において、勾配に従って分岐する。勾配が（勾配）閾値（例えば、０〜０．１）よりも（場合によっては、厳密に）低い場合には、状態分析器は、ブロック５５７において、限度数を１だけ増大させる。逆に、勾配が勾配閾値よりも（場合によっては、厳密に）高い場合、および監視点の以前のバージョンが、対応するログ内で利用可能でない最初には、いずれにせよ、プロセスは、（限度数をそのままにしておくために）いかなるアクションも遂行することなく継続する。
【００５２】
ブロック５４８を再び参照すると、最大変位が低性能閾値よりも（場合によっては、厳密に）高い場合には、監視点は基準区域内にない。したがって、状態分析器は、ブロック５６０において、限度数を低減するためのデルタ値を決定する。例えば、デルタ値は最大変位に従って決定される（すなわち、０．１〜０．２未満では１、０．２〜０．３未満では２、など）。状態分析器は、ブロック５６３において、限度数をデルタ値だけ低減する。状態分析器は、ブロック５６６において、今度は、最大変位を、基準点に対する劣悪性能区域を規定する劣悪性能閾値（例えば、０．４〜０．５）と比較する。（低性能閾値よりも高い）最大変位が劣悪性能閾値よりも（場合によっては、厳密に）低い場合には、監視点は、基準区域と劣悪性能区域との間で規定された低性能区域内にあり、この場合には、プロセスは、（必要である場合には、１つまたは複数のコンピューティング・ノードに対するメンテナンス活動の適用が完了された時に、メンテナンス・サブセットのカーディナリティをできるだけ速やかに低減するために）いかなるアクションも遂行することなく継続する。ブロック５６６を再び参照すると、最大変位が、代わりに、劣悪性能閾値よりも（場合によっては、厳密に）高い場合には、監視点は劣悪性能区域内にある。したがって、プロセスはブロック５６９へ継続し、測定値がコンピューティング・システムのいずれかの臨界条件を示す場合には、ブロック５３９からも同じ点に直接到達される。どちらの場合にも、メンテナンス・コントローラは、メンテナンス・マネージャに、メンテナンス・サブセットのカーディナリティを（低減された）限度数以内にできるだけ即時に減らすために、コンピューティング・ノードに対するメンテナンス活動の適用をロール・バックするよう指令する。この目的のために、メンテナンス・マネージャは、まず、メンテナンス・サブセットのカーディナリティが限度数よりも（厳密に）高いかどうかを検証する。高い場合には、メンテナンス・マネージャは、メンテナンス活動の適用をロール・バックするために必要とされる時間が、それを完了するために必要とされる推定時間よりも（少なくとも、０〜１０％などの、閾値だけ）短い、任意の（候補）コンピューティング・ノードがメンテナンス・サブセットのコンピューティング・ノードの間で利用可能であるかどうかを検証する。利用可能である場合には、メンテナンス・マネージャは、この推定時間の最も高い値を有する（すなわち、メンテナンス活動の適用がより進んでいない）候補コンピューティング・ノードのメンテナンス・エージェントに、それをロール・バックするよう指令し、このコンピューティング・ノードが回復されるとすぐに、メンテナンス・マネージャは、対応するクラウド・サービスをそれに返し、コンピューティング・ノードをオンラインにする。同じ動作が、メンテナンス・サブセットのカーディナリティが限度数以内に収められるか、またはメンテナンス活動の適用のさらなるロール・バックが可能でなくなるまで繰り返される。
【００５３】
プロセスは、ブロック５７２において、ブロック５５４、ブロック５５７、ブロック５６６、またはブロック５６９から再びマージする。この時点において、状態分析器は、対応するリポジトリ内に（その可能な以前のバージョンを置き換えることによって）監視点を保存する。次に、５７５において試験が行われ、メンテナンス・コントローラが、メンテナンス活動が全てのコンピューティング・ノードに適用されたかどうかを検証する。適用されていない場合には、活動のフローはブロック５２４へ戻り、同じ動作を繰り返す。逆に（メンテナンス活動が全てのコンピューティング・ノードに適用されると）、プロセスはブロック５７８内へ降り、メンテナンス・コントローラは、メンテナンス活動の適用の間における限度数の値に従って（例えば、それらの平均に等しく）（同じソフトウェア・プログラムへの任意の次のメンテナンス活動の適用のための）基準数を算出し、メンテナンス・コントローラは基準数を対応するファイル内に（最初にデフォルト値に設定された、その以前のバージョンを置き換えることによって）保存する。次に、プロセスはブロック５１８へ戻り、さらなるメンテナンス要求を待つ。
【００５４】
当然、局所的かつ特定の要件を満足するために、当業者は多くの、論理的、または物理的、あるいはその両方の変更および改変を本開示に適用し得る。より具体的には、本開示は、その１つまたは複数の実施形態を参照して、ある程度の詳細さをもって説明されたが、形態および詳細における様々な省略、代替、および変更、ならびに他の実施形態が可能であることを理解されたい。具体的には、本開示の異なる実施形態は、そのより完全な理解を与えるために上記の説明において説明された具体的詳細（数値など）を用いずに実施されさえしてもよく、逆に、よく知られた特徴は、不必要な細目を用いて説明を不明瞭にしないよう、省略または単純化された場合があり得る。さらに、本開示の任意の実施形態に関連して説明された特定の要素または方法ステップあるいはその両方は、一般的な設計上の選択の問題として、任意の他の実施形態に組み込まれ得ることが明示的に意図されている。他方で、グループで提示された各要素は、相反する指示なく、それらの共通の提示にのみ基づいて同じグループの任意の他の要素の事実上の同等物と解釈されるべきでなく（しかし、それらは別個の唯一の要素として個々に識別される）、同様に、異なる実施形態、例、または代替物は、互いの事実上の同等物と解釈されるべきでない（しかし、それらは本開示の別個の独立した表現である）。いずれにせよ、各数値は、（すでに行われていない限り）用語、約（about）によって修飾されたものとして読まれるべきであり、数値の各範囲は、範囲（その端点を含む）内の連続体に沿った任意の可能な数を明示的に指定するものとして意図されるべきである。さらに、順序を示す限定詞、または他の限定詞は、同じ名称を有する要素を区別するための単なる標識として用いられるにすぎず、それら自体では、いかなる優先順位、序列、または順序も含意しない。用語、含む（include）、備える（comprise）、有する（have）、包含する（contain）、および伴う（involve）（ならびにそれらの任意の語形）は、開放的な、非網羅的な意味を有すること（すなわち、列挙された要素に限定されないこと）が意図されるべきであり、用語、〜に基づく（based on）、〜に依存する（dependent on）、〜に従って（according to）、〜の関数（function of）（およびそれらの任意の語形）は、非排他的関係として意図されるべきであり（すなわち、可能なさらなる不確定要素が含まれる）、用語、ａ／ａｎは、（別段明示的に指示がない限り）１つまたは複数の要素として意図されるべきであり、用語、〜のための手段（means for）（または任意のミーンズ・プラス・ファンクション表現）は、関連機能を実施するように適合または構成された任意の構造として意図されるべきである。
【００５５】
例えば、一実施形態は、コンピューティング・システムをメンテナンスするための方法を提供する。ただし、コンピューティング・システムは、任意の種類のもの（例えば、クラウド型または標準型のもの）であり得る。
【００５６】
一実施形態では、本方法は制御計算機の制御下で遂行される。しかし、制御計算機は、任意の種類のものであり得る（以下参照）。
【００５７】
一実施形態では、コンピューティング・システムは、複数のコンピューティング・ノードを含む。ただし、コンピューティング・ノードは、任意の数で存在し、任意の種類のもの（例えば、仮想的または物理的な種類のどちらかのサーバ、デスクトップ、ラップトップ、スマートフォン）であり得る。
【００５８】
一実施形態では、コンピューティング・ノードは、コンピューティング・システムの動作に寄与する。ただし、この結果は任意の仕方で（例えば、全てが同じタスクまたはそれらの異なる部分を遂行するコンピューティング・ノードを有する、クラスタまたはグリッド・アーキテクチャの形で）達成され得る。
【００５９】
一実施形態では、本方法は、（制御計算機によって）コンピューティング・ノードの限度数を初期化することを含む。ただし、限度数は、任意の仕方で（例えば、本方法の以前の実行に基づく基準数に、固定されたデフォルト値に）初期化され得る。
【００６０】
一実施形態では、本方法は、メンテナンス活動が全てのコンピューティング・ノードに適用されるまで以下のステップを繰り返すことによって実施される反復を含む。
【００６１】
一実施形態では、反復は、（制御計算機によって）メンテナンス活動の適用を生じさせることを含む。ただし、メンテナンス活動は、任意の種類のもの（例えば、バージョン／リリースを変更すること、サービス・パックまたはパッチを適用すること、任意のソフトウェア・プログラム、例えば、アプリケーション・プログラム、ミドルウェア、オペレーティング・システム、またはより一般的に、コンピューティング・システムの任意の他のソフトウェア／ハードウェア・リソースをアップグレードまたはダウングレードすること）であり得、それは、任意の仕方で（例えば、ポリシーに基づく局所的アプローチ、または集中的アプローチのいずれかを用いて）適用され得る。
【００６２】
一実施形態では、メンテナンス活動は、限度数を超えないコンピューティング・ノードのメンテナンス・サブセットに対して並行に適用される。ただし、この結果は、任意の仕方で（例えば、すでに進行中であるメンテナンス活動の適用の完了まで限度数の超過を容認するか、または容認しないかのどちらか）達成され得る。
【００６３】
一実施形態では、反復は、（制御計算機によって）メンテナンス活動の適用の間に１つまたは複数の状態インジケータを監視するステップを含む。ただし、状態インジケータは任意の数で存在し、任意の種類のもの（例えば、連続値、離散値、フラグ）であり得、それらは、任意の仕方で（例えば、継続的に、または要求に応じて、プッシュまたはプル・モードで問い合わせること／読み出すことによって）監視され得る。
【００６４】
一実施形態では、状態インジケータはコンピューティング・システムの状態を示す。ただし、状態インジケータは、任意の状態特性（例えば、コンピューティング・ノード、ソフトウェア・プログラム、システム・インフラストラクチャ、またはその任意の組み合わせの性能、安定性、電力消費、作業負荷）を示し得る。
【００６５】
一実施形態では、反復は、（制御計算機によって）メンテナンス活動の適用の間に監視された状態インジケータの監視値に従って限度数を更新するステップを含む。ただし、限度数は、任意の仕方で（例えば、任意の基準表現との任意の比較、監視値の任意の傾向、またはこれらの任意の組み合わせに従って、固定された仕方で、またはそれに基づく任意の線形／非線形則に従って）更新され得る。
【００６６】
一実施形態では、前記監視するステップは、（制御計算機によって）コンピューティング・ノードの状態を示す１つまたは複数のノード状態インジケータを含む状態インジケータを監視することを含む。ただし、ノード状態インジケータは任意の数で存在し、任意の種類のもの（例えば、上述されたものに対して、部分的な、異なる、および追加的なノード状態インジケータ）であり得る。
【００６７】
一実施形態では、前記監視するステップは、（制御計算機によって）コンピューティング・ノード上で実行する１つまたは複数のソフトウェア・プログラムの状態を示す１つまたは複数のプログラム状態インジケータを含む状態インジケータを監視することを含む。ただし、プログラム状態インジケータは、任意の数および種類のソフトウェア・プログラム（例えば、メンテナンス中のソフトウェア・プログラムのみ、または任意の他のソフトウェア・プログラムを追加したもの）のために、任意の数で存在し、任意の種類のもの（例えば、上述されたものに対して、部分的な、異なる、および追加的なプログラム状態インジケータ）であり得る。
【００６８】
一実施形態では、前記監視するステップは、（制御計算機によって）コンピューティング・システムの１つまたは複数のシステム・インフラストラクチャの状態を示す１つまたは複数のインフラストラクチャ状態インジケータを含む状態インジケータを監視することを含む。ただし、インフラストラクチャ状態インジケータは、（例えば、ハードウェアまたはソフトウェアあるいはその両方の種類の）任意の数および種類のシステム・インフラストラクチャのために、任意の数で存在し、任意の種類のもの（例えば、上述されたものに対して、部分的な、異なる、および追加的なインフラストラクチャ状態インジケータ）であり得る。
【００６９】
一実施形態では、前記監視するステップは、（制御計算機によって）コンピューティング・システムの臨界条件の１つまたは複数の指示を含む状態インジケータを監視することを含む。ただし、臨界条件の指示は任意の数で存在し、（例えば、エラー、内部／外部苦情、ＳＬＡまたは任意の他の義務の不履行に関連する）任意の種類のものであり得る。
【００７０】
一実施形態では、前記更新するステップは、（制御計算機によって）監視値によって規定された監視点と、メンテナンス活動の適用が行われない基準条件におけるコンピューティング・システムの状態の基準表現との比較に従って限度数を更新することを含む。ただし、基準表現は任意の種類のもの（例えば、点、表面、区域）であり得て、それは任意の仕方で提供され得て（例えば、動的に収集されるか、または静的に事前設定される）、さらに、監視点は基準表現と任意の仕方で（例えば、基準表現からのその距離、その経時的傾向、またはそれらの組み合わせに従って）比較され得て、この比較は、限度数を任意の仕方で更新するために用いられ得る（例えば、監視点の傾向に依存して増大させ／そのままにしておき、監視点が、対応する区域内に入るときには、限度数を低減し、監視点が、対応する区域内に入るときには、その傾向とは無関係に、限度数を増大させる、そのままにしておく、および低減する）。
【００７１】
一実施形態では、本方法は、（制御計算機によって）基準条件における状態インジケータを測定することを含む。ただし、状態インジケータは、任意の回数、および任意の仕方で（例えば、最初のみ、さらに、後で、定期的に、または任意の自動／手動イベントに応じて）測定され得る。
【００７２】
一実施形態では、本方法は、（制御計算機によって）基準条件において測定された状態インジケータの測定値に従って基準表現を規定することを含む。ただし、基準表現は測定値に従って任意の仕方で（例えば、平均化、フィッティング、または任意の他の統計的方法を用いて）規定され得る。
【００７３】
一実施形態では、前記更新するステップは、（制御計算機によって）監視点と基準点との比較に従って限度数を更新することを含む。ただし、限度数は任意の仕方でこの比較に従って（例えば、基準点からの監視点の距離のみに従って、または監視点の時間の経過に伴う勾配を追加して）更新され得る。
【００７４】
一実施形態では、基準点は基準表現の対応する基準値によって規定される。ただし、基準点は任意の仕方で（例えば、測定値から、それらを平均することによって、基準表現から分析的に）規定され得る。
【００７５】
一実施形態では、前記更新するステップは、（制御計算機によって）基準表現からの監視点の距離に従って限度数を更新することを含む。ただし、距離は、任意の仕方で（例えば、ユークリッド距離による、下方への、上方への、またはそれらの組み合わせなどの、各次元に沿った性能が低下する場合のみの変位によって）規定され得、それは、限度数を任意の仕方で（例えば、それを離散的または連続的な仕方で増大させること、減少させること、またはそのままにしておくこと、あるいはその組み合わせによって）更新するために用いられ得る。
【００７６】
一実施形態では、前記更新するステップは、（制御計算機によって）監視点の時間経過に伴う勾配に従って限度数を更新することを含む。ただし、勾配は、任意の仕方で（例えば、監視点の２つ以上の値の間の、性能が低下する場合のみのユークリッド距離または変位に従って）規定され得て、それは、限度数を任意の仕方で（例えば、それを離散的または連続的な仕方で増大させること、減少させること、またはそのままにしておくこと、あるいはその組み合わせによって）更新するために用いられ得る。
【００７７】
一実施形態では、本方法は、限度数の低減に応じて、（制御計算機によって）コンピューティング・ノードのうちの１つまたは複数に対するメンテナンス活動の適用の完了を待つことを含む。ただし、この動作は、任意の仕方で（例えば、その間に、限度数を更新するために状態インジケータを監視することを継続するか、または継続しない）、および任意の条件で（例えば、基準表現からの距離が任意の閾値以内にある時のみ、または常時）遂行され得る。
【００７８】
一実施形態では、本方法は、限度数の低減に応じて、（制御計算機によって）コンピューティング・ノードのうちの１つまたは複数に対するメンテナンス活動の適用をロール・バックすることを含む。ただし、この動作は、任意の仕方で（例えば、メンテナンス活動の適用を完了するために必要とされる時間に従って、または無差別に）、および任意の条件で（例えば、基準表現からの距離が任意の閾値を超える時、または任意の臨界条件が検出された時、あるいはその両方の時のみ、あるいは常時）遂行され得る。
【００７９】
一実施形態では、本方法は、（制御計算機によって）メンテナンス活動の適用の間における限度数の１つまたは複数の値に基づく基準数を保存すること含む。ただし、基準数は任意の仕方で限度数のうちの任意の数の値に基づき得る（例えば、メンテナンス活動の全適用またはその任意の部分にわたるそれらの平均、それらの最低値、それらの最後の値に設定される）。
【００８０】
一実施形態では、本方法は、（制御計算機によって）基準数に従って次のメンテナンス活動のための限度数を初期化することを含む。ただし、限度数は任意の仕方で基準数に従って（例えば、基準数に、またはその時期（age）などに応じた、基準数の割合に等しく）初期化され得る。
【００８１】
一実施形態では、コンピューティング・システムはクラウド型である。ただし、クラウドは任意の種類のもの（例えば、ＰａａＳ、ＳａａＳ、もしくはＮａａＳ、またはその組み合わせ、パブリック型、プライベート型、コミュニティ型、あるいはハイブリッド型）であり得る。
【００８２】
概して、同じ解決策が、（より多くのステップの同じ機能、もしくはそれらの部分を有する同様のステップを用いること、いくつかの本質的でないステップを除くこと、またはさらなる任意選択的なステップを追加することによって）同等の方法を用いて実施される場合には、同様の考慮が適用され、さらに、ステップは、異なる順序で、並行に、または交互の様態で（少なくとも部分的に）遂行され得る。
【００８３】
一実施形態は、制御計算機に、コンピュータ・プログラムが制御計算機上で実行されたときに、上述の方法を遂行させるように構成されたコンピュータ・プログラムを提供する。一実施形態は、コンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、コンピュータ可読記憶媒体が、それに組み込まれたプログラム命令を有する、コンピュータ・プログラム製品を提供し、プログラム命令は、制御計算機によって、制御計算機に同じ方法を遂行させるよう実行可能である。しかし、コンピュータ・プログラムは、独立型モジュールとして、既存のソフトウェア・プログラムのためのプラグイン（例えば、リソース管理アプリケーションのメンテナンス・マネージャ）として、またはさらに、後者の内部において直接、実施され得る。さらに、コンピュータ・プログラムは任意の制御計算機上で実行され得る（以下参照）。
【００８４】
一実施形態は、上述の方法のステップの各々を遂行するように構成された手段を備えるシステムを提供する。一実施形態は、同じ方法のステップの各々を遂行するための回路（すなわち、例えば、ソフトウェアによって、適切に構成された任意のハードウェア）を備えるシステムを提供する。しかし、システムは、任意の種類のもの（例えば、制御計算機単独、任意のローカル、ワイド・エリア、グローバル、セルラー、または衛星ネットワークを介して、および任意の種類の有線もしくは無線またはその両方の接続を活用してそれらの間で通信するコンピューティング・ノードを有する制御コンピューティング・システム）であり得、さらに、制御計算機は任意の物理マシン、仮想マシン、またはこれらの静的もしくは動的な組み合わせによって実施され得る。いずれにせよ、本開示の一実施形態に係る解決策は、ハードウェア構造を用いて（例えば、半導体材料の１つまたは複数のチップ内に統合された電子回路によって）、あるいは適切にプログラムされているか、または他の仕方で構成されたソフトウェアおよびハードウェアの組み合わせを用いて実施されるためにすら適している。
【００８５】
概して、システムが異なる構造を有する、または同等のコンポーネントを備えるか、あるいはそれが他の動作特性を有する場合には、同様の考慮が適用される。いずれにせよ、その全てのコンポーネントはより多くの要素に分離されてもよく、または２つ以上のコンポーネントは単一の要素に互いに組み合わせられてもよく、さらに、各コンポーネントは、対応する動作の並列の実行を支援するために複製されてもよい。さらに、別途指定されない限り、異なるコンポーネントの間の任意の対話は、概して、連続的である必要はなく、それは、直接的、または１つまたは複数の媒介物を通じて間接的であり得る。
【００８６】
本発明は、任意の可能な技術的詳細統合レベルにおける、システム、方法、またはコンピュータ・プログラム製品あるいはその組み合わせであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（または媒体群）を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであることができる。コンピュータ可読記憶媒体は、例えば、限定するものではないが、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または上述のものの任意の好適な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下のもの：ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（random access memory、ＲＡＭ）、リード・オンリー・メモリ（read-only memory、ＲＯＭ）、消去可能プログラマブル・リード・オンリー・メモリ（ＥＰＲＯＭ（erasable programmable read-only memory）もしくはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（static random access memory、ＳＲＡＭ）、ポータブル・コンパクト・ディスク・リード・オンリー・メモリ（compact disk read-only memory、ＣＤ−ＲＯＭ）、デジタル多用途ディスク（digital versatile disk、ＤＶＤ）、メモリ・スティック、フロッピー（登録商用）・ディスク、穿孔カード、または命令が記録された溝内の隆起構造などの、機械的に符号化されたデバイス、ならびに上述のものの任意の好適な組み合わせを含む。コンピュータ可読記憶媒体は、本明細書で使用するとき、電波または他の自由伝搬する電磁波、導波路または他の伝送媒体を通って伝搬する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、あるいは電線を通して伝送される電気信号などの、一過性信号自体であると解釈されるべきでない。本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組み合わせを経由して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを含み得る。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースがネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令をそれぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体における記憶のために転送する。本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（instruction-set-architecture、ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはＳｍａｌｌｔａｌｋ（登録商標）、Ｃ＋＋、もしくは同様のものなどの、オブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語などの、手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書かれた、ソース・コードまたはオブジェクト・コードのいずれかであり得る。コンピュータ可読プログラム命令は完全にユーザのコンピュータ上で実行するか、一部ユーザのコンピュータ上で実行するか、独立型ソフトウェア・パッケージとして実行するか、一部ユーザのコンピュータ上で、且つ一部リモート・コンピュータ上で実行するか、または完全にリモート・コンピュータもしくはサーバ上で実行し得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（local area network、ＬＡＮ）またはワイド・エリア・ネットワーク（wide area network、ＷＡＮ）を含む、任意の種類のネットワークを通じてユーザのコンピュータに接続され得るか、あるいは外部コンピュータへの接続が（例えば、インターネット・サービス・プロバイダを利用してインターネットを通じて）行われ得る。実施形態によっては、例えば、プログラマブル論理回路機構、フィールド・プログラマブル・ゲート・アレイ（field-programmable gate array、ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（programmable logic array、ＰＬＡ）を含む電子回路機構が、本発明の態様を遂行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機構を個別化することによって、コンピュータ可読プログラム命令を実行し得る。本発明の態様は、本明細書において、本発明の実施形態に係る方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明されている。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施され得ることが理解されるであろう。これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群において指定された機能／行為を実施するための手段を生み出すように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令はまた、内部に記憶された命令を有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群内で指定された機能／行為の態様を実施する命令を含む製造品を含むように、コンピュータ可読記憶媒体内に記憶され、コンピュータ、プログラム可能データ処理装置、または他のデバイスあるいはその組み合わせを特定の仕方で機能するように指示することができるものであってもよい。コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、��たは他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたはブロック群において指定された機能／行為を実施するように、コンピュータ実施プロセスを作り出すために、コンピュータ、他のプログラム可能データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを遂行させるものであってもよい。図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態に係るシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示す。この点に関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表し得る。いくつかの代替的実装形態では、ブロック内に記された機能は、図面に記された順序に従わずに生じてもよい。例えば、連続して示された２つのブロックは、実際には、実質的に同時に実行されてもよく、またはブロックは、時として、含まれる機能性に依存して、逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方におけるブロックの組み合わせは、指定された機能もしくは行為を遂行するか、あるいは専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用ハードウェア・ベースのシステムによって実施され得ることにも留意されたい。
【００８７】
上述の特徴は任意の仕方で組み合わせられ得る。例えば、上述された特徴の可能な組み合わせは以下のものであり得る：請求項２と請求項１、請求項３と請求項１または２、請求項４と請求項１ないし３のいずれか、請求項５と請求項１ないし４のいずれか、請求項６と請求項１ないし５のいずれか、請求項７と請求項６、請求項８と請求項６または７、請求項９と請求項６ないし８のいずれか、請求項１０と請求項６ないし９のいずれか、請求項１１と請求項１ないし１０のいずれか、請求項１２と請求項１ないし１１のいずれか、請求項１３と請求項１ないし１２のいずれか、請求項１４と請求項１ないし１３のいずれかに記載の方法を遂行するための命令、ならびに請求項１５と請求項１ないし１３のいずれかに記載の各ステップを遂行するための手段（または回路機構）。
【図１】
2021532460.tif 000003
【図２Ａ】
2021532460.tif 000004
【図２Ｂ】
2021532460.tif 000005
【図２Ｃ】
2021532460.tif 000006
【図２Ｄ】
2021532460.tif 000007
【図３Ａ】
2021532460.tif 000008
【図３Ｂ】
2021532460.tif 000009
【図４】
2021532460.tif 000010
【図５Ａ】
2021532460.tif 000011
【図５Ｂ】
2021532460.tif 000012
【手続補正書】
【提出日】令和3年1月25日(2021.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御計算機の制御下でコンピューティング・システムをメンテナンスするための方法であって、前記コンピューティング・システムが、前記コンピューティング・システムの動作に寄与する複数のコンピューティング・ノードを含み、前記方法が、
前記制御計算機によって、前記コンピューティング・ノードの限度数を初期化するステップと、
前記制御計算機によって、前記限度数を超えない前記コンピューティング・ノードのメンテナンス・サブセットに対するメンテナンス活動の適用を並行に生じさせるステップと、
前記制御計算機によって、前記メンテナンス活動の前記適用の間に１つまたは複数の状態インジケータを監視するステップであって、前記状態インジケータが前記コンピューティング・システムの状態を示す、前記監視するステップと、
前記制御計算機によって、前記メンテナンス活動の前記適用の間に監視される前記状態インジケータの監視値に従って前記限度数を更新するステップと、
前記メンテナンス活動が前記複数のコンピューティング・ノードの全てに適用されるまで、前記生じさせるステップ、前記監視するステップおよび前記更新するステップを繰り返すステップと
を含む方法。
【請求項２】
前記監視するステップが、
前記制御計算機によって、前記コンピューティング・ノードの状態を示す１つまたは複数のノード状態インジケータを含む前記状態インジケータを監視するステップを含む、請求項１に記載の方法。
【請求項３】
前記監視するステップが、
前記制御計算機によって、前記コンピューティング・ノード上で実行する１つまたは複数のソフトウェア・プログラムの状態を示す１つまたは複数のプログラム状態インジケータを含む前記状態インジケータを監視するステップを含む、請求項１または２に記載の方法。
【請求項４】
前記監視するステップが、
前記制御計算機によって、前記コンピューティング・システムの１つまたは複数のシステム・インフラストラクチャの状態を示す１つまたは複数のインフラストラクチャ状態インジケータを含む前記状態インジケータを監視するステップを含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記監視するステップが、
前記制御計算機によって、前記コンピューティング・システムの臨界条件の１つまたは複数の表示を含む前記状態インジケータを監視するステップを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記更新するステップが、
前記制御計算機によって、前記監視値によって規定された監視点と、前記メンテナンス活動の前記適用が行われない基準条件における前記コンピューティング・システムの状態の基準表現との比較に従って前記限度数を更新するステップを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記方法が、
前記制御計算機によって、前記基準条件における前記状態インジケータを測定するステップと、
前記制御計算機によって、前記基準条件において測定された前記状態インジケータの測定値に従って前記基準表現を規定するステップと
を含む、請求項６に記載の方法。
【請求項８】
前記更新するステップが、
前記制御計算機によって、前記監視点と、前記基準表現の対応する基準値によって規定された基準点との比較に従って前記限度数を更新するステップを含む、請求項６に記載の方法。
【請求項９】
前記更新するステップが、
前記制御計算機によって、前記基準表現からの前記監視点の距離に従って前記限度数を更新するステップを含む、請求項６に記載の方法。
【請求項１０】
前記更新するステップが、
前記制御計算機によって、前記監視点の時間の経過に伴う勾配に従って前記限度数を更新するステップを含む、請求項６に記載の方法。
【請求項１１】
前記方法が、前記限度数の低減に応じて、
前記制御計算機によって、前記コンピューティング・ノードのうちの１つまたは複数に対する前記メンテナンス活動の前記適用の完了を待つステップ、または
前記制御計算機によって、前記コンピューティング・ノードのうちの１つまたは複数に対する前記メンテナンス活動の前記適用をロール・バックするステップ、あるいは
その両方のステップを含む、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記方法が、
前記制御計算機によって、前記メンテナンス活動の前記適用の間における前記限度数の１つまたは複数の値に基づく基準数を保存するステップと、
前記制御計算機によって、前記基準数に従って次のメンテナンス活動のための前記限度数を初期化するステップと
を含む、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
前記コンピューティング・システムがクラウド型である、請求項１に記載の方法。
【請求項１４】
コンピューティング・システムの動作に寄与する複数のコンピューティング・ノードを含む前記コンピューティング・システムをメンテナンスするためのコンピュータ・プログラムであって、制御計算機に方法の各ステップを実行させるためのプログラムであって、前記方法が、
前記コンピューティング・ノードの限度数を初期化するステップと、
前記限度数を超えない前記コンピューティング・ノードのメンテナンス・サブセットに対するメンテナンス活動の適用を並行に生じさせるステップと、
前記メンテナンス活動の前記適用の間に１つまたは複数の状態インジケータを監視するステップであって、前記状態インジケータが前記コンピューティング・システムの状態を示す、前記監視するステップと、
前記メンテナンス活動の前記適用の間に監視される前記状態インジケータの監視値に従って前記限度数を更新するステップと、
によって行われる、前記初期化するステップと、
前記メンテナンス活動が前記複数のコンピューティング・ノードの全てに適用されるまで、前記生じさせるステップ、前記監視するステップ、および前記更新するステップを繰り返すステップと、
を含むコンピュータ・プログラム。
【請求項１５】
前記更新するステップが、
前記制御計算機によって、前記監視値によって規定された監視点と、前記メンテナンス活動の前記適用が行われない基準条件における前記コンピューティング・システムの状態の基準表現との比較に従って前記限度数を更新するステップを含む、請求項１４に記載のコンピュータ・プログラム。
【請求項１６】
前記方法が、
前記制御計算機によって、前記基準条件における前記状態インジケータを測定するステップと、
前記制御計算機によって、前記基準条件において測定された前記状態インジケータの測定値に従って前記基準表現を規定するステップと
を含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
前記更新するステップが、
前記制御計算機によって、前記監視点と、前記基準表現の対応する基準値によって規定された基準点との比較に従って前記限度数を更新するステップを含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１８】
前記更新するステップが、
前記制御計算機によって、前記基準表現からの前記監視点の距離に従って前記限度数を更新するステップを含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１９】
前記更新するステップが、
前記制御計算機によって、前記監視点の時間の経過に伴う勾配に従って前記限度数を更新するステップを含む、請求項１５に記載のコンピュータ・プログラム。
【請求項２０】
請求項１４〜１９のいずれか１項に記載のコンピュータ・プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２１】
コンピューティング・システムの動作に寄与する複数のコンピューティング・ノードを含む前記コンピューティング・システムをメンテナンスするための制御計算機であって、前記制御計算機が、
前記コンピューティング・ノードの限度数を初期化するための回路機構と、
前記限度数を超えない前記コンピューティング・ノードのメンテナンス・サブセットに対するメンテナンス活動の適用を並行に生じさせるための回路機構と、
前記メンテナンス活動の前記適用の間に１つまたは複数の状態インジケータを監視するための回路機構であって、前記状態インジケータが前記コンピューティング・システムの状態を示す、前記回路機構と、
前記メンテナンス活動の前記適用の間に監視される前記状態インジケータの監視値に従って前記限度数を更新するための回路機構と、
を備える制御計算機。
【国際調査報告】
2021532460.tif 000013
2021532460.tif 000014