(57)【要約】      （修正有）【課題】故障が生じた場合に仮想環境におけるダウンタイムを減らすことが可能なプロセス制御システムおよび方法を提供する。【解決手段】第１の仮想マシンおよび第１のサーバを含む第１のクラスタと、第２の仮想マシンおよび第２のサーバを含む第２のクラスタにおいて、第１のクラスタの第１のデータストアに第１の仮想マシンからの第１のデータを記憶し、第２のクラスタの第２のデータストアに第１のデータの複製を記憶し、第２のデータストアに第２の仮想マシンからの第２のデータを記憶し、第１のデータストアに第２のデータの複製し、第１のクラスタの故障を識別すると、故障に応答して、第２のサーバと第２のデータストアにおける第１のデータの複製とを使用して第１の仮想マシンを再開する。【選択図】図１９
2015069655.tif 000002
【特許請求の範囲】
【請求項１】
第１の仮想マシンおよび第１のサーバを備える第１のクラスタを動作させることと、
第２の仮想マシンおよび第２のサーバを備える第２のクラスタを動作させることと、
前記第１のクラスタの第１のデータストアに前記第１の仮想マシンからの第１のデータを記憶することと、前記第２のクラスタの第２のデータストアに前記第１のデータの複製を記憶することと、
前記第２のデータストアに前記第２の仮想マシンからの第２のデータを記憶することと、前記第１のデータストアに前記第２のデータの複製を記憶することと、
前記第１のクラスタの故障を識別することと、
前記故障に応答して、前記第２のサーバと前記第２のデータストアにおける前記第１のデータの前記複製とを使用して前記第１の仮想マシンを再開することと、を含む、方法。
【請求項２】
前記第１のデータを記憶することは、データが揮発性メモリ内に保持される時間を減らすために通常動作モードの間に、前記第１のデータストアのキャッシュを回避することと、前記第１のデータストアのディスクに直接的に書き込むことと、を含む、請求項１に記載の方法。
【請求項３】
前記第１のデータを記憶することは、構成動作モードの間に前記第１のデータストアのキャッシュに書き込むことを含む、請求項１に記載の方法。
【請求項４】
前記第２のサーバを使用して前記第１の仮想マシンを再開することは、ダウンタイムを減らす、請求項１に記載の方法。
【請求項５】
前記第１のデータストアに前記第１の仮想マシンからの前記第１のデータを記憶することと、前記第２のデータストアに前記第１のデータの前記複製を記憶することとは、並行して前記第１および第２のデータストアに前記第１のデータを記憶することを含む、請求項１に記載の方法。
【請求項６】
前記第１のデータストアに前記第１の仮想マシンからの前記第１のデータを記憶することと、前記第２のデータストアに前記第１のデータの前記複製を記憶することとは、ファイルレベル一貫性を使用する一貫した手法で前記第１および第２のデータストアに前記第１のデータを記憶することを含む、請求項１に記載の方法。
【請求項７】
前記第１の仮想マシンが前記第２のサーバを使用して再開される場合に警報を生成することを更に含む、請求項１に記載の方法。
【請求項８】
前記第１のクラスタの前記故障が解消された後に、前記第２のサーバを使用して前記第１の仮想マシンを動作させることから前記第１のサーバを使用して前記第１の仮想マシンを動作させることまで実質的にライブのマイグレーションを行うことを更に含む、請求項１に記載の方法。
【請求項９】
前記第２のサーバと前記第２のデータストアにおける前記第１のデータの前記複製とを使用して前記第１の仮想マシンを再開することは、前記第２のサーバと前記第２のデータストアにおける前記第１のデータの前記複製とを使用して前記第１の仮想マシンを自動的に再開することを含む、請求項１に記載の方法。
【請求項１０】
前記第１のクラスタは、前記第２のクラスタの冗長なものである、請求項１に記載の方法。
【請求項１１】
前記第２のクラスタを自動的に更新することを更に含む、請求項１に記載の方法。
【請求項１２】
第１の仮想マシンおよび第１のサーバを備える第１のクラスタを動作させるために第１のモードを選択することと、
前記第１の仮想マシンからの第１のデータを記憶するために第１のデータストアのキャッシュに書き込むことを含む前記第１のモードで前記第１のクラスタを動作させることと、
前記第１のクラスタを動作させるために第２のモードを選択することと、
前記第１の仮想マシンからの第１のデータを記憶するために、前記キャッシュを回避することと、前記第１のデータストアのディスクに直接的に書き込むことと、を含む前記第２のモードで前記第１のクラスタを動作させることと、を含む、方法。
【請求項１３】
前記第１のモードは構成モードを含み、前記第２のモードは回復力のあるモードを含む、請求項１２に記載の方法。
【請求項１４】
第２の仮想マシンおよび第２のサーバを備える第２のクラスタを動作させるために第３のモードを選択することと、
前記第２の仮想マシンからの第２のデータを記憶するために第２のデータストアのキャッシュに書き込むことを含む前記第３のモードで前記第２のクラスタを動作させることと、
前記第２のクラスタを動作させる第４のモードを選択することと、
前記第２の仮想マシンからの第２のデータを記憶するために、前記キャッシュを回避することと、前記第２のデータストアのディスクに直接的に書き込むことと、を含む前記第４のモードで前記第２のクラスタを動作させることと、を更に含む、請求項１２に記載の方法。
【請求項１５】
前記第２のモードで前記第１のクラスタを動作させることは、前記第２のクラスタの前記第２のデータストアに前記第１のデータの複製を記憶することを更に含み、前記第２のクラスタを動作させることは、前記第１のデータストアに前記第２のデータの複製を記憶することを含む、請求項１４に記載の方法。
【請求項１６】
前記第１のクラスタの故障を識別することと、前記第２のサーバと前記第２のデータストアにおける前記第１のデータの前記複製とを使用して前記第１の仮想マシンを再開することと、を更に含む、請求項１５に記載の方法。
【請求項１７】
前記第１の仮想マシンが前記第２のサーバを使用して再開される場合に警報を生成することを更に含む、請求項１６に記載の方法。
【請求項１８】
前記第１のクラスタの前記故障が解消された後に、前記第２のサーバを使用して前記第１の仮想マシンを動作させることから前記第１のサーバを使用して前記第１の仮想マシンを動作させることまで実質的にライブのマイグレーションを行うことを更に含む、請求項１６に記載の方法。
【請求項１９】
前記第１のデータストアに前記第１の仮想マシンからの前記第１のデータを記憶することと、前記第２のデータストアに前記第１のデータの前記複製を記憶することとは、並行して前記第１および第２のデータストアに前記第１のデータを記憶することを含む、請求項１５に記載の方法。
【請求項２０】
前記第１のデータストアに前記第１の仮想マシンからの前記第１のデータを記憶することと、前記第２のデータストアに前記第１のデータの前記複製を記憶することとは、ファイルレベル一貫性を使用する一貫した手法で前記第１および第２のデータストアに前記第１のデータを記憶することを含む、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この特許は、２０１３年９月２７日に出願された米国仮特許出願第６１／８８３，７４８号に優先権を主張するものであり、その出願は、それの全体が参照によって本明細書においてここに組み込まれる。
【背景技術】
【０００２】
典型的な制御システムは、多くのワークステーション、サーバ、コントローラおよび入出力サブシステムのネットワークを含む。開発、試験、訓練およびオンライン生産に必要とされる複数のシステムのセットアップや保守は、高価であるとともに時間のかかるものであり得る。
【発明の概要】
【０００３】
方法例は、第１の仮想マシンおよび第１のサーバを含む第１のクラスタを動作させることと、第２の仮想マシンおよび第２のサーバを含む第２のクラスタを動作させることと、を含む。方法はまた、第１のクラスタの第１のデータストアに第１の仮想マシンからの第１のデータを記憶することと、第２のクラスタの第２のデータストアに第１のデータの複製を記憶することと、を含む。方法はまた、第２のデータストアに第２の仮想マシンからの第２のデータを記憶することと、第１のデータストアに第２のデータの複製を記憶することと、を含む。方法は、第１のクラスタの故障を識別することと、故障に応答して、第２のサーバと第２のデータストアにおける第１のデータの複製とを使用して第１の仮想マシンを再開することと、を含む。
【０００４】
別の方法例は、第１の仮想マシンおよび第１のサーバを含む第１のクラスタを動作させるために第１のモードを選択することと、第１の仮想マシンからの第１のデータを記憶するために第１のデータストアのキャッシュに書き込むことを含む第１のモードで第１のクラスタを動作させることと、を含む。方法は、第１のクラスタを動作させるために第２のモードを選択することと、第１の仮想マシンからの第１のデータを記憶するためにキャッシュを回避することおよび第１のデータストアのディスクに直接的に書き込むことを含む第２のモードで第１のクラスタを動作させることと、を含む。
【図面の簡単な説明】
【０００５】
【図１】本明細書において開示された例を実施するために使用され得るプロセス制御システム例を例示する。
【図２】本明細書において開示された例を実施するために使用され得る別のプロセス制御システム例を例示する。
【図３】本明細書において開示された例を実施するために使用され得る別のプロセス制御システム例を例示する。
【図４】この開示の教示に従ってライブマイグレーションの間に使用され得るユーザインターフェース例を例示する。
【図５】図１のプロセス制御システムまたは図２および図３のプロセス制御システムを実施するために使用され得るユーザインターフェース例を描写する。
【図６】図１のプロセス制御システムまたは図２および図３のプロセス制御システムを実施するために使用され得るユーザインターフェース例を描写する。
【図７】図１のプロセス制御システムまたは図２および図３のプロセス制御システムを実施するために使用され得るユーザインターフェース例を描写する。
【図８】図３のプロセス制御システムまたは図１および図２のプロセス制御システムを実施するために使用され得るユーザインターフェース例を描写する。
【図９】図３のプロセス制御システムまたは図１および図２のプロセス制御システムを実施するために使用され得るユーザインターフェース例を描写する。
【図１０】図３のプロセス制御システムまたは図１および図２のプロセス制御システムを実施するために使用され得るユーザインターフェース例を描写する。
【図１１】図３のプロセス制御システムまたは図１および図２のプロセス制御システムを実施するために使用され得るユーザインターフェース例を描写する。
【図１２】本明細書において開示された制御システム例の性能試験および／または診断を図示するユーザインターフェース例を描写する。
【図１３】本明細書において開示された制御システム例の診断結果を図示するユーザインターフェース例を描写する。
【図１４】この開示の教示に従って仮想マシンの複製トラフィックを図示するユーザインターフェース例を描写する。
【図１５】本明細書において開示された例を実施するために使用され得るユーザインターフェース例を描写する。
【図１６】この開示の教示に従ってキャッシュをスルーしてディスクに直接的に書き込むことを例示する。
【図１７】この開示の教示に従ってメモリに書き込むことを例示する。
【図１８】通常モードで動作し、また、リライアントモードで動作するプロセスフローを例示する。
【図１９】図１〜図３のプロセス制御システムを実施するために実行され得る方法を代表するフローチャートである。
【図２０】図１〜図３のプロセス制御システムを実施するために使用され得るプロセッサプラットフォームを図示する。
【０００６】
図面は、正確な縮尺ではない。可能な限り、同じ参照番号は、同じまたは類似の部分を参照するために（複数の）図面および付随の書面による記載の全体を通して使用されることになる。
【発明を実施するための形態】
【０００７】
仮想環境は、データセンターのスペースを減らし、安全性を向上させ、費用を削減し、および／またはエネルギー消費を減らすために企業内において実施され得る。いくつかの仮想環境例では、仮想マシン（ＶＭ）は、単一サーバ上で動作し、そこで、単一サーバの損失は、関連付けられたＶＭの損失および／または動作不能性を引き起こす。
【０００８】
いくつかのプロセス制御システム例では、対応するサーバが動作不能になったときにＶＭの損失を実質的に防ぐために、本明細書において開示された仮想化アーキテクチャ例は、対応するサーバまたは他の構成要素の突然の損失後にＶＭが比較的速く再開されることを可能にするように、他のホストへのＶＭの複製を可能にする。
【０００９】
他のプロセス制御システム例では、サポートホスト例は、クラスタ環境例内でクラスタ化され、その環境で、ＶＭは動き、ならびに／あるいはＶＭのそれぞれからのデータは、中心に記憶され、および／または一般的にアクセスできる。いくつかのそのような例では、クラスタ環境は、ホストの１つであって、そのホスト上でＶＭが動いていたホストの１つが失われた場合、データストアからの保存されたデータを使用してクラスタ内のＶＭを自動的に再開するように構成されるおよび／またはセットアップされる。
【００１０】
他のプロセス制御システム例では、サポートホスト例は、クラスタ環境例内にクラスタ化され、追加のサーバが、複製のために使用される（例えば、ＶＭおよび／またはホストと関連付けられたデータを記憶するために使用される）。そのような例では、クラスタが失われた場合、ＶＭは、追加のおよび／または複製サーバ上で、その上に保存されたデータを使用して比較的速く再開され得る。
【００１１】
他のプロセス制御システム例では、サポートホストの２つの別個のクラスタが、クラスタ間の複製を可能にするために使用されてもよい。いくつかのそのような例では、第１のクラスタ（例えば、第１のクラスタのＶＭ）と第２のクラスタ（例えば、第２のクラスタのＶＭ）の両方からのデータは、それぞれのクラスタと関連付けられた別個のデータベース内に複製され記憶される。いくつかの例では、第１のクラスタ上の第１のＶＭおよび第２のクラスタ上の第２のＶＭのいくつかを動かすことによって、第１のクラスタまたは第２のクラスタが故障する場合、故障したクラスタと関連付けられたＶＭは、動作可能なクラスタ上で比較的容易に再開され得るならびに／あるいは動かされ得る。それ故、プラントの制御は、残りの動作可能なクラスタを使用して維持される。追加的にあるいは代替的に、第１のＶＭが第２のＶＭの冗長なものである例では、第１のクラスタ上の第１のＶＭおよび第２のクラスタ上の第２のＶＭを動かすことによって、第１のクラスタまたは第２のクラスタが故障する場合、動作可能なクラスタと関連付けられたＶＭが、プロセスを制御するために依然として使用され得る（例えば、二次ＶＭが、プラントを動かすために使用され得る）。複製を備える複数のクラスタを有することは、高い利用可能性を与える。
【００１２】
図１は、単一コンソール内に記憶装置、ネットワークの役割および／またはノードを関連付けるならびに／あるいは１つにまとめるクラスタ１０２を含むプロセス制御システム例１００を図示する。いくつかの例では、クラスタ１０２は、ネットワークデバイス（例えば、スイッチ、ファイアウォールおよび／または記憶デバイス）、記憶装置および／またはデータストア１０４、１０６、フェイルオーバークラスタおよび／またはプロセッサならびに仮想スペースにおいて関連付けられたサーバ１０８、１１０、１１２の１つ以上の群を含む。いくつかの例では、サーバ１０８、１１０、１１２の１つの群はノードと呼ばれ得、クラスタ１０２は任意の数（例えば、２２、５０、６４等）のノードを含み得る。いくつかの例では、フェイルオーバークラスタは、クラスタの構成要素を単一コンソールと関連付けるマネージャとして働く。いくつかの例では、クラスタを使用するユーザおよびサービスは、フェイルオーバークラスタによって生成された仮想名および／またはスペースに接続することができる。
【００１３】
動作中、仮想マシン（ＶＭ）１１４、１１６、１１８および１２０は、サーバ１０８、１１０、１１２上で動作し、ＶＭ１１４、１１６、１１８および／または１２０によって行われた活動と関連付けられたデータは、データストア１０４、１０６に記憶される。それ故、サーバ１０８、１１０、１１２の１つが故障する場合、故障したサーバ１０８、１１０および／または１１２上で動作していたＶＭ１１４、１１６、１１８および／または１２０は、データストア１０４、１０６に記憶されたそのＶＭ１１４、１１６、１１８および／または１２０と関連付けられたデータを使用して依然として動作しているサーバ１０８、１１０および／または１１２上で再開されることになる。クラスタ１０２が、ＶＭを動作させるサーバの第１のノードと、ＶＭを動作させるサーバの第２のノードとを含む例では、第１のノードが故障する場合、第１のノードと関連付けられたＶＭは、第２のノードを使用して再開されることになる。
【００１４】
本明細書において開示された例は、クラスタ毎に約６４個までのノードと約４、０００個までのＶＭをサポートすることができる。開示された例は、クラスタが、自動的に更新されること（例えば、Ｃｌｕｓｔｅｒ−Ａｗａｒｅ  Ｕｐｄａｔｉｎｇ）を可能にするとともに、クラスタおよび／または関連付けられたノードの１つ以上の実質的に同時のライブマイグレーションについて可能にさせる。本明細書において開示された例は、クラスタ化された環境におけるＨｙｐｅｒ−Ｖレプリカ（Ｒｅｐｌｉｃａ）、仮想マシンアプリケーション監視および／またはクラスタ妥当性確認試験を可能にするならびに／あるいはサポートするためのＨｙｐｅｒ−Ｖレプリカブローカ（Ｒｅｐｌｉｃａ  Ｂｒｏｋｅｒ）をサポートすることができる。本明細書において開示された例は、クラスタ更新および／またはマイグレーション、クラスタ共有ボリューム２．０ならびに／あるいはＶＭフェイルオーバー優先順位付けを可能にする。いくつかのそのような例では、ＶＭの健全性（ｈｅａｌｔｈ）および位置は、ユーザがそれらのシステムを診断するために他の環境に移動する必要がないことを可能にするようにＤｅｌｔａＶ診断に組み込まれ得る。いくつかの例では、フェイルオーバー優先順位付けは、重要なＶＭ（例えば、Ｂａｔｃｈ  Ｅｘｅｃｕｔｉｖｅ）をまず使用可能にする。
【００１５】
図２は、高い利用可能性を含むプロセス制御システム例２００および組み込まれた複製エンジン例（例えば、Ｈｙｐｅｒ−Ｖレプリカ、ブローカリングの役割）を図示する。いくつかの例では、この複製エンジンは、クラスタ２１０の仮想マシン（ＶＭ）２０２、２０４、２０６、２０８が、単一ネットワーク接続を使用して複製サーバ（例えば、遠隔サーバ）２１２で複製されることを可能にする。例えば、複製に関して、Ｈｙｐｅｒ−Ｖレプリカブローカは、ＶＭ２０２、２０４、２０６、２０８の１つ以上で動く、役割および／またはアプリケーションであり、ここで、クラスタ２１０は、どのノードがブローカリングの役割を有するかを決定するおよび／または提案することになる。ブローカリングの役割は、１つのノードが失われたおよび／またはダウンする場合に、ブローカリングの役割が、別のノードにフェイルオーバーされることになるように高度に利用可能である。いくつかの例では、サーバ２１２は、追加的にあるいは代替的に、複製データを受信するおよび／または同期させるためにその上で動くＨｙｐｅｒ−Ｖレプリカサービスを含む。
【００１６】
いくつかの例では、複製エンジンは、ＶＭ２０２、２０４、２０６、２０８の全てによって使用される仮想ハードディスクファイル内において追跡するおよび／または書き込むならびに／あるいはログファイルを生成するモジュールを含む。仮想ハードディスク（ＶＨＤ）レベルで複製が行われることを可能にすることによって、ＶＭ２０２、２０４、２０６、２０８のいずれか１つの複製の容易さが高められる。いくつかの例では、ＶＭ２０２、２０４、２０６、２０８の複製は、接続（例えば、ＨＴＴＰ接続、ＨＴＴＰＳ接続等）を通して周期的におよび／または非同期的に行われる。
【００１７】
動作中、ＶＭ２０２、２０４、２０６、２０６は、サーバ２１４、２１６、２１８上で動作し、ＶＭ２０２、２０４、２０６、２０８と関連付けられたデータおよび／またはそれらのＶＭによって行われた活動は、データストア２２０、２２２に記憶され、それらの複製は、複製サーバ２１２および／または別の位置に記憶される。それ故、クラスタ２１０および／またはサーバ２１４、２１６、２１８の全てが故障する場合、故障したクラスタ２１０および／または故障したサーバ２１４、２１６、２１６上で動いていたＶＭ２０２、２０４、２０６、２０８は、複製サーバ２１２および／または別の位置に記憶されたＶＭ２０２、２０４、２０６、２０８と関連付けられたデータから複製サーバ２１２上でならびに／あるいは複製サーバ２１２を使用して再開されることになる。それ故、プロセス制御システム例２００は、故障後にＶＭ２０２、２０４、２０６、２０８が、動き続けるおよび／または動作し続けることを可能にさせ、それによって、実質的に全ての障害回復プログラムと適合する。
【００１８】
いくつかの例では、ＶＭ２０２、２０４、２０６、２０８からのデータは、ネットワークモジュール（例えば、データ圧縮および／または最適化）を使用して複製サーバ２１２に複製され、伝達されおよび／または伝送され、それは、遅いネットワーク接続（例えば、ＷＡＮ）において作動することによる作業負荷を最適化する。いくつかの例では、図２のプロセス制御システム例２００を実施するために、ネットワーク接続によって接続される２つ以上のサーバ２１２、２１４、２１６、２１８が使用され、ここで、サーバの少なくとも１つは、複製サーバ２１２である。いくつかのそのような例では、２つ以上のサーバ２１２、２１４、２１６、２１８は、Ｈｙｐｅｒ−Ｖなどのアプリケーションを動かし、他の第３者のハードウェア、ソフトウェアアプリケーションおよび／または共有型の記憶装置は必要とされない。いくつかの例では、プロセス制御システム例２００は、ＶＭ２０２、２０４、２０６および２０８のいずれか１つ以上が実質的に任意の時点で再開されることを可能にする回復点を含む。いくつかの例では、そのような回復点を使用することによって、データベース破損および／またはウィルス複製は、減らされ、実質的に排除されおよび／または排除される。
【００１９】
いくつかの例では、プロセス制御システム例２００および／またはＨｙｐｅｒ−Ｖレプリカは、小規模および／または中規模のサイズの企業に手頃な費用で少数の構成要素を使用してそれらの仮想化環境に対する十分な障害回復インフラストラクチャの解決策を与えるならびに／あるいは提供する。いくつかの例では、ＤｅｌｔａＶ一次および／または二次ネットワークが、ＶＭ２０２、２０４、２０６、２０８が複製サーバ２１２でおよび／または複製サーバ２１２を使用してより速く開始されることを可能にするように複製サーバ２１２に追加されてもよい。
【００２０】
図３は、第１のクラスタおよび／または仮想化クラスタ３０２と第２のクラスタおよび／または仮想化クラスタ３０４とを含むプロセス制御システム例３００を図示し、ここで、第１のクラスタ３０２の一次サーバ３０６、３０８、３１０または第２のクラスタ３０４の複製サーバ３１２、３１４、３１６は、ブローカリングの役割（例えば、Ｈｙｐｅｒ−Ｖレプリカブローカの役割）を有するように構成される。ブローカリングの役割は、例えば、クラスタ３０２、３０４間のシームレスな複製をサポートするならびに／あるいは可能にするように、クラスタ３０２および／または３０４が、Ｈｙｐｅｒ−Ｖレプリカと関連付けられることならびに／あるいはＨｙｐｅｒ−Ｖレプリカの一部であることを可能にする。
【００２１】
動作中、仮想マシン（ＶＭ）３１８、３２０、３２２、３２４は、サーバ３０６、３０８、３１０上で動作し、ＶＭ３２６、３２８、３３０、３３２は、サーバ３１２、３１４、３１６上で動作する。いくつかの例では、ＶＭ３１８、３２０、３２２、３２４は、ＶＭ３２６、３２８、３３０、３３２の複製である。いくつかの例では、ＶＭ３１８、３２０、３２２、３２４は、ＶＭ３２６、３２８、３３０、３３２と部分的にまたは全面的に異なる。
【００２２】
ＶＭ３１８、３２０、３２２、３２４がＶＭ３２６、３２８、３３０、３３２の複製である例では、ＶＭ３１８、３２０、３２２、３２４と関連付けられたデータおよび／またはＶＭ３１８、３２０、３２２、３２４によって行われた活動は、第１のクラスタ３０２のデータストア３３４、３３６に記憶され、そのデータの複製は、第２のクラスタ３０４のデータストア３３８、３４０に記憶される。それ故、第１のクラスタ３０２および／またはサーバ３０６、３０８、３１０の全てが故障する場合、故障したクラスタ３０２および／または故障したサーバ３０６、３０８、３１０上で動いていたＶＭ３１８、３２０、３２２、３２４は、データストア３３８、３４０に記憶されたＶＭ３１８、３２０、３２２、３２４と関連付けられたデータから複製サーバ３１２、３１４、３１６上でならびに／あるいは複製サーバ３１２、３１４、３１６を使用して再開されることになる。それ故、プロセス制御システム例３００は、ＶＭ３１８、３２０、３２２、３２４が、故障後に動き続けることおよび／または動作し続けることを可能にする。
【００２３】
ＶＭ３１８、３２０、３２２、３２４がＶＭ３２６、３２８、３３０、３３２と異なる例では、ＶＭ３１８、３２０、３２２、３２４と関連付けられたデータおよび／またはＶＭ３１８、３２０、３２２、３２４によって行われた活動は、第１のクラスタ３０２のデータストア３３４、３３６に記憶され、そのデータの複製は、第２のクラスタ３０４のデータストア３３８、３４０に記憶され、ＶＭ３２６、３２８、３３０、３３２と関連付けられたデータおよび／またはＶＭ３２６、３２８、３３０、３３２によって行われた活動は、第２のクラスタ３０４のデータストア３３８、３４０に記憶され、そのデータの複製は、第１のクラスタ３０２のデータストア３３４、３３６に記憶される。それ故、第１のクラスタ３０２または第２のクラスタ３０４が故障する場合、故障した第１のクラスタ３０２または故障した第２のクラスタ３０４上で動いていたＶＭ３１８、３２０、３２２、３２４、３２６、３２８、３３０、３３２は、データストア３３４、３３６、３３８および／または３４０に記憶されたそれぞれのＶＭ３１８、３２０、３２２、３２４、３２６、３２８、３３０、３３２と関連付けられたデータからサーバ３０６、３０８、３１０もしくは複製サーバ３１２、３１４、３１６上でならびに／あるいはサーバ３０６、３０８、３１０もしくは複製サーバ３１２、３１４、３１６を使用して再開されることになる。故障した第１のクラスタ３０２または故障したクラスタ３０４が一旦回復されると、ＶＭ３１８、３２０、３２２、３２４、３２６、３２８、３３０、３３２は、通常動作を再開するためにそれらの元のクラスタ３０２または３０４に複製され得るならびに／あるいは移行され得る。
【００２４】
図４は、ライブマイグレーションの間に使用され得るユーザインターフェース例４００を例示する。いくつかの例では、無共有型ライブマイグレーションは約８分から１０分まで行われ得、記憶装置ライブマイグレーションは約５分から７分まで行われ得、カンマ区切り値（ＣＳＶ：ｃｏｍｍａ  ｓｅｐａｒａｔｅｄ  ｖａｌｕｅ）を通じたライブマイグレーションは約１０秒から３０秒まで行われ得、ＣＳＶを通じた迅速なマイグレーションは約５秒行われ得る。
【００２５】
図５〜図７は、本明細書において開示された例を実施する（例えば、仮想マシンを構成し操作する）ために使用され得るユーザインターフェース例５００、６００、７００を描写する。いくつかの例では、ユーザインターフェース５００、６００、７００は、図１のプロセス制御システム１００を実施するために使用され得る。図６のユーザインターフェース６００は、選択されたＣ１−１ノードの異なる動作の状態を図示し、および／またはそれらのそれぞれの状態に対する異なるノード（例えば、Ｃ１−１、Ｃ１−２、Ｃ１−３等）や異なるクラスタ（例えば、１、１０、１１、２、３等）の選択を可能にする。図７のユーザインターフェース７００は、選択されたＣ１−１ノードの異なる動作の状態を図示し、クラスタ１の要約を提供する。
【００２６】
図８〜図１１は、本明細書において開示された例を実施するために使用され得るユーザインターフェース例８００、９００、１０００、１１００を描写する。いくつかの例では、ユーザインターフェース８００、９００、１０００、１１００は、動作（例えば、ＯＰ２０）および／または仮想マシン３１８が故障に起因して第１のクラスタ３０２から第２のクラスタ３０４に移動するときに図３のプロセス制御システム３００を実施するために使用され得る。図９は、ＯＰ２０および／または仮想マシン３１８の故障が生じたことを示すユーザインターフェース９００を図示する。図１０は、ＯＰ２０および／または仮想マシン３１８が第２のクラスタ３０４上で動いていることを示すユーザインターフェース１０００を図示する。図１１は、第１のクラスタ３０２が修復された後に、第２のクラスタ３０４から第１のクラスタ３０２に戻る仮想マシン３１８のマイグレーションを図示する。
【００２７】
図１２は、本明細書において開示された制御システム例の性能試験および／または診断を図示するユーザインターフェース例１２００を描写する。いくつかの例では、プロセス制御システム例は、クラスタ毎に６４個の仮想マシン、１個のＰＲＯＰｌｕｓ、１３個のアプリケーションステーション、５０個の動作ステーションおよび／または４個のホストを動かす２個のクラスタを含む。いくつかの例では、行われたおよび／または取得されたメトリクスは、システム構成、演算子実行時間、履歴収集および／または複製を含むならびに／あるいはそれらと関連付けられる。いくつかの例では、行われたおよび／または取得された診断は、Ｗｉｎｄｏｗｓ（登録商標）および／またはＳｏｌａｒＷｉｎｄｓを含むならびに／あるいはそれらと関連付けられる。
【００２８】
図１３は、本明細書において開示された制御システム例の診断結果を図示するユーザインターフェース例１３００を描写する。ユーザインターフェース１３００は、仮想アセット（例えば、Ｃ１−１、Ｃ１−２等）、仮想アセット要約、メモリ使用率を単位としてトップ１０のホスト、ならびにネットワーク利用についてのトップ１０のホストを例示するＨｙｐｅｒ−Ｖ要約を図示する。
【００２９】
図１４は、仮想マシン複製トラフィックを図示するユーザインターフェース例１４００を描写し、ここで、時間における第１の部分１４０２は、複製が使用不可にされたとき（例えば、構成している間）に対応し、時間における第２の部分１４０４は、システムおよび／またはクラスタ（例えば、Ｃ２−１）がリブートされたときに対応し、時間における第３の部分１４０６は、仮想マシンがリブートされたときに対応する。
【００３０】
図１５は、本明細書において開示された例を実施する（例えば、プロセス制御のために予めインストールされたＤｅｌｔａＶ仮想マシンを自動的に生成する、構成するおよび操作する）ために使用され得るユーザインターフェース例１８００を描写する。具体的には、ユーザインターフェース１８００は、仮想マシンが回復力のあるモードで動作しているべきであるときに通常モードで動作している仮想マシンと関連付けられた診断上の警告を例示する。それ故、ユーザインターフェース１８００は、必要に応じて、動作モードの訂正が行われることを可能にするために、ＩＴ層まで伝搬される情報を説明する。いくつかの例では、ツール助言１８０２が、ユーザがアプリケーションのステータスバーにおける診断上の発生数の上に（例えば、マウスの矢印を用いて）重ねるときに表示される。
【００３１】
図１６は、キャッシュをスルーしてディスクに直接的に書き込むこと（例えば、キャッシュを回避すること、すなわち回復力のあるモード）を例示し、図１７は、メモリに書き込むこと（例えば、通常モード）を例示する。図１８は、通常モードで動作し、また、リライアントモードで動作するプロセスフローを例示する。いくつかの例では、キャッシュを変更することは、プロセス制御システムが、制御のために使用される構成データを破損することなくハードウェア故障に耐えることを可能にする。
【００３２】
図１〜図３のプロセス制御システムを実施するための方法例を代表するフローチャートが図１９に図示される。この例では、方法は、図２０に関して以下に記述されるプロセッサプラットフォーム例２３００に図示されるプロセッサ２３１２などのプロセッサによる実行のためのプログラムを備えるマシンで読み取り可能な命令を使用して実施され得る。プログラムは、例えば、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードドライブ、デジタル多用途ディスク（ＤＶＤ）、ブルーレイディスク、またはプロセッサ２３１２と関連付けられたメモリなどの、有形のコンピュータで読み取り可能な記憶媒体上に記憶されたソフトウェアにおいて具現化され得るが、プログラム全体および／またはそれらの一部は、プロセッサ２３１２以外のデバイスによって代替的に実行され得、ならびに／あるいはファームウェアもしくは専用のハードウェアにおいて具現化され得る。更に、プログラム例は、図１９に例示されたフローチャートを参照して記載されるが、図１〜図３のプロセス制御システム例を実施する多くの他の方法が、代替的に使用されてもよい。例えば、ブロックの実行の順序は変更されてもよく、および／または記載されたブロックのいくつかは、変更され、排除され、あるいは組み合わされてもよい。
【００３３】
上述したように、図１９の方法例は、例えば、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）および／または任意の他の記憶デバイスもしくは記憶ディスクであって、それらの中に情報が任意の期間に（例えば、長期間に、永続的に、短い時期に、一時的にバッファリングするときに、および／または情報のキャッシングのときに）記憶されるものなどの、有形のコンピュータで読み取り可能な記憶媒体上に記憶されたコード化された命令（例えば、コンピュータおよび／またはマシンで読み取り可能な命令）を使用して実施され得る。本明細書において使用される際、有形のコンピュータで読み取り可能な記憶媒体という用語は、任意の種類のコンピュータで読み取り可能な記憶デバイスおよび／または記憶ディスクを含むように、また、伝搬信号や伝送媒体を排除するように、明示的に定義される。本明細書において使用される際、「有形のコンピュータで読み取り可能な記憶媒体」および「有形のマシンで読み取り可能な記憶媒体」は、交換可能に使用される。追加的にあるいは代替的に、図１〜図３のプロセス例は、例えば、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリおよび／または任意の他の記憶デバイスもしくは記憶ディスクであって、それらの中に情報が任意の期間に（例えば、長期間に、永続的に、短い期間に、一時的にバッファリングするときに、および／または情報のキャッシングのときに）記憶されるものなどの、非一時的なコンピュータおよび／またはマシンで読み取り可能な媒体上に記憶されたコード化された命令（例えば、コンピュータおよび／またはマシンで読み取り可能な命令）を使用して実施され得る。本明細書において使用される際、非一時的なコンピュータで読み取り可能な媒体という用語は、任意の種類のコンピュータで読み取り可能な記憶デバイスおよび／または記憶ディスクを含むように、また、伝搬信号や伝送媒体を排除するように、明示的に定義される。本明細書において使用される際、文言「少なくとも」が、特許請求の範囲のプリアンブル（前提部分）において移行語として使用されるとき、それは、用語「〜を備える（ｃｏｍｐｒｉｓｉｎｇ）」がオープンエンド（ｏｐｅｎ  ｅｎｄｅｄ）であるのと同じようにオープンエンドのものである。
【００３４】
図１９の方法例は、第１のクラスタ３０２を動作させるために選択される第１のモードで始まる（ブロック２２０２）。第１のクラスタ３０２は、仮想マシン３１８、３２０、３２２、３２４およびサーバ３０６、３０８、３１０を含む。第１のモードは、第２のクラスタ３０４を動作させるために選択される（ブロック２２０４）。第２のクラスタ３０４は、第２の仮想マシン３２６、３２８、３３０、３３２およびサーバ３１２、３１４、３１６を含む。いくつかの例では、第１のモードは、データストア３３４、３３６、３３８および／または３４０のキャッシュに書き込むことを含み、また、構成動作モードと関連付けられ得る。第１の仮想マシン３１８、３２０、３２２、３２４は、第１のモードで動作される（ブロック２２０６）。第２の仮想マシン３２６、３２８、３３０、３３２もまた、第１のモードで動作される（ブロック２２０８）。
【００３５】
第１の仮想マシン３１８、３２０、３２２、３２４からの第１のデータは、第１のクラスタ３０２のデータストア３３４および／または３３６に記憶され、第１の仮想マシン３１８、３２０、３２２、３２４からの第１のデータの複製は、第２のクラスタ３０４のデータストア３３８および／または３４０に記憶される（ブロック２２１０）。いくつかの例では、第１のデータと第１のデータの複製は、並行しておよび／またはファイルレベル一貫性を使用する一貫した手法で記憶される。第２の仮想マシン３２６、３２８、３３０、３３２からの第２のデータは、第２のクラスタ３０４のデータストア３３８および／または３４０に記憶され、第２の仮想マシン３２６、３２８、３３０、３３２からの第２のデータの複製は、第１のクラスタ３０２のデータストア３３４および／または３３６に記憶される（ブロック２２１２）。いくつかの例では、第２のデータと第２のデータの複製は、並行しておよび／またはファイルレベル一貫性を使用する一貫した手法で記憶される。
【００３６】
例えば、プロセス制御システム３００が構成された後、第２のモードが、第１のクラスタ３０２を動作させるために選択され得る（ブロック２２１４）。第２のモードは、第２のクラスタ３０４を動作させるために選択される（ブロック２２１６）。いくつかの例では、第２のモードは、データが揮発性メモリ内に保持される時間を減らすために、データストア３３４、３３６、３３８および／または３４０のキャッシュを回避することと、データストア３３４、３３６、３３８および／または３４０の（複数の）ディスクに直接的に書き込むことと、を含む。第１の仮想マシン３１８、３２０、３２２、３２４は、第２のモードで動作される（ブロック２２１８）。第２の仮想マシン３２６、３２８、３３０、３３２は、第２のモードで動作される（ブロック２２２０）。
【００３７】
ブロック２２２２で、プロセッサは、第１のクラスタ３０２の故障が生じたかを決定する。第１のクラスタ３０２が故障した場合、第１の仮想マシン３１８、３２０、３２２、３２４は、第２のクラスタ３０４のサーバ３１２、３１４および／または３１６ならびにデータストア３３８および／または３４０からの第１のデータの複製を使用して再開される（ブロック２２２４）。いくつかの例では、第１の仮想マシン３１８、３２０、３２２、３２４がサーバ３１２、３１４および／または３１６を使用して再開される場合ならびに／あるいは第１のクラスタ３０２が故障した場合、警報が生成され得るおよび／または伝達され得る（ブロック２２２６）。いくつかの例では、警報は、第１と第２の両方の仮想マシン３１８、３２０、３２２、３２４、３２６、３２８、３３０、３３２が第２のクラスタ３０４のサーバ３１２、３１４および／または３１６を使用して動かされていることを示す。第１のクラスタ３０２の故障が一旦解消されると、ライブマイグレーションが、第２のクラスタ３０４のサーバ３３８、３４０を使用して第１の仮想マシン３１８、３２０、３２２、３２４を動作させることから第１のクラスタ３０２のサーバ３３４、３３６を使用して第１の仮想マシン３１８、３２０、３２２、３２４を動作させることまで行われ得る（ブロック２２２８）。
【００３８】
ブロック２２３０で、プロセッサは、第２のクラスタ３０４の故障が生じたかを決定する。第２のクラスタ３０４が故障した場合、第２の仮想マシン３２６、３２８、３３０、３３２は、第１のクラスタ３０２のサーバ３０６、３０８および／または３１０ならびにデータストア３３４および／または３３６からの第１のデータの複製を使用して再開される（ブロック２２３２）。いくつかの例では、第２の仮想マシン３２６、３２８、３３０、３３２がサーバ３０６、３０８および／または３１０を使用して再開される場合ならびに／あるいは第２のクラスタ３０４が故障した場合、警報が生成され得るおよび／または伝達され得る（ブロック２２３４）。いくつかの例では、警報は、第１と第２の両方の仮想マシン３１８、３２０、３２２、３２４、３２６、３２８、３３０、３３２が、第１のクラスタ３０２のサーバ３０６、３０８、３１０を使用して動かされていることを示す。第２のクラスタ３０４の故障が一旦解消されると、ライブマイグレーションが、第１のクラスタ３０２のサーバ３３４、３３６を使用して第２の仮想マシン３２６、３２８、３３０、３３２を動作させることから第２のクラスタ３０４のサーバ３３８、３４０を使用して第２の仮想マシン３２６、３２８、３３０、３３２を動作させることまで行われ得る（ブロック２２３６）。ブロック２２３８で、プロセスは、終了するか否かを決定する。プロセスが続くことになる場合、ブロック２２４０で、決定が、例えば、第２の動作モードと第１の動作モードとの間で動作モードを変更するかどうかについてなされる。
【００３９】
図２０の例示された例のプロセッサプラットフォーム２３００は、プロセッサ２３１２を含む。例示された例のプロセッサ２３１２はハードウェアである。例えば、プロセッサ２３１２は、任意の所望のファミリーもしくは製造業者からの１つ以上の集積回路、論理回路、マイクロプロセッサまたはコントローラによって実施され得る。
【００４０】
例示された例のプロセッサ２３１２は、ローカルメモリ２３１３（例えば、キャッシュ）を含む。例示された例のプロセッサ２３１２は、バス２３１８経由で揮発性メモリ２３１４および不揮発性メモリ２３１６を含むメインメモリと通信する。揮発性メモリ２３１４は、同期型動的ランダムアクセスメモリ（ＳＤＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、ラムバス（ＲＡＭＢＵＳ）動的ランダムアクセスメモリ（ＲＤＲＡＭ）および／または任意の他の種類のランダムアクセスメモリデバイスによって実施され得る。不揮発性メモリ２３１６は、フラッシュメモリおよび／または任意の他の所望の種類のメモリデバイスによって実施され得る。メインメモリ２３１４、２３１６へのアクセスは、メモリコントローラによって制御される。
【００４１】
例示された例のプロセッサプラットフォーム２３００はまた、インターフェース回路２３２０を含む。インターフェース回路２３２０は、任意の種類のインターフェース規格、例えば、イーサネット（登録商標）インターフェース、ユニバーサルシリアルバス（ＵＳＢ）、および／またはＰＣＩ  Ｅｘｐｒｅｓｓインターフェースなどによって実施され得る。
【００４２】
例示された例では、１つ以上の入力デバイス２３２２がインターフェース回路２３２０に接続される。（複数の）入力デバイス２３２２は、ユーザがデータおよびコマンドをプロセッサ２３１２の中に入れることを許可する。（複数の）入力デバイスは、例えば、オーディオセンサ、マイクロホン、カメラ（スチルもしくはビデオ）、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイント（ｉｓｏｐｏｉｎｔ）および／または音声認識システムによって実施され得る。
【００４３】
１つ以上の出力デバイス２３２４がまた、例示された例のインターフェース回路２１２０に接続される。出力デバイス２３１２４は、例えば、表示デバイス（例えば、発光ダイオード（ＬＥＤ）、有機発光ダイオード（ＯＬＥＤ）、液晶ディスプレイ、ブラウン管ディスプレイ（ＣＲＴ）、タッチスクリーン、触覚式出力デバイス、発光ダイオード（ＬＥＤ）、プリンタおよび／またはスピーカ）によって実施され得る。例示された例のインターフェース回路２３２０は、それ故、典型的には、グラフィックスドライバカード、グラフィックスドライバチップまたはグラフィックスドライバプロセッサを含む。
【００４４】
例示された例のインターフェース回路２３２０はまた、ネットワーク２３２６（例えば、イーサネット（登録商標）接続、デジタル加入者回線（ＤＳＬ）、電話回線、同軸ケーブル、セルラー方式電話システム等）を経由した外部マシン（例えば、任意の種類のコンピューティングデバイス）とのデータの交換を容易にするために、例えばトランスミッタ、レシーバ、トランシーバ、モデムおよび／またはネットワークインターフェースカードなどの通信デバイスを含む。
【００４５】
例示された例のプロセッサプラットフォーム２３００はまた、ソフトウェアおよび／またはデータを記憶するための１つ以上の大容量記憶デバイス２３２８を含む。そのような大容量記憶デバイス２３２８の例は、フロッピー（登録商標）ディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイディスクドライブ、ＲＡＩＤシステム、およびデジタル多用途ディスク（ＤＶＤ）ドライブを含む。
【００４６】
上記から、本明細書において開示された例は、費用を減らすとともにシステム稼働時間および／または起動時間を改善する、効果的で、管理し易い、仮想化コンピューティング環境の開発を可能にする（複数の）コンピュータアーキテクチャ、ネットワーキングならびに／あるいは仮想化に関することが理解されるであろう。
【００４７】
いくつかのプロセス制御システムでは、少なくともいくつかの重要なハードウェア構成要素（例えば、コントローラ）は、冗長性のために設計されるが、他の構成要素（例えば、ＶＭ、サーバ等）は、冗長ではなく、あるいはそうではなくて、停電、コンピュータハードウェア故障等などの破壊的な事象に対処することおよび／またはそれらから速く回復することができる。故障がそのようなシステムで生じる場合、冗長で重要な構成要素（例えば、制御装置）は、プラントが動作し続けることを可能にし得る。しかしながら、非冗長な構成要素（例えば、ＶＭ、サーバ等）および／またはプラントをそれの通常動作システムに復元することは、かなりの時間がかかり得、その間に、プラントデータ（例えば、重要なプラントデータ）は、見えない、可視ではないおよび／または失われる可能性がある。
【００４８】
いくつかの既知のシステムとは対照的に、本明細書において開示されたプロセス制御システム例は、故障が生じた場合に仮想環境におけるダウンタイムを減らすことが可能な高い利用可能性および／または複製を提供するならびに／あるいはもたらす。更に、開示された例は、プロセス制御システムが、システムの全構成要素と関連付けられた書き込まれたおよび／または利用可能なログファイルを有することを可能にすることによって、ならびに／あるいは、システムが、システム全体の高度に利用可能な仮想化アーキテクチャに気付くことを可能にすることによって、データ損失および／またはデータ破損を実質的に防ぐ。単純化すれば、本明細書において開示された例は、直ぐに使えて利用可能性の高い制御システムを提供する。
【００４９】
構成要素のログファイルがアクセスできることを可能にするために、冗長なハードドライブ記憶装置（例えば、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋ（ＲＡＩＤ）アレイ）が、並行して同時に複数のホストコンピュータによってアクセスされるおよび／または書き込まれる。それ故、開示された例を使用すると、仮想マシンの仮想ハードドライブは、２以上のホストコンピュータによって可視であるおよび／または見られ得る。そのような例では、故障（例えば、ハードウェア故障、ソフトウェア故障）がホストコンピュータの１つにおいて生じた場合、別のホストコンピュータは、仮想ハードドライブを引き継ぐおよび／または動かすことができ、また、ハードドライブ記憶装置の最後に保存された情報に基づいて関連付けられた仮想マシンを再開することができる。
【００５０】
本明細書において開示されたいくつかのプロセス制御システム例では、データ破損に対して実質的に保護するために、データは、例えば、ＮＴＦＳファイルシステム、ＮＴＦＳログ（ジャーナル）、ボリュームシャドウコピー（ＶＳＳ）および／またはトランザクションＮＴＦＳを使用して、ファイルレベル一貫性を使用する一貫した手法で書き込まれる。追加的におよび／または代替的に、本明細書において開示されたプロセス制御システム例は、システムがキャッシュをライトスルーして、ディスク、ハードドライブおよび／または仮想ハードドライブに直接的に保存することを命令されることを可能にする。そのような例では、オブジェクト指向データベースにおける論理ファイル一貫性を可能にするために、プロセス制御システム例および／またはそれらの構成要素は回復力のあるモードで動かされ、そのモードは、直接のライトスルーキャッシュを可能にし、揮発性データが例えばメモリ内に保持される時間を実質的に最小限にする。いくつかの例では、ディスク書き込みはメモリ書き込みよりも遅いので、キャッシュをライトスルーすることは性能の低下をもたらす。例えば、キャッシュが使用される場合、アプリケーションおよび／またはユーザは、データをキャッシュに収容することになり、システムは、データを後でライトスルーすることになる。しかしながら、構成作業の大部分は、システムがプラントおよび／またはプロセス制御システムを動かすためにオンラインになる前に行われるので、回復力のあるモードは、データ損失および／または破損がこの（例えば、プロセスが制御されていない）ときにプラントを動かすことについて否定的な意味合いを持たないので、最初のエンジニアリングおよび／または構成の間に切断され得る。
【００５１】
いくつかの例では、システムの全体および／または実質的に全体が一貫していることをもたらすために、制御システム機能および仮想化機能が組み込まれる。例えば、そのような組み込みを可能にするために、回復力のあるおよび／または通常動作モード設定は、仮想化および高い利用可能性の設定と同じレベルにおける可視性を与えるために仮想化管理ソフトウェアまで伝搬される。
【００５２】
他の例では、制御システム機能および仮想化機能が、一斉にＶＭノード冗長性および高い利用可能性を管理するプロセス制御システム（例えば、ＤＶＳ）を使用して組み込まれる。いくつかのそのような例では、冗長な組のアプリケーションステーション（例えば、ＤｅｌｔａＶアプリケーションステーション）が同じホストコンピュータに割り当てられる場合にアラーム（例えば、ＤＶＳアラーム）が生じ、なぜなら、同じホストに割り当てられたアプリケーションステーションを有することは、ホストが故障する場合に通常の破壊よりも長いものを生じるおよび／または生成する可能性があるからである。いくつかの例では、冗長性およびスタンバイは、故障がホストの１つ内で生じた場合にノード切り換えが行われることを可能にするように複数のホストにわたって分散される。
【００５３】
非伝統的な測定が、オンライン予測機能を提供するために予測アルゴリズムと自動化を組み合わせるように進歩した分析論のために、ならびに／あるいは移動中であるとともに制御室内にいる人間を接続するために使用されることになる新たな設計および／またはプラットフォームのために、無線インフラストラクチャを使用して組み込まれることを可能にする、本明細書において開示されたような仮想化されたコンピューティングプラットフォーム。そのような例は、プロセス制御における仮想化および大きなデータのために有利に使用され得る。
【００５４】
いくつかの開示された例は、高い利用可能性、フェイルオーバークラスタ管理、仮想マシン複製、障害回復、性能データおよび／またはプラットフォーム構成をもたらす。いくつかの開示された例は、仮想化スケールアップ、ライブマイグレーション（例えば、高速の、制限のない、同時の仮想マシンライブマイグレーションおよび／または記憶装置マイグレーション）、無共有型マイグレーション、高い利用可能性のフェイルオーバークラスタ化（例えば、ｉＳＣＳＩ、ファイバーチャンネル、ＳＭＢ）、フェイルオーバー優先順位付け、ＮＩＣチーミングおよび／または管理ならびに／あるいは複製サポートを可能にする。
【００５５】
いくつかの開示された例は、ホストが、ホスト毎に、約１６０個までの論理プロセッサ、約２テラバイト（ＴＢ）までのメモリおよび／または約１０２４個までの仮想中央処理装置（ＣＰＵ）を含むことを可能にする。いくつかの開示された例は、仮想マシンが、ホスト毎に約３２個までの仮想ＣＰＵ、ＶＭ毎に約１ＴＭまでのメモリおよび／またはホスト毎に約１０２４個までのアクティブなＶＭを含むならびに／あるいはそれらと関連付けられることを可能にする。いくつかの開示された例は、クラスタが、約６４個のノードおよび／または約４０００個のＶＭを含むならびに／あるいはそれらと関連付けられることを可能にする。
【００５６】
本明細書において開示された例は、新たな見通し、より良い決定を提供しおよび／または改善されたシステム体験を提供するようにデータ（例えば、大きなデータ）のストリームを取得するならびに／あるいは解析するために使用され得る。いくつかの例では、本明細書において開示された例は、異なる種類のデータが解析され、１つが受信されることを可能にするために、全てのプロセス測定および／または出力上で収集された周期的な非圧縮データの受領をサポートすることができる。本明細書において開示されたいくつかの例は、伝統的な種類のアラーム、バッチなどの情報源および／または稼働中のアナライザのような連続的で新たな源をサポートすることができる。本明細書において開示されたいくつかの例は、クロス（ｃｒｏｓｓ）プラント境界（例えば、油田全体）、データ機敏性をサポートすること、ならびに／あるいはブラウザおよび／または携帯デバイスを通してユーザに実用的な情報を提供することができる。例えば、データ調査は、以前に記録されなかった情報が、例えば無線センサ（例えば、振動センサ）を使用して現在記録されるべきであることを示し得るおよび／または識別し得る。
【００５７】
プロセス制御システム例は、全てのまたは実質的に全てのデータが、それについての解析を可能にするために高解像度を有することを可能にする。取得されたデータは、例えば、高周波の実時間データであって、見通しの向上をもたらすおよび／または可能にするデータを使用して、クリーンにされ得および／またはフィルタリングされ得および／または調査され得る。プロセス制御システム例は、システム、プラットフォームおよび／またはプラントにわたって取得された分析論を使用可能にするおよび／または結び付ける。プロセス制御システム例は、任意の言語から呼ばれ得る、例えば、ＲＥＳＴ  ＡＰＩを介して、無線および／または外部測定を介して取得される追加の測定を可能にするおよび／またはサポートする。プロセス制御システムは、人間および／または閉ループ制御のために実用的な結果をもたらす。
【００５８】
いくつかの例では、テンプレートは、ユーザが、これらの特徴をテンプレートの一部として使用可能にし、次いで、我々がテンプレートからインスタンスを生成するような機能を使用することを可能にするために、高い利用可能性および複製のために設計される。いくつかの例では、仮想化環境で使用されたネットワーキングインフラストラクチャは、制御ネットワーク（例えば、一次制御ネットワーク、二次制御ネットワーク）、ホスト／管理ネットワークおよび／または他のネットワーク（例えば、プラントネットワーク）を容易に区別するために予め決定される。いくつかの例では、ドメインコントローラは、インフラストラクチャに組み込まれ、それ故、ユーザがそれらのコンピューティングリソースをセットアップし管理する必要がないことを可能にする。いくつかの例では、診断は、それらのネットワーク、ディスクサブシステム、ＣＰＵリソース、メモリリソース、入出力スループット、入出力遅延、クラスタおよび／または複製システムと関連付けられた情報を収集するためにユーザがツール（例えば、ＳｏｌａｒＷｉｎｄｓ）を使用する必要がないことを可能にするように制御システムに組み込まれる。いくつかの例では、診断は、より抽象的なＩＴ項目であるのと対照的に制御システムとの関連で報告される。いくつかの例では、管理センター例は、ＤｅｌｔａＶ構成および診断を用いて組み込まれる。いくつかの例では、診断は、制御システムトラフィックおよび／または使用上で行われ（例えば、使用パターンが変化した場合に警報などをもたらし）得る。いくつかの例では、システムは、ネットワークトラフィックを分割することと、インフラストラクチャトラフィックを確保することとによって、確保されおよび／または管理される。いくつかの例では、仮想化の下のハードウェアプラットフォームは、開示された例を実施するために使用され得る。いくつかの例では、Ｖｉｒｔｕａｌ  Ｓｔｕｄｉｏ、ＤｅｌｔａＶインフラストラクチャ、ハードウェア（例えば、ＤｅｌｌからのＶＲＴＸプラットフォーム）は、プロセス制御のための仮想アプライアンスを使用可能にする。いくつかの例では、プロセス制御システム例は、組み込まれ、ならびに／あるいは、テンプレート、診断および／もしくは構成ツールおよび／または態様を含み得るならびに／あるいはそれらを使用し得る。
【００５９】
本明細書において定めるように、方法例は、第１の仮想マシンおよび第１のサーバを含む第１のクラスタを動作させることと、第２の仮想マシンおよび第２のサーバを含む第２のクラスタを動作させることと、を含む。方法例は、第１のクラスタの第１のデータストアに第１の仮想マシンからの第１のデータを記憶することと、第２のクラスタの第２のデータストアに第１のデータの複製を記憶することと、第２のデータストアに第２の仮想マシンからの第２のデータを記憶することと、第１のデータストアに第２のデータの複製を記憶することと、を含む。方法はまた、第１のクラスタの故障を識別することと、故障に応答して、第２のサーバと第２のデータストアにおける第１のデータの複製とを使用して第１の仮想マシンを再開することと、を含む。
【００６０】
いくつかの例では、第１のデータを記憶することは、データが揮発性メモリ内に保持される時間を減らすために通常動作モードの間に、第１のデータストアのキャッシュを回避することと、第１のデータストアのディスクに直接的に書き込むことと、を含む。いくつかの例では、第１のデータを記憶することは、構成動作モードの間に第１のデータストアのキャッシュに書き込むことを含む。いくつかの例では、第２のサーバを使用して仮想マシンを再開することはダウンタイムを減らす。いくつかの例では、第１のデータストアに第１の仮想マシンからの第１のデータを記憶することと、第２のデータストアに第１のデータの複製を記憶することとは、並行して第１および第２のデータストアに第１のデータを記憶することを含む。いくつかの例では、第１のデータストアに第１の仮想マシンからの第１のデータを記憶することと、第２のデータストアに第１のデータの複製を記憶することとは、ファイルレベル一貫性を使用する一貫した手法で第１および第２のデータストアに第１のデータを記憶することを含む。いくつかの例では、方法は、第１の仮想マシンが第２のサーバを使用して再開される場合、警報を生成することを含む。
【００６１】
いくつかの例では、方法はまた、第１のクラスタの故障が解消された後に、第２のサーバを使用して第１の仮想マシンを動作させることから第１のサーバを使用して第１の仮想マシンを動作させることまで実質的にライブのマイグレーションを行うことを含む。いくつかの例では、方法は、第２のサーバと第２のデータストアにおける第１のデータの複製とを使用して第１の仮想マシンを再開することは、第２のサーバと第２のデータストアにおける第１のデータの複製とを使用して第１の仮想マシンを自動的に再開することを含むことを含む。いくつかの例では、第１のクラスタは、第２のクラスタの冗長なものである。いくつかの例では、方法は、第２のクラスタを自動的に更新することを含む。
【００６２】
別の方法例は、第１の仮想マシンおよび第１のサーバを含む第１のクラスタを動作させるために第１のモードを選択することを含み、第１のモードで第１のクラスタを動作させることは、第１の仮想マシンからの第１のデータを記憶するために第１のデータストアのキャッシュに書き込むことと、第１のクラスタを動作させるために第２のモードを選択することと、を含む。方法はまた、第１の仮想マシンからの第１のデータを記憶するために、キャッシュを回避することと、第１のデータストアのディスクに直接的に書き込むことと、を含む第２のモードで第１のクラスタを動作させることを含む。
【００６３】
いくつかの例では、第１のモードは構成モードを含み、第２のモードは回復力のあるモードを含む。
【００６４】
いくつかの例では、方法はまた、第２の仮想マシンからの第２のデータを記憶するために第２のデータストアのキャッシュに書き込むことを含む第３のモードで第２のクラスタを動作させる第２の仮想マシンおよび第２のサーバを含む第２のクラスタを動作させるために第３のモードを選択することを含む。方法はまた、第２のクラスタを動作させるために第４のモードを選択することと、第２の仮想マシンからの第２のデータを記憶するために、キャッシュを回避することおよび第２のデータストアのディスクに直接的に書き込むことを含む第４のモードで第２のクラスタを動作させることと、を含む。
【００６５】
いくつかの例では、第２のモードにおける第１のクラスタはまた、第２のクラスタの第２のデータストアに第１のデータの複製を記憶することを含み、第２のクラスタを動作させることは、第１のデータストアに第２のデータの複製を記憶することを含む。いくつかの例では、方法はまた、第１のクラスタの故障を識別することと、第２のサーバと第２のデータストアにおける第１のデータの複製とを使用して第１の仮想マシンを再開することと、を含む。いくつかの例では、方法は、第１の仮想マシンが第２のサーバを使用して再開される場合、警報を生成することを含む。いくつかの例では、方法はまた、第１のクラスタの故障が解消された後に、第２のサーバを使用して第１の仮想マシンを動作させることから第１のサーバを使用して第１の仮想マシンを動作させることまで実質的にライブのマイグレーションを行うことを含む。
【００６６】
いくつかの例では、第１のデータストアに第１の仮想マシンからの第１のデータを記憶することと、第２のデータストアに第１のデータの複製を記憶することとは、並行して第１および第２のデータストアに第１のデータを記憶することを含む。いくつかの例では、第１のデータストアに第１の仮想マシンからの第１のデータを記憶することと、第２のデータストアに第１のデータの複製を記憶することとは、ファイルレベル一貫性を使用する一貫した手法で第１および第２のデータストアに第１のデータを記憶することを含む。
【００６７】
方法、装置および製品の一定例が本明細書において開示されたが、この特許の包含範囲はそれに限定されるものではない。それとは反対に、この特許は、この特許の特許請求の範囲内に正当に属する方法、装置および製品の全てを包含する。
【図１６】
2015069655.tif 000003
【図１７】
2015069655.tif 000004
【図１８】
2015069655.tif 000005
【図１９】
2015069655.tif 000006
【図２０】
2015069655.tif 000007
【図１】
2015069655.tif 000008
【図２】
2015069655.tif 000009
【図３】
2015069655.tif 000010
【図４】
2015069655.tif 000011
【図５】
2015069655.tif 000012
【図６】
2015069655.tif 000013
【図７】
2015069655.tif 000014
【図８】
2015069655.tif 000015
【図９】
2015069655.tif 000016
【図１０】
2015069655.tif 000017
【図１１】
2015069655.tif 000018
【図１２】
2015069655.tif 000019
【図１３】
2015069655.tif 000020
【図１４】
2015069655.tif 000021
【図１５】
2015069655.tif 000022
【外国語明細書】
2015069655000001.pdf