(57)【要約】【課題】コンピュータ・クラスタを仮想化する方法は、分散アプリケーションを選択する工程を含む。【解決手段】分散アプリケーションと関連付けられるポリシーが取り出される。複数のノードのうちの１つが動的に選択される。更に、選択ノードのブート画像が、取り出されるポリシーに少なくとも部分的に基づいて再設定され、ブート画像は分散アプリケーションと互換である。更に、仮想ディスク画像がノードと関連付けられる。分散アプリケーションの少なくとも一部分は更に、関連付けられている仮想ディスク画像を用いて再設定ノードで実行される。【選択図】図１ 
2005302039.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・クラスタを仮想化する方法であって：
分散アプリケーションを選択する工程；
該分散アプリケーションと関連するポリシーを取り出す工程；
複数のノードのうちの１つを動的に選択する工程；及び
該取り出されるポリシーに少なくとも部分的に基づいて該選択ノードのブート画像を再設定する工程；
を備え；
該ブート画像が該分散アプリケーションと互換であり；
更に、該取り出されるポリシーに少なくとも部分的に基づいて該選択ノードを仮想ディスク画像と関連付ける工程；及び
該分散アプリケーションの少なくとも一部分を該関連付けられる仮想ディスク画像を用いて該再設定ノードで実行する工程；
を備えることを特徴とする方法。
【請求項２】
請求項１記載の方法であって：
該アプリケーションは前記複数のノードの部分集合で実行され；
更に、該取り出されるポリシーと該ノード部分集合とを比較する工程；及び
複数の互換ブート画像のうちの１つを該比較に基づいて選択する工程；
を備えることを特徴とする方法。
【請求項３】
請求項２記載の方法であって、該取り出されるポリシーと該ノード部分集合とを比較する工程が：
該部分集合におけるノード・カウントを判定する工程；及び
該ブート画像を該ポリシーにおけるリンクと該ノード・カウントとに基づいて選択する工程；
を備えることを特徴とする方法。
【請求項４】
請求項２記載の方法であって、該ノード部分集合の各々が：
前記複数の互換ブート画像のうちの１つと関連付けられることを特徴とする方法。
【請求項５】
請求項１記載の方法であって、該複数のノードのうちの１つを動的に選択する工程が：  
前記複数のノードのうちの１つ又は複数が第２分散アプリケーションによって利用されていないかを判定する工程；及び
前記複数のノードのうちの少なくとも１つが利用されていないことに応じて、該利用されていないノードのうちの１つを選択する工程；
を備えることを特徴とする方法。
【請求項６】
請求項５記載の方法であって、前記複数のノードのうち利用されていないものが何らないことに応じて、更に、該第２分散アプリケーションによって利用されている、前記複数のノードのうちの１つを：
該取り出されるポリシー；
前記選択ノードの低利用率；
前記選択分散アプリケーションの優先度；及び
該選択ノードの該選択分散アプリケーションとの互換性；
のうちの１つ又は複数のものに基づいて選択する工程；
を備えることを特徴とする方法。
【請求項７】
請求項６記載の方法であって、前記選択ノードの該ブート画像を再設定する工程が：
該選択ノードを自動的にシャットダウンする工程；
該選択ノードの該ブート画像を再設定する工程；及び
該選択ノードを、該再設定ブート画像を用いて再起動させる工程；
を備えることを特徴とする方法。
【請求項８】
請求項７記載の方法であって、更に：
該第２分散アプリケーションに関連付けられる何れかの処理を、該選択ノードをシャットダウンする前に終結する工程；
を備えることを特徴とする方法。
【請求項９】
請求項１記載の方法であって、更に、前記ポリシーが：
ブート画像に対する複数のリンク；
を備え；
該複数のリンクの各々が、該分散アプリケーションと互換のノード・カウントのうちの１つと関連付けられることを特徴とする方法。
【請求項１０】
請求項１記載の方法であって、前記ポリシーが：
前記複数のノードのうちの１つの前記選択のタイミングを判定する１つ又は複数のパラメータ；
を備えることを特徴とする方法。
【請求項１１】
請求項１記載の方法であって、該ブート画像が：
ストレージ・エリア・ネットワーク（ＳＡＮ）において記憶されている遠隔ブート画像；
を備えることを特徴とする方法。
【請求項１２】
請求項１記載の方法であって：
前記選択ノードは、該再設定に先行して第１ブート画像と関連付けられ、該再設定からは第２ブート画像と関連付けられ；
該第１ブート画像と該第２ブート画像が：
オペレーティング・システム；
システム構成；及び
分散アプリケーション・パラメータ；
のうちの少なくとも１つにおいて異なっていることを特徴とする方法。
【請求項１３】
請求項１記載の方法であって、更に：
前記複数のノードのうちの１つに障害が起こったということを判定する工程；
を備え；
該障害が起こったノードが、該選択分散アプリケーションのうちの少なくとも一部分を実行し；
前記複数のノードのうちの１つを選択する工程が：
該障害に応じて、前記複数のノードのうちの該１つ以外のうちの１つを選択する工程；
を備えることを特徴とする方法。
【請求項１４】
請求項１記載の方法であって、前記複数のノードの各々が：
同様なプロセッサ・アーキテクチャ；
を備えることを特徴とする方法。
【請求項１５】
請求項１記載の方法であって、前記複数のノードのうちの１つを選択する工程が：
該複数のノードのうちの１つを所定の時点で選択する工程；
を備えることを特徴とする方法。
【請求項１６】
コンピュータ・クラスタを仮想化するソフトウェアであって：
分散アプリケーションを選択する工程；
該分散アプリケーションと関連するポリシーを取り出す工程；
複数のノードのうちの１つを動的に選択する工程；及び
該取り出されるポリシーに少なくとも部分的に基づいて該選択ノードのブート画像を再設定する工程；
を行うよう動作可能であり；
該ブート画像が該分散アプリケーションと互換であり；
更に、該取り出されるポリシーに少なくとも部分的に基づいて該選択ノードを仮想ディスク画像と関連付ける工程；及び
該分散アプリケーションの少なくとも一部分を、該関連付けられる仮想ディスク画像を用いて該再設定ノードで実行する工程；
を行うよう動作可能であることを特徴とするソフトウェア。
【請求項１７】
請求項１６記載のソフトウェアであって：
該アプリケーションが前記複数のノードの部分集合で実行され：
更に、該取り出されるポリシーと該ノード部分集合とを比較する工程；及び
複数の互換ブート画像のうちの１つを該比較に基づいて選択する工程；
を行うよう動作可能であることを特徴とするソフトウェア。
【請求項１８】
請求項１７記載のソフトウェアであって：
該取り出されるポリシーと該ノード部分集合とを比較するよう動作可能であり；
該部分集合におけるノード・カウントを判定する工程；及び
該ブート画像を該ポリシーにおけるリンクと該ノード・カウントとに基づいて選択する工程；
を行うよう動作可能であることを特徴とするソフトウェア。
【請求項１９】
請求項１７記載のソフトウェアであって、該ノード部分集合の各々が：
前記複数の互換ブート画像のうちの１つと関連付けられることを特徴とするソフトウェア。
【請求項２０】
請求項１６記載のソフトウェアであって：
該複数のノードのうちの１つを動的に選択し；
前記複数のノードのうちの１つ又は複数が第２分散アプリケーションによって利用されていないかを判定する工程；及び
前記複数のノードのうちの少なくとも１つが利用されていないことに応じて、該利用されていないノードのうちの１つを選択する工程；
を行うよう動作可能であることを特徴とするソフトウェア。
【請求項２１】
請求項２０記載のソフトウェアであって、前記複数のノードのうち利用されていないものが何らないことに応じて、更に、該第２分散アプリケーションによって利用されている、前記複数のノードのうちの１つを：
該取り出されるポリシー；
前記選択ノードの低利用率；
前記選択分散アプリケーションの優先度；及び
該選択ノードの該選択分散アプリケーションとの互換性；
のうちの１つ又は複数のものに基づいて選択するよう動作可能であることを特徴とするソフトウェア。
【請求項２２】
請求項２１記載のソフトウェアであって：
前記選択ノードの該ブート画像を再設定し；
該選択ノードを自動的にシャットダウンする工程；
該選択ノードの該ブート画像を再設定する工程；及び
該選択ノードを、該再設定ブート画像を用いて再起動させる工程；
を行うよう動作可能であることを特徴とするソフトウェア。
【請求項２３】
請求項２２記載のソフトウェアであって、更に：
該第２分散アプリケーションに関連付けられる何れかの処理を、該選択ノードをシャットダウンする前に終結する工程；
を行うよう動作可能であることを特徴とするソフトウェア。
【請求項２４】
請求項１６記載のソフトウェアであって、更に、前記ポリシーが：
ブート画像に対する複数のリンク；
を備え；
該複数のリンクの各々が、該分散アプリケーションと互換のノード・カウントのうちの１つと関連付けられることを特徴とするソフトウェア。
【請求項２５】
請求項１６記載のソフトウェアであって、前記ポリシーが：
前記複数のノードのうちの１つの前記選択のタイミングを判定する１つ又は複数のパラメータ；
を備えることを特徴とするソフトウェア。
【請求項２６】
請求項１６記載のソフトウェアであって、該ブート画像が：
ストレージ・エリア・ネットワーク（ＳＡＮ）において記憶されている遠隔ブート画像；
を備えることを特徴とするソフトウェア。
【請求項２７】
請求項１６記載のソフトウェアであって：
前記選択ノードは、該再設定に先行して第１ブート画像と関連付けられ、該再設定からは第２ブート画像と関連付けられ；
該第１ブート画像と該第２ブート画像が：
オペレーティング・システム；
システム構成；及び
分散アプリケーション・パラメータ；
のうちの少なくとも１つにおいて異なっていることを特徴とするソフトウェア。
【請求項２８】
請求項１６記載のソフトウェアであって、更に：
前記複数のノードのうちの１つに障害が起こったということを判定する工程；
を行うよう動作可能であり；
該障害が起こったノードが、該選択分散アプリケーションのうちの少なくとも一部分を実行し；
前記複数のノードのうちの１つを選択し：
該障害に応じて、前記複数のノードのうちの該１つ以外のうちの１つを選択する工程；
を行うよう動作可能であることを特徴とするソフトウェア。
【請求項２９】
請求項１６記載のソフトウェアであって、前記複数のノードの各々が：
同様なプロセッサ・アーキテクチャ；
を備えることを特徴とするソフトウェア。
【請求項３０】
請求項１６記載のソフトウェアであって：
前記複数のノードのうちの１つを選択し；
該複数のノードのうちの１つを所定の時点で選択するよう動作可能であることを特徴とするソフトウェア。
【請求項３１】
コンピュータ・クラスタを仮想化するシステムであって：
複数の計算ノード；及び
管理ノード；
を備え；
該管理ノードが：
分散アプリケーションを選択する工程；
該分散アプリケーションと関連するポリシーを取り出す工程；
複数のノードのうちの１つを動的に選択する工程；及び
該取り出されるポリシーに少なくとも部分的に基づいて該選択ノードのブート画像を再設定する工程；
を行うよう動作可能であり；
該ブート画像が該分散アプリケーションと互換であり；
該管理ノードが更に、該取り出されるポリシーに少なくとも部分的に基づいて該選択ノードを仮想ディスク画像と関連付ける工程；及び
該分散アプリケーションの少なくとも一部分を該関連付けられる仮想ディスク画像を用いて該再設定ノードで実行する工程；
を行うよう動作可能であることを特徴とするシステム。
【請求項３２】
請求項３１記載のシステムであって：
該アプリケーションは前記複数のノードの部分集合で実行され；
更に、該取り出されるポリシーと該ノード部分集合とを比較する工程；及び
複数の互換ブート画像のうちの１つを該比較に基づいて選択する工程；
を備えることを特徴とするシステム。
【請求項３３】
請求項３２記載のシステムであって、該取り出されるポリシーと該ノード部分集合とを比較するよう動作可能な前記管理ノードが：
該部分集合におけるノード・カウントを判定する工程；及び
該ブート画像を該ポリシーにおけるリンクと該ノード・カウントとに基づいて選択する工程；
を行うよう動作可能な前記管理ノードを備えることを特徴とするシステム。
【請求項３４】
請求項３２記載のシステムであって、該ノード部分集合の各々が：
前記複数の互換ブート画像のうちの１つと関連付けられることを特徴とするシステム。
【請求項３５】
請求項３１記載のシステムであって、該複数のノードのうちの１つを動的に選択するよう動作可能な前記管理ノードが：  
前記複数のノードのうちの１つ又は複数が第２分散アプリケーションによって利用されていないかを判定する工程；及び
前記複数のノードのうちの少なくとも１つが利用されていないことに応じて、該利用されていないノードのうちの１つを選択する工程；
を行うよう動作可能な前記管理ノードを備えることを特徴とするシステム。
【請求項３６】
請求項３５記載のシステムであって、前記複数のノードのうち利用されていないものが何らないことに応じて、更に、該第２分散アプリケーションによって利用されている、前記複数のノードのうちの１つを：
該取り出されるポリシー；
前記選択ノードの低利用率；
前記選択分散アプリケーションの優先度；及び
該選択ノードの該選択分散アプリケーションとの互換性；
のうちの１つ又は複数のものに基づいて選択することを特徴とするシステム。
【請求項３７】
請求項３６記載のシステムであって、前記選択ノードの該ブート画像を再設定するよう動作可能な前記管理ノードが：
該選択ノードを自動的にシャットダウンする工程；
該選択ノードの該ブート画像を再設定する工程；及び
該選択ノードを、該再設定ブート画像を用いて再起動させる工程；
を行うよう動作可能な前記管理ノードを備えることを特徴とするシステム。
【請求項３８】
請求項３７記載のシステムであって、前記管理ノードが更に：
該選択ノードをシャットダウンする前に該第２分散アプリケーションに関連付けられる何れかの処理を終結するよう動作可能であることを特徴とするシステム。
【請求項３９】
請求項３１記載のシステムであって、更に、前記ポリシーが：
ブート画像に対する複数のリンク；
を備え；
該複数のリンクの各々が、該分散アプリケーションと互換のノード・カウントのうちの１つと関連付けられることを特徴とするシステム。
【請求項４０】
請求項３１記載のシステムであって、前記ポリシーが：
前記複数のノードのうちの１つの前記選択のタイミングを判定する１つ又は複数のパラメータ；
を備えることを特徴とするシステム。
【請求項４１】
請求項３１記載のシステムであって、該ブート画像が：
ストレージ・エリア・ネットワーク（ＳＡＮ）において記憶されている遠隔ブート画像；
を備えることを特徴とするシステム。
【請求項４２】
請求項３１記載のシステムであって：
前記選択ノードは、該再設定に先行して第１ブート画像と関連付けられ、該再設定からは第２ブート画像と関連付けられ；
該第１ブート画像と該第２ブート画像が：
オペレーティング・システム；
システム構成；及び
分散アプリケーション・パラメータ；
のうちの少なくとも１つにおいて異なっていることを特徴とするシステム。
【請求項４３】
請求項３１記載のシステムであって、前記管理ノードが更に：
前記複数のノードのうちの１つに障害が起こったということを判定する工程；
を行うよう動作可能であり；
該障害が起こったノードが、該選択分散アプリケーションのうちの少なくとも一部分を実行し；
前記複数のノードのうちの１つを選択するよう動作可能な前記管理ノードが：
該障害に応じて、前記複数のノードのうちの該１つ以外のうちの１つを選択するよう動作可能な前記管理ノード；
を備えることを特徴とするシステム。
【請求項４４】
請求項３１記載のシステムであって、前記複数のノードの各々が：
同様なプロセッサ・アーキテクチャ；
を備えることを特徴とするシステム。
【請求項４５】
請求項３１記載のシステムであって、前記複数のノードのうちの１つを選択するよう動作可能な前記管理ノードが：
該複数のノードのうちの１つを所定の時点で選択するよう動作可能な前記管理ノード；
を備えることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、データ処理の分野に関し、特に、動的ブート画像と仮想化ディスク・アクセスとを用いてコンピュータ・クラスタを仮想化するシステム及び方法に関する。
【背景技術】
【０００２】
通常、企業向アプリケーションは専用の計算資源上で実行される。多くの場合、企業は、生産、検査及び開発などのアプリケーションの種々のインスタンスについての種々の計算環境を含むことになる。これらの複数の計算環境は通常、実際すなわち本番のインスタンスと同様なサイズと容量のものである。更に、非本番環境は、長期にわたって遊休状態である場合が多い。このことによって通常、これらの種々の環境を維持し、管理するうえで大量の計算資源と労務費とが無駄になってしまう。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
現在、企業は、これらの課題を克服しようとするものとしてプロビジョニングを用い得る。一般的に、プロビジョニングは、計算資源を、局所ディスクをリポジトリからこの資源に複製することによって企業向アプリケーションにインスタンス化する処理のことである。この資源はその場合、プロビジョンニングされたオペレーティング・システム及びソフトウェアによって、１０分間を超える時間を通常要する処理を通じてブートされる。
【課題を解決するための手段】
【０００４】
本願の開示は、分散アプリケーションの選択を含む、コンピュータ・クラスタを仮想化するシステム及び方法を備える。分散アプリケーションに関連したポリシーが取り出される。複数のノードのうちの１つが、場合によってはポリシーに基づいて動的に選択される。更に、選択ノードのブート画像が取り出したポリシーに少なくとも一部には基づいて再設定され、ブート画像は分散アプリケーションと互換である。更に、仮想ディスク画像がノードと関連付けられる。分散アプリケーションの少なくとも一部分が更に、関連仮想ディスク画像を用いて再設定ノードで実行される。
【０００５】
本発明はいくつかの重要な技術上の効果を有する。例えば、本発明の１つの考えられる効果には、計算ノードが、実行中に再プロビジョニングされて、分散アプリケーションについての仮想クラスタのメンバになることを可能にし、それによって、プロビジョニング時間を１５秒以下に場合によっては削減するということがある。本願の開示の別の考えられる効果には、情報技術（ＩＴ）のハードウェア費用及び保守費用の少なくとも３０％の削減があり得る。更に、アプリケーションがピーク処理期間にない場合、そのアプリケーションのアイドル・ノードは、別の分散アプリケーションに動的に、再割り当てされるか再プロビジョニングされる場合がある。なお別の考えられる効果には、本願の開示が集中容量計画、性能監視、及び管理の容易化を備えるということがある。更に、本発明は、よりうまくノード障害を管理することを可能にし得る。本発明の種々の実施例は、これらの効果を何ら有しない場合があり、これらの効果の一部又は全部を有する場合もある。本発明の別の技術上の効果は当業者に容易に明らかになる。
【発明を実施するための最良の形態】
【０００６】
本願開示とその効果がより徹底的に分かるよう、次に、下記明細書を添付図面とともに参照する。
【実施例】
【０００７】
図１は、ソフトウェアのアプリケーション１１４及び処理を、動的ブート画像１３１を用いて実行する分散計算システム１００を示す構成図である。一般的に、システム１００は、企業向アプリケーション用か、別の分散アプリケーション用のスケーラブルな分散計算環境である。システム１００は、計算ニーズに基づいて動的に発展することが可能であり、各アプリケーション１１４にそれ自体のスケーラブルな仮想クラスタを備えることによって計算資源を複数のアプリケーション１１４に同時に備えることが可能な、スケーラブルで、フォールト・トレランスを有する計算環境を備える。例えば、システム１００は、１つ又は複数の管理のワークステーション又は局所クライアント１２０にネットワーク１１６によって接続されるサーバ１０２を含み得る。しかし、システム１００は、あるいは、スタンドアロン型計算環境又は何れかの別の適切な環境であり得る。要約すれば、システム１００は、アプリケーション１１４の要求、パラメータ、及び処理のニーズが変わるにつれてノード１０８が、実行中に動的に割り当てられることを自動的に可能にする何れかの計算環境である。本明細書及び特許請求の範囲の原文記載の「ｄｙｎａｍｉｃａｌｌｙ」の語は、一般的に、特定の処理が実行時に１つ又は複数の変数に少なくとも部分的には基づいて判定されるということを表す。本明細書及び特許請求の範囲の原文記載の「ａｕｔｏｍａｔｉｃａｌｌｙ」の語は一般的に、適切な処理がシステム１００の少なくとも部分によって実質的に行われるということを表す。この「ａｕｔｏｍａｔｉｃａｌｌｙ」の語が更に、何れかの適切なユーザ又は管理者による、システム１００との相互作用を、本願の開示の範囲から逸脱することなく想定しているということが分かるものである。
【０００８】
サーバ１０２は、複数のアプリケーション１１４を１つ又は複数のノード１０８にわたって実行するよう動作可能な何れかの、局所コンピュータ又は分散コンピュータを備える。一般的に、サーバ１０２は、ラック搭載サーバ、ブレード・サーバ又は別の分散サーバなどの分散コンピュータを備える。ノード１０８は、例えば、ブレード、汎用パーソナル・コンピュータ（ＰＣ）、マッキントッシュ、ワークステーション、ユニックス（Ｕｎｉｘ）ベースのコンピュータ、又は何れかの別の適切な装置などの何れかのコンピュータ装置又は処理装置を備える。一般的に、図１は、本願の開示とともに用い得るコンピュータ又はブレードの一例に過ぎないものを備える。例えば、図１は本願開示とともに用い得る一ブレード・サーバ１０２を示すが、サーバ１０２は、サーバ以外のコンピュータや、サーバ・プールを用いて実施することが可能である。すなわち、本願の開示は、汎用コンピュータ以外のコンピュータや、通常のオペレーティング・システムなしのコンピュータを想定している。本明細書及び特許請求の範囲の原文において用いているように、「ｃｏｍｐｕｔｅｒ」の語は、パーソナル・コンピュータ、ワークステーション、ネットワーク・コンピュータ、又は何れかの別の適切な処理装置に及ぶことが意図されている。サーバ１０２又はコンポーネント・ノード１０８は、リナックス（Ｌｉｎｕｘ）、ユニックス（Ｕｎｉｘ）、ウィンドウズ（登録商標）・サーバ、又は何れかの別の適切なオペレーティング・システムを含む何れかのオペレーティング・システムを実行するよう形成し得る。一実施例によれば、サーバ１０２は、遠隔ウェブ・サーバを含んでいてもよく、遠隔ウェブ・サーバに通信可能に結合されていてもよい。
【０００９】
図示するサーバ１０２は、複数のノード１０８と通信可能に結合され、動的ブート・エンジン１０５を実行するよう動作可能な管理ノードを含む。しかし、サーバ１０２もノード１０８も図示する構成部分の全部を含むものでない場合があるということが分かる。管理ノード１０４は、サーバ１０２を管理するか、管理者を支援することに実質的に専念している少なくとも１つのブレードすなわち計算装置を備える。例えば、管理ノード１０４は２つのホットスワップ可能なブレードを備える場合があり、（アクティブ構成／パッシブ構成などのように）２つのブレード又はラック搭載サーバのうちの一方が冗長である。
【００１０】
動的ブート・エンジン１０５は、ノード１０８を動的に、割り当て、管理し、ノード１０８の仮想クラスタ（すなわちアプリケーション環境）を用いてアプリケーション１１４を実行するよう動作可能な何れかのハードウェア、ソフトウェア、ファームウェア、又はその組み合わせを含み得る。例えば、動的ブート・エンジン１０５は、Ｃ、Ｃ＋＋、ジャバ（Ｊａｖａ）、ビジュアル・ベーシック（Ｖｉｓｕａｌ  Ｂａｓｉｃ）、アセンブラ、４ＧＬの何れかの適切なバージョン、及びその他の言語又はそれらの何れかの組み合わせにおいて作成すなわち記述される場合がある。動的ブート・エンジン１０５を図１に単一のマルチタスク・モジュールとして示しているが、このエンジンによって行われる特徴と機能は、例えば、物理層モジュール、仮想層モジュール、ジョブ・スケジューラ、及びプレゼンテーション・エンジンなどの、複数のモジュールによって行い得る。更に、動的ブート・エンジン１０５は、本願の開示の範囲から逸脱することなく、別のソフトウェア・モジュールの子モジュールすなわちサブモジュールであり得る。したがって、動的ブート・エンジン１０５は、ノード１０８とアプリケーション１１４とをポリシー１３２に基づいてインテリジェントに管理するよう動作可能な１つ又は複数のソフトウェア・モジュールを備える。
【００１１】
一般的に、動的ブート・エンジン１０５は個々のノード１０８上のアプリケーション環境を開始し、停止することによって１つ又は複数のアプリケーション１１４を管理する。例えば、動的ブート・エンジン１０５は、所望のアプリケーション環境に特有であるかその環境と互換である、ブート画像ファイル１３０とは異なるブート画像１３１によって特定のノード１０８を再設定し得る。すなわち、動的ブート・エンジン１０５は何れかの制御ノード１０８上の何れかの適切なアプリケーション環境を動的にブートすることをサポートする。よって、動的ブート・エンジン１０５は、何れかの制御コンピュータ上のパブリックＩＰインタフェース用のＩＰアドレス又はＭＡＣアドレスを動的に設定することをサポートする。動的ブート・エンジン１０５は更に、何れかのノード１０８を、ネットワーク・ブート・プロトコルを用いてネットワークから直接ブートしても、付属ディスク記憶機構からブートしてもよい。動的ブート・エンジン１０５は、何れかの制御コンピュータ用のオペレーティング・システム、サービス、及びアプリケーションを含む仮想局所ディスク画像に対する高速ネットワーク・アクセスを利用する場合もある。動的ブート・エンジン１０５はアプリケーション環境の起動又はシャットダウンを、カレンダーの日時に基づいて行ってもよく、何れかの別の所定パラメータを用いて行ってもよい。
【００１２】
動的ブート・エンジン１０５は、種々のフォールト・トレランス手法及び回復手法をサポートする場合もある。例えば、ブート・エンジン１０５は、障害が起こったノード１０８を自動的に取替え、障害が起こったノード１０８に対する取替えノード１０８を動的に再ブートすることによって単一ハードウェア構成部分障害からサーバ１０２を自動的に回復させ得る。更に、新たなノード１０８をインストールすることは、自動的に、新たなノード１０８を認識し、何れかの必要な構成、再設定又はブートを行うことを動的ブート・エンジン１０５ができることが理由で容易化させ得る。
【００１３】
ノード１０８は、アプリケーション１１４の（タスク又は処理などの）少なくとも一部分を実行するよう動作可能な何れかのコンピュータ、ブレード又はサーバを備える。図示するノード１０８は、概略を述べれば、メモリ１０９とプロセッサ１１０とを含む。メモリ１０９は、何れかのメモリ・モジュール又はデータベース・モジュールを含み、かつ、磁気媒体、光媒体、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、取り外し可能媒体、又は何れかの別の適切な、局所メモリ構成部分若しくは遠隔メモリ構成部分を、限定なく含む揮発性メモリ若しくは非揮発性メモリの形態を呈し得る。メモリ１０９は、種々の局所情報の何れかを含み得る。ノード１０８はプロセッサ１１０も含む。プロセッサ１１０は、例えば、中央処理装置（ＣＰＵ）又はフィールドでプログラム可能なゲート・アレイ（ＦＰＧＡ）などのサーバ１０２の処理を行うよう、命令を実行し、データを操作する。図１は各ノード１０８において単一のプロセッサ１１０を示すが、特定のニーズによって複数のプロセッサ１１０を用いる場合があり、プロセッサ１１０への言及は、該当する場合、複数のプロセッサ１１０を含むことを表す。プロセッサ１１０は、例えば、電気的に消去可能な、プログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）１１１などのブート画像に向けての何れかのポインタを含み得る。しかし、ノード１０８は、何れかの適切な方法で構成される、何れかの数の構成部分を本願の開示の範囲から逸脱することなく備え得るということが分かるものである。ノード１０８は、局所の一時的なファイル空間及び仮想メモリ・スワップ空間を備える目的で１つ又は複数の局所ハード・ドライブを含む場合もある。
【００１４】
アプリケーション１１４は、例えば、データベース管理システム（ＤＢＭＳ）、財務ソフトウェア他などの何れかの企業向アプリケーション又は分散アプリケーションを備え得る。通常、アプリケーション１１４は、何れかの適切な言語で記述され、何れかのデータ処理を行うよう動作可能なソフトウェアから成る。しかし、通常のアプリケーションでないアプリケーションも本願の開示の範囲内に収まる。アプリケーション１１４は、アプリケーションを実行する環境を論理的に定義するアプリケーション環境すなわち仮想クラスタにおいて実行し得る。一実施例では、アプリケーション環境は、ｉ）アプリケーション環境の名称と記述；ｉｉ）ノード１０８の最小数／最大数；ｉｉｉ）オペレーティング・システム・ソフトウェアのバージョンやアプリケーション１１４・ソフトウェアのバージョンなどのソフトウェア構成情報；及びｉｖ）ブート画像、ホスト名並びにＩＰアドレス、ノード１０８のブート後に適用されるカスタム構成、仮想局所ディスク画像、局所ファイル・システム、搭載対象のファイル・システム、及びネットワーク構成などの、各ノード１０８のハードウェア構成；を備える。しかし、何れかの適切なパラメータ、変数、又は特性を用いて、動的ブート・エンジン１０５がアプリケーション環境を定義し、位置特定し、処理するのを支援するのに用い得るということが分かるものである。例えば、アプリケーション環境は、アプリケーション１１４の起動、シャットダウン、及び状態監視に関する情報を含む場合もある。
【００１５】
サーバ１０２は、クライアント・サーバ環境又は別の分散環境においてネットワーク１１６を介してクライアント１２０などの別のコンピュータ・システムと通信するインタフェース１１５を含み得る。特定の実施例では、サーバ１０２はブート画像１３１、仮想局所ディスク画像１３４、ポリシー１３２、又はアプリケーション・データ１４０をネットワーク１１６から受信して、高速インタフェース１１５を介して記憶させるか処理する。一般的には、インタフェース１１５は、適切な組み合わせにおける、ネットワーク１１６と通信するよう動作可能な、ソフトウェア及び／又はハードウェアにコード化される論理を備える。特に、インタフェース１１５は、物理的信号を通信するよう動作可能な通信ネットワーク１１６又はハードウェアに関連した１つ又は複数の通信プロトコルをサポートするソフトウェアを備え得る。
【００１６】
ネットワーク１１６は、コンピュータ・サーバ１０２と、クライアント１２０などの何れかの別のコンピュータとの間の無線通信又は有線通信を容易にする。実際に、サーバ１０２とクライアント１２０との間に存在するものとして図示しているが、ネットワーク１１６は、本願の開示の範囲から逸脱することなく、種々のノード１０８間に存在する場合もある。すなわち、ネットワーク１１６は、種々の計算構成部分間での通信を容易にするよう動作可能な何れかのネットワーク又はサブネットワークに及ぶ。ネットワーク１１６は、例えば、インターネット・プロトコル（ＩＰ）パケット、フレーム・リレイ・フレーム、非同期転送モード（ＡＴＭ）・セル、音声、データ、及び別の適切な情報をネットワーク・アドレス間で通信し得る。ネットワーク１１６は、何れかの別の適切な通信プロトコル、例えば、インフィニバンド（ＩｎｆｉｎｉＢａｎｄ）（ＩＢ）、ギガビット（Ｇｉｇａｂｉｔ）・イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）（ＧＥ）、又はファイバチャネル（ＦｉｂｒｅＣｈａｎｎｅｌ）（ＦＣ）によってデータ・パケットを処理し、ルーティングする場合もある。データ・パケットは通常、アプリケーション・データ１４０内のデータを伝送するのに用いられる。データ・パケットは、発信元識別子と宛て先識別子とを有するヘッダを含み得る。発信元識別子、例えば、発信元アドレスは情報の発信元を識別し、宛て先識別子、例えば宛て先アドレスは情報の受信先を識別する。ネットワーク１１６は、１つ又は複数の場所での、１つ又は複数の、ローカル・エリア・ネットワーク（ＬＡＮ）、無線アクセス・ネットワーク（ＲＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネットとして知られるグローバル・コンピュータ・ネットワークの全部若しくは一部、及び／又はいずれかの別の通信システムを含み得る。
【００１７】
ブート・テーブル１３０は、複数のブート画像１３１を含む何れかのディスク・ファーム又はネットワーク・ファイル・システムである。遠隔のものとして示しているが、ブート画像１３１は、動的ブート・エンジン１０５によって予めブートされて初期化とインストールとを単純にする場合がある。ブート画像１３１は、ブート・ドライブの１次オペレーティング・システム・パーティションの少なくとも一部分に対する何れかのフォーム、画像、ポインタ、又は参照である。ブート画像１３１は通常、２進形式である。ブート画像の種類には、ファイルからのカーネル画像、ブロック装置又はフロッピー（登録商標）・ディスクからのカーネル画像、又は何れかのオペレーティング・システムのブート・セクタが含まれる。例えば、リナックスのブート画像は次のように見える場合がある。
【００１８】
０ｘ１Ｂ０３１３３６，    
０ｘ４，                
０ｘ９０００００００，        
０ｘ９００００２００，    
０ｘ４，              
０ｘ９０２００，              
０ｘ８００，            
０ｘ８００，
０ｘ４，              
０ｘ１００００，          
０ｘ８００００，          
０ｘ８００００，
０ｘ０４０００００４，    
０ｘ１０００００，        
０ｘ８００００，        
０ｘ８００００。
上記のブート画像１３１の例は、図示する目的のためのものに過ぎず、図示する構成要素や図示していない別の構成要素を何ら含まない場合もあり、図示する構成要素や図示していない別の構成要素の一部又は全部を含む場合もある。更に、ブート画像１３１は、本願の開示の範囲から逸脱することなく、上記の例とは別のレイアウト又は形式にある場合がある。
【００１９】
ポリシー・テーブル１３２は、ノード１０８とアプリケーション１１４とを管理する何れかのパラメータを含む。例えば、ポリシー１３２は、ノード１０８を自動的に、アプリケーション環境に追加するかアプリケーション環境から減らすためのものであり得る。代替又は組合せとして、ポリシー１３２をサーバ１０２によって用いて、競合するアプリケーション１１４間での課題を解決する場合がある。一般的に、ポリシー・テーブル１３２は、ＳＱＬステートメント又はＳＱＬスクリプトによって記述されるリレーショナル・データベースに記憶されている１つ又は複数のテーブルを備え得る。別の実施例では、ポリシー・テーブル１３２は、種々のデータ構造をＸＭＬ文書、仮想記憶アクセス方法（ＶＳＡＭ）ファイル、フラット・ファイル、ビートリーブ（Ｂｔｒｉｅｖｅ）・ファイル、又はコンマで区切られた値（ＣＳＶ）ファイルによって記憶させてもよく、定義してもよい。ポリシー・テーブル１３２は、１つのコンピュータ上に記憶されているか、複数のコンピュータにわたって記憶されている複数のテーブル又はファイルを備える場合もある。更に、ポリシー・テーブル１３２は、本願の開示の範囲から逸脱することなく、局所であっても遠隔であってもよく、何れかの種類の適切なデータを記憶する。例えば、ポリシー・テーブル１３２は：ｉ）アプリケーション環境に割り当てられるノード１０８の最小数／最大数；ｉｉ）アプリケーションに割り当てられるサーバのデフォールト数；ｉｉｉ）ノード１０８をアプリケーション環境に動的に追加する条件；ｉｖ）ノード１０８をアプリケーション環境から動的に取り除く条件；ｖ）（ネットワーク・アクセスを切断するなど）ノード１０８を取り除くが、問題の調査に任せる条件；及びｖｉ）アプリケーション１１４がトランザクション又は処理を実行中であるためにノード１０８を取り除かないこととする条件；を含む個々の仮想クラスタ・ポリシーを記憶し得る。
【００２０】
別の例では、ポリシー・テーブル１３２は、優先度ポリシー、資源共有ポリシー、及び横取りポリシーなどの何れかの数の仮想クラスタ間ポリシーを含み得る。優先度は通常、ポリシー競合が存在する場合にどのアプリケーションが資源を取得するかを判定する。例えば、特定のアプリケーション環境の優先度がより高い場合、ノード１０８に対する優先度付きアクセスを取得し得る。資源共有は多くの場合、アプリケーション環境の、規定されているエンタイトルメントに基づくものである。例えば、各アプリケーション環境には、ノード１０８の一部にエンタイトルメントが付与される。資源共有は時間軸上で自由に移動できる時間ウィンドウにわたるコンピュータ利用度に基づく場合もある。横取りポリシーによって、高優先度アプリケーション環境が低優先度アプリケーション環境に代わってノード１０８を支配することを可能にし得る。
【００２１】
仮想局所ディスク画像テーブル１３３は、複数の仮想局所ディスク画像１３４を含む何れかのディスク・ファーム又はネットワーク・ファイル・システムである。遠隔のものとして図示しているが、仮想局所ディスク画像１３４にオペレーティング・システムとアプリケーション・ソフトウェアとを予めロードして初期化とインストールとを単純にする場合がある。仮想局所ディスク画像１３４は、アプリケーション毎の各仮想ノードの局所ディスク記憶機構に対する何れかのフォーム、画像、ポインタ、又は参照である。仮想局所ディスク画像１３４は通常、各アプリケーションの仮想ノードの、オペレーティング・システム、構成サービス及びインストールされているアプリケーションを含むものである。各仮想局所ディスク画像１３４は、複数ノード間での共有については読み取り専用であり得る複数のファイル・システム又は、通常、アプリケーション・ノードに特有の修正可能ファイル・システムを含み得る。仮想局所ディスク画像１３４は、伝統的なファイル・システム内の階層ディレクトリに記憶させてもよく、アプリケーション・ノードに備えられるネットワーク・ファイル・システム・インタフェースを備えている回復可能なデータベースに記憶させてもよい。
【００２２】
一般的に、アプリケーション・データ１４０は、アプリケーション１１４についてのデータを記憶させる、何れかのメモリ、データベース、ストレージ・エリア・ネットワーク（ＳＡＮ）、又はネットワーク付属ストレージ（ＮＡＳ）である。アプリケーション・データ１４０は、ＳＱＬステートメント又はＳＱＬスクリプトによって記述されるリレーショナル・データベースにおいて記憶される１つ又は複数のテーブルを備え得る。別の実施例では、アプリケーション・データ１４０は、種々のデータ構造をＸＭＬ文書、ＶＳＡＭファイル、フラット・ファイル、ビートリーブ・ファイル又はＣＳＶファイルとして記憶させるか定義する場合がある。アプリケーション・データ１４０は、１つのコンピュータ上に記憶されているか複数のコンピュータにわたって記憶されている複数のテーブル又はファイルを備える場合もある。更に、アプリケーション・データ１４０は、本願の開示の範囲から逸脱することなく、局所のもの又は遠隔のものであり得る。
【００２３】
クライアント１２０は、アドミニストレーション画面がユーザにグラフィカル・ユーザ・インタフェース（ＧＵＩ）１２２を介して提示されるよう動作可能な何れかの装置である。概略を述べれば、図示するクライアント１２０は、少なくともＧＵＩ１２２を含み、システム１００に関連した何れかの適切なデータを受信し、送信し、処理し、記憶するよう動作可能な電子計算機装置を備える。通信可能にサーバ１０２に結合される何れかの数のクライアント１２０が存在する場合があるということが分かるものである。更に、「ｃｌｉｅｎｔ  １２０」及び「ｕｓｅｒ  ｏｆ  ｃｌｉｅｎｔ  １２０」は、本願の開示の範囲から逸脱することなく、適宜、同義で用い得る。更に、図示を容易にするよう、各クライアントは１つのユーザによって用いられるという点で表している。しかし、多くのユーザが１つのコンピュータを用いて、同じＧＵＩ１２２を用いてコマンドを通信するか、グラフィカル・プレゼンテーションを視る場合があるということを本願の開示は想定している。
【００２４】
本願の開示に記載のように、クライアント１２０は、パーソナル・コンピュータ、タッチ画面端末、ワークステーション、ネットワーク・コンピュータ、キオスク、無線データ・ポート、携帯電話、携帯情報端末（ＰＤＡ）、これら若しくは別の装置の内部の１つか複数のプロセッサ、又は何れかの別の適切な処理装置に及ぶことが意図されている。例えば、クライアント１２０は、情報を受け入れることが可能な、キーパッド、タッチ画面、マウス、又は別の装置などの入力装置、ディジタル・データ、視覚情報を含む、サーバ１０２若しくはクライアント１２０の処理に関連した情報を伝える出力装置、又はＧＵＩ１２２を含むコンピュータを備え得る。入力装置も出力装置も、磁気コンピュータ・ディスクなどの固定記憶媒体又は取り外し可能記憶媒体、ＣＤ−ＲＯＭ、又は別の適切な媒体を含んで、アドミニストレーション・ディスプレイ及びジョブ投入ディスプレイ、すなわちＧＵＩ１２２を介してクライアント１２０のユーザからの入力を受信し、出力をそのユーザに備え得る。
【００２５】
ＧＵＩ１２２は、アプリケーション１１４の性能又はシステム性能を監視する目的か、仮想クラスタを修正する目的か、又は何れかの適切な監視目的でシステム１００とのインタフェースをシステム管理者（又はネットワーク管理者）がとることを可能にするよう動作可能なグラフィカル・ユーザ・インタフェースを備える。一般的に、ＧＵＩ１２２は、システム１００によって備えられるデータの効率的でかつユーザ・フレンドリな提示をクライアント１２０のユーザに備える。ＧＵＩ１２２は、ユーザによって操作される双方向フィールド、プルダウン・リスト、及びボタンを有する複数のカスタム化可能なフレームすなわち表示を備え得る。一実施例では、ＧＵＩ１２２は、アプリケーション環境又はポリシー画面の種々のグラフィカル表示を提示し、入力装置のうちの１つを介してクライアント１２０のユーザからコマンドを受信するディスプレイを提示する。これらのグラフィカル表示は：ｉ）アプリケーション環境、ノード資源及び監視負荷の現在の状態のグラフィカル表現；ｉｉ）アプリケーション環境、ノード資源及び利用度の経時的なグラフィカル表現；ｉｉｉ）ウィザード；及びｉｖ）どのアプリケーション１１４が各アプリケーション環境において実行中であり、各ノード１０８上で実行中であるかの表示；を含み得る。要約すれば、ＧＵＩ１２２は、ノード１０８の何れかの、物理的な状態若しくは特性、又は論理的な状態若しくは特性をシステム管理者に提示し、種々のコマンドを管理者から受信する場合がある。
【００２６】
一実施例では、ＧＵＩ１２２は、管理者がアプリケーション環境を作成し、削除し、複製し、修正することを可能にし得る。管理者は、アプリケーション環境を共有するポリシーを設定し、アプリケーション環境の起動と起動解除とを行い、ＧＵＩ１２２を用いてアプリケーション環境とノード１０８との状態と負荷とを監視する。更に、ＧＵＩ１２２は、ノード１０８を実行中のアプリケーション環境から増減させることを可能にし得る。ＧＵＩ１２２は、例えば、構成可能負荷レベルにノード１０８上かアプリケーション環境内で到達したこと、ノード１０８が利用不能になったこと、アプリケーション環境が開始されたか停止されたこと、ノード１０８がアプリケーション環境から増減されたこと、サーバ１０２が最小のアプリケーション環境要件を満たすことができなかったこと、又は（トランザクション応答時間などの）サービス要件のレベルを上回ったことなどの種々のシステム１００の特性に基づいて管理者に警告を提示する場合もある。
【００２７】
グラフィカル・ユーザ・インタフェース（ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）の語を単数形か複数形で用いて、１つ又は複数のグラフィカル・ユーザ・インタフェースと、特定のグラフィカル・ユーザ・インタフェースの表示の各々を表し得るということが分かるものである。したがって、ＧＵＩ１２２は、情報をシステム１００において処理し、結果をユーザに効率的に提示する、一般的なウェブ・ブラウザなどの何れかのグラフィカル・ユーザ・インタフェースを想定している。ＧＵＩ１２２は、ＳＳＬ−ＨＴＴＰＳを介して通信するよう動作可能な、セキュアなブラウザも想定している。サーバ１０２は、クライアント１２０からのデータをウェブ・ブラウザ（例えば、マイクロソフト（Ｍｉｃｒｏｓｏｆｔ）社のインターネット・エクスプローラ（Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）又はネットスケープ（Ｎｅｔｓｃａｐｅ）社のナビゲータ（Ｎａｖｉｇａｔｏｒ））を介して受け入れ、適切なＨＴＭＬ応答又はＸＭＬ応答を、ネットワーク１０６を用いて戻すことが可能である。
【００２８】
処理の一特徴では、動的ブート・エンジン１０５は分散アプリケーション１１４を選択する。１つ又は複数の関連ポリシー１３２に基づいて、動的ブート・エンジン１０５は、１つ又は複数の選択ノード１０８を特定のアプリケーション環境又は仮想クラスタに増減させ得る。取り出したポリシー１３２に基づいて、動的ブート・エンジン１０５は選択ノード１０８に適切なブート画像１３２を選択する。例えば、アプリケーション１１４の部分を実行する４つのノード１０８が既に存在する場合、アプリケーション１１４に互換の（ノードの１０８のハードウェアと、別の特性と１つ又は複数のポリシー１３２とに少なくとも部分的に基づいて）第５のブート画像１３２を自動的に選択する。取り出したポリシー１３２に基づいて、動的ブート・エンジン１０５は、選択ノード１０８に適切な仮想局所ディスク画像１３４を選択する場合もある。適切なブート画像１３２及び／又は仮想局所ディスク画像１３４が選択されると、動的ブート・エンジン１０５はノード１０８を、選択される、ブート画像１３２及び仮想局所ディスク画像１３４に向けたポインタ又は別の参照によって明滅させ、ノード１０８を再ブートする。（通常１５秒間未満で）ノード１０８が初期化されると、動的ブート・エンジン１０５（又は特定の別のジョブ・スケジューラ）が選択ノード１０８のアプリケーション１０４の適切なタスク、処理又は別の部分を実行する。
【００２９】
図２は、本願の開示の一実施例において、ノード１０８を動的に再ブートする方法２００の例を示す流れ図である。図２は、仮想クラスタ又はアプリケーション環境に対して複数のノード１０８のうちの１つを動的に割り当てることを概括的に表している。当然、本願の開示の範囲内で、何れかの数のノード１０８の再設定、再ブート、又は別の方法での割り当てを連続して行うか同時に行う場合がある。概略を述べれば、方法２００は、アプリケーション１１４の環境へ割り当てるようノード１０８を選択する工程、選択ノード１０８のブート画像１３２を再設定する工程、及びノード１０８を再ブートする工程を含む。以下の説明は、方法２００を行ううえでの動的ブート・エンジン１０５の処理に焦点を当てる。しかし、システム１００は、記載機能の一部又は全部を実施する論理構成要素の何れかの適切な組み合わせと配置とを用いることを想定している。
【００３０】
方法２００は工程２０５から始まり、動的ブート・エンジン１０５は、ソフトウェア・アプリケーション１１４のノード１０８を増加させることとするということを判定する。この判定は、何れかの適切な手法を用いて行い得る。例えば、管理者は、アプリケーション１１４のアプリケーション環境にノード１０８を手作業で追加し得る。別の例では、動的ブート・エンジン１０５は、ポリシー１３２に基づいてノード１０８を用いる場合があるか用いることとするということを動的に判定し得る。次に、工程２１０で、何れかの、利用されていない計算ノード１０８で利用可能なものが存在するかを判定する。利用可能なノード１０８が更に多く存在する場合、動的ブート・エンジン１０５は、工程２１５で、何れかの適切な手法を用いて最初に利用可能な計算ノード１０８を選択する。例えば、動的ブート・エンジン１０５は、物理位置、仮想位置、アプリケーション１１４の互換性、プロセッサ速度、又は何れかの別の適切な特性に基づいてノード１０８を選択し得る。判定工程２２０では、動的ブート・エンジン１０５は、選択ノードがアプリケーション１１４と互換であるかを判定する。ノード１０８がアプリケーション１１４と互換でない場合、動的ブート・エンジン１０５は工程２２５で何れかの適切な手法を用いて選択ノードを停止する。次に、動的ブート・エンジン１０５は工程２３０でソフトウェア・アプリケーション１１４に基づいてポリシー１３２を動的に選択する。例えば、動的ブート・エンジン１０５は、３つのノード１０８がソフトウェア・アプリケーション１１４を現在実行しているということを判定し得る。この判定に基づいて、動的ブート・エンジン１０５は、ポリシー１３２において第４論理ノード１０８を位置特定する。選択ポリシー１３２に基づいて、工程２３５で、動的ブート・エンジン１０５は、新たなブート画像１３１に向けたポインタによって選択ノードを明滅させて、工程２３７で仮想局所ディスク画像１３４を関連付ける。上記のように、動的ブート・エンジン１０５は、ＥＥＰＲＯＭ１１１又は何れかの別の適切な構成部分を明滅させ得る。次に、動的ブート・エンジン１０５は、工程２４０で、新たなブート画像１３１を用いて選択ノード１０８をブートする。ノード１０８が再ブートされる場合（か、ノードがアプリケーション１１４と既に互換であった場合）、動的ブート・エンジン１０５は工程２４５で、選択ノード１０８のアプリケーション１１４を実行し、方法２００は終了する。
【００３１】
判定工程２１０に戻れば、利用可能な計算ノード１０８が何ら存在しない場合には、工程２５０で、動的ブート・エンジン１０５は、アプリケーション１１４に利用される最適なノード１０８を選択する。この最適ノード１０８の選択は、例えば、最も利用されていないノード１０８を判定する工程、互換ノード１０８を選択する工程、又は特定の別の「最善のフィット」を判定する工程などの何れかの適切な方法で行い得る。工程２５５では、動的ブート・エンジン１０５が、選択ノード１０８の工程２４５での現行処理を強制終了する。動的ブート・エンジン１０５は、アプリケーション特有コマンドを実行する工程、オペレーティング・システムを用いて処理を強制終了する工程他などの何れかの適切な手法を用いて処理を終結し得る。判定工程２６０では、動的ブート・エンジン１０５は、選択ノード１０８がアプリケーション１１４と互換であるかが判定される。ノード１０８がアプリケーション１１４と互換でない場合、動的ブート・エンジン１０５は工程２６５で、何れかの適切な手法を用いて選択ノードを停止する。次に、動的ブート・エンジン１０５は、工程２７０で、ソフトウェア・アプリケーション１１４に基づいてポリシー１３２を動的に選択する。例えば、動的ブート・エンジン１０５は、３つのノード１０８がソフトウェア・アプリケーション１１４を現在実行しているということを判定し得る。この判定に基づいて、動的ブート・エンジン１０５は、ポリシー１３２において第４の論理ノード１０８を位置特定する。選択ポリシー１３２に基づいて、動的ブート・エンジン１０５は工程２７５で、新たなブート画像１３１に向けたポインタによって選択ノードを明滅させ、工程２７７で、仮想局所ディスク画像１３４を関連付ける。上記のように、資源管理エンジンは、ＥＥＰＲＯＭ１１１又は何れかの別の適切な構成部分を明滅させ得る。次に、動的ブート・エンジン１０５は、工程２８０で、新たなブート画像１３１と仮想局所ディスク画像１３４とを用いて選択ノード１０８をブートする。ノード１０８が再ブートされた場合（か、ノードがアプリケーション１１４と既に互換であった場合）、動的ブート・エンジン１０５は工程２８５で選択ノード１０８のアプリケーション１１４を実行し、方法２００は終了する。
【００３２】
上記流れ図と、付随する説明は、例示的方法２００のみを示す。システム１００は、これらやその他のタスクを行うのに適切な何れかの手法を用いることを想定している。よって、この流れ図における工程の多くは、表しているものと同時に行われる場合及び／又は表しているものとは異なる順序で行われる場合がある。更に、システム１００は、当該方法が適切の状態のままである限り、工程を追加して方法を用いるか、工程を少なくして方法を用いる場合、及び／又は別の工程を備えている方法を用いる場合がある。
【００３３】
本願の開示は、特定の実施例と、概括的に関連している方法とによって表したが、これらの実施例と方法との改変と置換が当業者に明らかとなる。よって、例示的実施例の上記記載は本願の開示を規定するものでも制約するものでもない。別の変更、置換及び改変も、本願の開示の趣旨及び範囲から逸脱することなく考えられる。
【図面の簡単な説明】
【００３４】
【図１】本願の開示の一実施例による、動的にブートする分散システムの例を示す図である。
【図２】本願の開示の一実施例における、ノードを動的に再ブートする方法の例を示す図である。
【符号の説明】
【００３５】
１００  システム
１０２  サーバ
１０４  管理ノード
１０５  動的ブート・エンジン
１０８  ノード
１０９  メモリ
１１０  プロセッサ
１１１  ＥＥＰＲＯＭ
１１４ａ  アプリケーション
１１４ｂ  アプリケーション
１１５  インタフェース
１１６  ネットワーク
１２０  クライアント
１２２  ＧＵＩ
１３０  ブート画像ファイル
１３１  ブート画像
１３２  ポリシー
１３３  仮想局所ディスク画像テーブル
１３４  仮想局所ディスク画像
１４０  アプリケーション・データ
２００  方法
２０５  工程
２１０  判定工程
２１５  工程
２２０  判定工程
２２５  工程
２３０  工程
２３５  工程
２３７  工程
２４０  工程
２４５  工程
２５０  工程
２５５  工程
２６０  判定工程
２６５  工程
２７０  工程
２７５  工程
２７７  工程
２８０  工程
【図１】
2005302039.tif 000003
【図２】
2005302039.tif 000004
【外国語明細書】
2005302039.tif 000005
2005302039.tif 000006
2005302039.tif 000007
2005302039.tif 000008
2005302039.tif 000009
2005302039.tif 000010
2005302039.tif 000011
2005302039.tif 000012
2005302039.tif 000013
2005302039.tif 000014
2005302039.tif 000015
2005302039.tif 000016
2005302039.tif 000017
2005302039.tif 000018
2005302039.tif 000019
2005302039.tif 000020
2005302039.tif 000021
2005302039.tif 000022
2005302039.tif 000023
2005302039.tif 000024
2005302039.tif 000025
2005302039.tif 000026
2005302039.tif 000027
2005302039.tif 000028
2005302039.tif 000029
2005302039.tif 000030
2005302039.tif 000031
2005302039.tif 000032
2005302039.tif 000033
2005302039.tif 000034
2005302039.tif 000035
2005302039.tif 000036
2005302039.tif 000037
【図１】
2005302039.tif 000038
【図２】
2005302039.tif 000039