特許第6496058号(P6496058)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特許6496058エンジニアリングツール、コントローラ、および制御システム
<>
  • 特許6496058-エンジニアリングツール、コントローラ、および制御システム 図000004
  • 特許6496058-エンジニアリングツール、コントローラ、および制御システム 図000005
  • 特許6496058-エンジニアリングツール、コントローラ、および制御システム 図000006
  • 特許6496058-エンジニアリングツール、コントローラ、および制御システム 図000007
  • 特許6496058-エンジニアリングツール、コントローラ、および制御システム 図000008
  • 特許6496058-エンジニアリングツール、コントローラ、および制御システム 図000009
  • 特許6496058-エンジニアリングツール、コントローラ、および制御システム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6496058
(24)【登録日】2019年3月15日
(45)【発行日】2019年4月3日
(54)【発明の名称】エンジニアリングツール、コントローラ、および制御システム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20190325BHJP
   G05B 19/05 20060101ALI20190325BHJP
   G06F 9/455 20060101ALI20190325BHJP
【FI】
   G06F9/50 120A
   G05B19/05 A
   G06F9/455 150
【請求項の数】3
【全頁数】16
(21)【出願番号】特願2018-36820(P2018-36820)
(22)【出願日】2018年3月1日
【審査請求日】2018年12月18日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】立野 元気
【審査官】 大桃 由紀雄
(56)【参考文献】
【文献】 特開2016−42249(JP,A)
【文献】 国際公開第2012/056731(WO,A1)
【文献】 特表2013−522729(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G05B 19/05
G06F 9/455
(57)【特許請求の範囲】
【請求項1】
コントローラにおいて実行されるホストOS(Operating System)および当該ホストOS上に実現される仮想マシン上で動作するゲストOSそれぞれに対するハードウェアの割り当てを示しかつ前記コントローラにダウンロードするハードウェア割当データを記憶するハードウェア割当データ記憶部と、
前記ホストOSおよび前記ゲストOSに対する前記ハードウェアの割当条件を記憶する割当条件記憶部と、
前記ハードウェア割当データを入力するための設定画面を表示部に表示させ、前記設定画面を用いて入力された前記ハードウェア割当データが、前記割当条件記憶部に記憶される前記割当条件を満たすと判断した場合、前記入力されたハードウェア割当データを前記ハードウェア割当データ記憶部に保存し、前記入力されたハードウェア割当データが前記割当条件を満たさないと判断した場合、前記入力されたハードウェア割当データを前記ハードウェア割当データ記憶部に保存しないツールプロセス部と、
を備えるエンジニアリングツール。
【請求項2】
ハードウェアと、
ホストOSと、
前記ホストOS上に実現される仮想マシンと、
前記仮想マシン上で動作するゲストOSと、
ハードウェア割当データ記憶部と、
前記ホストOSおよび前記ゲストOSに対する前記ハードウェアの割当条件を記憶する割当条件記憶部と、
エンジニアリングツールから、前記ホストOSおよび前記ゲストOSそれぞれに対する前記ハードウェアの割り当てを示すハードウェア割当データを受信し、前記ハードウェア割当データが、前記割当条件記憶部に記憶される前記割当条件を満たすと判断した場合、前記ハードウェア割当データを前記ハードウェア割当データ記憶部に保存し、前記ハードウェア割当データが前記割当条件を満たさないと判断した場合、前記ハードウェア割当データを前記ハードウェア割当データ記憶部に保存しないコントローラプロセス部と、
前記ゲストOSによって動作し、前記ハードウェア割当データ記憶部に記憶される前記ハードウェア割当データに従って前記ゲストOSに割り当てられた前記ハードウェアを用いて、外部の制御対象機器の制御処理を実行するゲストプロセス部と、
前記ホストOSによって動作し、前記ハードウェア割当データ記憶部に記憶される前記ハードウェア割当データに従って前記ホストOSに割り当てられた前記ハードウェアを用いて、前記制御対象機器の制御処理を実行するホストプロセス部と、
を備えるコントローラ。
【請求項3】
エンジニアリングツールと、コントローラと、を有する制御システムであって、
前記エンジニアリングツールは、
前記コントローラにおいて実行されるホストOSおよび当該ホストOS上に実現される仮想マシン上で動作するゲストOSそれぞれに対するハードウェアの割り当てを示しかつ前記コントローラにダウンロードするハードウェア割当データを記憶するツール側ハードウェア割当データ記憶部と、
前記ホストOSおよび前記ゲストOSに対する前記ハードウェアの割当条件を記憶するツール側割当条件記憶部と、
前記ハードウェア割当データを入力するための設定画面を表示部に表示させ、前記設定画面を用いて入力された前記ハードウェア割当データが前記ツール側割当条件記憶部に記憶される前記割当条件を満たすと判断した場合、前記入力されたハードウェア割当データを前記ツール側ハードウェア割当データ記憶部に保存し、前記入力されたハードウェア割当データが前記ツール側割当条件記憶部に記憶される前記割当条件を満たさないと判断した場合、前記入力されたハードウェア割当データを前記ツール側ハードウェア割当データ記憶部に保存しないツールプロセス部と、
を備え、
前記コントローラは、
前記ハードウェアと、
前記ホストOSと、
前記ホストOS上に実現される仮想マシンと、
前記仮想マシン上で動作する前記ゲストOSと、
コントローラ側ハードウェア割当データ記憶部と、
前記割当条件を記憶するコントローラ側割当条件記憶部と、
前記エンジニアリングツールから、前記ハードウェア割当データを受信し、前記受信したハードウェア割当データが、前記コントローラ側割当条件記憶部に記憶される前記割当条件を満たすと判断した場合、前記受信したハードウェア割当データを前記コントローラ側ハードウェア割当データ記憶部に保存し、前記受信したハードウェア割当データが前記コントローラ側割当条件記憶部に記憶される前記割当条件を満たさないと判断した場合、前記受信したハードウェア割当データを前記コントローラ側ハードウェア割当データ記憶部に保存しないコントローラプロセス部と、
前記ゲストOSによって動作し、前記コントローラ側ハードウェア割当データ記憶部に記憶される前記ハードウェア割当データに従って前記ゲストOSに割り当てられた前記ハードウェアを用いて、外部の制御対象機器の制御処理を実行するゲストプロセス部と、
前記ホストOSによって動作し、前記コントローラ側ハードウェア割当データ記憶部に記憶される前記ハードウェア割当データに従って前記ホストOSに割り当てられた前記ハードウェアを用いて、前記制御対象機器の制御処理を実行するホストプロセス部と、
を備える制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、エンジニアリングツール、コントローラ、および制御システムに関する。
【背景技術】
【0002】
サーバ仮想化という、1台のコンピュータを論理分割して、当該コンピュータで複数のOS(Operating System)を稼働させる技術がある。この技術を、プラント内のバルブ等の制御対象機器を制御する制御システムに適用することができれば、HMI(Human Machine Interface)、エンジニアリングツール、コントローラなどを1台のコンピュータに集約できる。これにより、制御システムにおける設備の導入費用、電力や空調にかかるコストの削減に大きな効果が期待できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2016/189689号
【特許文献2】国際公開第2015/137505号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、制御システムに対してサーバ仮想化を導入する場合、エンジニアリングツールを使用するエンジニアによって設定されたハードウェア割当データに基づいて、コンピュータのホストOS上に実現される仮想マシン上で動作するゲストOSに対して、ハードウェアを割り当てて、仮想マシンを起動させる必要がある。その際、ハードウェア割当データの設定に誤りが存在すると、制御システムが正常に動作しない場合がある。
【課題を解決するための手段】
【0005】
実施形態のエンジニアリングツールは、ハードウェア割当データ記憶部と、割当条件記憶部と、ツールプロセス部と、を備える。ハードウェア割当データ記憶部は、コントローラにおいて実行されるホストOS(Operating System)および当該ホストOS上に実現される仮想マシン上で動作するゲストOSそれぞれに対するハードウェアの割り当てを示しかつコントローラにダウンロードするハードウェア割当データを記憶する。割当条件記憶部は、ホストOSおよびゲストOSに対するハードウェアの割当条件を記憶する。ツールプロセス部は、ハードウェア割当データを入力するための設定画面を表示部に表示させ、設定画面を用いて入力されたハードウェア割当データが、割当条件記憶部に記憶される割当条件を満たすと判断した場合、入力されたハードウェア割当データをハードウェア割当データ記憶部に保存し、入力されたハードウェア割当データが割当条件を満たさないと判断した場合、入力されたハードウェア割当データをハードウェア割当データ記憶部に保存しない。
【図面の簡単な説明】
【0006】
図1図1は、第1の実施形態にかかる制御システムの機能構成の一例を示す図である。
図2図2は、第1の実施形態にかかる制御システムが有するコントローラおよびツール用PCの機能構成の一例を示す図である。
図3図3は、第1の実施形態にかかるツール用PCによるハードウェア割当データの設定処理の流れの一例を示す図である。
図4図4は、第1の実施形態にかかるツール用PCにおいて表示される設定画面の一例を示す図である。
図5図5は、第1の実施形態にかかるツール用PCにおいて表示されるエラー表示の一例を示す図である。
図6図6は、第1の実施形態にかかるコントローラに対するハードウェア割当データのダウンロード処理の流れの一例を示す図である。
図7図7は、第2の実施形態にかかるツール用PCにおいて表示される設定画面の一例を示す図である。
【発明を実施するための形態】
【0007】
以下、添付の図面を用いて、本実施形態にかかるエンジニアリングツール、コントローラ、および制御システムについて説明する。
【0008】
(第1の実施形態)
図1は、第1の実施形態にかかる制御システムの機能構成の一例を示す図である。図1に示すように、本実施形態にかかる制御システムは、コントローラ1と、ツール用PC2(エンジニアリングツールの一例)と、を有する。そして、コントローラ1とツール用PC2とは、LAN(Local Area Network)等のネットワークにより互いに通信可能に接続されている。本実施形態では、ツール用PC2が、コントローラ1に対して各種情報を送信する処理をダウンロード(D/L)と言うものとする。また、ツール用PC2が、コントローラ1から各種情報を取得する処理をアップロード(U/L)と言うものとする。
【0009】
ツール用PC2は、ベンダまたはエンジニア等により用いられるエンジニアリングツールであり、POU(Program Organization Unit)や後述するハードウェア割当データ(ツールデータ)等を記憶する。POUは、制御システム全体の処理を実行するためのプログラムを機能単位にモジュール化したプログラムである。
【0010】
コントローラ1は、プラント内のセンサ等から各種の検出結果が入力される。また、コントローラ1は、ツール用PC2において作成されたPOUがダウンロードされる。そして、コントローラ1は、当該コントローラ1内のタスク上でPOUを実行する。これにより、コントローラ1は、入力された検出結果に基づく演算を行い、その演算結果に基づいて、プラント内のバルブ等の制御対象機器を制御する。
【0011】
また、コントローラ1は、当該コントローラが有するリソース(ハードウェア)が論理分割され、複数のOS(Operating System)を稼働させて、制御システムが有するHMI(Human Machine Interface)や他のコントローラ等、制御対象機器の制御に関わる外部装置を集約する。HMIは、制御システムのオペレータが、リモートでコントローラ1において実行されるPOUの状態等を監視したり、コントローラ1内への変数の書き込みやPOUの変更等の各種操作を行ったりする用途で用いられる。
【0012】
図2は、第1の実施形態にかかる制御システムが有するコントローラおよびツール用PCの機能構成の一例を示す図である。図2に示すように、コントローラ1は、ハードウェア101、ホストOS102、ホストプロセス群103、仮想マシン104、ゲストOS105、およびゲストプロセス群106を有する。ハードウェア101は、CPU(Central Processing Unit)等のプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ、ツール用PC2等の外部装置との通信に用いるLANポート、USB(Universal Serial Bus)ポート、PCI(Peripheral Component Interconnect)スロット等である。
【0013】
本実施形態では、コントローラ1は、複数のCPUコア(例えば、4つのCPUコア)をハードウェア101として有し、当該CPUコア上でソフトウェアを実行するマルチコアプロセッサである。具体的には、コントローラ1は、複数のCPUコアのうちいずれかにより実行される1つのOS(ホストOS102)によって、互いに隔離された複数のコンテナ110,111を動作させる。その際、コントローラ1は、各コンテナ110,111を、異なるCPUコアによって実行する。本実施形態では、図2に示すように、コントローラ1は、ホストOS102およびホストプロセス群103を含むコンテナ110と、仮想マシン104、ゲストOS105およびゲストプロセス群106を含むコンテナ111と、を異なるCPUコアによって実行する。
【0014】
ホストOS102は、コントローラ1において仮想化される外部装置(仮想マシン104)を実現するOSである。ホストプロセス群103は、ホストOS102上で動作するアプリケーションを有する。仮想マシン104は、ホストOS102上で実現される。本実施形態では、仮想マシン104は、HMIや他のコントローラ等の外部装置のハードウェアを仮想化したマシンである。ここで、仮想化とは、外部装置のハードウェアをエミュレートすることを含む。ゲストOS105は、仮想マシン104上で動作し、外部装置のプログラム(後述するゲストプロセス群106)を動作させるOSである。ゲストプロセス群106は、ゲストOS105によって動作し、後述するハードウェア割当データに従ってゲストOS105に割り当てられるハードウェア101を用いて、制御対象機器の制御に関わる処理(以下、制御処理と言う)を実行する。ここで、仮想マシン104がHMIを仮想化したマシンである場合、制御処理には、制御システムの監視や当該制御システムにおいて行われるプロセスのリモート操作に関わる処理が含まれる。また、仮想マシン104が他のコントローラを仮想化したマシンである場合、制御処理には、制御対象機器に対して制御データを送信する等して、当該制御対象機器を制御する処理が含まれる。
【0015】
本実施形態では、ホストプロセス群103は、コントローラプロセス部103aを有する。コントローラプロセス部103aは、ゲストOS105を介さずにホストOS102によって動作する。そして、コントローラプロセス部103aは、ツール用PC2からPOUがダウンロードされ、当該POUを実行する。また、コントローラプロセス部103aは、ツール用PC2からハードウェア割当データがダウンロードされ、当該ハードウェア割当データに従ってホストOS102に割り当てられたハードウェア101によって、制御対象機器の制御に関する制御処理を実行する。ここで、ハードウェア割当データは、ホストOS102およびゲストOS105それぞれに対するハードウェア101の割り当てを示すデータである。具体的には、コントローラプロセス部103aは、コントローラ1の電源が投入された場合に、ハードウェア割当データを有効化して、当該ハードウェア割当データが示すホストOS102に割り当てられたハードウェア101を用いて、制御対象機器を制御する。また、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データを、ハードウェア101が有するHDD(Hard Disk Drive)等の不揮発性の記憶部であるハードウェア割当データ記憶部101aに保存する。
【0016】
ところで、制御システムにおけるエンジニアリングデータの管理上の観点から、ゲストOS105に割り当てるハードウェア101も、ハードウェア割当データに従って管理することが好ましい。そのため、本実施形態では、ホストプロセス群103は、コントローラプロセス部103aに加えて、ゲスト初期化プロセス部103bを有する。ゲスト初期化プロセス部103bは、コントローラ100の電源が投入された際、ハードウェア割当データ記憶部101aに記憶されるハードウェア割当データを参照して、ゲストOS105にハードウェア101を割り当てるとともに、外部装置を仮想化した仮想マシン104をホストOS102上に設定する。さらに、ゲスト初期化プロセス部103bは、仮想マシン104上でゲストOS105を起動させる。これにより、ホストOS102に対するハードウェア101の割り当てと同様の方法で、仮想マシン104上で動作するゲストOS105に対してもハードウェア101を割り当てることができる。その結果、HMIや他のコントローラ等の外部装置を1つのコントローラ1に集約した場合でも、ハードウェア101の更新に応じて、ゲストOS105に対するハードウェア101の割り当てを容易に管理可能となる。
【0017】
しかしながら、ツール用PC2からダウンロードされたハードウェア割当データに誤りがあった場合、当該ダウンロードされたハードウェア割当データに従って、ホストOS102およびゲストOS105に対してハードウェア101を適切に割り当てることができず、コントローラ1に対して悪影響を及ぼす可能性がある。例えば、ダウンロードされたハードウェア割当データに従ってゲストOS105に対して割り当てるメモリの容量が、ハードウェア101が有するメモリの容量より大きい場合、コントローラ1が有するCPUコアがゲストOS105を実行できず、仮想マシン104をHMIとして機能させることができない可能性がある。
【0018】
そこで、本実施形態では、コントローラ1は、ハードウェア101が有するHDD等の不揮発性の記憶部により構成される割当条件記憶部101bを有する。割当条件記憶部101bは、割当条件データを記憶する。割当条件データは、ホストOS102およびゲストOS105それぞれに対するハードウェア101の割当条件を示すデータである。コントローラプロセス部103aは、ツール用PC2からハードウェア割当データがダウンロードされた際、当該ダウンロードされたハードウェア割当データが、割当条件記憶部101bに記憶される割当条件データを満たすか否かを判断する。そして、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データが、割当条件データを満たすと判断した場合、当該ダウンロードされたハードウェア割当データを、ハードウェア割当データ記憶部101aに保存する。一方、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データが、割当条件データを満たさないと判断した場合、当該ダウンロードされたハードウェア割当データを、ハードウェア割当データ記憶部101aに保存しない。これにより、ツール用PC2からダウンロードされた誤ったハードウェア割当データに従って、ホストOS102およびゲストOS105に対してハードウェア101が割り当てられることを防止できるので、コントローラ1に対して悪影響を及ぼす可能性を低減できる。また、エンジニアによるツール用PC2の操作によって、ハードウェア割当データのアップロードが指示された場合、ハードウェア割当データ記憶部101aに記憶されるハードウェア割当データは、ツール用PC2によってアップロードされる。
【0019】
次に、ツール用PC2の機能構成について説明する。図2に示すように、ツール用PC2は、ツールプロセス部201、表示部202、割当条件記憶部203、およびハードウェア割当データ記憶部204を有する。ハードウェア割当データ記憶部204は、コントローラ1の機種毎またはコントローラ1のネットワークアドレス(例えば、IPアドレス)毎に、ハードウェア割当データを記憶する。割当条件記憶部203は、コントローラ1の機種毎またはコントローラ1のネットワークアドレス(例えば、IPアドレス)毎に、割当条件データを記憶する。
【0020】
ツールプロセス部201は、ツール用PC2全体を制御する。本実施形態では、ツール用PC2は、CPU等のプロセッサ、ROMやRAM等のメモリ等のハードウェアを有し、プロセッサがメモリに記憶されるプログラムを実行することによってツールプロセス部201を実現するものとするが、これに限定するものではなく、回路によってツールプロセス部201を実現することも可能である。
【0021】
具体的には、ツールプロセス部201は、ハードウェア割当データを入力するための設定画面を表示部202に表示させる。また、ツールプロセス部201は、設定画面を用いて入力されたハードウェア割当データが、割当条件記憶部203に記憶される割当条件データを満たすか否かを判断する。そして、ツールプロセス部201は、ハードウェア割当データが割当条件データを満たすと判断した場合、当該ハードウェア割当データをハードウェア割当データ記憶部204に保存する。一方、ツールプロセス部201は、ハードウェア割当データが割当条件データを満たさないと判断した場合、当該ハードウェア割当データをハードウェア割当データ記憶部204に保存しない。これにより、コントローラ1にダウンロードするハードウェア割当データに従って、ホストOS102およびゲストOS105に対して誤ってハードウェア101が割り当てられることを防止できるので、コントローラ1に悪影響を及ぼす可能性を低減できる。
【0022】
その後、ツール用PC2のユーザであるエンジニアによりハードウェア割当データが選択されかつ当該選択されたハードウェア割当データのダウンロードが指示された場合に、ツールプロセス部201は、ハードウェア割当データ記憶部204に記憶されるハードウェア割当データのうち、当該選択されたハードウェア割当データをコントローラ1にダウンロードする。これにより、エンジニアは、ツール用PC2を用いて、コントローラ1の仮想マシン104上で動作するゲストOS105に対するハードウェアの割り当てを管理できる。また、ツール用PC2のユーザであるエンジニアによりハードウェア割当データのアップロードが指示された場合に、ツールプロセス部201は、コントローラ1からハードウェア割当データをアップロードし、当該アップロードしたハードウェア割当データ記憶部204に保存する。
【0023】
図3は、第1の実施形態にかかるツール用PCによるハードウェア割当データの設定処理の流れの一例を示す図である。ツールプロセス部201は、ハードウェア割当データを入力するための設定画面を表示部202に表示させる(ステップS301)。本実施形態では、ツールプロセス部201は、デフォルトのハードウェア割当データが表示された設定画面を表示部202に表示させるものとする。次に、ツールプロセス部201は、割当条件記憶部203から、ツール用PC2のユーザ(エンジニア)により指示されたコントローラ1の機種または当該コントローラ1のネットワークアドレスの割当条件データを読み込む(ステップS302)。また、ツールプロセス部201は、ハードウェア割当データ記憶部204から、ツール用PC2のユーザにより指示されたコントローラ1の機種または当該コントローラ1のネットワークアドレスのハードウェア割当データを読み込む(ステップS302)。
【0024】
次いで、ツールプロセス部201は、設定画面を用いて入力されたハードウェア割当データと、ハードウェア割当データ記憶部204から読み込んだハードウェア割当データとを比較して、ハードウェア割当データが変更されたか否かを判断する(ステップS303)。本実施形態では、ツールプロセス部201は、設定画面においてハードウェア割当データが含む1つの項目が入力される度に、設定画面を用いて入力されたハードウェア割当データと、読み込んだハードウェア割当データとを比較して、ハードウェア割当データが変更されたか否かを判断するものとするが、これに限定するものではない。例えば、ツールプロセス部201は、設定画面を用いた全てのハードウェア割当データの入力が完了して、当該ハードウェア割当データの保存が指示された場合に、設定画面を用いて入力されたハードウェア割当データと、読み込んだハードウェア割当データとを比較して、ハードウェア割当データが変更されたか否かを判断しても良い。
【0025】
ハードウェア割当データが変更されないと判断した場合(ステップS303:No)、ツールプロセス部201は、ハードウェア割当データ記憶部204へのハードウェア割当データの保存を行わない。一方、ハードウェア割当データが変更されたと判断した場合(ステップS303:Yes)、ツールプロセス部201は、設定画面を用いて入力されたハードウェア割当データが、読み込んだ割当条件データを満たすか否かを判断する(ステップS304)。
【0026】
本実施形態では、割当条件データは、下記の表1に示すように、ホストOS CPU数、ゲストOS CPU数、システムCPU数、ホストOSメモリ、ゲストOSメモリ、トータルメモリ、内蔵LANポート、内蔵USBポート、拡張PCIスロットA、拡張PCIスロットB等の項目を含む。
【表1】
【0027】
ホストOS CPU数は、ホストOS102に割り当て可能なCPUコアの数の上限および下限を示す。ゲストOS CPU数は、ゲストOS105に割り当て可能なCPUコアの数の上限および下限を示す。システムCPU数は、ホストOS102およびゲストOS105に割り当て可能なCPUコアの合計の上限および下限を示す。
【0028】
ホストOSメモリは、ホストOS102に割り当て可能なメモリの容量の上限および下限を示す。ゲストOSメモリは、ゲストOS105に割り当て可能なメモリの容量の上限および下限を示す。トータルメモリは、ホストOS102およびゲストOS105に割り当て可能なメモリの合計の上限および下限を示す。
【0029】
内蔵LANポートは、ホストOS102およびゲストOS105のいずれに当該内蔵LANポートを割り当てるかを示す。内蔵USBポートは、ホストOS102およびゲストOS105のいずれに当該内蔵USBポートを割り当てるかを示す。拡張PCIスロットAは、ホストOS102およびゲストOS105のいずれに当該拡張PCIスロットAを割り当てるかを示す。拡張PCIスロットBは、ホストOS102およびゲストOS105のいずれに当該拡張PCIスロットBを割り当てるかを示す。ここで、「0」は、ホストOS102およびゲストOS105の両方にハードウェア101(例えば、内蔵LANポート)を割り当てることを示す。また、「1」は、ホストOS102にハードウェア101を割り当てることを示す。また、「2」は、ゲストOS105にハードウェア101を割り当てることを示す。
【0030】
本実施形態では、ツールプロセス部201は、読み込んだ割当条件データのうち、設定画面において入力されたハードウェア割当データの項目に該当する割当条件データを特定する。そして、ツールプロセス部201は、設定画面において入力されたハードウェア割当データと、特定した割当条件データとを比較して、当該入力されたハードウェア割当データが割当条件を満たすか否かを判断する。
【0031】
例えば、ツールプロセス部201は、設定画面においてホストOS102に割り当てるCPUコアの数が入力された場合、当該入力されたCPUコアの数が、ホストOS CPU数が示す上限および下限を満たしているか否かを判断する。また、ツールプロセス部201は、設定画面おいてホストOS102およびゲストOS105の少なくとも一方に割り当てるCPUコアの数が入力された場合、ホストOS102およびゲストOS105に割り当てるCPUコアの合計が、システムCPU数が示す上限および下限を満たしているか否かを判断する。
【0032】
設定画面を用いて入力されたハードウェア割当データが割当条件データを満たすと判断した場合(ステップS304:Yes)、ツールプロセス部201は、当該入力されたハードウェア割当データをハードウェア割当データ記憶部204に保存する(ステップS305)。その後、ツールプロセス部201は、ツール用PC2のユーザの操作に応じて、ハードウェア割当データ記憶部204に記憶されるハードウェア割当データをコントローラ1にダウンロードする。
【0033】
本実施形態では、ツールプロセス部201は、下記の表2に示すデータ構成のハードウェア割当データをコントローラ1にダウンロードする。具体的には、ツールプロセス部201は、表2に示すように、ハードウェア割当データの項目毎のハードウェア割当データ(例えば、数値)をコントローラ1にダウンロードする。
【表2】
【0034】
一方、設定画面を用いて入力されたハードウェア割当データが割当条件データを満たさないと判断した場合(ステップS304:No)、ツールプロセス部201は、設定画面を用いて入力されたハードウェア割当データをハードウェア割当データ記憶部204に保存しない。さらに、ツールプロセス部201は、入力されたハードウェア割当データが割当条件データを満たさない旨のエラー表示を表示部202に表示させる(ステップS306)。
【0035】
図4は、第1の実施形態にかかるツール用PCにおいて表示される設定画面の一例を示す図である。ツールプロセス部201は、図4に示すように、コントローラ情報401と、ハードウェア割当データ設定欄402と、ダウンロードボタン403、アップロードボタン404と、を含む設定画面Gを表示部202に表示させる。本実施形態では、ツールプロセス部201は、ツール用PC2のユーザ(エンジニア)により指示されたコントローラ1毎に設定画面Gを表示させる。
【0036】
コントローラ情報401は、コントローラ1の機種など、ハードウェア割当データを変更するコントローラ1を識別可能とする情報である。ダウンロードボタン403は、設定画面Gを用いて入力されたハードウェア割当データのコントローラ1へのダウンロードを指示するボタンである。アップロードボタン404は、コントローラ1からのハードウェア割当データのアップロードを指示するボタンである。
【0037】
ハードウェア割当データ設定欄402は、ハードウェア割当データを入力するためのインタフェースである。具体的には、ハードウェア割当データ設定欄402は、ハードウェア割当データの項目(例えば、ホストOS CPU数、ゲストOS CPU数、ホストOSメモリ、ゲストOSメモリ、内蔵LANポート、内蔵USBポート、拡張PCIスロットA、拡張PCIスロットB)毎に、当該項目に対応するハードウェア割当データを表示する。ハードウェア割当データ設定欄402には、ツール用PC2が有する操作部によって入力されたハードウェア割当データ(例えば、数値)や、当該ハードウェア割当データ設定欄402に表示されるプルダウンメニューから選択されたハードウェア割当データが表示される。ハードウェア割当データ設定欄402に表示されるプルダウンメニューには、ハードウェア割当データとして選択可能なハードウェア割当データの候補(言い換えると、割当条件データを満たすハードウェア割当データ)のみが表示される。また、設定画面Gが最初に表示された際(すなわち、ハードウェア割当データ設定欄402にハードウェア割当データが入力されていない場合)、ハードウェア割当データ設定欄402には、ハードウェア割当データの前回値または保存値が表示されるものとする。ここで、前回値とは、前回入力されたハードウェア割当データである。また、保存値は、ハードウェア割当データ記憶部204に記憶されているハードウェア割当データ(言い換えると、ハードウェア割当データ記憶部204に保存済みのハードウェア割当データ)である。
【0038】
本実施形態では、ハードウェア割当データ設定欄402のハードウェア割当データの項目のうち、内蔵LANポート、内蔵USBポート、拡張PCIスロットA、および拡張PCIスロットBは、プロダウンメニューのみから、ハードウェア割当データを入力するものとする。そして、当該内蔵LANポート、内蔵USBポート、拡張PCIスロットA、および拡張PCIスロットBに表示されるプルダウンメニューには、ハードウェア割当データとして選択可能なハードウェア割当データの候補を、ツール用PC2のユーザが認識し易い情報に変換した変換情報を表示する。
【0039】
例えば、内蔵LANポートのハードウェア割当データとして選択可能なハードウェア割当データの候補が「0」〜「2」の整数である場合、「0」を「ホスト・ゲスト共用」に変換して表示し、「1」を「ホスト専用」に変換して表示し、「2」を「ゲスト専用」に変換して表示する。
【0040】
本実施形態では、ツール用PC2のユーザは、ハードウェア割当データ設定欄402に表示されるプルダウンメニューからハードウェア割当データを選択することとしたが、これに限定するものではなく、任意のハードウェア割当データをハードウェア割当データ設定欄402に対して自由入力できることとしても良い。
【0041】
ツールプロセス部201は、ハードウェア割当データ設定欄402を用いて、ハードウェア割当データの1つの項目が入力される度に、当該入力されたハードウェア割当データが、割当条件記憶部203に記憶される割当条件データを満たすか否かを判断する。そして、入力されたハードウェア割当データが割当条件データを満たさないと判断した場合、ツールプロセス部201は、当該入力されたハードウェア割当データをハードウェア割当データ設定欄402に反映させず、ハードウェア割当データの前回値または保存値をハードウェア割当データ設定欄402に表示させる。一方、入力されたハードウェア割当データが割当条件データを満たすと判断した場合、ツールプロセス部201は、入力されたハードウェア割当データをハードウェア割当データ設定欄402に表示させる。
【0042】
本実施形態では、ツールプロセス部201は、ハードウェア割当データの1つの項目が入力される度に、当該入力されたハードウェア割当データが割当条件データを満たすか否かを判断しているが、これに限定するものではなく、ハードウェア割当データの全ての項目が入力された後、またはハードウェア割当データのハードウェア割当データ記憶部204への保存が指示された場合に、当該入力されたハードウェア割当データが割当条件を満たすか否かを判断しても良い。
【0043】
図5は、第1の実施形態にかかるツール用PCにおいて表示されるエラー表示の一例を示す図である。ツールプロセス部201は、入力されたハードウェア割当データが割当条件データを満たさない場合、図5に示すように、エラー表示EGを表示部202に表示させる。エラー表示EGには、入力されたハードウェア割当データの項目うち、割当条件データを満たさないハードウェア割当データの項目の名称501(例えば、ホストOS CPU数 異常)、および当該項目の割当条件データ502を含める。
【0044】
図6は、第1の実施形態にかかるコントローラに対するハードウェア割当データのダウンロード処理の流れの一例を示す図である。コントローラ1のコントローラプロセス部103aは、ツール用PC2からダウンロードされるハードウェア割当データを受信する(ステップS601)。また、コントローラプロセス部103aは、割当条件記憶部101bから、割当条件データを読み込む(ステップS602)。
【0045】
次いで、コントローラプロセス部103aは、ツール用PC2からダウンロードされたハードウェア割当データが、読み込んだ割当条件データを満たすか否かを判断する(ステップS603)。ダウンロードされたハードウェア割当データが割当条件データを満たすと判断した場合(ステップS603:Yes)、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データを、ハードウェア割当データ記憶部101aに保存する(ステップS604)。
【0046】
一方、ダウンロードされたハードウェア割当データが割当条件データを満たさないと判断した場合(ステップS603:No)、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データをハードウェア割当データ記憶部101aに保存しない。さらに、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データが不正なデータであることを通知するエラー応答をツール用PC2に送信する(ステップS605)。本実施形態では、ダウンロードされたハードウェア割当データが割当条件データを満たさない場合、コントローラプロセス部103aは、エラー応答をツール用PC2に送信しているが、エラー応答をツール用PC2に送信しなくても良い。
【0047】
このように、第1の実施形態にかかる制御システムによれば、誤ったハードウェア割当データに従って、ホストOS102およびゲストOS105に対してハードウェア101が割り当てられることを防止できるので、コントローラ1に悪影響を及ぼす可能性を低減できる。
【0048】
(第2の実施形態)
本実施形態は、ツール用PCにおいて、コントローラからアップロードしたハードウェア割当データを含む設定画面を表示部に表示させる例である。以下の説明では、第1の実施形態と同様の構成については説明を省略する。
【0049】
図7は、第2の実施形態にかかるツール用PCにおいて表示される設定画面の一例を示す図である。本実施形態では、ツールプロセス部201は、コントローラ1からアップロードしたハードウェア割当データを含む設定画面を表示部202に表示させる。具体的には、ツールプロセス部201は、図7に示すように、コントローラ情報401、ハードウェア割当データ設定欄402、ダウンロードボタン403、およびアップロードボタン404に加えて、アップロード済みハードウェア割当データ欄701を含む設定画面Gを表示部202に表示させる。アップロード済みハードウェア割当データ欄701は、コントローラ1からアップロードしたハードウェア割当データを、当該ハードウェア割当データの項目毎に表示する。
【0050】
このように、第2の実施形態にかかる制御システムによれば、コントローラ1からアップロードしたハードウェア割当データを確認しながら、ハードウェア割当データ設定欄402に対して、ハードウェア割当データを入力することができるので、ホストOS102およびゲストOS105に対するハードウェア101の割り当ての変更を容易に行うことができる。なお、アップロード済みハードウェア割当データ欄701に表示されるハードウェア割当データは、編集することはできないものとする。
【0051】
以上説明したとおり、第1,2の実施形態によれば、誤ったハードウェア割当データに従って、ホストOS102およびゲストOS105に対してハードウェア101が割り当てられることを防止できるので、コントローラ1に悪影響を及ぼす可能性を低減できる。
【0052】
なお、本実施形態のコントローラ1で実行されるプログラムは、ROM等に予め組み込まれて提供される。本実施形態のコントローラ1で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0053】
さらに、本実施形態のコントローラ1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のコントローラ1で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0054】
本実施形態のコントローラ1で実行されるプログラムは、上述した各部(ホストOS102、ホストプロセス群103、仮想マシン104、ゲストOS105、ゲストプロセス群106)を含むモジュール構成となっており、実際のハードウェアとしてはCPUが上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、ホストOS102、ホストプロセス群103、仮想マシン104、ゲストOS105、ゲストプロセス群106が主記憶装置上に生成されるようになっている。
【0055】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0056】
1 コントローラ
2 ツール用PC
101 ハードウェア
101a,204 ハードウェア割当データ記憶部
101b,203 割当条件記憶部
102 ホストOS
103 ホストプロセス群
103a コントローラプロセス部
103b ゲスト初期化プロセス部
104 仮想マシン
105 ゲストOS
106 ゲストプロセス群
201 ツールプロセス部
202 表示部
G 設定画面
【要約】      (修正有)
【課題】ホストOSおよびゲストOSに対してハードウェアが誤って割り当てられる可能性を低減する。
【解決手段】エンジニアリングツールは、ハードウェア(HD)割当データ記憶部と、割当条件記憶部と、ツールプロセス部と、を備える。HD割当データ記憶部は、コントローラにおいて実行されるホストOSおよびホストOS上に実現される仮想マシン上で動作するゲストOSそれぞれに対するHDの割り当てを示しかつコントローラにダウンロードするHD割当データを記憶する。割当条件記憶部は、ホストOSおよびゲストOSに対するHDの割当条件を記憶する。ツールプロセス部は、HD割当データが、割当条件記憶部の割当条件を満たすと判断した場合、入力されたHD割当データを記憶部に保存し、入力されたハードウェア割当データが割当条件を満たさないと判断した場合、入力されたHD割当データをハードウェア割当データ記憶部に保存しない。
【選択図】図2
図1
図2
図3
図4
図5
図6
図7