(57)【特許請求の範囲】
【請求項１】
仮想プロセス制御環境の第１および第２のホストサーバに関連付けられたネットワークカードの環境設定名のリストを含むデータ構造体にアクセスするステップであって、第１および第２のホストサーバがプロセス制御システムのワークステーションに対応する仮想マシンを実装するステップと、
第１のホストサーバを環境設定する時に、第１のホストサーバに関連付けられた第１のネットワークカードに第１の名前を割り当てるステップと、
第２のホストサーバを環境設定する時に、環境設定名のリストからの第１の名前のユーザ選択に基づいて、第２のホストサーバに関連付けられた第２のネットワークカードに該第１の名前を割り当てるステップであって、第２のホストサーバが第１のホストサーバの後に環境設定されるステップとを含む方法。
【請求項２】
第１のホストサーバを環境設定する時に、第１の名前で環境設定名リストを更新するステップをさらに含む請求項１に記載の方法。
【請求項３】
環境設定名リストがアクセス前の第１の名前を含む請求項１又は請求項２に記載の方法。
【請求項４】
ネットワークカードの環境設定名リストをユーザに対して表示して選択させるステップと、
ユーザが第２のネットワークカードにケーブルをプラグインした時に第２のネットワークカードの接続ステータスインジケータを変更するステップとをさらに含む請求項１〜請求項３の何れか１項に記載の方法。
【請求項５】
第１および第２のホストサーバがクラスタとして通信可能に接続され、共用ストレージに通信可能に接続された請求項１〜請求項４の何れか１項に記載の方法。
【請求項６】
データ構造体が環境設定名リスト内の環境設定名のいずれかに対応する第１および第２のホストサーバの各々へのインターネットプロトコル情報を含み、該方法が、第２のホストサーバを環境設定する時に、第２のホストサーバの第１の名前に対応するインターネットプロトコル情報を第２のネットワークカードに割り当てるステップをさらに含む請求項１〜請求項５の何れか１項に記載の方法。
【請求項７】
第１および第２のホストサーバが共用ストレージを統合したシャーシ内に搭載されるサーバブレードである請求項１〜請求項６の何れか１項に記載の方法。
【請求項８】
ネットワークカードに関連付けられたネットワークポートに割り当てられた現在の名前のリストを表示するステップと、
シャーシのグラフ表現をユーザに対して表示するステップであって、グラフ表現が現在の名前のリストからユーザが選択した第１のネットワークポートのロケーションを視覚的に識別するステップとをさらに含む請求項１〜請求項７の何れか１項に記載の方法。
【請求項９】
ユーザからの入力内容を受信して、プロセス制御システム内に新しいワークステーションとしての新しい仮想マシンを作成するステップと、
新しいワークステーションに対応する仮想マシンのテンプレートを取得するステップと、
入力内容と仮想マシンのテンプレートとに基づいて新しい仮想マシンを自動的に環境設定するステップと、
仮想プロセス制御環境内に新しい仮想マシンを実装するステップと
をさらに含む請求項１〜請求項８の何れか１項に記載の方法。
【請求項１０】
仮想プロセス制御環境内に実装された仮想ネットワーク接続の概略図を生成するステップをさらに含み、仮想ネットワーク接続が仮想マシン、仮想スイッチ、又は第１および第２のホストサーバに関連付けられたネットワークカードの少なくとも１つを表すアイコンを結ぶ線によって表される請求項１〜請求項９の何れか１項に記載の方法。
【請求項１１】
仮想プロセス制御環境の第１および第２のホストサーバに関連付けられたネットワークカードの環境設定名リストを含むデータ構造体にアクセスするホスト環境設定モジュールであって、仮想マシンを実装する第１および第２のホストサーバがプロセス制御システムのワークステーションに対応するホスト環境設定モジュールと、
ホスト環境設定モジュールが第１のホストサーバを環境設定する時に、第１のホストサーバに関連付けられた第１のネットワークカードに第１の名前を割り当て、第１のホストサーバの環境設定後に、ホスト環境設定モジュールが第２のホストサーバを環境設定する時に環境設定名リストからのユーザの第１の名前の選択に基づいて、第２のホストサーバに関連付けられた第２のネットワークカードに第１の名前を割り当てるネットワークカード名アサイナとを含むシステム。
【請求項１２】
ホスト環境設定モジュールが第１のホストサーバを環境設定する時に環境設定名リストに第１の名前が追加される請求項１１に記載のシステム。
【請求項１３】
環境設定名リストがホスト環境設定モジュールが第１のホストサーバを環境設定する前の第１の名前を含む請求項１１又は請求項１２に記載のシステム。
【請求項１４】
ネットワークカードの環境設定名リストをユーザに対して表示して選択させ、
ユーザが第２のネットワークカードにケーブルをプラグインした時に第２のネットワークカードの接続ステータスインジケータを変更するユーザインタフェースをさらに含む請求項１１〜請求項１３の何れか１項に記載のシステム。
【請求項１５】
第１および第２のホストサーバがクラスタとして通信可能に接続され、共用ストレージに通信可能に接続された請求項１１〜請求項１４の何れか１項に記載のシステム。
【請求項１６】
第１および第２のホストサーバが共用ストレージを統合したシャーシ内に搭載されるサーバブレードである請求項１１〜請求項１５の何れか１項に記載のシステム。
【請求項１７】
ネットワークカードに関連付けられたネットワークポートに割り当てられた現在の名前のリストを表示し、
シャーシのグラフ表現をユーザに対して表示するユーザインタフェースをさらに含み、グラフ表現が現在の名前のリストからユーザが選択した第１のネットワークポートのロケーションを視覚的に識別する請求項１１〜請求項１６の何れか１項に記載のシステム。
【請求項１８】
仮想プロセス制御環境内に実装された仮想ネットワーク接続の概略図を生成する仮想ネットワーク可視化ジェネレータをさらに含み、仮想ネットワーク接続が仮想マシン、仮想スイッチ、又は第１および第２のホストサーバに関連付けられたネットワークカードの少なくとも１つを表すアイコンを結ぶ線によって表される請求項１１〜請求項１７の何れか１項に記載のシステム。
【請求項１９】
有形のコンピュータ可読ストレージ媒体であって、命令を含み、実行されると、マシンが少なくとも、
仮想プロセス制御環境の第１および第２のホストサーバに関連付けられたネットワークカードの環境設定名のリストを含むデータ構造体にアクセスし、第１および第２のホストサーバがプロセス制御システムのワークステーションに対応する仮想マシンを実装し；
第１のホストサーバを環境設定する時に、第１のホストサーバに関連付けられた第１のネットワークカードに第１の名前を割り当て；
第２のホストサーバを環境設定する時に、環境設定名のリストからの第１の名前のユーザ選択に基づいて、第２のホストサーバに関連付けられた第２のネットワークカードに該第１の名前を割り当て、第２のホストサーバが第１のホストサーバの後に環境設定される、
有形のコンピュータ可読ストレージ媒体。
【請求項２０】
命令によって、マシンがさらに、第１のホストサーバを環境設定する時に、第１の名前で環境設定名リストを更新する請求項１９に記載の有形のコンピュータ可読ストレージ媒体。
【請求項２１】
環境設定名リストがアクセスされる前の第１の名前を含む請求項１９又は請求項２０に記載の有形のコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本特許出願は、その全体が参照により本明細書に組み込まれた、２０１３年９月２７日出願の米国仮特許出願第６１／８８３，７３７号の利益を主張する。
【０００２】
本開示は、一般にプロセス制御システムに関し、より詳細には、仮想化分散制御システムの自動化コミッショニングシステム及び方法に関する。
【背景技術】
【０００３】
通常の制御システムは、多数のワークステーション、サーバ、コントローラおよびＩ／Ｏサブシステムのネットワークを含む。開発、試験、教育およびオンライン生産に必要な複数のシステムのセットアップおよび保守は高価で時間がかかる可能性がある。複数のソフトウェアおよびハードウェア製品をサポートしなければならない時、特に、バージョンが新しいワークステーションハードウェアでレガシーなオペレーティングシステム（ＯＳ）ソフトウェアがサポート対象でない時には、これらの複数のシステムのサポートはさらに複雑になる。
【図面の簡単な説明】
【０００４】
【図１】図１は、本開示の教示を実装できる例示的なプロセス制御システムの概略図である。
【図２】図２は、図１の仮想プロセス制御環境を環境設定する例示的な仮想ネットワーク環境設定システムのブロック図である。
【図３】図３は、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられる環境設定ダイアログの一例である。
【図４】図４は、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられる環境設定データ構造体ダイアログの一例である。
【図５Ａ】図５Ａは、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられる環境設定データ構造体の例である。
【図５Ｂ】図５Ｂは、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられる環境設定データ構造体の例である。
【図６】図６は、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられるネットワークカード環境設定ダイアログの一例である。
【図７】図７は、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられるネットワークカード環境設定ダイアログの例である。
【図８】図８は、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられるネットワークカード環境設定ダイアログの例である。
【図９】図９は、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられるＳＡＮ環境設定ダイアログの一例である。
【図１０】図１０は、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられるネットワークカード環境設定ダイアログの一例である。
【図１１】図１１は、図２の例示的な仮想ネットワーク環境設定システムに関連して用いられる仮想マシン作成ダイアログの一例である。
【図１２】図１２は、図２の例示的な仮想ネットワーク環境設定システムによって生成される仮想プロセス制御システムネットワークの例示的な概略図である。
【図１３】図１３は、図２の例示的な仮想ネットワーク環境設定システムを実装して図１の仮想プロセス制御環境を環境設定する例示的な方法を示すフローチャートである。
【図１４】図１４は、図２の例示的な仮想ネットワーク環境設定システムを実装して図１のホストサーバを環境設定またはセットアップする例示的な方法を示すフローチャート１４００である。
【図１５】図１５は、図２の例示的な仮想ネットワーク環境設定システムを実装して図１のホストサーバのネットワークカードを環境設定する例示的な方法を示すフローチャートである。
【図１６】図１６は、図２の例示的な仮想ネットワーク環境設定システムを実装して図１のホストサーバに関連付けられたネットワークカードを環境設定する例示的な方法を示すフローチャートである。
【図１７】図１７は、図２の例示的な仮想ネットワーク環境設定システムを実装して図１のホストサーバに関連付けられたネットワークカードを環境設定する例示的な方法を示すフローチャートである。
【図１８】図１８は、図２の例示的な仮想ネットワーク環境設定システムを実装して図１のＳＡＮを環境設定する例示的な方法を示すフローチャートである。
【図１９】図１９は、図２の例示的な仮想ネットワーク環境設定システムを実装して図１の統合共用ストレージを環境設定する例示的な方法を示すフローチャートである。
【図２０】図２０は、図２の例示的な仮想ネットワーク環境設定システムを実装して仮想プロセス制御環境に仮想ワークステーションを作成する例示的な方法を示すフローチャートである。
【図２１】図２１は、図２の例示的な仮想ネットワーク環境設定システムを実装して既存のプロセス制御システムに基づいて仮想プロセス制御システムを生成する例示的な方法を示すフローチャートである。
【図２２】図２２は、図２の例示的な仮想ネットワーク環境設定システムを実装して既存のプロセス制御システムのネットワークを探索する例示的な方法を示すフローチャートである。
【図２３】図２３は、図２の例示的な仮想ネットワーク環境設定システムを実装してプロセス制御システムネットワークの概略図を生成する例示的な方法を示すフローチャートである。
【図２４】図２４は、図１３〜２３の例示的な方法を実行するために、かつ／または、より一般には、図２の例示的な仮想ネットワーク環境設定システムを実装するために使用でき、かつ／またはプログラミングできる例示的なプロセッサプラットフォームの概略図である。
【発明を実施するための形態】
【０００５】
コンピュータアーキテクチャ、ネットワーキング、および仮想化における技術革新の組み合わせは、有効で、管理が容易な仮想化コンピュータ環境を実現させた。ＩＴ部門はこれらの仮想化環境を用いてコストを低減し、システムの稼働時間を向上させている。一言で言えば、仮想化とは、仮想マシン（ＶＭ）と呼ばれるゲストとしてホストコンピュータ上で実行できるように、オペレーティングシステムおよびアプリケーションを含めてコンピュータをカプセル化する方法である。ホストコンピュータから複数の仮想マシンを実行することも可能である。仮想マシンは、ハードウェア以外の、アプリケーションを起動し実行するために必要な全てを含むファイルである。仮想マシンを実行するために、ホストコンピュータは、通常、ネットワーク接続、ＵＳＢポート、およびその他の周辺デバイスを含む、仮想マシンとホストコンピュータのハードウェアとの間のマッピングを提供する仮想化ソフトウェア層（例えば、Ｍｉｃｒｏｓｏｆｔ（商標）から発売されているＨｙｐｅｒ−Ｖ（商標）などのハイパーバイザ）を必要とする。 
【０００６】
プロセス制御システムを含む仮想化システムの成功にとって最大の課題の１つは、ベースインフラストラクチャの初期セットアップと進行中の保守である。仮想化を伴わないＤｅｌｔａＶ（商標）などの分散制御システム（ＤＣＳ）の現在の開発モデルは、自社開発のＤＣＳハードウェアに加えて数百台のコンピュータワークステーションサーバノードを含んでいてもよい。コンピュータの数量がこれほどになると、相手先ブランド供給業者（ＯＥＭ）および／または販売業者（例えば、Ｄｅｌｌ）にコンピュータハードウェアを事前環境設定させることがコスト効果が高い。例えば、コンピュータハードウェア出荷前に工場で適用されるハードドライブイメージが制御システム販売業者と連携して作成される。ただし、中〜大規模の仮想化では、例えば、スイッチおよび／またはストレージ領域ネットワーク（ＳＡＮ）などのイメージ化できない多数の追加コンポーネントが必要である。その結果、エンドカスタマによるシステムのオンサイトセットアップにはかなりのＩＴ間接費がかかる。言い換えると、仮想化は、ルーティングイーサネット、モニタおよび／またはその他のコンピュータケーブルおよびコンポーネントなどの簡単なコンピュータセットアップ間接費を低減するが、インストール労務費の点で仮想化によって得られる利益を相殺しかねない仮想ネットワークスイッチ、ＳＡＮデバイス、ＶＬＡＮ（仮想ローカルエリアネットワーク）などの環境設定を含む複雑なＩＴセットアップの間接費の増加を伴う。さらに、より複雑な仮想アプライアンスシステムを診断し保守する機能もそれに付随する費用がかかる。
【０００７】
高可用性（ＨＡ）仮想化ＤＣＳセットアップの最も複雑なステップの１つはストレージ領域ネットワーク（ＳＡＮ）およびクラスタの環境設定である。クラスタは仮想化プロセス制御システムを実装する物理的バックボーンを提供するホストサーバのネットワークである。ホストサーバのクラスタは共通または共用メモリストレージロケーション（ハードドライブ）に接続されるように環境設定されることが多い。クラスタは、ストレージが個々のホストの固有のストレージであるかのように各々のホストが共用ストレージと相互作用するように環境設定される。クラスタに接続された共用ストレージはブロックレベルのストレージを提供するＳＡＮデバイス（単にＳＡＮと呼ばれることが多い）と共に実装される場合が多い。ＳＡＮで環境設定されたクラスタは、１つのホストサーバが障害になると、そのホスト上で実行されている仮想マシンを別のホストサーバ上に自動的に実装できるという点での高可用性を可能にする。 
【０００８】
ＳＡＮおよびクラスタの環境設定は、インターネット小型コンピュータシステムインタフェース（ｉＳＣＳＩ）プロトコルに従ったホストサーバおよびＳＡＮデバイスの各々の配線を含む。１本または複数本のケーブルを間違ったポートにプラグインする、ネットワークカードおよび／またはそれに対応するホストのラベリングまたはタグ付けが一貫しない、インターネットプロトコル（ＩＰ）情報（例えば、ＩＰアドレス）を間違って入力する（例えば、入力ミスによって）などの機会が多いために、そのような環境設定手順には人為的なエラーがつきものである。環境設定の技術的な性質のために、技術者による仮想プロセス制御環境のセットアップが数日かかることは珍しくない。さらに、完全に環境設定したシステムは場合によって比較的脆弱である。例えば、ホストコンピュータ名をリネームしたり時間帯を変更するとクラスタが使用できなくなり、セットアップの一部を繰り返さなければならないことがある。さらに、セットアップ時のエラーが容易に検出されないこともある。 
【０００９】
上記の課題のいくつかは、ホストサーバと共用ストレージ（例えば、ＳＡＮ）とをスタンドアロンコンポーネント内に統合することで部分的に解決できる。例えば、ホストサーバは、統合共用ストレージ（例えば、Ｄｅｌｌ（商標）製のＰｏｗｅｒＥｄｇｅ  ＶＲＴＸ）を有するシャーシ内の個々のブレードであってもよい。そのようないくつかの実施例では、ブレードサーバと共用ストレージはシリアルアタッチドＳＣＳＩプロトコルに従って直接アタッチされている。統合ストレージを備えたシャーシ内にブレードサーバを介して仮想プロセス制御環境を実装することで、ブレード、共用ストレージ、およびネットワークカードロケーションの間のネットワーク構造が固定されるため、複雑さは幾分簡単化される。したがって、一定の環境設定ステップをシャーシのＯＥＭが事前環境設定することができる。ただし、実装先の特定の用途（例えば、プロセス制御システム）については、ホスト（ブレード）サーバ（関連付けられたネットワークカードを含む）および共用ストレージを依然として環境設定する必要がある。したがって、そのような仮想システムの環境設定は上記のエラーにつながる複雑さを依然として伴う。
【００１０】
本明細書に開示する実施例は、そのような各々の設定を１回行なってシステム全体に適用できるようにすることで冗長な環境設定の選択を自動化することによって上記課題を克服する。例えば、通常のＳＡＮ環境設定では、同じハードウェアの複数のロケーションおよび／または異なるハードウェア（例えば、各ホストサーバおよびＳＡＮデバイス）に対して単一のパラメータ値（例えば、ネットワークカード名）を入力する作業が必要である。本明細書に開示する実施例は、クラスタ内の全てのサーバが使用する共通の命名規則を強制する。固定の命名規則をこのように実装することで、例えば、ネットワークカード選択時のタイプミスおよび見落としなどの共通のエラー要因を回避する手助けになる。いくつかの実施例では、エンドユーザに対して、固定の（例えば、事前定義された）ラベル、タグ、または名前を各物理ネットワークカードに割り当て、かつ／または個々のネットワークポートに名前を割り当てるためのダイアログが提示される。いくつかの実施例では、固定名は、ホストサーバによってサービスを提供されている制御システムアプライアンスの最も一般的なユースケースに対応するデフォルト名として提供される。別の例では、エンドユーザは固定名を定義できる（例えば、カスタムハードウェア環境設定を収容するように）。いずれにせよ、固定名は単一の環境設定データ構造体またはファイル内に（例えば、例えば、簡単なカンマで区切られる値（．ＣＳＶ）のファイル内に）記憶することができる。さらに、いくつかの実施例では、環境設定データ構造体は、異なるホストサーバに関連付けられた異なるネットワークカードおよび／またはネットワークポートのＩＰアドレス、サブネットアドレス、および／またはドメイン名システム（ＤＮＳ）アドレス（本明細書では集合的にＩＰ情報と呼ぶ）を定義する値などのＩＰ情報をさらに含む。固定名を含む環境設定データ構造体／ファイルは、ＯＥＭコンピュータ販売業者によって供給されるイメージの目的にかなう。いくつかの実施例では、環境設定データ構造体／ファイルは、ＯＥＭによって事前に用意され、かつ／またはプロセス制御システム販売業者によってプロセス制御システムと共に実装するハードウェアを環境設定するためのソフトウェアパッケージの形で提供される。
【００１１】
いくつかの実施例では、ホストサーバおよび共用ストレージの環境設定は環境設定データ構造体／ファイル内の値（例えば、名前、ＩＰ情報など）に基づく。すなわち、いくつかの実施例では、環境設定データ構造体／ファイルは、各々の適当なインスタンスで同じ名前が確実に使用されるように、仮想プロセス制御環境の環境設定プロセスを通して参照される。こうして、名前または値が一致しないリスクがなくなる。さらに、いくつかの実施例では、環境設定データ構造体／ファイル内に含まれる情報はエンドユーザからの入力がほとんどまたは全くない状態で仮想ネットワーク環境設定システムによって自動的にアクセスされ、これによって、技術者がシステムをセットアップしながら環境設定の判断を行なう時間、経費およびエラーの機会が大幅に低減される。
【００１２】
さらに、本明細書に開示する実施例では、あらゆる所望のタイプのワークステーションの全ての一般化された設定（例えば、オペレータステーション、履歴データの収集など）を含む仮想マシンテンプレートに基づくプロセス制御システム内の仮想ワークステーションの比較的高速の環境設定が可能である。さらに、本明細書に開示する実施例では、参照用に（例えば、トラブルシューティング中に）接続の概略図を生成するための全プロセス制御システムネットワークの接続の探索が可能である。さらに、ネットワーク接続の探索および生成を用いて、トラブルシューティング、シミュレーション、教育、および／またはシステムマイグレーションのために複製の仮想化システムを作成することができる。さらに、本明細書に記載するネットワーク探索は物理ネットワークに適用可能で、物理制御システムから仮想制御システムへの変換が可能である。
【００１３】
プロセス制御システムの文脈における仮想化に関する一般背景情報が、参照によりその全体が本明細書に取り込まれた「DeltaV（商標） Virtualization」(Emerson Process Management、DeltaV Whitepaper、http://www2.emersonprocess.com/siteadmincenter/PM%20DeltaV%20 Documents/Whitepapers/DV_WP_Virtualization.pdf、２０１４年６月）と、「DeltaV（商標） Virtual Studio」（Emerson Process Management、DeltaV Product Data Sheet、http://www2.emersonprocess.com/siteadmincenter/PM%20DeltaV%20Documents/ProductDataSheets/PDS_DeltaV_Virtual_Studio.pdf, ２０１４年６月）に提供されている。
【００１４】
各図の詳細について述べる。図１は、本開示の教示を実装できる例示的なプロセス制御システムすなわち、ＤＣＳ１００の概略図である。本明細書で使用する「プロセス制御システム」という句は、「分散制御システム（ＤＣＳ）」と交換可能に使用される。図１の例示的なＤＣＳ１００は、あらゆる所望の通信媒体（例えば、無線、有線などの）およびプロトコル（例えば、Ｆｏｕｎｄａｔｉｏｎ  Ｆｉｅｌｄｂｕｓ、Ｐｒｏｆｉｂｕｓ、ＨＡＲＴなど）を用いる複数のスマートおよび／または非スマートフィールドデバイス１０４と通信可能に接続されたプロセスコントローラ１０２を含む。図１の例示的なコントローラ１０２は、例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔの企業であるＦｉｓｈｅｒ−Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ，  Ｉｎｃ．から発売されているＤｅｌｔａＶ（商標）コントローラであってもよい。本明細書に開示する教示はＤｅｌｔａＶ（商標）ハードウェア、ソフトウェアおよび／またはファームウェアに関連して記載されているが、上記教示は、他のエンティティによって製造され、かつ／または開発された他のハードウェア（例えば、他のコントローラ）ファームウェア、および／またはソフトウェアにも適合させることができる。さらに、図１には２つのコントローラ１０２が示されているが、あらゆる所望のタイプおよび／またはタイプの組み合わせの追加のコントローラおよび／またはより少ないコントローラおよび／またはプロセス制御プラットフォームを例示的なＤＣＳ１００に実装することができる。
【００１５】
通常、プロセス制御システム内のコントローラは、１つ又は複数のコンピュータに関連付けることができる１つ又は複数のオペレータステーション、アプリケーションステーション、および／またはその他のワークステーション（本明細書では集合的にワークステーションと呼ぶ）と通信可能に接続されている。ただし、図示の実施例では、コントローラ１０２は例示的な仮想プロセス制御環境１０６と通信可能に接続されている。図１の例示的な仮想プロセス制御環境１０６は、例示的なドメインコントローラ１０８と、例示的な第１のホストサーバ１１０と、例示的な第２のホストサーバ１１２と、例示的な第３のホストサーバ１１４と、例示的なストレージ領域ネットワーク（ＳＡＮ）１１６とを含む。図示の実施例では、仮想プロセス制御環境１０６は表１１８にリストされた複数の仮想ワークステーション１１７に対応する仮想マシンを実装する。 
【００１６】
表１１８に示すように、ＤＣＳ１００のために実装された仮想ワークステーション１１７は、８つの仮想オペレータステーション１２０と、４つの仮想アプリケーションステーション１２２と、１つの仮想プライマリ制御システムアプリケーションステーション１２４（例えば、ＤｅｌｔａＶ（商標）  Ｐｒｏｐｌｕｓワークステーション）とを含む。特に、図示の実施例では、第１のホストサーバ１１０は、仮想オペレータステーション１２０のうち３つと、仮想アプリケーションステーション１２２のうち２つとを実装し、第２のホストサーバ１１２は、仮想オペレータステーション１２０のうちの別の３つと、仮想アプリケーションステーション１２２のうち１つとを実装し、第３のホストサーバ１１４は、仮想オペレータステーション１２０のうち残りの２つと、最後の仮想アプリケーションステーション１２２と、仮想プライマリ制御システムアプリケーションステーション１２４とを実装する。例示の仮想ワークステーションの例示的な分割が表１１８に示されているが、例示的な仮想ワークステーションは、ホストサーバ１１０、１１２、１１４の各々の要求に応じた組み合わせでホストサーバ１１０、１１２、１１４のいずれに割り当ててもよい。追加的に、又は別法として、いくつかの実施例では、仮想ワークステーションの１つ以上の複製コピーをホストサーバ１１０、１１２、１１４に別々に実装してもよい。
【００１７】
図示の実施例では、ホストサーバ１１０、１１２、１１４およびＳＡＮ１１６は通信可能に相互接続され、一般にクラスタと呼ばれるネットワークを形成する。ドメインコントローラ１０８はクラスタと通信しクラスタを管理し、クラスタ内の情報へのアクセスを制御する。図示の実施例では、ＳＡＮ１１６は、ホストサーバ１１０、１１２、１１４の各々がメモリの同じ論理ユニット（例えば、同じ論理ユニット番号）に対して読み出し／書き込み動作を実行できる共通または共用ストレージ（例えば、クラスタ共用ボリューム）としての役割を果たす。こうして、仮想ワークステーション１１７の実装に関連付けられたデータは、各ホストサーバ１１０、１１２、１１４内の固有のハードドライブとは別に記憶され、システムの高可用性を提供する。例えば、ホストサーバ１１０、１１２、１１４のいずれかが障害になった場合、そのホストサーバによって実装された仮想ワークステーション１１７は残りのホストサーバ１１０、１１２、１１４の１つで始動できる。いくつかの実施例では、各ホストサーバ１１０、１１２、１１４がローカルなハードドライブを信頼するようにＳＡＮ１１６は含まれない。 
【００１８】
図１に示す実施例では、仮想プロセス制御環境１０６内のホストサーバ１１０、１１２、１１４の各々（およびそれに関連付けられたＳＡＮ１１６）は、バスおよび／または一般にアプリケーション制御ネットワーク（ＡＣＮ）と呼ばれるローカルエリアネットワーク（ＬＡＮ）１２８を介してコントローラ１０２に通信可能に接続されている。図１の例示的なＬＡＮ１２８は、あらゆる所望の通信媒体およびプロトコルを用いて実装できる。例えば、例示的なＬＡＮ１２８は、有線および／または無線イーサネット通信方式に基づいていてもよい。ただし、その他のあらゆる好適な通信媒体および／またはプロトコルも使用できる。さらに、図１には１つのＬＡＮ１２８が示されているが、複数のＬＡＮおよび／またはその他の代替の通信ハードウェアを用いて図１の例示的なコンポーネント間に冗長通信経路を提供することができる。 
【００１９】
いくつかの実施例では、仮想プロセス制御環境１０６（例えば、ドメインコントローラ１０８、ホストサーバ１１０、１１２、１１４、およびＳＡＮ１１６）は、仮想プロセス制御環境１０６内に実装された仮想ワークステーション１１７にリモート側からアクセスできるシンクライアント１２６に通信可能に接続されているため、オペレータ、技術者、および／またはその他のプラント要員は、あたかも仮想ワークステーション１１７がシンクライアント１２６のディスプレイに関連付けられた物理コンピュータシステムおよび／またはその他のプロセッサプラットフォームを実装された場合と同様に、そのディスプレイ上にレンダリングされたユーザインタフェースを介してワークステーションと対話することができる。したがって、例示的な仮想プロセス制御環境１０６は、この方法以外では、８つの仮想オペレータステーション１２０と、４つの仮想アプリケーションステーション１２２と、１つの仮想プライマリ制御システムアプリケーションステーション１２４の各々に対応する１３の異なるコンピュータシステムを必要とするような方法で動作し、ＤＣＳ１００を制御することができる。したがって、ワークステーションを仮想的に実装する例示的な仮想プロセス制御環境１０６は、より伝統的な（すなわち、非仮想）プロセス制御システムのハードウェア、インストール、および保守のコストを有意に低減することができる。さらに、ハードウェアを削減したことで、例えば、コンピュータ装置の消費電力および冷却などのある種の運用コストも低減される。 
【００２０】
図１に示す例示的な仮想プロセス制御環境１０６を備えた例示的なＤＣＳ１００の実装によって、システムの占有面積を低減しながらハードウェアの利用度を改善できる。例示的な仮想プロセス制御環境１０６はさらにシステムの開発および／または運用の柔軟性を向上させる。例えば、仮想化によって、例えば、教育目的のためにさまざまなシナリオを開発する時に仮想ワークステーションを比較的容易に追加または撤去することができる。さらに、ソフトウェアとハードウェアが独立しているため、仮想プロセス制御環境１０６を備えた例示的なＤＣＳ１００によって、ソフトウェアのさまざまなバージョンを用いるさまざまなシステムのサポートが可能になる。同様に、仮想プロセス制御環境１０６によって、ソフトウェアがハードウェアによってサポートされているか否かに関わらず、ソフトウェアとハードウェアを別々に更新できる。
【００２１】
いくつかの実施例では、統合サーバおよびストレージソリューションに基づいて、仮想プロセス制御環境１０６（すなわち、別個のドメインコントローラ１０８、ホストサーバ１１０、１１２、１１４、およびＳＡＮ１１６）を取り外し、かつ／または別の仮想プロセス制御環境１３０を実装することができる。図示の実施例のように、仮想プロセス制御環境１３０は、統合共用ストレージ１３８と共にシャーシ内にブレードサーバとして実装された３つのホストサーバ１３２、１３４、１３６を含む。図示の実施例に示すように仮想プロセス制御環境１３０を仮想プロセス制御環境１０６に置き換えて上記と同じ機能を提供して仮想ワークステーション１１７を実装し、それらをプロセスコントローラ１０２およびＤＣＳ１００の残りに通信可能に接続することができる。ただし、仮想プロセス制御環境１３０の環境設定および内部動作は仮想プロセス制御環境１０６のそれとは異なる場合がある。例えば、ＳＡＮ１１６はホストサーバ１１０、１１２、１１４とは別個であるため、インターネット小型コンピュータシステムインタフェース（ｉＳＣＳＩ）プロトコルを用いてそれらのコンポーネントを通信可能に相互接続することができる。これとは対照的に、シャーシ１３８は統合ストレージ（例えば、ＳＡＮ）を含むため、いくつかの実施例では、ホストサーバ１３２、１３４、１３６は、シリアルアタッチドＳＣＳＩ（ＳＡＳ）プロトコルを介して直接アタッチされている。共用ストレージおよびホストサーバを仮想プロセス制御環境１３０の単一のシャーシ内に統合することで、さらにコストが低減し、仮想プロセス制御環境１０６よりも小さい占有面積を達成できる。また、共用ストレージはホストサーバ１３２、１３４、１３６と共にシャーシ１３８内に統合されているため、この方法によらなければエンドユーザが実行しなければならない配線および環境設定の一部をシャーシのＯＥＭが達成することができる。
【００２２】
２つの例示的な仮想プロセス制御環境１０６、１３０について説明したが、その他の実施態様および／または変形形態も採用できる。例えば、ホストサーバは、ファイバアタッチドストレージまたは外部にアタッチされたＳＡＳストレージ（上記の直接アタッチされたストレージとは逆に）と共に実装できる。さらに、説明を分かりやすくするために、本明細書に開示する実施例は仮想プロセス制御環境１０６に関して記載しているが、特に断りのない限り、仮想プロセス制御環境１３０にも同様に適用される。 
【００２３】
図１は、有利には本明細書に開示する教示を内部に採用できる例示的なＤＣＳ１００を示しているが、本明細書に開示する教示は、所望であれば、有利には、図１に示す実施例よりも複雑な、または複雑でない（例えば、複数の仮想プロセス制御環境１０６を含む、より多くのワークステーション（物理および／または仮想）を有する）、複数の地理的ロケーションにまたがる）他のプロセスプラントおよび／またはプロセス制御システム内に実装することができる。
【００２４】
以下に詳述するように、本明細書に開示する実施例は、図１の例示的なＤＣＳ１００などのプロセス制御システム内の図１の例示的な仮想プロセス制御環境１０６、１３０などの仮想プロセス制御環境のセットアップおよび環境設定を自動化する。本明細書に開示する教示を実装するために、システムの全てのハードウェアセットアップが、どのネットワークカード（例えば、ホストサーバ１１０、１１２、１１４の）がどのネットワークに接続されているかの検証まで（検証を含まない）完了していることを前提とする。すなわち、ドメインコントローラ１０８、ホストサーバ１１０、１１２、１１４、およびＳＡＮ１１６は適切に接続されて（環境設定はまだだが）相互に通信可能であることを前提とするが、ＤＣＳ１００のコントローラ１０２およびフィールドデバイス１０４からの接続（例えば、イーサネットケーブルを介した）はホストサーバ１１０、１１２、１１４に到達していない。さらに、ドメインコントローラ１０８はホストサーバ１１０、１１２、１１４およびＳＡＮ１１６は適切に接続されていてホストサーバ１１０、１１２、１１４およびＳＡＮ１１６からの要求を受信してドメインに参加することを前提とする。同様に、仮想プロセス制御環境１３０に関して、ホストサーバ１３２、１３４、１３６がシャーシ１３８内で適切に接続されて相互に、また統合ストレージおよびそれに関連付けられたドメインサーバと通信可能であることを前提とする。さらに、本明細書に開示する教示は、オペレーティングシステムおよびネットワークカードの全てのドライバがホストサーバ１１０、１１２、１１４の各々にインストールされた後で開始する。
【００２５】
図２は、本明細書に開示する教示に従って構築されて図１の仮想プロセス制御環境１０６、１３０を環境設定する例示的な仮想ネットワーク環境設定システム２００のブロック図である。例示的な仮想ネットワーク環境設定システム２００は、例示的な仮想ネットワーク実装モジュール２０２と、例示的な環境設定パラメータモジュール２０４と、例示的なネットワークカード名アサイナ２０８を含む例示的なホスト環境設定モジュール２０６と、例示的なＩＰアドレスデジグネータ２１０と、例示的なフレームサイズアサイナ２１２と、例示的な共用ストレージ環境設定モジュール２１４と、例示的な仮想マシンジェネレータ２１６と、例示的なテンプレートデータベース２１８と、例示的なネットワークディスカバラ２２２と例示的な仮想ネットワーク可視化ジェネレータ２２４とを含む例示的な仮想ネットワークアナライザ２２０と、例示的なユーザ入力インタフェース２２６と、例示的なユーザ表示インタフェース２２８とを含む。
【００２６】
図２に示す実施例では、仮想ネットワーク環境設定システム２００は、仮想ネットワーク環境設定システム２００の異なる部分の動作を監督する例示的な仮想ネットワーク実装モジュール２０２を備える。例えば、仮想ネットワーク実装モジュール２０２は、例示的な仮想ネットワーク環境設定システム２００の別の部分へ命令またはコマンドを送信してそれらの部分の動作を制御できる。いくつかの実施例では、仮想ネットワーク実装モジュール２０２は仮想プロセス制御環境の性質に基づいて実行する環境設定の手順またはタイプを決定する。すなわち、遵守する環境設定手順は、仮想プロセス制御環境を別のストレージ領域ネットワーク（例えば、図１の仮想プロセス制御環境１０６）を備えた複数のホストサーバを用いて実装するか、または仮想プロセス制御環境を統合共用ストレージ（例えば、図１の仮想プロセス制御環境１３０）を備えたシャーシを用いて実装するかに応じて異なる。 
【００２７】
いくつかの実施例では、仮想ネットワーク実装モジュール２０２は、ユーザ表示インタフェース２２８を介して表示されるダイアログに入力されたユーザフィードバックに基づいて環境設定手順を決定する。そのようなフィードバックを得る例示的なダイアログ３００を図３に示す。図示の実施例に示すように、ダイアログ３００は４つの異なるオプションをユーザに提供する。第１のオプション３０２を選択して、ＳＡＮに通信可能に接続されたホストサーバ（およびそれに関連付けられたネットワークカード）（例えば、図１の仮想プロセス制御環境１０６のホスト１１０、１１２、１１４およびＳＡＮ１１６）を環境設定することができる。第２のオプション３０４を選択して、統合共用ストレージを備えたシャーシ内にホストサーバ（およびそれに関連付けられたネットワークカード）（例えば、図１の仮想プロセス制御環境１０６のホスト１１０、１１２、１１４およびＳＡＮ１１６）を環境設定することができる。第３のオプション３０６を選択して、クラスタ内に環境設定しない、すなわちストレージ領域ネットワーク（ＳＡＮ）に関連付けられていないホストサーバ（およびそれに関連付けられたネットワークカード）を環境設定することができる。ユーザが手動でホストサーバをセットアップしたい、かつ／またはユーザが更新のみを実行したい場合（例えば、ホストサーバの環境設定が済んでいる場合、）、第４のオプション３０８を選択できる。仮想プロセス制御環境を環境設定する方法は、ユーザが選択するオプション３０２、３０４、３０６、３０８によって異なる。最初の２つのオプションに基づいて仮想プロセス制御環境を環境設定する例示的な方法について以下に詳述する。ただし、本明細書に開示する教示は非クラスタ化ホストサーバ（例えば、第３のオプション３０６）の環境設定および／または図３の例示的なダイアログに示されていないその他の環境設定（例えば、外部ＳＡＳストレージを備えたシャーシ、ファイバネットワークなど）に適合させることができる。
【００２８】
図２を再度参照すると、仮想ネットワーク環境設定システム２００は、仮想プロセス制御環境１０６、１３０の環境設定中に使用される情報および／またはパラメータを含む環境設定パラメータデータ構造体および／またはファイルを生成し、記憶し、かつ／または管理する例示的な環境設定パラメータモジュール２０４を備える。いくつかの実施例では、環境設定データ構造体／ファイルは、環境設定プロセス中に使用するパラメータリストとそれに関連付けられた値を含むカンマで区切られた値（．ＣＳＶ）のファイルである。そのような環境設定データファイルを用いて、別個のＳＡＮ１１６を含む仮想プロセス制御環境１０６を環境設定することができる。そのようないくつかの実施例では、ユーザが環境設定データファイルを生成し、環境設定パラメータモジュール２０４がインポートできる（例えば、図４の例示的なダイアログ４００内に示す環境設定データファイルへのファイルパスの識別時に）。いくつかの実施例では、環境設定データファイルにダイアログ４００を介してインポートできる仮想ネットワーク環境設定システム２００の開発業者から提供されるパラメータ値を事前に記入でき、または環境設定プロセス中に自動的に提供することができる。いくつかの実施例では、ホストサーバと共用ストレージ（例えば、仮想プロセス制御環境１３０内の統合ストレージ）間の接続および関係が分かっている場合、環境設定データ構造体は相手先ブランド供給業者および／または販売業者によって事前ロードされたソフトウェア内に統合された．ＣＳＶファイル以外のフォーマットであってもよい。いくつかの実施例では、環境設定データ構造体はホストサーバの環境設定プロセス中に例示的な環境設定パラメータモジュール２０４によって生成される。そのようないくつかの実施例では、ユーザはプロセス中に環境設定データ構造体内にパラメータの値を挿入し、変更し、かつ／または追加することができる。
【００２９】
図５Ａおよび５Ｂは、テーブルとして表される例示的な環境設定データ構造体またはファイル５００、５０２を示す。上記のように、仮想プロセス制御環境１０６は共用ストレージと共に、または無しで（例えば、クラスタと共に、または無しで）実装できる。したがって、図５Ａの環境設定データ構造体５００は非クラスタ化システム（例えば、図３に示す第３のオプション３０６）の設定に対応するのに対して、図５Ｂの環境設定データ構造体５０２は、外部（例えば、図３の第１のオプション）かホストサーバを備えたシャーシ（例えば、図３の第２のオプション）内に統合されているかを問わずＳＡＮを含むシステムの設定の対応する。
【００３０】
図示の実施例では、環境設定データ構造体５００、５０２の両方はホストサーバ１１０、１１２、１１４の各々の名前またはラベルを提供する第１の行５０４を含む。例えば、第１の名前５０６（「ＶＨＯＳＴ１」）は第１のホストサーバ１１０に対応していてもよく、第２の名前５０８（「ＶＨＯＳＴ２」）は第２のホストサーバ１１２に対応していてもよく、第３の名前５１０（「ＶＨＯＳＴ３」）は第３のホストサーバ１１４に対応していてもよい。いくつかの実施例では、名前５０６、５０８、５１０は、製造業者および／または販売業者によってデフォルトで環境設定データ構造体５００、５０２内に提供される。ただし、いくつかの実施例では、ユーザは環境設定データ構造体５００、５０２を編集してホストサーバ１１０、１１２、１１４の名前を適当に変更できる（例えば、各ホストサーバがすでに異なる名前に関連付けられている場合）。さらに、いくつかの実施例では、環境設定データ構造体内により少ないかまたはより多い名前を含めて （例えば、デフォルトで、かつ／またはエンドユーザが追加および／または除去して）、システム内で環境設定する適当な数のホストサーバに対応させることができる。
【００３１】
図示の実施例では、環境設定データ構造体５００、５０２の両方はホストサーバに関連付けられた特定のネットワークカードおよび／またはネットワークポートに割り当てることができる環境設定名リスト５１４を含むネットワークカード名セットアップ部５１２を含む。いくつかの実施例では、ネットワークカード名セットアップ部５１２に含まれる環境設定名リスト５１４は、プロセス制御システムの最も一般的なユースケースに基づいて製造業者および／または販売業者によってデフォルトで環境設定データ構造体５００、５０２内に提供される。例えば、図示の実施例に示す環境設定名リスト５１４は、多数のＤｅｌｔａＶ（商標）プロセス制御システム内の共通名に対応する。したがって、多数のエンドユーザは、変更またはカスタム化の必要なしに提供された環境設定データ構造体５００、５０２を信頼することができる。さらに、ネットワークカード名５１４はデフォルトで提供できるが、いくつかの実施例では、エンドユーザは、環境設定データ構造体５００、５０２のネットワークカード名セットアップ部５１２内の名前を編集し、追加し、または削除することができる。
【００３２】
図５Ａの例示的な環境設定データ構造体５００とは対照的に、図５Ｂの例示的な環境設定データ構造体５０２は、ＳＡＮ１１６を環境設定する該当情報を含むクラスタセットアップ部５１６をさらに含む。特に、例示的なクラスタセットアップ部５１６はネットワークカードおよび／または特定のネットワークポートに割り当てる環境設定名リスト５１８を提供する。さらに、図５Ｂの実施例に示すように、環境設定データ構造体５０２内の環境設定名リスト５１８内の各々の名前の隣にはＩＰ情報５２０（例えば、ＩＰアドレス、サブネットアドレス、またはＤＮＳアドレス）がある。図示の実施例に示すように、ＩＰ情報５２０は、ホスト（ホスト名５０６、５０８、５１０で識別される）に対応するネットワークポート（環境設定名５１８で識別される）のＩＰ値を提供する。図示の実施例では、環境設定名リスト５１８は固定であるが、それに関連付けられたＩＰ情報５２０はデフォルト値として提供される（例えば、製造業者および／または販売業者によって）。すなわち、エンドユーザは環境設定名リスト５１８を変更できないが、それに関連付けられたＩＰ情報５２０をエンドユーザは必要に応じて編集できる。より一般的には、環境設定データ構造体５００、５０２内の網掛け表示された全てのパラメータをユーザは変更することができる。
【００３３】
図２を再度参照すると、いくつかの実施例では、環境設定パラメータモジュール２０４は環境設定データ構造体５００、５０２にエラーがないかチェックする （例えば、エンドユーザが生成した場合）。さらに、いくつかの実施例では、環境設定パラメータモジュール２０４は環境設定データ構造体によって指定された命名規則を強制する。特に、いくつかの実施例では、環境設定パラメータモジュール２０４は、環境設定プロセスで一貫した名前と値とが適用されるように、環境設定データ構造体５００、５０２内に提供された名前に従って、ユーザを命名ホストサーバ、ネットワークカード、および／またはネットワークポートに限定する。すなわち、環境設定プロセス中、ユーザは命名する特定のネットワークカードの名前を選択するための環境設定名リスト（両方のリスト５１４、５１８を含んでいてもよい）を提供される。したがって、ユーザが環境設定データ構造体内に提供されたものとは異なる名前をネットワークカードに割り当てたい場合、最初に環境設定データ構造体を変更する。いくつかの実施例では、環境設定データ構造体の変更は環境設定プロセス開始前に実行される。別の実施例では、ユーザは環境設定プロセス中に環境設定データ構造体内の特定のパラメータを変更できる。そのような実施例では、環境設定パラメータモジュール２０４はすでに環境設定されているパラメータと不一致ではないことを確認し、変更内容が特定の名前または値の変更の将来の全てのインスタンスで利用可能になるように、データ構造体を更新する。こうして、所望の名前または値の全てのインスタンスは一定に保たれ、別のロケーションのパラメータを変更せずに１つのロケーション（例えば、第１のホストサーバに関連付けられた）のネットワークカードの１枚のパラメータを変更する（または綴りを誤る）ことでユーザがセットアップ中にエラーを犯す（例えば、別のホストサーバに関連付けられた対応するネットワークカードを環境設定する際に）リスクが軽減される。 
【００３４】
図２に示す実施例では、仮想ネットワーク環境設定システム２００は、ホストサーバ１１０、１１２、１１４を環境設定する例示的なホストサーバと環境設定モジュール２０６を備える。図示の実施例に示すように、ホスト環境設定モジュール２０６は、例示的なネットワークカード名アサイナ２０８と、例示的なＩＰアドレスデジグネータ２１０と、例示的なフレームサイズデジグネータ２１２とを含む。いくつかの実施例では、ネットワークカード名アサイナ２０８は環境設定パラメータモジュール２０４と連携して機能し、ホスト環境設定モジュール２０６によって環境設定されているホストサーバ１１０、１１２、１１４の各々に関連付けられたネットワークカードおよび／またはネットワークポートに名前を割り当てる。いくつかの実施例では、カード名アサイナ２０８は、特定のホストサーバに関連付けられたネットワークカードおよび／またはネットワークポートの各々の現在の名前（例えば、製造業者のデフォルト名）のリストを提供するネットワークカード環境設定ダイアログを生成する。さらに、いくつかの実施例では、ネットワークカード環境設定ダイアログは、ネットワークカードおよび／またはポートの新しい名前を選択して割り当てるための環境設定名リストを含む。いくつかの実施例では、ネットワークカード名アサイナ２０８によって提供される環境設定名リストは環境設定データ構造体５００、５０２内の環境設定名リスト５１４、５１８に対応する。 
【００３５】
例示的なネットワークカード環境設定ダイアログ６００を図６に示す。例示的なネットワークカード環境設定ダイアログ６００は、デバイス名カラム６０２と、現在名カラム６０４と、新規名カラム６０６と、接続ステータスカラム６０８とを含む４つのカラムを含む。いくつかの実施例ではデバイス名カラム６０２はセットアップ中のホストサーバに関連付けられた各ネットワークカードのデバイス名を識別する。図６に示すように、しばしば、ネットワークカードのデバイス名は非記述的でホストサーバ内で任意である。さらにデバイス名は任意であるため、第１のホストサーバに関連付けられたネットワークカードのデバイス名は異なるホストサーバに関連付けられた対応する物理ネットワークカードに与えられたデバイス名と必ずしも同じではない。すなわち、異なるサーバ上の元のデバイス名は必ずしも一致せず、したがって、対応するネットワークカードを識別する際に信頼できるものではない。その結果、多くのインスタンスで、ネットワークカードのこの任意の命名法は混乱を招き、図１のＤＣＳ１００などの仮想プロセス制御システムのセットアップ時の潜在的なエラー要因である。 
【００３６】
いくつかの実施例では、現在名カラム６０４は、ホストサーバのメモリ内に記憶されたセットアップ中のホストサーバの各ネットワークカードに関連付けられた現在割り当てられている名前、ラベルまたはタグを識別する。いくつかの実施例では、新しいハードウェアが最初に環境設定される時、現在の物理ネットワークカード名は、最初の物理ネットワークカード名がネットワークカードの適切な環境設定で技術者を支援しないように、ネットワークカードの任意のおよび／または非記述的デバイス名に対応していてもよい（例えば、図６の第１のデバイス名カラム６０２に示すように）。 
【００３７】
この混乱および潜在的なエラーは、環境設定データ構造体５００、５０２内に提供された事前定義されたまたは固定の名前を用いたネットワークカードをリネームすることで開示の実施例において克服できる。特に、図６に示す実施例のように、新規名カラム６０６は、図５Ａ及び５Ｂに関連して上述した環境設定データ構造体内の環境設定名のリスト中の名前の各々を含む各ネットワークカードのためのドロップダウンメニュー６１０を含む。環境設定データ構造体からドロップダウンメニュー内に名前を提供することで、ユーザは各ネットワークカードを環境設定データ構造体によってすでに定義された名前の１つに割り当てるよう制限される。したがって、不注意による名前の変更の可能性（例えば、入力ミスおよび／または技術者が前に環境設定したホストサーバで割り当てた名前を忘れた場合）は低減する。 
【００３８】
ただし、環境設定データ構造体５００、５０２内の固定名は技術者がリネームする特定のネットワークカードにどの名前を選択するか知っている場合にのみ役に立つ。この障壁は特定のネットワークカードに関連付けられたネットワークポートの接続ステータスの表示を提供する接続ステータスカラム６０８によって図６に示す実施例によって克服できる。特に、接続ステータスカラム６０８はイーサネットケーブルをネットワークカードにプラグインした時に「切断」から「接続」へ切り替わる接続ステータスインジケータを提供する。したがって、接続ステータスカラム６０８内の接続ステータスインジケータの変化を観察することで、技術者がネットワークカードにプラグインした時に特定のケーブルがどのネットワークに関連付けられているかを知っている場合、技術者はネットワークカードを接続したネットワークに関連付けられた対応する環境設定名を選択できる。例えば、技術者がワイヤをホストサーバへ接続する時、ケーブルは通常、物理的にラベルが貼ってあるかその他の方法で技術者が識別できる（例えば、ワイヤにリングを付ける）。したがって、技術者が１本のケーブルをホストサーバのポートに挿入すると、１つのネットワークカードの接続ステータスが変化し接続状態を示す。この変化を識別することで、技術者はプラグインしたワイヤの識別するによって示される接続状態のワイヤの周知の接続元に基づいてネットワークカードの適切な名前を選択できる。こうして、ワイヤを追跡して各ホストサーバ内のポートを正しく識別するための労力と時間が大幅に削減される。いくつかの実施例では、ネットワークカード環境設定ダイアログ６００は周期的に（例えば、５秒毎に）リフレッシュされて接続ステータスインジケータを最新状態に保つ。 
【００３９】
いくつかの実施例では、ネットワークカード環境設定ダイアログ６００は、エンドユーザがＩＰアドレスをセットアップしたいか、またストレージ領域ネットワークの関連情報を示すユーザが選択可能なチェックボックス６１２を含む。いくつかの実施例ではチェックボックス６１２がチェックされた場合、例示的なＩＰアドレスデジグネータ２１０が環境設定データ構造体からＩＰ情報を取り出してそれを対応するホストサーバの対応するネットワークポートに割り当てる。チェックボックス６１２がチェックされないいくつかの実施例では、ネットワークカード名アサイナ２０８がネットワークカードおよび／またはポートを割り当てるが、対応するＩＰ情報はセットアップされない。環境設定データ構造体がＳＡＮを含まないいくつかの実施例では、チェックボックス６１２は灰色表示になるかまたはその他の形でユーザが利用できなくなる。 
【００４０】
別の例示的なネットワークカード環境設定ダイアログ７００を図７の実施例に示す。例示的なネットワークカード環境設定ダイアログ７００は、現在のポート名カラム７０２と、新規ポート名カラム７０４と、ＩＰ環境設定カラム７０６と、接続ステータスカラム７０８とを有するテーブル７０１を含む。図７の例示的なネットワークカード環境設定ダイアログ７００は、統合共用ストレージ（例えば、図１の仮想プロセス制御環境１３０）内のシャーシ内のホストサーバを介して実装された仮想プロセス制御環境を環境設定するように適合させることができる。したがって、現在のポート名カラム７０２はシャーシ１３８上の、ホストサーバ１３２、１３４、１３６に関連付けられたネットワークポートの各々の現在の名前を含む。新規ポート名カラム７０４は、ユーザがダイアログ７００を完了したら対応するポートを再度割り当てる名前の識別を含む。図示の実施例では、新規ポート名カラム７０４内の各々の名前は上記の例示的なネットワークカード環境設定ダイアログ６００と同様の環境設定データ構造体内の環境設定名リスト内の名前に対応する。 
【００４１】
ただし、図６とは異なり、例示的なネットワークカード環境設定ダイアログ７００は、技術者がいちいち１本のワイヤにリングを付けてプラグインし、接続ステータスインジケータの変化を観察する必要なしに、リストされた現在のポート名の各々に対応する物理ネットワークポートの可視表示を提供する。特に、図７の例示的なネットワークカード環境設定ダイアログ７００は、４つのサーバスロット７１４のロケーションと、８枚のネットワークカード７１６（２つは各スロット７１４に関連付けられている）のロケーションと、８つの共用スイッチ７１８のロケーションとを示すシャーシ１３８（ホストサーバ１３２、１３４、１３６を担持する）の前面７１０および背面７１２のグラフ表現を含む。仮想プロセス制御環境１３０は統合システムであるため、サーバスロット７１４の間の内部ネットワーク接続は分かっている。したがって、図示の実施例では、環境設定されている現在のホストサーバのロケーション（例えば、サーバスロット７１４のロケーション）は、例えば、対応するスロット７１４の周りのボックス７２０によって、シャーシ１３８のグラフ表現の前面７１０上で可視的に識別される。別の実施例では、追加的に、又は別法としてその他の可視表示を使用できる。いくつかの実施例では、対応するボックス７２２が特定のホストサーバに関連付けられたネットワークカードの周囲にレンダリングされ、ボックス７２４がホストサーバが利用可能な共用スイッチ７１８の周囲にレンダリングされている。こうして、特定のホストサーバおよびそれに関連付けられたネットワークポートはユーザから容易に識別でき、ケーブルのプラグインの際の参照が容易になる。さらに、いくつかの実施例では、ユーザがテーブル７０１にリストされた特定のネットワークポートを選択すると、別の可視インジケータ（例えば、色付きドット７２６）がシャーシ１３８のグラフ表現内にレンダリングされ、選択されたネットワークポートのロケーションを具体的に識別する。例えば、図示のように、第１のネットワークポートが選択されて共用スイッチ７１８の第１のスイッチ（ＮＩＣ１）に対応する。したがって、色付きドット７２６はシャーシ１３８のグラフ表現内の第１の共用スイッチの上にレンダリングされる。
【００４２】
図７に示す実施例では、ＩＰ環境設定カラム７０６は、ユーザが選択したネットワークポートについてＩＰ情報を環境設定するか否かをチェックするための各ネットワークポートのチェックボックスを含む。チェックボックスのいずれかをチェックした場合、ユーザがＯＫをクリックすると、図８に示す第２のネットワークカード環境設定ダイアログ８００が提供される。図８の実施例に示すように、ネットワークカード環境設定ダイアログ８００は、図７の例示的なネットワークカード環境設定ダイアログ７００のＩＰ環境設定カラム７０６内で選択したネットワークポートの各々をリストするテーブル８０２を含む。さらに、ネットワークカード環境設定ダイアログ８００は、ネットワークポートに割り当てたＩＰ情報を含む。いくつかの実施例では、テーブル８０２に記入されたＩＰ情報は上記の環境設定データ構造体内の値から取られている。したがって、上記の環境設定データ構造体を生成することで、ホストサーバの環境設定およびセットアップは大幅に容易になり、技術者はロケーション毎に値を入力またはコピーする必要がないため、技術者によるエラーのリスクが低減する。図示の実施例に示すように、図７の例示的なネットワークカード環境設定ダイアログ７００内に示すのと同じ可視表示 （ボックス７２０、７２２、７２４およびドット７２６）が、図８の例示的なネットワークカード環境設定ダイアログ８００に提供されている。
【００４３】
図２の実施例を再度参照すると、例示的なホスト環境設定モジュール２０６は、各ホストのネットワークポートの各々のフレームサイズを環境設定する例示的なフレームサイズアサイナを含む。特に、いくつかの実施例では、ＳＡＮプライマリネットワークおよびＳＡＮセカンダリネットワークに対応するネットワークポート（ネットワークカード名アサイナ２０８によってポートに割り当てられた対応する環境設定によって識別される）は、自動的に環境設定されてジャンボフレームを用いた通信を提供する。こうして、仮想プロセス制御システムの実装時にＳＡＮを介して有意な量のデータを送受信するのに必要な間接費はイ大幅に低減される。
【００４４】
図２に示す実施例では、仮想ネットワーク環境設定システム２００はＳＡＮ１１６を環境設定する例示的な共用ストレージ環境設定モジュール２１４を備える。特に、いくつかの実施例では、共用ストレージ環境設定モジュール２１４は、ホストサーバ１１０、１１２、１１４を環境設定するための環境設定データ構造体内の情報と、ユーザが提供する追加情報とに基づいてＳＡＮの環境設定を実行する。図９は、必要な情報を得るために共用ストレージ環境設定モジュール２１４によって生成できる例示的なＳＡＮ環境設定ダイアログ９００を示す。図示の実施例に示すように、ＳＡＮ環境設定ダイアログ９００は、ユーザが環境設定データ構造体 （例えば、．ＣＳＶファイル）のロケーション（例えば、ファイルパス）を識別する入力ボックス９０２を含む。いくつかの実施例では、例示的なＳＡＮ環境設定ダイアログ９００は、チェックボックス６１２がチェックされている場合、図６のネットワークカード環境設定ダイアログ６００の完了に続けて自動的に表示される。そのような実施例では環境設定データ構造体へのファイルパスは入力ボックス９０２内に自動的に記入される。いくつかの実施例では、ホストサーバ１１０、１１２、１１４が以前に環境設定されている場合、ユーザはＳＡＮ環境設定ダイアログ９００を手動でオープンできる。そのような実施例では、ユーザは、環境設定データ構造体のファイルパスを入力ボックス９０２内に入力できる（例えば、参照によって）。別の実施例では、共用ストレージ環境設定モジュール２１４は環境設定パラメータ２０４から自動的に環境設定データ構造体を取得する。いくつかの実施例では、例示的な環境設定プロセスの進行状況が図９に示すＳＡＮ環境設定ダイアログ９００の進行状況ボックス９０４内に表示される。仮想プロセス制御環境１３０（例えば、統合共用ストレージを備えたシャーシ１３８内のホストサーバ１３２、１３４、１３６）に関して、環境設定データ構造体５００、５０２に含まれる情報に加えて環境設定プロセスの一部として特定のパラメータ名を収集するための例示的なクラスタ環境設定ダイアログ１０００を図１０に示す。
【００４５】
図２に示す実施例を再度参照すると、仮想ネットワーク環境設定システム２００は、仮想プロセス制御環境１０６による実装のために仮想マシン（例えば、図１の仮想ワークステーション１１７）を作成または生成する例示的な仮想マシンジェネレータ２１６を備える。いくつかの実施例では、仮想ワークステーションの作成は、テンプレートデータベース２１８内に記憶されたＤｅｌｔａＶ（商標）ソフトウェアに関連付けられた事前定義された仮想マシンテンプレートによって容易になる。仮想マシンテンプレートは、完全にインストールされたが特定のＤｅｌｔａＶ（商標）およびネットワーク環境設定情報の除去によって一般化または抽象化されたオペレーティングシステムとＤｅｌｔａＶ（商標）ソフトウェアとを備えた仮想マシンである。こうして、テンプレートはプロセス制御（例えば、ＤｅｌｔａＶ（商標））コンポーネントを統合するが制御およびネットワーク固有の情報の定義方法に基づいて異なる設定でテンプレートを利用しまた再利用できるようにする。オペレータステーション、プロフェッショナルステーション、保守ステーション、アプリケーションステーション、ゾーンサーバ、およびターミナルサーバに対応するテンプレートをユーザに提供できる。そのようなテンプレートは、ユーザが、所望のテンプレートを選択し、仮想マシンを常駐させる仮想プロセス制御環境１０６内にそのロケーション（例えば、ホスト）を割り当て、ワークステーションに固有の必要な環境設定を提供するだけでよいように事前インストールされたＤｅｌｔａＶ（商標）ソフトウェアと事前定義されたネットワーク接続とを含んでいてもよい。いくつかの実施例では、仮想マシン（例えば、仮想ネットワークポート）の仮想コンポーネントの命名規則は、仮想プロセス制御環境１０６を最初にセットアップするのに用いた環境設定データ構造体内の環境設定名リスト内の名前に基づく。図示の実施例では、仮想マシンジェネレータ２１６はユーザからアプリケーション固有のデータを得てそれを仮想マシンテンプレートと組み合わせて特定の仮想マシンを生成する。 
【００４６】
仮想マシンジェネレータ２１６によって生成される例示的な仮想マシン作成ダイアログ１１００を図１１に示す。図１１は、ユーザが入力する情報を示す。この限られた情報と事前環境設定されたテンプレートとから、完全に機能し接続された仮想ワークステーションを作成できる。さらに、いくつかの実施例では、シミュレーションおよび教育の目的で、仮想制御システムを作成するために仮想コントローラのテンプレートを提供してもよい。そのようなテンプレートに基づいて仮想プロセス制御環境を開発することの利点は、完全に環境設定された（例えば制御システムソフトウェアと全てのドライバのインストールを含む）仮想マシンは、ハードウェアから完全に独立している。したがって、エンドユーザが使用するハードウェアに関わらず、結果として得られる仮想マシンの操作性および機能性を信頼できるように、制御システムソフトウェアの開発業者は事前にテンプレートを試験することができる。
【００４７】
図２に示す実施例では、仮想ネットワーク環境設定システム２００は、可視化および／または複製のためにプロセス制御システムネットワークの接続を分析または探索する例示的な仮想ネットワークアナライザ２２０を備える。図示の実施例に示すように、仮想ネットワークアナライザ２２０は、例示的なネットワークディスカバラ２２２と例示的な仮想ネットワーク可視化ジェネレータ２２４とを含む。例示的なネットワークディスカバラ２２２は、プロセス制御システムネットワーク内をクロールして異なるコンポーネント間の論理および／または物理接続を識別してプロセス制御システムをマッピングするように環境設定される。仮想プロセス制御システムの文脈では、ネットワーク探索プロセスは、各パーティションを通過して仮想ネットワークアダプタおよび物理ネットワークアダプタ（例えば、物理ホストサーバに関連付けられた）を識別し、両者を相互接続する仮想スイッチおよび接続の性質を識別するステップを含む。いくつかの実施例では、ネットワークディスカバラ２２２は、探索されたネットワークを定義する拡張可能マークアップ言語（ＸＭＬ）ファイルを生成する。
【００４８】
仮想化システム全体を記述するＸＭＬファイルを生成することは、技術サポートおよび／またはシステム内のエラーの診断に役立つ。例えば、既存のプロセス制御システムに問題がある場合、ＸＭＬファイルを作成してネットワークシステム全体のセットアップを捕捉でき、次いでこれを技術サポートエンティティがオフサイトで仮想的に複製しまたはクローニングしてトラブルシューティングおよび／またはデバッグに利用できる。さらに、プロセス制御システムを複製することは、シミュレーションおよび／またはオペレータ教育システムに役立つ。いくつかの実施例では、本明細書に記載するクローニングによって、技術者は新旧システムに機能性のサービスがないか否かを妥当性検査できる。また、例示的な仮想ネットワークアナライザ２２０は、基礎の仮想化ソフトウェアの更新時のマイグレーションプロセスの合理化を可能にする。例えば、本明細書に開示する教示を用いて、既存ネットワークシステムのセットアップを表すＸＭＬファイルを別の空間へエクスポートし、基礎の仮想化ソフトウェアの新しいバージョンをインストールし、ＸＭＬファイルをインポートして新しい基礎のソフトウェア上に同じネットワークシステムをセットアップすることができる。
【００４９】
いくつかの実施例では、仮想プロセス制御システムネットワークの先で、物理的に実装されたプロセス制御システム内の物理ワークステーションのネットワークを探索するようにネットワークディスカバラ２２２を適合させることができる。結果として得られるＸＭＬファイルから、物理システムを複製する完全に環境設定された仮想システムを自動的に生成できる。このプロセスによって、各ワークステーションについて個々の仮想マシンを作成しシステム全体を環境設定する時間と費用とをかけることなく、物理システムを仮想化システムへいつでも変換できる。これは、ネットワーク探索プロセスで生成されたＸＭＬファイルには全てが含まれているからである。
【００５０】
さらに、ＸＭＬファイル内に含まれる情報を用いて、例示的な仮想ネットワーク可視化ジェネレータは仮想プロセス制御環境１０６内に実装された仮想ネットワーク接続の概略図を生成することができる。仮想プロセス制御システムの一部の例示的な概略図１２００を図１２に示す。特に、この概略図はホストサーバの１つを表すホストボックス１２０２を含む。ホストボックス１２０２内には仮想マシン１２０４、仮想スイッチ１２０６、およびホスト接続またはネットワークアダプタ１２０８のグラフ表現がある。さらに、いくつかの実施例では、仮想マシンは、各々の識別された仮想マシンについて実装された仮想ネットワークアダプタを表す、ネットワークカードに対応するグラフアイコンを備えたボックスで表される。図示の実施例に示すように、さまざまな仮想マシン内のネットワークカードアイコンも適当な名前を付けられてユーザが素早く認識できるようにしている。いくつかの実施例では、上記のように、仮想ネットワークカードの名前は、図５に関連する上述の環境設定データ構造体内の環境設定名リスト内の名前に対応する。図１２に示すように、個々の仮想スイッチポートもイーサネットポートに対応するグラフアイコンによって表され、仮想スイッチが接続するさまざまなネットワークに対応するボックス内に分類される。図示の実施例では、物理ネットワークアダプタは、仮想マシン内の仮想ネットワークカードに類似したネットワークカードであるが異なる文字で区別されるネットワークカードを表すグラフ表示によって表される。（例えば、仮想は「Ｖ」、内部（例えば、統合ストレージ搭載シャーシ内）は「Ｉ」、物理は「Ｐ」である）。特定のグラフアイコンを示しているが、その他のアイコンおよび／または区別するための特徴（例えば、色）を追加的に、又は別法として用いてもよい。ホストボックス１２０２の外側では、例示的な仮想概略図１２００は外部ネットワーク接続１２１０を表すアイコンを含む。いくつかの実施例では、外部ネットワーク接続には対応するＩＰアドレスが付与されてユーザが識別しやすいようにしている。いくつかの実施例では、概略図１２００内のその他のコンポーネント（例えば、ホスト接続１２０８）も同様に対応するＩＰアドレスおよび／またはＭＡＣ（メディアアクセス制御）アドレスが付与されている。図示の実施例に示すように、仮想マシンネットワークアダプタ、仮想スイッチポート、ホスト接続、および外部ネットワーク接続はコンポーネント間の接続を表す線１２１２で接続されている。こうして、エンドユーザはプロセス制御システム全体の性質およびセットアップを評価できる。これによって、トラブルシューティングおよび／またはネットワークの全体的な理解（例えば、環境設定を文書化し、かつ／またはアーカイブするために）。
【００５１】
図２に示す実施例を再度参照すると、仮想ネットワーク環境設定システム２００は、ユーザからの入力（例えば、上記のダイアログのいずれかのプロンプトに関連する）を受信する例示的なユーザ入力インタフェース２２６およびユーザに情報を提供する（例えば、上記のダイアログを表示する）例示的なユーザ表示インタフェース２２８を備える。
【００５２】
図２には仮想ネットワーク環境設定システム２００を実装する例示的な方法が示されているが、その他の任意の方法で、図２に示す要素、プロセスおよび／またはデバイスの１つ以上を組み合わせ、分割し、再編成し、省略し、解消し、かつ／または実装することができる。さらに、例示的な仮想ネットワーク実装モジュール２０２、例示的な環境設定パラメータモジュール２０４、例示的なホスト環境設定モジュール２０６、例示的なネットワークカード名アサイナ２０８、例示的なＩＰアドレスデジグネータ２１０、例示的なフレームサイズアサイナ２１２、例示的な共用ストレージ環境設定モジュール２１４、例示的な仮想マシンジェネレータ２１６、例示的なテンプレートデータベース２１８、例示的な仮想ネットワークアナライザ２２０、例示的なネットワークディスカバラ２２２、例示的な仮想ネットワーク可視化ジェネレータ２２４、例示的なユーザ入力インタフェース２２６、例示的なユーザ表示インタフェース２２８、および／またはより一般的には、図２の例示的な仮想ネットワーク環境設定システム２００を、ハードウェア、ソフトウェア、ファームウェアおよび／またはハードウェア、ソフトウェアおよび／またはファームウェアの任意の組み合わせによって実装することができる。したがって、例えば、例示的な仮想ネットワーク実装モジュール２０２、例示的な環境設定パラメータモジュール２０４、例示的なホスト環境設定モジュール２０６、例示的なネットワークカード名アサイナ２０８、例示的なＩＰアドレスデジグネータ２１０、例示的なフレームサイズアサイナ２１２、例示的な共用ストレージ環境設定モジュール２１４、例示的な仮想マシンジェネレータ２１６、例示的なテンプレートデータベース２１８、例示的な仮想ネットワークアナライザ２２０、例示的なネットワークディスカバラ２２２、例示的な仮想ネットワーク可視化ジェネレータ２２４、例示的なユーザ入力インタフェース２２６、例示的なユーザ表示インタフェース２２８、および／またはより一般的には、例示的な仮想ネットワーク環境設定システム２００を、１つ又は複数のアナログまたはディジタル回路、論理回路、プログラマブルプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、および／またはフィールドプログラマブル論理回路（ＦＰＬＤ）によって実装することができる。純粋にソフトウェアおよび／またはファームウェア実装を対象とする本発明の装置またはシステムの請求項のいずれかを読むと、例示的な仮想ネットワーク実装モジュール２０２、例示的な環境設定パラメータモジュール２０４、例示的なホスト環境設定モジュール２０６、例示的なネットワークカード名アサイナ２０８、例示的なＩＰアドレスデジグネータ２１０、例示的なフレームサイズアサイナ２１２、例示的な共用ストレージ環境設定モジュール２１４、例示的な仮想マシンジェネレータ２１６、例示的なテンプレートデータベース２１８、例示的な仮想ネットワークアナライザ２２０、例示的なネットワークディスカバラ２２２、例示的な仮想ネットワーク可視化ジェネレータ２２４、例示的なユーザ入力インタフェース２２６、および／または例示的なユーザ表示インタフェース２２８の少なくとも１つが、ソフトウェアおよび／またはファームウェアを記憶したメモリ、ディジタルバーサタイルディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、ブルーレイディスクなどの有形のコンピュータ可読ストレージデバイスまたはストレージディスクを含むようにここに明示的に定義されている。さらに、図２の例示的な仮想ネットワーク環境設定システム２００は、図２に示す要素、プロセス、および／またはデバイスに加えて、またはその代わりに、１つ又は複数の要素、プロセス、および／またはデバイスを含んでいてもよく、図示の要素、プロセス、および／またはデバイスのいずれかまたはその全てを２つ以上含んでいてもよい。
【００５３】
図２の仮想ネットワーク環境設定システム２００を実装する例示的な方法を表すフローチャートを図１３〜２３に示す。この実施例では、該方法は、図２４に関連して以下に説明する例示的なプロセッサプラットフォーム２４００内に示すプロセッサ２４１２などのプロセッサによって実行されるプログラムを含むマシン可読命令を用いて実装できる。プログラムは、ＣＤ−ＲＯＭ、フロッピィディスク、ハードドライブ、ディジタルバーサタイルディスク（ＤＶＤ）、ブルーレイディスク、またはプロセッサ２４１２に関連付けられたメモリなどの有形のコンピュータ可読ストレージ媒体上に記憶されたソフトウェアに具現化できるが、プログラム全体および／またはその一部をプロセッサ２４１２以外のデバイスによって実行でき、かつ／またはファームウェアもしくは専用のハードウェアに具現化することもできる。さらに、例示的なプログラムについて図１３〜２３に示すフローチャートに関連して記載しているが、例示的な仮想ネットワーク環境設定システム２００を実装する多くの別の方法を使用してもよい。例えば、各ブロックの実行順を変更してもよく、かつ／または記載されたブロックのいくつかを変更し、解消し、または組み合わせてもよい。 
【００５４】
上記のように、図１３〜２３の例示的な方法は、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、ディジタルバーサタイルディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）および／または情報が任意の期間記憶される（例えば、長期間、永久的に、短時間、一時的なバッファリング、および／または情報のキャッシングのために）その他のあらゆるストレージデバイスまたはストレージディスクなどの有形のコンピュータ可読ストレージ媒体上に記憶された符号化命令（例えば、コンピュータおよび／またはマシン可読命令）を用いて実装できる。本明細書で使用する有形のコンピュータ可読ストレージ媒体という用語は、あらゆるタイプのコンピュータ可読ストレージデバイスおよび／またはストレージディスクを含み、伝播信号を除外し伝送媒体を除外するように明示的に定義されている。本明細書で使用する「有形のコンピュータ可読ストレージ媒体」および「有形のマシン可読ストレージ媒体」という用語は交換可能に使用される。追加的に、又は別法として、図１３〜２３の例示的な方法は、一時的でないコンピュータおよび／または、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ、コンパクトディスク、ディジタルバーサタイルディスク、キャッシュ、ランダムアクセスメモリおよび／またはおよび／または情報が任意の期間記憶される（例えば、長期間、永久的に、短期間、一時的なバッファリングのために、および／または情報のキャッシングのために）その他のあらゆるストレージデバイスまたはストレージディスクなどのマシン可読媒体上に記憶された符号化命令（例えば、コンピュータおよび／またはマシン可読命令）を用いて実装できる。本明細書で使用する一時的でないコンピュータ可読ストレージ媒体という用語は、あらゆるタイプのコンピュータ可読ストレージデバイスおよび／またはストレージディスクを含み、伝播信号を除外し伝送媒体を除外するように明示的に定義されている。本明細書で使用する「少なくとも」という句は、クレームのプリアンブル内で移行句として使用される時には、「含む」という用語が非限定であるのと同様に非限定である。
【００５５】
以下、図を詳細に説明する。図１３は、プロセス制御システム（例えば、図１のＤＣＳ１００）の仮想プロセス制御環境（例えば、図１の仮想プロセス制御環境１０６、１３０）を環境設定する例示的な方法を示すフローチャート１３００である。この例示的な方法は、ブロック１３０２から開始し、ここで例示的な仮想ネットワーク実装モジュール２０２は環境設定データファイルが必要か否かを決定する。例えば、環境設定が別個のホストサーバ１１０、１１２、１１４と別個のＳＡＮ１１６（例えば、図３の第１のオプション３０２で示される）を備えた仮想プロセス制御環境１０６に対するものである場合、環境設定データファイルが必要であろう（例えば、図５Ａおよび５Ｂに．ＣＳＶファイルとして記載される環境設定データ構造体５０２）。これと対照的に、環境設定が統合共用ストレージ（例えば、図３の第２オプション３０２で示される）を備えたシャーシ１３８内のホストサーバ１３２、１３４、１３６を備えた仮想プロセス制御環境１３０に対するものである場合、環境設定データ構造体は製造業者および／または制御システムの販売業者によって提供できるので環境設定データファイルは不要である。例示的な仮想ネットワーク実装モジュール２０２が環境設定データファイルが必要であると決定した場合（ブロック１３０２）、制御はブロック１３０４へ進み、そこで例示的な環境設定パラメータモジュールが環境設定データファイル（例えば、環境設定データ構造体５００、５０２）を生成する。いくつかの実施例では、環境設定データファイルはユーザ入力に基づいて生成される。いくつかの実施例では、ユーザは環境設定データファイルを独立して生成していてもよく、環境設定パラメータモジュール２０４は環境設定プロセスで使用するためにそれをインポートする。いくつかの実施例では、製造業者は、環境設定データファイル内のパラメータ（例えば、名前および値）のうち少なくともいくつかにデフォルトの値を提供する。環境設定データファイルが生成されると、制御はブロック１３０６へ進む。例示的な仮想ネットワーク実装モジュール２０２が環境設定データファイルは必要ないと決定すると（ブロック１３０２）、制御は直接ブロック１３０６へ進む。 
【００５６】
ブロック１３０６で、例示的なホスト環境設定モジュール２０６はホストサーバ（例えば、ホストサーバ１１０、１１２、１１４、１３２、１３４、１３６の１つ）をセットアップする。いくつかの実施例では、各ホストサーバのセットアップまたは環境設定は、ブロック１３０４で生成された環境設定データ構造体またはファイルおよび／またはその他の方法で（例えば、製造業者から）提供される対応する環境設定データ構造体内に含まれる情報に基づく。ホストサーバ１１０、１１２、１１４、１３２、１３４、１３６の環境設定またはセットアップについて以下に図１４〜１７に関連して詳述する。ホストサーバ１１０、１１２、１１４、１３２、１３４、１３６の１つのセットアップ後、例示的な仮想ネットワーク実装モジュール２０２はセットアップする別のサーバがあるか否かを決定する（ブロック１３０８）。いくつかの実施例では、別のホストサーバの環境設定はユーザが別のホストサーバの環境設定プロセスを開始した時に決定される。そうである場合、制御はブロック１３０６へ戻る。そうでない場合、制御はブロック１３１０へ進む。 
【００５７】
ブロック１３１０で、例示的な仮想ネットワーク実装モジュール２０２は、仮想プロセス制御環境１０６、１３０がストレージ領域ネットワーク（例えば、仮想プロセス制御環境１０６のＳＡＮ１１６または仮想プロセス制御環境１３０の統合共用ストレージ）を含むか否かを決定する。例示的な仮想ネットワーク実装モジュール２０２がストレージ領域ネットワークがあると決定した場合（ブロック１３１０）、制御はブロック１３１２へ進み、そこで例示的な仮想ネットワーク実装モジュール２０２はストレージ領域ネットワークがホストサーバから独立しているか（例えば、図１の仮想プロセス制御環境１０６のＳＡＮ１１６）またはホストサーバに統合されているか（例えば、図１の仮想プロセス制御環境１３０の統合共用ストレージ）を決定する。例示的な仮想ネットワーク実装モジュール２０２がストレージ領域ネットワークが独立していると決定した場合（ブロック１３１２）、制御はブロック１３１４へ進み、そこで図１３の例示的な方法が終了する前に例示的な共用ストレージ環境設定モジュールは独立したストレージ領域ネットワークを環境設定する。独立したストレージを環境設定する例示的な方法について以下に図１８に関連して詳述する。例示的な仮想ネットワーク実装モジュール２０２がストレージ領域ネットワークが統合されていると決定した場合（ブロック１３１２）、制御はブロック１３１６へ進み、そこで図１３の例示的な方法が終了する前に例示的な共用ストレージ環境設定モジュールは統合ストレージ領域ネットワークを環境設定する。独立したストレージを環境設定する例示的な方法について以下に図１９に関連して詳述する。ブロック１３１０で、例示的な仮想ネットワーク実装モジュール２０２が仮想プロセス制御環境はストレージ領域ネットワークを含まないと決定すると、図１３の例示的な方法は終了する。
【００５８】
図１４は、ホストサーバ（例えば、図１のホストサーバ１１０、１１２、１１４、１３２、１３４、１３６）を環境設定またはセットアップする例示的な方法を示すフローチャート１４００である。図１４の例示的な方法は、図１３のブロック１３０６の例示的な実装である。この例示的な方法はブロック１４０２から開始する。ブロック１４０２で、例示的なホスト環境設定モジュール２０６はホストが外部ＳＡＮ（例えば、図１の仮想プロセス制御環境１０６内のＳＡＮ１１６）に接続しているか否かを決定する。例示的なホスト環境設定モジュール２０６が、ホストサーバは外部ＳＡＮに接続されている（例えば、図３の第１のオプション３０２が選択された）と決定した場合、制御はブロック１４０４へ進み、そこで例示的なホスト環境設定モジュール２０６はＳＡＮに接続されたホストサーバに関連付けられたネットワークカードを環境設定する（例えば、同期化する）。ネットワークカードの同期化に関して図１５および１６に関連して以下に詳述する。ネットワークカードが環境設定されると（ブロック１４０４）、制御はブロック１４１０へ進む。 
【００５９】
ブロック１４０２で、例示的なホスト環境設定モジュール２０６がホストは外部ＳＡＮに接続されていないと決定すると、制御はブロック１４０６へ進み、そこで例示的なホスト環境設定モジュール２０６はホストサーバが統合ストレージ（例えば、図１の仮想プロセス制御環境１３０のシャーシ１３８の統合共用ストレージ）に接続されているか否かを決定する。例示的なホスト環境設定モジュール２０６がホストは統合ストレージに接続されている （例えば、図３の第２のオプション３０４が選択された）と決定すると、制御はブロック１４０８へ進み、そこで例示的なホスト環境設定モジュール２０６は統合ストレージに接続されたホストサーバに関連付けられたネットワークカードを環境設定する。ネットワークカードの同期化に関して図１７に関連して以下に詳述する。ネットワークカードが環境設定されると （ブロック１４０８）、制御はブロック１４１０へ進む。例示的なホスト環境設定モジュール２０６がホストは統合ストレージに接続されていない （例えば、図３の第３のオプション３０６が選択された）と決定すると、制御はブロック１４１０へ進む。
【００６０】
ブロック１４１０で、例示的なホスト環境設定モジュール２０６は、仮想プロセス制御環境１０６、１３０のリモート管理設定（例えば、ＭＭＣ（Ｍｉｃｒｏｓｏｆｔ（商標）  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｓｏｌｅ）を環境設定する。ブロック１４１２で、例示的なホスト環境設定モジュール２０６はリモートデスクトップを動作可能にする（その結果、図１のシンクライアント１２６を介して仮想プロセス制御環境１０６、１３０との相互動作を可能にする）。ブロック１４１４で、例示的なホスト環境設定モジュール２０６はタスク自動化フレーム（例えば、Ｗｉｎｄｏｗｓ（商標）によるＰｏｗｅｒＳｈｅｌｌ（商標））。ブロック１４１６で、例示的なホスト環境設定モジュール２０６はハイパーバイザ（例えば、Ｈｙｐｅｒ−Ｖ（商標））を動作可能にする。ブロック１４１８で、例示的なホスト環境設定モジュール２０６はフェールオーバクラスタリングを動作可能にする。フェールオーバクラスタリングは、ホストの１つがハードウェア障害になった場合に仮想マシンを自動的に別のホストへ移動する機能である。ブロック１４２０で、例示的なホスト環境設定モジュール２０６はその他の標準ホストセットアップ手順を実装する。
【００６１】
ブロック１４２２で、例示的なホスト環境設定モジュール２０６はドメインがあるか否かを決定する。ドメインがある場合、制御はブロック１４２４へ進み、そこで例示的なホスト環境設定モジュール２０６はホストサーバをドメインに接続する。ドメインがない場合、図１４の例示的な方法は終了する。ブロック１４２６で、例示的なホスト環境設定モジュール２０６はストレージ領域ネットワーク（例えば、外部ＳＡＮまたは統合共用ストレージとして組み込まれている）があるか否かを決定する。ストレージ領域ネットワークがある場合、制御はブロック１４２８へ進む。例示的なホスト環境設定モジュール２０６はモジュール型ストレージソフトウェア（例えば、Ｄｅｌｌ（商標）  ＭＤ）をインストールする。この時点で図１４の例示的な方法は終了するか先頭に戻る（例えば、図１３の方法の実装を完了するために）。例示的なホスト環境設定モジュール２０６がストレージ領域ネットワークがないと決定した場合（ブロック１４２６）、図１４の例示的な方法は終了するか先頭に戻る。
【００６２】
図１５は、ＳＡＮに接続されたホストサーバ（例えば、図１の仮想プロセス制御環境１０６のホストサーバ１１０、１１２、１１４）に関連付けられたネットワークカードを環境設定するために図１４のブロック１４０４の一部として実装可能な例示的な方法を示す例示的なフローチャート１５００である。この例示的な方法はブロック１５０２から開始する。ブロック１５０２で、例示的な環境設定パラメータモジュール２０４は環境設定データファイル（例えば、図１３のブロック１３０４で生成された）を取得する。ブロック１５０４で、例示的な環境設定パラメータモジュール２０４は、環境設定データファイル内にエラーがあるか否かを決定する。いくつかの実施例では、チェックされるエラーは、以下を含む。環境設定データファイルが正しいファイルタイプであるか（例えば．ＣＳＶファイル）、識別された環境設定データファイルがユーザによって提供された識別されたファイルパス上に存在するか、環境設定データファイルが空である、かつ／または空の値を含むか、セットアップ中のホストサーバの名前が環境設定データファイルの名前の１つに対応するか（そうでない場合、エラーメッセージが表示されるので、環境設定データファイルを編集するか、またはホストサーバの名前を変更してからホストセットアップ手順を再開する）、クラスタセットアップ部（例えば、図５Ｂのクラスタセットアップ部５１６）が環境設定データファイル内で識別されたか（そうでない場合、環境設定データファイル内の全ラベルはネットワークカード名セットアップ部５１２の一部として扱われる）、全ての必要なラベル（例えば、クラスタセットアップ部５１６内の固定ラベル）が環境設定データファイル内にあるか、各値のフォーマットは適切か（例えば、ＩＰアドレスまたはサブネットフォーマット）など。環境設定データファイル内にエラーが検出された場合、例示的な方法は終了し、ユーザはファイルを訂正して図１４のホストサーバ環境設定プロセス１４００を再開する機会を与えられる。エラーが検出されなかった場合（ブロック１５０４）、制御はブロック１５０６へ進み、そこで例示的なネットワークカード名アサイナがホストサーバのネットワークカードをリネームする。ネットワークカードをリネームする例示的な方法について、図１６に関連して以下に詳述する。ブロック１５０８で、例示的なＩＰアドレスデジグネータ２１０はＩＰ情報（例えば、環境設定データ構造体／ファイル内に含まれる）を対応するネットワークポートに割り当てる。その後、図１５の例示的な方法は終了し、先頭に戻って上記の図１４の例示的な方法を完了する。
【００６３】
図１６は、ホストサーバのネットワークカードをリネームするために図１５のブロック１５０６の一部として実装可能な例示的な方法を示す例示的なフローチャート１６００である。図１６の例示的な方法は、ブロック１６０２から開始する。ブロック１６０２で、例示的なユーザ表示インタフェース２２８は各ネットワークカードの接続ステータスを表示する（例えば、図６の接続ステータスカラム６０８内のインジケータ）。ブロック１６０４で、例示的なユーザ表示インタフェース２２８はネットワークカードの１枚における新しい接続の接続ステータスを更新する。いくつかの実施例では、新しい接続は、ユーザ（例えば、技術者）が環境設定中のホストサーバに関連付けられたネットワークカードのポートの１つにケーブルをプラグインすると確立される。ブロック１６０６で、例示的なユーザ表示インタフェース２２８は新たに接続されたネットワークカードの利用可能な名前のリストを提供する。いくつかの実施例では、利用可能な名前のリストは、例示的な環境設定パラメータモジュール２０４によって生成された環境設定データ構造体またはファイル内に含まれる環境設定名リストに対応する。ブロック１６０８で、例示的なユーザ入力インタフェース２２６は、ネットワークカードの名前のセレクションを受信する（例えば、ユーザから）。いくつかの実施例では、ユーザは、接続ステータスインジケータの変化によって識別される、ネットワークカードに最も最近プラグインされたケーブルに関連付けられたネットワークに対応する名前を選択する。ブロック１６１０で、例示的なネットワークカード名アサイナ２０８は、対応するネットワークカードに選択した名前を割り当てる。ブロック１６１２で、例示的なネットワークカード名アサイナ２０８は、命名する別のネットワークカードがあるか否かを決定する。いくつかの実施例では、これは、全てのネットワークカードが図６の接続ステータスカラム６０８内で接続されていると表示されているかどうかに基づいて決定される。命名する別のネットワークカードがある場合、制御はブロック１６０２へ戻る。全てのネットワークカードにラベルが付いている場合、図１６の例示的な方法は終了し、先頭に戻って図１５の方法を完了する。
【００６４】
図１７は、統合ストレージに接続されたホストサーバ（例えば、図１の仮想プロセス制御環境１３０のホストサーバ１３２、１３４、１３６）に関連付けられたネットワークカードを環境設定するために図１４のブロック１４０８の一部として実装可能な例示的な方法を示す例示的なフローチャート１７００である。図１７の例示的な方法はブロック１７０２から開始する。ブロック１７０２で、例示的なホスト環境設定モジュール２０６はホストサーバのネットワークポート割り当てを検出する。いくつかの実施例では、ホストサーバ（およびそれに関連付けられたネットワークカード）が上記の統合共用ストレージを有するシャーシ１３８内で周知の方法で通信可能に接続されているので、これが可能になる。ブロック１７０４で、例示的なユーザ表示インタフェース２２８はホストサーバを担持するシャーシ１３８のグラフ表現を表示する（例えば、図７の実施例に示すように、シャーシ１３８の前面７１０および背面７１２）。ブロック１７０６で、例示的なユーザ表示インタフェース２２８は、ホストサーバおよびそれに関連付けられたネットワークポートをグラフ表現で視覚的に識別する（例えば、図７のボックス７２０、７２２、７２４を介して）。ブロック１７０８で、例示的なユーザ表示インタフェース２２８は関連付けられたネットワークポートの現在の名前のリストをユーザに提供する（例えば、図７の現在のポート名カラム７０２を介して）。ブロック１７１０で、例示的なユーザ表示インタフェース２２８は、現在の名前のリストから選択したネットワークポートの１つをグラフ表現を介して視覚的に識別する（例えば、図７のドットまたはその他のインジケータ７２６を介して）。
【００６５】
ブロック１７１２で、例示的なユーザ表示インタフェース２２８は、選択されたネットワークポートの利用可能な名前のリストを提供する。いくつかの実施例では、利用可能な名前のリストは、例示的な環境設定パラメータモジュール２０４によって生成された環境設定データ構造体またはファイル内に含まれる環境設定名リストに対応する。ブロック１７１４で、例示的なユーザ入力インタフェース２２６は、ネットワークポートの名前のセレクションを受信する（例えば、ユーザから）。ブロック１７１６で、例示的なネットワークカード名アサイナ２０８は、セレクションが有効か否かを決定する。例えば、ネットワークカード名アサイナ２０８は、選択された名前が異なりネットワークポートにすでに割り当てられているか否かを検証できる。例示的なネットワークカード名アサイナ２０８がセレクションは有効でないと決定した場合、制御はブロック１７１８へ進み、そこで例示的なユーザ表示インタフェースはユーザに対して別のセレクションを要求する。例示的なネットワークカード名アサイナ２０８がセレクションは有効であると決定した場合、制御はブロック１７２０へ進み、そこで例示的なネットワークカード名アサイナ２０８は対応するネットワークポートに選択した名前を割り当てる。
【００６６】
ブロック１７２２で、例示的なネットワークカード名アサイナ２０８は命名する別のネットワークポートがあるか否かを決定する。いくつかの実施例では、これは、ユーザが命名する別のポートを選択したか否かに基づいて決定される。命名する別のネットワークカードがある場合、制御はブロック１７１０へ戻る。全てのネットワークカードが命名されている場合、制御はブロック１７２４へ進み、そこで例示的なＩＰアドレスデジグネータ２１０は選択された（図７のＩＰ環境設定カラム７０６を介して選択された）ネットワークポートにＩＰ情報を割り当てる。いくつかの実施例では、仮想プロセス制御環境のための環境設定データ構造体内に含まれるＩＰ情報に基づいて、選択されたネットワークポートにＩＰ情報が自動的に割り当てられる。いくつかの実施例では、ＩＰ情報の割り当てはユーザに対して表示され（図８のネットワークカード環境設定ダイアログ８００を介して）、ユーザは割り当てられた情報を変更するか、かつ／または受け入れることができる。選択されたネットワークポートが適当なＩＰ情報を割り当てられると、図１７の例示的な方法は終了し先頭へ戻って図１４の方法を完了する。
【００６７】
図１８は、独立したストレージ領域ネットワーク（例えば、図１のＳＡＮ１１６）を環境設定するために図１３のブロック１３１４の一部として実装可能な例示的な方法を示す例示的なフローチャート１８００である。いくつかの実施例では、この方法は図１のドメインコントローラ１０８（例えば、クラスタマネージャおよびドメインコントローラ（ＣＤＣ））を介して実装される。いくつかの実施例では、プロセス制御製品とハイパーバイザとを統合してワークステーション可視化を行なう仮想化ソフトウェアパッケージ（例えば、ＤｅｌｔａＶ（商標）  Ｖｉｒｔｕａｌ  Ｓｔｕｄｉｏ）が図１８の例示的な方法の実装前にドメインコントローラ１０８にインストールされ、仮想プロセス制御環境１０６の残りのリモート制御のための資格認定のセットアップが可能になる。さらに、いくつかの実施例では、モジュール型ストレージソフトウェア（例えば、図１４のブロック１４２８でホストサーバ１１０、１１２、１１４にインストールされる）が図１８の例示的な方法の実装前にＳＡＮ管理マシンにインストールされる。さらに、いくつかの実施例では、ユーザは、図１８の例示的な方法の実装前に、ＳＡＮ１１６を自動探索してそれに命名することができる。
【００６８】
図１８の例示的な方法は、ブロック１８０２から開始する。ブロック１８０２で、例示的な共用ストレージ環境設定モジュール２１４は仮想化ソフトウェアパッケージ（例えば、ＤｅｌｔａＶ（商標）  Ｖｉｒｔｕａｌ  Ｓｔｕｄｉｏ）がインストールされているか否かを決定する。そうである場合、制御はブロック１８０６へ進む。そうでない場合、例示的な共用ストレージ環境設定モジュール２１４はブロック１８０６へ進む前に仮想化ソフトウェアパッケージをインストールする（ブロック１８０４）。ブロック１８０６で、例示的な共用ストレージ環境設定モジュール２１４は各ホストサーバ１１０、１１２、１１４へのネットワーク接続性があるか否かを決定する。例示的な共用ストレージ環境設定モジュール２１４がネットワーク接続性がないと決定した場合、図１８の例示的な方法は終了する（例えば、環境設定プロセスが失敗したことを示すエラーメッセージと共に）。各ホストサーバ１１０、１１２、１１４へのネットワーク接続性がある場合、制御はブロック１８１０へ進む。ブロック１８１０で、例示的な共用ストレージ環境設定モジュール２１４は、ＳＡＮ１１６のインターネット小型コンピュータシステムインタフェース（ｉＳＣＳＩ）のホストポートをセットアップする。ブロック１８２０で、例示的な共用ストレージ環境設定モジュール２１４は、ＳＡＮセットアップスクリプトを用いてＳＡＮ１１６を作成する。ブロック１８１４で、例示的な共用ストレージ環境設定モジュール２１４はホストサーバ（例えば、ホストサーバ１１０、１１２、１１４の１つ）についてｉＳＣＳＩターゲットを設定する。ブロック１８１６で、例示的な共用ストレージ環境設定モジュール２１４は、ホストサーバをホストグループ（ＳＡＮセットアップスクリプトを用いて作成した）に追加する。ブロック１８１８で、例示的な共用ストレージ環境設定モジュール２１４はホストグループに追加する別のホストサーバがあるか否かを決定する。別のホストサーバがあれば、制御はブロック１８１４に戻る。追加するホストサーバがない場合、制御はブロック１８２０へ進み、そこで例示的な共用ストレージ環境設定モジュール２１４はＳＡＮディスクをパーティションしてフォーマットする。ブロック１８２２で、例示的な共用ストレージ環境設定モジュール２１４はホストサーバがＳＡＮ１１６にアクセスできるか否かを決定する。そうでない場合、例示的な方法は終了する（例えば、環境設定プロセスが失敗したことを示すエラーメッセージと共に）。例示的な共用ストレージ環境設定モジュール２１４がホストサーバはＳＡＮ１１６にアクセスできると決定した場合（ブロック１８２２）、制御はブロック１８２４へ進み、そこで例示的な共用ストレージ環境設定モジュール２１４はクラスタを作成し妥当性検査する。最後に、ブロック１８２６で、例示的な共用ストレージ環境設定モジュール２１４はＳＡＮ１１６をクラスタ共用ボリューム（ＣＳＶ）として追加し、この時点で、図１８の例示的な方法は終了する。
【００６９】
図１９は、統合ストレージ領域ネットワーク（例えば、図１のシャーシ１３８の統合共用ストレージ）を環境設定するために図１３のブロック１３１６の一部として実装可能な例示的な方法を示す例示的なフローチャート１９００である。いくつかの実施例では、図１８の例示的な方法と同様に、この方法は図１のドメインコントローラ１０８（例えば、クラスタマネージャおよびドメインコントローラ（ＣＤＣ））を介して実装される。いくつかの実施例では、プロセス制御製品とハイパーバイザとを統合してワークステーション可視化を行なう仮想化ソフトウェアパッケージ（例えば、ＤｅｌｔａＶ（商標）  Ｖｉｒｔｕａｌ  Ｓｔｕｄｉｏ）が図１９の例示的な方法の実装前にドメインコントローラ１０８にインストールされ、仮想プロセス制御環境１０６の残りのリモート制御のための資格認定のセットアップが可能になる。さらに、いくつかの実施例では、モジュール型ストレージソフトウェア（例えば、図１４のブロック１４２８でホストサーバ１１０、１１２、１１４にインストールされる）が図１９の例示的な方法の実装前にストレージ領域ネットワーク管理マシンにインストールされる。
【００７０】
図１９の例示的な方法はブロック１９０２から開始する。ブロック１９０２で、例示的な共用ストレージ環境設定モジュール２１４は仮想化ソフトウェアパッケージ（例えば、ＤｅｌｔａＶ（商標）  Ｖｉｒｔｕａｌ  Ｓｔｕｄｉｏ）がインストールされているか否かを決定する。そうである場合、制御はブロック１９０６へ進む。そうでない場合、例示的な共用ストレージ環境設定モジュール２１４はブロック１９０６へ進む前に仮想化ソフトウェアパッケージをインストールする（ブロック１９０４）。ブロック１９０６で、例示的な共用ストレージ環境設定モジュール２１４は各ホストサーバ１３２、１３４、１３６へのネットワーク接続性があるか否かを決定する。例示的な共用ストレージ環境設定モジュール２１４がネットワーク接続性がないと決定した場合、図１９の例示的な方法は終了する（例えば、環境設定プロセスが失敗したことを示すエラーメッセージと共に）。各ホストサーバ１３２、１３４、１３６へのネットワーク接続性がある場合、制御はブロック１９１０へ進み、そこで例示的な共用ストレージ環境設定モジュール２１４はＳＡＮディスクをパーティションしてフォーマットする。ブロック１９１２で、例示的な共用ストレージ環境設定モジュール２１４はホストサーバが統合ストレージにアクセスできるか否かを決定する。そうでない場合、例示的な方法は終了する（例えば、環境設定プロセスが失敗したことを示すエラーメッセージと共に）。例示的な共用ストレージ環境設定モジュール２１４がホストサーバは統合ストレージにアクセスできると決定した場合（ブロック１９１２）、制御はブロック１９１４へ進み、そこで例示的な共用ストレージ環境設定モジュール２１４はクラスタを作成し妥当性検査する。最後に、ブロック１９１６で、例示的な共用ストレージ環境設定モジュール２１４は統合ストレージをクラスタ共用ボリューム（ＣＳＶ）として追加し、この時点で、図１９の例示的な方法は終了する。
【００７１】
いくつかの実施例では、図１８および１９の例示的な方法に示されたブロックの各々は、ユーザが基本の環境設定パラメータと共に、環境設定プロセス中に使用される環境設定データ構造体またはファイルを提供する（例えば、図９のＳＡＮ環境設定ダイアログ９００または図１０のクラスタ環境設定ダイアログ１０００を介して）こと以外に入力または関与することなく自動的に実装される。こうして、ストレージ領域ネットワークのセットアップは長時間の厄介な作業（例えば、製品ドキュメントに記載された指示に従った）から、環境設定の不一致を引き起こしかねない人為的なエラーの可能性を回避しながら環境設定データ構造体／ファイル内の環境設定パラメータを識別するという簡単なタスクへと変貌した。例えば、ストレージ領域ネットワークを環境設定する現在の方法は、技術者が完了するのに数日かかるためエラーの機会が多発する、製品ドキュメントに記載された指示に従う手順を踏まなければならない（数十個にもなる複数のＩＰアドレスを目で追って正確にタイプし、ストレージのためにさまざまな論理ユニット番号（ＬＵＮ）を正しく作成し、クオラムを環境設定するなど）。さらに、そのようなエラーは容易に検出できないため、未知のエラーを修正するためにセットアップ手順をやり直さなければならない。
【００７２】
図２０は、仮想プロセス制御環境（例えば、仮想プロセス制御環境１０６、１３０）内で実装される仮想ワークステーション（例えば、仮想ワークステーション１１７）を作成する例示的な方法を示すフローチャート２０００である。この例示的な方法はブロック２００２から開始する。ブロック２００２で、例示的な仮想マシンジェネレータ２１６はユーザが選択した仮想マシンのテンプレートを取得する（例えば、テンプレートデータベース２１８から）。ブロック２００４で、例示的な仮想マシンジェネレータ２１６は仮想ワークステーションを作成するための（例えば、図１１の仮想マシン作成ダイアログ１１００への入力に基づいて）、ワークステーション固有のパラメータ（例えば、グループ名、マシン名、ワークステーションタイプ、ノードタイプなど）を取得する。ブロック２００６で、例示的な仮想マシンジェネレータ２１６は仮想ワークステーションを作成するためのワークステーション環境設定ファイルを取得する。ブロック２００８で、例示的な仮想マシンジェネレータ２１６は仮想マシンを生成する。いくつかの実施例では、仮想コンポーネント（例えば、仮想ネットワークアダプタ）は、環境設定時に使用する環境設定データ構造体によって定義される物理ネットワークカード（ホストサーバに関連付けられた）の名前に従って自動的に命名される。ブロック２０１０で、仮想ワークステーション２１７が仮想プロセス制御環境１０６に追加され、その後、図２０の例示的な方法は終了する。
【００７３】
図２１は、既存のプロセス制御システムに基づいて、仮想プロセス制御環境内に仮想プロセス制御システムを生成する例示的な方法を示す複フローチャート２１００である。この例示的なプロセスはブロック２１０２から開始する。ブロック２１０２で、例示的なネットワークディスカバラ２２２は既存のプロセス制御システムのネットワークを探索する。いくつかの実施例では、既存のプロセス制御システムは仮想プロセス制御システムである。そのようないくつかの実施例では、ネットワークの探索は、図２２に関連して以下に詳述するネットワーククローリングメカニズムによって達成される。ブロック２１０４で、例示的なネットワーク可視化ジェネレータ２２４は探索されたネットワークの概略図（例えば、図１２の例示的な概略図で１２００）を生成する。ブロック２１０６で、例示的な仮想ネットワークアナライザ２２０はＸＭＬファイル（例えば、ネットワークディスカバラ２２２によって生成された）をエクスポートする。ブロック２１０８で、例示的な仮想ネットワークアナライザ２２０はＸＭＬファイルを新しいメモリ空間にインポートして新しい仮想プロセス制御システムを作成する。新しい仮想プロセス制御システムが作成されると、図２１の例示的な方法は終了する。
【００７４】
図２２は、既存のプロセス制御システムのネットワークを探索するために図２１のブロック２１０２の一部として実装可能な例示的な方法を示す例示的なフローチャート２２００である。この例示的な方法はブロック２２０２から開始する。ブロック２２０２で、例示的なネットワークディスカバラ２２２はホストサーバのパーティションを識別する。ブロック２２０４で、例示的なネットワークディスカバラ２２２は、このパーティションがホストサーバとパーティションとゲストパーティション（例えば、ホストサーバ上の仮想マシンに関連付けられた）のどちらに対応するかを決定する。パーティションがホストパーティションの場合、制御はブロック２２０６へ進み、そこで例示的なネットワークディスカバラ２２２は対応する仮想ネットワークアダプタを識別する。ブロック２２０８で、例示的なネットワークディスカバラ２２２は対応する物理ネットワークアダプタを識別する。ブロック２２１０で、例示的なネットワークディスカバラ２２２は別のパーティションがあるか否かを決定する。別のパーティションがある場合、制御はブロック２２０２へ戻る。例示的なネットワークディスカバラ２２２がパーティションはゲストパーティションであると決定した場合（ブロック２２０４）、制御はブロック２２１２へ進み、そこで例示的なネットワークディスカバラ２２２は対応する仮想アダプタを識別し、その後、制御はブロック２２１０へ進む。例示的なネットワークディスカバラ２２２がこれ以上パーティションはないと決定した場合（ブロック２２１０）、制御はブロック２２１４へ進み、そこで例示的なネットワークディスカバラ２２２はネットワーク内の仮想スイッチを識別する。ブロック２２１６で、例示的なネットワークディスカバラ２２２は探索したネットワーク内のバインディングおよび接続を処理する。ブロック２２１８で、例示的なネットワークディスカバラ２２２は分析する別のホストサーバがあるか否かを決定する。そうである場合、制御はブロック２２０２へ戻り、次のホストサーバについてプロセスを繰り返す。そうでない場合、制御はブロック２２２０へ進み、そこで例示的なネットワークディスカバラ２２２は探索したネットワークを定義するかまたは表すＸＭＬファイルを生成する。その後、図２２の例示的な方法は終了し、戻って図２１の例示的な方法を完了する。
【００７５】
図２３は、ネットワーク（例えば、図２２の例示的な方法によって探索されるプロセス制御ネットワーク）の概略図を生成するために図２１のブロック２１０４の一部として実装可能な例示的な方法を示す例示的なフローチャート２３００である。図２３の例示的な方法はブロック２３０２から開始する。ブロック２３０２で、例示的な仮想ネットワーク可視化ジェネレータ２２４はホストサーバのグラフ表示を生成する（例えば、図１２に示すホストボックス１２０２）。ブロック２３０４で、例示的な仮想ネットワーク可視化ジェネレータ２２４は仮想マシン、仮想スイッチ、およびホストサーバに関連付けられたネットワークカードのグラフ表示を生成する。いくつかの実施例では、そのようなグラフ表示はホストボックス１２０２内のラベルが貼られたサブボックスを含んでいた。いくつかの実施例では、グラフ表現はネットワークインタフェースカード（探索されたネットワークアダプタを示す）を表すグラフアイコンおよび／またはスイッチポート（探索された仮想スイッチを示す）を表すアイコンであってもよい。ブロック２２０６で、例示的な仮想ネットワーク可視化ジェネレータ２２４は別のホストサーバがあるか否かを決定する。そうである場合、制御はブロック２３０２へ戻り、次のホストサーバについてプロセスを繰り返す。そうでない場合、制御はブロック２３０８へ進み、そこで例示的な仮想ネットワーク可視化ジェネレータ２２４は外部ネットワーク接続を表すグラフ表示（またはアイコン）を生成する。いくつかの実施例では、そのようなアイコンは対応する外部接続に関連付けられたＩＰアドレスを含む。ブロック２３１０で、例示的なユーザ表示インタフェースはグラフ表示（例えば、ホスト、仮想マシン、仮想スイッチ、ネットワークカード、外部ホスト接続などの）であって接続を線（例えば、図１２の線１２１２）で表したグラフ表示をレンダリングする。次いで、図２３の例示的な方法は終了するか戻って図２１の例示的な方法を完了する。
【００７６】
図２４は、図２の仮想ネットワーク環境設定システム２００を実装するために図１３〜２３の方法を実施する命令を実行できる例示的なプロセッサプラットフォーム２４００のブロック図である。プロセッサプラットフォーム２４００は、例えば、サーバ、パーソナルコンピュータ、移動体デバイス（例えば、携帯電話、スマートフォン、ｉＰａｄ（商標）などのタブレット）、パーソナルディジタルアシスタント（ＰＤＡ）、インターネットアプライアンス、ＤＶＤプレーヤ、ＣＤプレーヤ、ディジタルビデオレコーダ、ブルーレイプレーヤ、ゲーミングコンソール、パーソナルビデオレコーダ、セットトップボックス、またはその他のあらゆるタイプのコンピュータデバイスであってもよい。
【００７７】
図示の実施例のプロセッサプラットフォーム２４００はプロセッサ２４１２を含む。図示の実施例のプロセッサ２４１２はハードウェアである。例えば、プロセッサ２４１２は、あらゆる所望のファミリまたは製造業者から発売されている１つ又は複数の集積回路、論理回路、マイクロプロセッサまたはコントローラによって実装することができる。
【００７８】
図示の実施例のプロセッサ２４１２はローカルメモリ２４１３（例えば、キャッシュ）を含む。図示の実施例のプロセッサ２４１２は、揮発性メモリ２４１４と不揮発性メモリ２４１６とを含むメインメモリとバス２４１８を介して通信している。揮発性メモリ２４１４は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）、および／またはその他のあらゆるタイプのランダムアクセスメモリデバイスによって実装できる。不揮発性メモリ２４１６はフラッシュメモリおよび／またはその他の所望のあらゆるタイプのメモリデバイスによって実装できる。メインメモリ２４１４、２４１６へのアクセスはメモリコントローラによって制御されている。
【００７９】
図示の実施例のプロセッサプラットフォーム２４００はインタフェース回路２４２０をさらに含む。インタフェース回路２４２０は、イーサネットインタフェース、ユニバーサルシリアルバス（ＵＳＢ）、および／またはＰＣＩ  Ｅｘｐｒｅｓｓインタフェースなどのあらゆるタイプのインタフェース標準によって実装できる。
【００８０】
図示の実施例では、１つ又は複数の入力デバイス２４２２がインタフェース回路２４２０に接続されている。ユーザは、入力デバイス２４２２を用いてデータおよびコマンドをプロセッサ２４１２内に入力できる。入力デバイスは、例えば、オーディオセンサ、マイクロフォン、カメラ（スチールまたはビデオ）、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイントおよび／または音声認識システムによって実装できる。
【００８１】
図示の実施例のインタフェース回路２４２０には１つ又は複数の出力デバイス２４２４も接続されている。出力デバイス２４２４は、例えば、ディスプレイデバイス（例えば、発光ダイオード（ＬＥＤ）、有機発光ダイオード（ＯＬＥＤ）、液晶ディスプレイ、陰極線管ディスプレイ（ＣＲＴ）、タッチスクリーン、タクタイル出力デバイス、発光ダイオード（ＬＥＤ）、プリンタおよび／またはスピーカ）によって実装できる。したがって、図示の実施例のインタフェース回路２４２０は、通常、グラフィックドライバカード、グラフィックドライバチップまたはグラフィックドライバプロセッサを含む。
【００８２】
図示の実施例のインタフェース回路２４２０は、外部マシン（例えば、ネットワーク２４２６（例えば、イーサネット接続、ディジタル加入者線（ＤＳＬ）、電話回線、同軸ケーブル、セルラ電話システムなど）を介したあらゆる種類のコンピュータデバイス）とのデータ交換を容易にする送信機、受信器、送受信機、モデムおよび／またはネットワークインタフェースカードなどの通信デバイスを含む。
【００８３】
図示の実施例のプロセッサプラットフォーム２４００は、ソフトウェアおよび／またはデータを記憶する１つ又は複数のマスストレージデバイス２４２８をさらに含む。そのようなマスストレージデバイス２４２８の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイディスクドライブ、ＲＡＩＤシステム、およびディジタルバーサタイルディスク（ＤＶＤ）ドライブを含む。
【００８４】
図１３〜２３の方法を実装する符号化命令２４３２は、マスストレージデバイス２４２８内、揮発性メモリ２４１４内、不揮発性メモリ２４１６内、および／またはＣＤもしくはＤＶＤなどのまたは有形の着脱式コンピュータ可読ストレージ媒体上に記憶できる。
【００８５】
ある種の例示的な方法、装置および製品を本明細書に開示しているが、本特許の適用範囲はそれに限定されない。それとは逆に、本特許は、本特許の請求の範囲に含まれる全ての方法、装置および製品を対象とする。
【図１】
0006437535.tif 000002
【図２】
0006437535.tif 000003
【図３】
0006437535.tif 000004
【図４】
0006437535.tif 000005
【図５Ａ】
0006437535.tif 000006
【図５Ｂ】
0006437535.tif 000007
【図６】
0006437535.tif 000008
【図７】
0006437535.tif 000009
【図８】
0006437535.tif 000010
【図９】
0006437535.tif 000011
【図１０】
0006437535.tif 000012
【図１１】
0006437535.tif 000013
【図１２】
0006437535.tif 000014
【図１３】
0006437535.tif 000015
【図１４】
0006437535.tif 000016
【図１５】
0006437535.tif 000017
【図１６】
0006437535.tif 000018
【図１７】
0006437535.tif 000019
【図１８】
0006437535.tif 000020
【図１９】
0006437535.tif 000021
【図２０】
0006437535.tif 000022
【図２１】
0006437535.tif 000023
【図２２】
0006437535.tif 000024
【図２３】
0006437535.tif 000025
【図２４】
0006437535.tif 000026