(57)【特許請求の範囲】
【請求項１】
制御システムのシミュレーション・ベースのオペレータ・トレーニング・システムをクラウド・ベースのコンピューティング・クラスタに実装するための方法であって、
オペレータ・トレーニング・シミュレーションの１つまたは複数のパラメータを特定する情報を受信するステップと、
マスタＶＭ、オペレータＶＭおよびインストラクタＶＭの各々に対応する仮想マシン（ＶＭ）イメージを取り出すステップと、
１組の利用可能なクラウド・コンピューティング・リソースから、
マスタＶＭのインスタンス化のための第１の物理ホスト・プラットフォーム、
オペレータＶＭのインスタンス化のための第２の物理ホスト・プラットフォーム、および
インストラクタＶＭのインスタンス化のための第３の物理ホスト・プラットフォーム
を選択するステップと、
前記第１の物理ホスト・プラットフォームで、取り出されたマスタＶＭイメージに基づいてマスタＶＭを、前記第２の物理ホスト・プラットフォームで、取り出されたオペレータＶＭイメージに基づいてオペレータＶＭを、前記第３の物理ホスト・プラットフォームで、取り出されたインストラクタＶＭイメージに基づいてインストラクタＶＭを、インスタンス化するステップと、
前記インスタンス化されたマスタＶＭ、オペレータＶＭおよびインストラクタＶＭの間のネットワーク接続を構成するステップと、
を含み、
前記１組の利用可能なクラウド・コンピューティング・リソースからの前記第１の物理ホスト・プラットフォームの選択は、識別されたオペレータ・トレーニング・シミュレーション内で実装されたタグ数（Tnum）と、前記マスタＶＭでの並列実行のための前記識別されたオペレータ・トレーニング・シミュレーションのインスタンスの指定数（Simnum）と、前記識別されたオペレータ・トレーニング・シミュレーションの性能に関する指定された時間スケール（Tscale）と、前記識別されたオペレータ・トレーニング・シミュレーションの性能に関する基本サイクルの指定された分割（BasCycleval）と、のうち１つまたは複数に基づく、
方法。
【請求項２】
前記マスタＶＭのインスタンス化のために選択された前記第１の物理ホスト・プラットフォームは、MemRAM以上のランダム・アクセス・メモリ（ＲＡＭ）を含み、MemRAMは制約（１）、即ち、
MemRAM（ギガバイト単位）=4+[CEIL(Tnum/10、000)+CEIL(Tnum/10、000)MOD2)]×Simnum・・・（制約１）
に基づいて決定され、
CEILは、計算された実数を前記計算された実数より小さくない最小の整数に増加させる関数であり、
MODは或る数の別の数によるユークリッド除法の後の残余を返す関数である、
請求項１に記載の方法。
【請求項３】
前記マスタＶＭのインスタンス化のために選択された前記第１の物理ホスト・プラットフォームはMemstore以上のデータ記憶容量を含み、Memstoreは制約（２）、即ち、
Memstore（ギガバイト単位）=50+[CEIL(Tnum/10、000)]×20・・・（制約２）
に基づいて決定され、
CEILは、計算された実数を前記計算された実数より小さくない最小の整数に増加させる関数である、
請求項１に記載の方法。
【請求項４】
前記マスタＶＭのインスタンス化のために選択された前記第１の物理ホスト・プラットフォームはProcessornum以上の数のプロセッサを含み、Processornumは制約（３）乃至（８）、即ち、
前記時間スケールTscaleは、前記識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの３２倍未満の加速を示し、Processornum≧２・・・（制約３）
前記時間スケールTscaleは、前記識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの３２倍以上かつ６４倍未満の加速を示し、Processornum≧４・・・（制約４）
前記時間スケールTscaleは、前記識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの６４倍以上の加速を示し、Processornum≧８・・・（制約５）
前記基本サイクル値の分割BasCyclevalは１であり、Processornum≧２・・・（制約６）
前記基本サイクル値の分割BasCyclevalは２であり、Processornum≧４・・・（制約７）
前記基本サイクル値の分割BasCyclevalは４であり、Processornum≧８・・・（制約８）
のうち１つまたは複数に基づいて決定される、請求項１に記載の方法。
【請求項５】
前記マスタＶＭのインスタンス化のために選択された前記第１の物理ホスト・プラットフォーム内の少なくとも１つのプロセッサは２．０ＧＨｚ以上のクロック速度を有する、請求項４に記載の方法。
【請求項６】
前記第２の物理ホスト・プラットフォームおよび第３の物理ホスト・プラットフォームの何れかまたは両方は、
２．０ＧＨｚ以上のクロック速度を有するプロセッサと、
少なくとも４ギガバイトのＲＡＭと、
少なくとも５０ギガバイトのデータ記憶容量と、
のうち１つまたは複数を含む、請求項１に記載の方法。
【請求項７】
制御システムのシミュレーション・ベースのオペレータ・トレーニング・システムをクラウド・ベースのコンピューティング・クラスタに実装するためのシステムであって、
オペレータ・トレーニング・シミュレーションの１つまたは複数のパラメータを特定する情報を受信するためのインタフェースと、
少なくともマスタＶＭイメージ、オペレータＶＭイメージおよびインストラクタＶＭイメージを含む仮想マシン（ＶＭ）イメージのリポジトリと、
１組の利用可能なクラウド・コンピューティング・リソースから選択された第１の物理ホスト・プラットフォームでインスタンス化されたマスタＶＭであって、前記マスタＶＭのインスタンス化は前記マスタＶＭイメージに基づく、マスタＶＭと、
前記１組の利用可能なクラウド・コンピューティング・リソースから選択された第２の物理ホスト・プラットフォームでインスタンス化されたオペレータＶＭであって、前記オペレータＶＭのインスタンス化は前記オペレータＶＭイメージに基づく、オペレータＶＭと、
前記１組の利用可能なクラウド・コンピューティング・リソースから選択された第３の物理ホスト・プラットフォームでインスタンス化されたインストラクタＶＭであって、前記インストラクタＶＭのインスタンス化は前記インストラクタＶＭイメージに基づく、インストラクタＶＭと、
を備え、
前記インスタンス化されたマスタＶＭと前記インスタンス化されたオペレータＶＭは互いとネットワーク通信し、前記インスタンス化されたマスタＶＭと前記インスタンス化されたインストラクタＶＭは互いとネットワーク通信し、
前記１組の利用可能なクラウド・コンピューティング・リソースからの前記第１の物理ホスト・プラットフォームの選択は、
識別されたオペレータ・トレーニング・シミュレーション内で実装されたタグ数（Tnum）と、
前記マスタＶＭでの並列実行のための前記識別されたオペレータ・トレーニング・シミュレーションのインスタンスの指定数（Simnum）と、
前記識別されたオペレータ・トレーニング・シミュレーションの性能に関する指定された時間スケール（Tscale）と、
前記識別されたオペレータ・トレーニング・シミュレーションの性能に関する基本サイクルの指定された分割（BasCycleval）と、
のうち１つまたは複数に基づく、システム。
【請求項８】
前記第１の物理ホスト・プラットフォームはMemRAM以上のランダム・アクセス・メモリ（ＲＡＭ）を含み、MemRAMは制約（１）、即ち、
MemRAM（ギガバイト単位）=4+[CEIL(Tnum/10、000)+CEIL(Tnum/10、000)MOD2)]×Simnum・・・（制約１）
に基づいて決定され、
CEILは、計算された実数を前記計算された実数より小さくない最小の整数に増加させる関数であり、
MODは或る数の別の数によるユークリッド除法の後の残余を返す関数である、
請求項７に記載のシステム。
【請求項９】
前記第１の物理ホスト・プラットフォームはMemstore以上のデータ記憶容量を含み、Memstoreは制約（２）、即ち、
Memstore（ギガバイト単位）=50+[CEIL(Tnum/10、000)]×20・・・（制約２）
に基づいて決定され、
CEILは、計算された実数を前記計算された実数より小さくない最小の整数に増加させる関数である、
請求項７に記載のシステム。
【請求項１０】
前記第１の物理ホスト・プラットフォームは、Processornum以上の数のプロセッサを含み、Processornumは制約（３）乃至（８）、即ち、
前記時間スケールTscaleは、前記識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの３２倍未満の加速を示し、Processornum≧２・・・（制約３）
前記時間スケールTscaleは、前記識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの３２倍以上かつ６４倍未満の加速を示し、Processornum≧４・・・（制約４）
前記時間スケールTscaleは、前記識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの６４倍以上の加速を示し、Processornum≧８・・・（制約５）
前記基本サイクル値の分割BasCyclevalは１であり、Processornum≧２・・・（制約６）
前記基本サイクル値の分割BasCyclevalは２であり、Processornum≧４・・・（制約７）
前記基本サイクル値の分割BasCyclevalは４であり、Processornum≧８・・・（制約８）
のうち１つまたは複数に基づいて決定される、請求項７に記載のシステム。
【請求項１１】
前記第１の物理ホスト・プラットフォーム内の少なくとも１つのプロセッサは２．０ＧＨｚ以上のクロック速度を有する、請求項１０に記載のシステム。
【請求項１２】
前記第２の物理ホスト・プラットフォームおよび第３の物理ホスト・プラットフォームの何れかまたは両方は、
２．０ＧＨｚ以上のクロック速度を有するプロセッサと、
少なくとも４ギガバイトのＲＡＭと、
少なくとも５０ギガバイトのデータ記憶容量と
のうち１つまたは複数を含む、請求項７に記載のシステム。
【請求項１３】
制御システムのシミュレーション・ベースのオペレータ・トレーニング・システムをクラウド・ベースのコンピューティング・クラスタに実装するためのコンピュータ・プログラムであって、コンピュータ可読プログラム・コードを具体化させた非一時的コンピュータ利用可能媒体を備え、前記コンピュータ可読プログラム・コードは、
オペレータ・トレーニング・シミュレーションの１つまたは複数のパラメータを特定する情報を受信するステップと、
マスタＶＭ、オペレータＶＭおよびインストラクタＶＭの各々に対応する仮想マシン（ＶＭ）イメージを取り出すステップと、
１組の利用可能なクラウド・コンピューティング・リソースから、
マスタＶＭのインスタンス化のための第１の物理ホスト・プラットフォームと、
オペレータＶＭのインスタンス化のための第２の物理ホスト・プラットフォームと、
インストラクタＶＭのインスタンス化のための第３の物理ホスト・プラットフォームと、
を選択するステップと、
前記第１の物理ホスト・プラットフォームで、取り出されたマスタＶＭイメージに基づいてマスタＶＭを、前記第２の物理ホスト・プラットフォームで、取り出されたオペレータＶＭイメージに基づいてオペレータＶＭを、前記第３の物理ホスト・プラットフォームで、取り出されたインストラクタＶＭイメージに基づいてインストラクタＶＭをインスタンス化するステップと、
前記インスタンス化されたマスタＶＭ、オペレータＶＭおよびインストラクタＶＭの間のネットワーク接続を構成するステップと、
のための命令を含み、
前記１組の利用可能なクラウド・コンピューティング・リソースからの前記第１の物理ホスト・プラットフォームの選択は、
識別されたオペレータ・トレーニング・シミュレーション内で実装されたタグ数（Tnum）と、
前記マスタＶＭでの並列実行のための前記識別されたオペレータ・トレーニング・シミュレーションのインスタンスの指定数（Simnum）と、
前記識別されたオペレータ・トレーニング・シミュレーションの性能に関する指定された時間スケール（Tscale）と、
前記識別されたオペレータ・トレーニング・シミュレーションの性能に関する基本サイクルの指定された分割（BasCycleval）と、
のうち１つまたは複数に基づく、
コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング・クラスタをプロビジョニングし構成することに関する。特に、本発明は、コンピュータ実行型のシミュレーションに基づくオペレータ・トレーニング・システムに対する最適にプロビジョンされ構成されたクラウド・ベースのコンピューティング・クラスタのための方法、システムおよびコンピュータ・プログラムを提供する。
【背景技術】
【０００２】
産業オートメーション・システムを実現するには、産業プラントが設計条件の中または外で動作しているときの状況を監視しそれに応答するためのオペレータまたは他の人員のトレーニングが必要である。オペレータ・トレーニング・システムはこれを、シミュレートされた環境においてルーチン動作、極めて重要な動作、および／または危機的状況を処理するようにオペレータまたはプラント人員をトレーニングすることで実現する。
【０００３】
図１Ａおよび１Ｂは、オペレータ・トレーニング・システムを実装するための例示的なコンピュータ・ベースのシミュレーション環境を示す。
【０００４】
図１Ａでは、シミュレーション環境は、オペレータ端末として機能する第１の端末１０２とインストラクタ端末として機能する第２の端末１０４とを用いて実装される。オペレータ端末１０２およびインストラクタ端末１０４の各々は、オペレータおよびインストラクタがそれぞれプラント環境の１つまたは複数のシミュレーションを参照できるようにするソフトウェアを実行している。インストラクタ端末１０４上のソフトウェアにより、インストラクタは、オペレータのトレーニングのためのシミュレーション・シナリオを作成し、進行中のシミュレーションを監視し、シミュレーション内のオペレータに提供できるイベント、故障、極めて重要な動作条件またはエラー条件を開始することができる。オペレータ端末１０２上のソフトウェアにより、オペレータは、シミュレーション内で提供されたイベント、故障、極めて重要な動作条件またはエラー条件に応答することによるものを含めて、オペレータのトレーニングのためのシミュレーション・シナリオを参照しそれと対話することができる。オペレータ端末１０２およびインストラクタ端末１０４を、互いと間接または直接ネットワーク通信にあるように構成することができる。
【０００５】
図１Ｂでは、図１Ａのシミュレーション環境はさらにシミュレーション・サーバ１０６を備える。図示した実施形態では、シミュレーション・サーバ１０６はシミュレーション・エンジンを実行する役割を担い、オペレータ端末１０２およびインストラクタ端末１０４は、それぞれオペレータおよびインストラクタによりアクセスされるクライアント端末として機能する。図１Ｂに示すオペレータ端末１０２およびインストラクタ端末１０４が互いと直接通信してもよく、または、シミュレーション・サーバ１０６を介して間接的に通信してもよい。
【０００６】
上述のタイプのシミュレータに基づくオペレータ・トレーニング・システムの実装には、購入、取得、およびスケール・アップには高価である専用ハードウェアとネットワーク構成を必要とする。さらに、オペレータ・トレーニング・システムの時間とともに変化する要件に鑑みると、組織は、(i)過大プロビジョニング、即ち、推定された最大リソース要求に基づくハードウェアおよびネットワーク容量の構築と維持（定常的に十分に活用されていない）または(ii)過小プロビジョニング、即ち、推定された平均リソース要求に基づく容量の構築と維持（この場合、システムはしばしば、高いリソース容量の要求に対応できない）の間で選択することを強制される。
【０００７】
クラウド・ベースのオペレータ・トレーニング・システムに対する先行技術の解決策が知られているが、かかるシステムも同様に過大プロビジョニングおよび過小プロビジョニングの問題に直面する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、シミュレートされたオペレータ・トレーニング・システムを動的に実装するためのクラウド・ベースのコンピューティング・クラスタの最適化されたプロビジョニングおよび構成に対するニーズが存在する。
【課題を解決するための手段】
【０００９】
本発明では、シミュレーション・ベースのオペレータ・トレーニング・システムをクラウド・ベースのコンピューティング・クラスタに実装するための方法を提供する。当該方法は、(i)オペレータ・トレーニング・シミュレーションの１つまたは複数のパラメータを特定する情報を受信するステップと、(ii)マスタＶＭ、オペレータＶＭおよびインストラクタＶＭの各々に対応する仮想マシン（ＶＭ）イメージを取り出すステップと、（iii)１組の利用可能なクラウド・コンピューティング・リソースから、（ａ）マスタＶＭのインスタンス化のための第１の物理ホスト・プラットフォーム、（ｂ）オペレータＶＭのインスタンス化のための第２の物理ホスト・プラットフォーム、および（ｃ）インストラクタＶＭのインスタンス化のための第３の物理ホスト・プラットフォームを選択するステップと、(iv)（ｄ）第１の物理ホスト・プラットフォームで、取り出されたマスタＶＭイメージに基づいてマスタＶＭをインスタンス化し、（ｅ）第２の物理ホスト・プラットフォームで、取り出されたオペレータＶＭイメージに基づいてオペレータＶＭをインスタンス化し、（ｆ）第３の物理ホスト・プラットフォームで、取り出されたインストラクタＶＭイメージに基づいてインストラクタＶＭをインスタンス化するステップと、(v)当該インスタンス化されたマスタＶＭ、オペレータＶＭおよびインストラクタＶＭの間のネットワーク接続を構成するステップとを含む。
【００１０】
当該１組の利用可能なクラウド・コンピューティング・リソースからの第１の物理ホスト・プラットフォームの選択は、(i)識別されたオペレータ・トレーニング・シミュレーション内で実装されたタグ数（Tnum）、(ii)マスタＶＭでの並列実行のための当該識別されたオペレータ・トレーニング・シミュレーションのインスタンスの指定数（Simnum）、（iii)当該識別されたオペレータ・トレーニング・シミュレーションの性能に関する指定された時間スケール（Tscale）、および(iv)当該識別されたオペレータ・トレーニング・シミュレーションの性能に関する基本サイクルの指定された分割（BasCycleval）のうち１つまたは複数に基づいてもよい。
【００１１】
マスタＶＭのインスタンス化のために選択された第１の物理ホスト・プラットフォームはMemRAM以上のランダム・アクセス・メモリ（ＲＡＭ）を含んでもよい。MemRAMは制約（１）に基づいて決定される。
MemRAM（ギガバイト単位）=4+[CEIL(Tnum/10、000)+CEIL(Tnum/10、000)MOD2)]×Simnum・・・（制約１）
【００１２】
当該実施形態の目的のため、CEILは、計算された実数を当該計算された実数より小さくない最小の整数に増加させる関数であり、MODは或る数の別の数によるユークリッド除法の後の残余を返す関数である。
【００１３】
マスタＶＭのインスタンス化のために選択された第１の物理ホスト・プラットフォームはMemstore以上のデータ記憶容量を含んでもよい。Memstoreは制約（２）に基づいて決定される。
Memstore（ギガバイト単位）=50+[CEIL(Tnum/10、000)]×20・・・（制約２）
【００１４】
当該実施形態の目的のため、CEILは、計算された実数を当該計算された実数より小さくない最小の整数に増加させる関数である。
【００１５】
当該方法の１実施形態では、マスタＶＭのインスタンス化のために選択された第１の物理ホスト・プラットフォームはProcessornum以上の数のプロセッサを含んでもよい。Processornumは制約（３）乃至（８）のうち１つまたは複数に基づいて決定される。
時間スケールTscaleは、識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの３２倍未満の加速を示し、Processornum≧２・・・（制約３）
時間スケールTscaleは、識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの３２倍以上かつ６４倍未満の加速を示し、Processornum≧４・・・（制約４）
時間スケールTscaleは、識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの６４倍以上の加速を示し、Processornum≧８・・・（制約５）
基本サイクル値の分割BasCyclevalは１であり、Processornum≧２・・・（制約６）
基本サイクル値の分割BasCyclevalは２であり、Processornum≧４・・・（制約７）
基本サイクル値の分割BasCyclevalは４であり、Processornum≧８・・・（制約８）。
【００１６】
当該方法の１実施形態では、マスタＶＭのインスタンス化のために選択された第１の物理ホスト・プラットフォーム内の少なくとも１つのプロセッサは２．０ＧＨｚ以上のクロック速度を有する。
【００１７】
別の実施形態では、第２のおよび第３の物理ホスト・プラットフォームの何れかまたは両方は、
２．０ＧＨｚ以上のクロック速度を有するプロセッサ、
少なくとも４ギガバイトのＲＡＭ、および
少なくとも５０ギガバイトのデータ記憶容量
のうち１つまたは複数を含んでもよい。
【００１８】
本発明はさらに、シミュレーション・ベースのオペレータ・トレーニング・システムをクラウド・ベースのコンピューティング・クラスタに実装するためのシステムを提供する。当該システムは、(i)オペレータ・トレーニング・シミュレーションの１つまたは複数のパラメータを特定する情報を受信するためのインタフェース、(ii)少なくともマスタＶＭイメージ、オペレータＶＭイメージおよびインストラクタＶＭイメージを含む仮想マシン（ＶＭ）イメージのリポジトリ、（iii)１組の利用可能なクラウド・コンピューティング・リソースから選択された第１の物理ホスト・プラットフォームでインスタンス化されたマスタＶＭであって、マスタＶＭのインスタンス化はマスタＶＭイメージに基づく、マスタＶＭ、(iv)当該１組の利用可能なクラウド・コンピューティング・リソースから選択された第２の物理ホスト・プラットフォームでインスタンス化されたオペレータＶＭであって、当該オペレータＶＭのインスタンス化は当該オペレータＶＭイメージに基づく、オペレータＶＭ、および(v)当該１組の利用可能なクラウド・コンピューティング・リソースから選択された第３の物理ホスト・プラットフォームでインスタンス化されたインストラクタＶＭであって、当該インストラクタＶＭのインスタンス化は当該インストラクタＶＭイメージに基づく、インストラクタＶＭを備える。
【００１９】
インスタンス化されたマスタＶＭおよびインスタンス化されたオペレータＶＭが、が互いとネットワーク通信してもよく、当該インスタンス化されたマスタＶＭおよび当該インスタンス化されたインストラクタＶＭは互いとネットワーク通信する。さらに、当該１組の利用可能なクラウド・コンピューティング・リソースからの第１の物理ホスト・プラットフォームの選択は、(i)識別されたオペレータ・トレーニング・シミュレーション内で実装されたタグ数（Tnum）、(ii)マスタＶＭでの並列実行のための当該識別されたオペレータ・トレーニング・シミュレーションのインスタンスの指定数（Simnum）、（iii)当該識別されたオペレータ・トレーニング・シミュレーションの性能に関する指定された時間スケール（Tscale）、および(iv)当該識別されたオペレータ・トレーニング・シミュレーションの性能に関する基本サイクルの指定された分割（BasCycleval）のうち１つまたは複数に基づいてもよい。
【００２０】
システムの実施形態では、第１の物理ホスト・プラットフォームは、MemRAM以上のランダム・アクセス・メモリ（ＲＡＭ）を含む。MemRAMは制約（１）に基づいて決定される。
MemRAM（ギガバイト単位）=4+[CEIL(Tnum/10、000)+CEIL(Tnum/10、000)MOD2)]×Simnum・・・（制約１）。
【００２１】
当該実施形態では、CEILは、計算された実数を当該計算された実数より小さくない最小の整数に増加させる関数であり、MODは或る数の別の数によるユークリッド除法の後の残余を返す関数である。
【００２２】
第１の物理ホスト・プラットフォームは、Memstore以上のデータ記憶容量を含んでもよい。Memstoreは制約（２）に基づいて決定される。
Memstore（ギガバイト単位）=50+[CEIL(Tnum/10、000)]×20・・・（制約２）。
【００２３】
当該実施形態では、CEILは、計算された実数を当該計算された実数より小さくない最小の整数に増加させる関数である。
【００２４】
別のシステムの実施形態では、第１の物理ホスト・プラットフォームはProcessornum以上の数のプロセッサを含む。Processornumは制約（３）乃至（８）のうち１つまたは複数に基づいて決定される。
時間スケールTscaleは、識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの３２倍未満の加速を示し、Processornum≧２・・・（制約３）
時間スケールTscaleは、識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの３２倍以上かつ６４倍未満の加速を示し、Processornum≧４・・・（制約４）
時間スケールTscaleは、識別されたオペレータ・トレーニング・シミュレーションに対するデフォルトの時間スケールの６４倍以上の加速を示し、Processornum≧８・・・（制約５）
基本サイクル値の分割BasCyclevalは１であり、Processornum≧２・・・（制約６）
基本サイクル値の分割BasCyclevalは２であり、Processornum≧４・・・（制約７）
基本サイクル値の分割BasCyclevalは４であり、Processornum≧８・・・（制約８）
【００２５】
第１の物理ホスト・プラットフォーム内の少なくとも１つのプロセッサが２．０ＧＨｚ以上のクロック速度を有してもよい。当該システムの１実施形態では、第２のおよび第３の物理ホスト・プラットフォームの何れかまたは両方は、２．０ＧＨｚ以上のクロック速度を有するプロセッサ、少なくとも４ギガバイトのＲＡＭ、および少なくとも５０ギガバイトのデータ記憶容量のうち１つまたは複数を含む。
【００２６】
本発明はさらに、本発明の方法のステップを実装するためのコンピュータ可読プログラム命令を有する非一時的コンピュータ利用可能媒体を含む、シミュレーション・ベースのオペレータ・トレーニング・システムをクラウド・ベースのコンピューティング・クラスタに実装するためのコンピュータ・プログラム製品を提供する。
【図面の簡単な説明】
【００２７】
【図１Ａ】オペレータ・トレーニング・システムを実装するための例示的なコンピュータ・ベースのシミュレーション環境を示す図である。
【図１Ｂ】オペレータ・トレーニング・システムを実装するための例示的なコンピュータ・ベースのシミュレーション環境を示す図である。
【図２】クラウド・ベースのコンピューティング・クラスタを示す図である。
【図３】クラウド・ベースのコンピューティング・クラスタを示す図である。
【図４】クラウド・コンピューティング・クラスタをインスタンス化する方法を示す図である。
【図５】本発明を実装するための例示的なコンピューティング・システムを示す図である。
【発明を実施するための形態】
【００２８】
本発明の目的のため、「利用可能なクラウド・リソース（複数可）」または「利用可能なクラウド・コンピューティング・リソース」とは、クラウド・リソースのプロビジョニングに対する要求に応答して割当てまたは予約をするのに利用できるクラウド内の１組のハードウェア、ソフトウェアおよびネットワーク・リソースを意味するものとする。
【００２９】
本発明の目的のため、「基本サイクル」とはソフトウェア・アプリケーションと関連して定義された時間間隔を意味するものとする。当該時間間隔は、ソフトウェア・アプリケーションに対応する２つの連続的な命令の実行を分離する。例えば、アプリケーションに対する基本サイクルが１秒である場合、当該ソフトウェア・アプリケーションに対応する実行コマンドのための命令は毎秒１回送信されるものとする。
【００３０】
本発明の目的のため、「時間スケールの変化」または「デフォルトの時間スケールの変更」または「時間スケールの指定」とは、シミュレーションの実施を完了するのに必要な時間の変動を実装することを指す。例えば、通常の過程の場合、シミュレーションの実施には固定された期間が必要であり、加速によりデフォルトの時間スケールを変更すると、シミュレーションの実施を完了するのに必要な期間を減らすことができ、減速により当該時間スケールを変更すると、シミュレーションの実施を完了するのに必要な期間を増大させることができる。
【００３１】
本発明の目的のため、「基本サイクルを分割する」、「基本サイクルの分割」または「基本サイクル分割」とは、基本サイクルをデフォルトの基本サイクルの断片として再定義することを意味するものとする。例えば、１の「基本サイクル分割」値は、当該サイクルが分割されず、デフォルトの基本サイクルが不変のままであることを意味する。別の例では、当該基本サイクルが１秒であり指定された「基本サイクル分割」値が４である場合、実行コマンドのための命令は関連するアプリケーションと関連して毎秒４回送信される。基本サイクルの分割を使用して、他のアプリケーションの計算負荷を増大させずに高速制御動作が必要な特定のアプリケーションを実行することができる。
【００３２】
本発明の目的のため、「機能ブロック」とは、フィールド装置または制御システムの他の任意の部分に関連付けられた入力機能（入力機能ブロック）出力機能（出力機能ブロック）、または制御機能（制御機能ブロック）を定義し実装するコードを含む離散ブロックまたは自己包含ブロックを意味するものとする。機能ブロックは、制御システムが表示または制御するのに必要でありうる任意の離散データ点（アナログまたはデジタル）を含んでもよく、プロセッサまたはマイクロプロセッサ内で実行される対応するアルゴリズムに基づいて、制御システム内の（コントローラ、アクチュエータ、センサまたは他のフィールド装置のような）１つまたは複数の装置またはハードウェア・コンポーネントを用いて実装または実行されることを意図した機能を表す。例示的な機能ブロックが、限定ではなく、コンポーネント、コンポーネント入力、コンポーネント出力、設定点、システムまたは処理変数、コントローラ利得、モジュール・ステータス、計算変数、論理動作、逐次動作、連動制御ブロック、デジタルまたはアナログ入力または出力カード上の１つまたは複数の特定の配線点、論理チャート、論理ブロック、論理または計算ブロックからのデータ出力に対する計算ブロックまたはデータ入力を含んでもよい。
【００３３】
本発明の目的のため、「物理ホスト・プラットフォーム」とは、１つまたは複数のプロセッサまたは処理ユニット、ランダム・アクセス・メモリ、ネットワーク・インタフェースおよび／またはデータ記憶を含む物理コンピュータ・システムを意味するものとする。本発明に従う物理ホスト・プラットフォームが、これに限定されないがｘ８６アーキテクチャを含めて、任意の数のシステム・アーキテクチャを実装してもよい。
【００３４】
本発明の目的のため、「シミュレーション・エンジン」とは、シミュレートされた出力変数値を提供するための、１組の定義された初期値および１つまたは複数の入力変数値に従ってシミュレーション・モデルを実行するためのプラットフォーム、装置または１組の命令を意味するものとする。
【００３５】
本発明の目的のため、「シミュレーション・モデル」とは、入力および出力パラメータの間の関係またはダイナミクスの数学的表現、およびシミュレートされた環境の遷移状態の数学的表現を意味するものとする。
【００３６】
本発明の目的のため、「タグ（複数可）」とは、特定の機能ブロックに関連付けられるかまたは特定の機能ブロックにアクセスするために使用できる、１つまたは複数の一意な識別子として理解されるものとする。ＤＣＳまたはＳＣＡＤＡのような制御システムでは、タグは、当該タグが割り当てられているコンポーネントまたは機能ブロックにアクセスするかまたはこれらを制御するために使用できる、一意な名前、変数またはメモリ・アドレスを含む。
【００３７】
本発明の目的のため、「仮想マシン」または「ＶＭ」とは、物理コンピュータ・システムのソフトウェア抽象化を意味する。各ＶＭは、物理コンピュータの構造を表し、仮想システム・ハードウェアおよびゲスト・システム・ソフトウェアの両方を含んでもよい。仮想システム・ハードウェアが、少なくとも１つの仮想ＣＰＵ、仮想メモリ、仮想ディスクのような少なくとも１つの記憶装置、および１つまたは複数の仮想デバイスを含んでもよい。当該ＶＭの仮想ハードウェア・コンポーネントを、対応する物理コンポーネントをエミュレートするためのソフトウェア内で実装してもよい。当該ゲスト・システム・ソフトウェアが、必要に応じてゲスト・オペレーティング・システム、アプリケーション・プログラムおよびドライバを含んでもよい。
【００３８】
本発明の目的のため、クラウド・ベースのコンピューティング・クラスタの生成は、仮想マシンのクラウドを、当該クラウド内の１組の利用可能な物理ホスト・プラットフォーム内から選択れた物理ホスト・プラットフォームの対応するクラウド上で構成し展開することを含む。
【００３９】
各仮想マシン（ＶＭ）のプロパティおよび機能を対応する仮想マシン・イメージ（ＶＭイメージ）により定義してもよい。当該ＶＭイメージは、オペレーティング・システム、ドライバ、当該ＶＭに対応するパラメータ情報のうち１つまたは複数、および対応する物理ホスト・プラットフォームでインスタンス化されるときに仮想マシンで起動し動作するのに必要でありうる１つまたは複数のアプリケーション・プログラムを含む、情報を格納する１つまたは複数のデータ・ファイルを含む。ＶＭイメージを、対応するＶＭをプロビジョニングする目的のために事前に構成および／または事前に格納してもよい。
【００４０】
対応する物理ホスト・プラットフォーム上のＶＭのはインスタンス化は、オペレーティング・システム、ドライバ、および１つまたは複数のアプリケーション・プログラムのうち１つまたは複数をＶＭイメージから当該物理ホスト・プラットフォームに展開し、その後、基盤となる物理ホスト・プラットフォームを用いて、エミュレートされたマシンとして当該ＶＭをを実行することを含む。
【００４１】
クラウド・ベースのコンピューティング・クラスタのプロビジョニングでは、単一のＶＭイメージを使用して、クラウド内で複数のＶＭをプロビジョニングしインスタンス化してもよい。あるいは、当該クラウド・ベースのクラウドをプロビジョニングすることが、複数の事前に構成されたＶＭイメージを１組の事前に構成されたＶＭイメージから選択することを含んでもよく、その後選択したＶＭイメージの各々を使用し、当該クラウド内で１つまたは複数のＶＭをプロビジョニングし構成してもよい。
【００４２】
図２は、複数のＶＭイメージに基づいてＶＭを用いてプロビジョニングされたクラウド・ベースのコンピューティング・クラスタの１例を示す。クラウド２００はＶＭイメージ・リポジトリ２０８を含み、ＶＭイメージ・リポジトリ２０８は複数のＶＭイメージ、即ち、ＶＭＩ１乃至ＶＭＩｎを含む。クラウド・ベースのコンピューティング・クラスタ２１０は、リング・トポロジ内で相互接続するように構成された第１の、第２のおよび第３のＶＭ（２０２、２０４および２０６）を含む。第１のＶＭ２０２はＶＭイメージＶＭＩ１に基づいてプロビジョニングおよび構成されており、第２のＶＭ２０４はＶＭイメージＶＭＩ２に基づいてプロビジョニングおよび構成されており、第３のＶＭ２０６はＶＭＩ３に基づいてプロビジョニングおよび構成されており、そのＶＭイメージの各々はＶＭイメージ・リポジトリ２０８から選択され取り出されている。クラスタ２１０内の各ＶＭの構成および特性は対応するＶＭイメージ内の情報に基づく。図２では特に図示していないが、クラスタ２１０内の各ＶＭはクラウド２００内の対応する物理ホスト・プラットフォームで実装されていることは理解される。最適な性能のため、対応するＶＭをホストするために特定または選択された各物理ホスト・プラットフォームのプロパティおよび特性は、かかるＶＭのプロパティおよび要件に対応すべきであり、当該選択ステップが、したがって、(i)当該対応するＶＭイメージ内の情報および(ii)クラウド・ベースのコンピューティング・クラスタの生成を要求するかまたはクラウド・コンピューティング・リソースのプロビジョニングを要求するユーザ、装置またはソフトウェア・アプリケーションから受信した情報のうち１つまたは両方を前提してもよい。
【００４３】
図３は、本発明の１実施形態に従って実装されるクラウド・コンピューティング・ベースのオペレータ・トレーニング・システムを示す。クラウド・ベースのコンピューティング・クラスタ３１０はクラウド３００内で利用可能なコンピューティング・リソースからプロビジョニングされ、オペレータＶＭ３０２、インストラクタＶＭ３０４およびマスタＶＭ３０６を含む。
【００４４】
マスタＶＭ３０６は、１つまたは複数のシミュレーション・エンジンを実行するように構成された仮想マシンを含む。マスタＶＭ内で実装されたシミュレーション・エンジンを使用して、特定のシミュレートされた環境内の１つまたは複数の可能なシナリオを生成してもよい。
【００４５】
１実施形態では、マスタＶＭ３０６を、ＶＭイメージ・リポジトリ（図３では図示せず）から取り出されたマスタＶＭイメージに基づいてクラウド３００内の物理ホスト・プラットフォームで実装してもよい。
【００４６】
オペレータＶＭ３０２は、オペレータ側のソフトウェアがインストールされた仮想マシンを含む。オペレータＶＭ３０２は、マスタＶＭ３０６内で実行されるシミュレーション・エンジンからデータを受信するように構成される。当該シミュレーション・エンジンから受信したデータに基づいて、オペレータＶＭ３０２にインストールされたオペレータ側のソフトウェアは、シミュレーションを用いてオペレータに提供するためのシミュレーション出力情報を生成する。シミュレーションの過程でオペレータに提供されたシミュレーション出力情報が、テキスト、データ、グラフィクス、インタフェース情報または任意の２つ以上の組合せを含んでもよいことは理解される。生成されたシミュレーション出力情報が、その後、クラウド・ベースのシミュレーションにアクセスする目的のためにオペレータにより使用されるオペレータのクライアント端末３１２に送信してもよい。同様に、オペレータのクライアント端末３１２でオペレータにより提供された入力に対応するシミュレーション入力情報をオペレータＶＭ３０２に送信してもよい。オペレータ側のソフトウェアが、かかるシミュレーション入力情報を関連シミュレーション・データに変換し、かかるシミュレーション・データをマスタＶＭ３０６内のシミュレーション・エンジンに送信してもよい。
【００４７】
インストラクタＶＭ３０４は、インストラクタ側のソフトウェアがインストールされた仮想マシンを含む。インストラクタＶＭ３０４は、マスタＶＭ３０６内で実行されているシミュレーション・エンジンからデータを受信するように構成される。当該シミュレーション・エンジンから受信したデータに基づいて、インストラクタＶＭ３０４にインストールされたインストラクタ側のソフトウェアは、シミュレーションを用いてインストラクタに提供するためのシミュレーション出力情報を生成する。シミュレーションの過程でインストラクタに提供されたシミュレーション出力情報が、テキスト、データ、グラフィクス、インタフェース情報または任意の２つ以上の組合せを含んでもよいことは理解される。生成されたシミュレーション出力情報をその後、当該クラウド・ベースのシミュレーションにアクセスする目的のためにインストラクタにより使用されるインストラクタのクライアント端末３１４に送信してもよい。同様に、インストラクタのクライアント端末３１４でインストラクタにより提供される入力に対応するシミュレーション入力情報をインストラクタＶＭ３０４に送信してもよい。インストラクタ側のソフトウェアが、かかるシミュレーション入力情報を関連シミュレーション・データに変換し、その後、かかるシミュレーション・データをマスタＶＭ３０６内のシミュレーション・エンジンに送信してもよい。
【００４８】
本発明の１実施形態では、(i)マスタＶＭ３０６内のシミュレーション・エンジンは、オペレータおよびインストラクタの入力および出力パラメータに基づいて、かつ、シミュレートされた環境の遷移状態に基づいてシミュレーション状態データを生成し修正する役割を担い、(ii)オペレータＶＭ３０２内のオペレータ側のソフトウェアは当該シミュレーション・エンジンから受信されたデータを、オペレータに提供しオペレータにより解釈できる有意な情報に変換し、当該オペレータから受信された入力データを、当該シミュレーション・エンジンに送信し当該シミュレーション・エンジンにより解釈できる有意な情報に変換する役割を担い、かつ／または（iii)インストラクタＶＭ３０４内のインストラクタ側のソフトウェアは、当該シミュレーション・エンジンから受信されたデータを、インストラクタに提供されインストラクタにより解釈できる有意な情報に変換し、当該インストラクタから受信された入力データを、当該シミュレーション・エンジンに送信され当該シミュレーション・エンジンにより解釈できる有意な情報に変換する役割を担う。
【００４９】
図４は、オペレータ・トレーニング・シミュレーションを実装する目的のために、本発明の教示事項に従って構成されるクラウド・コンピューティング・クラスタをインスタンス化する方法を示す。
【００５０】
ステップ４０２は、シミュレーション要件を受信するステップを含む。ステップ４０２で受信されたシミュレーション要件は、実装を意図したオペレータ・トレーニング・シミュレーションを定義するパラメータを含み、シミュレーション・タイプ識別、シミュレーション・エンジン識別、実行を意図したシミュレーションのインスタンスの数、シミュレーションに参加するオペレータの数、シミュレーションに参加するインストラクタの数、シミュレーションの目的のためのオペレータまたはインストラクタの許可、ソフトウェア・ライセンシング情報、仮想マシン間のネットワーク接続に対応する情報、シミュレーションに関連付けられた（またはその任意の一部に関連付けられた）タグ数、要求された時間スケール、要求された基本サイクル分割、および１つまたは複数のライセンシング・サーバに対応する位置またはアクセス情報のうち１つまたは複数を含んでもよい。当該シミュレーション要件の１つまたは複数を、１実施形態では、かかる要件を受信するために構成されたインタフェース（例えばグラフィカル・ユーザ・インタフェースで）で受信してもよい。
【００５１】
当該シミュレーション要件の１つまたは複数を、オペレータ入力、インストラクタ入力または任意の他のユーザ入力によって受信してもよく、または、当該シミュレーションのインスタンス化のための命令に応答して自動化システムにより生成してもよく、または、シミュレーションおよびシミュレーション・パラメータ・データを格納するデータベースから取り出してもよい。
【００５２】
ステップ４０２で受信したシミュレーション要件から導出した情報に基づいて、ステップ４０４で、当該シミュレーション要件に従って１つまたは複数のシミュレーション（複数可）を実行する目的のためのマスタＶＭ、オペレータＶＭ（複数可）およびインストラクタＶＭ（複数可）のインスタンスを実装できる１つまたは複数の物理ホスト・プラットフォームのための最小ハードウェアおよび構成要件を決定する。
【００５３】
ステップ４０４で決定した最小のハードウェアおよび構成要件に基づいて、ステップ４０６で、当該１組の利用可能なクラウド・リソースから、シミュレーション要件に従って１つまたは複数のシミュレーション（複数可）を実行する目的のためマスタＶＭ、オペレータＶＭ（複数可）およびインストラクタＶＭ（複数可のインスタンス）をそれぞれ実装できる物理ホスト・プラットフォームを選択する。
【００５４】
ステップ４０８は、ステップ４０６で選択された対応する物理ホスト・プラットフォームでマスタＶＭならびにオペレータＶＭ（複数可）およびインストラクタＶＭ（複数可）の各々をインスタンス化するステップを含む。
【００５５】
その後ステップ４１０は、ステップ４０８でインスタンス化されているＶＭのクラスタ内の各ＶＭ（または各ＶＭに対応する基盤となる物理ホスト・プラットフォーム）のネットワークを構成するステップを含む。ステップ４１０でのネットワーク構成は、互いのＶＭと、クラウド外のクライアント端末と、および／または任意のＶＭでの任意のソフトウェアの実行に必要なライセンシング情報またはライセンシング許可を含むクラウド内またはクラウド外の任意のライセンシング・サーバとの、ＶＭの１つまたは複数のネットワークを構成するステップを含んでもよい。
【００５６】
図４で説明した方法の１実施形態では、ステップ４０４でのマスタＶＭのインスタンス化のための物理ホスト・プラットフォームを選択するための最小ハードウェア要件の決定は、
・マスタＶＭでの実行が求められているシミュレーションまたはシミュレーション・エンジンに対応するかまたはそれらの中で実装されているタグの数（Tnum）
・マスタＶＭでの並列実行が求められているシミュレーションまたはシミュレーション・エンジンのインスタンスの数（Simnum）
・マスタＶＭでの実装が求められているシミュレーションまたはシミュレーション・エンジンの実行に指定された時間スケール（Tscale）
・マスタＶＭでの実装を求められているシミュレーションまたはシミュレーション・エンジンを実行するために指定された基本サイクル値（BasCycleval）の分割
のうち１つまたは複数に対応するデータに基づく。
【００５７】
１実施形態では、マスタＶＭのインスタンス化に対して選択された物理ホスト・プラットフォームはMemRAM以上のランダム・アクセス・メモリ（ＲＡＭ）を有する。MemRAMは以下の制約に基づいて決定される最小ＲＡＭ容量である。
【００５８】
MemRAM(ギガバイト単位）=4+[CEIL(Tnum/10、000)+CEIL(Tnum/10、000)MOD2)]×Simnum・・・（制約１）
【００５９】
(i)CEILは天井関数または天井演算であり、計算された実数を当該計算された実数より小さくない最小の整数に増加させ、(ii)MODはモジュロ関数またはモジュロ演算であり、或る数の別の数によるユークリッド除法の後の残余を返す。
【００６０】
本発明の特定の実施形態では、MemRAMは４ギガバイト（ＧＢ）以上である。
【００６１】
１実施形態では、マスタＶＭのインスタンス化に対して選択された物理ホスト・プラットフォームはMemstore以上のデータ記憶容量（例えば、ハード・ディスク容量）を有する。Memstoreは以下の制約に基づいて決定される。
Memstore（ギガバイト単位）=50+[CEIL(Tnum/10、000)]×20・・・（制約２）
【００６２】
CEILは天井関数または天井演算であり、計算された実数を当該計算された実数より小さくない最小の整数に増加させる。
【００６３】
本発明の特定の実施形態では、Memstoreは５０ＧＢ以上である。
【００６４】
本発明の１実施形態では、マスタＶＭのインスタンス化のために選択された物理ホスト・プラットフォーム内で実装される最小の必要な数のプロセッサ（Processornum）は、指定された時間スケール（Tscale）と基本サイクル値の指定された分割（BasCycleval）のうち１つまたは両方に基づく。Processornumを決定するための具体的な制約は以下を含む。
・指定された時間スケールTscaleが意図したシミュレーションのためのデフォルトの時間スケールの３２倍未満の加速を必要とする場合、Processornum≧２・・・（制約３）
・指定された時間スケールTscaleが意図したシミュレーションのためのデフォルトの時間スケールの３２倍以上かつ６４倍未満の加速を必要とする場合、Processornum≧４・・・（制約４）
・指定された時間スケールTscaleが意図したシミュレーションのためのデフォルトの時間スケールの６４倍以上の加速を必要とする場合、Processornum≧８・・・（制約５）
・基本サイクル値の指定された分割BasCyclevalが１である場合、Processornum≧２・・・（制約６）
・基本サイクル値の指定された分割BasCyclevalが２である場合、Processornum≧４・・・（制約７）
・基本サイクル値の指定された分割BasCyclevalが４である場合、Processornum≧８・・・（制約８）
【００６５】
本発明の目的のため、物理ホスト・プラットフォームは、均等な数の単一のコアプロセッサにより、または、最小数のプロセッサ・コアを有する１つまたは複数のマルチコア・プロセッサにより、最小プロセッサ要件Processornumを満たしてもよい。例えば、Processornum＝４である場合、上述の制約に従って選択された物理ホスト・プラットフォームが、４つの単一のコアプロセッサ、または単一のクアッドコアプロセッサ、または２つのデュアルコアプロセッサの何れかを有してもよい。本発明の１実施形態では、マスタＶＭのインスタンス化に対して選択された物理ホスト・プラットフォーム内の少なくとも１つの（好ましくは夫々の）プロセッサが２．０ＧＨｚ以上のクロック速度を有する。好適な実施形態では、マスタＶＭのインスタンス化に対して選択された物理ホスト・プラットフォーム内の少なくとも１つの（好ましくは夫々の）プロセッサが２．５ＧＨｚ以上のクロック速度を有する。
【００６６】
図４で説明する方法の１実施形態では、オペレータＶＭまたはインストラクタＶＭのインスタンス化をサポートできる物理ホスト・プラットフォームのステップ４０６での選択は、少なくとも１つのプロセッサ、４ギガバイトのＲＡＭおよび少なくとも５０ギガバイトのデータ記憶容量を有する物理ホスト・プラットフォームの選択を含む。当該少なくとも１つのプロセッサが２．０ＧＨｚ以上のクロック速度を有してもよい。より具体的な実施形態では、オペレータＶＭまたはインストラクタＶＭを実装するための選択された物理ホスト・プラットフォームの少なくとも１つのプロセッサは２．５ＧＨｚ以上のクロック速度を有する。
【００６７】
本発明は、シミュレーション・ベースのオペレータ・トレーニング・システムを実装するための既知のシステムおよび方法に対して多数の利点を提供する。第１のインスタンスでは、クラウド・リソースを用いてオペレータ・トレーニング・システムをプロビジョニングすることは、必要なハードウェア・リソースの購入および保守に関連付けられた同等な投資なしにトレーニングリソースを動的に拡大または縮小するのに必要な柔軟性を組織に提供する。さらに、上述の制約のうち１つまたは複数に従ってクラウド・ベースのクラスタをプロビジョニングすることによって、本発明は、当該クラウド・コンピューティング・クラスタが指定されたトレーニング要件に応答するのに必要な最小ハードウェア機能を有することを保証し、それにより、実装されたエミュレーションが指定された性能要件と一貫するように実施されることを保証し、過小プロビジョニングタイプの問題を回避する。同様に、指定された制約により指定された最小リソースのみを取得することによって、本発明は過大プロビジョニングとそれに関連する無駄なコストを回避する。特定のトレーニングに応答して最適に構成されたコンピューティング・クラウドを柔軟に選択する能力は、組織が「必要に応じて」コンピューティング・リソースに対してのみ支払うことも保証する必要があり、それにより、財政的資源が保存される。
【００６８】
図５は、利用可能なクラウド・リソースから本発明の目的のために選択された物理ホスト・プラットフォームを含みうる例示的なコンピューティング・システムを示す。
【００６９】
システム５０２は、少なくとも１つのプロセッサ５０４と少なくとも１つのメモリ５０６を含む。プロセッサ５０４はプログラム命令を実行し、実際のプロセッサであってもよい。プロセッサ５０４が仮想プロセッサであってもよい。コンピュータ・システム５０２は、説明した実施形態の利用または機能の範囲に関して限定を示唆しようとするものではない。例えば、コンピュータ・システム５０２が、汎用目的コンピュータ、プログラムされたマイクロプロセッサ、マイクロ・コントローラ、集積回路、および本発明の方法を構成するステップを実装できる他の装置または装置構成のうち１つまたは複数を含んでもよいがこれらに限られない。本発明に従うシステム５０２の例示的な実施形態が、１つまたは複数のサーバ、デスクトップ、ラップトップ、タブレット、スマートフォン、モバイルフォン、モバイル通信装置、タブレット、ファブレットおよび携帯情報端末を含んでもよい。本発明の１実施形態では、メモリ５０６が、本発明の様々な実施形態を実装するためのソフトウェアを格納してもよい。コンピュータ・システム５０２が追加のコンポーネントを有してもよい。例えば、コンピュータ・システム５０２は、１つまたは複数の通信チャネル５０８、１つまたは複数の入力装置５１０、１つまたは複数の出力装置５１２、および記憶部５１４を含む。バス、コントローラ、またはネットワークのような相互接続機構（図示せず）がコンピュータ・システム５０２のコンポーネントを相互接続する。本発明の様々な実施形態では、オペレーティング・システム・ソフトウェア（図示せず）が、プロセッサ５０４を用いてコンピュータ・システム５０２で実行される様々なソフトウェアのための動作環境を提供し、コンピュータ・システム５０２のコンポーネントの様々な機能を管理する。
【００７０】
通信チャネル（複数可）５０８は、通信媒体上で様々な他のコンピューティング・エンティティへの通信を可能とする。当該通信媒体は、プログラム命令、または通信媒体内の他のデータのような情報を提供する。当該通信媒体は、電気、光、ＲＦ、赤外線、音響、マイクロ波、Bluetooth（登録商標）または他の送信媒体で実装された有線または無線方法を含むがこれらに限られない。
【００７１】
入力装置（複数可）５１０が、タッチスクリーン、キーボード、マウス、ペン、ジョイスティック、トラックボール、音声装置、スキャン装置、または入力をコンピュータ・システム５０２に提供できる任意の別の装置を含んでもよいがこれらに限られない。本発明の１実施形態では、入力装置（複数可）５１０が、オーディオ入力をアナログ形式またはデジタル形式で受け入れるサウンド・カードまたは同様な装置であってもよい。出力装置（複数可）５１２が、ＣＲＴ、ＬＣＤ、ＬＥＤディスプレイ、またはサーバ、デスクトップ、ラップトップ、タブレット、スマートフォン、モバイルフォン、モバイル通信装置、タブレット、ファブレットおよび携帯情報端末、プリンタ、スピーカ、ＣＤ／ＤＶＤライタ、もしくは出力をコンピュータ・システム５０２から提供する任意の他の装置の何れかに関連付けられた任意の他のディスプレイ上のユーザ・インタフェースを含んでもよいがこれらに限られない。
【００７２】
記憶部５１４が、磁気ディスク、磁気テープ、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、任意の種類のコンピュータメモリ、磁気ストライプ、スマートカード、プリントされたバーコードまたは情報を格納できコンピュータ・システム５０２によりアクセスできる任意の他の一時的または非一時的媒体を含んでもよいがこれらに限られない。本発明の様々な実施形態では、記憶部５１４が、説明した実施形態の何れかを実装するためのプログラム命令を含んでもよい。
【００７３】
本発明の１実施形態では、コンピュータ・システム５０２は、分散ネットワークの一部または１組の利用可能なクラウド・リソースの一部である。
【００７４】
本発明を、プログラミング命令が遠隔位置から通信されるコンピュータ可読記憶媒体またはコンピュータネットワークのようなシステム、方法、またはコンピュータ・プログラム製品を含む多数の方法で実装してもよい。
【００７５】
本発明を、コンピュータ・システム５０２とともに使用するためのコンピュータ・プログラム製品として適切に具体化してもよい。本明細書で説明した方法は一般的に、コンピュータ・システム５０２または任意の他の同様な装置により実行される１組のプログラム命令を含む、コンピュータ・プログラム製品として実装される。当該１組のプログラム命令が、コンピュータ可読記憶媒体（記憶部５１４）、例えば、ディスク、ＣＤ−ＲＯＭ、ＲＯＭ、フラッシュドライブまたはハード・ディスクのような有形媒体に格納された一連のコンピュータ可読コードであってもよく、または、有形媒体上でモデムまたは他のインタフェース装置を介してコンピュータ・システム５０２に送信可能であってもよい。有形媒体には光またはアナログ通信チャネル（複数可）５０８が含まれるがこれらに限られない。コンピュータ・プログラム製品としての本発明の実装が、無線技術を用いた無形のものであってもよい。当該無線技術にはマイクロ波、赤外線、Bluetooth（登録商標）または他の送信技術が含まれるがこれらに限られない。これらの命令をシステムに予めロードするか、ＣＤ−ＲＯＭのような記憶媒体に記録するか、またはインターネットまたは携帯電話ネットワークのようなネットワーク上でダウンロードするために利用可能であってもよい。当該一連のコンピュータ可読命令を、本明細書で以前に説明した機能の全部または一部を具体化してもよい。
【００７６】
本発明に従う方法、システムおよびコンピュータ・プログラム製品は、シミュレーション・ベースの動作トレーニング・システムを実装する目的のためにクラウド・ベースのコンピューティング・クラスタをプロビジョニングし構成するための最適な解決策を提供することは理解される。本発明の教示事項に従ってプロビジョニングされるクラウド・ベースのコンピューティング・クラスタは、実装されたコンピュータに基づくオペレータ・トレーニング・システムと関連して動的で、柔軟で、費用効果的で、高効率な性能を実現し、過大プロビジョニングまたは過小プロビジョニングのリスクを回避する。
【００７７】
本明細書では本発明の例示的な実施形態を説明し図示したが、それらは例示的なものにすぎないことは理解される。形態と細部において様々な修正を、添付の特許請求の範囲で定義された本発明の趣旨と範囲から逸脱することなくまたはこれらを損なうことなく行ってもよいことは当業者には理解される。
【符号の説明】
【００７８】
１０２  オペレータ端末
１０４  インストラクタ端末
１０６  シミュレーション・サーバ
３０２  オペレータＶＭ
３０４  インストラクタＶＭ
３０６  マスタＶＭ
３１２  オペレータ・クライアント
３１４  インストラクタ・クライアント
５０２  コンピュータ・システム
５０４  プロセッサ
５０６  メモリ
５０８  通信チャネル（複数可）
５１０  入力装置（複数可）
５１２  出力装置（複数可）
５１４  記憶部
【図１Ａ】
0006753200.tif 000002
【図１Ｂ】
0006753200.tif 000003
【図２】
0006753200.tif 000004
【図３】
0006753200.tif 000005
【図４】
0006753200.tif 000006
【図５】
0006753200.tif 000007